From 1ad4008a6fee8ffd2db7013168aa9d613062e7ab Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Fri, 3 Nov 2023 16:37:32 -0700 Subject: [PATCH 01/16] Update with code from google3 prototype --- dwds/lib/data/connect_request.dart | 6 +- dwds/lib/data/connect_request.g.dart | 90 +- .../lib/data/register_entrypoint_request.dart | 27 + .../data/register_entrypoint_request.g.dart | 173 ++ dwds/lib/data/serializers.dart | 2 + dwds/lib/data/serializers.g.dart | 6 +- dwds/lib/src/debugging/inspector.dart | 17 +- dwds/lib/src/debugging/libraries.dart | 2 +- dwds/lib/src/debugging/location.dart | 12 +- dwds/lib/src/debugging/metadata/provider.dart | 94 +- dwds/lib/src/debugging/modules.dart | 8 +- dwds/lib/src/handlers/dev_handler.dart | 20 + dwds/lib/src/handlers/injector.dart | 69 +- dwds/lib/src/injected/client.js | 1623 +++++++++++------ .../lib/src/loaders/build_runner_require.dart | 4 +- dwds/lib/src/loaders/legacy.dart | 2 +- dwds/lib/src/loaders/strategy.dart | 22 +- .../batched_expression_evaluator.dart | 4 +- .../src/services/chrome_proxy_service.dart | 74 +- .../src/services/expression_evaluator.dart | 6 +- dwds/web/client.dart | 558 +++--- 21 files changed, 1892 insertions(+), 927 deletions(-) create mode 100644 dwds/lib/data/register_entrypoint_request.dart create mode 100644 dwds/lib/data/register_entrypoint_request.g.dart diff --git a/dwds/lib/data/connect_request.dart b/dwds/lib/data/connect_request.dart index 23ee5364f..57d383593 100644 --- a/dwds/lib/data/connect_request.dart +++ b/dwds/lib/data/connect_request.dart @@ -2,6 +2,7 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +import 'package:built_collection/built_collection.dart'; import 'package:built_value/built_value.dart'; import 'package:built_value/serializer.dart'; @@ -18,6 +19,9 @@ abstract class ConnectRequest ConnectRequest._(); + /// Whole app name. + String get appName; + /// Identifies a given application, across tabs/windows. String get appId; @@ -25,5 +29,5 @@ abstract class ConnectRequest String get instanceId; /// The entrypoint for the Dart application. - String get entrypointPath; + BuiltList get entrypoints; } diff --git a/dwds/lib/data/connect_request.g.dart b/dwds/lib/data/connect_request.g.dart index ab1ff180b..d83344480 100644 --- a/dwds/lib/data/connect_request.g.dart +++ b/dwds/lib/data/connect_request.g.dart @@ -20,15 +20,19 @@ class _$ConnectRequestSerializer Iterable serialize(Serializers serializers, ConnectRequest object, {FullType specifiedType = FullType.unspecified}) { final result = [ + 'appName', + serializers.serialize(object.appName, + specifiedType: const FullType(String)), 'appId', serializers.serialize(object.appId, specifiedType: const FullType(String)), 'instanceId', serializers.serialize(object.instanceId, specifiedType: const FullType(String)), - 'entrypointPath', - serializers.serialize(object.entrypointPath, - specifiedType: const FullType(String)), + 'entrypoints', + serializers.serialize(object.entrypoints, + specifiedType: + const FullType(BuiltList, const [const FullType(String)])), ]; return result; @@ -46,6 +50,10 @@ class _$ConnectRequestSerializer iterator.moveNext(); final Object? value = iterator.current; switch (key) { + case 'appName': + result.appName = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; case 'appId': result.appId = serializers.deserialize(value, specifiedType: const FullType(String))! as String; @@ -54,9 +62,11 @@ class _$ConnectRequestSerializer result.instanceId = serializers.deserialize(value, specifiedType: const FullType(String))! as String; break; - case 'entrypointPath': - result.entrypointPath = serializers.deserialize(value, - specifiedType: const FullType(String))! as String; + case 'entrypoints': + result.entrypoints.replace(serializers.deserialize(value, + specifiedType: const FullType( + BuiltList, const [const FullType(String)]))! + as BuiltList); break; } } @@ -66,26 +76,31 @@ class _$ConnectRequestSerializer } class _$ConnectRequest extends ConnectRequest { + @override + final String appName; @override final String appId; @override final String instanceId; @override - final String entrypointPath; + final BuiltList entrypoints; factory _$ConnectRequest([void Function(ConnectRequestBuilder)? updates]) => (new ConnectRequestBuilder()..update(updates))._build(); _$ConnectRequest._( - {required this.appId, + {required this.appName, + required this.appId, required this.instanceId, - required this.entrypointPath}) + required this.entrypoints}) : super._() { + BuiltValueNullFieldError.checkNotNull( + appName, r'ConnectRequest', 'appName'); BuiltValueNullFieldError.checkNotNull(appId, r'ConnectRequest', 'appId'); BuiltValueNullFieldError.checkNotNull( instanceId, r'ConnectRequest', 'instanceId'); BuiltValueNullFieldError.checkNotNull( - entrypointPath, r'ConnectRequest', 'entrypointPath'); + entrypoints, r'ConnectRequest', 'entrypoints'); } @override @@ -100,17 +115,19 @@ class _$ConnectRequest extends ConnectRequest { bool operator ==(Object other) { if (identical(other, this)) return true; return other is ConnectRequest && + appName == other.appName && appId == other.appId && instanceId == other.instanceId && - entrypointPath == other.entrypointPath; + entrypoints == other.entrypoints; } @override int get hashCode { var _$hash = 0; + _$hash = $jc(_$hash, appName.hashCode); _$hash = $jc(_$hash, appId.hashCode); _$hash = $jc(_$hash, instanceId.hashCode); - _$hash = $jc(_$hash, entrypointPath.hashCode); + _$hash = $jc(_$hash, entrypoints.hashCode); _$hash = $jf(_$hash); return _$hash; } @@ -118,9 +135,10 @@ class _$ConnectRequest extends ConnectRequest { @override String toString() { return (newBuiltValueToStringHelper(r'ConnectRequest') + ..add('appName', appName) ..add('appId', appId) ..add('instanceId', instanceId) - ..add('entrypointPath', entrypointPath)) + ..add('entrypoints', entrypoints)) .toString(); } } @@ -129,6 +147,10 @@ class ConnectRequestBuilder implements Builder { _$ConnectRequest? _$v; + String? _appName; + String? get appName => _$this._appName; + set appName(String? appName) => _$this._appName = appName; + String? _appId; String? get appId => _$this._appId; set appId(String? appId) => _$this._appId = appId; @@ -137,19 +159,21 @@ class ConnectRequestBuilder String? get instanceId => _$this._instanceId; set instanceId(String? instanceId) => _$this._instanceId = instanceId; - String? _entrypointPath; - String? get entrypointPath => _$this._entrypointPath; - set entrypointPath(String? entrypointPath) => - _$this._entrypointPath = entrypointPath; + ListBuilder? _entrypoints; + ListBuilder get entrypoints => + _$this._entrypoints ??= new ListBuilder(); + set entrypoints(ListBuilder? entrypoints) => + _$this._entrypoints = entrypoints; ConnectRequestBuilder(); ConnectRequestBuilder get _$this { final $v = _$v; if ($v != null) { + _appName = $v.appName; _appId = $v.appId; _instanceId = $v.instanceId; - _entrypointPath = $v.entrypointPath; + _entrypoints = $v.entrypoints.toBuilder(); _$v = null; } return this; @@ -170,14 +194,28 @@ class ConnectRequestBuilder ConnectRequest build() => _build(); _$ConnectRequest _build() { - final _$result = _$v ?? - new _$ConnectRequest._( - appId: BuiltValueNullFieldError.checkNotNull( - appId, r'ConnectRequest', 'appId'), - instanceId: BuiltValueNullFieldError.checkNotNull( - instanceId, r'ConnectRequest', 'instanceId'), - entrypointPath: BuiltValueNullFieldError.checkNotNull( - entrypointPath, r'ConnectRequest', 'entrypointPath')); + _$ConnectRequest _$result; + try { + _$result = _$v ?? + new _$ConnectRequest._( + appName: BuiltValueNullFieldError.checkNotNull( + appName, r'ConnectRequest', 'appName'), + appId: BuiltValueNullFieldError.checkNotNull( + appId, r'ConnectRequest', 'appId'), + instanceId: BuiltValueNullFieldError.checkNotNull( + instanceId, r'ConnectRequest', 'instanceId'), + entrypoints: entrypoints.build()); + } catch (_) { + late String _$failedField; + try { + _$failedField = 'entrypoints'; + entrypoints.build(); + } catch (e) { + throw new BuiltValueNestedFieldError( + r'ConnectRequest', _$failedField, e.toString()); + } + rethrow; + } replace(_$result); return _$result; } diff --git a/dwds/lib/data/register_entrypoint_request.dart b/dwds/lib/data/register_entrypoint_request.dart new file mode 100644 index 000000000..126ae0a09 --- /dev/null +++ b/dwds/lib/data/register_entrypoint_request.dart @@ -0,0 +1,27 @@ +// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:built_value/built_value.dart'; +import 'package:built_value/serializer.dart'; + +part 'register_entrypoint_request.g.dart'; + +/// A request to load entrypoint metadata. +abstract class RegisterEntrypointRequest + implements + Built { + static Serializer get serializer => + _$registerEntrypointRequestSerializer; + + factory RegisterEntrypointRequest( + [Function(RegisterEntrypointRequestBuilder) updates]) = + _$RegisterEntrypointRequest; + + RegisterEntrypointRequest._(); + + String get appName; + + /// The entrypoint for the Dart application. + String get entrypointPath; +} diff --git a/dwds/lib/data/register_entrypoint_request.g.dart b/dwds/lib/data/register_entrypoint_request.g.dart new file mode 100644 index 000000000..ff6c75448 --- /dev/null +++ b/dwds/lib/data/register_entrypoint_request.g.dart @@ -0,0 +1,173 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'register_entrypoint_request.dart'; + +// ************************************************************************** +// BuiltValueGenerator +// ************************************************************************** + +Serializer _$registerEntrypointRequestSerializer = + new _$RegisterEntrypointRequestSerializer(); + +class _$RegisterEntrypointRequestSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + RegisterEntrypointRequest, + _$RegisterEntrypointRequest + ]; + @override + final String wireName = 'RegisterEntrypointRequest'; + + @override + Iterable serialize( + Serializers serializers, RegisterEntrypointRequest object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'appName', + serializers.serialize(object.appName, + specifiedType: const FullType(String)), + 'entrypointPath', + serializers.serialize(object.entrypointPath, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + RegisterEntrypointRequest deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new RegisterEntrypointRequestBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current! as String; + iterator.moveNext(); + final Object? value = iterator.current; + switch (key) { + case 'appName': + result.appName = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + case 'entrypointPath': + result.entrypointPath = serializers.deserialize(value, + specifiedType: const FullType(String))! as String; + break; + } + } + + return result.build(); + } +} + +class _$RegisterEntrypointRequest extends RegisterEntrypointRequest { + @override + final String appName; + @override + final String entrypointPath; + + factory _$RegisterEntrypointRequest( + [void Function(RegisterEntrypointRequestBuilder)? updates]) => + (new RegisterEntrypointRequestBuilder()..update(updates))._build(); + + _$RegisterEntrypointRequest._( + {required this.appName, required this.entrypointPath}) + : super._() { + BuiltValueNullFieldError.checkNotNull( + appName, r'RegisterEntrypointRequest', 'appName'); + BuiltValueNullFieldError.checkNotNull( + entrypointPath, r'RegisterEntrypointRequest', 'entrypointPath'); + } + + @override + RegisterEntrypointRequest rebuild( + void Function(RegisterEntrypointRequestBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + RegisterEntrypointRequestBuilder toBuilder() => + new RegisterEntrypointRequestBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is RegisterEntrypointRequest && + appName == other.appName && + entrypointPath == other.entrypointPath; + } + + @override + int get hashCode { + var _$hash = 0; + _$hash = $jc(_$hash, appName.hashCode); + _$hash = $jc(_$hash, entrypointPath.hashCode); + _$hash = $jf(_$hash); + return _$hash; + } + + @override + String toString() { + return (newBuiltValueToStringHelper(r'RegisterEntrypointRequest') + ..add('appName', appName) + ..add('entrypointPath', entrypointPath)) + .toString(); + } +} + +class RegisterEntrypointRequestBuilder + implements + Builder { + _$RegisterEntrypointRequest? _$v; + + String? _appName; + String? get appName => _$this._appName; + set appName(String? appName) => _$this._appName = appName; + + String? _entrypointPath; + String? get entrypointPath => _$this._entrypointPath; + set entrypointPath(String? entrypointPath) => + _$this._entrypointPath = entrypointPath; + + RegisterEntrypointRequestBuilder(); + + RegisterEntrypointRequestBuilder get _$this { + final $v = _$v; + if ($v != null) { + _appName = $v.appName; + _entrypointPath = $v.entrypointPath; + _$v = null; + } + return this; + } + + @override + void replace(RegisterEntrypointRequest other) { + ArgumentError.checkNotNull(other, 'other'); + _$v = other as _$RegisterEntrypointRequest; + } + + @override + void update(void Function(RegisterEntrypointRequestBuilder)? updates) { + if (updates != null) updates(this); + } + + @override + RegisterEntrypointRequest build() => _build(); + + _$RegisterEntrypointRequest _build() { + final _$result = _$v ?? + new _$RegisterEntrypointRequest._( + appName: BuiltValueNullFieldError.checkNotNull( + appName, r'RegisterEntrypointRequest', 'appName'), + entrypointPath: BuiltValueNullFieldError.checkNotNull( + entrypointPath, + r'RegisterEntrypointRequest', + 'entrypointPath')); + replace(_$result); + return _$result; + } +} + +// ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/dwds/lib/data/serializers.dart b/dwds/lib/data/serializers.dart index 25f4e2af2..eb70929d2 100644 --- a/dwds/lib/data/serializers.dart +++ b/dwds/lib/data/serializers.dart @@ -13,6 +13,7 @@ import 'devtools_request.dart'; import 'error_response.dart'; import 'extension_request.dart'; import 'isolate_events.dart'; +import 'register_entrypoint_request.dart'; import 'register_event.dart'; import 'run_request.dart'; @@ -34,6 +35,7 @@ part 'serializers.g.dart'; ExtensionResponse, ExtensionEvent, ErrorResponse, + RegisterEntrypointRequest, RegisterEvent, RunRequest, ]) diff --git a/dwds/lib/data/serializers.g.dart b/dwds/lib/data/serializers.g.dart index 584ce7e34..6af553f62 100644 --- a/dwds/lib/data/serializers.g.dart +++ b/dwds/lib/data/serializers.g.dart @@ -22,6 +22,7 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(ExtensionResponse.serializer) ..add(IsolateExit.serializer) ..add(IsolateStart.serializer) + ..add(RegisterEntrypointRequest.serializer) ..add(RegisterEvent.serializer) ..add(RunRequest.serializer) ..addBuilderFactory( @@ -29,7 +30,10 @@ Serializers _$serializers = (new Serializers().toBuilder() () => new ListBuilder()) ..addBuilderFactory( const FullType(BuiltList, const [const FullType(ExtensionEvent)]), - () => new ListBuilder())) + () => new ListBuilder()) + ..addBuilderFactory( + const FullType(BuiltList, const [const FullType(String)]), + () => new ListBuilder())) .build(); // ignore_for_file: deprecated_member_use_from_same_package,type=lint diff --git a/dwds/lib/src/debugging/inspector.dart b/dwds/lib/src/debugging/inspector.dart index 744435de7..9906e637e 100644 --- a/dwds/lib/src/debugging/inspector.dart +++ b/dwds/lib/src/debugging/inspector.dart @@ -32,7 +32,7 @@ import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'; /// Provides information about currently loaded scripts and objects and support /// for eval. class AppInspector implements AppInspectorInterface { - final _scriptCacheMemoizer = AsyncMemoizer>(); + late AsyncMemoizer> _scriptCacheMemoizer; Future> get scriptRefs => _populateScriptCaches(); @@ -106,6 +106,7 @@ class AppInspector implements AppInspectorInterface { } Future initialize() async { + _scriptCacheMemoizer = AsyncMemoizer>(); final libraries = await _libraryHelper.libraryRefs; isolate.rootLib = await _libraryHelper.rootLib; isolate.libraries?.addAll(libraries); @@ -121,6 +122,18 @@ class AppInspector implements AppInspectorInterface { isolate.extensionRPCs?.addAll(await _getExtensionRpcs()); } + Future registerEntrypoint( + String appName, + String entrypoint, + Debugger debugger, + ) { + // TODO: incremental update? + _libraryHelper = LibraryHelper(this); + _classHelper = ClassHelper(this); + _instanceHelper = InstanceHelper(this); + return initialize(); + } + static IsolateRef _toIsolateRef(Isolate isolate) => IsolateRef( id: isolate.id, name: isolate.name, @@ -696,7 +709,7 @@ class AppInspector implements AppInspectorInterface { Future> _populateScriptCaches() { return _scriptCacheMemoizer.runOnce(() async { final scripts = await globalToolConfiguration.loadStrategy - .metadataProviderFor(appConnection.request.entrypointPath) + .metadataProviderFor(appConnection.request.appName) .scripts; // For all the non-dart: libraries, find their parts and create scriptRefs // for them. diff --git a/dwds/lib/src/debugging/libraries.dart b/dwds/lib/src/debugging/libraries.dart index a4cb69932..070b9e6f9 100644 --- a/dwds/lib/src/debugging/libraries.dart +++ b/dwds/lib/src/debugging/libraries.dart @@ -54,7 +54,7 @@ class LibraryHelper extends Domain { Future> get libraryRefs async { if (_libraryRefsById.isNotEmpty) return _libraryRefsById.values.toList(); final libraries = await globalToolConfiguration.loadStrategy - .metadataProviderFor(inspector.appConnection.request.entrypointPath) + .metadataProviderFor(inspector.appConnection.request.appName) .libraries; for (var library in libraries) { _libraryRefsById[library] = diff --git a/dwds/lib/src/debugging/location.dart b/dwds/lib/src/debugging/location.dart index 26c954ed2..60fc6d7dc 100644 --- a/dwds/lib/src/debugging/location.dart +++ b/dwds/lib/src/debugging/location.dart @@ -146,18 +146,18 @@ class Locations { final Modules _modules; final String _root; - late String _entrypoint; + late String _appName; Locations(this._assetReader, this._modules, this._root); Modules get modules => _modules; - void initialize(String entrypoint) { + void initialize(String appName) { _sourceToTokenPosTable.clear(); _sourceToLocation.clear(); _locationMemoizer.clear(); _moduleToLocations.clear(); - _entrypoint = entrypoint; + _appName = appName; } /// Returns all [Location] data for a provided Dart source. @@ -178,7 +178,7 @@ class Locations { final dartUri = DartUri(url, _root); final serverPath = dartUri.serverPath; final module = await globalToolConfiguration.loadStrategy - .moduleForServerPath(_entrypoint, serverPath); + .moduleForServerPath(_appName, serverPath); final cache = _moduleToLocations[module]; if (cache != null) return cache; @@ -304,13 +304,13 @@ class Locations { return result; } final modulePath = await globalToolConfiguration.loadStrategy - .serverPathForModule(_entrypoint, module); + .serverPathForModule(_appName, module); if (modulePath == null) { _logger.warning('No module path for module: $module'); return result; } final sourceMapPath = await globalToolConfiguration.loadStrategy - .sourceMapPathForModule(_entrypoint, module); + .sourceMapPathForModule(_appName, module); if (sourceMapPath == null) { _logger.warning('No sourceMap path for module: $module'); return result; diff --git a/dwds/lib/src/debugging/metadata/provider.dart b/dwds/lib/src/debugging/metadata/provider.dart index 677bde885..1c4499841 100644 --- a/dwds/lib/src/debugging/metadata/provider.dart +++ b/dwds/lib/src/debugging/metadata/provider.dart @@ -2,9 +2,9 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +import 'dart:async'; import 'dart:convert'; -import 'package:async/async.dart'; import 'package:dwds/src/debugging/metadata/module_metadata.dart'; import 'package:dwds/src/readers/asset_reader.dart'; import 'package:logging/logging.dart'; @@ -14,7 +14,7 @@ import 'package:path/path.dart' as p; class MetadataProvider { final AssetReader _assetReader; final _logger = Logger('MetadataProvider'); - final String entrypoint; + final String appName; bool _soundNullSafety; final List _libraries = []; final Map _scriptToModule = {}; @@ -22,7 +22,11 @@ class MetadataProvider { final Map _modulePathToModule = {}; final Map _moduleToModulePath = {}; final Map> _scripts = {}; - final _metadataMemoizer = AsyncMemoizer(); + + final _mainEntrypointCompleter = Completer(); + Future get mainEntrypoint => _mainEntrypointCompleter.future; + + final _entryPoints = >{}; /// Implicitly imported libraries in any DDC component. /// @@ -64,8 +68,7 @@ class MetadataProvider { 'dart:ui', ]; - MetadataProvider(this.entrypoint, this._assetReader) - : _soundNullSafety = false; + MetadataProvider(this.appName, this._assetReader) : _soundNullSafety = false; /// A sound null safety mode for the whole app. /// @@ -176,44 +179,55 @@ class MetadataProvider { } Future _initialize() async { - await _metadataMemoizer.runOnce(() async { - var hasSoundNullSafety = true; - var hasUnsoundNullSafety = true; - // The merged metadata resides next to the entrypoint. - // Assume that .bootstrap.js has .ddc_merged_metadata - if (entrypoint.endsWith('.bootstrap.js')) { - _logger.info('Loading debug metadata...'); - final serverPath = - entrypoint.replaceAll('.bootstrap.js', '.ddc_merged_metadata'); - final merged = await _assetReader.metadataContents(serverPath); - if (merged != null) { - _addSdkMetadata(); - for (var contents in merged.split('\n')) { - try { - if (contents.isEmpty || - contents.startsWith('// intentionally empty:')) continue; - final moduleJson = json.decode(contents); - final metadata = - ModuleMetadata.fromJson(moduleJson as Map); - _addMetadata(metadata); - hasUnsoundNullSafety &= !metadata.soundNullSafety; - hasSoundNullSafety &= metadata.soundNullSafety; - _logger - .fine('Loaded debug metadata for module: ${metadata.name}'); - } catch (e) { - _logger.warning('Failed to read metadata: $e'); - rethrow; - } - } - if (!hasSoundNullSafety && !hasUnsoundNullSafety) { - throw Exception('Metadata contains modules with mixed null safety'); + // TODO: run in a sequence? not sure if there are races. + await mainEntrypoint; + await Future.wait(_entryPoints.values); + } + + void update(String entrypoint) { + // The first registered entrypoint is the main one. + if (!_mainEntrypointCompleter.isCompleted) { + _mainEntrypointCompleter.complete(entrypoint); + } + _entryPoints.putIfAbsent(entrypoint, () => _update(entrypoint)); + } + + Future _update(String entrypoint) async { + var hasSoundNullSafety = true; + var hasUnsoundNullSafety = true; + // The merged metadata resides next to the entrypoint. + // Assume that .bootstrap.js has .ddc_merged_metadata + if (entrypoint.endsWith('.bootstrap.js')) { + _logger.info('Loading debug metadata...'); + final serverPath = + entrypoint.replaceAll('.bootstrap.js', '.ddc_merged_metadata'); + final merged = await _assetReader.metadataContents(serverPath); + if (merged != null) { + _addSdkMetadata(); + for (var contents in merged.split('\n')) { + try { + if (contents.isEmpty || + contents.startsWith('// intentionally empty:')) continue; + final moduleJson = json.decode(contents); + final metadata = + ModuleMetadata.fromJson(moduleJson as Map); + _addMetadata(metadata); + hasUnsoundNullSafety &= !metadata.soundNullSafety; + hasSoundNullSafety &= metadata.soundNullSafety; + _logger.fine('Loaded debug metadata for module: ${metadata.name}'); + } catch (e) { + _logger.warning('Failed to read metadata: $e'); + rethrow; } - _soundNullSafety = hasSoundNullSafety; } - _logger.info('Loaded debug metadata ' - '(${_soundNullSafety ? "sound" : "weak"} null safety)'); + if (!hasSoundNullSafety && !hasUnsoundNullSafety) { + throw Exception('Metadata contains modules with mixed null safety'); + } + _soundNullSafety = hasSoundNullSafety; } - }); + _logger.info('Loaded debug metadata ' + '(${_soundNullSafety ? "sound" : "weak"} null safety)'); + } } void _addMetadata(ModuleMetadata metadata) { diff --git a/dwds/lib/src/debugging/modules.dart b/dwds/lib/src/debugging/modules.dart index 37b857af1..66e9b4ae1 100644 --- a/dwds/lib/src/debugging/modules.dart +++ b/dwds/lib/src/debugging/modules.dart @@ -21,7 +21,7 @@ class Modules { final Map _libraryToModule = {}; - late String _entrypoint; + late String _appName; Modules(this._root); @@ -29,14 +29,14 @@ class Modules { /// /// Intended to be called multiple times throughout the development workflow, /// e.g. after a hot-reload. - void initialize(String entrypoint) { + void initialize(String appName) { // We only clear the source to module mapping as script IDs may persist // across hot reloads. _sourceToModule.clear(); _sourceToLibrary.clear(); _libraryToModule.clear(); _moduleMemoizer = AsyncMemoizer(); - _entrypoint = entrypoint; + _appName = appName; } /// Returns the containing module for the provided Dart server path. @@ -65,7 +65,7 @@ class Modules { /// Initializes [_sourceToModule] and [_sourceToLibrary]. Future _initializeMapping() async { final provider = - globalToolConfiguration.loadStrategy.metadataProviderFor(_entrypoint); + globalToolConfiguration.loadStrategy.metadataProviderFor(_appName); final libraryToScripts = await provider.scripts; final scriptToModule = await provider.scriptToModule; diff --git a/dwds/lib/src/handlers/dev_handler.dart b/dwds/lib/src/handlers/dev_handler.dart index 23e7ca06b..7ea4104c5 100644 --- a/dwds/lib/src/handlers/dev_handler.dart +++ b/dwds/lib/src/handlers/dev_handler.dart @@ -12,6 +12,7 @@ import 'package:dwds/data/debug_event.dart'; import 'package:dwds/data/devtools_request.dart'; import 'package:dwds/data/error_response.dart'; import 'package:dwds/data/isolate_events.dart'; +import 'package:dwds/data/register_entrypoint_request.dart'; import 'package:dwds/data/register_event.dart'; import 'package:dwds/data/serializers.dart'; import 'package:dwds/src/config/tool_configuration.dart'; @@ -48,6 +49,7 @@ final _logger = Logger('DevHandler'); /// SSE handler to enable development features like hot reload and /// opening DevTools. class DevHandler { + Logger _logger = Logger('DevHandler'); final _subs = []; final _sseHandlers = {}; final _injectedConnections = {}; @@ -256,6 +258,7 @@ class DevHandler { _injectedConnections.add(injectedConnection); AppConnection? appConnection; injectedConnection.stream.listen((data) async { + _logger.fine('Received injected connection request: $data'); try { final message = serializers.deserialize(jsonDecode(data)); if (message is ConnectRequest) { @@ -266,11 +269,28 @@ class DevHandler { } appConnection = await _handleConnectRequest(message, injectedConnection); + _logger.severe('Connecting to app id ${message.appId}'); + final connection = + await _handleConnectRequest(message, injectedConnection); + for (var entrypoint in connection.request.entrypoints) { + globalToolConfiguration.loadStrategy + .trackAppEntrypoint(connection.request.appName, entrypoint); + } + appConnection = connection; } else { final connection = appConnection; if (connection == null) { throw StateError('Not connected to an application.'); } + if (message is RegisterEntrypointRequest) { + globalToolConfiguration.loadStrategy.trackAppEntrypoint( + connection.request.appName, + message.entrypointPath, + ); + _servicesByAppId[connection.request.appId] + ?.chromeProxyService + .parseRegisterEntrypointRequest(message); + } if (message is DevToolsRequest) { await _handleDebugRequest(connection, injectedConnection); } else if (message is IsolateExit) { diff --git a/dwds/lib/src/handlers/injector.dart b/dwds/lib/src/handlers/injector.dart index d179f977b..02436cebb 100644 --- a/dwds/lib/src/handlers/injector.dart +++ b/dwds/lib/src/handlers/injector.dart @@ -96,9 +96,11 @@ class DwdsInjector { devHandlerPath = '$requestedUriBase/$devHandlerPath'; _devHandlerPaths.add(devHandlerPath); final entrypoint = request.url.path; + + // TODO: define a separate API for reading build metadata and app's metadata? await globalToolConfiguration.loadStrategy .trackEntrypoint(entrypoint); - body = await _injectClientAndHoistMain( + body = _injectClientAndHoistMain( body, appId, devHandlerPath, @@ -130,13 +132,13 @@ class DwdsInjector { /// Returns the provided body with the main function hoisted into a global /// variable and a snippet of JS that loads the injected client. -Future _injectClientAndHoistMain( +String _injectClientAndHoistMain( String body, String appId, String devHandlerPath, String entrypointPath, String? extensionUri, -) async { +) { final bodyLines = body.split('\n'); final extensionIndex = bodyLines.indexWhere((line) => line.contains(mainExtensionMarker)); @@ -148,7 +150,7 @@ Future _injectClientAndHoistMain( // We inject the client in the entry point module as the client expects the // application to be in a ready state, that is the main function is hoisted // and the Dart SDK is loaded. - final injectedClientSnippet = await _injectedClientSnippet( + final injectedClientSnippet = _injectedClientSnippet( appId, devHandlerPath, entrypointPath, @@ -167,10 +169,18 @@ Future _injectClientAndHoistMain( } $injectedClientSnippet } else { - if(window.\$dartMainExecuted){ - $mainFunction(); - }else { - window.\$dartMainTearOffs.push($mainFunction); + console.log("INJECTOR: registering entrypoint..."); + if (typeof window.\$dartRegisterEntrypoint != "undefined") { + console.log("INJECTOR: registering entrypoint with dev handler"); + window.\$dartRegisterEntrypoint( + /* app name */ appName, + /* entrypoint */ "$entrypointPath", + ); + } + if (window.\$dartMainExecuted) { + $mainFunction(); + } else { + window.\$dartMainTearOffs.push($mainFunction); } } '''; @@ -179,38 +189,49 @@ Future _injectClientAndHoistMain( } /// JS snippet which includes global variables required for debugging. -Future _injectedClientSnippet( +String _injectedClientSnippet( String appId, String devHandlerPath, String entrypointPath, String? extensionUri, -) async { +) { final loadStrategy = globalToolConfiguration.loadStrategy; final buildSettings = loadStrategy.buildSettings; final appMetadata = globalToolConfiguration.appMetadata; final debugSettings = globalToolConfiguration.debugSettings; - var injectedBody = 'window.\$dartAppId = "$appId";\n' - 'window.\$dartReloadConfiguration = "${loadStrategy.reloadConfiguration}";\n' - 'window.\$dartModuleStrategy = "${loadStrategy.id}";\n' - 'window.\$loadModuleConfig = ${loadStrategy.loadModuleSnippet};\n' - 'window.\$dwdsVersion = "$packageVersion";\n' - 'window.\$dwdsDevHandlerPath = "$devHandlerPath";\n' - 'window.\$dwdsEnableDevToolsLaunch = ${debugSettings.enableDevToolsLaunch};\n' - 'window.\$dartEntrypointPath = "$entrypointPath";\n' - 'window.\$dartEmitDebugEvents = ${debugSettings.emitDebugEvents};\n' - 'window.\$isInternalBuild = ${appMetadata.isInternalBuild};\n' - 'window.\$isFlutterApp = ${buildSettings.isFlutterApp};\n' - '${loadStrategy.loadClientSnippet(_clientScript)}'; + var injectedBody = '\n' + ' console.log("INJECTOR: registering app: \${appName}.");\n' + ' window.\$dwdsVersion = "$packageVersion";\n' // used by DDC + '\n' + ' let appRecord = {};\n' + ' appRecord.moduleStrategy = "${loadStrategy.id}";\n' + ' appRecord.reloadConfiguration = "${loadStrategy.reloadConfiguration}";\n' + ' appRecord.loadModuleConfig = ${loadStrategy.loadModuleSnippet};\n' + ' appRecord.dwdsVersion = "$packageVersion";\n' + ' appRecord.enableDevtoolsLaunch = ${debugSettings.enableDevToolsLaunch};\n' + ' appRecord.emitDebugEvents = ${debugSettings.emitDebugEvents};\n' + ' appRecord.isInternalBuild = ${appMetadata.isInternalBuild};\n' + ' appRecord.appName = appName;\n' + ' appRecord.appId = "$appId";\n' + ' appRecord.isFlutterApp = ${buildSettings.isFlutterApp};\n' + ' appRecord.devHandlerPath = "$devHandlerPath";\n' + ' appRecord.entrypoints = new Array();\n' + ' appRecord.entrypoints.push("$entrypointPath");\n'; if (extensionUri != null) { - injectedBody += 'window.\$dartExtensionUri = "$extensionUri";\n'; + injectedBody += ' appRecord.extensionUrl = "$extensionUri";\n'; } final workspaceName = appMetadata.workspaceName; if (workspaceName != null) { - injectedBody += 'window.\$dartWorkspaceName = "$workspaceName";\n'; + injectedBody += ' appRecord.workspaceName = "$workspaceName";\n'; } + injectedBody += '\n' + ' window.\$dartAppInfo = appRecord;\n' + ' console.log("INJECTOR: Loading injected client...");\n' + ' ${loadStrategy.loadClientSnippet(_clientScript)};\n'; + return injectedBody; } diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 0b0253f8f..5e7dfeb54 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -439,12 +439,21 @@ set$_innerHtml$x(receiver, value) { return J.getInterceptor$x(receiver).set$_innerHtml(receiver, value); }, + set$length$asx(receiver, value) { + return J.getInterceptor$asx(receiver).set$length(receiver, value); + }, get$attributes$x(receiver) { return J.getInterceptor$x(receiver).get$attributes(receiver); }, get$digestsPath$x(receiver) { return J.getInterceptor$x(receiver).get$digestsPath(receiver); }, + get$emitDebugEvents$x(receiver) { + return J.getInterceptor$x(receiver).get$emitDebugEvents(receiver); + }, + get$extensionUrl$x(receiver) { + return J.getInterceptor$x(receiver).get$extensionUrl(receiver); + }, get$first$ax(receiver) { return J.getInterceptor$ax(receiver).get$first(receiver); }, @@ -507,6 +516,9 @@ _removeEventListener$3$x(receiver, a0, a1, a2) { return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2); }, + add$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).add$1(receiver, a0); + }, addEventListener$3$x(receiver, a0, a1, a2) { return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2); }, @@ -534,6 +546,9 @@ elementAt$1$ax(receiver, a0) { return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); }, + fillRange$3$ax(receiver, a0, a1, a2) { + return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2); + }, forEach$1$ax(receiver, a0) { return J.getInterceptor$ax(receiver).forEach$1(receiver, a0); }, @@ -1073,7 +1088,7 @@ this.$ti = t1; }, Symbol: function Symbol(t0) { - this._name = t0; + this.__internal$_name = t0; }, __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() { }, @@ -2247,7 +2262,7 @@ return t1.__late_helper$_value = t1; }, _Cell: function _Cell(t0) { - this.__late_helper$_name = t0; + this._name = t0; this.__late_helper$_value = null; }, _ensureNativeList(list) { @@ -4680,12 +4695,12 @@ _.$ti = t4; }, _ControllerStream: function _ControllerStream(t0, t1) { - this._controller = t0; + this._async$_controller = t0; this.$ti = t1; }, _ControllerSubscription: function _ControllerSubscription(t0, t1, t2, t3, t4, t5, t6) { var _ = this; - _._controller = t0; + _._async$_controller = t0; _._async$_onData = t1; _._onError = t2; _._onDone = t3; @@ -5040,7 +5055,7 @@ }, _HashSetIterator: function _HashSetIterator(t0, t1, t2) { var _ = this; - _._set = t0; + _._collection$_set = t0; _._collection$_elements = t1; _._offset = 0; _._collection$_current = null; @@ -5054,12 +5069,12 @@ _.$ti = t0; }, _LinkedHashSetCell: function _LinkedHashSetCell(t0) { - this._collection$_element = t0; + this._element = t0; this._collection$_next = null; }, _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) { var _ = this; - _._set = t0; + _._collection$_set = t0; _._collection$_modifications = t1; _._collection$_current = _._collection$_cell = null; _.$ti = t2; @@ -7944,7 +7959,7 @@ _AttributeMap: function _AttributeMap() { }, _ElementAttributeMap: function _ElementAttributeMap(t0) { - this._element = t0; + this._html$_element = t0; }, EventStreamProvider: function EventStreamProvider(t0, t1) { this._eventType = t0; @@ -8221,12 +8236,6 @@ dartArgs = A.List_List$from(J.map$1$1$ax($arguments, A.js___convertToDart$closure(), t1), true, t1); return A._convertToJS(A.Function_apply(type$.Function._as(callback), dartArgs, null)); }, - JsObject_JsObject$fromBrowserObject(object) { - var t1 = false; - if (t1) - throw A.wrapException(A.ArgumentError$("object cannot be a num, string, bool, or null", null)); - return A._wrapToDart(A._convertToJS(object)); - }, JsObject__convertDataTree(data) { return new A.JsObject__convertDataTree__convert(new A._IdentityHashMap(type$._IdentityHashMap_dynamic_dynamic)).call$1(data); }, @@ -8522,7 +8531,7 @@ this.$ti = t0; }, BuiltListMultimap_BuiltListMultimap($K, $V) { - var t1 = A._BuiltListMultimap$copy(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty0), $K, $V); + var t1 = A._BuiltListMultimap$copy(B.Map_empty.get$keys(B.Map_empty), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty), $K, $V); return t1; }, _BuiltListMultimap$copy(keys, lookup, $K, $V) { @@ -8532,7 +8541,7 @@ }, ListMultimapBuilder_ListMultimapBuilder($K, $V) { var t1 = new A.ListMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("ListMultimapBuilder<1,2>")); - t1.replace$1(0, B.Map_empty0); + t1.replace$1(0, B.Map_empty); return t1; }, BuiltListMultimap: function BuiltListMultimap() { @@ -8562,12 +8571,12 @@ }, BuiltMap_BuiltMap($K, $V) { var t1 = new A._BuiltMap(null, A.LinkedHashMap_LinkedHashMap$_empty($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltMap<1,2>")); - t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltMap_BuiltMap_closure(B.Map_empty0), $K, $V); + t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty.get$keys(B.Map_empty), new A.BuiltMap_BuiltMap_closure(B.Map_empty), $K, $V); return t1; }, MapBuilder_MapBuilder($K, $V) { var t1 = new A.MapBuilder(null, $, null, $K._eval$1("@<0>")._bind$1($V)._eval$1("MapBuilder<1,2>")); - t1.replace$1(0, B.Map_empty0); + t1.replace$1(0, B.Map_empty); return t1; }, BuiltMap: function BuiltMap() { @@ -8614,7 +8623,7 @@ _BuiltSet: function _BuiltSet(t0, t1, t2) { var _ = this; _._setFactory = t0; - _._set$_set = t1; + _._set = t1; _._set$_hashCode = null; _.$ti = t2; }, @@ -8627,7 +8636,7 @@ }, SetMultimapBuilder_SetMultimapBuilder($K, $V) { var t1 = new A.SetMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("SetMultimapBuilder<1,2>")); - t1.replace$1(0, B.Map_empty0); + t1.replace$1(0, B.Map_empty); return t1; }, BuiltSetMultimap: function BuiltSetMultimap() { @@ -8926,6 +8935,15 @@ QueueList__computeInitialCapacity(initialCapacity) { return 8; }, + QueueList__nextPowerOf2(number) { + var nextNumber; + number = (number << 1 >>> 0) - 1; + for (; true; number = nextNumber) { + nextNumber = (number & number - 1) >>> 0; + if (nextNumber === 0) + return number; + } + }, QueueList: function QueueList(t0, t1, t2, t3) { var _ = this; _._queue_list$_table = t0; @@ -8974,14 +8992,16 @@ }, _$ConnectRequestSerializer: function _$ConnectRequestSerializer() { }, - _$ConnectRequest: function _$ConnectRequest(t0, t1, t2) { - this.appId = t0; - this.instanceId = t1; - this.entrypointPath = t2; + _$ConnectRequest: function _$ConnectRequest(t0, t1, t2, t3) { + var _ = this; + _.appName = t0; + _.appId = t1; + _.instanceId = t2; + _.entrypoints = t3; }, ConnectRequestBuilder: function ConnectRequestBuilder() { var _ = this; - _._entrypointPath = _._instanceId = _._appId = _._$v = null; + _._entrypoints = _._instanceId = _._connect_request$_appId = _._appName = _._connect_request$_$v = null; }, DebugEvent: function DebugEvent() { }, @@ -8998,7 +9018,7 @@ }, DebugEventBuilder: function DebugEventBuilder() { var _ = this; - _._timestamp = _._eventData = _._debug_event$_kind = _._debug_event$_$v = null; + _._debug_event$_timestamp = _._debug_event$_eventData = _._debug_event$_kind = _._debug_event$_$v = null; }, _$BatchedDebugEvents: function _$BatchedDebugEvents(t0) { this.events = t0; @@ -9028,7 +9048,7 @@ }, DebugInfoBuilder: function DebugInfoBuilder() { var _ = this; - _._tabId = _._tabUrl = _._workspaceName = _._isFlutterApp = _._isInternalBuild = _._extensionUrl = _._dwdsVersion = _._authUrl = _._appUrl = _._appOrigin = _._appInstanceId = _._debug_info$_appId = _._appEntrypointPath = _._debug_info$_$v = null; + _._tabId = _._tabUrl = _._workspaceName = _._isFlutterApp = _._isInternalBuild = _._extensionUrl = _._dwdsVersion = _._authUrl = _._appUrl = _._appOrigin = _._appInstanceId = _._appId = _._appEntrypointPath = _._debug_info$_$v = null; }, DevToolsRequest: function DevToolsRequest() { }, @@ -9137,6 +9157,17 @@ IsolateStartBuilder: function IsolateStartBuilder() { this._isolate_events$_$v = null; }, + RegisterEntrypointRequest: function RegisterEntrypointRequest() { + }, + _$RegisterEntrypointRequestSerializer: function _$RegisterEntrypointRequestSerializer() { + }, + _$RegisterEntrypointRequest: function _$RegisterEntrypointRequest(t0, t1) { + this.appName = t0; + this.entrypointPath = t1; + }, + RegisterEntrypointRequestBuilder: function RegisterEntrypointRequestBuilder() { + this._entrypointPath = this._register_entrypoint_request$_appName = this._register_entrypoint_request$_$v = null; + }, RegisterEvent: function RegisterEvent() { }, _$RegisterEventSerializer: function _$RegisterEventSerializer() { @@ -9146,7 +9177,7 @@ this.timestamp = t1; }, RegisterEventBuilder: function RegisterEventBuilder() { - this._register_event$_timestamp = this._register_event$_eventData = this._register_event$_$v = null; + this._timestamp = this._eventData = this._$v = null; }, RunRequest: function RunRequest() { }, @@ -9158,6 +9189,8 @@ }, _$serializers_closure0: function _$serializers_closure0() { }, + _$serializers_closure1: function _$serializers_closure1() { + }, BatchedStreamController: function BatchedStreamController(t0, t1, t2, t3, t4, t5) { var _ = this; _._checkDelayMilliseconds = t0; @@ -9539,7 +9572,7 @@ _.innerWebSocket = t0; _._localCloseReason = _._localCloseCode = null; _.__HtmlWebSocketChannel__readyCompleter_A = $; - _._html0$_controller = t1; + _._controller = t1; _.__HtmlWebSocketChannel_sink_FI = $; }, HtmlWebSocketChannel_closure: function HtmlWebSocketChannel_closure(t0) { @@ -9571,29 +9604,131 @@ main() { return A.runZonedGuarded(new A.main_closure(), new A.main_closure0(), type$.Future_void); }, - _trySendEvent(sink, serialized, $T) { - var exception; - try { - sink.add$1(0, serialized); - } catch (exception) { - if (A.unwrapException(exception) instanceof A.StateError) - A.print("Cannot send event " + A.S(serialized) + ". Injected client connection is closed."); - else - throw exception; - } + runClient() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + t2, t3, t4, t5, t6, t7, t8, connection, uri, fixedPath, fixedUri, _0_0, manager, appInfo, t1; + var $async$runClient = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + appInfo = self.$dartAppInfo; + t1 = J.getInterceptor$x(appInfo); + t1.set$appInstanceId(appInfo, B.C_Uuid.v1$0()); + self.$dartAppInstanceId = t1.get$appInstanceId(appInfo); + self.$dartAppId = t1.get$appId(appInfo); + self.$loadModuleConfig = t1.get$loadModuleConfig(appInfo); + A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": Dart app info: " + A.S(t1.get$appName(appInfo)) + " " + A.S(t1.get$appId(appInfo)) + " " + A.S(t1.get$appInstanceId(appInfo)) + " " + A.S(t1.get$devHandlerPath(appInfo)) + " " + A.S(t1.get$moduleStrategy(appInfo))); + t2 = t1.get$devHandlerPath(appInfo); + t3 = $.Zone__current; + t4 = Math.max(100, 1); + t5 = A.StreamController_StreamController(null, null, false, type$.DebugEvent); + t6 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent); + t3 = new A.BatchedStreamController(t4, 1000, t5, t6, new A._AsyncCompleter(new A._Future(t3, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent); + t4 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent); + t7 = A.ListQueue$(type$._EventRequest_dynamic); + t8 = type$.StreamQueue_DebugEvent; + t3.set$__BatchedStreamController__inputQueue_A(t8._as(new A.StreamQueue(new A._ControllerStream(t5, A._instanceType(t5)._eval$1("_ControllerStream<1>")), new A.QueueList(t4, 0, 0, type$.QueueList_Result_DebugEvent), t7, t8))); + A.safeUnawaited(t3._batchAndSendEvents$0()); + connection = new A.DevHandlerConnection(t3); + uri = A.Uri_parse(t2); + t2 = type$.Location; + t3 = t2._as(window.location).protocol; + t3.toString; + if (t3 === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost") + uri = uri.replace$1$scheme(0, "https"); + else { + t2 = t2._as(window.location).protocol; + t2.toString; + if (t2 === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost") + uri = uri.replace$1$scheme(0, "wss"); + } + fixedPath = uri.toString$0(0); + fixedUri = A.Uri_parse(fixedPath); + t2 = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient")); + connection.__DevHandlerConnection_client_F = t2; + new A._ControllerStream(t6, A._instanceType(t6)._eval$1("_ControllerStream<1>")).listen$1(connection.get$_sendBatchedDebugEvents()); + t6 = type$.void_Function_String_String; + self.$dartRegisterEntrypoint = A.allowInterop(new A.runClient_closure(appInfo, connection), t6); + A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": set registerEntrypoint"); + _0_0 = t1.get$moduleStrategy(appInfo); + $async$goto = "require-js" === _0_0 ? 3 : 4; + break; + case 3: + // then + $async$goto = 5; + return A._asyncAwait(A.RequireRestarter_create(), $async$runClient); + case 5: + // returning from await. + t3 = $async$result; + // goto break $label0$0 + $async$goto = 2; + break; + case 4: + // join + if ("legacy" === _0_0) { + t3 = new A.LegacyRestarter(); + // goto break $label0$0 + $async$goto = 2; + break; + } + t3 = A.throwExpression(A.StateError$("Unknown module strategy: " + A.S(t1.get$moduleStrategy(appInfo)))); + case 2: + // break $label0$0 + manager = new A.ReloadingManager(t2, t3); + self.$dartHotRestartDwds = A.allowInterop(new A.runClient_closure0(manager), type$.Promise_bool_Function_String); + self.$emitDebugEvent = A.allowInterop(new A.runClient_closure1(appInfo, connection), t6); + self.$emitRegisterEvent = A.allowInterop(connection.get$sendRegisterEvent(), type$.void_Function_String); + self.$launchDevTools = A.allowInterop(new A.runClient_closure2(connection, appInfo), type$.void_Function); + t2.get$stream(t2).listen$2$onError(new A.runClient_closure3(appInfo, manager), new A.runClient_closure4()); + if (A.boolConversionCheck(t1.get$enableDevToolsLaunch(appInfo))) { + t2 = window; + t2.toString; + A._EventStreamSubscription$(t2, "keydown", type$.nullable_void_Function_KeyboardEvent._as(new A.runClient_closure5()), false, type$.KeyboardEvent); + } + t2 = window.navigator.vendor; + t2.toString; + if (B.JSString_methods.contains$1(t2, "Google")) { + A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": sending connect request with " + A.S(t1.get$appName(appInfo)) + " (" + A.S(t1.get$entrypoints(appInfo)) + ")"); + connection.sendConnectRequest$4(t1.get$appName(appInfo), t1.get$appId(appInfo), t1.get$appInstanceId(appInfo), t1.get$entrypoints(appInfo)); + } else + A.runMain(); + A._launchCommunicationWithDebugExtension(appInfo); + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$runClient, $async$completer); }, - _launchCommunicationWithDebugExtension() { + _launchCommunicationWithDebugExtension(appInfo) { var t1, t2; - A._listenForDebugExtensionAuthRequest(); + A._listenForDebugExtensionAuthRequest(appInfo); t1 = $.$get$serializers(); t2 = new A.DebugInfoBuilder(); - type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure()).call$1(t2); + type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure(appInfo)).call$1(t2); self.window.top.document.dispatchEvent(A.CustomEvent_CustomEvent("dart-app-ready", B.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t2._debug_info$_build$0()), null))); }, - _listenForDebugExtensionAuthRequest() { + authUrl(extensionUrl) { + var authUrl; + if (extensionUrl == null) + return null; + authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication"); + switch (authUrl.scheme) { + case "ws": + return authUrl.replace$1$scheme(0, "http").get$_text(); + case "wss": + return authUrl.replace$1$scheme(0, "https").get$_text(); + default: + return authUrl.get$_text(); + } + }, + _listenForDebugExtensionAuthRequest(appInfo) { var t1 = window; t1.toString; - B.Window_methods.addEventListener$2(t1, "message", A.allowInterop(new A._listenForDebugExtensionAuthRequest_closure(), type$.dynamic_Function_Event)); + B.Window_methods.addEventListener$2(t1, "message", A.allowInterop(new A._listenForDebugExtensionAuthRequest_closure(appInfo), type$.dynamic_Function_Event)); }, _authenticateUser(authUrl) { var $async$goto = 0, @@ -9622,66 +9757,69 @@ }); return A._asyncStartSync($async$_authenticateUser, $async$completer); }, - _authUrl() { - var extensionUrl, authUrl, - t1 = window; - t1.toString; - extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri")); - if (extensionUrl == null) - return null; - authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication"); - switch (authUrl.scheme) { - case "ws": - return authUrl.replace$1$scheme(0, "http").get$_text(); - case "wss": - return authUrl.replace$1$scheme(0, "https").get$_text(); - default: - return authUrl.get$_text(); - } - }, main_closure: function main_closure() { }, - main__closure: function main__closure(t0) { + main_closure0: function main_closure0() { + }, + runClient_closure: function runClient_closure(t0, t1) { + this.appInfo = t0; + this.connection = t1; + }, + runClient_closure0: function runClient_closure0(t0) { this.manager = t0; }, - main__closure0: function main__closure0(t0) { - this.client = t0; + runClient_closure1: function runClient_closure1(t0, t1) { + this.appInfo = t0; + this.connection = t1; }, - main___closure2: function main___closure2(t0) { - this.events = t0; + runClient_closure2: function runClient_closure2(t0, t1) { + this.connection = t0; + this.appInfo = t1; }, - main__closure1: function main__closure1(t0) { - this.debugEventController = t0; + runClient_closure3: function runClient_closure3(t0, t1) { + this.appInfo = t0; + this.manager = t1; }, - main___closure1: function main___closure1(t0, t1) { - this.kind = t0; - this.eventData = t1; + runClient_closure4: function runClient_closure4() { }, - main__closure2: function main__closure2(t0) { - this.client = t0; + runClient_closure5: function runClient_closure5() { }, - main___closure0: function main___closure0(t0) { - this.eventData = t0; + _launchCommunicationWithDebugExtension_closure: function _launchCommunicationWithDebugExtension_closure(t0) { + this.appInfo = t0; }, - main__closure3: function main__closure3(t0) { - this.client = t0; + _listenForDebugExtensionAuthRequest_closure: function _listenForDebugExtensionAuthRequest_closure(t0) { + this.appInfo = t0; }, - main___closure: function main___closure() { + DevHandlerConnection: function DevHandlerConnection(t0) { + this.__DevHandlerConnection_client_F = $; + this.debugEventController = t0; }, - main__closure4: function main__closure4(t0) { - this.manager = t0; + DevHandlerConnection_sendConnectRequest_closure: function DevHandlerConnection_sendConnectRequest_closure(t0, t1, t2, t3) { + var _ = this; + _.appName = t0; + _.appId = t1; + _.appInstanceId = t2; + _.entrypoints = t3; }, - main__closure5: function main__closure5() { + DevHandlerConnection_sendRegisterEntrypointRequest_closure: function DevHandlerConnection_sendRegisterEntrypointRequest_closure(t0, t1) { + this.appName = t0; + this.entrypointPath = t1; }, - main__closure6: function main__closure6() { + DevHandlerConnection__sendBatchedDebugEvents_closure: function DevHandlerConnection__sendBatchedDebugEvents_closure(t0) { + this.events = t0; }, - main__closure7: function main__closure7() { + DevHandlerConnection_sendDebugEvent_closure: function DevHandlerConnection_sendDebugEvent_closure(t0, t1) { + this.kind = t0; + this.eventData = t1; }, - main_closure0: function main_closure0() { + DevHandlerConnection_sendRegisterEvent_closure: function DevHandlerConnection_sendRegisterEvent_closure(t0) { + this.eventData = t0; }, - _launchCommunicationWithDebugExtension_closure: function _launchCommunicationWithDebugExtension_closure() { + DevHandlerConnection_sendDevToolsRequest_closure: function DevHandlerConnection_sendDevToolsRequest_closure(t0, t1) { + this.appId = t0; + this.appInstanceId = t1; }, - _listenForDebugExtensionAuthRequest_closure: function _listenForDebugExtensionAuthRequest_closure() { + AppInfo: function AppInfo() { }, LegacyRestarter: function LegacyRestarter() { }, @@ -9912,6 +10050,51 @@ }, $isPromise: 1, $isJsError: 1, + get$moduleStrategy(obj) { + return obj.moduleStrategy; + }, + get$reloadConfiguration(obj) { + return obj.reloadConfiguration; + }, + get$loadModuleConfig(obj) { + return obj.loadModuleConfig; + }, + get$enableDevToolsLaunch(obj) { + return obj.enableDevToolsLaunch; + }, + get$emitDebugEvents(obj) { + return obj.emitDebugEvents; + }, + get$isInternalBuild(obj) { + return obj.isInternalBuild; + }, + get$appName(obj) { + return obj.appName; + }, + get$appId(obj) { + return obj.appId; + }, + set$appInstanceId(obj, v) { + return obj.appInstanceId = v; + }, + get$appInstanceId(obj) { + return obj.appInstanceId; + }, + get$isFlutterApp(obj) { + return obj.isFlutterApp; + }, + get$extensionUrl(obj) { + return obj.extensionUrl; + }, + get$devHandlerPath(obj) { + return obj.devHandlerPath; + }, + get$entrypoints(obj) { + return obj.entrypoints; + }, + get$workspaceName(obj) { + return obj.workspaceName; + }, then$1$1(receiver, p0) { return receiver.then(p0); }, @@ -10102,6 +10285,15 @@ for (i = 0; i < $length; ++i) receiver[start + i] = t1.$index(otherList, otherStart + i); }, + fillRange$3(receiver, start, end, fillValue) { + var i; + if (!!receiver.immutable$list) + A.throwExpression(A.UnsupportedError$("fill range")); + A.RangeError_checkValidRange(start, end, receiver.length); + A._arrayInstanceType(receiver)._precomputed1._as(fillValue); + for (i = start; i < end; ++i) + receiver[i] = fillValue; + }, any$1(receiver, test) { var end, i; A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test); @@ -10195,6 +10387,15 @@ get$length(receiver) { return receiver.length; }, + set$length(receiver, newLength) { + if (!!receiver.fixed$length) + A.throwExpression(A.UnsupportedError$("set length")); + if (newLength < 0) + throw A.wrapException(A.RangeError$range(newLength, 0, null, "newLength", null)); + if (newLength > receiver.length) + A._arrayInstanceType(receiver)._precomputed1._as(null); + receiver.length = newLength; + }, $index(receiver, index) { if (!(index >= 0 && index < receiver.length)) throw A.wrapException(A.diagnoseIndexError(receiver, index)); @@ -10654,6 +10855,13 @@ var t1 = this.$ti; J.$indexSet$ax(this.__internal$_source, index, t1._precomputed1._as(t1._rest[1]._as(value))); }, + set$length(_, $length) { + J.set$length$asx(this.__internal$_source, $length); + }, + add$1(_, value) { + var t1 = this.$ti; + J.add$1$ax(this.__internal$_source, t1._precomputed1._as(t1._rest[1]._as(value))); + }, sort$1(_, compare) { var t1; this.$ti._eval$1("int(2,2)?")._as(compare); @@ -10664,6 +10872,9 @@ var t1 = this.$ti; return A.CastIterable_CastIterable(J.getRange$2$ax(this.__internal$_source, start, end), t1._precomputed1, t1._rest[1]); }, + fillRange$3(_, start, end, fillValue) { + J.fillRange$3$ax(this.__internal$_source, start, end, this.$ti._precomputed1._as(fillValue)); + }, $isEfficientLengthIterable: 1, $isList: 1 }; @@ -10739,7 +10950,7 @@ call$0() { return A.Future_Future$value(null, type$.Null); }, - $signature: 25 + $signature: 24 }; A.SentinelValue.prototype = {}; A.EfficientLengthIterable.prototype = {}; @@ -11058,15 +11269,33 @@ }, $isIterator: 1 }; - A.FixedLengthListMixin.prototype = {}; + A.FixedLengthListMixin.prototype = { + set$length(receiver, newLength) { + throw A.wrapException(A.UnsupportedError$("Cannot change the length of a fixed-length list")); + }, + add$1(receiver, value) { + A.instanceType(receiver)._eval$1("FixedLengthListMixin.E")._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot add to a fixed-length list")); + } + }; A.UnmodifiableListMixin.prototype = { $indexSet(_, index, value) { A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value); throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); }, + set$length(_, newLength) { + throw A.wrapException(A.UnsupportedError$("Cannot change the length of an unmodifiable list")); + }, + add$1(_, value) { + A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot add to an unmodifiable list")); + }, sort$1(_, compare) { A._instanceType(this)._eval$1("int(UnmodifiableListMixin.E,UnmodifiableListMixin.E)?")._as(compare); throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); + }, + fillRange$3(_, start, end, fillValue) { + throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); } }; A.UnmodifiableListBase.prototype = {}; @@ -11085,17 +11314,17 @@ var hash = this._hashCode; if (hash != null) return hash; - hash = 664597 * B.JSString_methods.get$hashCode(this._name) & 536870911; + hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911; this._hashCode = hash; return hash; }, toString$0(_) { - return 'Symbol("' + this._name + '")'; + return 'Symbol("' + this.__internal$_name + '")'; }, $eq(_, other) { if (other == null) return false; - return other instanceof A.Symbol && this._name === other._name; + return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name; }, $isSymbol0: 1 }; @@ -11234,13 +11463,13 @@ get$namedArguments() { var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; if (_this.__js_helper$_kind !== 0) - return B.Map_empty; + return B.Map_empty0; t1 = _this._namedArgumentNames; namedArgumentCount = t1.length; t2 = _this._arguments; namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; if (namedArgumentCount === 0) - return B.Map_empty; + return B.Map_empty0; map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic); for (i = 0; i < namedArgumentCount; ++i) { if (!(i < t1.length)) @@ -11686,13 +11915,13 @@ call$2(o, tag) { return this.getUnknownTag(o, tag); }, - $signature: 84 + $signature: 87 }; A.initHooks_closure1.prototype = { call$1(tag) { return this.prototypeForTag(A._asString(tag)); }, - $signature: 85 + $signature: 54 }; A.JSSyntaxRegExp.prototype = { toString$0(_) { @@ -11871,7 +12100,7 @@ readLocal$1$0() { var t1 = this.__late_helper$_value; if (t1 === this) - A.throwExpression(new A.LateError("Local '" + this.__late_helper$_name + "' has not been initialized.")); + A.throwExpression(new A.LateError("Local '" + this._name + "' has not been initialized.")); return t1; }, readLocal$0() { @@ -11880,7 +12109,7 @@ _readField$0() { var t1 = this.__late_helper$_value; if (t1 === this) - throw A.wrapException(A.LateError$fieldNI(this.__late_helper$_name)); + throw A.wrapException(A.LateError$fieldNI(this._name)); return t1; } }; @@ -12117,7 +12346,7 @@ t2 = this.span; t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); }, - $signature: 65 + $signature: 85 }; A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { call$0() { @@ -12224,7 +12453,7 @@ call$2(error, stackTrace) { this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); }, - $signature: 52 + $signature: 67 }; A._wrapJsFunctionForAsync_closure.prototype = { call$2(errorCode, result) { @@ -12643,7 +12872,7 @@ call$1(_) { return this.originalSource; }, - $signature: 49 + $signature: 86 }; A._Future__propagateToListeners_handleValueCallback.prototype = { call$0() { @@ -12981,22 +13210,22 @@ A._SyncStreamController.prototype = {}; A._ControllerStream.prototype = { get$hashCode(_) { - return (A.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0; + return (A.Primitives_objectHashCode(this._async$_controller) ^ 892482866) >>> 0; }, $eq(_, other) { if (other == null) return false; if (this === other) return true; - return other instanceof A._ControllerStream && other._controller === this._controller; + return other instanceof A._ControllerStream && other._async$_controller === this._async$_controller; } }; A._ControllerSubscription.prototype = { _onCancel$0() { - return this._controller._recordCancel$1(this); + return this._async$_controller._recordCancel$1(this); }, _onPause$0() { - var t1 = this._controller, + var t1 = this._async$_controller, t2 = A._instanceType(t1); t2._eval$1("StreamSubscription<1>")._as(this); if ((t1._state & 8) !== 0) @@ -13004,7 +13233,7 @@ A._runGuarded(t1.onPause); }, _onResume$0() { - var t1 = this._controller, + var t1 = this._async$_controller, t2 = A._instanceType(t1); t2._eval$1("StreamSubscription<1>")._as(this); if ((t1._state & 8) !== 0) @@ -13318,7 +13547,7 @@ var t1 = this.$ti; t1._eval$1("~(1)?")._as(onData); type$.nullable_void_Function._as(onDone); - return this._controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true); + return this._async$_controller._subscribe$4(t1._eval$1("~(1)?")._as(onData), onError, onDone, cancelOnError === true); }, listen$1(onData) { return this.listen$4$cancelOnError$onDone$onError(onData, null, null, null); @@ -13989,7 +14218,7 @@ t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s)); } }, - $signature: 71 + $signature: 73 }; A._HashMap.prototype = { get$length(_) { @@ -14052,9 +14281,9 @@ nums = _this._collection$_nums; _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value); } else - _this._set$2(key, value); + _this._collection$_set$2(key, value); }, - _set$2(key, value) { + _collection$_set$2(key, value) { var rest, hash, bucket, index, _this = this, t1 = A._instanceType(_this); t1._precomputed1._as(key); @@ -14211,7 +14440,7 @@ call$1(v) { return this.K._is(v); }, - $signature: 18 + $signature: 17 }; A._HashMapKeyIterable.prototype = { get$length(_) { @@ -14425,7 +14654,7 @@ var _this = this, elements = _this._collection$_elements, offset = _this._offset, - t1 = _this._set; + t1 = _this._collection$_set; if (elements !== t1._collection$_elements) throw A.wrapException(A.ConcurrentModificationError$(t1)); else if (offset >= elements.length) { @@ -14483,7 +14712,7 @@ var first = this._collection$_first; if (first == null) throw A.wrapException(A.StateError$("No elements")); - return A._instanceType(this)._precomputed1._as(first._collection$_element); + return A._instanceType(this)._precomputed1._as(first._element); }, add$1(_, element) { var strings, nums, _this = this; @@ -14541,7 +14770,7 @@ return -1; $length = bucket.length; for (i = 0; i < $length; ++i) - if (J.$eq$(bucket[i]._collection$_element, element)) + if (J.$eq$(bucket[i]._element, element)) return i; return -1; } @@ -14555,14 +14784,14 @@ moveNext$0() { var _this = this, cell = _this._collection$_cell, - t1 = _this._set; + t1 = _this._collection$_set; if (_this._collection$_modifications !== t1._collection$_modifications) throw A.wrapException(A.ConcurrentModificationError$(t1)); else if (cell == null) { _this.set$_collection$_current(null); return false; } else { - _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._collection$_element)); + _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._element)); _this._collection$_cell = cell._collection$_next; return true; } @@ -14638,6 +14867,13 @@ skip$1(receiver, count) { return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E")); }, + add$1(receiver, element) { + var t1; + A.instanceType(receiver)._eval$1("ListBase.E")._as(element); + t1 = this.get$length(receiver); + this.set$length(receiver, t1 + 1); + this.$indexSet(receiver, t1, element); + }, cast$1$0(receiver, $R) { return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@")._bind$1($R)._eval$1("CastList<1,2>")); }, @@ -14735,7 +14971,7 @@ t1._contents = t2 + ": "; t1._contents += A.S(v); }, - $signature: 19 + $signature: 18 }; A._UnmodifiableMapMixin.prototype = { $indexSet(_, key, value) { @@ -14909,7 +15145,7 @@ }, containsAll$1(other) { var t1, t2, o; - for (t1 = other._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + for (t1 = other._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { o = t1._collection$_current; if (!this.contains$1(0, o == null ? t2._as(o) : o)) return false; @@ -15228,7 +15464,7 @@ call$1(v) { return this.E._is(v); }, - $signature: 18 + $signature: 17 }; A._SplayTreeSet__SplayTree_Iterable.prototype = {}; A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {}; @@ -15771,7 +16007,7 @@ B.JSArray_methods.$indexSet(t1, t2.i++, key); B.JSArray_methods.$indexSet(t1, t2.i++, value); }, - $signature: 19 + $signature: 18 }; A._JsonStringStringifier.prototype = { get$_partialResult() { @@ -16259,7 +16495,7 @@ hash = hash + ((hash & 524287) << 10) & 536870911; return hash ^ hash >>> 6; }, - $signature: 20 + $signature: 19 }; A._BigIntImpl_hashCode_finish.prototype = { call$1(hash) { @@ -16267,13 +16503,13 @@ hash ^= hash >>> 11; return hash + ((hash & 16383) << 15) & 536870911; }, - $signature: 21 + $signature: 20 }; A._symbolMapToStringMap_closure.prototype = { call$2(key, value) { - this.result.$indexSet(0, type$.Symbol._as(key)._name, value); + this.result.$indexSet(0, type$.Symbol._as(key).__internal$_name, value); }, - $signature: 22 + $signature: 21 }; A.NoSuchMethodError_toString_closure.prototype = { call$2(key, value) { @@ -16282,13 +16518,13 @@ t1 = this.sb; t2 = this._box_0; t3 = t1._contents += t2.comma; - t3 += key._name; + t3 += key.__internal$_name; t1._contents = t3; t1._contents = t3 + ": "; t1._contents += A.Error_safeToString(value); t2.comma = ", "; }, - $signature: 22 + $signature: 21 }; A.DateTime.prototype = { $eq(_, other) { @@ -16446,7 +16682,7 @@ _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb)); receiverText = A.Error_safeToString(_this._core$_receiver); actualParameters = sb.toString$0(0); - return "NoSuchMethodError: method not found: '" + _this._core$_memberName._name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; + return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; } }; A.UnsupportedError.prototype = { @@ -16713,13 +16949,13 @@ call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); }, - $signature: 64 + $signature: 65 }; A.Uri_parseIPv6Address_error.prototype = { call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); }, - $signature: 63 + $signature: 64 }; A.Uri_parseIPv6Address_parseHex.prototype = { call$2(start, end) { @@ -16731,7 +16967,7 @@ this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); return value; }, - $signature: 20 + $signature: 19 }; A._Uri.prototype = { get$_text() { @@ -16917,7 +17153,7 @@ call$1(s) { return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false); }, - $signature: 23 + $signature: 22 }; A.UriData.prototype = { get$uri() { @@ -16958,7 +17194,7 @@ B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition); return t1; }, - $signature: 62 + $signature: 63 }; A._createTables_setChars.prototype = { call$3(target, chars, transition) { @@ -16970,7 +17206,7 @@ target[t2] = transition; } }, - $signature: 24 + $signature: 23 }; A._createTables_setRange.prototype = { call$3(target, range, transition) { @@ -16989,7 +17225,7 @@ target[t1] = transition; } }, - $signature: 24 + $signature: 23 }; A._SimpleUri.prototype = { get$hasAuthority() { @@ -17239,6 +17475,9 @@ type$.Rectangle_num._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -17338,6 +17577,9 @@ A._asString(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -17378,6 +17620,9 @@ this.$ti._precomputed1._as(value); throw A.wrapException(A.UnsupportedError$("Cannot modify list")); }, + set$length(_, newLength) { + throw A.wrapException(A.UnsupportedError$("Cannot modify list")); + }, sort$1(_, compare) { this.$ti._eval$1("int(1,1)?")._as(compare); throw A.wrapException(A.UnsupportedError$("Cannot sort list")); @@ -17497,7 +17742,7 @@ call$1(e) { return type$.Element._is(type$.Node._as(e)); }, - $signature: 58 + $signature: 59 }; A.Event.prototype = {$isEvent: 1}; A.EventSource.prototype = {$isEventSource: 1}; @@ -17539,6 +17784,9 @@ type$.File._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -17597,6 +17845,9 @@ type$.Node._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -17646,7 +17897,7 @@ else t3.completeError$1(e); }, - $signature: 53 + $signature: 52 }; A.HttpRequestEventTarget.prototype = {}; A.ImageData.prototype = {$isImageData: 1}; @@ -17800,6 +18051,9 @@ type$.MimeType._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -17837,6 +18091,9 @@ t1.toString; return t1; }, + add$1(_, value) { + this._this.appendChild(type$.Node._as(value)).toString; + }, addAll$1(_, iterable) { var t1, t2, len, i, t3; type$.Iterable_Node._as(iterable); @@ -17871,9 +18128,15 @@ type$.nullable_int_Function_Node_Node._as(compare); throw A.wrapException(A.UnsupportedError$("Cannot sort Node list")); }, + fillRange$3(_, start, end, fill) { + throw A.wrapException(A.UnsupportedError$("Cannot fillRange on Node list")); + }, get$length(_) { return this._this.childNodes.length; }, + set$length(_, value) { + throw A.wrapException(A.UnsupportedError$("Cannot set length on immutable List.")); + }, $index(_, index) { var t1 = this._this.childNodes; if (!(index >= 0 && index < t1.length)) @@ -17921,6 +18184,9 @@ type$.Node._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -17966,6 +18232,9 @@ type$.Plugin._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18063,6 +18332,9 @@ type$.SourceBuffer._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18103,6 +18375,9 @@ type$.SpeechGrammar._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18169,7 +18444,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 15 + $signature: 12 }; A.StyleSheet.prototype = {$isStyleSheet: 1}; A.TableElement.prototype = { @@ -18255,6 +18530,9 @@ type$.TextTrackCue._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18294,6 +18572,9 @@ type$.TextTrack._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18341,6 +18622,9 @@ type$.Touch._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18421,6 +18705,9 @@ type$.CssRule._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18533,6 +18820,9 @@ type$.nullable_Gamepad._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { if (receiver.length > 0) return receiver[0]; @@ -18568,6 +18858,9 @@ type$.Node._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18607,6 +18900,9 @@ type$.SpeechRecognitionResult._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18646,6 +18942,9 @@ type$.StyleSheet._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1; if (receiver.length > 0) { @@ -18673,7 +18972,7 @@ forEach$1(_, f) { var t1, t2, t3, _i, t4, value; type$.void_Function_String_String._as(f); - for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._element, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { + for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._html$_element, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { t4 = A._asString(t1[_i]); value = t3.getAttribute(t4); f.call$2(t4, value == null ? A._asString(value) : value); @@ -18681,7 +18980,7 @@ }, get$keys(_) { var keys, len, t2, i, attr, t3, - t1 = this._element.attributes; + t1 = this._html$_element.attributes; t1.toString; keys = A._setArrayType([], type$.JSArray_String); for (len = t1.length, t2 = type$._Attr, i = 0; i < len; ++i) { @@ -18702,15 +19001,15 @@ }; A._ElementAttributeMap.prototype = { containsKey$1(_, key) { - var t1 = this._element.hasAttribute(key); + var t1 = this._html$_element.hasAttribute(key); t1.toString; return t1; }, $index(_, key) { - return this._element.getAttribute(A._asString(key)); + return this._html$_element.getAttribute(A._asString(key)); }, $indexSet(_, key, value) { - this._element.setAttribute(A._asString(key), A._asString(value)); + this._html$_element.setAttribute(A._asString(key), A._asString(value)); }, get$length(_) { return this.get$keys(this).length; @@ -18823,9 +19122,16 @@ get$iterator(receiver) { return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator")); }, + add$1(receiver, value) { + A.instanceType(receiver)._eval$1("ImmutableListMixin.E")._as(value); + throw A.wrapException(A.UnsupportedError$("Cannot add to immutable List.")); + }, sort$1(receiver, compare) { A.instanceType(receiver)._eval$1("int(ImmutableListMixin.E,ImmutableListMixin.E)?")._as(compare); throw A.wrapException(A.UnsupportedError$("Cannot sort immutable List.")); + }, + fillRange$3(receiver, start, end, fillValue) { + throw A.wrapException(A.UnsupportedError$("Cannot modify an immutable List.")); } }; A.NodeValidatorBuilder.prototype = { @@ -18841,13 +19147,13 @@ call$1(v) { return type$.NodeValidator._as(v).allowsElement$1(this.element); }, - $signature: 26 + $signature: 25 }; A.NodeValidatorBuilder_allowsAttribute_closure.prototype = { call$1(v) { return type$.NodeValidator._as(v).allowsAttribute$3(this.element, this.attributeName, this.value); }, - $signature: 26 + $signature: 25 }; A._SimpleNodeValidator.prototype = { _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes) { @@ -18894,13 +19200,13 @@ call$1(x) { return !B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x)); }, - $signature: 27 + $signature: 26 }; A._SimpleNodeValidator_closure0.prototype = { call$1(x) { return B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x)); }, - $signature: 27 + $signature: 26 }; A._TemplatingNodeValidator.prototype = { allowsAttribute$3(element, attributeName, value) { @@ -18917,7 +19223,7 @@ call$1(attr) { return "TEMPLATE::" + A._asString(attr); }, - $signature: 23 + $signature: 22 }; A._SvgNodeValidator.prototype = { allowsElement$1(element) { @@ -18985,7 +19291,7 @@ attrs = null, isAttr = null; try { attrs = J.get$attributes$x(element); - isAttr = attrs._element.getAttribute("is"); + isAttr = attrs._html$_element.getAttribute("is"); type$.Element._as(element); t1 = function(element) { if (!(element.attributes instanceof NamedNodeMap)) @@ -19076,7 +19382,7 @@ } t1 = attrs.get$keys(attrs); keys = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1)); - for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element, t2 = "Removing disallowed attribute <" + tag + " "; i >= 0; --i) { + for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._html$_element, t2 = "Removing disallowed attribute <" + tag + " "; i >= 0; --i) { if (!(i < keys.length)) return A.ioore(keys, i); $name = keys[i]; @@ -19551,6 +19857,12 @@ return len; throw A.wrapException(A.StateError$("Bad JsArray length")); }, + set$length(_, $length) { + this.super$_JsArray_JsObject_ListMixin$$indexSet(0, "length", $length); + }, + add$1(_, value) { + this.callMethod$2("push", [this.$ti._precomputed1._as(value)]); + }, sort$1(_, compare) { this.$ti._eval$1("int(1,1)?")._as(compare); this.callMethod$2("sort", compare == null ? [] : [compare]); @@ -19680,6 +19992,9 @@ type$.Length._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1 = receiver.length; t1.toString; @@ -19719,6 +20034,9 @@ type$.Number._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1 = receiver.length; t1.toString; @@ -19763,6 +20081,9 @@ A._asString(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1 = receiver.length; t1.toString; @@ -19824,6 +20145,9 @@ type$.Transform._as(value); throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List.")); }, + set$length(receiver, value) { + throw A.wrapException(A.UnsupportedError$("Cannot resize immutable List.")); + }, get$first(receiver) { var t1 = receiver.length; t1.toString; @@ -20669,7 +20993,7 @@ var t2, t3, _this = this, t1 = _this._set$_hashCode; if (t1 == null) { - t1 = _this._set$_set; + t1 = _this._set; t2 = A._instanceType(t1); t3 = t2._eval$1("EfficientLengthMappedIterable<1,int>"); t3 = A.List_List$of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), false, t3._eval$1("Iterable.E")); @@ -20687,25 +21011,25 @@ return true; if (!(other instanceof A._BuiltSet)) return false; - t1 = _this._set$_set; - if (other._set$_set._collection$_length !== t1._collection$_length) + t1 = _this._set; + if (other._set._collection$_length !== t1._collection$_length) return false; if (other.get$hashCode(other) !== _this.get$hashCode(_this)) return false; return t1.containsAll$1(other); }, toString$0(_) { - return A.Iterable_iterableToFullString(this._set$_set, "{", "}"); + return A.Iterable_iterableToFullString(this._set, "{", "}"); }, get$length(_) { - return this._set$_set._collection$_length; + return this._set._collection$_length; }, get$iterator(_) { - var t1 = this._set$_set; + var t1 = this._set; return A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1); }, map$1$1(_, f, $T) { - var t1 = this._set$_set, + var t1 = this._set, t2 = A._instanceType(t1); return new A.EfficientLengthMappedIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); }, @@ -20713,24 +21037,24 @@ return this.map$1$1($receiver, f, type$.dynamic); }, contains$1(_, element) { - return this._set$_set.contains$1(0, element); + return this._set.contains$1(0, element); }, get$isEmpty(_) { - return this._set$_set._collection$_length === 0; + return this._set._collection$_length === 0; }, get$isNotEmpty(_) { - return this._set$_set._collection$_length !== 0; + return this._set._collection$_length !== 0; }, skip$1(_, n) { - var t1 = this._set$_set; + var t1 = this._set; return A.SkipIterable_SkipIterable(t1, n, A._instanceType(t1)._precomputed1); }, get$first(_) { - var t1 = this._set$_set; + var t1 = this._set; return t1.get$first(t1); }, elementAt$1(_, index) { - return this._set$_set.elementAt$1(0, index); + return this._set.elementAt$1(0, index); }, $isIterable: 1 }; @@ -20747,7 +21071,7 @@ var t1, t2, element; if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null))) return; - for (t1 = this._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + for (t1 = this._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { element = t1._collection$_current; if ((element == null ? t2._as(element) : element) == null) throw A.wrapException(A.ArgumentError$("iterable contained invalid element: null", null)); @@ -20927,7 +21251,7 @@ t2.set$_setOwner(new A._BuiltSet(t3, t4, A._instanceType(t2)._eval$1("_BuiltSet<1>"))); } builtSet = t2._setOwner; - t2 = builtSet._set$_set._collection$_length; + t2 = builtSet._set._collection$_length; t3 = _this.__SetMultimapBuilder__builtMap_A; if (t2 === 0) { t3 === $ && A.throwLateFieldNI(_s9_); @@ -20966,7 +21290,7 @@ else { t1 = builtValues.$ti; t1._eval$1("_BuiltSet<1>")._as(builtValues); - result = new A.SetBuilder(builtValues._setFactory, builtValues._set$_set, builtValues, t1._eval$1("SetBuilder<1>")); + result = new A.SetBuilder(builtValues._setFactory, builtValues._set, builtValues, t1._eval$1("SetBuilder<1>")); } _this.__SetMultimapBuilder__builderMap_A.$indexSet(0, key, result); } @@ -21214,7 +21538,7 @@ call$0() { return A.SetBuilder_SetBuilder(type$.Object); }, - $signature: 99 + $signature: 49 }; A.Serializers_Serializers_closure3.prototype = { call$0() { @@ -21642,7 +21966,7 @@ call$1(value) { return this.serializers.deserialize$2$specifiedType(value, this.valueType); }, - $signature: 34 + $signature: 32 }; A.BuiltListSerializer.prototype = { serialize$3$specifiedType(serializers, builtList, specifiedType) { @@ -21825,7 +22149,7 @@ result.push(serializers.serialize$2$specifiedType(key, keyType)); result0 = t2.$index(0, key); t4 = result0 == null ? t3 : result0; - t5 = t4._set$_set; + t5 = t4._set; t6 = A._instanceType(t5); t7 = t6._eval$1("EfficientLengthMappedIterable<1,Object?>"); result.push(A.List_List$of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("Iterable.E"))); @@ -21930,7 +22254,7 @@ return A.ioore(t1, 0); elementType = t1[0]; } - t1 = builtSet._set$_set; + t1 = builtSet._set; t2 = A._instanceType(t1); return new A.EfficientLengthMappedIterable(t1, t2._eval$1("Object?(1)")._as(builtSet.$ti._eval$1("Object?(1)")._as(new A.BuiltSetSerializer_serialize_closure(serializers, elementType))), t2._eval$1("EfficientLengthMappedIterable<1,Object?>")); }, @@ -22495,6 +22819,9 @@ $isEquality: 1 }; A.QueueList.prototype = { + add$1(_, element) { + this._queue_list$_add$1(0, A._instanceType(this)._eval$1("QueueList.E")._as(element)); + }, cast$1$0(_, $T) { return new A._CastQueueList(this, J.cast$1$0$ax(this._queue_list$_table, $T), -1, -1, A._instanceType(this)._eval$1("@")._bind$1($T)._eval$1("_CastQueueList<1,2>")); }, @@ -22505,6 +22832,32 @@ var _this = this; return (_this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this) & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0; }, + set$length(_, value) { + var delta, newTail, t1, t2, _this = this; + if (value < 0) + throw A.wrapException(A.RangeError$("Length " + value + " may not be negative.")); + if (value > _this.get$length(_this) && !A._instanceType(_this)._eval$1("QueueList.E")._is(null)) + throw A.wrapException(A.UnsupportedError$("The length can only be increased when the element type is nullable, but the current element type is `" + A.createRuntimeType(A._instanceType(_this)._eval$1("QueueList.E")).toString$0(0) + "`.")); + delta = value - _this.get$length(_this); + if (delta >= 0) { + if (J.get$length$asx(_this._queue_list$_table) <= value) + _this._preGrow$1(value); + _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + delta & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0); + return; + } + newTail = _this.get$_queue_list$_tail() + delta; + t1 = _this._queue_list$_table; + if (newTail >= 0) + J.fillRange$3$ax(t1, newTail, _this.get$_queue_list$_tail(), null); + else { + newTail += J.get$length$asx(t1); + J.fillRange$3$ax(_this._queue_list$_table, 0, _this.get$_queue_list$_tail(), null); + t1 = _this._queue_list$_table; + t2 = J.getInterceptor$asx(t1); + t2.fillRange$3(t1, newTail, t2.get$length(t1), null); + } + _this.set$_queue_list$_tail(newTail); + }, $index(_, index) { var t1, _this = this; if (index < 0 || index >= _this.get$length(_this)) @@ -22535,6 +22888,27 @@ _this.set$_queue_list$_table(newTable); } }, + _writeToList$1(target) { + var $length, firstPartSize, _this = this; + A._instanceType(_this)._eval$1("List")._as(target); + if (_this.get$_queue_list$_head(_this) <= _this.get$_queue_list$_tail()) { + $length = _this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this); + B.JSArray_methods.setRange$4(target, 0, $length, _this._queue_list$_table, _this.get$_queue_list$_head(_this)); + return $length; + } else { + firstPartSize = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head(_this); + B.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._queue_list$_table, _this.get$_queue_list$_head(_this)); + B.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this.get$_queue_list$_tail(), _this._queue_list$_table, 0); + return _this.get$_queue_list$_tail() + firstPartSize; + } + }, + _preGrow$1(newElementCount) { + var _this = this, + newTable = A.List_List$filled(A.QueueList__nextPowerOf2(newElementCount + B.JSInt_methods._shrOtherPositive$1(newElementCount, 1)), null, false, A._instanceType(_this)._eval$1("QueueList.E?")); + _this.set$_queue_list$_tail(_this._writeToList$1(newTable)); + _this.set$_queue_list$_table(newTable); + _this.set$_queue_list$_head(0, 0); + }, set$_queue_list$_table(_table) { this._queue_list$_table = A._instanceType(this)._eval$1("List")._as(_table); }, @@ -22681,43 +23055,69 @@ A._$ConnectRequestSerializer.prototype = { serialize$3$specifiedType(serializers, object, specifiedType) { type$.ConnectRequest._as(object); - return ["appId", serializers.serialize$2$specifiedType(object.appId, B.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, B.FullType_h8g), "entrypointPath", serializers.serialize$2$specifiedType(object.entrypointPath, B.FullType_h8g)]; + return ["appName", serializers.serialize$2$specifiedType(object.appName, B.FullType_h8g), "appId", serializers.serialize$2$specifiedType(object.appId, B.FullType_h8g), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, B.FullType_h8g), "entrypoints", serializers.serialize$2$specifiedType(object.entrypoints, B.FullType_hkZ)]; }, serialize$2(serializers, object) { return this.serialize$3$specifiedType(serializers, object, B.FullType_null_List_empty_false); }, deserialize$3$specifiedType(serializers, serialized, specifiedType) { - var t1, value, + var t1, t2, t3, t4, t5, value, t6, t7, t8, t9, result = new A.ConnectRequestBuilder(), iterator = J.get$iterator$ax(type$.Iterable_nullable_Object._as(serialized)); - for (; iterator.moveNext$0();) { - t1 = iterator.get$current(iterator); - t1.toString; - A._asString(t1); + for (t1 = type$.BuiltList_nullable_Object, t2 = type$.String, t3 = type$.List_String, t4 = type$.ListBuilder_String; iterator.moveNext$0();) { + t5 = iterator.get$current(iterator); + t5.toString; + A._asString(t5); iterator.moveNext$0(); value = iterator.get$current(iterator); - switch (t1) { + switch (t5) { + case "appName": + t5 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); + t5.toString; + A._asString(t5); + result.get$_connect_request$_$this()._appName = t5; + break; case "appId": - t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); - t1.toString; - A._asString(t1); - result.get$_connect_request$_$this()._appId = t1; + t5 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); + t5.toString; + A._asString(t5); + result.get$_connect_request$_$this()._connect_request$_appId = t5; break; case "instanceId": - t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); - t1.toString; - A._asString(t1); - result.get$_connect_request$_$this()._instanceId = t1; + t5 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); + t5.toString; + A._asString(t5); + result.get$_connect_request$_$this()._instanceId = t5; break; - case "entrypointPath": - t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); - t1.toString; - A._asString(t1); - result.get$_connect_request$_$this()._entrypointPath = t1; + case "entrypoints": + t5 = result.get$_connect_request$_$this(); + t6 = t5._entrypoints; + if (t6 == null) { + t6 = new A.ListBuilder(t4); + t6.set$__ListBuilder__list_A(t3._as(A.List_List$from(B.List_empty, true, t2))); + t6.set$_listOwner(null); + t5.set$_entrypoints(t6); + t5 = t6; + } else + t5 = t6; + t6 = serializers.deserialize$2$specifiedType(value, B.FullType_hkZ); + t6.toString; + t1._as(t6); + t7 = t5.$ti; + t8 = t7._eval$1("_BuiltList<1>"); + t9 = t7._eval$1("List<1>"); + if (t8._is(t6)) { + t8._as(t6); + t5.set$__ListBuilder__list_A(t9._as(t6._list)); + t5.set$_listOwner(t6); + } else { + t5.set$__ListBuilder__list_A(t9._as(A.List_List$from(t6, true, t7._precomputed1))); + t5.set$_listOwner(null); + } break; } } - return result._build$0(); + return result._connect_request$_build$0(); }, deserialize$2(serializers, serialized) { return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false); @@ -22738,50 +23138,90 @@ return false; if (other === _this) return true; - return other instanceof A._$ConnectRequest && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.entrypointPath === other.entrypointPath; + return other instanceof A._$ConnectRequest && _this.appName === other.appName && _this.appId === other.appId && _this.instanceId === other.instanceId && _this.entrypoints.$eq(0, other.entrypoints); }, get$hashCode(_) { - return A.$jf(A.$jc(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(this.appId)), B.JSString_methods.get$hashCode(this.instanceId)), B.JSString_methods.get$hashCode(this.entrypointPath))); + var _this = this, + t1 = _this.entrypoints; + return A.$jf(A.$jc(A.$jc(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(_this.appName)), B.JSString_methods.get$hashCode(_this.appId)), B.JSString_methods.get$hashCode(_this.instanceId)), t1.get$hashCode(t1))); }, toString$0(_) { - var t1 = $.$get$newBuiltValueToStringHelper().call$1("ConnectRequest"), + var _this = this, + t1 = $.$get$newBuiltValueToStringHelper().call$1("ConnectRequest"), t2 = J.getInterceptor$ax(t1); - t2.add$2(t1, "appId", this.appId); - t2.add$2(t1, "instanceId", this.instanceId); - t2.add$2(t1, "entrypointPath", this.entrypointPath); + t2.add$2(t1, "appName", _this.appName); + t2.add$2(t1, "appId", _this.appId); + t2.add$2(t1, "instanceId", _this.instanceId); + t2.add$2(t1, "entrypoints", _this.entrypoints); return t2.toString$0(t1); } }; A.ConnectRequestBuilder.prototype = { + get$entrypoints(_) { + var t1 = this.get$_connect_request$_$this(), + t2 = t1._entrypoints; + if (t2 == null) { + t2 = A.ListBuilder_ListBuilder(B.List_empty, type$.String); + t1.set$_entrypoints(t2); + t1 = t2; + } else + t1 = t2; + return t1; + }, get$_connect_request$_$this() { - var _this = this, - $$v = _this._$v; + var t1, _this = this, + $$v = _this._connect_request$_$v; if ($$v != null) { - _this._appId = $$v.appId; + _this._appName = $$v.appName; + _this._connect_request$_appId = $$v.appId; _this._instanceId = $$v.instanceId; - _this._entrypointPath = $$v.entrypointPath; - _this._$v = null; + t1 = $$v.entrypoints; + _this.set$_entrypoints(A.ListBuilder_ListBuilder(t1, t1.$ti._precomputed1)); + _this._connect_request$_$v = null; } return _this; }, - _build$0() { - var t1, t2, t3, t4, _this = this, + _connect_request$_build$0() { + var _$failedField, e, _$result0, t1, t2, t3, t4, t5, exception, _this = this, _s14_ = "ConnectRequest", _s10_ = "instanceId", - _s14_0 = "entrypointPath", - _$result = _this._$v; - if (_$result == null) { - t1 = type$.String; - t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._appId, _s14_, "appId", t1); - t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._instanceId, _s14_, _s10_, t1); - t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._entrypointPath, _s14_, _s14_0, t1); - _$result = new A._$ConnectRequest(t2, t3, t4); - A.BuiltValueNullFieldError_checkNotNull(t2, _s14_, "appId", t1); - A.BuiltValueNullFieldError_checkNotNull(t3, _s14_, _s10_, t1); - A.BuiltValueNullFieldError_checkNotNull(t4, _s14_, _s14_0, t1); - } - A.ArgumentError_checkNotNull(_$result, "other", type$.ConnectRequest); - return _this._$v = _$result; + _s11_ = "entrypoints", + _$result = null; + try { + _$result0 = _this._connect_request$_$v; + if (_$result0 == null) { + t1 = type$.String; + t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._appName, _s14_, "appName", t1); + t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._connect_request$_appId, _s14_, "appId", t1); + t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_connect_request$_$this()._instanceId, _s14_, _s10_, t1); + t5 = _this.get$entrypoints(_this).build$0(); + _$result0 = new A._$ConnectRequest(t2, t3, t4, t5); + A.BuiltValueNullFieldError_checkNotNull(t2, _s14_, "appName", t1); + A.BuiltValueNullFieldError_checkNotNull(t3, _s14_, "appId", t1); + A.BuiltValueNullFieldError_checkNotNull(t4, _s14_, _s10_, t1); + A.BuiltValueNullFieldError_checkNotNull(t5, _s14_, _s11_, type$.BuiltList_String); + } + _$result = _$result0; + } catch (exception) { + _$failedField = A._Cell$named("_$failedField"); + try { + _$failedField.__late_helper$_value = _s11_; + _this.get$entrypoints(_this).build$0(); + } catch (exception) { + e = A.unwrapException(exception); + t1 = A.BuiltValueNestedFieldError$(_s14_, _$failedField.readLocal$0(), J.toString$0$(e)); + throw A.wrapException(t1); + } + throw exception; + } + t1 = type$.ConnectRequest; + t2 = t1._as(_$result); + A.ArgumentError_checkNotNull(t2, "other", t1); + _this._connect_request$_$v = t2; + return _$result; + }, + set$_entrypoints(_entrypoints) { + this._entrypoints = type$.nullable_ListBuilder_String._as(_entrypoints); } }; A.DebugEvent.prototype = {}; @@ -22815,13 +23255,13 @@ t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); t1.toString; A._asString(t1); - result.get$_debug_event$_$this()._eventData = t1; + result.get$_debug_event$_$this()._debug_event$_eventData = t1; break; case "timestamp": t1 = serializers.deserialize$2$specifiedType(value, B.FullType_kjq); t1.toString; A._asInt(t1); - result.get$_debug_event$_$this()._timestamp = t1; + result.get$_debug_event$_$this()._debug_event$_timestamp = t1; break; } } @@ -22941,8 +23381,8 @@ $$v = _this._debug_event$_$v; if ($$v != null) { _this._debug_event$_kind = $$v.kind; - _this._eventData = $$v.eventData; - _this._timestamp = $$v.timestamp; + _this._debug_event$_eventData = $$v.eventData; + _this._debug_event$_timestamp = $$v.timestamp; _this._debug_event$_$v = null; } return _this; @@ -22956,9 +23396,9 @@ if (_$result == null) { t1 = type$.String; t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._debug_event$_kind, _s10_, "kind", t1); - t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._eventData, _s10_, _s9_, t1); + t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._debug_event$_eventData, _s10_, _s9_, t1); t4 = type$.int; - t5 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._timestamp, _s10_, _s9_0, t4); + t5 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_debug_event$_$this()._debug_event$_timestamp, _s10_, _s9_0, t4); _$result = new A._$DebugEvent(t2, t3, t5); A.BuiltValueNullFieldError_checkNotNull(t2, _s10_, "kind", t1); A.BuiltValueNullFieldError_checkNotNull(t3, _s10_, _s9_, t1); @@ -23132,55 +23572,55 @@ switch (t1) { case "appEntrypointPath": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._appEntrypointPath = t1; + result.get$_debug_info$_$this()._appEntrypointPath = t1; break; case "appId": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._debug_info$_appId = t1; + result.get$_debug_info$_$this()._appId = t1; break; case "appInstanceId": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._appInstanceId = t1; + result.get$_debug_info$_$this()._appInstanceId = t1; break; case "appOrigin": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._appOrigin = t1; + result.get$_debug_info$_$this()._appOrigin = t1; break; case "appUrl": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._appUrl = t1; + result.get$_debug_info$_$this()._appUrl = t1; break; case "authUrl": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._authUrl = t1; + result.get$_debug_info$_$this()._authUrl = t1; break; case "dwdsVersion": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._dwdsVersion = t1; + result.get$_debug_info$_$this()._dwdsVersion = t1; break; case "extensionUrl": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._extensionUrl = t1; + result.get$_debug_info$_$this()._extensionUrl = t1; break; case "isInternalBuild": t1 = A._asBoolQ(serializers.deserialize$2$specifiedType(value, B.FullType_MtR)); - result.get$_$this()._isInternalBuild = t1; + result.get$_debug_info$_$this()._isInternalBuild = t1; break; case "isFlutterApp": t1 = A._asBoolQ(serializers.deserialize$2$specifiedType(value, B.FullType_MtR)); - result.get$_$this()._isFlutterApp = t1; + result.get$_debug_info$_$this()._isFlutterApp = t1; break; case "workspaceName": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._workspaceName = t1; + result.get$_debug_info$_$this()._workspaceName = t1; break; case "tabUrl": t1 = A._asStringQ(serializers.deserialize$2$specifiedType(value, B.FullType_h8g)); - result.get$_$this()._tabUrl = t1; + result.get$_debug_info$_$this()._tabUrl = t1; break; case "tabId": t1 = A._asIntQ(serializers.deserialize$2$specifiedType(value, B.FullType_kjq)); - result.get$_$this()._tabId = t1; + result.get$_debug_info$_$this()._tabId = t1; break; } } @@ -23232,12 +23672,12 @@ } }; A.DebugInfoBuilder.prototype = { - get$_$this() { + get$_debug_info$_$this() { var _this = this, $$v = _this._debug_info$_$v; if ($$v != null) { _this._appEntrypointPath = $$v.appEntrypointPath; - _this._debug_info$_appId = $$v.appId; + _this._appId = $$v.appId; _this._appInstanceId = $$v.appInstanceId; _this._appOrigin = $$v.appOrigin; _this._appUrl = $$v.appUrl; @@ -23257,7 +23697,7 @@ var _this = this, _$result = _this._debug_info$_$v; if (_$result == null) - _$result = new A._$DebugInfo(_this.get$_$this()._appEntrypointPath, _this.get$_$this()._debug_info$_appId, _this.get$_$this()._appInstanceId, _this.get$_$this()._appOrigin, _this.get$_$this()._appUrl, _this.get$_$this()._authUrl, _this.get$_$this()._dwdsVersion, _this.get$_$this()._extensionUrl, _this.get$_$this()._isInternalBuild, _this.get$_$this()._isFlutterApp, _this.get$_$this()._workspaceName, _this.get$_$this()._tabUrl, _this.get$_$this()._tabId); + _$result = new A._$DebugInfo(_this.get$_debug_info$_$this()._appEntrypointPath, _this.get$_debug_info$_$this()._appId, _this.get$_debug_info$_$this()._appInstanceId, _this.get$_debug_info$_$this()._appOrigin, _this.get$_debug_info$_$this()._appUrl, _this.get$_debug_info$_$this()._authUrl, _this.get$_debug_info$_$this()._dwdsVersion, _this.get$_debug_info$_$this()._extensionUrl, _this.get$_debug_info$_$this()._isInternalBuild, _this.get$_debug_info$_$this()._isFlutterApp, _this.get$_debug_info$_$this()._workspaceName, _this.get$_debug_info$_$this()._tabUrl, _this.get$_debug_info$_$this()._tabId); A.ArgumentError_checkNotNull(_$result, "other", type$.DebugInfo); return _this._debug_info$_$v = _$result; } @@ -24171,6 +24611,113 @@ return this._isolate_events$_$v = _$result; } }; + A.RegisterEntrypointRequest.prototype = {}; + A._$RegisterEntrypointRequestSerializer.prototype = { + serialize$3$specifiedType(serializers, object, specifiedType) { + type$.RegisterEntrypointRequest._as(object); + return ["appName", serializers.serialize$2$specifiedType(object.appName, B.FullType_h8g), "entrypointPath", serializers.serialize$2$specifiedType(object.entrypointPath, B.FullType_h8g)]; + }, + serialize$2(serializers, object) { + return this.serialize$3$specifiedType(serializers, object, B.FullType_null_List_empty_false); + }, + deserialize$3$specifiedType(serializers, serialized, specifiedType) { + var t1, value, $$v, + result = new A.RegisterEntrypointRequestBuilder(), + iterator = J.get$iterator$ax(type$.Iterable_nullable_Object._as(serialized)); + for (; iterator.moveNext$0();) { + t1 = iterator.get$current(iterator); + t1.toString; + A._asString(t1); + iterator.moveNext$0(); + value = iterator.get$current(iterator); + switch (t1) { + case "appName": + t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); + t1.toString; + A._asString(t1); + $$v = result._register_entrypoint_request$_$v; + if ($$v != null) { + result._register_entrypoint_request$_appName = $$v.appName; + result._entrypointPath = $$v.entrypointPath; + result._register_entrypoint_request$_$v = null; + } + result._register_entrypoint_request$_appName = t1; + break; + case "entrypointPath": + t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); + t1.toString; + A._asString(t1); + $$v = result._register_entrypoint_request$_$v; + if ($$v != null) { + result._register_entrypoint_request$_appName = $$v.appName; + result._entrypointPath = $$v.entrypointPath; + result._register_entrypoint_request$_$v = null; + } + result._entrypointPath = t1; + break; + } + } + return result._register_entrypoint_request$_build$0(); + }, + deserialize$2(serializers, serialized) { + return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false); + }, + $isSerializer: 1, + $isStructuredSerializer: 1, + get$types() { + return B.List_ExN; + }, + get$wireName() { + return "RegisterEntrypointRequest"; + } + }; + A._$RegisterEntrypointRequest.prototype = { + $eq(_, other) { + if (other == null) + return false; + if (other === this) + return true; + return other instanceof A._$RegisterEntrypointRequest && this.appName === other.appName && this.entrypointPath === other.entrypointPath; + }, + get$hashCode(_) { + return A.$jf(A.$jc(A.$jc(0, B.JSString_methods.get$hashCode(this.appName)), B.JSString_methods.get$hashCode(this.entrypointPath))); + }, + toString$0(_) { + var t1 = $.$get$newBuiltValueToStringHelper().call$1("RegisterEntrypointRequest"), + t2 = J.getInterceptor$ax(t1); + t2.add$2(t1, "appName", this.appName); + t2.add$2(t1, "entrypointPath", this.entrypointPath); + return t2.toString$0(t1); + } + }; + A.RegisterEntrypointRequestBuilder.prototype = { + get$_register_entrypoint_request$_$this() { + var _this = this, + $$v = _this._register_entrypoint_request$_$v; + if ($$v != null) { + _this._register_entrypoint_request$_appName = $$v.appName; + _this._entrypointPath = $$v.entrypointPath; + _this._register_entrypoint_request$_$v = null; + } + return _this; + }, + _register_entrypoint_request$_build$0() { + var t1, t2, t3, _this = this, + _s25_ = "RegisterEntrypointRequest", + _s14_ = "entrypointPath", + _$result = _this._register_entrypoint_request$_$v; + if (_$result == null) { + t1 = type$.String; + t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_entrypoint_request$_$this()._register_entrypoint_request$_appName, _s25_, "appName", t1); + t3 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_entrypoint_request$_$this()._entrypointPath, _s25_, _s14_, t1); + _$result = new A._$RegisterEntrypointRequest(t2, t3); + A.BuiltValueNullFieldError_checkNotNull(t2, _s25_, "appName", t1); + A.BuiltValueNullFieldError_checkNotNull(t3, _s25_, _s14_, t1); + } + A.ArgumentError_checkNotNull(_$result, "other", type$.RegisterEntrypointRequest); + return _this._register_entrypoint_request$_$v = _$result; + } + }; A.RegisterEvent.prototype = {}; A._$RegisterEventSerializer.prototype = { serialize$3$specifiedType(serializers, object, specifiedType) { @@ -24195,29 +24742,29 @@ t1 = serializers.deserialize$2$specifiedType(value, B.FullType_h8g); t1.toString; A._asString(t1); - $$v = result._register_event$_$v; + $$v = result._$v; if ($$v != null) { - result._register_event$_eventData = $$v.eventData; - result._register_event$_timestamp = $$v.timestamp; - result._register_event$_$v = null; + result._eventData = $$v.eventData; + result._timestamp = $$v.timestamp; + result._$v = null; } - result._register_event$_eventData = t1; + result._eventData = t1; break; case "timestamp": t1 = serializers.deserialize$2$specifiedType(value, B.FullType_kjq); t1.toString; A._asInt(t1); - $$v = result._register_event$_$v; + $$v = result._$v; if ($$v != null) { - result._register_event$_eventData = $$v.eventData; - result._register_event$_timestamp = $$v.timestamp; - result._register_event$_$v = null; + result._eventData = $$v.eventData; + result._timestamp = $$v.timestamp; + result._$v = null; } - result._register_event$_timestamp = t1; + result._timestamp = t1; break; } } - return result._register_event$_build$0(); + return result._build$0(); }, deserialize$2(serializers, serialized) { return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false); @@ -24251,33 +24798,33 @@ } }; A.RegisterEventBuilder.prototype = { - get$_register_event$_$this() { + get$_$this() { var _this = this, - $$v = _this._register_event$_$v; + $$v = _this._$v; if ($$v != null) { - _this._register_event$_eventData = $$v.eventData; - _this._register_event$_timestamp = $$v.timestamp; - _this._register_event$_$v = null; + _this._eventData = $$v.eventData; + _this._timestamp = $$v.timestamp; + _this._$v = null; } return _this; }, - _register_event$_build$0() { + _build$0() { var t1, t2, t3, t4, _this = this, _s13_ = "RegisterEvent", _s9_ = "eventData", _s9_0 = "timestamp", - _$result = _this._register_event$_$v; + _$result = _this._$v; if (_$result == null) { t1 = type$.String; - t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_event$_$this()._register_event$_eventData, _s13_, _s9_, t1); + t2 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_$this()._eventData, _s13_, _s9_, t1); t3 = type$.int; - t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_register_event$_$this()._register_event$_timestamp, _s13_, _s9_0, t3); + t4 = A.BuiltValueNullFieldError_checkNotNull(_this.get$_$this()._timestamp, _s13_, _s9_0, t3); _$result = new A._$RegisterEvent(t2, t4); A.BuiltValueNullFieldError_checkNotNull(t2, _s13_, _s9_, t1); A.BuiltValueNullFieldError_checkNotNull(t4, _s13_, _s9_0, t3); } A.ArgumentError_checkNotNull(_$result, "other", type$.RegisterEvent); - return _this._register_event$_$v = _$result; + return _this._$v = _$result; } }; A.RunRequest.prototype = {}; @@ -24335,6 +24882,12 @@ }, $signature: 57 }; + A._$serializers_closure1.prototype = { + call$0() { + return A.ListBuilder_ListBuilder(B.List_empty, type$.String); + }, + $signature: 58 + }; A.BatchedStreamController.prototype = { _batchAndSendEvents$0() { var $async$goto = 0, @@ -24468,7 +25021,7 @@ t1 = this._channel, value = t1.__HtmlWebSocketChannel_sink_FI; if (value === $) { - t2 = t1._html0$_controller.__StreamChannelController__foreign_F; + t2 = t1._controller.__StreamChannelController__foreign_F; t2 === $ && A.throwLateFieldNI("_foreign"); t2 = t2.__GuaranteeChannel__sink_F; t2 === $ && A.throwLateFieldNI("_sink"); @@ -24479,7 +25032,7 @@ }, get$stream(_) { var t2, - t1 = this._channel._html0$_controller.__StreamChannelController__foreign_F; + t1 = this._channel._controller.__StreamChannelController__foreign_F; t1 === $ && A.throwLateFieldNI("_foreign"); t1 = t1.__GuaranteeChannel__streamController_F; t1 === $ && A.throwLateFieldNI("_streamController"); @@ -24491,14 +25044,14 @@ call$1(o) { return J.toString$0$(o); }, - $signature: 59 + $signature: 60 }; A.safeUnawaited_closure.prototype = { call$2(error, stackTrace) { type$.StackTrace._as(stackTrace); return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace); }, - $signature: 17 + $signature: 16 }; A.Int64.prototype = { $eq(_, other) { @@ -24677,7 +25230,7 @@ $parent._children.$indexSet(0, thisName, t1); return t1; }, - $signature: 60 + $signature: 61 }; A.Pool.prototype = { request$0(_) { @@ -24993,14 +25546,14 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 25 + $signature: 24 }; A._FetchOptions.prototype = {}; A.generateUuidV4__generateBits.prototype = { call$1(bitCount) { return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount)); }, - $signature: 21 + $signature: 20 }; A.generateUuidV4__printDigits.prototype = { call$2(value, count) { @@ -25320,7 +25873,7 @@ t2.get$first(t2).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3); }, _listen$0() { - var t1 = this._html0$_controller.__StreamChannelController__local_F; + var t1 = this._controller.__StreamChannelController__local_F; t1 === $ && A.throwLateFieldNI("_local"); t1 = t1.__GuaranteeChannel__streamController_F; t1 === $ && A.throwLateFieldNI("_streamController"); @@ -25338,7 +25891,7 @@ t2.complete$0(0); t1._listen$0(); }, - $signature: 36 + $signature: 27 }; A.HtmlWebSocketChannel_closure0.prototype = { call$1(_) { @@ -25349,7 +25902,7 @@ t2 = t1.__HtmlWebSocketChannel__readyCompleter_A; t2 === $ && A.throwLateFieldNI("_readyCompleter"); t2.completeError$1(error); - t1 = t1._html0$_controller.__StreamChannelController__local_F; + t1 = t1._controller.__StreamChannelController__local_F; t1 === $ && A.throwLateFieldNI("_local"); t2 = t1.__GuaranteeChannel__sink_F; t2 === $ && A.throwLateFieldNI("_sink"); @@ -25358,7 +25911,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 36 + $signature: 27 }; A.HtmlWebSocketChannel_closure1.prototype = { call$1($event) { @@ -25366,13 +25919,13 @@ data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true); if (type$.ByteBuffer._is(data)) data = A.NativeUint8List_NativeUint8List$view(data, 0, null); - t1 = this.$this._html0$_controller.__StreamChannelController__local_F; + t1 = this.$this._controller.__StreamChannelController__local_F; t1 === $ && A.throwLateFieldNI("_local"); t1 = t1.__GuaranteeChannel__sink_F; t1 === $ && A.throwLateFieldNI("_sink"); t1.add$1(0, data); }, - $signature: 35 + $signature: 36 }; A.HtmlWebSocketChannel_closure2.prototype = { call$1($event) { @@ -25380,13 +25933,13 @@ type$.CloseEvent._as($event); $event.code; $event.reason; - t1 = this.$this._html0$_controller.__StreamChannelController__local_F; + t1 = this.$this._controller.__StreamChannelController__local_F; t1 === $ && A.throwLateFieldNI("_local"); t1 = t1.__GuaranteeChannel__sink_F; t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 83 + $signature: 66 }; A.HtmlWebSocketChannel__listen_closure.prototype = { call$0() { @@ -25404,8 +25957,7 @@ A.main_closure.prototype = { call$0() { var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.void), - uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, debugEventController, t5; + $async$completer = A._makeAsyncAwaitCompleter(type$.void); var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -25413,161 +25965,63 @@ switch ($async$goto) { case 0: // Function start - if (self.$dartAppInstanceId == null) - self.$dartAppInstanceId = B.C_Uuid.v1$0(); - uri = A.Uri_parse(self.$dwdsDevHandlerPath); - t1 = type$.Location; - t2 = t1._as(window.location).protocol; - t2.toString; - if (t2 === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost") - uri = uri.replace$1$scheme(0, "https"); - else { - t1 = t1._as(window.location).protocol; - t1.toString; - if (t1 === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost") - uri = uri.replace$1$scheme(0, "wss"); - } - fixedPath = uri.toString$0(0); - fixedUri = A.Uri_parse(fixedPath); - client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient")); - $async$goto = J.$eq$(self.$dartModuleStrategy, "require-js") ? 2 : 4; - break; + $async$goto = 2; + return A._asyncAwait(A.runClient(), $async$call$0); case 2: - // then - $async$goto = 5; - return A._asyncAwait(A.RequireRestarter_create(), $async$call$0); - case 5: // returning from await. - restarter = $async$result; - // goto join - $async$goto = 3; - break; - case 4: - // else - if (J.$eq$(self.$dartModuleStrategy, "legacy")) - restarter = new A.LegacyRestarter(); - else - throw A.wrapException(A.StateError$("Unknown module strategy: " + A.S(self.$dartModuleStrategy))); - case 3: - // join - manager = new A.ReloadingManager(client, restarter); - self.$dartHotRestartDwds = A.allowInterop(new A.main__closure(manager), type$.Promise_bool_Function_String); - t1 = $.Zone__current; - t2 = Math.max(100, 1); - t3 = A.StreamController_StreamController(null, null, false, type$.DebugEvent); - t4 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent); - debugEventController = new A.BatchedStreamController(t2, 1000, t3, t4, new A._AsyncCompleter(new A._Future(t1, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent); - t1 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent); - t2 = A.ListQueue$(type$._EventRequest_dynamic); - t5 = type$.StreamQueue_DebugEvent; - debugEventController.set$__BatchedStreamController__inputQueue_A(t5._as(new A.StreamQueue(new A._ControllerStream(t3, A._instanceType(t3)._eval$1("_ControllerStream<1>")), new A.QueueList(t1, 0, 0, type$.QueueList_Result_DebugEvent), t2, t5))); - A.safeUnawaited(debugEventController._batchAndSendEvents$0()); - new A._ControllerStream(t4, A._instanceType(t4)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client)); - self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.void_Function_String_String); - self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.void_Function_String); - self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.void_Function); - client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); - if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch)) { - t1 = window; - t1.toString; - A._EventStreamSubscription$(t1, "keydown", type$.nullable_void_Function_KeyboardEvent._as(new A.main__closure6()), false, type$.KeyboardEvent); - } - t1 = window.navigator.vendor; - t1.toString; - if (B.JSString_methods.contains$1(t1, "Google")) { - t1 = client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.ConnectRequestBuilder(); - type$.nullable_void_Function_ConnectRequestBuilder._as(new A.main__closure7()).call$1(t3); - A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._build$0()), null), type$.dynamic); - } else - A.runMain(); - A._launchCommunicationWithDebugExtension(); // implicit return return A._asyncReturn(null, $async$completer); } }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 66 + $signature: 101 }; - A.main__closure.prototype = { - call$1(runId) { - return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool); + A.main_closure0.prototype = { + call$2(error, stackTrace) { + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + A.print("Unhandled error detected in the injected client.js script.\n\nYou can disable this script in webdev by passing --no-injected-client if it\nis preventing your app from loading, but note that this will also prevent\nall debugging and hot reload/restart functionality from working.\n\nThe original error is below, please file an issue at\nhttps://github.com/dart-lang/webdev/issues/new and attach this output:\n\n" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n"); }, - $signature: 67 + $signature: 11 }; - A.main__closure0.prototype = { - call$1(events) { - var t1, t2, t3; - type$.List_DebugEvent._as(events); - if (A.boolConversionCheck(self.$dartEmitDebugEvents)) { - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.BatchedDebugEventsBuilder(); - type$.nullable_void_Function_BatchedDebugEventsBuilder._as(new A.main___closure2(events)).call$1(t3); - A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic); + A.runClient_closure.prototype = { + call$2(appName, entrypointPath) { + var t1, t2; + A._asString(appName); + A._asString(entrypointPath); + t1 = this.appInfo; + t2 = J.getInterceptor$x(t1); + if (J.contains$1$asx(t2.get$entrypoints(t1), entrypointPath)) + return; + J.add$1$ax(t2.get$entrypoints(t1), entrypointPath); + t1 = window.navigator.vendor; + t1.toString; + if (B.JSString_methods.contains$1(t1, "Google")) { + A.print("Injected Client " + A.S(self.$dartAppInstanceId) + ": sending registerEntrypoint request for " + appName + " (" + entrypointPath + ")"); + this.connection.sendRegisterEntrypointRequest$2(appName, entrypointPath); } }, - $signature: 68 + $signature: 12 }; - A.main___closure2.prototype = { - call$1(b) { - var t1 = A.ListBuilder_ListBuilder(this.events, type$.DebugEvent); - type$.nullable_ListBuilder_DebugEvent._as(t1); - b.get$_debug_event$_$this().set$_events(t1); - return t1; + A.runClient_closure0.prototype = { + call$1(runId) { + return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool); }, - $signature: 69 + $signature: 68 }; - A.main__closure1.prototype = { + A.runClient_closure1.prototype = { call$2(kind, eventData) { - var t1, t2; A._asString(kind); A._asString(eventData); - if (A.boolConversionCheck(self.$dartEmitDebugEvents)) { - t1 = this.debugEventController._inputController; - t2 = new A.DebugEventBuilder(); - type$.nullable_void_Function_DebugEventBuilder._as(new A.main___closure1(kind, eventData)).call$1(t2); - A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent); - } + if (A.boolConversionCheck(J.get$emitDebugEvents$x(this.appInfo))) + this.connection.sendDebugEvent$2(kind, eventData); }, - $signature: 15 + $signature: 12 }; - A.main___closure1.prototype = { - call$1(b) { - var t1 = Date.now(); - b.get$_debug_event$_$this()._timestamp = t1; - b.get$_debug_event$_$this()._debug_event$_kind = this.kind; - b.get$_debug_event$_$this()._eventData = this.eventData; - return b; - }, - $signature: 70 - }; - A.main__closure2.prototype = { - call$1(eventData) { - var t1, t2, t3; - A._asString(eventData); - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.RegisterEventBuilder(); - type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); - A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic); - }, - $signature: 33 - }; - A.main___closure0.prototype = { - call$1(b) { - var t1 = Date.now(); - b.get$_register_event$_$this()._register_event$_timestamp = t1; - b.get$_register_event$_$this()._register_event$_eventData = this.eventData; - return b; - }, - $signature: 72 - }; - A.main__closure3.prototype = { + A.runClient_closure2.prototype = { call$0() { - var t2, t3, + var t2, t1 = window.navigator.vendor; t1.toString; if (!B.JSString_methods.contains$1(t1, "Google")) { @@ -25576,32 +26030,20 @@ B.Window_methods.alert$1(t1, "Dart DevTools is only supported on Chromium based browsers."); return; } - t1 = this.client.get$sink(); - t2 = $.$get$serializers(); - t3 = new A.DevToolsRequestBuilder(); - type$.nullable_void_Function_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3); - A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._devtools_request$_build$0()), null), type$.dynamic); + t1 = this.appInfo; + t2 = J.getInterceptor$x(t1); + this.connection.sendDevToolsRequest$2(t2.get$appId(t1), t2.get$appInstanceId(t1)); }, $signature: 0 }; - A.main___closure.prototype = { - call$1(b) { - var t1 = A._asStringQ(self.$dartAppId); - b.get$_devtools_request$_$this()._devtools_request$_appId = t1; - t1 = A._asStringQ(self.$dartAppInstanceId); - b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1; - return b; - }, - $signature: 73 - }; - A.main__closure4.prototype = { + A.runClient_closure3.prototype = { call$1(serialized) { - return this.$call$body$main__closure(A._asString(serialized)); + return this.$call$body$runClient_closure(A._asString(serialized)); }, - $call$body$main__closure(serialized) { + $call$body$runClient_closure(serialized) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, $alert, t1, win, t2, t3, $event; + $async$self = this, t1, t2, $alert, win, t3, $event; var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -25614,7 +26056,9 @@ break; case 2: // then - $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.liveReload") ? 5 : 7; + t1 = $async$self.appInfo; + t2 = J.getInterceptor$x(t1); + $async$goto = J.$eq$(t2.get$reloadConfiguration(t1), "ReloadConfiguration.liveReload") ? 5 : 7; break; case 5: // then @@ -25624,7 +26068,7 @@ break; case 7: // else - $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotRestart") ? 8 : 10; + $async$goto = J.$eq$(t2.get$reloadConfiguration(t1), "ReloadConfiguration.hotRestart") ? 8 : 10; break; case 8: // then @@ -25637,7 +26081,7 @@ break; case 10: // else - if (J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotReload")) + if (J.$eq$(t2.get$reloadConfiguration(t1), "ReloadConfiguration.hotReload")) A.print("Hot reload is currently unsupported. Ignoring change."); case 9: // join @@ -25685,14 +26129,14 @@ }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 74 + $signature: 69 }; - A.main__closure5.prototype = { + A.runClient_closure4.prototype = { call$1(error) { }, $signature: 7 }; - A.main__closure6.prototype = { + A.runClient_closure5.prototype = { call$1(e) { var t1; if (type$.KeyboardEvent._is(e)) @@ -25721,62 +26165,36 @@ }, $signature: 4 }; - A.main__closure7.prototype = { - call$1(b) { - var t1 = A._asStringQ(self.$dartAppId); - b.get$_connect_request$_$this()._appId = t1; - t1 = A._asStringQ(self.$dartAppInstanceId); - b.get$_connect_request$_$this()._instanceId = t1; - t1 = A._asStringQ(self.$dartEntrypointPath); - b.get$_connect_request$_$this()._entrypointPath = t1; - return b; - }, - $signature: 75 - }; - A.main_closure0.prototype = { - call$2(error, stackTrace) { - type$.Object._as(error); - type$.StackTrace._as(stackTrace); - A.print("Unhandled error detected in the injected client.js script.\n\nYou can disable this script in webdev by passing --no-injected-client if it\nis preventing your app from loading, but note that this will also prevent\nall debugging and hot reload/restart functionality from working.\n\nThe original error is below, please file an issue at\nhttps://github.com/dart-lang/webdev/issues/new and attach this output:\n\n" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n"); - }, - $signature: 11 - }; A._launchCommunicationWithDebugExtension_closure.prototype = { call$1(b) { - var t2, - t1 = A._asStringQ(self.$dartEntrypointPath); - b.get$_$this()._appEntrypointPath = t1; - t1 = window; - t1.toString; - t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartAppId")); - b.get$_$this()._debug_info$_appId = t1; - t1 = A._asStringQ(self.$dartAppInstanceId); - b.get$_$this()._appInstanceId = t1; - t1 = type$.Location; - t2 = B.Location_methods.get$origin(t1._as(window.location)); - b.get$_$this()._appOrigin = t2; - t1 = t1._as(window.location).href; - t1.toString; - b.get$_$this()._appUrl = t1; - t1 = A._authUrl(); - b.get$_$this()._authUrl = t1; - t1 = window; - t1.toString; - t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri")); - b.get$_$this()._extensionUrl = t1; - t1 = window; - t1.toString; - t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isInternalBuild")); - b.get$_$this()._isInternalBuild = t1; - t1 = window; - t1.toString; - t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isFlutterApp")); - b.get$_$this()._isFlutterApp = t1; - t1 = A._asStringQ(self.$dartWorkspaceName); - b.get$_$this()._workspaceName = t1; + var t4, + t1 = this.appInfo, + t2 = J.getInterceptor$x(t1), + t3 = A._asStringQ(t2.get$appName(t1)); + b.get$_debug_info$_$this()._appEntrypointPath = t3; + t3 = A._asStringQ(t2.get$appId(t1)); + b.get$_debug_info$_$this()._appId = t3; + t3 = A._asStringQ(t2.get$appInstanceId(t1)); + b.get$_debug_info$_$this()._appInstanceId = t3; + t3 = type$.Location; + t4 = B.Location_methods.get$origin(t3._as(window.location)); + b.get$_debug_info$_$this()._appOrigin = t4; + t3 = t3._as(window.location).href; + t3.toString; + b.get$_debug_info$_$this()._appUrl = t3; + t3 = A.authUrl(t2.get$extensionUrl(t1)); + b.get$_debug_info$_$this()._authUrl = t3; + t3 = A._asStringQ(t2.get$extensionUrl(t1)); + b.get$_debug_info$_$this()._extensionUrl = t3; + t3 = A._asBoolQ(t2.get$isInternalBuild(t1)); + b.get$_debug_info$_$this()._isInternalBuild = t3; + t3 = A._asBoolQ(t2.get$isFlutterApp(t1)); + b.get$_debug_info$_$this()._isFlutterApp = t3; + t1 = A._asStringQ(t2.get$workspaceName(t1)); + b.get$_debug_info$_$this()._workspaceName = t1; return b; }, - $signature: 76 + $signature: 70 }; A._listenForDebugExtensionAuthRequest_closure.prototype = { call$1($event) { @@ -25785,7 +26203,7 @@ $call$body$_listenForDebugExtensionAuthRequest_closure($event) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - $async$returnValue, t1, $async$temp1, $async$temp2, $async$temp3, $async$temp4; + $async$returnValue, $async$self = this, auth, $async$temp1, $async$temp2, $async$temp3, $async$temp4; var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -25804,18 +26222,17 @@ $async$goto = 1; break; } - $async$goto = A._authUrl() != null ? 3 : 4; + auth = A.authUrl(J.get$extensionUrl$x($async$self.appInfo)); + $async$goto = auth != null ? 3 : 4; break; case 3: // then - t1 = A._authUrl(); - t1.toString; $async$temp1 = self.window.top.document; $async$temp2 = A; $async$temp3 = "dart-auth-response"; $async$temp4 = A; $async$goto = 5; - return A._asyncAwait(A._authenticateUser(t1), $async$call$1); + return A._asyncAwait(A._authenticateUser(auth), $async$call$1); case 5: // returning from await. $async$temp1.dispatchEvent($async$temp2.CustomEvent_CustomEvent($async$temp3, $async$temp4.S($async$result))); @@ -25828,8 +26245,118 @@ }); return A._asyncStartSync($async$call$1, $async$completer); }, + $signature: 71 + }; + A.DevHandlerConnection.prototype = { + sendConnectRequest$4(appName, appId, appInstanceId, entrypoints) { + var t1 = new A.ConnectRequestBuilder(); + type$.nullable_void_Function_ConnectRequestBuilder._as(new A.DevHandlerConnection_sendConnectRequest_closure(appName, appId, appInstanceId, type$.List_String._as(entrypoints))).call$1(t1); + this._serializeAndTrySendEvent$1$1(t1._connect_request$_build$0(), type$.ConnectRequest); + }, + sendRegisterEntrypointRequest$2(appName, entrypointPath) { + var t1 = new A.RegisterEntrypointRequestBuilder(); + type$.nullable_void_Function_RegisterEntrypointRequestBuilder._as(new A.DevHandlerConnection_sendRegisterEntrypointRequest_closure(appName, entrypointPath)).call$1(t1); + this._serializeAndTrySendEvent$1$1(t1._register_entrypoint_request$_build$0(), type$.RegisterEntrypointRequest); + }, + _sendBatchedDebugEvents$1(events) { + var t1 = new A.BatchedDebugEventsBuilder(); + type$.nullable_void_Function_BatchedDebugEventsBuilder._as(new A.DevHandlerConnection__sendBatchedDebugEvents_closure(type$.List_DebugEvent._as(events))).call$1(t1); + this._serializeAndTrySendEvent$1$1(t1._debug_event$_build$0(), type$.BatchedDebugEvents); + }, + sendDebugEvent$2(kind, eventData) { + var t1 = this.debugEventController._inputController, + t2 = new A.DebugEventBuilder(); + type$.nullable_void_Function_DebugEventBuilder._as(new A.DevHandlerConnection_sendDebugEvent_closure(kind, eventData)).call$1(t2); + this._trySendEvent$1$2(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent); + }, + sendRegisterEvent$1(eventData) { + var t1 = new A.RegisterEventBuilder(); + type$.nullable_void_Function_RegisterEventBuilder._as(new A.DevHandlerConnection_sendRegisterEvent_closure(A._asString(eventData))).call$1(t1); + this._serializeAndTrySendEvent$1$1(t1._build$0(), type$.RegisterEvent); + }, + sendDevToolsRequest$2(appId, appInstanceId) { + var t1 = new A.DevToolsRequestBuilder(); + type$.nullable_void_Function_DevToolsRequestBuilder._as(new A.DevHandlerConnection_sendDevToolsRequest_closure(appId, appInstanceId)).call$1(t1); + this._serializeAndTrySendEvent$1$1(t1._devtools_request$_build$0(), type$.DevToolsRequest); + }, + _trySendEvent$1$2(sink, $event, $T) { + var exception; + $T._eval$1("StreamSink<0>")._as(sink); + $T._as($event); + try { + sink.add$1(0, $event); + } catch (exception) { + if (A.unwrapException(exception) instanceof A.StateError) + A.print("Cannot send event " + A.S($event) + ". Injected client connection is closed."); + else + throw exception; + } + }, + _serializeAndTrySendEvent$1$1(object, $T) { + var t1; + $T._as(object); + t1 = this.__DevHandlerConnection_client_F; + t1 === $ && A.throwLateFieldNI("client"); + this._trySendEvent$1$2(t1.get$sink(), B.C_JsonCodec.encode$2$toEncodable($.$get$serializers().serialize$1(object), null), type$.dynamic); + } + }; + A.DevHandlerConnection_sendConnectRequest_closure.prototype = { + call$1(b) { + var t1, _this = this; + b.get$_connect_request$_$this()._appName = _this.appName; + b.get$_connect_request$_$this()._connect_request$_appId = _this.appId; + b.get$_connect_request$_$this()._instanceId = _this.appInstanceId; + t1 = type$.nullable_ListBuilder_String._as(A.ListBuilder_ListBuilder(_this.entrypoints, type$.String)); + b.get$_connect_request$_$this().set$_entrypoints(t1); + return b; + }, + $signature: 74 + }; + A.DevHandlerConnection_sendRegisterEntrypointRequest_closure.prototype = { + call$1(b) { + b.get$_register_entrypoint_request$_$this()._register_entrypoint_request$_appName = this.appName; + b.get$_register_entrypoint_request$_$this()._entrypointPath = this.entrypointPath; + return b; + }, + $signature: 75 + }; + A.DevHandlerConnection__sendBatchedDebugEvents_closure.prototype = { + call$1(b) { + var t1 = A.ListBuilder_ListBuilder(this.events, type$.DebugEvent); + type$.nullable_ListBuilder_DebugEvent._as(t1); + b.get$_debug_event$_$this().set$_events(t1); + return t1; + }, + $signature: 76 + }; + A.DevHandlerConnection_sendDebugEvent_closure.prototype = { + call$1(b) { + var t1 = Date.now(); + b.get$_debug_event$_$this()._debug_event$_timestamp = t1; + b.get$_debug_event$_$this()._debug_event$_kind = this.kind; + b.get$_debug_event$_$this()._debug_event$_eventData = this.eventData; + return b; + }, $signature: 77 }; + A.DevHandlerConnection_sendRegisterEvent_closure.prototype = { + call$1(b) { + var t1 = Date.now(); + b.get$_$this()._timestamp = t1; + b.get$_$this()._eventData = this.eventData; + return b; + }, + $signature: 78 + }; + A.DevHandlerConnection_sendDevToolsRequest_closure.prototype = { + call$1(b) { + b.get$_devtools_request$_$this()._devtools_request$_appId = this.appId; + b.get$_devtools_request$_$this()._devtools_request$_instanceId = this.appInstanceId; + return b; + }, + $signature: 79 + }; + A.AppInfo.prototype = {}; A.LegacyRestarter.prototype = { restart$1$runId(runId) { var $async$goto = 0, @@ -25878,7 +26405,7 @@ if (t1) this.reloadCompleter.complete$1(0, true); }, - $signature: 35 + $signature: 36 }; A.LegacyRestarter_restart_closure.prototype = { call$1(value) { @@ -25886,7 +26413,7 @@ this.sub.cancel$0(0); return value; }, - $signature: 78 + $signature: 80 }; A.ReloadingManager.prototype = { hotRestart$1$runId(runId) { @@ -25991,7 +26518,7 @@ // returning from await. newDigests = $async$result; modulesToLoad = A._setArrayType([], type$.JSArray_String); - for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.Location; t2.moveNext$0();) { + for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests._name, t5 = type$.Location; t2.moveNext$0();) { t6 = t2.get$current(t2); t7 = $.___lastKnownDigests.__late_helper$_value; if (t7 === $.___lastKnownDigests) @@ -26298,7 +26825,7 @@ call$1(e) { this.completer.completeError$2(new A.HotReloadFailedException(J.get$message$x(type$.JsError._as(e))), this.stackTrace); }, - $signature: 81 + $signature: 83 }; A._createScript_closure.prototype = { call$0() { @@ -26307,7 +26834,7 @@ return A.html_ScriptElement___new_tearOff$closure(); return new A._createScript__closure(nonce); }, - $signature: 82 + $signature: 84 }; A._createScript__closure.prototype = { call$0() { @@ -26315,7 +26842,7 @@ t1.setAttribute("nonce", this.nonce); return t1; }, - $signature: 14 + $signature: 33 }; (function aliases() { var _ = J.Interceptor.prototype; @@ -26328,7 +26855,7 @@ _ = A._HashMap.prototype; _.super$_HashMap$_containsKey = _._containsKey$1; _.super$_HashMap$_get = _._get$1; - _.super$_HashMap$_set = _._set$2; + _.super$_HashMap$_set = _._collection$_set$2; _ = A.Iterable.prototype; _.super$Iterable$where = _.where$1; _ = A.Object.prototype; @@ -26362,73 +26889,75 @@ _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 3); _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11); _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 86, 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 88, 0); _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { return A._rootRun($self, $parent, zone, f, type$.dynamic); - }], 87, 1); + }], 89, 1); _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic); - }], 88, 1); + }], 90, 1); _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic); - }], 89, 1); + }], 91, 1); _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); - }], 90, 0); + }], 92, 0); _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic); - }], 91, 0); + }], 93, 0); _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic); - }], 92, 0); - _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 93, 0); - _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 94, 0); - _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 95, 0); - _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 96, 0); - _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 97, 0); - _static_1(A, "async___printToZone$closure", "_printToZone", 33); - _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 98, 0); - _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 32, 0, 0); + }], 94, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 95, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 96, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 97, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 98, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 99, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 30); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 100, 0); + _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 34, 0, 0); _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() { return [null]; - }, ["call$1", "call$0"], ["complete$1", "complete$0"], 54, 0, 0); + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 53, 0, 0); _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11); var _; - _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 15); _instance(_, "get$addError", 0, 1, function() { return [null]; - }, ["call$2", "call$1"], ["addError$2", "addError$1"], 32, 0, 0); + }, ["call$2", "call$1"], ["addError$2", "addError$1"], 34, 0, 0); _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); - _instance_1_u(_, "get$_handleData", "_handleData$1", 16); - _instance_2_u(_, "get$_handleError", "_handleError$2", 17); + _instance_1_u(_, "get$_handleData", "_handleData$1", 15); + _instance_2_u(_, "get$_handleError", "_handleError$2", 16); _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); - _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12); - _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13); + _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 13); + _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 14); _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 28); _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 1); - _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13); - _static_2(A, "core__identical$closure", "identical", 12); - _static_0(A, "html_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 14); - _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 30, 0); - _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 30, 0); + _static_1(A, "core__identityHashCode$closure", "identityHashCode", 14); + _static_2(A, "core__identical$closure", "identical", 13); + _static_0(A, "html_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 33); + _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 35, 0); + _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 35, 0); _instance_0_i(A.Node.prototype, "get$remove", "remove$0", 0); _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 3); - _static_1(A, "js___convertToJS$closure", "_convertToJS", 34); + _static_1(A, "js___convertToJS$closure", "_convertToJS", 32); _static_1(A, "js___convertToDart$closure", "_convertToDart", 2); - _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12); - _instance_1_i(_, "get$hash", "hash$1", 13); + _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 13); + _instance_1_i(_, "get$hash", "hash$1", 14); _instance_1_u(_, "get$isValidKey", "isValidKey$1", 55); _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 4); _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 4); _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0); - _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 61); - _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 79); - _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 80); + _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 62); + _instance_1_u(_ = A.DevHandlerConnection.prototype, "get$_sendBatchedDebugEvents", "_sendBatchedDebugEvents$1", 72); + _instance_1_u(_, "get$sendRegisterEvent", "sendRegisterEvent$1", 30); + _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 81); + _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 82); })(); (function inheritance() { var _mixin = hunkHelpers.mixin, @@ -26436,22 +26965,22 @@ _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(A.Object, null); - _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEntrypointRequest, A._$RegisterEntrypointRequestSerializer, A.RegisterEntrypointRequestBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.DevHandlerConnection, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A.DomImplementation, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SharedArrayBuffer, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]); - _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A._FetchOptions, A.Promise, A.RequireLoader, A.JsError, A.JsMap]); + _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A._FetchOptions, A.AppInfo, A.Promise, A.RequireLoader, A.JsError, A.JsMap]); _inherit(J.JSUnmodifiableArray, J.JSArray); _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.SkipIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]); _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]); _inherit(A._EfficientLengthCastIterable, A.CastIterable); _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]); - _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.runClient_closure0, A.runClient_closure3, A.runClient_closure4, A.runClient_closure5, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.DevHandlerConnection_sendConnectRequest_closure, A.DevHandlerConnection_sendRegisterEntrypointRequest_closure, A.DevHandlerConnection__sendBatchedDebugEvents_closure, A.DevHandlerConnection_sendDebugEvent_closure, A.DevHandlerConnection_sendRegisterEvent_closure, A.DevHandlerConnection_sendDevToolsRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]); + _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.main_closure0, A.runClient_closure, A.runClient_closure1, A.toPromise_closure]); _inherit(A.CastList, A._CastListBase); _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap, A._AttributeMap]); _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]); - _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]); + _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A._$serializers_closure1, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.runClient_closure2, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]); _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]); _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]); _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); @@ -26589,6 +27118,7 @@ _inherit(A._$BatchedEvents, A.BatchedEvents); _inherit(A._$IsolateExit, A.IsolateExit); _inherit(A._$IsolateStart, A.IsolateStart); + _inherit(A._$RegisterEntrypointRequest, A.RegisterEntrypointRequest); _inherit(A._$RegisterEvent, A.RegisterEvent); _inherit(A._$RunRequest, A.RunRequest); _inheritMany(A.SocketClient, [A.SseSocketClient, A.WebSocketClient]); @@ -26660,12 +27190,12 @@ typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, - types: ["~()", "@(@)", "Object?(@)", "~(@)", "~(Event)", "Null()", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "~(@,@)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "ScriptElement()", "~(String,String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "String(String)", "~(Uint8List,String,int)", "Future()", "bool(NodeValidator)", "bool(String)", "int(@,@)", "String(int,int)", "bool(Element,String,String,_Html5NodeValidator)", "bool()", "~(Object[StackTrace?])", "~(String)", "Object?(Object?)", "~(MessageEvent)", "Null(Event)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "_Future<@>(@)", "SetMultimapBuilder()", "~(int,@)", "Null(@,StackTrace)", "~(ProgressEvent)", "~([Object?])", "bool(Object?)", "ListBuilder()", "ListBuilder()", "bool(Node)", "String(@)", "Logger()", "~(String?)", "Uint8List(@,@)", "~(String,int?)", "~(String,int)", "Null(~())", "Future<~>()", "Promise<1&>(String)", "~(List)", "ListBuilder(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "Future(Event)", "bool(bool)", "List(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "Null(CloseEvent)", "@(@,String)", "@(String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "SetBuilder()"], + types: ["~()", "@(@)", "Object?(@)", "~(@)", "~(Event)", "Null()", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "~(@,@)", "~(~())", "~(Object,StackTrace)", "~(String,String)", "bool(Object?,Object?)", "int(Object?)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "String(String)", "~(Uint8List,String,int)", "Future()", "bool(NodeValidator)", "bool(String)", "Null(Event)", "int(@,@)", "String(int,int)", "~(String)", "bool()", "Object?(Object?)", "ScriptElement()", "~(Object[StackTrace?])", "bool(Element,String,String,_Html5NodeValidator)", "~(MessageEvent)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "SetBuilder()", "SetMultimapBuilder()", "~(int,@)", "~(ProgressEvent)", "~([Object?])", "@(String)", "bool(Object?)", "ListBuilder()", "ListBuilder()", "ListBuilder()", "bool(Node)", "String(@)", "Logger()", "~(String?)", "Uint8List(@,@)", "~(String,int?)", "~(String,int)", "Null(CloseEvent)", "Null(@,StackTrace)", "Promise<1&>(String)", "Future<~>(String)", "DebugInfoBuilder(DebugInfoBuilder)", "Future(Event)", "~(List)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "ConnectRequestBuilder(ConnectRequestBuilder)", "RegisterEntrypointRequestBuilder(RegisterEntrypointRequestBuilder)", "ListBuilder(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "bool(bool)", "List(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "Null(~())", "_Future<@>(@)", "@(@,String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "Future<~>()"], interceptorsByTag: null, leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","_FetchOptions":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node","DocumentFragment":"Node","XmlDocument":"Document","VttCue":"TextTrackCue","CompositionEvent":"UIEvent","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_InconsistentSubtypingError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JSObject":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventSource":{"EventTarget":[],"JSObject":[]},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","_FetchOptions":"LegacyJavaScriptObject","AppInfo":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node","DocumentFragment":"Node","XmlDocument":"Document","VttCue":"TextTrackCue","CompositionEvent":"UIEvent","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_InconsistentSubtypingError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JSObject":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventSource":{"EventTarget":[],"JSObject":[]},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEntrypointRequestSerializer":{"StructuredSerializer":["RegisterEntrypointRequest"],"Serializer":["RegisterEntrypointRequest"]},"_$RegisterEntrypointRequest":{"RegisterEntrypointRequest":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); var string$ = { ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", @@ -26690,6 +27220,7 @@ BuiltListMultimap_dynamic_dynamic: findType("BuiltListMultimap<@,@>"), BuiltList_DebugEvent: findType("BuiltList"), BuiltList_ExtensionEvent: findType("BuiltList"), + BuiltList_String: findType("BuiltList"), BuiltList_dynamic: findType("BuiltList<@>"), BuiltList_nullable_Object: findType("BuiltList"), BuiltMap_dynamic_dynamic: findType("BuiltMap<@,@>"), @@ -26757,6 +27288,7 @@ Level: findType("Level"), ListBuilder_DebugEvent: findType("ListBuilder"), ListBuilder_ExtensionEvent: findType("ListBuilder"), + ListBuilder_String: findType("ListBuilder"), ListBuilder_dynamic: findType("ListBuilder<@>"), ListEquality_dynamic: findType("ListEquality<@>"), ListMultimapBuilder_dynamic_dynamic: findType("ListMultimapBuilder<@,@>"), @@ -26796,6 +27328,7 @@ Rectangle_num: findType("Rectangle"), RegExp: findType("RegExp"), RegExpMatch: findType("RegExpMatch"), + RegisterEntrypointRequest: findType("RegisterEntrypointRequest"), RegisterEvent: findType("RegisterEvent"), RequireRestarter: findType("RequireRestarter"), ReversedListIterable_String: findType("ReversedListIterable"), @@ -26882,6 +27415,7 @@ nullable_Gamepad: findType("Gamepad?"), nullable_ListBuilder_DebugEvent: findType("ListBuilder?"), nullable_ListBuilder_ExtensionEvent: findType("ListBuilder?"), + nullable_ListBuilder_String: findType("ListBuilder?"), nullable_List_dynamic: findType("List<@>?"), nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map?"), nullable_Object: findType("Object?"), @@ -26905,6 +27439,7 @@ nullable_void_Function_KeyboardEvent: findType("~(KeyboardEvent)?"), nullable_void_Function_MessageEvent: findType("~(MessageEvent)?"), nullable_void_Function_ProgressEvent: findType("~(ProgressEvent)?"), + nullable_void_Function_RegisterEntrypointRequestBuilder: findType("~(RegisterEntrypointRequestBuilder)?"), nullable_void_Function_RegisterEventBuilder: findType("~(RegisterEventBuilder)?"), num: findType("num"), void: findType("~"), @@ -27120,6 +27655,8 @@ B.FullType_gsm = new A.FullType(B.Type_BuiltSetMultimap_9Fi, B.List_4AN, false); B.Type_String_k8F = A.typeLiteral("String"); B.FullType_h8g = new A.FullType(B.Type_String_k8F, B.List_empty1, false); + B.List_EY4 = A._setArrayType(makeConstList([B.FullType_h8g]), type$.JSArray_FullType); + B.FullType_hkZ = new A.FullType(B.Type_BuiltList_iTR, B.List_EY4, false); B.Type_int_tHn = A.typeLiteral("int"); B.FullType_kjq = new A.FullType(B.Type_int_tHn, B.List_empty1, false); B.FullType_null_List_empty_false = new A.FullType(null, B.List_empty1, false); @@ -27146,6 +27683,9 @@ B.Type__$RegisterEvent_SY6 = A.typeLiteral("_$RegisterEvent"); B.List_ASY = A._setArrayType(makeConstList([B.Type_RegisterEvent_0zQ, B.Type__$RegisterEvent_SY6]), type$.JSArray_Type); B.List_AuK = A._setArrayType(makeConstList(["bind", "if", "ref", "repeat", "syntax"]), type$.JSArray_String); + B.Type_RegisterEntrypointRequest_3l1 = A.typeLiteral("RegisterEntrypointRequest"); + B.Type__$RegisterEntrypointRequest_RSw = A.typeLiteral("_$RegisterEntrypointRequest"); + B.List_ExN = A._setArrayType(makeConstList([B.Type_RegisterEntrypointRequest_3l1, B.Type__$RegisterEntrypointRequest_RSw]), type$.JSArray_Type); B.Type_DebugInfo_gg4 = A.typeLiteral("DebugInfo"); B.Type__$DebugInfo_Eoc = A.typeLiteral("_$DebugInfo"); B.List_IMr = A._setArrayType(makeConstList([B.Type_DebugInfo_gg4, B.Type__$DebugInfo_Eoc]), type$.JSArray_Type); @@ -27192,8 +27732,8 @@ B.Type__$DevToolsRequest_cDy = A.typeLiteral("_$DevToolsRequest"); B.List_yT3 = A._setArrayType(makeConstList([B.Type_DevToolsRequest_A0n, B.Type__$DevToolsRequest_cDy]), type$.JSArray_Type); B.Object_empty = {}; - B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); - B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>")); + B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); + B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>")); B.Symbol_call = new A.Symbol("call"); B.Type_BigInt_8OV = A.typeLiteral("BigInt"); B.Type_BoolJsonObject_8HQ = A.typeLiteral("BoolJsonObject"); @@ -27364,6 +27904,7 @@ _lazy($, "_$batchedEventsSerializer", "$get$_$batchedEventsSerializer", () => new A._$BatchedEventsSerializer()); _lazy($, "_$isolateExitSerializer", "$get$_$isolateExitSerializer", () => new A._$IsolateExitSerializer()); _lazy($, "_$isolateStartSerializer", "$get$_$isolateStartSerializer", () => new A._$IsolateStartSerializer()); + _lazy($, "_$registerEntrypointRequestSerializer", "$get$_$registerEntrypointRequestSerializer", () => new A._$RegisterEntrypointRequestSerializer()); _lazy($, "_$registerEventSerializer", "$get$_$registerEventSerializer", () => new A._$RegisterEventSerializer()); _lazy($, "_$runRequestSerializer", "$get$_$runRequestSerializer", () => new A._$RunRequestSerializer()); _lazyFinal($, "serializers", "$get$serializers", () => $.$get$_$serializers()); @@ -27385,10 +27926,12 @@ t1.add$1(0, $.$get$_$extensionResponseSerializer()); t1.add$1(0, $.$get$_$isolateExitSerializer()); t1.add$1(0, $.$get$_$isolateStartSerializer()); + t1.add$1(0, $.$get$_$registerEntrypointRequestSerializer()); t1.add$1(0, $.$get$_$registerEventSerializer()); t1.add$1(0, $.$get$_$runRequestSerializer()); t1.addBuilderFactory$2(B.FullType_EGl, new A._$serializers_closure()); t1.addBuilderFactory$2(B.FullType_NIe, new A._$serializers_closure0()); + t1.addBuilderFactory$2(B.FullType_hkZ, new A._$serializers_closure1()); return t1.build$0(); }); _lazyFinal($, "_logger", "$get$_logger", () => A.Logger_Logger("Utilities")); diff --git a/dwds/lib/src/loaders/build_runner_require.dart b/dwds/lib/src/loaders/build_runner_require.dart index 3155821c3..03cd84ed1 100644 --- a/dwds/lib/src/loaders/build_runner_require.dart +++ b/dwds/lib/src/loaders/build_runner_require.dart @@ -50,7 +50,9 @@ class BuildRunnerRequireStrategyProvider { ) async { final modules = await metadataProvider.modulePathToModule; - final digestsPath = metadataProvider.entrypoint + // TODO: make sure this works... we don't support lazy ddr modules + // in require mode so maybe it does? + final digestsPath = (await metadataProvider.mainEntrypoint) .replaceAll('.dart.bootstrap.js', '.digests'); final response = await _assetHandler( Request('GET', Uri.parse('http://foo:0000/$digestsPath')), diff --git a/dwds/lib/src/loaders/legacy.dart b/dwds/lib/src/loaders/legacy.dart index 71b9f313c..33f1b1440 100644 --- a/dwds/lib/src/loaders/legacy.dart +++ b/dwds/lib/src/loaders/legacy.dart @@ -106,7 +106,7 @@ class LegacyStrategy extends LoadStrategy { @override String loadClientSnippet(String clientScript) => - 'window.\$dartLoader.forceLoadModule("$clientScript");\n'; + 'window.\$dartLoader.forceLoadModule("$clientScript")'; @override Future moduleForServerPath(String entrypoint, String serverPath) => diff --git a/dwds/lib/src/loaders/strategy.dart b/dwds/lib/src/loaders/strategy.dart index d12f8e9df..06b0ebc6a 100644 --- a/dwds/lib/src/loaders/strategy.dart +++ b/dwds/lib/src/loaders/strategy.dart @@ -120,20 +120,26 @@ abstract class LoadStrategy { ); /// Returns the [MetadataProvider] for the application located at the provided - /// [entrypoint]. - MetadataProvider metadataProviderFor(String entrypoint) { - if (_providers.containsKey(entrypoint)) { - return _providers[entrypoint]!; + /// [appName]. + MetadataProvider metadataProviderFor(String appName) { + if (_providers.containsKey(appName)) { + return _providers[appName]!; } else { - throw StateError('No metadata provider for $entrypoint'); + throw StateError('No metadata provider for $appName'); } } + /// A hook for the implementers read data after the first entrypoint is loaded + Future trackEntrypoint(String entrypoint) async {} + /// Initializes a [MetadataProvider] for the application located at the /// provided [entrypoint]. - Future trackEntrypoint(String entrypoint) async { - final metadataProvider = MetadataProvider(entrypoint, _assetReader); - _providers[metadataProvider.entrypoint] = metadataProvider; + void trackAppEntrypoint(String appName, String entrypoint) { + final MetadataProvider metadataProvider = _providers.putIfAbsent( + appName, + () => MetadataProvider(appName, _assetReader), + ); + metadataProvider.update(entrypoint); } } diff --git a/dwds/lib/src/services/batched_expression_evaluator.dart b/dwds/lib/src/services/batched_expression_evaluator.dart index b5e56c2af..e3ab09545 100644 --- a/dwds/lib/src/services/batched_expression_evaluator.dart +++ b/dwds/lib/src/services/batched_expression_evaluator.dart @@ -34,13 +34,13 @@ class BatchedExpressionEvaluator extends ExpressionEvaluator { bool _closed = false; BatchedExpressionEvaluator( - String entrypoint, + String appName, this._inspector, Debugger debugger, Locations locations, Modules modules, ExpressionCompiler compiler, - ) : super(entrypoint, _inspector, debugger, locations, modules, compiler) { + ) : super(appName, _inspector, debugger, locations, modules, compiler) { _requestController.stream.listen(_processRequest); } diff --git a/dwds/lib/src/services/chrome_proxy_service.dart b/dwds/lib/src/services/chrome_proxy_service.dart index 659232138..059189973 100644 --- a/dwds/lib/src/services/chrome_proxy_service.dart +++ b/dwds/lib/src/services/chrome_proxy_service.dart @@ -7,6 +7,7 @@ import 'dart:convert'; import 'dart:io'; import 'package:dwds/data/debug_event.dart'; +import 'package:dwds/data/register_entrypoint_request.dart'; import 'package:dwds/data/register_event.dart'; import 'package:dwds/src/config/tool_configuration.dart'; import 'package:dwds/src/connections/app_connection.dart'; @@ -163,27 +164,38 @@ class ChromeProxyService implements VmServiceInterface { return service; } + Future _initializeApp(String appName, List entrypoints) async { + _locations.initialize(appName); + _modules.initialize(appName); + _skipLists.initialize(); + + // We do not need to wait for compiler dependencies to be updated as the + // [ExpressionEvaluator] is robust to evaluation requests during updates. + await _updateCompilerDependencies(appName); + } + /// Initializes metadata in [Locations], [Modules], and [ExpressionCompiler]. - void _initializeEntrypoint(String entrypoint) { - _locations.initialize(entrypoint); - _modules.initialize(entrypoint); + Future _initializeEntrypoint(String appName, String entrypoint) async { + // TODO: incremental update? + _locations.initialize(appName); + _modules.initialize(appName); _skipLists.initialize(); // We do not need to wait for compiler dependencies to be updated as the // [ExpressionEvaluator] is robust to evaluation requests during updates. - safeUnawaited(_updateCompilerDependencies(entrypoint)); + await _updateCompilerDependencies(appName); } - Future _updateCompilerDependencies(String entrypoint) async { + Future _updateCompilerDependencies(String appName) async { final loadStrategy = globalToolConfiguration.loadStrategy; final moduleFormat = loadStrategy.moduleFormat; final canaryFeatures = loadStrategy.buildSettings.canaryFeatures; final experiments = loadStrategy.buildSettings.experiments; // TODO(annagrin): Read null safety setting from the build settings. - final metadataProvider = loadStrategy.metadataProviderFor(entrypoint); + final metadataProvider = loadStrategy.metadataProviderFor(appName); final soundNullSafety = await metadataProvider.soundNullSafety; - _logger.info('Initializing expression compiler for $entrypoint ' + _logger.info('Initializing expression compiler for $appName ' 'with sound null safety: $soundNullSafety'); final compilerOptions = CompilerOptions( @@ -196,8 +208,7 @@ class ChromeProxyService implements VmServiceInterface { final compiler = _compiler; if (compiler != null) { await compiler.initialize(compilerOptions); - final dependencies = - await loadStrategy.moduleInfoForEntrypoint(entrypoint); + final dependencies = await loadStrategy.moduleInfoForEntrypoint(appName); await captureElapsedTime( () async { final result = await compiler.updateDependencies(dependencies); @@ -205,7 +216,7 @@ class ChromeProxyService implements VmServiceInterface { if (!_compilerCompleter.isCompleted) _compilerCompleter.complete(); return result; }, - (result) => DwdsEvent.compilerUpdateDependencies(entrypoint), + (result) => DwdsEvent.compilerUpdateDependencies(appName), ); } } @@ -253,14 +264,15 @@ class ChromeProxyService implements VmServiceInterface { } // Waiting for the debugger to be ready before initializing the entrypoint. // - // Note: moving `await debugger` after the `_initializeEntryPoint` call + // Note: moving `await debugger` after the `_initializeApp` call // causes `getcwd` system calls to fail. Since that system call is used // in first `Uri.base` call in the expression compiler service isolate, // the expression compiler service will fail to start. // Issue: https://github.com/dart-lang/webdev/issues/1282 final debugger = await debuggerFuture; - final entrypoint = appConnection.request.entrypointPath; - _initializeEntrypoint(entrypoint); + final appName = appConnection.request.appName; + final entrypoints = appConnection.request.entrypoints.asList(); + safeUnawaited(_initializeApp(appName, entrypoints)); debugger.notifyPausedAtStart(); _inspector = await AppInspector.create( @@ -277,7 +289,7 @@ class ChromeProxyService implements VmServiceInterface { _expressionEvaluator = compiler == null ? null : BatchedExpressionEvaluator( - entrypoint, + appName, inspector, debugger, _locations, @@ -1350,6 +1362,40 @@ ${globalToolConfiguration.loadStrategy.loadModuleSnippet}("dart_sdk").developer. ); } + /// Parses the [RegisterEntrypointRequest] and emits a corresponding Dart VM Service + /// protocol [Event]. + Future parseRegisterEntrypointRequest( + RegisterEntrypointRequest request, + ) async { + _logger.severe('received RegisterEntrypointRequest: $request'); + if (terminatingIsolates) return; + if (!_isIsolateRunning) return; + + final isolateRef = inspector.isolateRef; + final appName = request.appName; + final entrypoint = request.entrypointPath; + + // update expression compiler + // TODO: Incremental update? + safeUnawaited(_initializeEntrypoint(appName, entrypoint)); + + // update inspector's data structures + await inspector.registerEntrypoint( + appName, + entrypoint, + await debuggerFuture, + ); + + _streamNotify( + EventStreams.kIsolate, + Event( + kind: EventKind.kIsolateReload, + timestamp: DateTime.now().millisecondsSinceEpoch, + isolate: isolateRef, + ), + ); + } + /// Listens for chrome console events and handles the ones we care about. void _setUpChromeConsoleListeners(IsolateRef isolateRef) { _consoleSubscription = diff --git a/dwds/lib/src/services/expression_evaluator.dart b/dwds/lib/src/services/expression_evaluator.dart index 1aca08c68..1d06e1d48 100644 --- a/dwds/lib/src/services/expression_evaluator.dart +++ b/dwds/lib/src/services/expression_evaluator.dart @@ -32,7 +32,7 @@ class EvaluationErrorKind { /// collect context for evaluation (scope, types, modules), and using /// ExpressionCompilerInterface to compile dart expressions to JavaScript. class ExpressionEvaluator { - final String _entrypoint; + final String _appName; final AppInspectorInterface _inspector; final Debugger _debugger; final Locations _locations; @@ -53,7 +53,7 @@ class ExpressionEvaluator { RegExp(r".*Failed to load '.*\.com/(.*\.js).*"); ExpressionEvaluator( - this._entrypoint, + this._appName, this._inspector, this._debugger, this._locations, @@ -448,7 +448,7 @@ class ExpressionEvaluator { var modulePath = _loadModuleErrorRegex.firstMatch(error)?.group(1); final module = modulePath != null ? await globalToolConfiguration.loadStrategy.moduleForServerPath( - _entrypoint, + _appName, modulePath, ) : 'unknown'; diff --git a/dwds/web/client.dart b/dwds/web/client.dart index f3852bc93..8b6c5390e 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -8,7 +8,6 @@ library hot_reload_client; import 'dart:async'; import 'dart:convert'; import 'dart:html'; -import 'dart:js'; import 'package:built_collection/built_collection.dart'; import 'package:dwds/data/build_result.dart'; @@ -18,6 +17,7 @@ import 'package:dwds/data/debug_info.dart'; import 'package:dwds/data/devtools_request.dart'; import 'package:dwds/data/error_response.dart'; import 'package:dwds/data/extension_request.dart'; +import 'package:dwds/data/register_entrypoint_request.dart'; import 'package:dwds/data/register_event.dart'; import 'package:dwds/data/run_request.dart'; import 'package:dwds/data/serializers.dart'; @@ -32,7 +32,6 @@ import 'promise.dart'; import 'reloader/legacy_restarter.dart'; import 'reloader/manager.dart'; import 'reloader/require_restarter.dart'; -import 'reloader/restarter.dart'; import 'run_main.dart'; const _batchDelayMilliseconds = 1000; @@ -41,171 +40,7 @@ const _batchDelayMilliseconds = 1000; // pub run build_runner build web Future? main() { return runZonedGuarded(() async { - // Set the unique id for this instance of the app. - // Test apps may already have this set. - dartAppInstanceId ??= const Uuid().v1(); - - final fixedPath = _fixProtocol(dwdsDevHandlerPath); - final fixedUri = Uri.parse(fixedPath); - final client = fixedUri.isScheme('ws') || fixedUri.isScheme('wss') - ? WebSocketClient(WebSocketChannel.connect(fixedUri)) - : SseSocketClient(SseClient(fixedPath, debugKey: 'InjectedClient')); - - Restarter restarter; - if (dartModuleStrategy == 'require-js') { - restarter = await RequireRestarter.create(); - } else if (dartModuleStrategy == 'legacy') { - restarter = LegacyRestarter(); - } else { - throw StateError('Unknown module strategy: $dartModuleStrategy'); - } - - final manager = ReloadingManager(client, restarter); - - hotRestartJs = allowInterop((String runId) { - return toPromise(manager.hotRestart(runId: runId)); - }); - - final debugEventController = - BatchedStreamController(delay: _batchDelayMilliseconds); - debugEventController.stream.listen((events) { - if (dartEmitDebugEvents) { - _trySendEvent( - client.sink, - jsonEncode( - serializers.serialize( - BatchedDebugEvents( - (b) => b.events = ListBuilder(events), - ), - ), - ), - ); - } - }); - - emitDebugEvent = allowInterop((String kind, String eventData) { - if (dartEmitDebugEvents) { - _trySendEvent( - debugEventController.sink, - DebugEvent( - (b) => b - ..timestamp = (DateTime.now().millisecondsSinceEpoch) - ..kind = kind - ..eventData = eventData, - ), - ); - } - }); - - emitRegisterEvent = allowInterop((String eventData) { - _trySendEvent( - client.sink, - jsonEncode( - serializers.serialize( - RegisterEvent( - (b) => b - ..timestamp = (DateTime.now().millisecondsSinceEpoch) - ..eventData = eventData, - ), - ), - ), - ); - }); - - launchDevToolsJs = allowInterop(() { - if (!_isChromium) { - window.alert( - 'Dart DevTools is only supported on Chromium based browsers.', - ); - return; - } - _trySendEvent( - client.sink, - jsonEncode( - serializers.serialize( - DevToolsRequest( - (b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId, - ), - ), - ), - ); - }); - - client.stream.listen( - (serialized) async { - final event = serializers.deserialize(jsonDecode(serialized)); - if (event is BuildResult) { - if (reloadConfiguration == 'ReloadConfiguration.liveReload') { - manager.reloadPage(); - } else if (reloadConfiguration == 'ReloadConfiguration.hotRestart') { - await manager.hotRestart(); - } else if (reloadConfiguration == 'ReloadConfiguration.hotReload') { - print('Hot reload is currently unsupported. Ignoring change.'); - } - } else if (event is DevToolsResponse) { - if (!event.success) { - final alert = 'DevTools failed to open with:\n${event.error}'; - if (event.promptExtension && window.confirm(alert)) { - window.open('https://goo.gle/dart-debug-extension', '_blank'); - } else { - window.alert(alert); - } - } - } else if (event is RunRequest) { - runMain(); - } else if (event is ErrorResponse) { - window.console - .error('Error from backend:\n\nError: ${event.error}\n\n' - 'Stack Trace:\n${event.stackTrace}'); - } - }, - onError: (error) { - // An error is propagated on a full page reload as Chrome presumably - // forces the SSE connection to close in a bad state. This does not cause - // any adverse effects so simply swallow this error as to not print the - // misleading unhandled error message. - }, - ); - - if (dwdsEnableDevToolsLaunch) { - window.onKeyDown.listen((Event e) { - if (e is KeyboardEvent && - const [ - 'd', - 'D', - '∂', // alt-d output on Mac - 'Î', // shift-alt-D output on Mac - ].contains(e.key) && - e.altKey && - !e.ctrlKey && - !e.metaKey) { - e.preventDefault(); - launchDevToolsJs(); - } - }); - } - - if (_isChromium) { - _trySendEvent( - client.sink, - jsonEncode( - serializers.serialize( - ConnectRequest( - (b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId - ..entrypointPath = dartEntrypointPath, - ), - ), - ), - ); - } else { - // If not Chromium we just invoke main, devtools aren't supported. - runMain(); - } - _launchCommunicationWithDebugExtension(); + await runClient(); }, (error, stackTrace) { print(''' Unhandled error detected in the injected client.js script. @@ -223,39 +58,144 @@ $stackTrace }); } -void _trySendEvent(StreamSink sink, T serialized) { - try { - sink.add(serialized); - } on StateError catch (_) { - // An error is propagated on a full page reload as Chrome presumably - // forces the SSE connection to close in a bad state. - print('Cannot send event $serialized. ' - 'Injected client connection is closed.'); +Future runClient() async { + final appInfo = dartAppInfo..appInstanceId = const Uuid().v1(); + + // used by tests and tools + dartAppInstanceId = appInfo.appInstanceId; + dartAppId = appInfo.appId; + + // used by require restarter + loadModuleConfig = appInfo.loadModuleConfig; + + print( + 'Injected Client $dartAppInstanceId: Dart app info: ${appInfo.appName} ${appInfo.appId} ${appInfo.appInstanceId} ${appInfo.devHandlerPath} ${appInfo.moduleStrategy}'); + + final connection = DevHandlerConnection(appInfo.devHandlerPath); + + registerEntrypoint = allowInterop((String appName, String entrypointPath) { + if (appInfo.entrypoints.contains(entrypointPath)) return; + appInfo.entrypoints.add(entrypointPath); + + if (_isChromium) { + print( + 'Injected Client $dartAppInstanceId: sending registerEntrypoint request for $appName ($entrypointPath)'); + connection.sendRegisterEntrypointRequest(appName, entrypointPath); + } + }); + + print('Injected Client $dartAppInstanceId: set registerEntrypoint'); + + // Setup hot restart + final restarter = switch (appInfo.moduleStrategy) { + 'require-js' => await RequireRestarter.create(), + 'legacy' => LegacyRestarter(), + _ => throw StateError('Unknown module strategy: ${appInfo.moduleStrategy}'), + }; + final manager = ReloadingManager(connection.client, restarter); + hotRestartJs = allowInterop((String runId) { + return toPromise(manager.hotRestart(runId: runId)); + }); + + // Setup debug events + emitDebugEvent = allowInterop((String kind, String eventData) { + if (appInfo.emitDebugEvents) { + connection.sendDebugEvent(kind, eventData); + } + }); + + // Setup registerExtension events + emitRegisterEvent = allowInterop(connection.sendRegisterEvent); + + // setup launching devtools + launchDevToolsJs = allowInterop(() { + if (!_isChromium) { + window.alert( + 'Dart DevTools is only supported on Chromium based browsers.', + ); + return; + } + connection.sendDevToolsRequest(appInfo.appId, appInfo.appInstanceId); + }); + + // Listen to commands from dwds dev handler + connection.client.stream.listen( + (serialized) async { + final event = serializers.deserialize(jsonDecode(serialized)); + if (event is BuildResult) { + if (appInfo.reloadConfiguration == 'ReloadConfiguration.liveReload') { + manager.reloadPage(); + } else if (appInfo.reloadConfiguration == + 'ReloadConfiguration.hotRestart') { + await manager.hotRestart(); + } else if (appInfo.reloadConfiguration == + 'ReloadConfiguration.hotReload') { + print('Hot reload is currently unsupported. Ignoring change.'); + } + } else if (event is DevToolsResponse) { + if (!event.success) { + final alert = 'DevTools failed to open with:\n${event.error}'; + if (event.promptExtension && window.confirm(alert)) { + window.open('https://goo.gle/dart-debug-extension', '_blank'); + } else { + window.alert(alert); + } + } + } else if (event is RunRequest) { + runMain(); + } else if (event is ErrorResponse) { + window.console.error('Error from backend:\n\nError: ${event.error}\n\n' + 'Stack Trace:\n${event.stackTrace}'); + } + }, + onError: (error) { + // An error is propagated on a full page reload as Chrome presumably + // forces the SSE connection to close in a bad state. This does not cause + // any adverse effects so simply swallow this error as to not print the + // misleading unhandled error message. + }, + ); + + // Launch devtools on key press + if (appInfo.enableDevToolsLaunch) { + window.onKeyDown.listen((Event e) { + if (e is KeyboardEvent && + const [ + 'd', + 'D', + '∂', // alt-d output on Mac + 'Î', // shift-alt-D output on Mac + ].contains(e.key) && + e.altKey && + !e.ctrlKey && + !e.metaKey) { + e.preventDefault(); + launchDevToolsJs(); + } + }); } -} -/// Returns [url] modified if necessary so that, if the current page is served -/// over `https`, then the URL is converted to `https`. -String _fixProtocol(String url) { - var uri = Uri.parse(url); - if (window.location.protocol == 'https:' && - uri.scheme == 'http' && - // Chrome allows mixed content on localhost. It is not safe to assume the - // server is also listening on https. - uri.host != 'localhost') { - uri = uri.replace(scheme: 'https'); - } else if (window.location.protocol == 'wss:' && - uri.scheme == 'ws' && - uri.host != 'localhost') { - uri = uri.replace(scheme: 'wss'); + // Connect to the server + if (_isChromium) { + print( + 'Injected Client $dartAppInstanceId: sending connect request with ${appInfo.appName} (${appInfo.entrypoints})'); + connection.sendConnectRequest( + appInfo.appName, + appInfo.appId, + appInfo.appInstanceId, + appInfo.entrypoints, + ); + } else { + // If not Chromium we just invoke main, devtools aren't supported. + runMain(); } - return uri.toString(); + _launchCommunicationWithDebugExtension(appInfo); } -void _launchCommunicationWithDebugExtension() { +void _launchCommunicationWithDebugExtension(AppInfo appInfo) { // Listen for an event from the Dart Debug Extension to authenticate the // user (sent once the extension receives the dart-app-read event): - _listenForDebugExtensionAuthRequest(); + _listenForDebugExtensionAuthRequest(appInfo); // Send the dart-app-ready event along with debug info to the Dart Debug // Extension so that it can debug the Dart app: @@ -263,23 +203,36 @@ void _launchCommunicationWithDebugExtension() { serializers.serialize( DebugInfo( (b) => b - ..appEntrypointPath = dartEntrypointPath - ..appId = _appId - ..appInstanceId = dartAppInstanceId + ..appEntrypointPath = appInfo.appName + ..appId = appInfo.appId + ..appInstanceId = appInfo.appInstanceId ..appOrigin = window.location.origin ..appUrl = window.location.href - ..authUrl = _authUrl - ..extensionUrl = _extensionUrl - ..isInternalBuild = _isInternalBuild - ..isFlutterApp = _isFlutterApp - ..workspaceName = dartWorkspaceName, + ..authUrl = authUrl(appInfo.extensionUrl) + ..extensionUrl = appInfo.extensionUrl + ..isInternalBuild = appInfo.isInternalBuild + ..isFlutterApp = appInfo.isFlutterApp + ..workspaceName = appInfo.workspaceName, ), ), ); dispatchEvent(CustomEvent('dart-app-ready', detail: debugInfoJson)); } -void _listenForDebugExtensionAuthRequest() { +String? authUrl(String? extensionUrl) { + if (extensionUrl == null) return null; + final authUrl = Uri.parse(extensionUrl).replace(path: authenticationPath); + switch (authUrl.scheme) { + case 'ws': + return authUrl.replace(scheme: 'http').toString(); + case 'wss': + return authUrl.replace(scheme: 'https').toString(); + default: + return authUrl.toString(); + } +} + +void _listenForDebugExtensionAuthRequest(AppInfo appInfo) { window.addEventListener( 'message', allowInterop((event) async { @@ -288,8 +241,9 @@ void _listenForDebugExtensionAuthRequest() { if (messageEvent.data as String != 'dart-auth-request') return; // Notify the Dart Debug Extension of authentication status: - if (_authUrl != null) { - final isAuthenticated = await _authenticateUser(_authUrl!); + final auth = authUrl(appInfo.extensionUrl); + if (auth != null) { + final isAuthenticated = await _authenticateUser(auth); dispatchEvent( CustomEvent('dart-auth-response', detail: '$isAuthenticated'), ); @@ -308,20 +262,131 @@ Future _authenticateUser(String authUrl) async { return responseText.contains('Dart Debug Authentication Success!'); } +class DevHandlerConnection { + late final SocketClient client; + + final debugEventController = + BatchedStreamController(delay: _batchDelayMilliseconds); + + DevHandlerConnection(String devHandlerPath) { + final fixedPath = _fixProtocol(devHandlerPath); + final fixedUri = Uri.parse(fixedPath); + client = fixedUri.isScheme('ws') || fixedUri.isScheme('wss') + ? WebSocketClient(WebSocketChannel.connect(fixedUri)) + : SseSocketClient(SseClient(fixedPath, debugKey: 'InjectedClient')); + + debugEventController.stream.listen(_sendBatchedDebugEvents); + } + + void sendConnectRequest( + String appName, + String appId, + String? appInstanceId, + List entrypoints, + ) { + _serializeAndTrySendEvent(ConnectRequest( + (b) => b + ..appName = appName + ..appId = appId + ..instanceId = appInstanceId + ..entrypoints = ListBuilder(entrypoints), + )); + } + + void sendRegisterEntrypointRequest( + String appName, + String entrypointPath, + ) { + _serializeAndTrySendEvent(RegisterEntrypointRequest( + (b) => b + ..appName = appName + ..entrypointPath = entrypointPath, + )); + } + + void _sendBatchedDebugEvents( + List events, + ) { + _serializeAndTrySendEvent(BatchedDebugEvents( + (b) => b.events = ListBuilder(events), + )); + } + + void sendDebugEvent(String kind, String eventData) { + _trySendEvent( + debugEventController.sink, + DebugEvent( + (b) => b + ..timestamp = (DateTime.now().millisecondsSinceEpoch) + ..kind = kind + ..eventData = eventData, + )); + } + + void sendRegisterEvent(String eventData) { + _serializeAndTrySendEvent(RegisterEvent( + (b) => b + ..timestamp = (DateTime.now().millisecondsSinceEpoch) + ..eventData = eventData, + )); + } + + void sendDevToolsRequest(String appId, String appInstanceId) { + _serializeAndTrySendEvent(DevToolsRequest( + (b) => b + ..appId = appId + ..instanceId = appInstanceId, + )); + } + + void _trySendEvent(StreamSink sink, T event) { + try { + sink.add(event); + } on StateError catch (_) { + // An error is propagated on a full page reload as Chrome presumably + // forces the SSE connection to close in a bad state. + print('Cannot send event $event. ' + 'Injected client connection is closed.'); + } + } + + void _serializeAndTrySendEvent(T object) { + _trySendEvent(client.sink, jsonEncode(serializers.serialize(object))); + } + + /// Returns [url] modified if necessary so that, if the current page is served + /// over `https`, then the URL is converted to `https`. + String _fixProtocol(String url) { + var uri = Uri.parse(url); + if (window.location.protocol == 'https:' && + uri.scheme == 'http' && + // Chrome allows mixed content on localhost. It is not safe to assume the + // server is also listening on https. + uri.host != 'localhost') { + uri = uri.replace(scheme: 'https'); + } else if (window.location.protocol == 'wss:' && + uri.scheme == 'ws' && + uri.host != 'localhost') { + uri = uri.replace(scheme: 'wss'); + } + return uri.toString(); + } +} + @JS(r'$dartAppId') -external String get dartAppId; +external String? get dartAppId; // used in extension and tests -@JS(r'$dartAppInstanceId') -external String? get dartAppInstanceId; +@JS(r'$dartAppId') +external set dartAppId(String? id); // used in extension and tests -@JS(r'$dwdsDevHandlerPath') -external String get dwdsDevHandlerPath; +@JS(r'$dartAppInstanceId') +external String? get dartAppInstanceId; // used in extension and tests @JS(r'$dartAppInstanceId') -external set dartAppInstanceId(String? id); +external set dartAppInstanceId(String? id); // used in extension and tests -@JS(r'$dartModuleStrategy') -external String get dartModuleStrategy; +@JS(r'$loadModuleConfig') // used by require restarter +external set loadModuleConfig(Object Function(String module) load); @JS(r'$dartHotRestartDwds') external set hotRestartJs(Promise Function(String runId) cb); @@ -332,58 +397,45 @@ external void Function() get launchDevToolsJs; @JS(r'$launchDevTools') external set launchDevToolsJs(void Function() cb); -@JS(r'$dartReloadConfiguration') -external String get reloadConfiguration; - -@JS(r'$dartEntrypointPath') -external String get dartEntrypointPath; - -@JS(r'$dwdsEnableDevToolsLaunch') -external bool get dwdsEnableDevToolsLaunch; - @JS('window.top.document.dispatchEvent') external void dispatchEvent(CustomEvent event); -@JS(r'$dartEmitDebugEvents') -external bool get dartEmitDebugEvents; - @JS(r'$emitDebugEvent') external set emitDebugEvent(void Function(String, String) func); @JS(r'$emitRegisterEvent') external set emitRegisterEvent(void Function(String) func); -@JS(r'$isInternalBuild') -external bool get isInternalBuild; - -@JS(r'$isFlutterApp') -external bool get isFlutterApp; +@JS(r'$dartAppInfo') +external AppInfo get dartAppInfo; -@JS(r'$dartWorkspaceName') -external String? get dartWorkspaceName; +@JS(r'$dartRegisterEntrypoint') +external set registerEntrypoint( + void Function( + String appName, + String entrypointPath, + ) func, +); bool get _isChromium => window.navigator.vendor.contains('Google'); -JsObject get _windowContext => JsObject.fromBrowserObject(window); - -bool? get _isInternalBuild => _windowContext['\$isInternalBuild']; - -bool? get _isFlutterApp => _windowContext['\$isFlutterApp']; - -String? get _appId => _windowContext['\$dartAppId']; - -String? get _extensionUrl => _windowContext['\$dartExtensionUri']; - -String? get _authUrl { - final extensionUrl = _extensionUrl; - if (extensionUrl == null) return null; - final authUrl = Uri.parse(extensionUrl).replace(path: authenticationPath); - switch (authUrl.scheme) { - case 'ws': - return authUrl.replace(scheme: 'http').toString(); - case 'wss': - return authUrl.replace(scheme: 'https').toString(); - default: - return authUrl.toString(); - } +@JS() +@anonymous +class AppInfo { + external String get moduleStrategy; + external String get reloadConfiguration; + external Object Function(String module) get loadModuleConfig; + external String get dwdsVersion; + external bool get enableDevToolsLaunch; + external bool get emitDebugEvents; + external bool get isInternalBuild; + external String get appName; + external String get appId; + external set appInstanceId(String id); + external String get appInstanceId; + external bool get isFlutterApp; + external String? get extensionUrl; + external String get devHandlerPath; + external List get entrypoints; + external String? get workspaceName; } From abdda75f8fee326b423288302a443b8488fb7e0e Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Wed, 13 Dec 2023 11:19:03 -0800 Subject: [PATCH 02/16] Try migration to package:web --- dwds/lib/src/injected/client.js | 3461 ++++++---------------- dwds/pubspec.yaml | 1 + dwds/web/client.dart | 53 +- dwds/web/reloader/legacy_restarter.dart | 6 +- dwds/web/reloader/manager.dart | 2 +- dwds/web/reloader/require_restarter.dart | 49 +- dwds/web/run_main.dart | 58 +- dwds/web/web_utils.dart | 54 + fixtures/_webdevSoundSmoke/web/main.dart | 2 +- 9 files changed, 1125 insertions(+), 2561 deletions(-) create mode 100644 dwds/web/web_utils.dart diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 0b0253f8f..0fc32f39d 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-57.0.dev. +// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-197.0.dev. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -34,8 +34,9 @@ var keys = Object.keys(from); for (var i = 0; i < keys.length; i++) { var key = keys[i]; - if (!to.hasOwnProperty(key)) + if (!to.hasOwnProperty(key)) { to[key] = from[key]; + } } } function mixinPropertiesEasy(from, to) { @@ -74,8 +75,9 @@ } } function inheritMany(sup, classes) { - for (var i = 0; i < classes.length; i++) + for (var i = 0; i < classes.length; i++) { inherit(classes[i], sup); + } } function mixinEasy(cls, mixin) { mixinPropertiesEasy(mixin.prototype, cls.prototype); @@ -98,11 +100,13 @@ if (holder[name] === uninitializedSentinel) { result = holder[name] = sentinelInProgress; result = holder[name] = initializer(); - } else + } else { result = holder[name]; + } } finally { - if (result === sentinelInProgress) + if (result === sentinelInProgress) { holder[name] = null; + } holder[getterName] = function() { return this[name]; }; @@ -114,8 +118,9 @@ var uninitializedSentinel = holder; holder[name] = uninitializedSentinel; holder[getterName] = function() { - if (holder[name] === uninitializedSentinel) + if (holder[name] === uninitializedSentinel) { holder[name] = initializer(); + } holder[getterName] = function() { return this[name]; }; @@ -128,8 +133,9 @@ holder[getterName] = function() { if (holder[name] === uninitializedSentinel) { var value = initializer(); - if (holder[name] !== uninitializedSentinel) + if (holder[name] !== uninitializedSentinel) { A.throwLateFieldADI(name); + } holder[name] = value; } var finalValue = holder[name]; @@ -152,8 +158,9 @@ return properties; } function convertAllToFastObject(arrayOfObjects) { - for (var i = 0; i < arrayOfObjects.length; ++i) + for (var i = 0; i < arrayOfObjects.length; ++i) { convertToFastObject(arrayOfObjects[i]); + } } var functionCounter = 0; function instanceTearOffGetter(isIntercepted, parameters) { @@ -178,8 +185,9 @@ } var typesOffset = 0; function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) { - if (typeof funType == "number") + if (typeof funType == "number") { funType += typesOffset; + } return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess}; } function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) { @@ -436,12 +444,6 @@ return J.UnknownJavaScriptObject.prototype; return receiver; }, - set$_innerHtml$x(receiver, value) { - return J.getInterceptor$x(receiver).set$_innerHtml(receiver, value); - }, - get$attributes$x(receiver) { - return J.getInterceptor$x(receiver).get$attributes(receiver); - }, get$digestsPath$x(receiver) { return J.getInterceptor$x(receiver).get$digestsPath(receiver); }, @@ -454,9 +456,6 @@ get$isEmpty$asx(receiver) { return J.getInterceptor$asx(receiver).get$isEmpty(receiver); }, - get$isNotEmpty$asx(receiver) { - return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver); - }, get$iterator$ax(receiver) { return J.getInterceptor$ax(receiver).get$iterator(receiver); }, @@ -498,26 +497,11 @@ $indexSet$ax(receiver, a0, a1) { return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1); }, - _clearChildren$0$x(receiver) { - return J.getInterceptor$x(receiver)._clearChildren$0(receiver); - }, - _initCustomEvent$4$x(receiver, a0, a1, a2, a3) { - return J.getInterceptor$x(receiver)._initCustomEvent$4(receiver, a0, a1, a2, a3); - }, - _removeEventListener$3$x(receiver, a0, a1, a2) { - return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1, a2); - }, - addEventListener$3$x(receiver, a0, a1, a2) { - return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2); - }, allMatches$1$s(receiver, a0) { return J.getInterceptor$s(receiver).allMatches$1(receiver, a0); }, - cast$1$0$ax(receiver, $T1) { - return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1); - }, - cast$2$0$ax(receiver, $T1, $T2) { - return J.getInterceptor$ax(receiver).cast$2$0(receiver, $T1, $T2); + cast$2$0$x(receiver, $T1, $T2) { + return J.getInterceptor$x(receiver).cast$2$0(receiver, $T1, $T2); }, compareTo$1$ns(receiver, a0) { return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0); @@ -534,15 +518,12 @@ elementAt$1$ax(receiver, a0) { return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); }, - forEach$1$ax(receiver, a0) { - return J.getInterceptor$ax(receiver).forEach$1(receiver, a0); + forEach$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).forEach$1(receiver, a0); }, forceLoadModule$3$x(receiver, a0, a1, a2) { return J.getInterceptor$x(receiver).forceLoadModule$3(receiver, a0, a1, a2); }, - getRange$2$ax(receiver, a0, a1) { - return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1); - }, keys$0$x(receiver) { return J.getInterceptor$x(receiver).keys$0(receiver); }, @@ -561,15 +542,15 @@ noSuchMethod$1$(receiver, a0) { return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0); }, - remove$0$x(receiver) { - return J.getInterceptor$x(receiver).remove$0(receiver); - }, skip$1$ax(receiver, a0) { return J.getInterceptor$ax(receiver).skip$1(receiver, a0); }, sort$1$ax(receiver, a0) { return J.getInterceptor$ax(receiver).sort$1(receiver, a0); }, + take$1$ax(receiver, a0) { + return J.getInterceptor$ax(receiver).take$1(receiver, a0); + }, then$1$1$x(receiver, a0, $T1) { return J.getInterceptor$x(receiver).then$1$1(receiver, a0, $T1); }, @@ -579,9 +560,6 @@ toList$0$ax(receiver) { return J.getInterceptor$ax(receiver).toList$0(receiver); }, - toLowerCase$0$s(receiver) { - return J.getInterceptor$s(receiver).toLowerCase$0(receiver); - }, toRadixString$1$n(receiver, a0) { return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0); }, @@ -688,23 +666,9 @@ return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>")); }, - SkipIterable_SkipIterable(iterable, count, $E) { - var _s5_ = "count"; - if (type$.EfficientLengthIterable_dynamic._is(iterable)) { - A.ArgumentError_checkNotNull(count, _s5_, type$.int); - A.RangeError_checkNotNegative(count, _s5_); - return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>")); - } - A.ArgumentError_checkNotNull(count, _s5_, type$.int); - A.RangeError_checkNotNegative(count, _s5_); - return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>")); - }, IterableElementError_noElement() { return new A.StateError("No element"); }, - IterableElementError_tooMany() { - return new A.StateError("Too many elements"); - }, IterableElementError_tooFew() { return new A.StateError("Too few elements"); }, @@ -965,16 +929,6 @@ this.__internal$_source = t0; this.$ti = t1; }, - _CastListBase: function _CastListBase() { - }, - _CastListBase_sort_closure: function _CastListBase_sort_closure(t0, t1) { - this.$this = t0; - this.compare = t1; - }, - CastList: function CastList(t0, t1) { - this.__internal$_source = t0; - this.$ti = t1; - }, CastMap: function CastMap(t0, t1) { this.__internal$_source = t0; this.$ti = t1; @@ -1031,31 +985,6 @@ this._f = t1; this.$ti = t2; }, - WhereIterable: function WhereIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._f = t1; - this.$ti = t2; - }, - WhereIterator: function WhereIterator(t0, t1, t2) { - this._iterator = t0; - this._f = t1; - this.$ti = t2; - }, - SkipIterable: function SkipIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._skipCount = t1; - this.$ti = t2; - }, - EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) { - this.__internal$_iterable = t0; - this._skipCount = t1; - this.$ti = t2; - }, - SkipIterator: function SkipIterator(t0, t1, t2) { - this._iterator = t0; - this._skipCount = t1; - this.$ti = t2; - }, EmptyIterable: function EmptyIterable(t0) { this.$ti = t0; }, @@ -1075,8 +1004,6 @@ Symbol: function Symbol(t0) { this._name = t0; }, - __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() { - }, ConstantMap__throwUnmodifiable() { throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable Map")); }, @@ -2051,10 +1978,8 @@ else if (other instanceof A.JSSyntaxRegExp) { t1 = B.JSString_methods.substring$1(receiver, startIndex); return other._nativeRegExp.test(t1); - } else { - t1 = J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex)); - return !t1.get$isEmpty(t1); - } + } else + return !J.allMatches$1$s(other, B.JSString_methods.substring$1(receiver, startIndex)).get$isEmpty(0); }, quoteStringForRegExp(string) { if (/[[\]{}()*+?.\\^$|]/.test(string)) @@ -2697,11 +2622,6 @@ _failedAsCheck(object, testRti) { throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null)))); }, - checkTypeBound(type, bound, variable, methodName) { - if (A.isSubtype(init.typeUniverse, type, bound)) - return type; - throw A.wrapException(A._TypeError$fromMessage("The type argument '" + A._rtiToString(type, null) + "' is not a subtype of the type variable bound '" + A._rtiToString(bound, null) + "' of type variable '" + variable + "' in '" + methodName + "'.")); - }, _Error_compose(object, checkedTypeDescription) { return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'"; }, @@ -3603,27 +3523,19 @@ throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0))); }, isSubtype(universe, s, t) { - var result, t1, _null = null, + var result, sCache = s._isSubtypeCache; if (sCache == null) sCache = s._isSubtypeCache = new Map(); result = sCache.get(t); if (result == null) { - result = A._isSubtype(universe, s, _null, t, _null, false) ? 1 : 0; + result = A._isSubtype(universe, s, null, t, null, false) ? 1 : 0; sCache.set(t, result); } - t1 = J.getInterceptor$(result); - if (t1.$eq(result, 0)) + if (0 === result) return false; - if (t1.$eq(result, 1)) + if (1 === result) return true; - A._rtiToString(s, _null); - A._rtiToString(t, _null); - A.StackTrace_current(); - if (!$._reportingExtraNullSafetyError) { - $._reportingExtraNullSafetyError = true; - $._reportingExtraNullSafetyError = false; - } return true; }, _isSubtype(universe, s, sEnv, t, tEnv, isLegacy) { @@ -3914,9 +3826,6 @@ _TypeError: function _TypeError(t0) { this.__rti$_message = t0; }, - _InconsistentSubtypingError: function _InconsistentSubtypingError(t0) { - this.__rti$_message = t0; - }, _AsyncRun__initializeScheduleImmediate() { var div, span, t1 = {}; if (self.scheduleImmediate != null) @@ -3992,7 +3901,7 @@ _wrapJsFunctionForAsync($function) { var $protected = function(fn, ERROR) { return function(errorCode, result) { - while (true) + while (true) { try { fn(errorCode, result); break; @@ -4000,6 +3909,7 @@ result = error; errorCode = ERROR; } + } }; }($function, 1); return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic); @@ -4026,12 +3936,8 @@ var result, error, stackTrace, future, replacement, t1, exception; try { result = computation.call$0(); - if ($T._eval$1("Future<0>")._is(result)) - return result; - else { - t1 = A._Future$value(result, $T); - return t1; - } + t1 = $T._eval$1("Future<0>")._is(result) ? result : A._Future$value(result, $T); + return t1; } catch (exception) { error = A.unwrapException(exception); stackTrace = A.getTraceFromException(exception); @@ -4963,10 +4869,6 @@ result.add$1(0, $E._as(elements[_i])); return result; }, - ListBase__compareAny(a, b) { - var t1 = type$.Comparable_dynamic; - return J.compareTo$1$ns(t1._as(a), t1._as(b)); - }, MapBase_mapToString(m) { var result, t1 = {}; if (A.isToStringVisiting(m)) @@ -4976,7 +4878,7 @@ B.JSArray_methods.add$1($.toStringVisiting, m); result._contents += "{"; t1.first = true; - J.forEach$1$ax(m, new A.MapBase_mapToString_closure(t1, result)); + J.forEach$1$x(m, new A.MapBase_mapToString_closure(t1, result)); result._contents += "}"; } finally { if (0 >= $.toStringVisiting.length) @@ -4992,9 +4894,8 @@ ListQueue__calculateCapacity(initialCapacity) { return 8; }, - SplayTreeSet$(compare, isValidKey, $E) { - var t1 = isValidKey == null ? new A.SplayTreeSet_closure($E) : isValidKey; - return new A.SplayTreeSet(compare, t1, $E._eval$1("SplayTreeSet<0>")); + SplayTreeSet$(compare, $E) { + return new A.SplayTreeSet(compare, new A.SplayTreeSet_closure($E), $E._eval$1("SplayTreeSet<0>")); }, _HashMap: function _HashMap(t0) { var _ = this; @@ -5040,7 +4941,7 @@ }, _HashSetIterator: function _HashSetIterator(t0, t1, t2) { var _ = this; - _._set = t0; + _._collection$_set = t0; _._collection$_elements = t1; _._offset = 0; _._collection$_current = null; @@ -5054,12 +4955,12 @@ _.$ti = t0; }, _LinkedHashSetCell: function _LinkedHashSetCell(t0) { - this._collection$_element = t0; + this._element = t0; this._collection$_next = null; }, _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) { var _ = this; - _._set = t0; + _._collection$_set = t0; _._collection$_modifications = t1; _._collection$_current = _._collection$_cell = null; _.$ti = t2; @@ -5981,39 +5882,37 @@ return list; }, String_String$fromCharCodes(charCodes, start, end) { - var array, len; + var t1, t2, maxLength, array, len; + A.RangeError_checkNotNegative(start, "start"); + t1 = end == null; + t2 = !t1; + if (t2) { + maxLength = end - start; + if (maxLength < 0) + throw A.wrapException(A.RangeError$range(end, start, null, "end", null)); + if (maxLength === 0) + return ""; + } if (Array.isArray(charCodes)) { array = charCodes; len = array.length; - end = A.RangeError_checkValidRange(start, end, len); + if (t1) + end = len; return A.Primitives_stringFromCharCodes(start > 0 || end < len ? array.slice(start, end) : array); } if (type$.NativeUint8List._is(charCodes)) - return A.Primitives_stringFromNativeUint8List(charCodes, start, A.RangeError_checkValidRange(start, end, charCodes.length)); - return A.String__stringFromIterable(charCodes, start, end); - }, - String__stringFromIterable(charCodes, start, end) { - var t1, it, i, list, _null = null; - if (start < 0) - throw A.wrapException(A.RangeError$range(start, 0, J.get$length$asx(charCodes), _null, _null)); - t1 = end == null; - if (!t1 && end < start) - throw A.wrapException(A.RangeError$range(end, start, J.get$length$asx(charCodes), _null, _null)); - it = J.get$iterator$ax(charCodes); - for (i = 0; i < start; ++i) - if (!it.moveNext$0()) - throw A.wrapException(A.RangeError$range(start, 0, i, _null, _null)); - list = []; - if (t1) - for (; it.moveNext$0();) - list.push(it.get$current(it)); - else - for (i = start; i < end; ++i) { - if (!it.moveNext$0()) - throw A.wrapException(A.RangeError$range(end, start, i, _null, _null)); - list.push(it.get$current(it)); - } - return A.Primitives_stringFromCharCodes(list); + return A.String__stringFromUint8List(charCodes, start, end); + if (t2) + charCodes = J.take$1$ax(charCodes, end); + if (start > 0) + charCodes = J.skip$1$ax(charCodes, start); + return A.Primitives_stringFromCharCodes(A.List_List$of(charCodes, true, type$.int)); + }, + String__stringFromUint8List(charCodes, start, endOrNull) { + var len = charCodes.length; + if (start >= len) + return ""; + return A.Primitives_stringFromNativeUint8List(charCodes, start, endOrNull == null || endOrNull > len ? len : endOrNull); }, RegExp_RegExp(source, caseSensitive, multiLine) { return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false, false, false)); @@ -7577,158 +7476,18 @@ this._jsWeakMap = t0; this.$ti = t1; }, - CustomEvent_CustomEvent(type, detail) { - var e, t1, exception, - canBubble = true, - cancelable = true; - detail = detail; - t1 = document.createEvent("CustomEvent"); - t1.toString; - e = type$.CustomEvent._as(t1); - e._dartDetail = detail; - if (type$.List_dynamic._is(detail) || type$.Map_dynamic_dynamic._is(detail) || typeof detail == "string" || typeof detail == "number") - try { - detail = new A._StructuredCloneDart2Js([], []).walk$1(detail); - J._initCustomEvent$4$x(e, type, canBubble, cancelable, detail); - } catch (exception) { - J._initCustomEvent$4$x(e, type, canBubble, cancelable, null); - } - else - J._initCustomEvent$4$x(e, type, canBubble, cancelable, null); - return e; - }, - Element_Element$html(html, treeSanitizer, validator) { - var t2, - t1 = document.body; - t1.toString; - t2 = type$._ChildNodeListLazy; - t2 = new A.WhereIterable(new A._ChildNodeListLazy(B.BodyElement_methods.createFragment$3$treeSanitizer$validator(t1, html, treeSanitizer, validator)), t2._eval$1("bool(ListBase.E)")._as(new A.Element_Element$html_closure()), t2._eval$1("WhereIterable")); - return type$.Element._as(t2.get$single(t2)); - }, - Element__safeTagName(element) { - var t1, exception, - result = "element tag unavailable"; - try { - t1 = element.tagName; - t1.toString; - result = t1; - } catch (exception) { - } - return result; - }, - EventSource__factoryEventSource(url, eventSourceInitDict) { - var t1 = new EventSource(url, A.convertDartToNative_Dictionary(eventSourceInitDict)); - t1.toString; - return t1; - }, - HttpRequest_request(url, method, responseType, withCredentials) { - var t3, t4, - t1 = new A._Future($.Zone__current, type$._Future_HttpRequest), - completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest), - t2 = new XMLHttpRequest(); - t2.toString; - B.HttpRequest_methods.open$3$async(t2, method, url, true); - if (withCredentials != null) - B.HttpRequest_methods.set$withCredentials(t2, withCredentials); - if (responseType != null) - t2.responseType = responseType; - t3 = type$.nullable_void_Function_ProgressEvent; - t4 = type$.ProgressEvent; - A._EventStreamSubscription$(t2, "load", t3._as(new A.HttpRequest_request_closure(t2, completer)), false, t4); - A._EventStreamSubscription$(t2, "error", t3._as(completer.get$completeError()), false, t4); - t2.send(); - return t1; - }, - ScriptElement___new_tearOff() { - var t1 = document.createElement("script"); - t1.toString; - return t1; - }, WebSocket_WebSocket(url, protocols) { var t1 = new WebSocket(url); t1.toString; return t1; }, - _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) { - var t1 = onData == null ? null : A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.Event); - t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>")); - t1._tryResume$0(); - return t1; - }, - _Html5NodeValidator$(uriPolicy) { - var t1 = document.createElement("a"); - t1.toString; - t1 = new A._SameOriginUriPolicy(t1, type$.Location._as(window.location)); - t1 = new A._Html5NodeValidator(t1); - t1._Html5NodeValidator$1$uriPolicy(uriPolicy); - return t1; - }, - _Html5NodeValidator__standardAttributeValidator(element, attributeName, value, context) { - type$.Element._as(element); - A._asString(attributeName); - A._asString(value); - type$._Html5NodeValidator._as(context); - return true; - }, - _Html5NodeValidator__uriAttributeValidator(element, attributeName, value, context) { - var t1, t2, t3, t4, t5; - type$.Element._as(element); - A._asString(attributeName); - A._asString(value); - t1 = type$._Html5NodeValidator._as(context).uriPolicy; - t2 = t1._hiddenAnchor; - B.AnchorElement_methods.set$href(t2, value); - t3 = t2.hostname; - t1 = t1._loc; - if (t3 == t1.hostname) { - t4 = t2.port; - t5 = t1.port; - t5.toString; - if (t4 === t5) { - t4 = t2.protocol; - t1 = t1.protocol; - t1.toString; - t1 = t4 === t1; - } else - t1 = false; - } else - t1 = false; - if (!t1) - if (t3 === "") - if (t2.port === "") { - t1 = t2.protocol; - t1 = t1 === ":" || t1 === ""; - } else - t1 = false; - else - t1 = false; - else - t1 = true; - return t1; - }, - _TemplatingNodeValidator$() { - var t1 = type$.String, - t2 = A.LinkedHashSet_LinkedHashSet$from(B.List_AuK, t1), - t3 = A._setArrayType(["TEMPLATE"], type$.JSArray_String), - t4 = type$.String_Function_String._as(new A._TemplatingNodeValidator_closure()); - t1 = new A._TemplatingNodeValidator(t2, A.LinkedHashSet_LinkedHashSet(t1), A.LinkedHashSet_LinkedHashSet(t1), A.LinkedHashSet_LinkedHashSet(t1), null); - t1._SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(null, new A.MappedListIterable(B.List_AuK, t4, type$.MappedListIterable_String_String), t3, null); + _EventStreamSubscription$0(_target, _eventType, onData, _useCapture, $T) { + var t1 = onData == null ? null : A._wrapZone0(new A._EventStreamSubscription_closure0(onData), type$.Event); + t1 = new A._EventStreamSubscription0(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription0<0>")); + t1._html$_tryResume$0(); return t1; }, - _convertNativeToDart_XHR_Response(o) { - if (type$.Document._is(o)) - return o; - return new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(o, true); - }, - _DOMWindowCrossFrame__createSafe(w) { - var t1 = window; - t1.toString; - if (w === t1) - return type$.WindowBase._as(w); - else - return new A._DOMWindowCrossFrame(); - }, - _wrapZone(callback, $T) { + _wrapZone0(callback, $T) { var t1 = $.Zone__current; if (t1 === B.C__RootZone) return callback; @@ -7742,12 +7501,8 @@ }, AreaElement: function AreaElement() { }, - BaseElement: function BaseElement() { - }, Blob: function Blob() { }, - BodyElement: function BodyElement() { - }, CharacterData: function CharacterData() { }, CloseEvent: function CloseEvent() { @@ -7768,16 +7523,10 @@ }, CssUnparsedValue: function CssUnparsedValue() { }, - CustomEvent: function CustomEvent() { - }, DataTransferItemList: function DataTransferItemList() { }, - Document: function Document() { - }, DomException: function DomException() { }, - DomImplementation: function DomImplementation() { - }, DomRectList: function DomRectList() { }, DomRectReadOnly: function DomRectReadOnly() { @@ -7786,18 +7535,10 @@ }, DomTokenList: function DomTokenList() { }, - _FrozenElementList: function _FrozenElementList(t0, t1) { - this._nodeList = t0; - this.$ti = t1; - }, Element: function Element() { }, - Element_Element$html_closure: function Element_Element$html_closure() { - }, Event: function Event() { }, - EventSource: function EventSource() { - }, EventTarget: function EventTarget() { }, File: function File() { @@ -7814,28 +7555,14 @@ }, HtmlCollection: function HtmlCollection() { }, - HtmlDocument: function HtmlDocument() { - }, - HttpRequest: function HttpRequest() { - }, - HttpRequest_request_closure: function HttpRequest_request_closure(t0, t1) { - this.xhr = t0; - this.completer = t1; - }, - HttpRequestEventTarget: function HttpRequestEventTarget() { - }, ImageData: function ImageData() { }, - KeyboardEvent: function KeyboardEvent() { - }, Location: function Location() { }, MediaList: function MediaList() { }, MessageEvent: function MessageEvent() { }, - MessagePort: function MessagePort() { - }, MidiInputMap: function MidiInputMap() { }, MidiInputMap_keys_closure: function MidiInputMap_keys_closure(t0) { @@ -7850,9 +7577,6 @@ }, MimeTypeArray: function MimeTypeArray() { }, - _ChildNodeListLazy: function _ChildNodeListLazy(t0) { - this._this = t0; - }, Node: function Node() { }, NodeList: function NodeList() { @@ -7861,19 +7585,13 @@ }, PluginArray: function PluginArray() { }, - ProgressEvent: function ProgressEvent() { - }, RtcStatsReport: function RtcStatsReport() { }, RtcStatsReport_keys_closure: function RtcStatsReport_keys_closure(t0) { this.keys = t0; }, - ScriptElement: function ScriptElement() { - }, SelectElement: function SelectElement() { }, - SharedArrayBuffer: function SharedArrayBuffer() { - }, SourceBuffer: function SourceBuffer() { }, SourceBufferList: function SourceBufferList() { @@ -7891,14 +7609,6 @@ }, StyleSheet: function StyleSheet() { }, - TableElement: function TableElement() { - }, - TableRowElement: function TableRowElement() { - }, - TableSectionElement: function TableSectionElement() { - }, - TemplateElement: function TemplateElement() { - }, TextTrack: function TextTrack() { }, TextTrackCue: function TextTrackCue() { @@ -7915,8 +7625,6 @@ }, TrackDefaultList: function TrackDefaultList() { }, - UIEvent: function UIEvent() { - }, Url: function Url() { }, VideoTrackList: function VideoTrackList() { @@ -7927,8 +7635,6 @@ }, WorkerGlobalScope: function WorkerGlobalScope() { }, - _Attr: function _Attr() { - }, _CssRuleList: function _CssRuleList() { }, _DomRect: function _DomRect() { @@ -7941,71 +7647,34 @@ }, _StyleSheetList: function _StyleSheetList() { }, - _AttributeMap: function _AttributeMap() { - }, - _ElementAttributeMap: function _ElementAttributeMap(t0) { - this._element = t0; - }, EventStreamProvider: function EventStreamProvider(t0, t1) { - this._eventType = t0; + this._html$_eventType = t0; this.$ti = t1; }, - _EventStream: function _EventStream(t0, t1, t2, t3) { + _EventStream0: function _EventStream0(t0, t1, t2, t3) { var _ = this; - _._target = t0; - _._eventType = t1; - _._useCapture = t2; + _._html$_target = t0; + _._html$_eventType = t1; + _._html$_useCapture = t2; _.$ti = t3; }, - _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) { + _EventStreamSubscription0: function _EventStreamSubscription0(t0, t1, t2, t3, t4) { var _ = this; - _._pauseCount = 0; - _._target = t0; - _._eventType = t1; - _._onData = t2; - _._useCapture = t3; + _._html$_pauseCount = 0; + _._html$_target = t0; + _._html$_eventType = t1; + _._html$_onData = t2; + _._html$_useCapture = t3; _.$ti = t4; }, - _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) { + _EventStreamSubscription_closure0: function _EventStreamSubscription_closure0(t0) { this.onData = t0; }, - _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) { + _EventStreamSubscription_onData_closure0: function _EventStreamSubscription_onData_closure0(t0) { this.handleData = t0; }, - _Html5NodeValidator: function _Html5NodeValidator(t0) { - this.uriPolicy = t0; - }, ImmutableListMixin: function ImmutableListMixin() { }, - NodeValidatorBuilder: function NodeValidatorBuilder(t0) { - this._validators = t0; - }, - NodeValidatorBuilder_allowsElement_closure: function NodeValidatorBuilder_allowsElement_closure(t0) { - this.element = t0; - }, - NodeValidatorBuilder_allowsAttribute_closure: function NodeValidatorBuilder_allowsAttribute_closure(t0, t1, t2) { - this.element = t0; - this.attributeName = t1; - this.value = t2; - }, - _SimpleNodeValidator: function _SimpleNodeValidator() { - }, - _SimpleNodeValidator_closure: function _SimpleNodeValidator_closure() { - }, - _SimpleNodeValidator_closure0: function _SimpleNodeValidator_closure0() { - }, - _TemplatingNodeValidator: function _TemplatingNodeValidator(t0, t1, t2, t3, t4) { - var _ = this; - _._templateAttrs = t0; - _.allowedElements = t1; - _.allowedAttributes = t2; - _.allowedUriAttributes = t3; - _.uriPolicy = t4; - }, - _TemplatingNodeValidator_closure: function _TemplatingNodeValidator_closure() { - }, - _SvgNodeValidator: function _SvgNodeValidator() { - }, FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) { var _ = this; _._array = t0; @@ -8014,19 +7683,6 @@ _._current = null; _.$ti = t2; }, - _DOMWindowCrossFrame: function _DOMWindowCrossFrame() { - }, - _SameOriginUriPolicy: function _SameOriginUriPolicy(t0, t1) { - this._hiddenAnchor = t0; - this._loc = t1; - }, - _ValidatingTreeSanitizer: function _ValidatingTreeSanitizer(t0) { - this.validator = t0; - this.numTreeModifications = 0; - }, - _ValidatingTreeSanitizer_sanitizeTree_walk: function _ValidatingTreeSanitizer_sanitizeTree_walk(t0) { - this.$this = t0; - }, _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase: function _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase() { }, _DomRectList_JavaScriptObject_ListMixin: function _DomRectList_JavaScriptObject_ListMixin() { @@ -8144,26 +7800,6 @@ } return dict; }, - _convertDartToNative_Value(value) { - var array; - if (value == null) - return value; - if (typeof value == "string" || typeof value == "number" || A._isBool(value)) - return value; - if (type$.Map_dynamic_dynamic._is(value)) - return A.convertDartToNative_Dictionary(value); - if (type$.List_dynamic._is(value)) { - array = []; - J.forEach$1$ax(value, new A._convertDartToNative_Value_closure(array)); - value = array; - } - return value; - }, - convertDartToNative_Dictionary(dict) { - var object = {}; - J.forEach$1$ax(dict, new A.convertDartToNative_Dictionary_closure(object)); - return object; - }, isJavaScriptSimpleObject(value) { var proto = Object.getPrototypeOf(value), t1 = proto === Object.prototype; @@ -8175,32 +7811,12 @@ t1 = true; return t1; }, - _StructuredClone: function _StructuredClone() { - }, - _StructuredClone_walk_closure: function _StructuredClone_walk_closure(t0, t1) { - this._box_0 = t0; - this.$this = t1; - }, - _StructuredClone_walk_closure0: function _StructuredClone_walk_closure0(t0, t1) { - this._box_0 = t0; - this.$this = t1; - }, _AcceptStructuredClone: function _AcceptStructuredClone() { }, _AcceptStructuredClone_walk_closure: function _AcceptStructuredClone_walk_closure(t0, t1) { this.$this = t0; this.map = t1; }, - _convertDartToNative_Value_closure: function _convertDartToNative_Value_closure(t0) { - this.array = t0; - }, - convertDartToNative_Dictionary_closure: function convertDartToNative_Dictionary_closure(t0) { - this.object = t0; - }, - _StructuredCloneDart2Js: function _StructuredCloneDart2Js(t0, t1) { - this.values = t0; - this.copies = t1; - }, _AcceptStructuredCloneDart2Js: function _AcceptStructuredCloneDart2Js(t0, t1) { this.values = t0; this.copies = t1; @@ -8357,6 +7973,14 @@ jsPromise.then(A.convertDartClosureToJS(new A.promiseToFuture_closure(completer, $T), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1)); return t1; }, + _noDartifyRequired(o) { + return o == null || typeof o === "boolean" || typeof o === "number" || typeof o === "string" || o instanceof Int8Array || o instanceof Uint8Array || o instanceof Uint8ClampedArray || o instanceof Int16Array || o instanceof Uint16Array || o instanceof Int32Array || o instanceof Uint32Array || o instanceof Float32Array || o instanceof Float64Array || o instanceof ArrayBuffer || o instanceof DataView; + }, + dartify(o) { + if (A._noDartifyRequired(o)) + return o; + return new A.dartify_convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(o); + }, promiseToFuture_closure: function promiseToFuture_closure(t0, t1) { this.completer = t0; this.T = t1; @@ -8364,6 +7988,9 @@ promiseToFuture_closure0: function promiseToFuture_closure0(t0) { this.completer = t0; }, + dartify_convert: function dartify_convert(t0) { + this._convertedObjects = t0; + }, NullRejectionException: function NullRejectionException(t0) { this.isUndefined = t0; }, @@ -8392,12 +8019,8 @@ }, PointList: function PointList() { }, - ScriptElement0: function ScriptElement0() { - }, StringList: function StringList() { }, - SvgElement: function SvgElement() { - }, Transform: function Transform() { }, TransformList: function TransformList() { @@ -8614,7 +8237,7 @@ _BuiltSet: function _BuiltSet(t0, t1, t2) { var _ = this; _._setFactory = t0; - _._set$_set = t1; + _._set = t1; _._set$_hashCode = null; _.$ti = t2; }, @@ -8698,7 +8321,7 @@ else if (type$.Map_of_String_and_nullable_Object._is(value)) return new A.MapJsonObject(new A.UnmodifiableMapView(value, type$.UnmodifiableMapView_of_String_and_nullable_Object)); else if (type$.Map_dynamic_dynamic._is(value)) - return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$ax(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object)); + return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$x(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object)); else throw A.wrapException(A.ArgumentError$value(value, "value", "Must be bool, List, Map, num or String")); }, @@ -8736,6 +8359,7 @@ t2.add$1(0, new A.DoubleSerializer(A.BuiltList_BuiltList$from([B.Type_double_K1J], t1))); t2.add$1(0, new A.DurationSerializer(A.BuiltList_BuiltList$from([B.Type_Duration_SnA], t1))); t2.add$1(0, new A.IntSerializer(A.BuiltList_BuiltList$from([B.Type_int_tHn], t1))); + t2.add$1(0, new A.Int32Serializer(A.BuiltList_BuiltList$from([B.Type_Int32_Mhf], t1))); t2.add$1(0, new A.Int64Serializer(A.BuiltList_BuiltList$from([B.Type_Int64_ww8], t1))); t2.add$1(0, new A.JsonObjectSerializer(A.BuiltList_BuiltList$from([B.Type_JsonObject_gyf, B.Type_BoolJsonObject_8HQ, B.Type_ListJsonObject_yPV, B.Type_MapJsonObject_bBG, B.Type_NumJsonObject_H9C, B.Type_StringJsonObject_GAC], t1))); t2.add$1(0, new A.NullSerializer(A.BuiltList_BuiltList$from([B.Type_Null_Yyn], t1))); @@ -8796,6 +8420,10 @@ genericsStart = B.JSString_methods.indexOf$1($name, "<"); return genericsStart === -1 ? $name : B.JSString_methods.substring$2($name, 0, genericsStart); }, + _noSerializerMessageFor(typeName) { + var maybeRecordAdvice = B.JSString_methods.contains$1(typeName, "(") ? " Note that record types are not automatically serializable, please write and install your own `Serializer`." : ""; + return "No serializer for '" + typeName + "'." + maybeRecordAdvice; + }, BuiltJsonSerializers: function BuiltJsonSerializers(t0, t1, t2, t3, t4) { var _ = this; _._typeToSerializer = t0; @@ -8868,6 +8496,9 @@ DurationSerializer: function DurationSerializer(t0) { this.types = t0; }, + Int32Serializer: function Int32Serializer(t0) { + this.types = t0; + }, Int64Serializer: function Int64Serializer(t0) { this.types = t0; }, @@ -8933,14 +8564,6 @@ _._queue_list$_tail = t2; _.$ti = t3; }, - _CastQueueList: function _CastQueueList(t0, t1, t2, t3, t4) { - var _ = this; - _._queue_list$_delegate = t0; - _._queue_list$_table = t1; - _._queue_list$_head = t2; - _._queue_list$_tail = t3; - _.$ti = t4; - }, _QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() { }, _$valueOf($name) { @@ -9187,6 +8810,9 @@ }, safeUnawaited_closure: function safeUnawaited_closure() { }, + Int32: function Int32(t0) { + this._i = t0; + }, Int64__parseRadix(s, radix, throwOnError) { var i, negative, t1, d0, d1, d2, digit, d00, d10; if (B.JSString_methods.startsWith$1(s, "-")) { @@ -9234,6 +8860,8 @@ return value; else if (A._isInt(value)) return A.Int64_Int64(value); + else if (value instanceof A.Int32) + return A.Int64_Int64(value._i); throw A.wrapException(A.ArgumentError$value(value, "other", "not an int, Int32 or Int64")); }, Int64__toRadixStringUnsigned(radix, d0, d1, d2, sign) { @@ -9287,7 +8915,7 @@ this._h = t2; }, stronglyConnectedComponents(nodes, edges, $T) { - var t2, t3, _i, t4, index, t5, state, node, iterator, index0, lowLink, t6, next, component, t7, result0, _null = null, + var t2, t3, t4, node, index, t5, state, iterator, index0, lowLink, t6, next, component, t7, result0, _null = null, result = A._setArrayType([], $T._eval$1("JSArray>")), t1 = type$.int, lowLinks = A.HashMap_HashMap(_null, _null, _null, $T, t1), @@ -9295,10 +8923,12 @@ onStack = A.HashSet_HashSet(_null, _null, $T), lastVisited = A.ListQueue$($T); t1 = A._setArrayType([], $T._eval$1("JSArray<_StackState<0>>")); - for (t2 = nodes.length, t3 = $T._eval$1("_StackState<0>"), _i = 0; _i < nodes.length; nodes.length === t2 || (0, A.throwConcurrentModificationError)(nodes), ++_i) - t1.push(new A._StackState(nodes[_i], _null, t3)); + for (t2 = nodes.$ti, t3 = new A.ListIterator(nodes, nodes.get$length(0), t2._eval$1("ListIterator")), t4 = $T._eval$1("_StackState<0>"), t2 = t2._eval$1("ListIterable.E"); t3.moveNext$0();) { + node = t3.__internal$_current; + t1.push(new A._StackState(node == null ? t2._as(node) : node, _null, t4)); + } $label0$0: - for (t2 = lastVisited.$ti._precomputed1, t4 = $T._eval$1("JSArray<0>"), index = 0; t5 = t1.length, t5 !== 0;) { + for (t2 = lastVisited.$ti._precomputed1, t3 = $T._eval$1("JSArray<0>"), index = 0; t5 = t1.length, t5 !== 0;) { if (0 >= t5) return A.ioore(t1, -1); state = t1.pop(); @@ -9312,7 +8942,7 @@ index0 = index + 1; iterator = J.get$iterator$ax(edges.call$1(node)); if (!iterator.moveNext$0()) { - B.JSArray_methods.add$1(result, A._setArrayType([node], t4)); + B.JSArray_methods.add$1(result, A._setArrayType([node], t3)); index = index0; continue $label0$0; } @@ -9330,8 +8960,8 @@ do { next = iterator.get$current(iterator); if (!indexes.containsKey$1(0, next)) { - B.JSArray_methods.add$1(t1, new A._StackState(node, iterator, t3)); - B.JSArray_methods.add$1(t1, new A._StackState(next, _null, t3)); + B.JSArray_methods.add$1(t1, new A._StackState(node, iterator, t4)); + B.JSArray_methods.add$1(t1, new A._StackState(next, _null, t4)); continue $label0$0; } else if (onStack.contains$1(0, next)) { t5 = indexes.$index(0, next); @@ -9341,7 +8971,7 @@ } } while (iterator.moveNext$0()); if (lowLink === indexes.$index(0, node)) { - component = A._setArrayType([], t4); + component = A._setArrayType([], t3); do { t5 = lastVisited._head; t6 = lastVisited._tail; @@ -9424,7 +9054,7 @@ t3 = A.Logger_Logger("SseClient"); t4 = $.Zone__current; t5 = A.generateUuidV4(); - t1 = new A.SseClient(debugKey + "-" + t5, t2, t1, t3, new A._AsyncCompleter(new A._Future(t4, type$._Future_dynamic), type$._AsyncCompleter_dynamic)); + t1 = new A.SseClient(debugKey + "-" + t5, t2, t1, t3, new A._AsyncCompleter(new A._Future(t4, type$._Future_void), type$._AsyncCompleter_void)); t1.SseClient$2$debugKey(serverUrl, debugKey); return t1; }, @@ -9457,22 +9087,20 @@ this.$this = t1; this.message = t2; }, - _FetchOptions: function _FetchOptions() { - }, generateUuidV4() { - var t1 = new A.generateUuidV4__printDigits(), - t2 = new A.generateUuidV4__bitsDigits(t1, new A.generateUuidV4__generateBits(B.C__JSRandom)), + var t1 = new A.generateUuidV4_printDigits(), + t2 = new A.generateUuidV4_bitsDigits(t1, new A.generateUuidV4_generateBits(B.C__JSRandom)), t3 = B.C__JSRandom.nextInt$1(4); return A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + "-" + A.S(t2.call$2(16, 4)) + "-4" + A.S(t2.call$2(12, 3)) + "-" + A.S(t1.call$2(8 + t3, 1)) + A.S(t2.call$2(12, 3)) + "-" + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)); }, - generateUuidV4__generateBits: function generateUuidV4__generateBits(t0) { + generateUuidV4_generateBits: function generateUuidV4_generateBits(t0) { this.random = t0; }, - generateUuidV4__printDigits: function generateUuidV4__printDigits() { + generateUuidV4_printDigits: function generateUuidV4_printDigits() { }, - generateUuidV4__bitsDigits: function generateUuidV4__bitsDigits(t0, t1) { - this._printDigits = t0; - this._generateBits = t1; + generateUuidV4_bitsDigits: function generateUuidV4_bitsDigits(t0, t1) { + this.printDigits = t0; + this.generateBits = t1; }, GuaranteeChannel$(innerStream, innerSink, allowSinkErrors, $T) { var t2, t1 = {}; @@ -9516,25 +9144,90 @@ }, Uuid: function Uuid() { }, - HtmlWebSocketChannel$connect(url, protocols) { - var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null, - t1 = A.WebSocket_WebSocket(url.toString$0(0), protocols); - B.WebSocket_methods.set$binaryType(t1, "arraybuffer"); - t2 = new A.StreamChannelController(type$.StreamChannelController_dynamic); - t3 = type$.dynamic; - localToForeignController = A.StreamController_StreamController(_null, _null, true, t3); - foreignToLocalController = A.StreamController_StreamController(_null, _null, true, t3); - t4 = A._instanceType(foreignToLocalController); - t5 = A._instanceType(localToForeignController); - t2.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3)); - t3 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3); - t2.__StreamChannelController__foreign_F !== $ && A.throwLateFieldAI("_foreign"); - t2.set$__StreamChannelController__foreign_F(t3); - t2 = new A.HtmlWebSocketChannel(t1, t2); - t2.HtmlWebSocketChannel$1(t1); - return t2; - }, - HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) { + _EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) { + var t1; + if (onData == null) + t1 = null; + else { + t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JavaScriptObject); + t1 = t1 == null ? null : A.allowInterop(t1, type$.Function); + } + t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>")); + t1._tryResume$0(); + return t1; + }, + _wrapZone(callback, $T) { + var t1 = $.Zone__current; + if (t1 === B.C__RootZone) + return callback; + return t1.bindUnaryCallbackGuarded$1$1(callback, $T); + }, + EventStreamProvider0: function EventStreamProvider0(t0, t1) { + this._eventType = t0; + this.$ti = t1; + }, + _EventStream: function _EventStream(t0, t1, t2, t3) { + var _ = this; + _._target = t0; + _._eventType = t1; + _._useCapture = t2; + _.$ti = t3; + }, + _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) { + var _ = this; + _._pauseCount = 0; + _._target = t0; + _._eventType = t1; + _._onData = t2; + _._useCapture = t3; + _.$ti = t4; + }, + _EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) { + this.onData = t0; + }, + _EventStreamSubscription_onData_closure: function _EventStreamSubscription_onData_closure(t0) { + this.handleData = t0; + }, + HttpRequest_request(url, method, responseType, withCredentials) { + var t3, + t1 = new A._Future($.Zone__current, type$._Future_JavaScriptObject), + completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_JavaScriptObject), + t2 = type$.JavaScriptObject, + xhr = t2._as(new self.XMLHttpRequest()); + xhr.open(method, url, true); + if (withCredentials != null) + xhr.withCredentials = withCredentials; + if (responseType != null) + xhr.responseType = responseType; + t3 = type$.nullable_void_Function_JavaScriptObject; + A._EventStreamSubscription$(xhr, "load", t3._as(new A.HttpRequest_request_closure(xhr, completer)), false, t2); + A._EventStreamSubscription$(xhr, "error", t3._as(completer.get$completeError()), false, t2); + xhr.send(); + return t1; + }, + HttpRequest_request_closure: function HttpRequest_request_closure(t0, t1) { + this.xhr = t0; + this.completer = t1; + }, + HtmlWebSocketChannel$connect(url, protocols) { + var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null, + t1 = A.WebSocket_WebSocket(url.toString$0(0), protocols); + B.WebSocket_methods.set$binaryType(t1, "arraybuffer"); + t2 = new A.StreamChannelController(type$.StreamChannelController_dynamic); + t3 = type$.dynamic; + localToForeignController = A.StreamController_StreamController(_null, _null, true, t3); + foreignToLocalController = A.StreamController_StreamController(_null, _null, true, t3); + t4 = A._instanceType(foreignToLocalController); + t5 = A._instanceType(localToForeignController); + t2.set$__StreamChannelController__local_F(A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3)); + t3 = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3); + t2.__StreamChannelController__foreign_F !== $ && A.throwLateFieldAI("_foreign"); + t2.set$__StreamChannelController__foreign_F(t3); + t2 = new A.HtmlWebSocketChannel(t1, t2); + t2.HtmlWebSocketChannel$1(t1); + return t2; + }, + HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) { var _ = this; _.innerWebSocket = t0; _._localCloseReason = _._localCloseCode = null; @@ -9584,21 +9277,34 @@ }, _launchCommunicationWithDebugExtension() { var t1, t2; - A._listenForDebugExtensionAuthRequest(); + type$.JavaScriptObject._as(self.window).addEventListener("message", A.allowInterop(A.client___handleAuthRequest$closure(), type$.Function)); t1 = $.$get$serializers(); t2 = new A.DebugInfoBuilder(); type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure()).call$1(t2); - self.window.top.document.dispatchEvent(A.CustomEvent_CustomEvent("dart-app-ready", B.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t2._debug_info$_build$0()), null))); + A._dispatchEvent("dart-app-ready", B.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t2._debug_info$_build$0()), null)); }, - _listenForDebugExtensionAuthRequest() { - var t1 = window; - t1.toString; - B.Window_methods.addEventListener$2(t1, "message", A.allowInterop(new A._listenForDebugExtensionAuthRequest_closure(), type$.dynamic_Function_Event)); + _dispatchEvent(message, detail) { + var t1 = self, + t2 = type$.JavaScriptObject; + A._asBool(t2._as(t1.window).dispatchEvent(t2._as(new t1.CustomEvent("dart-auth-response", t2._as({detail: detail}))))); + }, + _handleAuthRequest($event) { + var t1; + type$.JavaScriptObject._as($event); + if (typeof $event.data != "string") + return; + if (A._asString($event.data) !== "dart-auth-request") + return; + if (A._authUrl() != null) { + t1 = A._authUrl(); + t1.toString; + A._authenticateUser(t1).then$1$1(0, new A._handleAuthRequest_closure(), type$.void); + } }, _authenticateUser(authUrl) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, responseText; + $async$returnValue, $async$temp1, $async$temp2; var $async$_authenticateUser = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -9606,12 +9312,13 @@ switch ($async$goto) { case 0: // Function start + $async$temp1 = B.JSString_methods; + $async$temp2 = A; $async$goto = 3; return A._asyncAwait(A.HttpRequest_request(authUrl, "GET", null, true), $async$_authenticateUser); case 3: // returning from await. - responseText = $async$result.responseText; - $async$returnValue = B.JSString_methods.contains$1(responseText == null ? "" : responseText, "Dart Debug Authentication Success!"); + $async$returnValue = $async$temp1.contains$1($async$temp2._asString($async$result.responseText), "Dart Debug Authentication Success!"); // goto return $async$goto = 1; break; @@ -9622,11 +9329,13 @@ }); return A._asyncStartSync($async$_authenticateUser, $async$completer); }, + _isChromium() { + var t1 = type$.JavaScriptObject; + return B.JSString_methods.contains$1(A._asString(t1._as(t1._as(self.window).navigator).vendor), "Google"); + }, _authUrl() { - var extensionUrl, authUrl, - t1 = window; - t1.toString; - extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri")); + var authUrl, + extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(type$.JavaScriptObject._as(self.window)).$index(0, "$dartExtensionUri")); if (extensionUrl == null) return null; authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication"); @@ -9681,7 +9390,7 @@ }, _launchCommunicationWithDebugExtension_closure: function _launchCommunicationWithDebugExtension_closure() { }, - _listenForDebugExtensionAuthRequest_closure: function _listenForDebugExtensionAuthRequest_closure() { + _handleAuthRequest_closure: function _handleAuthRequest_closure() { }, LegacyRestarter: function LegacyRestarter() { }, @@ -9732,7 +9441,7 @@ t3 = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool); t3.complete$1(0, true); reloader = new A.RequireRestarter(t2, t3); - reloader.set$__RequireRestarter__dirtyModules_A(type$.SplayTreeSet_String._as(A.SplayTreeSet$(reloader.get$_moduleTopologicalCompare(), null, t1))); + reloader.set$__RequireRestarter__dirtyModules_A(type$.SplayTreeSet_String._as(A.SplayTreeSet$(reloader.get$_moduleTopologicalCompare(), t1))); $async$goto = 3; return A._asyncAwait(reloader._initialize$0(), $async$RequireRestarter_create); case 3: @@ -9753,10 +9462,6 @@ HotReloadFailedException: function HotReloadFailedException(t0) { this._s = t0; }, - JsError: function JsError() { - }, - JsMap: function JsMap() { - }, RequireRestarter: function RequireRestarter(t0, t1) { this._moduleOrdering = t0; this.__RequireRestarter__dirtyModules_A = $; @@ -9769,43 +9474,46 @@ this.completer = t0; this.stackTrace = t1; }, - _findNonce() { - var t2, elements, t3, t4, nonceValue, - t1 = window.document; - t1.toString; - t2 = type$.Element; - A.checkTypeBound(t2, t2, "T", "querySelectorAll"); - t1 = t1.querySelectorAll("script"); + _createScript() { + var t2, t3, t1 = {}; + t1.nonce = null; + t2 = self; + t3 = type$.JavaScriptObject; + t3._as(t3._as(t3._as(t2.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._createScript_closure(t1), type$.Function)); + t2 = t1.nonce == null ? t3._as(new t2.HTMLScriptElement()) : t3._as(new t2.HTMLScriptElement()); + t1 = t1.nonce; t1.toString; - t2 = type$._FrozenElementList_Element; - elements = new A._FrozenElementList(t1, t2); - for (t1 = new A.ListIterator(elements, elements.get$length(elements), t2._eval$1("ListIterator")), t3 = type$.HtmlElement, t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { - t4 = t1.__internal$_current; - t4 = t3._as(t4 == null ? t2._as(t4) : t4); - nonceValue = t4.nonce; - if (nonceValue == null) - nonceValue = t4.getAttribute("nonce"); - if (nonceValue != null) { - t4 = $.$get$_noncePattern(); - t4 = t4._nativeRegExp.test(nonceValue); - } else - t4 = false; - if (t4) - return nonceValue; - } - return null; + t2.setAttribute("nonce", t1); + return t2; }, runMain() { - var scriptElement = $.$get$_createScript().call$0(), - t1 = J.getInterceptor$x(scriptElement); - t1.setInnerHtml$1(scriptElement, "window.$dartRunMain();"); - document.body.appendChild(scriptElement).toString; - A.Future_Future$microtask(t1.get$remove(scriptElement), type$.void); + var t1, t2, box, + scriptElement = A._createScript(); + scriptElement.htmlFor = "window.$dartRunMain();"; + t1 = type$.JavaScriptObject; + t2 = type$.nullable_JavaScriptObject._as(t1._as(self.document).body); + t1 = t2 == null ? t1._as(t2) : t2; + A.throwExpression("Attempting to box non-Dart object."); + box = {}; + box[$.$get$_jsBoxedDartObjectProperty()] = scriptElement; + t1.append(box); + A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void); + }, + _createScript_closure: function _createScript_closure(t0) { + this._box_0 = t0; + }, + runMain_closure: function runMain_closure(t0) { + this.scriptElement = t0; }, - _createScript_closure: function _createScript_closure() { + JSArrayToIterable_toDartIterable(_this, $T) { + return J.map$1$1$ax(_this, new A.JSArrayToIterable_toDartIterable_closure($T), $T); }, - _createScript__closure: function _createScript__closure(t0) { - this.nonce = t0; + JsError: function JsError() { + }, + JsMap: function JsMap() { + }, + JSArrayToIterable_toDartIterable_closure: function JSArrayToIterable_toDartIterable_closure(t0) { + this.T = t0; }, isBrowserObject(o) { return type$.Blob._is(o) || type$.Event._is(o) || type$.KeyRange._is(o) || type$.ImageData._is(o) || type$.Node._is(o) || type$.Window._is(o) || type$.WorkerGlobalScope._is(o); @@ -9968,9 +9676,6 @@ } }; J.JSArray.prototype = { - cast$1$0(receiver, $R) { - return new A.CastList(receiver, A._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>")); - }, add$1(receiver, value) { A._arrayInstanceType(receiver)._precomputed1._as(value); if (!!receiver.fixed$length) @@ -10005,16 +9710,6 @@ A.throwExpression(A.UnsupportedError$("clear")); receiver.length = 0; }, - forEach$1(receiver, f) { - var end, i; - A._arrayInstanceType(receiver)._eval$1("~(1)")._as(f); - end = receiver.length; - for (i = 0; i < end; ++i) { - f.call$1(receiver[i]); - if (receiver.length !== end) - throw A.wrapException(A.ConcurrentModificationError$(receiver)); - } - }, map$1$1(receiver, f, $T) { var t1 = A._arrayInstanceType(receiver); return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); @@ -10029,6 +9724,9 @@ this.$indexSet(list, i, A.S(receiver[i])); return list.join(separator); }, + take$1(receiver, n) { + return A.SubListIterable$(receiver, 0, A.checkNotNullable(n, "count", type$.int), A._arrayInstanceType(receiver)._precomputed1); + }, skip$1(receiver, n) { return A.SubListIterable$(receiver, n, null, A._arrayInstanceType(receiver)._precomputed1); }, @@ -10060,10 +9758,6 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - getRange$2(receiver, start, end) { - A.RangeError_checkValidRange(start, end, receiver.length); - return A.SubListIterable$(receiver, start, end, A._arrayInstanceType(receiver)._precomputed1); - }, get$first(receiver) { if (receiver.length > 0) return receiver[0]; @@ -10076,7 +9770,7 @@ throw A.wrapException(A.IterableElementError_noElement()); }, setRange$4(receiver, start, end, iterable, skipCount) { - var $length, otherList, otherStart, t1, i; + var $length, otherList, t1, i; A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable); if (!!receiver.immutable$list) A.throwExpression(A.UnsupportedError$("setRange")); @@ -10085,34 +9779,16 @@ if ($length === 0) return; A.RangeError_checkNotNegative(skipCount, "skipCount"); - if (type$.List_dynamic._is(iterable)) { - otherList = iterable; - otherStart = skipCount; - } else { - otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false); - otherStart = 0; - } + otherList = iterable; t1 = J.getInterceptor$asx(otherList); - if (otherStart + $length > t1.get$length(otherList)) + if (skipCount + $length > t1.get$length(otherList)) throw A.wrapException(A.IterableElementError_tooFew()); - if (otherStart < start) + if (skipCount < start) for (i = $length - 1; i >= 0; --i) - receiver[start + i] = t1.$index(otherList, otherStart + i); + receiver[start + i] = t1.$index(otherList, skipCount + i); else for (i = 0; i < $length; ++i) - receiver[start + i] = t1.$index(otherList, otherStart + i); - }, - any$1(receiver, test) { - var end, i; - A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test); - end = receiver.length; - for (i = 0; i < end; ++i) { - if (A.boolConversionCheck(test.call$1(receiver[i]))) - return true; - if (receiver.length !== end) - throw A.wrapException(A.ConcurrentModificationError$(receiver)); - } - return false; + receiver[start + i] = t1.$index(otherList, skipCount + i); }, sort$1(receiver, compare) { var len, a, b, undefineds, i, @@ -10510,9 +10186,6 @@ substring$1($receiver, start) { return this.substring$2($receiver, start, null); }, - toLowerCase$0(receiver) { - return receiver.toLowerCase(); - }, $mul(receiver, times) { var s, result; if (0 >= times) @@ -10602,32 +10275,22 @@ A._CastIterableBase.prototype = { get$iterator(_) { var t1 = A._instanceType(this); - return new A.CastIterator(J.get$iterator$ax(this.get$__internal$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>")); + return new A.CastIterator(J.get$iterator$ax(this.__internal$_source), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>")); }, get$length(_) { - return J.get$length$asx(this.get$__internal$_source()); + return J.get$length$asx(this.__internal$_source); }, get$isEmpty(_) { - return J.get$isEmpty$asx(this.get$__internal$_source()); - }, - get$isNotEmpty(_) { - return J.get$isNotEmpty$asx(this.get$__internal$_source()); - }, - skip$1(_, count) { - var t1 = A._instanceType(this); - return A.CastIterable_CastIterable(J.skip$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]); + return J.get$isEmpty$asx(this.__internal$_source); }, elementAt$1(_, index) { - return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$__internal$_source(), index)); - }, - get$first(_) { - return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$__internal$_source())); + return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.__internal$_source, index)); }, contains$1(_, other) { - return J.contains$1$asx(this.get$__internal$_source(), other); + return J.contains$1$asx(this.__internal$_source, other); }, toString$0(_) { - return J.toString$0$(this.get$__internal$_source()); + return J.toString$0$(this.__internal$_source); } }; A.CastIterator.prototype = { @@ -10640,54 +10303,8 @@ }, $isIterator: 1 }; - A.CastIterable.prototype = { - get$__internal$_source() { - return this.__internal$_source; - } - }; + A.CastIterable.prototype = {}; A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1}; - A._CastListBase.prototype = { - $index(_, index) { - return this.$ti._rest[1]._as(J.$index$asx(this.__internal$_source, index)); - }, - $indexSet(_, index, value) { - var t1 = this.$ti; - J.$indexSet$ax(this.__internal$_source, index, t1._precomputed1._as(t1._rest[1]._as(value))); - }, - sort$1(_, compare) { - var t1; - this.$ti._eval$1("int(2,2)?")._as(compare); - t1 = compare == null ? null : new A._CastListBase_sort_closure(this, compare); - J.sort$1$ax(this.__internal$_source, t1); - }, - getRange$2(_, start, end) { - var t1 = this.$ti; - return A.CastIterable_CastIterable(J.getRange$2$ax(this.__internal$_source, start, end), t1._precomputed1, t1._rest[1]); - }, - $isEfficientLengthIterable: 1, - $isList: 1 - }; - A._CastListBase_sort_closure.prototype = { - call$2(v1, v2) { - var t1 = this.$this.$ti, - t2 = t1._precomputed1; - t2._as(v1); - t2._as(v2); - t1 = t1._rest[1]; - return this.compare.call$2(t1._as(v1), t1._as(v2)); - }, - $signature() { - return this.$this.$ti._eval$1("int(1,1)"); - } - }; - A.CastList.prototype = { - cast$1$0(_, $R) { - return new A.CastList(this.__internal$_source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>")); - }, - get$__internal$_source() { - return this.__internal$_source; - } - }; A.CastMap.prototype = { cast$2$0(_, RK, RV) { var t1 = this.$ti; @@ -10706,7 +10323,7 @@ J.$indexSet$ax(this.__internal$_source, t1._precomputed1._as(key), t1._rest[1]._as(value)); }, forEach$1(_, f) { - J.forEach$1$ax(this.__internal$_source, new A.CastMap_forEach_closure(this, this.$ti._eval$1("~(3,4)")._as(f))); + J.forEach$1$x(this.__internal$_source, new A.CastMap_forEach_closure(this, this.$ti._eval$1("~(3,4)")._as(f))); }, get$keys(_) { var t1 = this.$ti; @@ -10739,7 +10356,7 @@ call$0() { return A.Future_Future$value(null, type$.Null); }, - $signature: 25 + $signature: 29 }; A.SentinelValue.prototype = {}; A.EfficientLengthIterable.prototype = {}; @@ -10794,9 +10411,6 @@ join$0($receiver) { return this.join$1($receiver, ""); }, - where$1(_, test) { - return this.super$Iterable$where(0, A._instanceType(this)._eval$1("bool(ListIterable.E)")._as(test)); - }, map$1$1(_, toElement, $T) { var t1 = A._instanceType(this); return new A.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(toElement), t1._eval$1("@")._bind$1($T)._eval$1("MappedListIterable<1,2>")); @@ -10804,9 +10418,6 @@ map$1($receiver, toElement) { return this.map$1$1($receiver, toElement, type$.dynamic); }, - skip$1(_, count) { - return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E")); - }, toList$1$growable(_, growable) { return A.List_List$of(this, true, A._instanceType(this)._eval$1("ListIterable.E")); }, @@ -10846,7 +10457,7 @@ var _this = this, realIndex = _this.get$_startIndex() + index; if (index < 0 || realIndex >= _this.get$_endIndex()) - throw A.wrapException(A.IndexError$withLength(index, _this.get$length(_this), _this, null, "index")); + throw A.wrapException(A.IndexError$withLength(index, _this.get$length(0), _this, null, "index")); return J.elementAt$1$ax(_this.__internal$_iterable, realIndex); }, skip$1(_, count) { @@ -10857,28 +10468,6 @@ if (endOrLength != null && newStart >= endOrLength) return new A.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>")); return A.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1); - }, - toList$1$growable(_, growable) { - var $length, result, i, _this = this, - start = _this.__internal$_start, - t1 = _this.__internal$_iterable, - t2 = J.getInterceptor$asx(t1), - end = t2.get$length(t1), - endOrLength = _this._endOrLength; - if (endOrLength != null && endOrLength < end) - end = endOrLength; - $length = end - start; - if ($length <= 0) { - t1 = J.JSArray_JSArray$fixed(0, _this.$ti._precomputed1); - return t1; - } - result = A.List_List$filled($length, t2.elementAt$1(t1, start), false, _this.$ti._precomputed1); - for (i = 1; i < $length; ++i) { - B.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i)); - if (t2.get$length(t1) < end) - throw A.wrapException(A.ConcurrentModificationError$(_this)); - } - return result; } }; A.ListIterator.prototype = { @@ -10918,9 +10507,6 @@ get$isEmpty(_) { return J.get$isEmpty$asx(this.__internal$_iterable); }, - get$first(_) { - return this._f.call$1(J.get$first$ax(this.__internal$_iterable)); - }, elementAt$1(_, index) { return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index)); } @@ -10954,70 +10540,6 @@ return this._f.call$1(J.elementAt$1$ax(this.__internal$_source, index)); } }; - A.WhereIterable.prototype = { - get$iterator(_) { - return new A.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>")); - }, - map$1$1(_, toElement, $T) { - var t1 = this.$ti; - return new A.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>")); - }, - map$1($receiver, toElement) { - return this.map$1$1($receiver, toElement, type$.dynamic); - } - }; - A.WhereIterator.prototype = { - moveNext$0() { - var t1, t2; - for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) - if (A.boolConversionCheck(t2.call$1(t1.get$current(t1)))) - return true; - return false; - }, - get$current(_) { - var t1 = this._iterator; - return t1.get$current(t1); - }, - $isIterator: 1 - }; - A.SkipIterable.prototype = { - skip$1(_, count) { - A.ArgumentError_checkNotNull(count, "count", type$.int); - A.RangeError_checkNotNegative(count, "count"); - return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>")); - }, - get$iterator(_) { - return new A.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount, A._instanceType(this)._eval$1("SkipIterator<1>")); - } - }; - A.EfficientLengthSkipIterable.prototype = { - get$length(_) { - var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount; - if ($length >= 0) - return $length; - return 0; - }, - skip$1(_, count) { - A.ArgumentError_checkNotNull(count, "count", type$.int); - A.RangeError_checkNotNegative(count, "count"); - return new A.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti); - }, - $isEfficientLengthIterable: 1 - }; - A.SkipIterator.prototype = { - moveNext$0() { - var t1, i; - for (t1 = this._iterator, i = 0; i < this._skipCount; ++i) - t1.moveNext$0(); - this._skipCount = 0; - return t1.moveNext$0(); - }, - get$current(_) { - var t1 = this._iterator; - return t1.get$current(t1); - }, - $isIterator: 1 - }; A.EmptyIterable.prototype = { get$iterator(_) { return B.C_EmptyIterator; @@ -11028,9 +10550,6 @@ get$length(_) { return 0; }, - get$first(_) { - throw A.wrapException(A.IterableElementError_noElement()); - }, elementAt$1(_, index) { throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null)); }, @@ -11043,10 +10562,6 @@ }, map$1($receiver, toElement) { return this.map$1$1($receiver, toElement, type$.dynamic); - }, - skip$1(_, count) { - A.RangeError_checkNotNegative(count, "count"); - return this; } }; A.EmptyIterator.prototype = { @@ -11099,7 +10614,6 @@ }, $isSymbol0: 1 }; - A.__CastListBase__CastIterableBase_ListMixin.prototype = {}; A.ConstantMapView.prototype = {}; A.ConstantMap.prototype = { cast$2$0(_, RK, RV) { @@ -11181,9 +10695,6 @@ get$isEmpty(_) { return 0 === this._elements.length; }, - get$isNotEmpty(_) { - return 0 !== this._elements.length; - }, get$iterator(_) { var t1 = this._elements; return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>")); @@ -11265,7 +10776,7 @@ B.JSArray_methods.add$1(this.$arguments, argument); ++t1.argumentCount; }, - $signature: 6 + $signature: 7 }; A.TypeErrorDecoder.prototype = { matchTypeError$1(message) { @@ -11680,19 +11191,19 @@ call$1(o) { return this.getTag(o); }, - $signature: 1 + $signature: 2 }; A.initHooks_closure0.prototype = { call$2(o, tag) { return this.getUnknownTag(o, tag); }, - $signature: 84 + $signature: 79 }; A.initHooks_closure1.prototype = { call$1(tag) { return this.prototypeForTag(A._asString(tag)); }, - $signature: 85 + $signature: 66 }; A.JSSyntaxRegExp.prototype = { toString$0(_) { @@ -11793,7 +11304,7 @@ match = t3._execGlobal$2(string, t1); if (match != null) { _this.__js_helper$_current = match; - nextIndex = match.get$end(match); + nextIndex = match.get$end(0); if (match._match.index === nextIndex) { if (t3._nativeRegExp.unicode) { t1 = _this._nextIndex; @@ -11828,13 +11339,6 @@ A._StringAllMatchesIterable.prototype = { get$iterator(_) { return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index); - }, - get$first(_) { - var t1 = this._pattern, - index = this._input.indexOf(t1, this.__js_helper$_index); - if (index >= 0) - return new A.StringMatch(index, t1); - throw A.wrapException(A.IterableElementError_noElement()); } }; A._StringAllMatchesIterator.prototype = { @@ -11889,10 +11393,9 @@ return B.Type_ByteBuffer_RkP; }, $isTrustedGetRuntimeType: 1, - $isNativeByteBuffer: 1, $isByteBuffer: 1 }; - A.NativeTypedData.prototype = {$isNativeTypedData: 1, $isTypedData: 1}; + A.NativeTypedData.prototype = {$isTypedData: 1}; A.NativeByteData.prototype = { get$runtimeType(receiver) { return B.Type_ByteData_zNC; @@ -12099,7 +11602,6 @@ } }; A._TypeError.prototype = {$isTypeError: 1}; - A._InconsistentSubtypingError.prototype = {$isTypeError: 1}; A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = { call$1(_) { var t1 = this._box_0, @@ -12107,7 +11609,7 @@ t1.storedCallback = null; f.call$0(); }, - $signature: 7 + $signature: 8 }; A._AsyncRun__initializeScheduleImmediate_closure.prototype = { call$1(callback) { @@ -12117,19 +11619,19 @@ t2 = this.span; t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); }, - $signature: 65 + $signature: 55 }; A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { call$0() { this.callback.call$0(); }, - $signature: 5 + $signature: 4 }; A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { call$0() { this.callback.call$0(); }, - $signature: 5 + $signature: 4 }; A._TimerImpl.prototype = { _TimerImpl$2(milliseconds, callback) { @@ -12186,7 +11688,7 @@ t1._tick = tick; _this.callback.call$1(t1); }, - $signature: 5 + $signature: 4 }; A._AsyncAwaitCompleter.prototype = { complete$1(_, value) { @@ -12218,19 +11720,19 @@ call$1(result) { return this.bodyFunction.call$2(0, result); }, - $signature: 3 + $signature: 5 }; A._awaitOnObject_closure0.prototype = { call$2(error, stackTrace) { this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); }, - $signature: 52 + $signature: 58 }; A._wrapJsFunctionForAsync_closure.prototype = { call$2(errorCode, result) { this.$protected(A._asInt(errorCode), result); }, - $signature: 51 + $signature: 57 }; A.AsyncError.prototype = { toString$0(_) { @@ -12572,13 +12074,13 @@ t1._completeError$2(error, stackTrace); } }, - $signature: 7 + $signature: 8 }; A._Future__chainForeignFuture_closure0.prototype = { call$2(error, stackTrace) { this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace)); }, - $signature: 8 + $signature: 6 }; A._Future__chainForeignFuture_closure1.prototype = { call$0() { @@ -12643,7 +12145,7 @@ call$1(_) { return this.originalSource; }, - $signature: 49 + $signature: 48 }; A._Future__propagateToListeners_handleValueCallback.prototype = { call$0() { @@ -12727,7 +12229,7 @@ this._future._completeError$2(e, s); } }, - $signature: 8 + $signature: 6 }; A._AsyncCallbackEntry.prototype = {}; A.Stream.prototype = { @@ -13273,13 +12775,13 @@ else t1._completeError$2(error, stackTrace); }, - $signature: 8 + $signature: 6 }; A._BufferingStreamSubscription_asFuture__closure.prototype = { call$0() { this.result._completeError$2(this.error, this.stackTrace); }, - $signature: 5 + $signature: 4 }; A._BufferingStreamSubscription__sendError_sendError.prototype = { call$0() { @@ -13989,7 +13491,7 @@ t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s)); } }, - $signature: 71 + $signature: 47 }; A._HashMap.prototype = { get$length(_) { @@ -14052,9 +13554,9 @@ nums = _this._collection$_nums; _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value); } else - _this._set$2(key, value); + _this._collection$_set$2(key, value); }, - _set$2(key, value) { + _collection$_set$2(key, value) { var rest, hash, bucket, index, _this = this, t1 = A._instanceType(_this); t1._precomputed1._as(key); @@ -14211,7 +13713,7 @@ call$1(v) { return this.K._is(v); }, - $signature: 18 + $signature: 21 }; A._HashMapKeyIterable.prototype = { get$length(_) { @@ -14220,9 +13722,6 @@ get$isEmpty(_) { return this._collection$_map._collection$_length === 0; }, - get$isNotEmpty(_) { - return this._collection$_map._collection$_length !== 0; - }, get$iterator(_) { var t1 = this._collection$_map; return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>")); @@ -14267,9 +13766,6 @@ get$isEmpty(_) { return this._collection$_length === 0; }, - get$isNotEmpty(_) { - return this._collection$_length !== 0; - }, contains$1(_, object) { var strings, nums; if (typeof object == "string" && object !== "__proto__") { @@ -14425,7 +13921,7 @@ var _this = this, elements = _this._collection$_elements, offset = _this._offset, - t1 = _this._set; + t1 = _this._collection$_set; if (elements !== t1._collection$_elements) throw A.wrapException(A.ConcurrentModificationError$(t1)); else if (offset >= elements.length) { @@ -14455,9 +13951,6 @@ get$isEmpty(_) { return this._collection$_length === 0; }, - get$isNotEmpty(_) { - return this._collection$_length !== 0; - }, contains$1(_, object) { var strings, nums; if (typeof object == "string" && object !== "__proto__") { @@ -14479,12 +13972,6 @@ return false; return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0; }, - get$first(_) { - var first = this._collection$_first; - if (first == null) - throw A.wrapException(A.StateError$("No elements")); - return A._instanceType(this)._precomputed1._as(first._collection$_element); - }, add$1(_, element) { var strings, nums, _this = this; A._instanceType(_this)._precomputed1._as(element); @@ -14541,7 +14028,7 @@ return -1; $length = bucket.length; for (i = 0; i < $length; ++i) - if (J.$eq$(bucket[i]._collection$_element, element)) + if (J.$eq$(bucket[i]._element, element)) return i; return -1; } @@ -14555,14 +14042,14 @@ moveNext$0() { var _this = this, cell = _this._collection$_cell, - t1 = _this._set; + t1 = _this._collection$_set; if (_this._collection$_modifications !== t1._collection$_modifications) throw A.wrapException(A.ConcurrentModificationError$(t1)); else if (cell == null) { _this.set$_collection$_current(null); return false; } else { - _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._collection$_element)); + _this.set$_collection$_current(_this.$ti._eval$1("1?")._as(cell._element)); _this._collection$_cell = cell._collection$_next; return true; } @@ -14573,9 +14060,6 @@ $isIterator: 1 }; A.UnmodifiableListView.prototype = { - cast$1$0(_, $R) { - return new A.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), $R._eval$1("UnmodifiableListView<0>")); - }, get$length(_) { return J.get$length$asx(this._collection$_source); }, @@ -14587,7 +14071,7 @@ call$2(k, v) { this.result.$indexSet(0, this.K._as(k), this.V._as(v)); }, - $signature: 9 + $signature: 22 }; A.ListBase.prototype = { get$iterator(receiver) { @@ -14596,21 +14080,11 @@ elementAt$1(receiver, index) { return this.$index(receiver, index); }, - forEach$1(receiver, action) { - var $length, i; - A.instanceType(receiver)._eval$1("~(ListBase.E)")._as(action); - $length = this.get$length(receiver); - for (i = 0; i < $length; ++i) { - action.call$1(this.$index(receiver, i)); - if ($length !== this.get$length(receiver)) - throw A.wrapException(A.ConcurrentModificationError$(receiver)); - } - }, get$isEmpty(receiver) { return this.get$length(receiver) === 0; }, get$isNotEmpty(receiver) { - return !this.get$isEmpty(receiver); + return this.get$length(receiver) !== 0; }, get$first(receiver) { if (this.get$length(receiver) === 0) @@ -14638,38 +14112,33 @@ skip$1(receiver, count) { return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E")); }, - cast$1$0(receiver, $R) { - return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@")._bind$1($R)._eval$1("CastList<1,2>")); + take$1(receiver, count) { + return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E")); }, sort$1(receiver, compare) { - var t2, - t1 = A.instanceType(receiver); + var t1 = A.instanceType(receiver); t1._eval$1("int(ListBase.E,ListBase.E)?")._as(compare); - t2 = compare == null ? A.collection_ListBase__compareAny$closure() : compare; - A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, t2, t1._eval$1("ListBase.E")); + A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, compare, t1._eval$1("ListBase.E")); }, sublist$2(receiver, start, end) { - var listLength = this.get$length(receiver); + var t1, + listLength = this.get$length(receiver); if (end == null) end = listLength; A.RangeError_checkValidRange(start, end, listLength); - return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E")); + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + t1 = A.instanceType(receiver)._eval$1("ListBase.E"); + return A.List_List$from(A.SubListIterable$(receiver, start, end, t1), true, t1); }, sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - getRange$2(receiver, start, end) { - A.RangeError_checkValidRange(start, end, this.get$length(receiver)); - return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListBase.E")); - }, fillRange$3(receiver, start, end, fill) { - var value, i, - t1 = A.instanceType(receiver); - t1._eval$1("ListBase.E?")._as(fill); - value = fill == null ? t1._eval$1("ListBase.E")._as(fill) : fill; + var i; + A.instanceType(receiver)._eval$1("ListBase.E?")._as(fill); A.RangeError_checkValidRange(start, end, this.get$length(receiver)); for (i = start; i < end; ++i) - this.$indexSet(receiver, i, value); + this.$indexSet(receiver, i, fill); }, toString$0(receiver) { return A.Iterable_iterableToFullString(receiver, "[", "]"); @@ -14735,7 +14204,7 @@ t1._contents = t2 + ": "; t1._contents += A.S(v); }, - $signature: 19 + $signature: 23 }; A._UnmodifiableMapMixin.prototype = { $indexSet(_, key, value) { @@ -14747,7 +14216,7 @@ }; A.MapView.prototype = { cast$2$0(_, RK, RV) { - return J.cast$2$0$ax(this._collection$_map, RK, RV); + return J.cast$2$0$x(this._collection$_map, RK, RV); }, $index(_, key) { return J.$index$asx(this._collection$_map, key); @@ -14760,7 +14229,7 @@ return J.containsKey$1$x(this._collection$_map, key); }, forEach$1(_, action) { - J.forEach$1$ax(this._collection$_map, A._instanceType(this)._eval$1("~(1,2)")._as(action)); + J.forEach$1$x(this._collection$_map, A._instanceType(this)._eval$1("~(1,2)")._as(action)); }, get$isEmpty(_) { return J.get$isEmpty$asx(this._collection$_map); @@ -14784,7 +14253,7 @@ }; A.UnmodifiableMapView.prototype = { cast$2$0(_, RK, RV) { - return new A.UnmodifiableMapView(J.cast$2$0$ax(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>")); + return new A.UnmodifiableMapView(J.cast$2$0$x(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>")); } }; A.ListQueue.prototype = { @@ -14798,20 +14267,9 @@ get$length(_) { return (this._tail - this._head & this._table.length - 1) >>> 0; }, - get$first(_) { - var t2, _this = this, - t1 = _this._head; - if (t1 === _this._tail) - throw A.wrapException(A.IterableElementError_noElement()); - t2 = _this._table; - if (!(t1 < t2.length)) - return A.ioore(t2, t1); - t1 = t2[t1]; - return t1 == null ? _this.$ti._precomputed1._as(t1) : t1; - }, elementAt$1(_, index) { var t2, t3, _this = this, - t1 = _this.get$length(_this); + t1 = _this.get$length(0); if (0 > index || index >= t1) A.throwExpression(A.IndexError$withLength(index, t1, _this, null, "index")); t1 = _this._table; @@ -14899,17 +14357,15 @@ get$isEmpty(_) { return this.get$length(this) === 0; }, - get$isNotEmpty(_) { - return this.get$length(this) !== 0; - }, addAll$1(_, elements) { var t1; - for (t1 = J.get$iterator$ax(A._instanceType(this)._eval$1("Iterable<1>")._as(elements)); t1.moveNext$0();) + A._instanceType(this)._eval$1("Iterable<1>")._as(elements); + for (t1 = elements.get$iterator(elements); t1.moveNext$0();) this.add$1(0, t1.get$current(t1)); }, containsAll$1(other) { var t1, t2, o; - for (t1 = other._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + for (t1 = other._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { o = t1._collection$_current; if (!this.contains$1(0, o == null ? t2._as(o) : o)) return false; @@ -14926,15 +14382,6 @@ toString$0(_) { return A.Iterable_iterableToFullString(this, "{", "}"); }, - skip$1(_, n) { - return A.SkipIterable_SkipIterable(this, n, A._instanceType(this)._precomputed1); - }, - get$first(_) { - var it = this.get$iterator(this); - if (!it.moveNext$0()) - throw A.wrapException(A.IterableElementError_noElement()); - return it.get$current(it); - }, elementAt$1(_, index) { var iterator, skipCount; A.RangeError_checkNotNegative(index, "index"); @@ -15181,14 +14628,6 @@ get$isEmpty(_) { return this._root == null; }, - get$isNotEmpty(_) { - return this._root != null; - }, - get$first(_) { - if (this._count === 0) - throw A.wrapException(A.IterableElementError_noElement()); - return this.get$_collection$_first().key; - }, contains$1(_, element) { return A.boolConversionCheck(this._validKey.call$1(element)) && this._splay$1(this.$ti._precomputed1._as(element)) === 0; }, @@ -15228,7 +14667,7 @@ call$1(v) { return this.E._is(v); }, - $signature: 18 + $signature: 21 }; A._SplayTreeSet__SplayTree_Iterable.prototype = {}; A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {}; @@ -15250,7 +14689,7 @@ return this._processed == null ? this._data._length : this._convert$_computeKeys$0().length; }, get$isEmpty(_) { - return this.get$length(this) === 0; + return this.get$length(0) === 0; }, get$keys(_) { var t1; @@ -15332,13 +14771,12 @@ }; A._JsonMapKeyIterable.prototype = { get$length(_) { - var t1 = this._parent; - return t1.get$length(t1); + return this._parent.get$length(0); }, elementAt$1(_, index) { var t1 = this._parent; if (t1._processed == null) - t1 = t1.get$keys(t1).elementAt$1(0, index); + t1 = t1.get$keys(0).elementAt$1(0, index); else { t1 = t1._convert$_computeKeys$0(); if (!(index >= 0 && index < t1.length)) @@ -15350,7 +14788,7 @@ get$iterator(_) { var t1 = this._parent; if (t1._processed == null) { - t1 = t1.get$keys(t1); + t1 = t1.get$keys(0); t1 = t1.get$iterator(t1); } else { t1 = t1._convert$_computeKeys$0(); @@ -15771,7 +15209,7 @@ B.JSArray_methods.$indexSet(t1, t2.i++, key); B.JSArray_methods.$indexSet(t1, t2.i++, value); }, - $signature: 19 + $signature: 23 }; A._JsonStringStringifier.prototype = { get$_partialResult() { @@ -16259,7 +15697,7 @@ hash = hash + ((hash & 524287) << 10) & 536870911; return hash ^ hash >>> 6; }, - $signature: 20 + $signature: 24 }; A._BigIntImpl_hashCode_finish.prototype = { call$1(hash) { @@ -16267,13 +15705,13 @@ hash ^= hash >>> 11; return hash + ((hash & 16383) << 15) & 536870911; }, - $signature: 21 + $signature: 25 }; A._symbolMapToStringMap_closure.prototype = { call$2(key, value) { this.result.$indexSet(0, type$.Symbol._as(key)._name, value); }, - $signature: 22 + $signature: 26 }; A.NoSuchMethodError_toString_closure.prototype = { call$2(key, value) { @@ -16288,7 +15726,7 @@ t1._contents += A.Error_safeToString(value); t2.comma = ", "; }, - $signature: 22 + $signature: 26 }; A.DateTime.prototype = { $eq(_, other) { @@ -16579,9 +16017,6 @@ $isError: 1 }; A.Iterable.prototype = { - cast$1$0(_, $R) { - return A.CastIterable_CastIterable(this, A.instanceType(this)._eval$1("Iterable.E"), $R); - }, map$1$1(_, toElement, $T) { var t1 = A.instanceType(this); return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T); @@ -16589,10 +16024,6 @@ map$1($receiver, toElement) { return this.map$1$1($receiver, toElement, type$.dynamic); }, - where$1(_, test) { - var t1 = A.instanceType(this); - return new A.WhereIterable(this, t1._eval$1("bool(Iterable.E)")._as(test), t1._eval$1("WhereIterable")); - }, contains$1(_, element) { var t1; for (t1 = this.get$iterator(this); t1.moveNext$0();) @@ -16600,12 +16031,6 @@ return true; return false; }, - forEach$1(_, action) { - var t1; - A.instanceType(this)._eval$1("~(Iterable.E)")._as(action); - for (t1 = this.get$iterator(this); t1.moveNext$0();) - action.call$1(t1.get$current(t1)); - }, toList$1$growable(_, growable) { return A.List_List$of(this, growable, A.instanceType(this)._eval$1("Iterable.E")); }, @@ -16622,28 +16047,6 @@ get$isEmpty(_) { return !this.get$iterator(this).moveNext$0(); }, - get$isNotEmpty(_) { - return !this.get$isEmpty(this); - }, - skip$1(_, count) { - return A.SkipIterable_SkipIterable(this, count, A.instanceType(this)._eval$1("Iterable.E")); - }, - get$first(_) { - var it = this.get$iterator(this); - if (!it.moveNext$0()) - throw A.wrapException(A.IterableElementError_noElement()); - return it.get$current(it); - }, - get$single(_) { - var result, - it = this.get$iterator(this); - if (!it.moveNext$0()) - throw A.wrapException(A.IterableElementError_noElement()); - result = it.get$current(it); - if (it.moveNext$0()) - throw A.wrapException(A.IterableElementError_tooMany()); - return result; - }, elementAt$1(_, index) { var iterator, skipCount; A.RangeError_checkNotNegative(index, "index"); @@ -16661,7 +16064,7 @@ }; A.Null.prototype = { get$hashCode(_) { - return A.Object.prototype.get$hashCode.call(this, this); + return A.Object.prototype.get$hashCode.call(this, 0); }, toString$0(_) { return "null"; @@ -16713,13 +16116,13 @@ call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); }, - $signature: 64 + $signature: 46 }; A.Uri_parseIPv6Address_error.prototype = { call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); }, - $signature: 63 + $signature: 38 }; A.Uri_parseIPv6Address_parseHex.prototype = { call$2(start, end) { @@ -16731,7 +16134,7 @@ this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); return value; }, - $signature: 20 + $signature: 24 }; A._Uri.prototype = { get$_text() { @@ -16868,8 +16271,8 @@ if (_this.scheme === other.get$scheme()) if (_this._host != null === other.get$hasAuthority()) if (_this._userInfo === other.get$userInfo()) - if (_this.get$host(_this) === other.get$host(other)) - if (_this.get$port(_this) === other.get$port(other)) + if (_this.get$host(0) === other.get$host(other)) + if (_this.get$port(0) === other.get$port(other)) if (_this.path === other.get$path(other)) { t1 = _this._query; t2 = t1 == null; @@ -16917,7 +16320,7 @@ call$1(s) { return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false); }, - $signature: 23 + $signature: 32 }; A.UriData.prototype = { get$uri() { @@ -16958,7 +16361,7 @@ B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition); return t1; }, - $signature: 62 + $signature: 31 }; A._createTables_setChars.prototype = { call$3(target, chars, transition) { @@ -16970,7 +16373,7 @@ target[t2] = transition; } }, - $signature: 24 + $signature: 30 }; A._createTables_setRange.prototype = { call$3(target, range, transition) { @@ -16989,7 +16392,7 @@ target[t1] = transition; } }, - $signature: 24 + $signature: 30 }; A._SimpleUri.prototype = { get$hasAuthority() { @@ -17077,7 +16480,7 @@ isFile = scheme === "file"; t1 = _this._hostStart; userInfo = t1 > 0 ? B.JSString_methods.substring$2(_this._uri, _this._schemeEnd + 3, t1) : ""; - port = _this.get$hasPort() ? _this.get$port(_this) : _null; + port = _this.get$hasPort() ? _this.get$port(0) : _null; if (schemeChanged) port = A._Uri__makePort(port, scheme); t1 = _this._hostStart; @@ -17134,22 +16537,18 @@ return "Expando:null"; } }; - A.HtmlElement.prototype = {$isHtmlElement: 1}; + A.HtmlElement.prototype = {}; A.AccessibleNodeList.prototype = { get$length(receiver) { return receiver.length; } }; A.AnchorElement.prototype = { - set$href(receiver, value) { - receiver.href = value; - }, toString$0(receiver) { var t1 = String(receiver); t1.toString; return t1; - }, - $isAnchorElement: 1 + } }; A.AreaElement.prototype = { toString$0(receiver) { @@ -17158,9 +16557,7 @@ return t1; } }; - A.BaseElement.prototype = {$isBaseElement: 1}; A.Blob.prototype = {$isBlob: 1}; - A.BodyElement.prototype = {$isBodyElement: 1}; A.CharacterData.prototype = { get$length(receiver) { return receiver.length; @@ -17193,18 +16590,11 @@ return receiver.length; } }; - A.CustomEvent.prototype = { - _initCustomEvent$4(receiver, type, bubbles, cancelable, detail) { - return receiver.initCustomEvent(type, true, true, detail); - }, - $isCustomEvent: 1 - }; A.DataTransferItemList.prototype = { get$length(receiver) { return receiver.length; } }; - A.Document.prototype = {$isDocument: 1}; A.DomException.prototype = { toString$0(receiver) { var t1 = String(receiver); @@ -17212,13 +16602,6 @@ return t1; } }; - A.DomImplementation.prototype = { - createHtmlDocument$1(receiver, title) { - var t1 = receiver.createHTMLDocument(title); - t1.toString; - return t1; - } - }; A.DomRectList.prototype = { get$length(receiver) { var t1 = receiver.length; @@ -17364,154 +16747,22 @@ return t1; } }; - A._FrozenElementList.prototype = { - get$length(_) { - return this._nodeList.length; - }, - $index(_, index) { - var t1 = this._nodeList; - if (!(index >= 0 && index < t1.length)) - return A.ioore(t1, index); - return this.$ti._precomputed1._as(t1[index]); - }, - $indexSet(_, index, value) { - this.$ti._precomputed1._as(value); - throw A.wrapException(A.UnsupportedError$("Cannot modify list")); - }, - sort$1(_, compare) { - this.$ti._eval$1("int(1,1)?")._as(compare); - throw A.wrapException(A.UnsupportedError$("Cannot sort list")); - }, - get$first(_) { - return this.$ti._precomputed1._as(B.NodeList_methods.get$first(this._nodeList)); - } - }; A.Element.prototype = { - get$attributes(receiver) { - return new A._ElementAttributeMap(receiver); - }, toString$0(receiver) { var t1 = receiver.localName; t1.toString; return t1; - }, - createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) { - var t1, t2, contextElement, fragment; - if (treeSanitizer == null) { - t1 = $.Element__defaultValidator; - if (t1 == null) { - t1 = A._setArrayType([], type$.JSArray_NodeValidator); - t2 = new A.NodeValidatorBuilder(t1); - B.JSArray_methods.add$1(t1, A._Html5NodeValidator$(null)); - B.JSArray_methods.add$1(t1, A._TemplatingNodeValidator$()); - $.Element__defaultValidator = t2; - validator = t2; - } else - validator = t1; - t1 = $.Element__defaultSanitizer; - if (t1 == null) { - validator.toString; - t1 = new A._ValidatingTreeSanitizer(validator); - $.Element__defaultSanitizer = t1; - treeSanitizer = t1; - } else { - validator.toString; - t1.validator = validator; - treeSanitizer = t1; - } - } - if ($.Element__parseDocument == null) { - t1 = document; - t2 = t1.implementation; - t2.toString; - t2 = B.DomImplementation_methods.createHtmlDocument$1(t2, ""); - $.Element__parseDocument = t2; - t2 = t2.createRange(); - t2.toString; - $.Element__parseRange = t2; - t2 = $.Element__parseDocument.createElement("base"); - type$.BaseElement._as(t2); - t1 = t1.baseURI; - t1.toString; - t2.href = t1; - $.Element__parseDocument.head.appendChild(t2).toString; - } - t1 = $.Element__parseDocument; - if (t1.body == null) { - t2 = t1.createElement("body"); - B.HtmlDocument_methods.set$body(t1, type$.BodyElement._as(t2)); - } - t1 = $.Element__parseDocument; - if (type$.BodyElement._is(receiver)) { - t1 = t1.body; - t1.toString; - contextElement = t1; - } else { - t1.toString; - t2 = receiver.tagName; - t2.toString; - contextElement = t1.createElement(t2); - $.Element__parseDocument.body.appendChild(contextElement).toString; - } - t1 = "createContextualFragment" in window.Range.prototype; - t1.toString; - if (t1) { - t1 = receiver.tagName; - t1.toString; - t1 = !B.JSArray_methods.contains$1(B.List_ME0, t1); - } else - t1 = false; - if (t1) { - $.Element__parseRange.selectNodeContents(contextElement); - t1 = $.Element__parseRange; - t1 = t1.createContextualFragment(html); - t1.toString; - fragment = t1; - } else { - J.set$_innerHtml$x(contextElement, html); - t1 = $.Element__parseDocument.createDocumentFragment(); - t1.toString; - for (; t2 = contextElement.firstChild, t2 != null;) - t1.appendChild(t2).toString; - fragment = t1; - } - if (contextElement !== $.Element__parseDocument.body) - J.remove$0$x(contextElement); - treeSanitizer.sanitizeTree$1(fragment); - document.adoptNode(fragment).toString; - return fragment; - }, - createFragment$2$treeSanitizer($receiver, html, treeSanitizer) { - return this.createFragment$3$treeSanitizer$validator($receiver, html, treeSanitizer, null); - }, - setInnerHtml$1(receiver, html) { - this.set$text(receiver, null); - receiver.appendChild(this.createFragment$3$treeSanitizer$validator(receiver, html, null, null)).toString; - }, - set$_innerHtml(receiver, value) { - receiver.innerHTML = value; - }, - $isElement: 1 - }; - A.Element_Element$html_closure.prototype = { - call$1(e) { - return type$.Element._is(type$.Node._as(e)); - }, - $signature: 58 + } }; A.Event.prototype = {$isEvent: 1}; - A.EventSource.prototype = {$isEventSource: 1}; A.EventTarget.prototype = { addEventListener$3(receiver, type, listener, useCapture) { type$.nullable_dynamic_Function_Event._as(listener); if (listener != null) - this._addEventListener$3(receiver, type, listener, useCapture); - }, - addEventListener$2($receiver, type, listener) { - return this.addEventListener$3($receiver, type, listener, null); + this._addEventListener$3(receiver, type, listener, false); }, _addEventListener$3(receiver, type, listener, options) { - return receiver.addEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), options); + return receiver.addEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false); }, _removeEventListener$3(receiver, type, listener, options) { return receiver.removeEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false); @@ -17556,8 +16807,7 @@ $isEfficientLengthIterable: 1, $isJavaScriptIndexingBehavior: 1, $isIterable: 1, - $isList: 1, - $isFileList: 1 + $isList: 1 }; A.FileWriter.prototype = { get$length(receiver) { @@ -17616,63 +16866,13 @@ $isIterable: 1, $isList: 1 }; - A.HtmlDocument.prototype = { - set$body(receiver, value) { - receiver.body = value; - } - }; - A.HttpRequest.prototype = { - open$3$async(receiver, method, url, async) { - return receiver.open(method, url, true); - }, - set$withCredentials(receiver, value) { - receiver.withCredentials = true; - }, - $isHttpRequest: 1 - }; - A.HttpRequest_request_closure.prototype = { - call$1(e) { - var t1, t2, accepted, unknownRedirect, t3; - type$.ProgressEvent._as(e); - t1 = this.xhr; - t2 = t1.status; - t2.toString; - accepted = t2 >= 200 && t2 < 300; - unknownRedirect = t2 > 307 && t2 < 400; - t2 = accepted || t2 === 0 || t2 === 304 || unknownRedirect; - t3 = this.completer; - if (t2) - t3.complete$1(0, t1); - else - t3.completeError$1(e); - }, - $signature: 53 - }; - A.HttpRequestEventTarget.prototype = {}; A.ImageData.prototype = {$isImageData: 1}; - A.KeyboardEvent.prototype = {$isKeyboardEvent: 1}; A.Location.prototype = { - get$origin(receiver) { - var t2, - t1 = "origin" in receiver; - t1.toString; - if (t1) { - t1 = receiver.origin; - t1.toString; - return t1; - } - t1 = receiver.protocol; - t1.toString; - t2 = receiver.host; - t2.toString; - return t1 + "//" + t2; - }, toString$0(receiver) { var t1 = String(receiver); t1.toString; return t1; - }, - $isLocation: 1 + } }; A.MediaList.prototype = { get$length(receiver) { @@ -17680,7 +16880,6 @@ } }; A.MessageEvent.prototype = {$isMessageEvent: 1}; - A.MessagePort.prototype = {$isMessagePort: 1}; A.MidiInputMap.prototype = { containsKey$1(receiver, key) { return A.convertNativeToDart_Dictionary(receiver.get(key)) != null; @@ -17728,7 +16927,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 6 + $signature: 7 }; A.MidiOutputMap.prototype = { containsKey$1(receiver, key) { @@ -17777,7 +16976,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 6 + $signature: 7 }; A.MimeType.prototype = {$isMimeType: 1}; A.MimeTypeArray.prototype = { @@ -17819,86 +17018,11 @@ $isIterable: 1, $isList: 1 }; - A._ChildNodeListLazy.prototype = { - get$first(_) { - var result = this._this.firstChild; - if (result == null) - throw A.wrapException(A.StateError$("No elements")); - return result; - }, - get$single(_) { - var t1 = this._this, - l = t1.childNodes.length; - if (l === 0) - throw A.wrapException(A.StateError$("No elements")); - if (l > 1) - throw A.wrapException(A.StateError$("More than one element")); - t1 = t1.firstChild; - t1.toString; - return t1; - }, - addAll$1(_, iterable) { - var t1, t2, len, i, t3; - type$.Iterable_Node._as(iterable); - if (iterable instanceof A._ChildNodeListLazy) { - t1 = iterable._this; - t2 = this._this; - if (t1 !== t2) - for (len = t1.childNodes.length, i = 0; i < len; ++i) { - t3 = t1.firstChild; - t3.toString; - t2.appendChild(t3).toString; - } - return; - } - for (t1 = iterable.get$iterator(iterable), t2 = this._this; t1.moveNext$0();) - t2.appendChild(t1.get$current(t1)).toString; - }, - $indexSet(_, index, value) { - var t1, t2; - type$.Node._as(value); - t1 = this._this; - t2 = t1.childNodes; - if (!(index >= 0 && index < t2.length)) - return A.ioore(t2, index); - t1.replaceChild(value, t2[index]).toString; - }, - get$iterator(_) { - var t1 = this._this.childNodes; - return new A.FixedSizeListIterator(t1, t1.length, A.instanceType(t1)._eval$1("FixedSizeListIterator")); - }, - sort$1(_, compare) { - type$.nullable_int_Function_Node_Node._as(compare); - throw A.wrapException(A.UnsupportedError$("Cannot sort Node list")); - }, - get$length(_) { - return this._this.childNodes.length; - }, - $index(_, index) { - var t1 = this._this.childNodes; - if (!(index >= 0 && index < t1.length)) - return A.ioore(t1, index); - return t1[index]; - } - }; A.Node.prototype = { - remove$0(receiver) { - var t1 = receiver.parentNode; - if (t1 != null) - t1.removeChild(receiver).toString; - }, - _clearChildren$0(receiver) { - var t1; - for (; t1 = receiver.firstChild, t1 != null;) - receiver.removeChild(t1).toString; - }, toString$0(receiver) { var value = receiver.nodeValue; return value == null ? this.super$Interceptor$toString(receiver) : value; }, - set$text(receiver, value) { - receiver.textContent = value; - }, $isNode: 1 }; A.NodeList.prototype = { @@ -17985,7 +17109,6 @@ $isIterable: 1, $isList: 1 }; - A.ProgressEvent.prototype = {$isProgressEvent: 1}; A.RtcStatsReport.prototype = { containsKey$1(receiver, key) { return A.convertNativeToDart_Dictionary(receiver.get(key)) != null; @@ -18033,15 +17156,13 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 6 + $signature: 7 }; - A.ScriptElement.prototype = {$isScriptElement: 1}; A.SelectElement.prototype = { get$length(receiver) { return receiver.length; } }; - A.SharedArrayBuffer.prototype = {$isSharedArrayBuffer: 1}; A.SourceBuffer.prototype = {$isSourceBuffer: 1}; A.SourceBufferList.prototype = { get$length(receiver) { @@ -18169,70 +17290,9 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 15 + $signature: 27 }; A.StyleSheet.prototype = {$isStyleSheet: 1}; - A.TableElement.prototype = { - createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) { - var table, - t1 = "createContextualFragment" in window.Range.prototype; - t1.toString; - if (t1) - return this.super$Element$createFragment(receiver, html, treeSanitizer, validator); - table = A.Element_Element$html("" + html + "
", treeSanitizer, validator); - t1 = document.createDocumentFragment(); - t1.toString; - new A._ChildNodeListLazy(t1).addAll$1(0, new A._ChildNodeListLazy(table)); - return t1; - } - }; - A.TableRowElement.prototype = { - createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) { - var t2, - t1 = "createContextualFragment" in window.Range.prototype; - t1.toString; - if (t1) - return this.super$Element$createFragment(receiver, html, treeSanitizer, validator); - t1 = document; - t2 = t1.createDocumentFragment(); - t2.toString; - t1 = t1.createElement("table"); - t1.toString; - t1 = new A._ChildNodeListLazy(B.TableElement_methods.createFragment$3$treeSanitizer$validator(t1, html, treeSanitizer, validator)); - t1 = new A._ChildNodeListLazy(t1.get$single(t1)); - new A._ChildNodeListLazy(t2).addAll$1(0, new A._ChildNodeListLazy(t1.get$single(t1))); - return t2; - } - }; - A.TableSectionElement.prototype = { - createFragment$3$treeSanitizer$validator(receiver, html, treeSanitizer, validator) { - var t2, - t1 = "createContextualFragment" in window.Range.prototype; - t1.toString; - if (t1) - return this.super$Element$createFragment(receiver, html, treeSanitizer, validator); - t1 = document; - t2 = t1.createDocumentFragment(); - t2.toString; - t1 = t1.createElement("table"); - t1.toString; - t1 = new A._ChildNodeListLazy(B.TableElement_methods.createFragment$3$treeSanitizer$validator(t1, html, treeSanitizer, validator)); - new A._ChildNodeListLazy(t2).addAll$1(0, new A._ChildNodeListLazy(t1.get$single(t1))); - return t2; - } - }; - A.TemplateElement.prototype = { - setInnerHtml$1(receiver, html) { - var t1, fragment; - this.set$text(receiver, null); - t1 = receiver.content; - t1.toString; - J._clearChildren$0$x(t1); - fragment = this.createFragment$3$treeSanitizer$validator(receiver, html, null, null); - receiver.content.appendChild(fragment).toString; - }, - $isTemplateElement: 1 - }; A.TextTrack.prototype = {$isTextTrack: 1}; A.TextTrackCue.prototype = {$isTextTrackCue: 1}; A.TextTrackCueList.prototype = { @@ -18365,7 +17425,6 @@ return receiver.length; } }; - A.UIEvent.prototype = {}; A.Url.prototype = { toString$0(receiver) { var t1 = String(receiver); @@ -18387,20 +17446,8 @@ }, $isWebSocket: 1 }; - A.Window.prototype = { - alert$1(receiver, message) { - return receiver.alert(message); - }, - confirm$1(receiver, message) { - var t1 = receiver.confirm(message); - t1.toString; - return t1; - }, - $isWindow: 1, - $isWindowBase: 1 - }; + A.Window.prototype = {$isWindow: 1}; A.WorkerGlobalScope.prototype = {$isWorkerGlobalScope: 1}; - A._Attr.prototype = {$is_Attr: 1}; A._CssRuleList.prototype = { get$length(receiver) { var t1 = receiver.length; @@ -18665,159 +17712,85 @@ $isIterable: 1, $isList: 1 }; - A._AttributeMap.prototype = { - cast$2$0(_, $K, $V) { - var t1 = type$.String; - return A.Map_castFrom(this, t1, t1, $K, $V); - }, - forEach$1(_, f) { - var t1, t2, t3, _i, t4, value; - type$.void_Function_String_String._as(f); - for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._element, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { - t4 = A._asString(t1[_i]); - value = t3.getAttribute(t4); - f.call$2(t4, value == null ? A._asString(value) : value); - } - }, - get$keys(_) { - var keys, len, t2, i, attr, t3, - t1 = this._element.attributes; - t1.toString; - keys = A._setArrayType([], type$.JSArray_String); - for (len = t1.length, t2 = type$._Attr, i = 0; i < len; ++i) { - if (!(i < t1.length)) - return A.ioore(t1, i); - attr = t2._as(t1[i]); - if (attr.namespaceURI == null) { - t3 = attr.name; - t3.toString; - B.JSArray_methods.add$1(keys, t3); - } - } - return keys; - }, - get$isEmpty(_) { - return this.get$keys(this).length === 0; - } - }; - A._ElementAttributeMap.prototype = { - containsKey$1(_, key) { - var t1 = this._element.hasAttribute(key); - t1.toString; - return t1; - }, - $index(_, key) { - return this._element.getAttribute(A._asString(key)); - }, - $indexSet(_, key, value) { - this._element.setAttribute(A._asString(key), A._asString(value)); - }, - get$length(_) { - return this.get$keys(this).length; - } - }; A.EventStreamProvider.prototype = {}; - A._EventStream.prototype = { + A._EventStream0.prototype = { listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { var t1 = this.$ti; t1._eval$1("~(1)?")._as(onData); type$.nullable_void_Function._as(onDone); - return A._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1); + return A._EventStreamSubscription$0(this._html$_target, this._html$_eventType, onData, false, t1._precomputed1); }, listen$3$onDone$onError(onData, onDone, onError) { return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); } }; - A._EventStreamSubscription.prototype = { + A._EventStreamSubscription0.prototype = { cancel$0(_) { var _this = this; - if (_this._target == null) + if (_this._html$_target == null) return $.$get$nullFuture(); - _this._unlisten$0(); - _this._target = null; - _this.set$_onData(null); + _this._html$_unlisten$0(); + _this._html$_target = null; + _this.set$_html$_onData(null); return $.$get$nullFuture(); }, onData$1(handleData) { var t1, _this = this; _this.$ti._eval$1("~(1)?")._as(handleData); - if (_this._target == null) + if (_this._html$_target == null) throw A.wrapException(A.StateError$("Subscription has been canceled.")); - _this._unlisten$0(); - t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.Event); - _this.set$_onData(t1); - _this._tryResume$0(); + _this._html$_unlisten$0(); + t1 = A._wrapZone0(new A._EventStreamSubscription_onData_closure0(handleData), type$.Event); + _this.set$_html$_onData(t1); + _this._html$_tryResume$0(); }, pause$0(_) { - if (this._target == null) + if (this._html$_target == null) return; - ++this._pauseCount; - this._unlisten$0(); + ++this._html$_pauseCount; + this._html$_unlisten$0(); }, resume$0(_) { var _this = this; - if (_this._target == null || _this._pauseCount <= 0) + if (_this._html$_target == null || _this._html$_pauseCount <= 0) return; - --_this._pauseCount; - _this._tryResume$0(); + --_this._html$_pauseCount; + _this._html$_tryResume$0(); }, - _tryResume$0() { + _html$_tryResume$0() { var t2, _this = this, - t1 = _this._onData; - if (t1 != null && _this._pauseCount <= 0) { - t2 = _this._target; + t1 = _this._html$_onData; + if (t1 != null && _this._html$_pauseCount <= 0) { + t2 = _this._html$_target; t2.toString; - J.addEventListener$3$x(t2, _this._eventType, t1, false); + B.WebSocket_methods.addEventListener$3(t2, _this._html$_eventType, t1, false); } }, - _unlisten$0() { + _html$_unlisten$0() { var t2, - t1 = this._onData; + t1 = this._html$_onData; if (t1 != null) { - t2 = this._target; + t2 = this._html$_target; t2.toString; - J._removeEventListener$3$x(t2, this._eventType, type$.nullable_dynamic_Function_Event._as(t1), false); + B.WebSocket_methods._removeEventListener$3(t2, this._html$_eventType, type$.nullable_dynamic_Function_Event._as(t1), false); } }, - set$_onData(_onData) { - this._onData = type$.nullable_dynamic_Function_Event._as(_onData); + set$_html$_onData(_onData) { + this._html$_onData = type$.nullable_dynamic_Function_Event._as(_onData); }, $isStreamSubscription: 1 }; - A._EventStreamSubscription_closure.prototype = { + A._EventStreamSubscription_closure0.prototype = { call$1(e) { return this.onData.call$1(type$.Event._as(e)); }, - $signature: 4 + $signature: 28 }; - A._EventStreamSubscription_onData_closure.prototype = { + A._EventStreamSubscription_onData_closure0.prototype = { call$1(e) { return this.handleData.call$1(type$.Event._as(e)); }, - $signature: 4 - }; - A._Html5NodeValidator.prototype = { - _Html5NodeValidator$1$uriPolicy(uriPolicy) { - var _i; - if ($._Html5NodeValidator__attributeValidators._length === 0) { - for (_i = 0; _i < 262; ++_i) - $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_uzK[_i], A.html__Html5NodeValidator__standardAttributeValidator$closure()); - for (_i = 0; _i < 12; ++_i) - $._Html5NodeValidator__attributeValidators.$indexSet(0, B.List_Jwp[_i], A.html__Html5NodeValidator__uriAttributeValidator$closure()); - } - }, - allowsElement$1(element) { - return $.$get$_Html5NodeValidator__allowedElements().contains$1(0, A.Element__safeTagName(element)); - }, - allowsAttribute$3(element, attributeName, value) { - var validator = $._Html5NodeValidator__attributeValidators.$index(0, A.Element__safeTagName(element) + "::" + attributeName); - if (validator == null) - validator = $._Html5NodeValidator__attributeValidators.$index(0, "*::" + attributeName); - if (validator == null) - return false; - return A._asBool(validator.call$4(element, attributeName, value, this)); - }, - $isNodeValidator: 1 + $signature: 28 }; A.ImmutableListMixin.prototype = { get$iterator(receiver) { @@ -18828,116 +17801,6 @@ throw A.wrapException(A.UnsupportedError$("Cannot sort immutable List.")); } }; - A.NodeValidatorBuilder.prototype = { - allowsElement$1(element) { - return B.JSArray_methods.any$1(this._validators, new A.NodeValidatorBuilder_allowsElement_closure(element)); - }, - allowsAttribute$3(element, attributeName, value) { - return B.JSArray_methods.any$1(this._validators, new A.NodeValidatorBuilder_allowsAttribute_closure(element, attributeName, value)); - }, - $isNodeValidator: 1 - }; - A.NodeValidatorBuilder_allowsElement_closure.prototype = { - call$1(v) { - return type$.NodeValidator._as(v).allowsElement$1(this.element); - }, - $signature: 26 - }; - A.NodeValidatorBuilder_allowsAttribute_closure.prototype = { - call$1(v) { - return type$.NodeValidator._as(v).allowsAttribute$3(this.element, this.attributeName, this.value); - }, - $signature: 26 - }; - A._SimpleNodeValidator.prototype = { - _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttributes(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes) { - var legalAttributes, extraUriAttributes, t1; - this.allowedElements.addAll$1(0, allowedElements); - legalAttributes = allowedAttributes.where$1(0, new A._SimpleNodeValidator_closure()); - extraUriAttributes = allowedAttributes.where$1(0, new A._SimpleNodeValidator_closure0()); - this.allowedAttributes.addAll$1(0, legalAttributes); - t1 = this.allowedUriAttributes; - t1.addAll$1(0, B.List_empty0); - t1.addAll$1(0, extraUriAttributes); - }, - allowsElement$1(element) { - return this.allowedElements.contains$1(0, A.Element__safeTagName(element)); - }, - allowsAttribute$3(element, attributeName, value) { - var t3, _this = this, - tagName = A.Element__safeTagName(element), - t1 = _this.allowedUriAttributes, - t2 = tagName + "::" + attributeName; - if (t1.contains$1(0, t2)) - return _this.uriPolicy.allowsUri$1(value); - else { - t3 = "*::" + attributeName; - if (t1.contains$1(0, t3)) - return _this.uriPolicy.allowsUri$1(value); - else { - t1 = _this.allowedAttributes; - if (t1.contains$1(0, t2)) - return true; - else if (t1.contains$1(0, t3)) - return true; - else if (t1.contains$1(0, tagName + "::*")) - return true; - else if (t1.contains$1(0, "*::*")) - return true; - } - } - return false; - }, - $isNodeValidator: 1 - }; - A._SimpleNodeValidator_closure.prototype = { - call$1(x) { - return !B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x)); - }, - $signature: 27 - }; - A._SimpleNodeValidator_closure0.prototype = { - call$1(x) { - return B.JSArray_methods.contains$1(B.List_Jwp, A._asString(x)); - }, - $signature: 27 - }; - A._TemplatingNodeValidator.prototype = { - allowsAttribute$3(element, attributeName, value) { - if (this.super$_SimpleNodeValidator$allowsAttribute(element, attributeName, value)) - return true; - if (attributeName === "template" && value === "") - return true; - if (element.getAttribute("template") === "") - return this._templateAttrs.contains$1(0, attributeName); - return false; - } - }; - A._TemplatingNodeValidator_closure.prototype = { - call$1(attr) { - return "TEMPLATE::" + A._asString(attr); - }, - $signature: 23 - }; - A._SvgNodeValidator.prototype = { - allowsElement$1(element) { - var t1; - if (type$.ScriptElement._is(element)) - return false; - t1 = type$.SvgElement._is(element); - if (t1 && A.Element__safeTagName(element) === "foreignObject") - return false; - if (t1) - return true; - return false; - }, - allowsAttribute$3(element, attributeName, value) { - if (attributeName === "is" || B.JSString_methods.startsWith$1(attributeName, "on")) - return false; - return this.allowsElement$1(element); - }, - $isNodeValidator: 1 - }; A.FixedSizeListIterator.prototype = { moveNext$0() { var _this = this, @@ -18961,202 +17824,6 @@ }, $isIterator: 1 }; - A._DOMWindowCrossFrame.prototype = {$isJSObject: 1, $isEventTarget: 1, $isWindowBase: 1}; - A._SameOriginUriPolicy.prototype = {$isUriPolicy: 1}; - A._ValidatingTreeSanitizer.prototype = { - sanitizeTree$1(node) { - var previousTreeModifications, - walk = new A._ValidatingTreeSanitizer_sanitizeTree_walk(this); - do { - previousTreeModifications = this.numTreeModifications; - walk.call$2(node, null); - } while (previousTreeModifications !== this.numTreeModifications); - }, - _removeNode$2(node, $parent) { - ++this.numTreeModifications; - if ($parent == null || $parent !== node.parentNode) - J.remove$0$x(node); - else - $parent.removeChild(node).toString; - }, - _sanitizeUntrustedElement$2(element, $parent) { - var corruptedTest1, elementText, elementTagName, t1, corrupted0, exception, t2, - corrupted = true, - attrs = null, isAttr = null; - try { - attrs = J.get$attributes$x(element); - isAttr = attrs._element.getAttribute("is"); - type$.Element._as(element); - t1 = function(element) { - if (!(element.attributes instanceof NamedNodeMap)) - return true; - if (element.id == "lastChild" || element.name == "lastChild" || element.id == "previousSibling" || element.name == "previousSibling" || element.id == "children" || element.name == "children") - return true; - var childNodes = element.childNodes; - if (element.lastChild && element.lastChild !== childNodes[childNodes.length - 1]) - return true; - if (element.children) - if (!(element.children instanceof HTMLCollection || element.children instanceof NodeList)) - return true; - var length = 0; - if (element.children) - length = element.children.length; - for (var i = 0; i < length; i++) { - var child = element.children[i]; - if (child.id == "attributes" || child.name == "attributes" || child.id == "lastChild" || child.name == "lastChild" || child.id == "previousSibling" || child.name == "previousSibling" || child.id == "children" || child.name == "children") - return true; - } - return false; - }(element); - t1.toString; - corruptedTest1 = t1; - if (A.boolConversionCheck(corruptedTest1)) - corrupted0 = true; - else { - t1 = !(element.attributes instanceof NamedNodeMap); - t1.toString; - corrupted0 = t1; - } - corrupted = corrupted0; - } catch (exception) { - } - elementText = "element unprintable"; - try { - elementText = J.toString$0$(element); - } catch (exception) { - } - try { - type$.Element._as(element); - elementTagName = A.Element__safeTagName(element); - this._sanitizeElement$7(element, $parent, corrupted, elementText, elementTagName, type$.Map_dynamic_dynamic._as(attrs), A._asStringQ(isAttr)); - } catch (exception) { - if (A.unwrapException(exception) instanceof A.ArgumentError) - throw exception; - else { - this._removeNode$2(element, $parent); - window.toString; - t1 = A.S(elementText); - t2 = typeof console != "undefined"; - t2.toString; - if (t2) - window.console.warn("Removing corrupted element " + t1); - } - } - }, - _sanitizeElement$7(element, $parent, corrupted, text, tag, attrs, isAttr) { - var t1, t2, keys, i, $name, t3, t4, _this = this; - if (corrupted) { - _this._removeNode$2(element, $parent); - window.toString; - t1 = typeof console != "undefined"; - t1.toString; - if (t1) - window.console.warn("Removing element due to corrupted attributes on <" + text + ">"); - return; - } - if (!_this.validator.allowsElement$1(element)) { - _this._removeNode$2(element, $parent); - window.toString; - t1 = A.S($parent); - t2 = typeof console != "undefined"; - t2.toString; - if (t2) - window.console.warn("Removing disallowed element <" + tag + "> from " + t1); - return; - } - if (isAttr != null) - if (!_this.validator.allowsAttribute$3(element, "is", isAttr)) { - _this._removeNode$2(element, $parent); - window.toString; - t1 = typeof console != "undefined"; - t1.toString; - if (t1) - window.console.warn("Removing disallowed type extension <" + tag + ' is="' + isAttr + '">'); - return; - } - t1 = attrs.get$keys(attrs); - keys = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1)); - for (i = attrs.get$keys(attrs).length - 1, t1 = attrs._element, t2 = "Removing disallowed attribute <" + tag + " "; i >= 0; --i) { - if (!(i < keys.length)) - return A.ioore(keys, i); - $name = keys[i]; - t3 = _this.validator; - t4 = J.toLowerCase$0$s($name); - A._asString($name); - if (!t3.allowsAttribute$3(element, t4, A._asString(t1.getAttribute($name)))) { - window.toString; - t3 = t1.getAttribute($name); - t4 = typeof console != "undefined"; - t4.toString; - if (t4) - window.console.warn(t2 + $name + '="' + A.S(t3) + '">'); - t1.removeAttribute($name); - } - } - if (type$.TemplateElement._is(element)) { - t1 = element.content; - t1.toString; - _this.sanitizeTree$1(t1); - } - }, - sanitizeNode$2(node, $parent) { - var t1 = node.nodeType; - t1.toString; - switch (t1) { - case 1: - this._sanitizeUntrustedElement$2(node, $parent); - break; - case 8: - case 11: - case 3: - case 4: - break; - default: - this._removeNode$2(node, $parent); - } - }, - $isNodeTreeSanitizer: 1 - }; - A._ValidatingTreeSanitizer_sanitizeTree_walk.prototype = { - call$2(node, $parent) { - var child, nextChild, t2, t3, t4, exception, - t1 = this.$this; - t1.sanitizeNode$2(node, $parent); - child = node.lastChild; - for (t2 = type$.Node; child != null;) { - nextChild = null; - try { - nextChild = child.previousSibling; - if (nextChild != null) { - t3 = nextChild.nextSibling; - t4 = child; - t4 = t3 == null ? t4 != null : t3 !== t4; - t3 = t4; - } else - t3 = false; - if (t3) { - t3 = A.StateError$("Corrupt HTML"); - throw A.wrapException(t3); - } - } catch (exception) { - t3 = t2._as(child); - ++t1.numTreeModifications; - t4 = t3.parentNode; - if (node !== t4) { - if (t4 != null) - t4.removeChild(t3).toString; - } else - node.removeChild(t3).toString; - child = null; - nextChild = node.lastChild; - } - if (child != null) - this.call$2(child, node); - child = nextChild; - } - }, - $signature: 37 - }; A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase.prototype = {}; A._DomRectList_JavaScriptObject_ListMixin.prototype = {}; A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; @@ -19196,107 +17863,6 @@ A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; A.__StyleSheetList_JavaScriptObject_ListMixin.prototype = {}; A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {}; - A._StructuredClone.prototype = { - findSlot$1(value) { - var i, - t1 = this.values, - $length = t1.length; - for (i = 0; i < $length; ++i) - if (t1[i] === value) - return i; - B.JSArray_methods.add$1(t1, value); - B.JSArray_methods.add$1(this.copies, null); - return $length; - }, - walk$1(e) { - var slot, t2, copy, t3, _this = this, t1 = {}; - if (e == null) - return e; - if (A._isBool(e)) - return e; - if (typeof e == "number") - return e; - if (typeof e == "string") - return e; - if (e instanceof A.DateTime) - return new Date(e._value); - if (e instanceof A.JSSyntaxRegExp) - throw A.wrapException(A.UnimplementedError$("structured clone of RegExp")); - if (type$.File._is(e)) - return e; - if (type$.Blob._is(e)) - return e; - if (type$.FileList._is(e)) - return e; - if (type$.ImageData._is(e)) - return e; - if (type$.NativeByteBuffer._is(e) || type$.NativeTypedData._is(e) || type$.MessagePort._is(e) || type$.SharedArrayBuffer._is(e)) - return e; - if (type$.Map_dynamic_dynamic._is(e)) { - slot = _this.findSlot$1(e); - t2 = _this.copies; - if (!(slot < t2.length)) - return A.ioore(t2, slot); - copy = t1.copy = t2[slot]; - if (copy != null) - return copy; - copy = {}; - t1.copy = copy; - B.JSArray_methods.$indexSet(t2, slot, copy); - J.forEach$1$ax(e, new A._StructuredClone_walk_closure(t1, _this)); - return t1.copy; - } - if (type$.List_dynamic._is(e)) { - slot = _this.findSlot$1(e); - t1 = _this.copies; - if (!(slot < t1.length)) - return A.ioore(t1, slot); - copy = t1[slot]; - if (copy != null) - return copy; - return _this.copyList$2(e, slot); - } - if (type$.JSObject._is(e)) { - slot = _this.findSlot$1(e); - t2 = _this.copies; - if (!(slot < t2.length)) - return A.ioore(t2, slot); - copy = t1.copy = t2[slot]; - if (copy != null) - return copy; - t3 = {}; - t3.toString; - t1.copy = t3; - B.JSArray_methods.$indexSet(t2, slot, t3); - _this.forEachObjectKey$2(e, new A._StructuredClone_walk_closure0(t1, _this)); - return t1.copy; - } - throw A.wrapException(A.UnimplementedError$("structured clone of other type")); - }, - copyList$2(e, slot) { - var i, - t1 = J.getInterceptor$asx(e), - $length = t1.get$length(e), - t2 = new Array($length); - t2.toString; - B.JSArray_methods.$indexSet(this.copies, slot, t2); - for (i = 0; i < $length; ++i) - B.JSArray_methods.$indexSet(t2, i, this.walk$1(t1.$index(e, i))); - return t2; - } - }; - A._StructuredClone_walk_closure.prototype = { - call$2(key, value) { - this._box_0.copy[key] = this.$this.walk$1(value); - }, - $signature: 9 - }; - A._StructuredClone_walk_closure0.prototype = { - call$2(key, value) { - this._box_0.copy[key] = this.$this.walk$1(value); - }, - $signature: 38 - }; A._AcceptStructuredClone.prototype = { findSlot$1(value) { var i, @@ -19374,10 +17940,6 @@ return copy; } return e; - }, - convertNativeToDart_AcceptStructuredClone$2$mustCopy(object, mustCopy) { - this.mustCopy = true; - return this.walk$1(object); } }; A._AcceptStructuredClone_walk_closure.prototype = { @@ -19386,29 +17948,7 @@ this.map.$indexSet(0, key, t1); return t1; }, - $signature: 39 - }; - A._convertDartToNative_Value_closure.prototype = { - call$1(element) { - this.array.push(A._convertDartToNative_Value(element)); - }, - $signature: 3 - }; - A.convertDartToNative_Dictionary_closure.prototype = { - call$2(key, value) { - this.object[key] = A._convertDartToNative_Value(value); - }, - $signature: 9 - }; - A._StructuredCloneDart2Js.prototype = { - forEachObjectKey$2(object, action) { - var t1, t2, _i, key; - type$.dynamic_Function_dynamic_dynamic._as(action); - for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { - key = t1[_i]; - action.call$2(key, object[key]); - } - } + $signature: 33 }; A._AcceptStructuredCloneDart2Js.prototype = { forEachJsField$2(object, action) { @@ -19443,7 +17983,7 @@ } else return A._convertToJS(o); }, - $signature: 40 + $signature: 34 }; A._convertToJS_closure.prototype = { call$1(o) { @@ -19457,32 +17997,32 @@ A._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o); return jsFunction; }, - $signature: 1 + $signature: 2 }; A._convertToJS_closure0.prototype = { call$1(o) { return new this.ctor(o); }, - $signature: 1 + $signature: 2 }; A._wrapToDart_closure.prototype = { call$1(o) { return new A.JsFunction(o == null ? type$.Object._as(o) : o); }, - $signature: 41 + $signature: 35 }; A._wrapToDart_closure0.prototype = { call$1(o) { var t1 = o == null ? type$.Object._as(o) : o; return new A.JsArray(t1, type$.JsArray_dynamic); }, - $signature: 42 + $signature: 36 }; A._wrapToDart_closure1.prototype = { call$1(o) { return new A.JsObject(o == null ? type$.Object._as(o) : o); }, - $signature: 43 + $signature: 37 }; A.JsObject.prototype = { $index(_, property) { @@ -19531,10 +18071,9 @@ A.JsFunction.prototype = {}; A.JsArray.prototype = { _checkIndex$1(index) { - var _this = this, - t1 = index < 0 || index >= _this.get$length(_this); + var t1 = index < 0 || index >= this.get$length(0); if (t1) - throw A.wrapException(A.RangeError$range(index, 0, _this.get$length(_this), null, null)); + throw A.wrapException(A.RangeError$range(index, 0, this.get$length(0), null, null)); }, $index(_, index) { if (A._isInt(index)) @@ -19553,7 +18092,7 @@ }, sort$1(_, compare) { this.$ti._eval$1("int(1,1)?")._as(compare); - this.callMethod$2("sort", compare == null ? [] : [compare]); + this.callMethod$2("sort", [compare]); }, $isEfficientLengthIterable: 1, $isIterable: 1, @@ -19568,7 +18107,7 @@ call$1(r) { return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r)); }, - $signature: 3 + $signature: 5 }; A.promiseToFuture_closure0.prototype = { call$1(e) { @@ -19576,7 +18115,54 @@ return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); return this.completer.completeError$1(e); }, - $signature: 3 + $signature: 5 + }; + A.dartify_convert.prototype = { + call$1(o) { + var t1, proto, t2, dartObject, originalKeys, dartKeys, i, jsKey, dartKey, l, $length; + if (A._noDartifyRequired(o)) + return o; + t1 = this._convertedObjects; + o.toString; + if (t1.containsKey$1(0, o)) + return t1.$index(0, o); + if (o instanceof Date) + return A.DateTime$fromMillisecondsSinceEpoch(o.getTime(), true); + if (o instanceof RegExp) + throw A.wrapException(A.ArgumentError$("structured clone of RegExp", null)); + if (typeof Promise != "undefined" && o instanceof Promise) + return A.promiseToFuture(o, type$.nullable_Object); + proto = Object.getPrototypeOf(o); + if (proto === Object.prototype || proto === null) { + t2 = type$.nullable_Object; + dartObject = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2); + t1.$indexSet(0, o, dartObject); + originalKeys = Object.keys(o); + dartKeys = []; + for (t1 = J.getInterceptor$ax(originalKeys), t2 = t1.get$iterator(originalKeys); t2.moveNext$0();) + dartKeys.push(A.dartify(t2.get$current(t2))); + for (i = 0; i < t1.get$length(originalKeys); ++i) { + jsKey = t1.$index(originalKeys, i); + if (!(i < dartKeys.length)) + return A.ioore(dartKeys, i); + dartKey = dartKeys[i]; + if (jsKey != null) + dartObject.$indexSet(0, dartKey, this.call$1(o[jsKey])); + } + return dartObject; + } + if (o instanceof Array) { + l = o; + dartObject = []; + t1.$indexSet(0, o, dartObject); + $length = A._asInt(o.length); + for (t1 = J.getInterceptor$asx(l), i = 0; i < $length; ++i) + dartObject.push(this.call$1(t1.$index(l, i))); + return dartObject; + } + return o; + }, + $signature: 13 }; A.NullRejectionException.prototype = { toString$0(_) { @@ -19741,7 +18327,6 @@ return receiver.length; } }; - A.ScriptElement0.prototype = {$isScriptElement0: 1}; A.StringList.prototype = { get$length(receiver) { var t1 = receiver.length; @@ -19780,28 +18365,6 @@ $isIterable: 1, $isList: 1 }; - A.SvgElement.prototype = { - createFragment$3$treeSanitizer$validator(receiver, svg, treeSanitizer, validator) { - var t2, fragment, root, - t1 = A._setArrayType([], type$.JSArray_NodeValidator); - B.JSArray_methods.add$1(t1, A._Html5NodeValidator$(null)); - B.JSArray_methods.add$1(t1, A._TemplatingNodeValidator$()); - B.JSArray_methods.add$1(t1, new A._SvgNodeValidator()); - treeSanitizer = new A._ValidatingTreeSanitizer(new A.NodeValidatorBuilder(t1)); - t1 = document; - t2 = t1.body; - t2.toString; - fragment = B.BodyElement_methods.createFragment$2$treeSanitizer(t2, '' + svg + "", treeSanitizer); - t1 = t1.createDocumentFragment(); - t1.toString; - t2 = new A._ChildNodeListLazy(fragment); - root = t2.get$single(t2); - for (; t2 = root.firstChild, t2 != null;) - t1.appendChild(t2).toString; - return t1; - }, - $isSvgElement: 1 - }; A.Transform.prototype = {$isTransform: 1}; A.TransformList.prototype = { get$length(receiver) { @@ -19901,7 +18464,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 6 + $signature: 7 }; A.AudioTrackList.prototype = { get$length(receiver) { @@ -19958,7 +18521,7 @@ }, _updateRequests$0() { var t1, t2, t3, t4, t5, _this = this; - for (t1 = _this._requestQueue, t2 = _this._eventQueue, t3 = t1.$ti._precomputed1; !t1.get$isEmpty(t1);) { + for (t1 = _this._requestQueue, t2 = _this._eventQueue, t3 = t1.$ti._precomputed1; !t1.get$isEmpty(0);) { t4 = t1._head; if (t4 === t1._tail) A.throwExpression(A.IterableElementError_noElement()); @@ -19991,7 +18554,7 @@ _this.$ti._eval$1("Result<1>")._as(result); ++_this._eventsReceived; t1 = _this._eventQueue; - t1._queue_list$_add$1(0, t1.$ti._eval$1("QueueList.E")._as(result)); + t1._queue_list$_add$1(0, t1.$ti._precomputed1._as(result)); _this._updateRequests$0(); }, _addRequest$1(request) { @@ -20025,7 +18588,7 @@ type$.StackTrace._as(stackTrace); this.$this._addResult$1(new A.ErrorResult(error, stackTrace)); }, - $signature: 8 + $signature: 6 }; A.StreamQueue__ensureListening_closure0.prototype = { call$0() { @@ -20038,17 +18601,20 @@ }; A._NextRequest.prototype = { update$2(_, events, isDone) { - var t1, result; + var t1, t2, result; this.$ti._eval$1("QueueList>")._as(events); - if (!events.get$isEmpty(events)) { + if (events.get$length(0) !== 0) { t1 = events._queue_list$_head; if (t1 === events._queue_list$_tail) A.throwExpression(A.StateError$("No element")); - result = J.$index$asx(events._queue_list$_table, t1); + t2 = events._queue_list$_table; + if (!(t1 < t2.length)) + return A.ioore(t2, t1); + result = t2[t1]; if (result == null) - result = events.$ti._eval$1("QueueList.E")._as(result); - J.$indexSet$ax(events._queue_list$_table, events._queue_list$_head, null); - events._queue_list$_head = (events._queue_list$_head + 1 & J.get$length$asx(events._queue_list$_table) - 1) >>> 0; + result = events.$ti._precomputed1._as(result); + B.JSArray_methods.$indexSet(t2, t1, null); + events._queue_list$_head = (events._queue_list$_head + 1 & events._queue_list$_table.length - 1) >>> 0; J.complete$1$z(result, this._stream_queue$_completer); return true; } @@ -20062,8 +18628,7 @@ }; A._HasNextRequest.prototype = { update$2(_, events, isDone) { - this.$ti._eval$1("QueueList>")._as(events); - if (!events.get$isEmpty(events)) { + if (this.$ti._eval$1("QueueList>")._as(events).get$length(0) !== 0) { this._stream_queue$_completer.complete$1(0, true); return true; } @@ -20079,7 +18644,7 @@ call$2(h, i) { return A._combine(A._asInt(h), J.get$hashCode$(i)); }, - $signature: 44 + $signature: 39 }; A.BuiltList.prototype = { toBuilder$0() { @@ -20090,18 +18655,18 @@ return t1 == null ? this._list$_hashCode = A.hashObjects(this._list) : t1; }, $eq(_, other) { - var t1, t2, i, t3, t4, _this = this; + var t1, t2, i, t3, t4; if (other == null) return false; - if (other === _this) + if (other === this) return true; if (!(other instanceof A._BuiltList)) return false; t1 = other._list; - t2 = _this._list; + t2 = this._list; if (t1.length !== t2.length) return false; - if (other.get$hashCode(other) !== _this.get$hashCode(_this)) + if (other.get$hashCode(0) !== this.get$hashCode(0)) return false; for (i = 0; t3 = t2.length, i !== t3; ++i) { if (!(i < t1.length)) @@ -20138,16 +18703,6 @@ get$isEmpty(_) { return this._list.length === 0; }, - get$isNotEmpty(_) { - return this._list.length !== 0; - }, - skip$1(_, n) { - var t1 = this._list; - return A.SubListIterable$(t1, n, null, A._arrayInstanceType(t1)._precomputed1); - }, - get$first(_) { - return B.JSArray_methods.get$first(this._list); - }, elementAt$1(_, index) { var t1 = this._list; if (!(index >= 0 && index < t1.length)) @@ -20259,9 +18814,9 @@ t2 = _this._list_multimap$_map; if (t1._length !== t2._length) return false; - if (other.get$hashCode(other) !== _this.get$hashCode(_this)) + if (other.get$hashCode(0) !== _this.get$hashCode(0)) return false; - for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptyList, t5 = _this._emptyList; t3.moveNext$0();) { + for (t3 = _this.get$keys(0), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptyList, t5 = _this._emptyList; t3.moveNext$0();) { key = t3.__js_helper$_current; result = t1.$index(0, key); t6 = result == null ? t4 : result; @@ -20295,7 +18850,7 @@ call$1(k) { return this.multimap.$index(0, k); }, - $signature: 1 + $signature: 2 }; A.BuiltListMultimap_hashCode_closure.prototype = { call$1(key) { @@ -20464,7 +19019,7 @@ call$1(k) { return this.multimap.$index(0, k); }, - $signature: 1 + $signature: 2 }; A.BuiltMap.prototype = { toBuilder$0() { @@ -20498,9 +19053,9 @@ t2 = _this._map$_map; if (t1._length !== t2._length) return false; - if (other.get$hashCode(other) !== _this.get$hashCode(_this)) + if (other.get$hashCode(0) !== _this.get$hashCode(0)) return false; - for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1); t3.moveNext$0();) { + for (t3 = _this.get$keys(0), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1); t3.moveNext$0();) { key = t3.__js_helper$_current; if (!J.$eq$(t1.$index(0, key), t2.$index(0, key))) return false; @@ -20536,7 +19091,7 @@ call$1(k) { return this.map.$index(0, k); }, - $signature: 1 + $signature: 2 }; A.BuiltMap_hashCode_closure.prototype = { call$1(key) { @@ -20662,14 +19217,14 @@ var t1 = this.$this.$ti; this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value)); }, - $signature: 9 + $signature: 22 }; A.BuiltSet.prototype = { get$hashCode(_) { var t2, t3, _this = this, t1 = _this._set$_hashCode; if (t1 == null) { - t1 = _this._set$_set; + t1 = _this._set; t2 = A._instanceType(t1); t3 = t2._eval$1("EfficientLengthMappedIterable<1,int>"); t3 = A.List_List$of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), false, t3._eval$1("Iterable.E")); @@ -20680,32 +19235,32 @@ return t1; }, $eq(_, other) { - var t1, _this = this; + var t1; if (other == null) return false; - if (other === _this) + if (other === this) return true; if (!(other instanceof A._BuiltSet)) return false; - t1 = _this._set$_set; - if (other._set$_set._collection$_length !== t1._collection$_length) + t1 = this._set; + if (other._set._collection$_length !== t1._collection$_length) return false; - if (other.get$hashCode(other) !== _this.get$hashCode(_this)) + if (other.get$hashCode(0) !== this.get$hashCode(0)) return false; return t1.containsAll$1(other); }, toString$0(_) { - return A.Iterable_iterableToFullString(this._set$_set, "{", "}"); + return A.Iterable_iterableToFullString(this._set, "{", "}"); }, get$length(_) { - return this._set$_set._collection$_length; + return this._set._collection$_length; }, get$iterator(_) { - var t1 = this._set$_set; + var t1 = this._set; return A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1); }, map$1$1(_, f, $T) { - var t1 = this._set$_set, + var t1 = this._set, t2 = A._instanceType(t1); return new A.EfficientLengthMappedIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); }, @@ -20713,24 +19268,13 @@ return this.map$1$1($receiver, f, type$.dynamic); }, contains$1(_, element) { - return this._set$_set.contains$1(0, element); + return this._set.contains$1(0, element); }, get$isEmpty(_) { - return this._set$_set._collection$_length === 0; - }, - get$isNotEmpty(_) { - return this._set$_set._collection$_length !== 0; - }, - skip$1(_, n) { - var t1 = this._set$_set; - return A.SkipIterable_SkipIterable(t1, n, A._instanceType(t1)._precomputed1); - }, - get$first(_) { - var t1 = this._set$_set; - return t1.get$first(t1); + return this._set._collection$_length === 0; }, elementAt$1(_, index) { - return this._set$_set.elementAt$1(0, index); + return this._set.elementAt$1(0, index); }, $isIterable: 1 }; @@ -20747,7 +19291,7 @@ var t1, t2, element; if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null))) return; - for (t1 = this._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + for (t1 = this._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { element = t1._collection$_current; if ((element == null ? t2._as(element) : element) == null) throw A.wrapException(A.ArgumentError$("iterable contained invalid element: null", null)); @@ -20863,9 +19407,9 @@ t2 = _this._set_multimap$_map; if (t1._length !== t2._length) return false; - if (other.get$hashCode(other) !== _this.get$hashCode(_this)) + if (other.get$hashCode(0) !== _this.get$hashCode(0)) return false; - for (t3 = _this.get$keys(_this), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptySet, t5 = _this._emptySet; t3.moveNext$0();) { + for (t3 = _this.get$keys(0), t4 = t3._map, t3 = A.LinkedHashMapKeyIterator$(t4, t4._modifications, t3.$ti._precomputed1), t4 = other._emptySet, t5 = _this._emptySet; t3.moveNext$0();) { key = t3.__js_helper$_current; result = t1.$index(0, key); t6 = result == null ? t4 : result; @@ -20927,7 +19471,7 @@ t2.set$_setOwner(new A._BuiltSet(t3, t4, A._instanceType(t2)._eval$1("_BuiltSet<1>"))); } builtSet = t2._setOwner; - t2 = builtSet._set$_set._collection$_length; + t2 = builtSet._set._collection$_length; t3 = _this.__SetMultimapBuilder__builtMap_A; if (t2 === 0) { t3 === $ && A.throwLateFieldNI(_s9_); @@ -20966,7 +19510,7 @@ else { t1 = builtValues.$ti; t1._eval$1("_BuiltSet<1>")._as(builtValues); - result = new A.SetBuilder(builtValues._setFactory, builtValues._set$_set, builtValues, t1._eval$1("SetBuilder<1>")); + result = new A.SetBuilder(builtValues._setFactory, builtValues._set, builtValues, t1._eval$1("SetBuilder<1>")); } _this.__SetMultimapBuilder__builderMap_A.$indexSet(0, key, result); } @@ -21045,7 +19589,7 @@ call$1(k) { return this.multimap.$index(0, k); }, - $signature: 1 + $signature: 2 }; A.EnumClass.prototype = { toString$0(_) { @@ -21061,7 +19605,7 @@ $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2; return new A.IndentingBuiltValueToStringHelper(t1); }, - $signature: 45 + $signature: 40 }; A.IndentingBuiltValueToStringHelper.prototype = { add$2(_, field, value) { @@ -21194,34 +19738,34 @@ call$0() { return A.ListBuilder_ListBuilder(B.List_empty, type$.Object); }, - $signature: 46 + $signature: 41 }; A.Serializers_Serializers_closure0.prototype = { call$0() { var t1 = type$.Object; return A.ListMultimapBuilder_ListMultimapBuilder(t1, t1); }, - $signature: 47 + $signature: 42 }; A.Serializers_Serializers_closure1.prototype = { call$0() { var t1 = type$.Object; return A.MapBuilder_MapBuilder(t1, t1); }, - $signature: 48 + $signature: 43 }; A.Serializers_Serializers_closure2.prototype = { call$0() { return A.SetBuilder_SetBuilder(type$.Object); }, - $signature: 99 + $signature: 44 }; A.Serializers_Serializers_closure3.prototype = { call$0() { var t1 = type$.Object; return A.SetMultimapBuilder_SetMultimapBuilder(t1, t1); }, - $signature: 50 + $signature: 45 }; A.FullType.prototype = { $eq(_, other) { @@ -21350,7 +19894,7 @@ t1 = J.getInterceptor$(object); serializer = _this.serializerForType$1(t1.get$runtimeType(object)); if (serializer == null) - throw A.wrapException(A.StateError$("No serializer for '" + t1.get$runtimeType(object).toString$0(0) + "'.")); + throw A.wrapException(A.StateError$(A._noSerializerMessageFor(t1.get$runtimeType(object).toString$0(0)))); if (type$.StructuredSerializer_dynamic._is(serializer)) { result = [serializer.get$wireName()]; B.JSArray_methods.addAll$1(result, serializer.serialize$2(_this, object)); @@ -21389,7 +19933,6 @@ }, _deserialize$3(objectBeforePlugins, object, specifiedType) { var serializer, error, primitive, error0, serializer0, error1, error2, wireName, exception, _this = this, - _s19_ = "No serializer for '", _s62_ = string$.serial, t1 = specifiedType.root; if (t1 == null) { @@ -21398,7 +19941,7 @@ wireName = A._asString(t1.get$first(object)); serializer = _this._wireNameToSerializer._map$_map.$index(0, wireName); if (serializer == null) - throw A.wrapException(A.StateError$(_s19_ + wireName + "'.")); + throw A.wrapException(A.StateError$(A._noSerializerMessageFor(wireName))); if (type$.StructuredSerializer_dynamic._is(serializer)) try { t1 = serializer.deserialize$2(_this, t1.sublist$1(object, 1)); @@ -21432,7 +19975,7 @@ if (type$.List_dynamic._is(object) && typeof J.get$first$ax(object) == "string") return _this.deserialize$1(objectBeforePlugins); else - throw A.wrapException(A.StateError$(_s19_ + t1.toString$0(0) + "'.")); + throw A.wrapException(A.StateError$(A._noSerializerMessageFor(t1.toString$0(0)))); if (type$.StructuredSerializer_dynamic._is(serializer0)) try { t1 = object == null ? null : serializer0.deserialize$3$specifiedType(_this, type$.Iterable_nullable_Object._as(object), specifiedType); @@ -21540,7 +20083,7 @@ valueType = t1[1]; } result = []; - for (t1 = builtListMultimap.get$keys(builtListMultimap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtListMultimap._list_multimap$_map, t3 = builtListMultimap._emptyList; t1.moveNext$0();) { + for (t1 = builtListMultimap.get$keys(0), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtListMultimap._list_multimap$_map, t3 = builtListMultimap._emptyList; t1.moveNext$0();) { key = t1.__js_helper$_current; result.push(serializers.serialize$2$specifiedType(key, keyType)); result0 = t2.$index(0, key); @@ -21636,13 +20179,13 @@ call$1(value) { return this.serializers.serialize$2$specifiedType(value, this.valueType); }, - $signature: 2 + $signature: 3 }; A.BuiltListMultimapSerializer_deserialize_closure.prototype = { call$1(value) { return this.serializers.deserialize$2$specifiedType(value, this.valueType); }, - $signature: 34 + $signature: 13 }; A.BuiltListSerializer.prototype = { serialize$3$specifiedType(serializers, builtList, specifiedType) { @@ -21700,13 +20243,13 @@ call$1(item) { return this.serializers.serialize$2$specifiedType(item, this.elementType); }, - $signature: 2 + $signature: 3 }; A.BuiltListSerializer_deserialize_closure.prototype = { call$1(item) { return this.serializers.deserialize$2$specifiedType(item, this.elementType); }, - $signature: 2 + $signature: 3 }; A.BuiltMapSerializer.prototype = { serialize$3$specifiedType(serializers, builtMap, specifiedType) { @@ -21733,7 +20276,7 @@ valueType = t1[1]; } result = []; - for (t1 = builtMap.get$keys(builtMap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtMap._map$_map; t1.moveNext$0();) { + for (t1 = builtMap.get$keys(0), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtMap._map$_map; t1.moveNext$0();) { key = t1.__js_helper$_current; result.push(serializers.serialize$2$specifiedType(key, keyType)); result.push(serializers.serialize$2$specifiedType(t2.$index(0, key), valueType)); @@ -21820,12 +20363,12 @@ valueType = t1[1]; } result = []; - for (t1 = builtSetMultimap.get$keys(builtSetMultimap), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtSetMultimap._set_multimap$_map, t3 = builtSetMultimap._emptySet; t1.moveNext$0();) { + for (t1 = builtSetMultimap.get$keys(0), t2 = t1._map, t1 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, t1.$ti._precomputed1), t2 = builtSetMultimap._set_multimap$_map, t3 = builtSetMultimap._emptySet; t1.moveNext$0();) { key = t1.__js_helper$_current; result.push(serializers.serialize$2$specifiedType(key, keyType)); result0 = t2.$index(0, key); t4 = result0 == null ? t3 : result0; - t5 = t4._set$_set; + t5 = t4._set; t6 = A._instanceType(t5); t7 = t6._eval$1("EfficientLengthMappedIterable<1,Object?>"); result.push(A.List_List$of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("Iterable.E"))); @@ -21906,13 +20449,13 @@ call$1(value) { return this.serializers.serialize$2$specifiedType(value, this.valueType); }, - $signature: 2 + $signature: 3 }; A.BuiltSetMultimapSerializer_deserialize_closure.prototype = { call$1(value) { return this.serializers.deserialize$2$specifiedType(value, this.valueType); }, - $signature: 2 + $signature: 3 }; A.BuiltSetSerializer.prototype = { serialize$3$specifiedType(serializers, builtSet, specifiedType) { @@ -21930,7 +20473,7 @@ return A.ioore(t1, 0); elementType = t1[0]; } - t1 = builtSet._set$_set; + t1 = builtSet._set; t2 = A._instanceType(t1); return new A.EfficientLengthMappedIterable(t1, t2._eval$1("Object?(1)")._as(builtSet.$ti._eval$1("Object?(1)")._as(new A.BuiltSetSerializer_serialize_closure(serializers, elementType))), t2._eval$1("EfficientLengthMappedIterable<1,Object?>")); }, @@ -21970,13 +20513,13 @@ call$1(item) { return this.serializers.serialize$2$specifiedType(item, this.elementType); }, - $signature: 2 + $signature: 3 }; A.BuiltSetSerializer_deserialize_closure.prototype = { call$1(item) { return this.serializers.deserialize$2$specifiedType(item, this.elementType); }, - $signature: 2 + $signature: 3 }; A.DateTimeSerializer.prototype = { serialize$3$specifiedType(serializers, dateTime, specifiedType) { @@ -22070,6 +20613,29 @@ return "Duration"; } }; + A.Int32Serializer.prototype = { + serialize$3$specifiedType(serializers, int32, specifiedType) { + return type$.Int32._as(int32)._i; + }, + serialize$2(serializers, int32) { + return this.serialize$3$specifiedType(serializers, int32, B.FullType_null_List_empty_false); + }, + deserialize$3$specifiedType(serializers, serialized, specifiedType) { + A._asInt(serialized); + return new A.Int32((serialized & 2147483647) - ((serialized & 2147483648) >>> 0)); + }, + deserialize$2(serializers, serialized) { + return this.deserialize$3$specifiedType(serializers, serialized, B.FullType_null_List_empty_false); + }, + $isSerializer: 1, + $isPrimitiveSerializer: 1, + get$types(receiver) { + return this.types; + }, + get$wireName() { + return "Int32"; + } + }; A.Int64Serializer.prototype = { serialize$3$specifiedType(serializers, int64, specifiedType) { return type$.Int64._as(int64)._toRadixString$1(10); @@ -22495,80 +21061,60 @@ $isEquality: 1 }; A.QueueList.prototype = { - cast$1$0(_, $T) { - return new A._CastQueueList(this, J.cast$1$0$ax(this._queue_list$_table, $T), -1, -1, A._instanceType(this)._eval$1("@")._bind$1($T)._eval$1("_CastQueueList<1,2>")); - }, toString$0(_) { return A.Iterable_iterableToFullString(this, "{", "}"); }, get$length(_) { - var _this = this; - return (_this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this) & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0; + return (this._queue_list$_tail - this._queue_list$_head & this._queue_list$_table.length - 1) >>> 0; }, $index(_, index) { - var t1, _this = this; - if (index < 0 || index >= _this.get$length(_this)) - throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(_this) + ").")); - t1 = J.$index$asx(_this._queue_list$_table, (_this.get$_queue_list$_head(_this) + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0); - return t1 == null ? A._instanceType(_this)._eval$1("QueueList.E")._as(t1) : t1; + var t1, t2, t3, _this = this; + if (index < 0 || index >= _this.get$length(0)) + throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(0) + ").")); + t1 = _this._queue_list$_table; + t2 = t1.length; + t3 = (_this._queue_list$_head + index & t2 - 1) >>> 0; + if (!(t3 >= 0 && t3 < t2)) + return A.ioore(t1, t3); + t3 = t1[t3]; + return t3 == null ? _this.$ti._precomputed1._as(t3) : t3; }, $indexSet(_, index, value) { - var _this = this; - A._instanceType(_this)._eval$1("QueueList.E")._as(value); - if (index < 0 || index >= _this.get$length(_this)) - throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(_this) + ").")); - J.$indexSet$ax(_this._queue_list$_table, (_this.get$_queue_list$_head(_this) + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0, value); + var t1, _this = this; + _this.$ti._precomputed1._as(value); + if (index < 0 || index >= _this.get$length(0)) + throw A.wrapException(A.RangeError$("Index " + index + " must be in the range [0.." + _this.get$length(0) + ").")); + t1 = _this._queue_list$_table; + B.JSArray_methods.$indexSet(t1, (_this._queue_list$_head + index & t1.length - 1) >>> 0, value); }, _queue_list$_add$1(_, element) { - var newTable, split, _this = this, - t1 = A._instanceType(_this); - t1._eval$1("QueueList.E")._as(element); - J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_tail(), element); - _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0); - if (_this.get$_queue_list$_head(_this) === _this.get$_queue_list$_tail()) { - newTable = A.List_List$filled(J.get$length$asx(_this._queue_list$_table) * 2, null, false, t1._eval$1("QueueList.E?")); - split = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head(_this); - B.JSArray_methods.setRange$4(newTable, 0, split, _this._queue_list$_table, _this.get$_queue_list$_head(_this)); - B.JSArray_methods.setRange$4(newTable, split, split + _this.get$_queue_list$_head(_this), _this._queue_list$_table, 0); - _this.set$_queue_list$_head(0, 0); - _this.set$_queue_list$_tail(J.get$length$asx(_this._queue_list$_table)); + var t2, t3, newTable, split, _this = this, + t1 = _this.$ti; + t1._precomputed1._as(element); + B.JSArray_methods.$indexSet(_this._queue_list$_table, _this._queue_list$_tail, element); + t2 = _this._queue_list$_tail; + t3 = _this._queue_list$_table.length; + t2 = (t2 + 1 & t3 - 1) >>> 0; + _this._queue_list$_tail = t2; + if (_this._queue_list$_head === t2) { + newTable = A.List_List$filled(t3 * 2, null, false, t1._eval$1("1?")); + t1 = _this._queue_list$_table; + t2 = _this._queue_list$_head; + split = t1.length - t2; + B.JSArray_methods.setRange$4(newTable, 0, split, t1, t2); + B.JSArray_methods.setRange$4(newTable, split, split + _this._queue_list$_head, _this._queue_list$_table, 0); + _this._queue_list$_head = 0; + _this._queue_list$_tail = _this._queue_list$_table.length; _this.set$_queue_list$_table(newTable); } }, set$_queue_list$_table(_table) { - this._queue_list$_table = A._instanceType(this)._eval$1("List")._as(_table); - }, - set$_queue_list$_head(_, _head) { - this._queue_list$_head = A._asInt(_head); - }, - set$_queue_list$_tail(_tail) { - this._queue_list$_tail = A._asInt(_tail); + this._queue_list$_table = this.$ti._eval$1("List<1?>")._as(_table); }, $isEfficientLengthIterable: 1, $isQueue: 1, $isIterable: 1, - $isList: 1, - get$_queue_list$_head(receiver) { - return this._queue_list$_head; - }, - get$_queue_list$_tail() { - return this._queue_list$_tail; - } - }; - A._CastQueueList.prototype = { - get$_queue_list$_head(_) { - var t1 = this._queue_list$_delegate; - return t1.get$_queue_list$_head(t1); - }, - set$_queue_list$_head(_, value) { - this._queue_list$_delegate.set$_queue_list$_head(0, value); - }, - get$_queue_list$_tail() { - return this._queue_list$_delegate.get$_queue_list$_tail(); - }, - set$_queue_list$_tail(value) { - this._queue_list$_delegate.set$_queue_list$_tail(value); - } + $isList: 1 }; A._QueueList_Object_ListMixin.prototype = {}; A.BuildStatus.prototype = {}; @@ -22977,8 +21523,7 @@ return other instanceof A._$BatchedDebugEvents && this.events.$eq(0, other.events); }, get$hashCode(_) { - var t1 = this.events; - return A.$jf(A.$jc(0, t1.get$hashCode(t1))); + return A.$jf(A.$jc(0, this.events.get$hashCode(0))); }, toString$0(_) { var t1 = $.$get$newBuiltValueToStringHelper().call$1("BatchedDebugEvents"), @@ -24013,8 +22558,7 @@ return other instanceof A._$BatchedEvents && this.events.$eq(0, other.events); }, get$hashCode(_) { - var t1 = this.events; - return A.$jf(A.$jc(0, t1.get$hashCode(t1))); + return A.$jf(A.$jc(0, this.events.get$hashCode(0))); }, toString$0(_) { var t1 = $.$get$newBuiltValueToStringHelper().call$1("BatchedEvents"), @@ -24327,13 +22871,13 @@ call$0() { return A.ListBuilder_ListBuilder(B.List_empty, type$.DebugEvent); }, - $signature: 56 + $signature: 50 }; A._$serializers_closure0.prototype = { call$0() { return A.ListBuilder_ListBuilder(B.List_empty, type$.ExtensionEvent); }, - $signature: 57 + $signature: 51 }; A.BatchedStreamController.prototype = { _batchAndSendEvents$0() { @@ -24443,13 +22987,13 @@ call$0() { return true; }, - $signature: 31 + $signature: 18 }; A.BatchedStreamController__hasEventDuring_closure.prototype = { call$0() { return false; }, - $signature: 31 + $signature: 18 }; A.SocketClient.prototype = {}; A.SseSocketClient.prototype = { @@ -24491,14 +23035,46 @@ call$1(o) { return J.toString$0$(o); }, - $signature: 59 + $signature: 53 }; A.safeUnawaited_closure.prototype = { call$2(error, stackTrace) { type$.StackTrace._as(stackTrace); return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace); }, - $signature: 17 + $signature: 20 + }; + A.Int32.prototype = { + _toInt$1(val) { + if (val instanceof A.Int32) + return val._i; + else if (A._isInt(val)) + return val; + throw A.wrapException(A.ArgumentError$value(val, "other", "Not an int, Int32 or Int64")); + }, + $eq(_, other) { + if (other == null) + return false; + if (other instanceof A.Int32) + return this._i === other._i; + else if (other instanceof A.Int64) + return A.Int64_Int64(this._i).$eq(0, other); + else if (A._isInt(other)) + return this._i === other; + return false; + }, + compareTo$1(_, other) { + if (other instanceof A.Int64) + return A.Int64_Int64(this._i)._compareTo$1(other); + return B.JSInt_methods.compareTo$1(this._i, this._toInt$1(other)); + }, + get$hashCode(_) { + return this._i; + }, + toString$0(_) { + return B.JSInt_methods.toString$0(this._i); + }, + $isComparable: 1 }; A.Int64.prototype = { $eq(_, other) { @@ -24514,7 +23090,7 @@ return false; o = A.Int64_Int64(other); } else - o = null; + o = other instanceof A.Int32 ? A.Int64_Int64(other._i) : null; if (o != null) return _this._l === o._l && _this._m === o._m && _this._h === o._h; return false; @@ -24635,7 +23211,7 @@ log$4(logLevel, message, error, stackTrace) { var record, _this = this, t1 = logLevel.value; - if (t1 >= _this.get$level(_this).value) { + if (t1 >= _this.get$level(0).value) { if (stackTrace == null && t1 >= 2000) { A.StackTrace_current(); if (error == null) @@ -24677,7 +23253,7 @@ $parent._children.$indexSet(0, thisName, t1); return t1; }, - $signature: 60 + $signature: 54 }; A.Pool.prototype = { request$0(_) { @@ -24690,7 +23266,7 @@ return A.Future_Future$value(new A.PoolResource(_this), type$.PoolResource); } else { t1 = _this._onReleaseCallbacks; - if (!t1.get$isEmpty(t1)) + if (!t1.get$isEmpty(0)) return _this._runOnRelease$1(t1.removeFirst$0()); else { t1 = new A._Future($.Zone__current, type$._Future_PoolResource); @@ -24753,7 +23329,7 @@ t1 = t1._pool; t1._resetTimer$0(); t2 = t1._requestedResources; - if (!t2.get$isEmpty(t2)) + if (!t2.get$isEmpty(0)) t2.removeFirst$0().complete$1(0, new A.PoolResource(t1)); else { t2 = --t1._allocatedResources; @@ -24802,7 +23378,7 @@ var t1 = this.$this; J.complete$1$z(t1._onReleaseCompleters.removeFirst$0(), new A.PoolResource(t1)); }, - $signature: 7 + $signature: 8 }; A.Pool__runOnRelease_closure0.prototype = { call$2(error, stackTrace) { @@ -24810,7 +23386,7 @@ type$.StackTrace._as(stackTrace); this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace); }, - $signature: 8 + $signature: 6 }; A.PoolResource.prototype = {}; A.SseClient.prototype = { @@ -24818,14 +23394,14 @@ var t2, _this = this, t1 = serverUrl + "?sseClientId=" + _this._clientId; _this.__SseClient__serverUrl_A = t1; - t1 = A.EventSource__factoryEventSource(t1, A.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic)); + t2 = type$.JavaScriptObject; + t1 = t2._as(new self.EventSource(t1, t2._as({withCredentials: true}))); _this.__SseClient__eventSource_A = t1; - t1 = new A._EventStream(t1, "open", false, type$._EventStream_Event); - t1.get$first(t1).whenComplete$1(new A.SseClient_closure(_this)); - B.EventSource_methods.addEventListener$2(_this.__SseClient__eventSource_A, "message", _this.get$_onIncomingMessage()); - B.EventSource_methods.addEventListener$2(_this.__SseClient__eventSource_A, "control", _this.get$_onIncomingControlMessage()); - t1 = type$.nullable_void_Function_Event; - t2 = type$.Event; + new A._EventStream(t1, "open", false, type$._EventStream_JavaScriptObject).get$first(0).whenComplete$1(new A.SseClient_closure(_this)); + t1 = type$.Function; + _this.__SseClient__eventSource_A.addEventListener("message", A.allowInterop(_this.get$_onIncomingMessage(), t1)); + _this.__SseClient__eventSource_A.addEventListener("control", A.allowInterop(_this.get$_onIncomingControlMessage(), t1)); + t1 = type$.nullable_void_Function_JavaScriptObject; A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t1._as(new A.SseClient_closure0(_this)), false, t2); A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t1._as(new A.SseClient_closure1(_this)), false, t2); }, @@ -24836,7 +23412,7 @@ t1.close(); if ((_this._onConnected.future._state & 30) === 0) { t1 = _this._outgoingController; - new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$cancelOnError(null, true).asFuture$1$1(null, type$.dynamic); + new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$cancelOnError(null, true).asFuture$1$1(null, type$.void); } _this._incomingController.close$0(0); _this._outgoingController.close$0(0); @@ -24850,14 +23426,14 @@ t1.completeError$1(error); }, _onIncomingControlMessage$1(message) { - var data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(type$.Event._as(message)).data, true); - if (J.$eq$(data, "close")) + var data = type$.JavaScriptObject._as(message).data; + if (J.$eq$(A.dartify(data), "close")) this.close$0(0); else throw A.wrapException(A.UnsupportedError$("[" + this._clientId + '] Illegal Control Message "' + A.S(data) + '"')); }, _onIncomingMessage$1(message) { - this._incomingController.add$1(0, A._asString(B.C_JsonCodec.decode$2$reviver(0, A._asString(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(type$.Event._as(message)).data, true)), null))); + this._incomingController.add$1(0, A._asString(B.C_JsonCodec.decode$2$reviver(0, A._asString(type$.JavaScriptObject._as(message).data), null))); }, _onOutgoingDone$0() { this.close$0(0); @@ -24897,7 +23473,7 @@ t2 = t1._outgoingController; new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone()); }, - $signature: 5 + $signature: 4 }; A.SseClient_closure0.prototype = { call$1(_) { @@ -24905,7 +23481,7 @@ if (t1 != null) t1.cancel$0(0); }, - $signature: 4 + $signature: 1 }; A.SseClient_closure1.prototype = { call$1(error) { @@ -24915,7 +23491,7 @@ if (t2 !== true) t1._errorTimer = A.Timer_Timer(B.Duration_5000000, new A.SseClient__closure(t1, error)); }, - $signature: 4 + $signature: 1 }; A.SseClient__closure.prototype = { call$0() { @@ -24957,8 +23533,13 @@ t2 = t1.__SseClient__serverUrl_A; t2 === $ && A.throwLateFieldNI("_serverUrl"); url = t2 + "&messageId=" + ++t1._lastMessageId; + t1 = $async$self._box_0.encodedMessage; + if (t1 == null) + t1 = null; + t2 = type$.JavaScriptObject; + t1 = t2._as({method: "POST", body: t1, credentials: "include"}); $async$goto = 6; - return A._asyncAwait(A.promiseToFuture(self.fetch(url, {method: "POST", credentials: "include", body: $async$self._box_0.encodedMessage}), type$.dynamic), $async$call$0); + return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(t2._as(self.window).fetch(url, t1)), type$.nullable_Object), $async$call$0); case 6: // returning from await. $async$handler = 1; @@ -24993,26 +23574,25 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 25 + $signature: 29 }; - A._FetchOptions.prototype = {}; - A.generateUuidV4__generateBits.prototype = { + A.generateUuidV4_generateBits.prototype = { call$1(bitCount) { return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount)); }, - $signature: 21 + $signature: 25 }; - A.generateUuidV4__printDigits.prototype = { + A.generateUuidV4_printDigits.prototype = { call$2(value, count) { return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0"); }, - $signature: 29 + $signature: 16 }; - A.generateUuidV4__bitsDigits.prototype = { + A.generateUuidV4_bitsDigits.prototype = { call$2(bitCount, digitCount) { - return this._printDigits.call$2(this._generateBits.call$1(bitCount), digitCount); + return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount); }, - $signature: 29 + $signature: 16 }; A.GuaranteeChannel.prototype = { GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) { @@ -25125,7 +23705,7 @@ A._GuaranteeSink__addError_closure.prototype = { call$1(_) { }, - $signature: 7 + $signature: 8 }; A.StreamChannelController.prototype = { set$__StreamChannelController__local_F(__StreamChannelController__local_F) { @@ -25296,6 +23876,92 @@ return t2 + t3 + t4 + t5 + "-" + t6 + t7 + "-" + t8 + t9 + "-" + t10 + t11 + "-" + t12 + t13 + t14 + t15 + t16 + t1[t17]; } }; + A.EventStreamProvider0.prototype = {}; + A._EventStream.prototype = { + listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) { + var t1 = this.$ti; + t1._eval$1("~(1)?")._as(onData); + type$.nullable_void_Function._as(onDone); + return A._EventStreamSubscription$(this._target, this._eventType, onData, false, t1._precomputed1); + }, + listen$3$onDone$onError(onData, onDone, onError) { + return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError); + } + }; + A._EventStreamSubscription.prototype = { + cancel$0(_) { + var _this = this, + emptyFuture = A.Future_Future$value(null, type$.void); + if (_this._target == null) + return emptyFuture; + _this._unlisten$0(); + _this._onData = _this._target = null; + return emptyFuture; + }, + onData$1(handleData) { + var t1, _this = this; + _this.$ti._eval$1("~(1)?")._as(handleData); + if (_this._target == null) + throw A.wrapException(A.StateError$("Subscription has been canceled.")); + _this._unlisten$0(); + t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JavaScriptObject); + t1 = t1 == null ? null : A.allowInterop(t1, type$.Function); + _this._onData = t1; + _this._tryResume$0(); + }, + pause$0(_) { + if (this._target == null) + return; + ++this._pauseCount; + this._unlisten$0(); + }, + resume$0(_) { + var _this = this; + if (_this._target == null || _this._pauseCount <= 0) + return; + --_this._pauseCount; + _this._tryResume$0(); + }, + _tryResume$0() { + var _this = this, + t1 = _this._onData; + if (t1 != null && _this._pauseCount <= 0) + _this._target.addEventListener(_this._eventType, t1, false); + }, + _unlisten$0() { + var t1 = this._onData; + if (t1 != null) + this._target.removeEventListener(this._eventType, t1, false); + }, + $isStreamSubscription: 1 + }; + A._EventStreamSubscription_closure.prototype = { + call$1(e) { + return this.onData.call$1(type$.JavaScriptObject._as(e)); + }, + $signature: 1 + }; + A._EventStreamSubscription_onData_closure.prototype = { + call$1(e) { + return this.handleData.call$1(type$.JavaScriptObject._as(e)); + }, + $signature: 1 + }; + A.HttpRequest_request_closure.prototype = { + call$1(e) { + var t1 = this.xhr, + $status = A._asInt(t1.status), + accepted = $status >= 200 && $status < 300, + unknownRedirect = $status > 307 && $status < 400, + t2 = accepted || $status === 0 || $status === 304 || unknownRedirect, + t3 = this.completer; + if (t2) + t3.complete$1(0, t1); + else + t3.completeError$1(e); + }, + $signature: 1 + }; A.HtmlWebSocketChannel.prototype = { HtmlWebSocketChannel$1(innerWebSocket) { var _this = this, @@ -25309,15 +23975,12 @@ } else { if (t3 === 2 || t3 === 3) t1.completeError$1(new A.WebSocketChannelException("WebSocket state error: " + t3)); - t1 = new A._EventStream(t2, "open", false, type$._EventStream_Event); - t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null); + new A._EventStream0(t2, "open", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null); } - t1 = new A._EventStream(t2, "error", false, type$._EventStream_Event); - t3 = type$.Null; - t1.get$first(t1).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t3); - A._EventStreamSubscription$(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)), false, type$.MessageEvent); - t2 = new A._EventStream(t2, "close", false, type$._EventStream_CloseEvent); - t2.get$first(t2).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t3); + t1 = type$.Null; + new A._EventStream0(t2, "error", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t1); + A._EventStreamSubscription$0(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)), false, type$.MessageEvent); + new A._EventStream0(t2, "close", false, type$._EventStream_CloseEvent).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t1); }, _listen$0() { var t1 = this._html0$_controller.__StreamChannelController__local_F; @@ -25338,7 +24001,7 @@ t2.complete$0(0); t1._listen$0(); }, - $signature: 36 + $signature: 15 }; A.HtmlWebSocketChannel_closure0.prototype = { call$1(_) { @@ -25358,21 +24021,23 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 36 + $signature: 15 }; A.HtmlWebSocketChannel_closure1.prototype = { call$1($event) { - var t1, - data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true); - if (type$.ByteBuffer._is(data)) - data = A.NativeUint8List_NativeUint8List$view(data, 0, null); + var copy, data, + t1 = type$.MessageEvent._as($event).data, + t2 = new A._AcceptStructuredCloneDart2Js([], []); + t2.mustCopy = true; + copy = t2.walk$1(t1); + data = type$.ByteBuffer._is(copy) ? A.NativeUint8List_NativeUint8List$view(copy, 0, null) : copy; t1 = this.$this._html0$_controller.__StreamChannelController__local_F; t1 === $ && A.throwLateFieldNI("_local"); t1 = t1.__GuaranteeChannel__sink_F; t1 === $ && A.throwLateFieldNI("_sink"); t1.add$1(0, data); }, - $signature: 35 + $signature: 59 }; A.HtmlWebSocketChannel_closure2.prototype = { call$1($event) { @@ -25386,7 +24051,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 83 + $signature: 60 }; A.HtmlWebSocketChannel__listen_closure.prototype = { call$0() { @@ -25405,7 +24070,7 @@ call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, debugEventController, t5; + uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, t5, t6, debugEventController, t7; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -25416,17 +24081,12 @@ if (self.$dartAppInstanceId == null) self.$dartAppInstanceId = B.C_Uuid.v1$0(); uri = A.Uri_parse(self.$dwdsDevHandlerPath); - t1 = type$.Location; - t2 = t1._as(window.location).protocol; - t2.toString; - if (t2 === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost") + t1 = self; + t2 = type$.JavaScriptObject; + if (A._asString(t2._as(t2._as(t1.window).location).protocol) === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost") uri = uri.replace$1$scheme(0, "https"); - else { - t1 = t1._as(window.location).protocol; - t1.toString; - if (t1 === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost") - uri = uri.replace$1$scheme(0, "wss"); - } + else if (A._asString(t2._as(t2._as(t1.window).location).protocol) === "wss:" && uri.get$scheme() === "ws" && uri.get$host(uri) !== "localhost") + uri = uri.replace$1$scheme(0, "wss"); fixedPath = uri.toString$0(0); fixedUri = A.Uri_parse(fixedPath); client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient")); @@ -25452,29 +24112,24 @@ // join manager = new A.ReloadingManager(client, restarter); self.$dartHotRestartDwds = A.allowInterop(new A.main__closure(manager), type$.Promise_bool_Function_String); - t1 = $.Zone__current; - t2 = Math.max(100, 1); - t3 = A.StreamController_StreamController(null, null, false, type$.DebugEvent); - t4 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent); - debugEventController = new A.BatchedStreamController(t2, 1000, t3, t4, new A._AsyncCompleter(new A._Future(t1, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent); - t1 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent); - t2 = A.ListQueue$(type$._EventRequest_dynamic); - t5 = type$.StreamQueue_DebugEvent; - debugEventController.set$__BatchedStreamController__inputQueue_A(t5._as(new A.StreamQueue(new A._ControllerStream(t3, A._instanceType(t3)._eval$1("_ControllerStream<1>")), new A.QueueList(t1, 0, 0, type$.QueueList_Result_DebugEvent), t2, t5))); + t3 = $.Zone__current; + t4 = Math.max(100, 1); + t5 = A.StreamController_StreamController(null, null, false, type$.DebugEvent); + t6 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent); + debugEventController = new A.BatchedStreamController(t4, 1000, t5, t6, new A._AsyncCompleter(new A._Future(t3, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent); + t3 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent); + t4 = A.ListQueue$(type$._EventRequest_dynamic); + t7 = type$.StreamQueue_DebugEvent; + debugEventController.set$__BatchedStreamController__inputQueue_A(t7._as(new A.StreamQueue(new A._ControllerStream(t5, A._instanceType(t5)._eval$1("_ControllerStream<1>")), new A.QueueList(t3, 0, 0, type$.QueueList_Result_DebugEvent), t4, t7))); A.safeUnawaited(debugEventController._batchAndSendEvents$0()); - new A._ControllerStream(t4, A._instanceType(t4)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client)); + new A._ControllerStream(t6, A._instanceType(t6)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client)); self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.void_Function_String_String); self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.void_Function_String); self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.void_Function); client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); - if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch)) { - t1 = window; - t1.toString; - A._EventStreamSubscription$(t1, "keydown", type$.nullable_void_Function_KeyboardEvent._as(new A.main__closure6()), false, type$.KeyboardEvent); - } - t1 = window.navigator.vendor; - t1.toString; - if (B.JSString_methods.contains$1(t1, "Google")) { + if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch)) + A._EventStreamSubscription$(t2._as(t1.window), "keydown", type$.nullable_void_Function_JavaScriptObject._as(new A.main__closure6()), false, t2); + if (A._isChromium()) { t1 = client.get$sink(); t2 = $.$get$serializers(); t3 = new A.ConnectRequestBuilder(); @@ -25489,13 +24144,13 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 66 + $signature: 92 }; A.main__closure.prototype = { call$1(runId) { return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool); }, - $signature: 67 + $signature: 62 }; A.main__closure0.prototype = { call$1(events) { @@ -25509,7 +24164,7 @@ A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic); } }, - $signature: 68 + $signature: 63 }; A.main___closure2.prototype = { call$1(b) { @@ -25518,7 +24173,7 @@ b.get$_debug_event$_$this().set$_events(t1); return t1; }, - $signature: 69 + $signature: 64 }; A.main__closure1.prototype = { call$2(kind, eventData) { @@ -25532,7 +24187,7 @@ A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent); } }, - $signature: 15 + $signature: 27 }; A.main___closure1.prototype = { call$1(b) { @@ -25542,7 +24197,7 @@ b.get$_debug_event$_$this()._eventData = this.eventData; return b; }, - $signature: 70 + $signature: 65 }; A.main__closure2.prototype = { call$1(eventData) { @@ -25554,7 +24209,7 @@ type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic); }, - $signature: 33 + $signature: 14 }; A.main___closure0.prototype = { call$1(b) { @@ -25563,17 +24218,13 @@ b.get$_register_event$_$this()._register_event$_eventData = this.eventData; return b; }, - $signature: 72 + $signature: 67 }; A.main__closure3.prototype = { call$0() { - var t2, t3, - t1 = window.navigator.vendor; - t1.toString; - if (!B.JSString_methods.contains$1(t1, "Google")) { - t1 = window; - t1.toString; - B.Window_methods.alert$1(t1, "Dart DevTools is only supported on Chromium based browsers."); + var t1, t2, t3; + if (!A._isChromium()) { + type$.JavaScriptObject._as(self.window).alert("Dart DevTools is only supported on Chromium based browsers."); return; } t1 = this.client.get$sink(); @@ -25592,7 +24243,7 @@ b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1; return b; }, - $signature: 73 + $signature: 68 }; A.main__closure4.prototype = { call$1(serialized) { @@ -25601,7 +24252,7 @@ $call$body$main__closure(serialized) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, $alert, t1, win, t2, t3, $event; + $async$self = this, t1, $alert, t2, $event; var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -25618,7 +24269,8 @@ break; case 5: // then - type$.Location._as(window.location).reload(); + t1 = type$.JavaScriptObject; + t1._as(t1._as(self.window).location).reload(); // goto join $async$goto = 6; break; @@ -25651,32 +24303,17 @@ if ($event instanceof A._$DevToolsResponse) { if (!$event.success) { $alert = "DevTools failed to open with:\n" + A.S($event.error); - if ($event.promptExtension) { - t1 = window; - t1.toString; - t1 = B.Window_methods.confirm$1(t1, $alert); - } else - t1 = false; - if (t1) { - win = window.open("https://goo.gle/dart-debug-extension", "_blank"); - A._DOMWindowCrossFrame__createSafe(win); - } else { - t1 = window; - t1.toString; - B.Window_methods.alert$1(t1, $alert); - } + t1 = $event.promptExtension && A._asBool(type$.JavaScriptObject._as(self.window).confirm($alert)); + t2 = type$.JavaScriptObject; + if (t1) + type$.nullable_JavaScriptObject._as(t2._as(self.window).open("https://goo.gle/dart-debug-extension", "_blank")); + else + t2._as(self.window).alert($alert); } } else if ($event instanceof A._$RunRequest) A.runMain(); - else if ($event instanceof A._$ErrorResponse) { - window.toString; - t1 = $event.error; - t2 = $event.stackTrace; - t3 = typeof console != "undefined"; - t3.toString; - if (t3) - window.console.error("Error from backend:\n\nError: " + t1 + "\n\nStack Trace:\n" + t2); - } + else if ($event instanceof A._$ErrorResponse) + type$.JavaScriptObject._as(self.window).reportError("Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace); case 3: // join // implicit return @@ -25685,41 +24322,21 @@ }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 74 + $signature: 69 }; A.main__closure5.prototype = { call$1(error) { }, - $signature: 7 + $signature: 8 }; A.main__closure6.prototype = { call$1(e) { - var t1; - if (type$.KeyboardEvent._is(e)) - if (B.JSArray_methods.contains$1(B.List_er0, e.key)) { - t1 = e.altKey; - t1.toString; - if (t1) { - t1 = e.ctrlKey; - t1.toString; - if (!t1) { - t1 = e.metaKey; - t1.toString; - t1 = !t1; - } else - t1 = false; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; - if (t1) { + if (B.JSArray_methods.contains$1(B.List_er0, A._asString(e.key)) && A._asBool(e.altKey) && !A._asBool(e.ctrlKey) && !A._asBool(e.metaKey)) { e.preventDefault(); self.$launchDevTools.call$0(); } }, - $signature: 4 + $signature: 1 }; A.main__closure7.prototype = { call$1(b) { @@ -25731,7 +24348,7 @@ b.get$_connect_request$_$this()._entrypointPath = t1; return b; }, - $signature: 75 + $signature: 70 }; A.main_closure0.prototype = { call$2(error, stackTrace) { @@ -25739,96 +24356,42 @@ type$.StackTrace._as(stackTrace); A.print("Unhandled error detected in the injected client.js script.\n\nYou can disable this script in webdev by passing --no-injected-client if it\nis preventing your app from loading, but note that this will also prevent\nall debugging and hot reload/restart functionality from working.\n\nThe original error is below, please file an issue at\nhttps://github.com/dart-lang/webdev/issues/new and attach this output:\n\n" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n"); }, - $signature: 11 + $signature: 9 }; A._launchCommunicationWithDebugExtension_closure.prototype = { call$1(b) { - var t2, + var t2, t3, t1 = A._asStringQ(self.$dartEntrypointPath); b.get$_$this()._appEntrypointPath = t1; - t1 = window; - t1.toString; - t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartAppId")); - b.get$_$this()._debug_info$_appId = t1; - t1 = A._asStringQ(self.$dartAppInstanceId); - b.get$_$this()._appInstanceId = t1; - t1 = type$.Location; - t2 = B.Location_methods.get$origin(t1._as(window.location)); - b.get$_$this()._appOrigin = t2; - t1 = t1._as(window.location).href; - t1.toString; - b.get$_$this()._appUrl = t1; - t1 = A._authUrl(); - b.get$_$this()._authUrl = t1; - t1 = window; - t1.toString; - t1 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$dartExtensionUri")); - b.get$_$this()._extensionUrl = t1; - t1 = window; - t1.toString; - t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isInternalBuild")); - b.get$_$this()._isInternalBuild = t1; - t1 = window; - t1.toString; - t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t1).$index(0, "$isFlutterApp")); + t1 = self; + t2 = type$.JavaScriptObject; + t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartAppId")); + b.get$_$this()._debug_info$_appId = t3; + t3 = A._asStringQ(self.$dartAppInstanceId); + b.get$_$this()._appInstanceId = t3; + t3 = A._asString(t2._as(t2._as(t1.window).location).origin); + b.get$_$this()._appOrigin = t3; + t3 = A._asString(t2._as(t2._as(t1.window).location).href); + b.get$_$this()._appUrl = t3; + t3 = A._authUrl(); + b.get$_$this()._authUrl = t3; + t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartExtensionUri")); + b.get$_$this()._extensionUrl = t3; + t3 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isInternalBuild")); + b.get$_$this()._isInternalBuild = t3; + t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isFlutterApp")); b.get$_$this()._isFlutterApp = t1; t1 = A._asStringQ(self.$dartWorkspaceName); b.get$_$this()._workspaceName = t1; return b; }, - $signature: 76 + $signature: 71 }; - A._listenForDebugExtensionAuthRequest_closure.prototype = { - call$1($event) { - return this.$call$body$_listenForDebugExtensionAuthRequest_closure(type$.Event._as($event)); - }, - $call$body$_listenForDebugExtensionAuthRequest_closure($event) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - $async$returnValue, t1, $async$temp1, $async$temp2, $async$temp3, $async$temp4; - var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return A._asyncRethrow($async$result, $async$completer); - while (true) - switch ($async$goto) { - case 0: - // Function start - type$.MessageEvent._as($event); - if (typeof new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.data, true) != "string") { - // goto return - $async$goto = 1; - break; - } - if (A._asString(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.data, true)) !== "dart-auth-request") { - // goto return - $async$goto = 1; - break; - } - $async$goto = A._authUrl() != null ? 3 : 4; - break; - case 3: - // then - t1 = A._authUrl(); - t1.toString; - $async$temp1 = self.window.top.document; - $async$temp2 = A; - $async$temp3 = "dart-auth-response"; - $async$temp4 = A; - $async$goto = 5; - return A._asyncAwait(A._authenticateUser(t1), $async$call$1); - case 5: - // returning from await. - $async$temp1.dispatchEvent($async$temp2.CustomEvent_CustomEvent($async$temp3, $async$temp4.S($async$result))); - case 4: - // join - case 1: - // return - return A._asyncReturn($async$returnValue, $async$completer); - } - }); - return A._asyncStartSync($async$call$1, $async$completer); + A._handleAuthRequest_closure.prototype = { + call$1(isAuthenticated) { + return A._dispatchEvent("dart-auth-response", "" + A._asBool(isAuthenticated)); }, - $signature: 77 + $signature: 72 }; A.LegacyRestarter.prototype = { restart$1$runId(runId) { @@ -25851,9 +24414,8 @@ dartLibrary.callMethod$2("reload", [A._wrapToDart(A.JsObject__convertDataTree(t1))]); } t1 = new A._Future($.Zone__current, type$._Future_bool); - t2 = window; - t2.toString; - $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))), false, type$.MessageEvent)), type$.bool); + t2 = type$.JavaScriptObject; + $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2._as(self.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))), false, t2)), type$.bool); // goto return $async$goto = 1; break; @@ -25868,8 +24430,8 @@ }; A.LegacyRestarter_restart_closure0.prototype = { call$1($event) { - var t1, - message = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as($event).data, true); + var t1 = $event.data, + message = t1 == null ? null : A.dartify(t1); if (type$.Map_dynamic_dynamic._is(message)) { t1 = J.getInterceptor$asx(message); t1 = J.$eq$(t1.$index(message, "type"), "DDC_STATE_CHANGE") && J.$eq$(t1.$index(message, "state"), "restart_end"); @@ -25878,7 +24440,7 @@ if (t1) this.reloadCompleter.complete$1(0, true); }, - $signature: 35 + $signature: 1 }; A.LegacyRestarter_restart_closure.prototype = { call$1(value) { @@ -25886,7 +24448,7 @@ this.sub.cancel$0(0); return value; }, - $signature: 78 + $signature: 73 }; A.ReloadingManager.prototype = { hotRestart$1$runId(runId) { @@ -25948,7 +24510,7 @@ var t1 = e == null ? type$.Object._as(e) : e; return this.completer.completeError$2(t1, A.StackTrace_current()); }, - $signature: 3 + $signature: 5 }; A.RequireLoader.prototype = {}; A.HotReloadFailedException.prototype = { @@ -25956,8 +24518,6 @@ return "HotReloadFailedException: '" + this._s + "'"; } }; - A.JsError.prototype = {}; - A.JsMap.prototype = {}; A.RequireRestarter.prototype = { restart$1$runId(runId) { var $async$goto = 0, @@ -25991,7 +24551,7 @@ // returning from await. newDigests = $async$result; modulesToLoad = A._setArrayType([], type$.JSArray_String); - for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.Location; t2.moveNext$0();) { + for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.JavaScriptObject; t2.moveNext$0();) { t6 = t2.get$current(t2); t7 = $.___lastKnownDigests.__late_helper$_value; if (t7 === $.___lastKnownDigests) @@ -26003,7 +24563,7 @@ A.printString(line); else toZone.call$1(line); - t5._as(window.location).reload(); + t5._as(t5._as(self.window).location).reload(); } else { t7 = $.___lastKnownDigests.__late_helper$_value; if (t7 === $.___lastKnownDigests) @@ -26069,7 +24629,7 @@ return A._asyncAwait(A.HttpRequest_request(J.get$digestsPath$x(self.$requireLoader), "GET", "json", null), $async$_getDigests$0); case 3: // returning from await. - $async$returnValue = $async$temp1.cast$2$0$ax($async$temp2._as($async$temp3._convertNativeToDart_XHR_Response($async$result.response)), t1, t1); + $async$returnValue = $async$temp1.cast$2$0$x($async$temp2._as($async$temp3.dartify($async$result.response)), t1, t1); // goto return $async$goto = 1; break; @@ -26107,7 +24667,6 @@ var t1; A._asString(module); t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module); - t1 = t1 == null ? null : J.cast$1$0$ax(t1, type$.String); return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1; }, _moduleTopologicalCompare$2(module1, module2) { @@ -26165,7 +24724,7 @@ t1 === $ && A.throwLateFieldNI("_dirtyModules"); t1.addAll$1(0, modules); previousModuleId = null; - t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.String, t3 = type$.JSArray_String, t4 = type$.Object, t5 = type$.dynamic_Function; + t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.JSArray_String, t3 = type$.Object, t4 = type$.JSObject, t5 = type$.dynamic_Function; case 10: // for condition if (!(t6 = $async$self.__RequireRestarter__dirtyModules_A, t6._root != null)) { @@ -26179,13 +24738,12 @@ $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId); t6 = A._asString(moduleId); t6 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t6); - t6 = t6 == null ? null : J.cast$1$0$ax(t6, t2); - parentIds = t6 == null ? A._setArrayType([], t3) : t6; + parentIds = t6 == null ? A._setArrayType([], t2) : t6; $async$goto = J.get$isEmpty$asx(parentIds) ? 12 : 14; break; case 12: // then - childModule = t4._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId); + childModule = t4._as(t3._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId)); self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t5); // goto join $async$goto = 13; @@ -26228,7 +24786,8 @@ if (t1 instanceof A.HotReloadFailedException) { e = t1; A.print("Error during script reloading. Firing full page reload. " + A.S(e)); - type$.Location._as(window.location).reload(); + t1 = type$.JavaScriptObject; + t1._as(t1._as(self.window).location).reload(); $async$self._running.complete$1(0, false); } else throw $async$exception; @@ -26264,9 +24823,11 @@ return t1; }, _updateGraph$0() { - var i, t2, t3, _i, + var stronglyConnectedComponents, i, t2, t3, _i, t1 = type$.String, - stronglyConnectedComponents = A.stronglyConnectedComponents(A.List_List$from(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), true, t1), this.get$_moduleParents(), t1); + allModules = A.JSArrayToIterable_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1); + A.print("Modules: " + allModules.toString$0(0)); + stronglyConnectedComponents = A.stronglyConnectedComponents(allModules, this.get$_moduleParents(), t1); t1 = this._moduleOrdering; if (t1._collection$_length > 0) { t1._collection$_strings = t1._collection$_nums = t1._collection$_rest = t1._keys = null; @@ -26286,36 +24847,40 @@ }; A.RequireRestarter__reload_closure.prototype = { call$0() { - var t1 = this.childModule; - t1 = J.get$first$ax(self.Object.values(t1 == null ? type$.Object._as(t1) : t1)); - if (t1 == null) - t1 = type$.Object._as(t1); - t1.main(); + A.JSArrayToIterable_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main(); }, - $signature: 5 + $signature: 4 }; A.RequireRestarter__reloadModule_closure.prototype = { call$1(e) { this.completer.completeError$2(new A.HotReloadFailedException(J.get$message$x(type$.JsError._as(e))), this.stackTrace); }, - $signature: 81 + $signature: 76 }; A._createScript_closure.prototype = { - call$0() { - var nonce = A._findNonce(); - if (nonce == null) - return A.html_ScriptElement___new_tearOff$closure(); - return new A._createScript__closure(nonce); + call$1(element) { + var nonceValue = A._asString(type$.JavaScriptObject._as(element).nonce), + t1 = $.$get$_noncePattern(); + if (t1._nativeRegExp.test(nonceValue)) + return this._box_0.nonce = nonceValue; }, - $signature: 82 + $signature: 77 }; - A._createScript__closure.prototype = { + A.runMain_closure.prototype = { call$0() { - var t1 = document.createElement("script"); - t1.setAttribute("nonce", this.nonce); - return t1; + return this.scriptElement.remove(); }, - $signature: 14 + $signature: 0 + }; + A.JsError.prototype = {}; + A.JsMap.prototype = {}; + A.JSArrayToIterable_toDartIterable_closure.prototype = { + call$1(e) { + return this.T._as(A.dartify(e)); + }, + $signature() { + return this.T._eval$1("0(Object?)"); + } }; (function aliases() { var _ = J.Interceptor.prototype; @@ -26328,15 +24893,9 @@ _ = A._HashMap.prototype; _.super$_HashMap$_containsKey = _._containsKey$1; _.super$_HashMap$_get = _._get$1; - _.super$_HashMap$_set = _._set$2; - _ = A.Iterable.prototype; - _.super$Iterable$where = _.where$1; + _.super$_HashMap$_set = _._collection$_set$2; _ = A.Object.prototype; _.super$Object$toString = _.toString$0; - _ = A.Element.prototype; - _.super$Element$createFragment = _.createFragment$3$treeSanitizer$validator; - _ = A._SimpleNodeValidator.prototype; - _.super$_SimpleNodeValidator$allowsAttribute = _.allowsAttribute$3; _ = A.JsObject.prototype; _.super$JsObject$$index = _.$index; _.super$JsObject$$indexSet = _.$indexSet; @@ -26352,83 +24911,78 @@ _instance_2_u = hunkHelpers._instance_2u, _instance_1_i = hunkHelpers._instance_1i, _instance_0_u = hunkHelpers._instance_0u, - _instance_1_u = hunkHelpers._instance_1u, - _instance_0_i = hunkHelpers._instance_0i; - _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 28); + _instance_1_u = hunkHelpers._instance_1u; + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 78); _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 10); _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 10); _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10); _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); - _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 3); - _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11); + _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 5); + _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 9); _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 86, 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 80, 0); _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { return A._rootRun($self, $parent, zone, f, type$.dynamic); - }], 87, 1); + }], 81, 1); _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic); - }], 88, 1); + }], 82, 1); _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic); - }], 89, 1); + }], 83, 1); _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); - }], 90, 0); + }], 84, 0); _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic); - }], 91, 0); + }], 85, 0); _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic); - }], 92, 0); - _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 93, 0); - _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 94, 0); - _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 95, 0); - _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 96, 0); - _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 97, 0); - _static_1(A, "async___printToZone$closure", "_printToZone", 33); - _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 98, 0); - _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 32, 0, 0); + }], 86, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 87, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 88, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 89, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 90, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 91, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 14); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 61, 0); + _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 17, 0, 0); _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() { return [null]; - }, ["call$1", "call$0"], ["complete$1", "complete$0"], 54, 0, 0); - _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11); + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 52, 0, 0); + _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 9); var _; - _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 19); _instance(_, "get$addError", 0, 1, function() { return [null]; - }, ["call$2", "call$1"], ["addError$2", "addError$1"], 32, 0, 0); + }, ["call$2", "call$1"], ["addError$2", "addError$1"], 17, 0, 0); _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); - _instance_1_u(_, "get$_handleData", "_handleData$1", 16); - _instance_2_u(_, "get$_handleError", "_handleError$2", 17); + _instance_1_u(_, "get$_handleData", "_handleData$1", 19); + _instance_2_u(_, "get$_handleError", "_handleError$2", 20); _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12); - _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13); - _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 28); - _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 1); - _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13); + _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 11); + _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 2); + _static_1(A, "core__identityHashCode$closure", "identityHashCode", 11); _static_2(A, "core__identical$closure", "identical", 12); - _static_0(A, "html_ScriptElement___new_tearOff$closure", "ScriptElement___new_tearOff", 14); - _static(A, "html__Html5NodeValidator__standardAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__standardAttributeValidator"], 30, 0); - _static(A, "html__Html5NodeValidator__uriAttributeValidator$closure", 4, null, ["call$4"], ["_Html5NodeValidator__uriAttributeValidator"], 30, 0); - _instance_0_i(A.Node.prototype, "get$remove", "remove$0", 0); - _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 3); - _static_1(A, "js___convertToJS$closure", "_convertToJS", 34); - _static_1(A, "js___convertToDart$closure", "_convertToDart", 2); + _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 5); + _static_1(A, "js___convertToJS$closure", "_convertToJS", 13); + _static_1(A, "js___convertToDart$closure", "_convertToDart", 3); _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12); - _instance_1_i(_, "get$hash", "hash$1", 13); - _instance_1_u(_, "get$isValidKey", "isValidKey$1", 55); - _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 4); - _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 4); + _instance_1_i(_, "get$hash", "hash$1", 11); + _instance_1_u(_, "get$isValidKey", "isValidKey$1", 49); + _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 1); + _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 1); _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0); - _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 61); - _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 79); - _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 80); + _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 56); + _static_1(A, "client___handleAuthRequest$closure", "_handleAuthRequest", 1); + _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 74); + _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 75); })(); (function inheritance() { var _mixin = hunkHelpers.mixin, @@ -26436,27 +24990,24 @@ _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(A.Object, null); - _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A._Html5NodeValidator, A.ImmutableListMixin, A.NodeValidatorBuilder, A._SimpleNodeValidator, A._SvgNodeValidator, A.FixedSizeListIterator, A._DOMWindowCrossFrame, A._SameOriginUriPolicy, A._ValidatingTreeSanitizer, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.MapBase, A.Closure, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription0, A.ImmutableListMixin, A.FixedSizeListIterator, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.EventStreamProvider0, A._EventStreamSubscription, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); - _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A.DomImplementation, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SharedArrayBuffer, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]); - _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A._FetchOptions, A.Promise, A.RequireLoader, A.JsError, A.JsMap]); + _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]); + _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.Promise, A.RequireLoader, A.JsError, A.JsMap]); _inherit(J.JSUnmodifiableArray, J.JSArray); _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); - _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.SkipIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]); - _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]); + _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]); + _inherit(A.CastIterable, A._CastIterableBase); _inherit(A._EfficientLengthCastIterable, A.CastIterable); - _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Element_Element$html_closure, A.HttpRequest_request_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.NodeValidatorBuilder_allowsElement_closure, A.NodeValidatorBuilder_allowsAttribute_closure, A._SimpleNodeValidator_closure, A._SimpleNodeValidator_closure0, A._TemplatingNodeValidator_closure, A._convertDartToNative_Value_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A._GuaranteeSink__addError_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._listenForDebugExtensionAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure]); - _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._ValidatingTreeSanitizer_sanitizeTree_walk, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.convertDartToNative_Dictionary_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]); - _inherit(A.CastList, A._CastListBase); - _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap, A._AttributeMap]); + _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._createScript_closure, A.JSArrayToIterable_toDartIterable_closure]); + _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]); _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]); - _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A._createScript_closure, A._createScript__closure]); + _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]); _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]); _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]); _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); - _inherit(A.EfficientLengthSkipIterable, A.SkipIterable); - _inheritMany(A.ListBase, [A.UnmodifiableListBase, A._FrozenElementList, A._ChildNodeListLazy]); + _inherit(A.UnmodifiableListBase, A.ListBase); _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView); _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin); _inherit(A.ConstantMapView, A.UnmodifiableMapView); @@ -26472,10 +25023,10 @@ _inherit(A.NativeTypedArrayOfInt, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin); _inheritMany(A.NativeTypedArrayOfDouble, [A.NativeFloat32List, A.NativeFloat64List]); _inheritMany(A.NativeTypedArrayOfInt, [A.NativeInt16List, A.NativeInt32List, A.NativeInt8List, A.NativeUint16List, A.NativeUint32List, A.NativeUint8ClampedList, A.NativeUint8List]); - _inheritMany(A._Error, [A._TypeError, A._InconsistentSubtypingError]); + _inherit(A._TypeError, A._Error); _inheritMany(A._Completer, [A._AsyncCompleter, A._SyncCompleter]); _inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]); - _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._EventStream]); + _inheritMany(A.Stream, [A._StreamImpl, A._ForwardingStream, A._EventStream0, A._EventStream]); _inherit(A._ControllerStream, A._StreamImpl); _inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription]); _inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]); @@ -26497,11 +25048,11 @@ _inherit(A.Utf8Codec, A.Encoding); _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); _inherit(A._DataUri, A._Uri); - _inheritMany(A.EventTarget, [A.Node, A.EventSource, A.FileWriter, A.HttpRequestEventTarget, A.MessagePort, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.Window, A.WorkerGlobalScope, A.AudioTrackList, A.BaseAudioContext]); - _inheritMany(A.Node, [A.Element, A.CharacterData, A.Document, A._Attr]); - _inheritMany(A.Element, [A.HtmlElement, A.SvgElement]); - _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.BaseElement, A.BodyElement, A.FormElement, A.ScriptElement, A.SelectElement, A.TableElement, A.TableRowElement, A.TableSectionElement, A.TemplateElement]); - _inheritMany(A.Event, [A.CloseEvent, A.CustomEvent, A.UIEvent, A.MessageEvent, A.ProgressEvent]); + _inheritMany(A.EventTarget, [A.Node, A.FileWriter, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.Window, A.WorkerGlobalScope, A.AudioTrackList, A.BaseAudioContext]); + _inheritMany(A.Node, [A.Element, A.CharacterData]); + _inherit(A.HtmlElement, A.Element); + _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.FormElement, A.SelectElement]); + _inheritMany(A.Event, [A.CloseEvent, A.MessageEvent]); _inherit(A.CssPerspective, A.CssTransformComponent); _inherit(A.CssStyleDeclaration, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase); _inheritMany(A.CssStyleValue, [A.CssTransformValue, A.CssUnparsedValue]); @@ -26514,9 +25065,6 @@ _inherit(A.FileList, A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin); _inherit(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A._HtmlCollection_JavaScriptObject_ListMixin); _inherit(A.HtmlCollection, A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin); - _inherit(A.HtmlDocument, A.Document); - _inherit(A.HttpRequest, A.HttpRequestEventTarget); - _inherit(A.KeyboardEvent, A.UIEvent); _inherit(A.MidiInputMap, A._MidiInputMap_JavaScriptObject_MapMixin); _inherit(A.MidiOutputMap, A._MidiOutputMap_JavaScriptObject_MapMixin); _inherit(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._MimeTypeArray_JavaScriptObject_ListMixin); @@ -26548,9 +25096,6 @@ _inherit(A._SpeechRecognitionResultList, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin); _inherit(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin); _inherit(A._StyleSheetList, A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin); - _inherit(A._ElementAttributeMap, A._AttributeMap); - _inherit(A._TemplatingNodeValidator, A._SimpleNodeValidator); - _inherit(A._StructuredCloneDart2Js, A._StructuredClone); _inherit(A._AcceptStructuredCloneDart2Js, A._AcceptStructuredClone); _inheritMany(A.JsObject, [A.JsFunction, A._JsArray_JsObject_ListMixin]); _inherit(A.JsArray, A._JsArray_JsObject_ListMixin); @@ -26558,7 +25103,6 @@ _inherit(A.LengthList, A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin); _inherit(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NumberList_JavaScriptObject_ListMixin); _inherit(A.NumberList, A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin); - _inherit(A.ScriptElement0, A.SvgElement); _inherit(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._StringList_JavaScriptObject_ListMixin); _inherit(A.StringList, A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin); _inherit(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TransformList_JavaScriptObject_ListMixin); @@ -26573,7 +25117,6 @@ _inheritMany(A.JsonObject, [A.BoolJsonObject, A.ListJsonObject, A.MapJsonObject, A.NumJsonObject, A.StringJsonObject]); _inherit(A.SetEquality, A._UnorderedEquality); _inherit(A.QueueList, A._QueueList_Object_ListMixin); - _inherit(A._CastQueueList, A.QueueList); _inherit(A.BuildStatus, A.EnumClass); _inherit(A._$BuildResult, A.BuildResult); _inherit(A._$ConnectRequest, A.ConnectRequest); @@ -26595,7 +25138,6 @@ _inheritMany(A.StreamChannelMixin, [A.SseClient, A.GuaranteeChannel, A.HtmlWebSocketChannel, A.WebSocketChannel]); _inherit(A._HtmlWebSocketSink, A.DelegatingStreamSink); _mixin(A.UnmodifiableListBase, A.UnmodifiableListMixin); - _mixin(A.__CastListBase__CastIterableBase_ListMixin, A.ListBase); _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListBase); _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin); _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, A.ListBase); @@ -26658,15 +25200,15 @@ })(); var init = { typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, - mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, + mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"}, mangledNames: {}, - types: ["~()", "@(@)", "Object?(@)", "~(@)", "~(Event)", "Null()", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "~(@,@)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "ScriptElement()", "~(String,String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "String(String)", "~(Uint8List,String,int)", "Future()", "bool(NodeValidator)", "bool(String)", "int(@,@)", "String(int,int)", "bool(Element,String,String,_Html5NodeValidator)", "bool()", "~(Object[StackTrace?])", "~(String)", "Object?(Object?)", "~(MessageEvent)", "Null(Event)", "~(Node,Node?)", "Null(@,@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "_Future<@>(@)", "SetMultimapBuilder()", "~(int,@)", "Null(@,StackTrace)", "~(ProgressEvent)", "~([Object?])", "bool(Object?)", "ListBuilder()", "ListBuilder()", "bool(Node)", "String(@)", "Logger()", "~(String?)", "Uint8List(@,@)", "~(String,int?)", "~(String,int)", "Null(~())", "Future<~>()", "Promise<1&>(String)", "~(List)", "ListBuilder(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "Future(Event)", "bool(bool)", "List(String)", "int(String,String)", "~(JsError)", "ScriptElement()()", "Null(CloseEvent)", "@(@,String)", "@(String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "SetBuilder()"], + types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "Null(Object,StackTrace)", "~(String,@)", "Null(@)", "~(Object,StackTrace)", "~(~())", "int(Object?)", "bool(Object?,Object?)", "Object?(Object?)", "~(String)", "Null(Event)", "String(int,int)", "~(Object[StackTrace?])", "bool()", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "~(String,String)", "~(Event)", "Future()", "~(Uint8List,String,int)", "Uint8List(@,@)", "String(String)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "~(String,int?)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "SetBuilder()", "SetMultimapBuilder()", "~(String,int)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "_Future<@>(@)", "bool(Object?)", "ListBuilder()", "ListBuilder()", "~([Object?])", "String(@)", "Logger()", "Null(~())", "~(String?)", "~(int,@)", "Null(@,StackTrace)", "~(MessageEvent)", "Null(CloseEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "Promise<1&>(String)", "~(List)", "ListBuilder(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "@(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List(String)", "int(String,String)", "~(JsError)", "String?(JavaScriptObject)", "int(@,@)", "@(@,String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Future<~>()"], interceptorsByTag: null, leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","_FetchOptions":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AElement":"SvgElement","GraphicsElement":"SvgElement","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node","DocumentFragment":"Node","XmlDocument":"Document","VttCue":"TextTrackCue","CompositionEvent":"UIEvent","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","MathMLElement":"Element","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JSObject":[],"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_InconsistentSubtypingError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JSObject":[]},"CssRule":{"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JSObject":[]},"Event":{"JSObject":[]},"File":{"Blob":[],"JSObject":[]},"Gamepad":{"JSObject":[]},"HttpRequest":{"EventTarget":[],"JSObject":[]},"KeyboardEvent":{"Event":[],"JSObject":[]},"MessageEvent":{"Event":[],"JSObject":[]},"MimeType":{"JSObject":[]},"Node":{"EventTarget":[],"JSObject":[]},"Plugin":{"JSObject":[]},"ProgressEvent":{"Event":[],"JSObject":[]},"ScriptElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JSObject":[]},"SpeechGrammar":{"JSObject":[]},"SpeechRecognitionResult":{"JSObject":[]},"StyleSheet":{"JSObject":[]},"TextTrack":{"EventTarget":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JSObject":[]},"Touch":{"JSObject":[]},"_Html5NodeValidator":{"NodeValidator":[]},"HtmlElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AccessibleNodeList":{"JSObject":[]},"AnchorElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"AreaElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"BaseElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"Blob":{"JSObject":[]},"BodyElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JSObject":[]},"CssPerspective":{"JSObject":[]},"CssStyleDeclaration":{"JSObject":[]},"CssStyleValue":{"JSObject":[]},"CssTransformComponent":{"JSObject":[]},"CssTransformValue":{"JSObject":[]},"CssUnparsedValue":{"JSObject":[]},"CustomEvent":{"Event":[],"JSObject":[]},"DataTransferItemList":{"JSObject":[]},"Document":{"Node":[],"EventTarget":[],"JSObject":[]},"DomException":{"JSObject":[]},"DomImplementation":{"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JSObject":[]},"_FrozenElementList":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"EventSource":{"EventTarget":[],"JSObject":[]},"EventTarget":{"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JSObject":[]},"FormElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"History":{"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"HtmlDocument":{"Document":[],"Node":[],"EventTarget":[],"JSObject":[]},"HttpRequestEventTarget":{"EventTarget":[],"JSObject":[]},"ImageData":{"JSObject":[]},"Location":{"JSObject":[]},"MediaList":{"JSObject":[]},"MessagePort":{"EventTarget":[],"JSObject":[]},"MidiInputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"_ChildNodeListLazy":{"ListBase":["Node"],"List":["Node"],"EfficientLengthIterable":["Node"],"Iterable":["Node"],"ListBase.E":"Node","Iterable.E":"Node"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"SharedArrayBuffer":{"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TableElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableRowElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TableSectionElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TemplateElement":{"HtmlElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JSObject":[]},"UIEvent":{"Event":[],"JSObject":[]},"Url":{"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JSObject":[]},"Window":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JSObject":[]},"_Attr":{"Node":[],"EventTarget":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_AttributeMap":{"MapBase":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapBase":["String","String"],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"NodeValidatorBuilder":{"NodeValidator":[]},"_SimpleNodeValidator":{"NodeValidator":[]},"_TemplatingNodeValidator":{"NodeValidator":[]},"_SvgNodeValidator":{"NodeValidator":[]},"FixedSizeListIterator":{"Iterator":["1"]},"_DOMWindowCrossFrame":{"WindowBase":[],"EventTarget":[],"JSObject":[]},"_SameOriginUriPolicy":{"UriPolicy":[]},"_ValidatingTreeSanitizer":{"NodeTreeSanitizer":[]},"KeyRange":{"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JSObject":[]},"Number":{"JSObject":[]},"Transform":{"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JSObject":[]},"ScriptElement0":{"SvgElement":[],"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"SvgElement":{"Element":[],"Node":[],"EventTarget":[],"JSObject":[]},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JSObject":[]},"AudioParamMap":{"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); - A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); + A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); var string$ = { ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type", @@ -26678,13 +25220,11 @@ return { AsyncError: findType("AsyncError"), Base64Codec: findType("Base64Codec"), - BaseElement: findType("BaseElement"), BatchedDebugEvents: findType("BatchedDebugEvents"), BatchedEvents: findType("BatchedEvents"), BatchedStreamController_DebugEvent: findType("BatchedStreamController"), BigInt: findType("BigInt"), Blob: findType("Blob"), - BodyElement: findType("BodyElement"), BuildResult: findType("BuildResult"), BuildStatus: findType("BuildStatus"), BuiltListMultimap_dynamic_dynamic: findType("BuiltListMultimap<@,@>"), @@ -26702,16 +25242,13 @@ ConnectRequest: findType("ConnectRequest"), ConstantMapView_Symbol_dynamic: findType("ConstantMapView"), CssRule: findType("CssRule"), - CustomEvent: findType("CustomEvent"), DateTime: findType("DateTime"), DebugEvent: findType("DebugEvent"), DebugInfo: findType("DebugInfo"), DevToolsRequest: findType("DevToolsRequest"), DevToolsResponse: findType("DevToolsResponse"), - Document: findType("Document"), Duration: findType("Duration"), EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"), - Element: findType("Element"), Error: findType("Error"), ErrorResponse: findType("ErrorResponse"), Event: findType("Event"), @@ -26719,23 +25256,20 @@ ExtensionRequest: findType("ExtensionRequest"), ExtensionResponse: findType("ExtensionResponse"), File: findType("File"), - FileList: findType("FileList"), FullType: findType("FullType"), Function: findType("Function"), Future_dynamic: findType("Future<@>"), Future_void: findType("Future<~>"), - HtmlElement: findType("HtmlElement"), ImageData: findType("ImageData"), + Int32: findType("Int32"), Int64: findType("Int64"), Invocation: findType("Invocation"), IsolateExit: findType("IsolateExit"), IsolateStart: findType("IsolateStart"), IterableEquality_dynamic: findType("IterableEquality<@>"), - Iterable_Node: findType("Iterable"), Iterable_dynamic: findType("Iterable<@>"), Iterable_nullable_Object: findType("Iterable"), JSArray_FullType: findType("JSArray"), - JSArray_NodeValidator: findType("JSArray"), JSArray_Object: findType("JSArray"), JSArray_String: findType("JSArray"), JSArray_Type: findType("JSArray"), @@ -26745,6 +25279,7 @@ JSObject: findType("JSObject"), JavaScriptFunction: findType("JavaScriptFunction"), JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), + JavaScriptObject: findType("JavaScriptObject"), JsArray_dynamic: findType("JsArray<@>"), JsError: findType("JsError"), JsLinkedHashMap_String_dynamic: findType("JsLinkedHashMap"), @@ -26752,7 +25287,6 @@ JsObject: findType("JsObject"), JsonObject: findType("JsonObject"), KeyRange: findType("KeyRange"), - KeyboardEvent: findType("KeyboardEvent"), Length: findType("Length"), Level: findType("Level"), ListBuilder_DebugEvent: findType("ListBuilder"), @@ -26766,29 +25300,22 @@ List_dynamic: findType("List<@>"), List_int: findType("List"), List_nullable_Object: findType("List"), - Location: findType("Location"), Logger: findType("Logger"), MapBuilder_dynamic_dynamic: findType("MapBuilder<@,@>"), MapEquality_dynamic_dynamic: findType("MapEquality<@,@>"), Map_String_String: findType("Map"), Map_dynamic_dynamic: findType("Map<@,@>"), Map_of_String_and_nullable_Object: findType("Map"), - MappedListIterable_String_String: findType("MappedListIterable"), MessageEvent: findType("MessageEvent"), - MessagePort: findType("MessagePort"), MimeType: findType("MimeType"), - NativeByteBuffer: findType("NativeByteBuffer"), - NativeTypedData: findType("NativeTypedData"), NativeUint8List: findType("NativeUint8List"), Node: findType("Node"), - NodeValidator: findType("NodeValidator"), Null: findType("Null"), Number: findType("Number"), Object: findType("Object"), Plugin: findType("Plugin"), PoolResource: findType("PoolResource"), PrimitiveSerializer_dynamic: findType("PrimitiveSerializer<@>"), - ProgressEvent: findType("ProgressEvent"), Promise_bool_Function_String: findType("Promise<1&>(String)"), Promise_void: findType("Promise<1&>"), QueueList_Result_DebugEvent: findType("QueueList>"), @@ -26800,14 +25327,12 @@ RequireRestarter: findType("RequireRestarter"), ReversedListIterable_String: findType("ReversedListIterable"), RunRequest: findType("RunRequest"), - ScriptElement: findType("ScriptElement0"), SerializerPlugin: findType("SerializerPlugin"), Serializer_dynamic: findType("Serializer<@>"), SetBuilder_dynamic: findType("SetBuilder<@>"), SetEquality_dynamic: findType("SetEquality<@>"), SetMultimapBuilder_dynamic_dynamic: findType("SetMultimapBuilder<@,@>"), Set_dynamic: findType("Set<@>"), - SharedArrayBuffer: findType("SharedArrayBuffer"), SourceBuffer: findType("SourceBuffer"), SpeechGrammar: findType("SpeechGrammar"), SpeechRecognitionResult: findType("SpeechRecognitionResult"), @@ -26816,12 +25341,9 @@ StreamChannelController_dynamic: findType("StreamChannelController<@>"), StreamQueue_DebugEvent: findType("StreamQueue"), String: findType("String"), - String_Function_String: findType("String(String)"), StructuredSerializer_dynamic: findType("StructuredSerializer<@>"), StyleSheet: findType("StyleSheet"), - SvgElement: findType("SvgElement"), Symbol: findType("Symbol0"), - TemplateElement: findType("TemplateElement"), TextTrack: findType("TextTrack"), TextTrackCue: findType("TextTrackCue"), Timer: findType("Timer"), @@ -26837,30 +25359,27 @@ UnmodifiableMapView_of_String_and_nullable_Object: findType("UnmodifiableMapView"), Uri: findType("Uri"), Window: findType("Window"), - WindowBase: findType("WindowBase"), WorkerGlobalScope: findType("WorkerGlobalScope"), Zone: findType("Zone"), - _AsyncCompleter_HttpRequest: findType("_AsyncCompleter"), + _AsyncCompleter_JavaScriptObject: findType("_AsyncCompleter"), _AsyncCompleter_PoolResource: findType("_AsyncCompleter"), _AsyncCompleter_bool: findType("_AsyncCompleter"), _AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"), _AsyncCompleter_void: findType("_AsyncCompleter<~>"), - _Attr: findType("_Attr"), _BigIntImpl: findType("_BigIntImpl"), _BuiltMap_dynamic_dynamic: findType("_BuiltMap<@,@>"), - _ChildNodeListLazy: findType("_ChildNodeListLazy"), _EventRequest_dynamic: findType("_EventRequest<@>"), - _EventStream_CloseEvent: findType("_EventStream"), - _EventStream_Event: findType("_EventStream"), - _FrozenElementList_Element: findType("_FrozenElementList"), - _Future_HttpRequest: findType("_Future"), + _EventStream_CloseEvent: findType("_EventStream0"), + _EventStream_Event: findType("_EventStream0"), + _EventStream_JavaScriptObject: findType("_EventStream"), + _Future_JavaScriptObject: findType("_Future"), _Future_PoolResource: findType("_Future"), _Future_bool: findType("_Future"), _Future_dynamic: findType("_Future<@>"), _Future_int: findType("_Future"), _Future_void: findType("_Future<~>"), - _Html5NodeValidator: findType("_Html5NodeValidator"), _IdentityHashMap_dynamic_dynamic: findType("_IdentityHashMap<@,@>"), + _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap"), _MapEntry: findType("_MapEntry"), _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState"), _SyncCompleter_PoolResource: findType("_SyncCompleter"), @@ -26870,7 +25389,6 @@ double: findType("double"), dynamic: findType("@"), dynamic_Function: findType("@()"), - dynamic_Function_Event: findType("@(Event)"), dynamic_Function_Object: findType("@(Object)"), dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), dynamic_Function_dynamic: findType("@(@)"), @@ -26880,6 +25398,7 @@ legacy_Object: findType("Object*"), nullable_Future_Null: findType("Future?"), nullable_Gamepad: findType("Gamepad?"), + nullable_JavaScriptObject: findType("JavaScriptObject?"), nullable_ListBuilder_DebugEvent: findType("ListBuilder?"), nullable_ListBuilder_ExtensionEvent: findType("ListBuilder?"), nullable_List_dynamic: findType("List<@>?"), @@ -26894,17 +25413,14 @@ nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"), nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"), nullable_dynamic_Function_Event: findType("@(Event)?"), - nullable_int_Function_Node_Node: findType("int(Node,Node)?"), nullable_void_Function: findType("~()?"), nullable_void_Function_BatchedDebugEventsBuilder: findType("~(BatchedDebugEventsBuilder)?"), nullable_void_Function_ConnectRequestBuilder: findType("~(ConnectRequestBuilder)?"), nullable_void_Function_DebugEventBuilder: findType("~(DebugEventBuilder)?"), nullable_void_Function_DebugInfoBuilder: findType("~(DebugInfoBuilder)?"), nullable_void_Function_DevToolsRequestBuilder: findType("~(DevToolsRequestBuilder)?"), - nullable_void_Function_Event: findType("~(Event)?"), - nullable_void_Function_KeyboardEvent: findType("~(KeyboardEvent)?"), + nullable_void_Function_JavaScriptObject: findType("~(JavaScriptObject)?"), nullable_void_Function_MessageEvent: findType("~(MessageEvent)?"), - nullable_void_Function_ProgressEvent: findType("~(ProgressEvent)?"), nullable_void_Function_RegisterEventBuilder: findType("~(RegisterEventBuilder)?"), num: findType("num"), void: findType("~"), @@ -26922,12 +25438,6 @@ })(); (function constants() { var makeConstList = hunkHelpers.makeConstList; - B.AnchorElement_methods = A.AnchorElement.prototype; - B.BodyElement_methods = A.BodyElement.prototype; - B.DomImplementation_methods = A.DomImplementation.prototype; - B.EventSource_methods = A.EventSource.prototype; - B.HtmlDocument_methods = A.HtmlDocument.prototype; - B.HttpRequest_methods = A.HttpRequest.prototype; B.Interceptor_methods = J.Interceptor.prototype; B.JSArray_methods = J.JSArray.prototype; B.JSBool_methods = J.JSBool.prototype; @@ -26936,14 +25446,10 @@ B.JSString_methods = J.JSString.prototype; B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype; B.JavaScriptObject_methods = J.JavaScriptObject.prototype; - B.Location_methods = A.Location.prototype; B.NativeUint8List_methods = A.NativeUint8List.prototype; - B.NodeList_methods = A.NodeList.prototype; B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; - B.TableElement_methods = A.TableElement.prototype; B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; B.WebSocket_methods = A.WebSocket.prototype; - B.Window_methods = A.Window.prototype; B.BuildStatus_failed = new A.BuildStatus("failed"); B.BuildStatus_started = new A.BuildStatus("started"); B.BuildStatus_succeeded = new A.BuildStatus("succeeded"); @@ -27093,24 +25599,24 @@ B.Duration_5000000 = new A.Duration(5000000); B.Type_BuiltMap_qd4 = A.typeLiteral("BuiltMap<@,@>"); B.Type_Object_xQ6 = A.typeLiteral("Object"); - B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_FullType); - B.FullType_1MH = new A.FullType(B.Type_Object_xQ6, B.List_empty1, false); + B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_FullType); + B.FullType_1MH = new A.FullType(B.Type_Object_xQ6, B.List_empty0, false); B.List_4AN = A._setArrayType(makeConstList([B.FullType_1MH, B.FullType_1MH]), type$.JSArray_FullType); B.FullType_6Ps = new A.FullType(B.Type_BuiltMap_qd4, B.List_4AN, false); B.Type_BuiltList_iTR = A.typeLiteral("BuiltList<@>"); B.Type_DebugEvent_sSr = A.typeLiteral("DebugEvent"); - B.FullType_Dx1 = new A.FullType(B.Type_DebugEvent_sSr, B.List_empty1, false); + B.FullType_Dx1 = new A.FullType(B.Type_DebugEvent_sSr, B.List_empty0, false); B.List_luS = A._setArrayType(makeConstList([B.FullType_Dx1]), type$.JSArray_FullType); B.FullType_EGl = new A.FullType(B.Type_BuiltList_iTR, B.List_luS, false); B.Type_BuildStatus_ahk = A.typeLiteral("BuildStatus"); - B.FullType_FuN = new A.FullType(B.Type_BuildStatus_ahk, B.List_empty1, false); + B.FullType_FuN = new A.FullType(B.Type_BuildStatus_ahk, B.List_empty0, false); B.Type_BuiltSet_fcN = A.typeLiteral("BuiltSet<@>"); B.List_3wP = A._setArrayType(makeConstList([B.FullType_1MH]), type$.JSArray_FullType); B.FullType_KVM = new A.FullType(B.Type_BuiltSet_fcN, B.List_3wP, false); B.Type_bool_lhE = A.typeLiteral("bool"); - B.FullType_MtR = new A.FullType(B.Type_bool_lhE, B.List_empty1, false); + B.FullType_MtR = new A.FullType(B.Type_bool_lhE, B.List_empty0, false); B.Type_ExtensionEvent_gsm = A.typeLiteral("ExtensionEvent"); - B.FullType_Ktb = new A.FullType(B.Type_ExtensionEvent_gsm, B.List_empty1, false); + B.FullType_Ktb = new A.FullType(B.Type_ExtensionEvent_gsm, B.List_empty0, false); B.List_0 = A._setArrayType(makeConstList([B.FullType_Ktb]), type$.JSArray_FullType); B.FullType_NIe = new A.FullType(B.Type_BuiltList_iTR, B.List_0, false); B.FullType_WUY = new A.FullType(B.Type_BuiltList_iTR, B.List_3wP, false); @@ -27119,10 +25625,10 @@ B.Type_BuiltSetMultimap_9Fi = A.typeLiteral("BuiltSetMultimap<@,@>"); B.FullType_gsm = new A.FullType(B.Type_BuiltSetMultimap_9Fi, B.List_4AN, false); B.Type_String_k8F = A.typeLiteral("String"); - B.FullType_h8g = new A.FullType(B.Type_String_k8F, B.List_empty1, false); + B.FullType_h8g = new A.FullType(B.Type_String_k8F, B.List_empty0, false); B.Type_int_tHn = A.typeLiteral("int"); - B.FullType_kjq = new A.FullType(B.Type_int_tHn, B.List_empty1, false); - B.FullType_null_List_empty_false = new A.FullType(null, B.List_empty1, false); + B.FullType_kjq = new A.FullType(B.Type_int_tHn, B.List_empty0, false); + B.FullType_null_List_empty_false = new A.FullType(null, B.List_empty0, false); B.JsonDecoder_null = new A.JsonDecoder(null); B.JsonEncoder_null = new A.JsonEncoder(null); B.Level_INFO_800 = new A.Level("INFO", 800); @@ -27145,7 +25651,6 @@ B.Type_RegisterEvent_0zQ = A.typeLiteral("RegisterEvent"); B.Type__$RegisterEvent_SY6 = A.typeLiteral("_$RegisterEvent"); B.List_ASY = A._setArrayType(makeConstList([B.Type_RegisterEvent_0zQ, B.Type__$RegisterEvent_SY6]), type$.JSArray_Type); - B.List_AuK = A._setArrayType(makeConstList(["bind", "if", "ref", "repeat", "syntax"]), type$.JSArray_String); B.Type_DebugInfo_gg4 = A.typeLiteral("DebugInfo"); B.Type__$DebugInfo_Eoc = A.typeLiteral("_$DebugInfo"); B.List_IMr = A._setArrayType(makeConstList([B.Type_DebugInfo_gg4, B.Type__$DebugInfo_Eoc]), type$.JSArray_Type); @@ -27156,9 +25661,7 @@ B.Type_BatchedDebugEvents_I6f = A.typeLiteral("BatchedDebugEvents"); B.Type__$BatchedDebugEvents_aD9 = A.typeLiteral("_$BatchedDebugEvents"); B.List_Jeh = A._setArrayType(makeConstList([B.Type_BatchedDebugEvents_I6f, B.Type__$BatchedDebugEvents_aD9]), type$.JSArray_Type); - B.List_Jwp = A._setArrayType(makeConstList(["A::href", "AREA::href", "BLOCKQUOTE::cite", "BODY::background", "COMMAND::icon", "DEL::cite", "FORM::action", "IMG::src", "INPUT::src", "INS::cite", "Q::cite", "VIDEO::poster"]), type$.JSArray_String); B.List_M1A = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int); - B.List_ME0 = A._setArrayType(makeConstList(["HEAD", "AREA", "BASE", "BASEFONT", "BR", "COL", "COLGROUP", "EMBED", "FRAME", "FRAMESET", "HR", "IMAGE", "IMG", "INPUT", "ISINDEX", "LINK", "META", "PARAM", "SOURCE", "STYLE", "TITLE", "WBR"]), type$.JSArray_String); B.List_MMm = A._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_int); B.List_OL3 = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_int); B.List_Type_BuildStatus_ahk = A._setArrayType(makeConstList([B.Type_BuildStatus_ahk]), type$.JSArray_Type); @@ -27174,7 +25677,6 @@ B.Type__$ExtensionEvent_XOq = A.typeLiteral("_$ExtensionEvent"); B.List_e7M = A._setArrayType(makeConstList([B.Type_ExtensionEvent_gsm, B.Type__$ExtensionEvent_XOq]), type$.JSArray_Type); B.List_ejq = A._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_int); - B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_String); B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_dynamic); B.List_er0 = A._setArrayType(makeConstList(["d", "D", "\u2202", "\xce"]), type$.JSArray_String); B.Type_BuildResult_dEV = A.typeLiteral("BuildResult"); @@ -27187,7 +25689,6 @@ B.Type_BatchedEvents_gDG = A.typeLiteral("BatchedEvents"); B.Type__$BatchedEvents_qxo = A.typeLiteral("_$BatchedEvents"); B.List_oyn = A._setArrayType(makeConstList([B.Type_BatchedEvents_gDG, B.Type__$BatchedEvents_qxo]), type$.JSArray_Type); - B.List_uzK = A._setArrayType(makeConstList(["*::class", "*::dir", "*::draggable", "*::hidden", "*::id", "*::inert", "*::itemprop", "*::itemref", "*::itemscope", "*::lang", "*::spellcheck", "*::title", "*::translate", "A::accesskey", "A::coords", "A::hreflang", "A::name", "A::shape", "A::tabindex", "A::target", "A::type", "AREA::accesskey", "AREA::alt", "AREA::coords", "AREA::nohref", "AREA::shape", "AREA::tabindex", "AREA::target", "AUDIO::controls", "AUDIO::loop", "AUDIO::mediagroup", "AUDIO::muted", "AUDIO::preload", "BDO::dir", "BODY::alink", "BODY::bgcolor", "BODY::link", "BODY::text", "BODY::vlink", "BR::clear", "BUTTON::accesskey", "BUTTON::disabled", "BUTTON::name", "BUTTON::tabindex", "BUTTON::type", "BUTTON::value", "CANVAS::height", "CANVAS::width", "CAPTION::align", "COL::align", "COL::char", "COL::charoff", "COL::span", "COL::valign", "COL::width", "COLGROUP::align", "COLGROUP::char", "COLGROUP::charoff", "COLGROUP::span", "COLGROUP::valign", "COLGROUP::width", "COMMAND::checked", "COMMAND::command", "COMMAND::disabled", "COMMAND::label", "COMMAND::radiogroup", "COMMAND::type", "DATA::value", "DEL::datetime", "DETAILS::open", "DIR::compact", "DIV::align", "DL::compact", "FIELDSET::disabled", "FONT::color", "FONT::face", "FONT::size", "FORM::accept", "FORM::autocomplete", "FORM::enctype", "FORM::method", "FORM::name", "FORM::novalidate", "FORM::target", "FRAME::name", "H1::align", "H2::align", "H3::align", "H4::align", "H5::align", "H6::align", "HR::align", "HR::noshade", "HR::size", "HR::width", "HTML::version", "IFRAME::align", "IFRAME::frameborder", "IFRAME::height", "IFRAME::marginheight", "IFRAME::marginwidth", "IFRAME::width", "IMG::align", "IMG::alt", "IMG::border", "IMG::height", "IMG::hspace", "IMG::ismap", "IMG::name", "IMG::usemap", "IMG::vspace", "IMG::width", "INPUT::accept", "INPUT::accesskey", "INPUT::align", "INPUT::alt", "INPUT::autocomplete", "INPUT::autofocus", "INPUT::checked", "INPUT::disabled", "INPUT::inputmode", "INPUT::ismap", "INPUT::list", "INPUT::max", "INPUT::maxlength", "INPUT::min", "INPUT::multiple", "INPUT::name", "INPUT::placeholder", "INPUT::readonly", "INPUT::required", "INPUT::size", "INPUT::step", "INPUT::tabindex", "INPUT::type", "INPUT::usemap", "INPUT::value", "INS::datetime", "KEYGEN::disabled", "KEYGEN::keytype", "KEYGEN::name", "LABEL::accesskey", "LABEL::for", "LEGEND::accesskey", "LEGEND::align", "LI::type", "LI::value", "LINK::sizes", "MAP::name", "MENU::compact", "MENU::label", "MENU::type", "METER::high", "METER::low", "METER::max", "METER::min", "METER::value", "OBJECT::typemustmatch", "OL::compact", "OL::reversed", "OL::start", "OL::type", "OPTGROUP::disabled", "OPTGROUP::label", "OPTION::disabled", "OPTION::label", "OPTION::selected", "OPTION::value", "OUTPUT::for", "OUTPUT::name", "P::align", "PRE::width", "PROGRESS::max", "PROGRESS::min", "PROGRESS::value", "SELECT::autocomplete", "SELECT::disabled", "SELECT::multiple", "SELECT::name", "SELECT::required", "SELECT::size", "SELECT::tabindex", "SOURCE::type", "TABLE::align", "TABLE::bgcolor", "TABLE::border", "TABLE::cellpadding", "TABLE::cellspacing", "TABLE::frame", "TABLE::rules", "TABLE::summary", "TABLE::width", "TBODY::align", "TBODY::char", "TBODY::charoff", "TBODY::valign", "TD::abbr", "TD::align", "TD::axis", "TD::bgcolor", "TD::char", "TD::charoff", "TD::colspan", "TD::headers", "TD::height", "TD::nowrap", "TD::rowspan", "TD::scope", "TD::valign", "TD::width", "TEXTAREA::accesskey", "TEXTAREA::autocomplete", "TEXTAREA::cols", "TEXTAREA::disabled", "TEXTAREA::inputmode", "TEXTAREA::name", "TEXTAREA::placeholder", "TEXTAREA::readonly", "TEXTAREA::required", "TEXTAREA::rows", "TEXTAREA::tabindex", "TEXTAREA::wrap", "TFOOT::align", "TFOOT::char", "TFOOT::charoff", "TFOOT::valign", "TH::abbr", "TH::align", "TH::axis", "TH::bgcolor", "TH::char", "TH::charoff", "TH::colspan", "TH::headers", "TH::height", "TH::nowrap", "TH::rowspan", "TH::scope", "TH::valign", "TH::width", "THEAD::align", "THEAD::char", "THEAD::charoff", "THEAD::valign", "TR::align", "TR::bgcolor", "TR::char", "TR::charoff", "TR::valign", "TRACK::default", "TRACK::kind", "TRACK::label", "TRACK::srclang", "UL::compact", "UL::type", "VIDEO::controls", "VIDEO::height", "VIDEO::loop", "VIDEO::mediagroup", "VIDEO::muted", "VIDEO::preload", "VIDEO::width"]), type$.JSArray_String); B.Type_DevToolsRequest_A0n = A.typeLiteral("DevToolsRequest"); B.Type__$DevToolsRequest_cDy = A.typeLiteral("_$DevToolsRequest"); B.List_yT3 = A._setArrayType(makeConstList([B.Type_DevToolsRequest_A0n, B.Type__$DevToolsRequest_cDy]), type$.JSArray_Type); @@ -27205,6 +25706,7 @@ B.Type_Float64List_LB7 = A.typeLiteral("Float64List"); B.Type_Int16List_uXf = A.typeLiteral("Int16List"); B.Type_Int32List_O50 = A.typeLiteral("Int32List"); + B.Type_Int32_Mhf = A.typeLiteral("Int32"); B.Type_Int64_ww8 = A.typeLiteral("Int64"); B.Type_Int8List_ekJ = A.typeLiteral("Int8List"); B.Type_JSObject_8k0 = A.typeLiteral("JSObject"); @@ -27250,7 +25752,6 @@ $.dispatchRecordsForInstanceTags = null; $.interceptorsForUncacheableTags = null; $.initNativeDispatchFlag = null; - $._reportingExtraNullSafetyError = false; $._nextCallback = null; $._lastCallback = null; $._lastPriorityCallback = null; @@ -27265,11 +25766,6 @@ $._BigIntImpl____lastQuoRemUsed = A._Cell$named("_lastQuoRemUsed"); $._BigIntImpl____lastRemUsed = A._Cell$named("_lastRemUsed"); $._BigIntImpl____lastRem_nsh = A._Cell$named("_lastRem_nsh"); - $.Element__parseDocument = null; - $.Element__parseRange = null; - $.Element__defaultValidator = null; - $.Element__defaultSanitizer = null; - $._Html5NodeValidator__attributeValidators = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Function); $._indentingBuiltValueToStringHelperIndent = 0; $.LogRecord__nextNumber = 0; $.Logger__loggers = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger); @@ -27340,12 +25836,12 @@ _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false)); _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6)); _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables()); - _lazyFinal($, "_Html5NodeValidator__allowedElements", "$get$_Html5NodeValidator__allowedElements", () => A.LinkedHashSet_LinkedHashSet$from(["A", "ABBR", "ACRONYM", "ADDRESS", "AREA", "ARTICLE", "ASIDE", "AUDIO", "B", "BDI", "BDO", "BIG", "BLOCKQUOTE", "BR", "BUTTON", "CANVAS", "CAPTION", "CENTER", "CITE", "CODE", "COL", "COLGROUP", "COMMAND", "DATA", "DATALIST", "DD", "DEL", "DETAILS", "DFN", "DIR", "DIV", "DL", "DT", "EM", "FIELDSET", "FIGCAPTION", "FIGURE", "FONT", "FOOTER", "FORM", "H1", "H2", "H3", "H4", "H5", "H6", "HEADER", "HGROUP", "HR", "I", "IFRAME", "IMG", "INPUT", "INS", "KBD", "LABEL", "LEGEND", "LI", "MAP", "MARK", "MENU", "METER", "NAV", "NOBR", "OL", "OPTGROUP", "OPTION", "OUTPUT", "P", "PRE", "PROGRESS", "Q", "S", "SAMP", "SECTION", "SELECT", "SMALL", "SOURCE", "SPAN", "STRIKE", "STRONG", "SUB", "SUMMARY", "SUP", "TABLE", "TBODY", "TD", "TEXTAREA", "TFOOT", "TH", "THEAD", "TIME", "TR", "TRACK", "TT", "U", "UL", "VAR", "VIDEO", "WBR"], type$.String)); _lazyFinal($, "_context", "$get$_context", () => A._castToJsObject(A._wrapToDart(self))); _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartObject")); _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", () => function DartObject(o) { this.o = o; }); + _lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty")); _lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray")))); _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure()); _lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false))); @@ -27411,7 +25907,6 @@ }); _lazyFinal($, "Uuid__stateExpando", "$get$Uuid__stateExpando", () => new A.Expando(new WeakMap(), A.findType("Expando>"))); _lazyFinal($, "UuidUtil__random", "$get$UuidUtil__random", () => A.Random_Random(null)); - _lazyFinal($, "_createScript", "$get$_createScript", () => new A._createScript_closure().call$0()); _lazyFinal($, "_noncePattern", "$get$_noncePattern", () => A.RegExp_RegExp("^[\\w+/_-]+[=]{0,2}$", true, false)); })(); (function nativeSupport() { @@ -27437,8 +25932,8 @@ } init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); }(); - hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, HTMLBaseElement: A.BaseElement, Blob: A.Blob, HTMLBodyElement: A.BodyElement, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, CustomEvent: A.CustomEvent, DataTransferItemList: A.DataTransferItemList, XMLDocument: A.Document, Document: A.Document, DOMException: A.DomException, DOMImplementation: A.DomImplementation, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, MojoInterfaceRequestEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, EventSource: A.EventSource, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, HTMLDocument: A.HtmlDocument, XMLHttpRequest: A.HttpRequest, XMLHttpRequestUpload: A.HttpRequestEventTarget, XMLHttpRequestEventTarget: A.HttpRequestEventTarget, ImageData: A.ImageData, KeyboardEvent: A.KeyboardEvent, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MessagePort: A.MessagePort, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, DocumentFragment: A.Node, ShadowRoot: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, ProgressEvent: A.ProgressEvent, ResourceProgressEvent: A.ProgressEvent, RTCStatsReport: A.RtcStatsReport, HTMLScriptElement: A.ScriptElement, HTMLSelectElement: A.SelectElement, SharedArrayBuffer: A.SharedArrayBuffer, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, HTMLTableElement: A.TableElement, HTMLTableRowElement: A.TableRowElement, HTMLTableSectionElement: A.TableSectionElement, HTMLTemplateElement: A.TemplateElement, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, CompositionEvent: A.UIEvent, FocusEvent: A.UIEvent, MouseEvent: A.UIEvent, DragEvent: A.UIEvent, PointerEvent: A.UIEvent, TextEvent: A.UIEvent, TouchEvent: A.UIEvent, WheelEvent: A.UIEvent, UIEvent: A.UIEvent, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, Window: A.Window, DOMWindow: A.Window, DedicatedWorkerGlobalScope: A.WorkerGlobalScope, ServiceWorkerGlobalScope: A.WorkerGlobalScope, SharedWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, Attr: A._Attr, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBKeyRange: A.KeyRange, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGScriptElement: A.ScriptElement0, SVGStringList: A.StringList, SVGAElement: A.SvgElement, SVGAnimateElement: A.SvgElement, SVGAnimateMotionElement: A.SvgElement, SVGAnimateTransformElement: A.SvgElement, SVGAnimationElement: A.SvgElement, SVGCircleElement: A.SvgElement, SVGClipPathElement: A.SvgElement, SVGDefsElement: A.SvgElement, SVGDescElement: A.SvgElement, SVGDiscardElement: A.SvgElement, SVGEllipseElement: A.SvgElement, SVGFEBlendElement: A.SvgElement, SVGFEColorMatrixElement: A.SvgElement, SVGFEComponentTransferElement: A.SvgElement, SVGFECompositeElement: A.SvgElement, SVGFEConvolveMatrixElement: A.SvgElement, SVGFEDiffuseLightingElement: A.SvgElement, SVGFEDisplacementMapElement: A.SvgElement, SVGFEDistantLightElement: A.SvgElement, SVGFEFloodElement: A.SvgElement, SVGFEFuncAElement: A.SvgElement, SVGFEFuncBElement: A.SvgElement, SVGFEFuncGElement: A.SvgElement, SVGFEFuncRElement: A.SvgElement, SVGFEGaussianBlurElement: A.SvgElement, SVGFEImageElement: A.SvgElement, SVGFEMergeElement: A.SvgElement, SVGFEMergeNodeElement: A.SvgElement, SVGFEMorphologyElement: A.SvgElement, SVGFEOffsetElement: A.SvgElement, SVGFEPointLightElement: A.SvgElement, SVGFESpecularLightingElement: A.SvgElement, SVGFESpotLightElement: A.SvgElement, SVGFETileElement: A.SvgElement, SVGFETurbulenceElement: A.SvgElement, SVGFilterElement: A.SvgElement, SVGForeignObjectElement: A.SvgElement, SVGGElement: A.SvgElement, SVGGeometryElement: A.SvgElement, SVGGraphicsElement: A.SvgElement, SVGImageElement: A.SvgElement, SVGLineElement: A.SvgElement, SVGLinearGradientElement: A.SvgElement, SVGMarkerElement: A.SvgElement, SVGMaskElement: A.SvgElement, SVGMetadataElement: A.SvgElement, SVGPathElement: A.SvgElement, SVGPatternElement: A.SvgElement, SVGPolygonElement: A.SvgElement, SVGPolylineElement: A.SvgElement, SVGRadialGradientElement: A.SvgElement, SVGRectElement: A.SvgElement, SVGSetElement: A.SvgElement, SVGStopElement: A.SvgElement, SVGStyleElement: A.SvgElement, SVGSVGElement: A.SvgElement, SVGSwitchElement: A.SvgElement, SVGSymbolElement: A.SvgElement, SVGTSpanElement: A.SvgElement, SVGTextContentElement: A.SvgElement, SVGTextElement: A.SvgElement, SVGTextPathElement: A.SvgElement, SVGTextPositioningElement: A.SvgElement, SVGTitleElement: A.SvgElement, SVGUseElement: A.SvgElement, SVGViewElement: A.SvgElement, SVGGradientElement: A.SvgElement, SVGComponentTransferFunctionElement: A.SvgElement, SVGFEDropShadowElement: A.SvgElement, SVGMPathElement: A.SvgElement, SVGElement: A.SvgElement, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext}); - hunkHelpers.setOrUpdateLeafTags({WebGL: true, AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: true, DeviceRotationRate: true, DirectoryEntry: true, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: 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, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: 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, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: 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, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: 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, IDBObjectStore: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: 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, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: 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, 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, 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, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: 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, HTMLBaseElement: true, Blob: false, HTMLBodyElement: true, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CloseEvent: 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, CustomEvent: true, DataTransferItemList: true, XMLDocument: true, Document: false, DOMException: true, DOMImplementation: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, MathMLElement: true, Element: false, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, MojoInterfaceRequestEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, EventSource: true, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, CanvasCaptureMediaStreamTrack: true, FileReader: true, FontFaceSet: true, Gyroscope: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MediaStreamTrack: 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, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, webkitSpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, Worker: 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, HTMLDocument: true, XMLHttpRequest: true, XMLHttpRequestUpload: true, XMLHttpRequestEventTarget: false, ImageData: true, KeyboardEvent: true, Location: true, MediaList: true, MessageEvent: true, MessagePort: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, DocumentFragment: true, ShadowRoot: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, ProgressEvent: true, ResourceProgressEvent: true, RTCStatsReport: true, HTMLScriptElement: true, HTMLSelectElement: true, SharedArrayBuffer: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, CompositionEvent: true, FocusEvent: true, MouseEvent: true, DragEvent: true, PointerEvent: true, TextEvent: true, TouchEvent: true, WheelEvent: true, UIEvent: false, URL: true, VideoTrackList: true, WebSocket: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: true, Attr: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, IDBKeyRange: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGScriptElement: true, SVGStringList: 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, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: 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, SVGElement: false, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true}); + hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MessagePort: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, ImageData: A.ImageData, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, Window: A.Window, DOMWindow: A.Window, DedicatedWorkerGlobalScope: A.WorkerGlobalScope, ServiceWorkerGlobalScope: A.WorkerGlobalScope, SharedWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBKeyRange: A.KeyRange, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext}); + hunkHelpers.setOrUpdateLeafTags({WebGL: true, AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: 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, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: 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, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: 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, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SharedArrayBuffer: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: 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, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: 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, IDBObjectStore: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: 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, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: 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, 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, CloseEvent: 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, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: 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, 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, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, webkitSpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, Worker: 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, ImageData: true, Location: true, MediaList: true, MessageEvent: 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, WebSocket: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, IDBKeyRange: 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.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; @@ -27508,9 +26003,6 @@ Function.prototype.call$2$0 = function() { return this(); }; - Function.prototype.call$1$0 = function() { - return this(); - }; convertAllToFastObject(holders); convertToFastObject($); (function(callback) { @@ -27524,18 +26016,21 @@ } var scripts = document.scripts; function onLoad(event) { - for (var i = 0; i < scripts.length; ++i) + for (var i = 0; i < scripts.length; ++i) { scripts[i].removeEventListener("load", onLoad, false); + } callback(event.target); } - for (var i = 0; i < scripts.length; ++i) + for (var i = 0; i < scripts.length; ++i) { scripts[i].addEventListener("load", onLoad, false); + } })(function(currentScript) { init.currentScript = currentScript; var callMain = A.main; - if (typeof dartMainRunner === "function") + if (typeof dartMainRunner === "function") { dartMainRunner(callMain, []); - else + } else { callMain([]); + } }); })(); diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml index 094bb8138..d3fe2448d 100644 --- a/dwds/pubspec.yaml +++ b/dwds/pubspec.yaml @@ -36,6 +36,7 @@ dependencies: vm_service: ^13.0.0 vm_service_interface: 1.0.0 web_socket_channel: ^2.2.0 + web: ">=0.3.0 <0.5.0" webkit_inspection_protocol: ^1.0.1 dev_dependencies: diff --git a/dwds/web/client.dart b/dwds/web/client.dart index f3852bc93..a7a01d4c7 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -7,8 +7,8 @@ library hot_reload_client; import 'dart:async'; import 'dart:convert'; -import 'dart:html'; import 'dart:js'; +import 'dart:js_interop'; import 'package:built_collection/built_collection.dart'; import 'package:dwds/data/build_result.dart'; @@ -26,6 +26,7 @@ import 'package:dwds/src/sockets.dart'; import 'package:js/js.dart'; import 'package:sse/client/sse_client.dart'; import 'package:uuid/uuid.dart'; +import 'package:web/helpers.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; import 'promise.dart'; @@ -156,9 +157,12 @@ Future? main() { } else if (event is RunRequest) { runMain(); } else if (event is ErrorResponse) { - window.console - .error('Error from backend:\n\nError: ${event.error}\n\n' - 'Stack Trace:\n${event.stackTrace}'); + window.reportError( + 'Error from backend:\n\n' + 'Error: ${event.error}\n\n' + 'Stack Trace:\n${event.stackTrace}' + .toJS, + ); } }, onError: (error) { @@ -276,35 +280,46 @@ void _launchCommunicationWithDebugExtension() { ), ), ); - dispatchEvent(CustomEvent('dart-app-ready', detail: debugInfoJson)); + _dispatchEvent('dart-app-ready', debugInfoJson); +} + +void _dispatchEvent(String message, String detail) { + window.dispatchEvent( + CustomEvent( + 'dart-auth-response', + CustomEventInit(detail: detail.toJS), + ), + ); } void _listenForDebugExtensionAuthRequest() { window.addEventListener( 'message', - allowInterop((event) async { - final messageEvent = event as MessageEvent; - if (messageEvent.data is! String) return; - if (messageEvent.data as String != 'dart-auth-request') return; - - // Notify the Dart Debug Extension of authentication status: - if (_authUrl != null) { - final isAuthenticated = await _authenticateUser(_authUrl!); - dispatchEvent( - CustomEvent('dart-auth-response', detail: '$isAuthenticated'), - ); - } - }), + _handleAuthRequest.toJS, ); } +void _handleAuthRequest(Event event) { + final messageEvent = event as MessageEvent; + if (messageEvent.data is! String) return; + if (messageEvent.data as String != 'dart-auth-request') return; + + // Notify the Dart Debug Extension of authentication status: + if (_authUrl != null) { + _authenticateUser(_authUrl!).then( + (isAuthenticated) => + _dispatchEvent('dart-auth-response', '$isAuthenticated'), + ); + } +} + Future _authenticateUser(String authUrl) async { final response = await HttpRequest.request( authUrl, method: 'GET', withCredentials: true, ); - final responseText = response.responseText ?? ''; + final responseText = response.responseText; return responseText.contains('Dart Debug Authentication Success!'); } diff --git a/dwds/web/reloader/legacy_restarter.dart b/dwds/web/reloader/legacy_restarter.dart index 9bdbd0e22..7ea98826e 100644 --- a/dwds/web/reloader/legacy_restarter.dart +++ b/dwds/web/reloader/legacy_restarter.dart @@ -3,8 +3,10 @@ // BSD-style license that can be found in the LICENSE file. import 'dart:async'; -import 'dart:html'; import 'dart:js'; +import 'dart:js_interop'; + +import 'package:web/helpers.dart'; import 'restarter.dart'; @@ -21,7 +23,7 @@ class LegacyRestarter implements Restarter { } final reloadCompleter = Completer(); final sub = window.onMessage.listen((event) { - final message = event.data; + final message = event.data?.dartify(); if (message is Map && message['type'] == 'DDC_STATE_CHANGE' && message['state'] == 'restart_end') { diff --git a/dwds/web/reloader/manager.dart b/dwds/web/reloader/manager.dart index 225841e57..048c257de 100644 --- a/dwds/web/reloader/manager.dart +++ b/dwds/web/reloader/manager.dart @@ -3,11 +3,11 @@ // BSD-style license that can be found in the LICENSE file. import 'dart:convert'; -import 'dart:html'; import 'package:dwds/data/isolate_events.dart'; import 'package:dwds/data/serializers.dart'; import 'package:dwds/src/sockets.dart'; +import 'package:web/helpers.dart'; import 'restarter.dart'; diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart index cddbd72fd..10cba6105 100644 --- a/dwds/web/reloader/require_restarter.dart +++ b/dwds/web/reloader/require_restarter.dart @@ -7,15 +7,17 @@ library require_reloading_manager; import 'dart:async'; import 'dart:collection'; -import 'dart:html'; +import 'dart:js_interop'; import 'dart:js_util'; import 'package:graphs/graphs.dart' as graphs; import 'package:js/js.dart'; import 'package:js/js_util.dart'; +import 'package:web/helpers.dart'; import '../promise.dart'; import '../run_main.dart'; +import '../web_utils.dart'; import 'restarter.dart'; /// The last known digests of all the modules in the application. @@ -36,16 +38,6 @@ external set dartRunMain(Function() func); @JS(r'$dartRunMain') external Function() get dartRunMain; -List keys(JsMap map) { - return List.from(_jsArrayFrom(map.keys())); -} - -@JS('Array.from') -external List _jsArrayFrom(Object any); - -@JS('Object.values') -external List _jsObjectValues(Object any); - @anonymous @JS() class RequireLoader { @@ -71,24 +63,6 @@ class HotReloadFailedException implements Exception { String toString() => "HotReloadFailedException: '$_s'"; } -@JS('Error') -abstract class JsError { - @JS() - external String get message; - - @JS() - external String get stack; -} - -@JS('Map') -abstract class JsMap { - @JS() - external V? get(K key); - - @JS() - external Object keys(); -} - /// Handles hot restart reloading for use with the require module system. class RequireRestarter implements Restarter { final _moduleOrdering = HashMap(); @@ -141,7 +115,7 @@ class RequireRestarter implements Restarter { return result; } - List _allModules() => keys(requireLoader.moduleParentsGraph); + Iterable _allModules() => requireLoader.moduleParentsGraph.dartKeys; Future> _getDigests() async { final request = await HttpRequest.request( @@ -149,7 +123,9 @@ class RequireRestarter implements Restarter { responseType: 'json', method: 'GET', ); - return (request.response as Map).cast(); + + final response = request.response.dartify(); + return (response as Map).cast(); } Future _initialize() async { @@ -157,7 +133,7 @@ class RequireRestarter implements Restarter { } List _moduleParents(String module) => - requireLoader.moduleParentsGraph.get(module)?.cast() ?? []; + requireLoader.moduleParentsGraph.get(module) ?? []; int _moduleTopologicalCompare(String module1, String module2) { var topological = 0; @@ -207,13 +183,17 @@ class RequireRestarter implements Restarter { if (parentIds.isEmpty) { // The bootstrap module is not reloaded but we need to update the // $dartRunMain reference to the newly loaded child module. - final childModule = callMethod( + final childModule = callMethod( getProperty(require('dart_sdk'), 'dart'), 'getModuleLibraries', [previousModuleId], ); dartRunMain = allowInterop(() { - callMethod(_jsObjectValues(childModule).first, 'main', []); + callMethod( + childModule.values.first!, + 'main', + [], + ); }); } else { ++reloadedModules; @@ -255,6 +235,7 @@ class RequireRestarter implements Restarter { void _updateGraph() { final allModules = _allModules(); + print('Modules: $allModules'); final stronglyConnectedComponents = graphs.stronglyConnectedComponents(allModules, _moduleParents); _moduleOrdering.clear(); diff --git a/dwds/web/run_main.dart b/dwds/web/run_main.dart index 23f490ebf..088b91749 100644 --- a/dwds/web/run_main.dart +++ b/dwds/web/run_main.dart @@ -2,40 +2,56 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'dart:html'; +import 'dart:js_interop'; +import 'package:web/helpers.dart'; -/// Creates a script that will run properly when strict CSP is enforced. -/// -/// More specifically, the script has the correct `nonce` value set. -final ScriptElement Function() _createScript = (() { - final nonce = _findNonce(); - if (nonce == null) return ScriptElement.new; - - return () => ScriptElement()..setAttribute('nonce', nonce); -})(); +import 'web_utils.dart'; // According to the CSP3 spec a nonce must be a valid base64 string. final _noncePattern = RegExp('^[\\w+/_-]+[=]{0,2}\$'); /// Returns CSP nonce, if set for any script tag. -String? _findNonce() { +String? findNonce() { final elements = window.document.querySelectorAll('script'); - for (final element in elements) { - final nonceValue = - (element as HtmlElement).nonce ?? element.attributes['nonce']; - if (nonceValue != null && _noncePattern.hasMatch(nonceValue)) { - return nonceValue; - } - } + elements.forEach( + (Node element) { + final nonceValue = (element as HtmlElement).nonce; + if (_noncePattern.hasMatch(nonceValue)) { + return nonceValue; + } + }.toJS, + ); return null; } +/// Creates a script that will run properly when strict CSP is enforced. +/// +/// More specifically, the script has the correct `nonce` value set. +HTMLScriptElement _createScript() { + //final nonce = findNonce(); + String? nonce; + final elements = window.document.querySelectorAll('script'); + elements.forEach( + (Node element) { + final nonceValue = (element as HtmlElement).nonce; + if (_noncePattern.hasMatch(nonceValue)) { + return nonce = nonceValue; + } + }.toJS, + ); + + return nonce == null ? HTMLScriptElement() : HTMLScriptElement() + ..setAttribute('nonce', nonce!); +} + /// Runs `window.$dartRunMain()` by injecting a script tag. /// /// We do this so that we don't see user exceptions bubble up in our own error /// handling zone. void runMain() { - final scriptElement = _createScript()..innerHtml = r'window.$dartRunMain();'; - document.body!.append(scriptElement); - Future.microtask(scriptElement.remove); + final scriptElement = _createScript()..htmlFor = r'window.$dartRunMain();'; + (document.body as HTMLBodyElement).append(scriptElement.toJSBox); + // External tear-offs are not allowed. + // ignore: unnecessary_lambdas + Future.microtask(() => scriptElement.remove()); } diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart new file mode 100644 index 000000000..d5d14664c --- /dev/null +++ b/dwds/web/web_utils.dart @@ -0,0 +1,54 @@ +// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +@JS() +library require_reloading_manager; + +import 'dart:js_interop'; + +import 'package:js/js.dart'; +import 'package:web/helpers.dart'; + +@JS('Array.from') +external JSArray _jsArrayFrom(Object any); + +@JS('Object.values') +external JSArray _jsObjectValues(Object any); + +@JS('Error') +abstract class JsError { + @JS() + external String get message; + + @JS() + external String get stack; +} + +@JS('Map') +abstract class JsMap { + @JS() + external V? get(K key); + + @JS() + external Object keys(); + + @JS() + external Object values(); +} + +extension ObjectValues on JSObject { + Iterable get values => _jsObjectValues(this).toDartIterable(); +} + +extension JSArrayToIterable on JSArray { + Iterable toDartIterable() => toDart.map((e) => e.dartify() as T); +} + +extension JSMapToMap on JsMap { + Iterable get dartKeys => _jsArrayFrom(keys()).toDartIterable(); +} + +extension NodeListExtension on NodeList { + external void forEach(JSFunction callback); +} diff --git a/fixtures/_webdevSoundSmoke/web/main.dart b/fixtures/_webdevSoundSmoke/web/main.dart index 907bfdbba..46aea1208 100644 --- a/fixtures/_webdevSoundSmoke/web/main.dart +++ b/fixtures/_webdevSoundSmoke/web/main.dart @@ -11,7 +11,7 @@ void main() { print('Initial Print'); registerExtension('ext.print', (_, __) async { - print('Hello World'); + print('Hello World1'); return ServiceExtensionResponse.result(json.encode({'success': true})); }); document.body?.append(SpanElement()..text = 'Hello World!!'); From 3baa547e72edc3bd10184e0e2dd9927a20d0c1d3 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Wed, 13 Dec 2023 11:29:49 -0800 Subject: [PATCH 03/16] Match the bug --- dwds/lib/src/injected/client.js | 45 +++++++++++++++------------------ dwds/web/run_main.dart | 14 ++-------- 2 files changed, 23 insertions(+), 36 deletions(-) diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 0fc32f39d..4488b4ee6 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -9474,33 +9474,30 @@ this.completer = t0; this.stackTrace = t1; }, - _createScript() { - var t2, t3, t1 = {}; - t1.nonce = null; - t2 = self; - t3 = type$.JavaScriptObject; - t3._as(t3._as(t3._as(t2.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._createScript_closure(t1), type$.Function)); - t2 = t1.nonce == null ? t3._as(new t2.HTMLScriptElement()) : t3._as(new t2.HTMLScriptElement()); - t1 = t1.nonce; - t1.toString; - t2.setAttribute("nonce", t1); - return t2; + _findNonce() { + var t1 = type$.JavaScriptObject; + t1._as(t1._as(t1._as(self.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._findNonce_closure(), type$.Function)); + return null; }, runMain() { - var t1, t2, box, - scriptElement = A._createScript(); - scriptElement.htmlFor = "window.$dartRunMain();"; - t1 = type$.JavaScriptObject; - t2 = type$.nullable_JavaScriptObject._as(t1._as(self.document).body); - t1 = t2 == null ? t1._as(t2) : t2; + var t3, box, + nonce = A._findNonce(), + t1 = self, + t2 = type$.JavaScriptObject._as(new t1.HTMLScriptElement()); + nonce.toString; + t2.setAttribute("nonce", nonce); + t2.htmlFor = "window.$dartRunMain();"; + t3 = type$.JavaScriptObject; + t1 = type$.nullable_JavaScriptObject._as(t3._as(t1.document).body); + if (t1 == null) + t1 = t3._as(t1); A.throwExpression("Attempting to box non-Dart object."); box = {}; - box[$.$get$_jsBoxedDartObjectProperty()] = scriptElement; + box[$.$get$_jsBoxedDartObjectProperty()] = t2; t1.append(box); - A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void); + A.Future_Future$microtask(new A.runMain_closure(t2), type$.void); }, - _createScript_closure: function _createScript_closure(t0) { - this._box_0 = t0; + _findNonce_closure: function _findNonce_closure() { }, runMain_closure: function runMain_closure(t0) { this.scriptElement = t0; @@ -24857,12 +24854,12 @@ }, $signature: 76 }; - A._createScript_closure.prototype = { + A._findNonce_closure.prototype = { call$1(element) { var nonceValue = A._asString(type$.JavaScriptObject._as(element).nonce), t1 = $.$get$_noncePattern(); if (t1._nativeRegExp.test(nonceValue)) - return this._box_0.nonce = nonceValue; + return nonceValue; }, $signature: 77 }; @@ -25000,7 +24997,7 @@ _inherit(A.CastIterable, A._CastIterableBase); _inherit(A._EfficientLengthCastIterable, A.CastIterable); _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._createScript_closure, A.JSArrayToIterable_toDartIterable_closure]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._findNonce_closure, A.JSArrayToIterable_toDartIterable_closure]); _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]); _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]); _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]); diff --git a/dwds/web/run_main.dart b/dwds/web/run_main.dart index 088b91749..3ab4d9ba1 100644 --- a/dwds/web/run_main.dart +++ b/dwds/web/run_main.dart @@ -11,7 +11,7 @@ import 'web_utils.dart'; final _noncePattern = RegExp('^[\\w+/_-]+[=]{0,2}\$'); /// Returns CSP nonce, if set for any script tag. -String? findNonce() { +String? _findNonce() { final elements = window.document.querySelectorAll('script'); elements.forEach( (Node element) { @@ -28,17 +28,7 @@ String? findNonce() { /// /// More specifically, the script has the correct `nonce` value set. HTMLScriptElement _createScript() { - //final nonce = findNonce(); - String? nonce; - final elements = window.document.querySelectorAll('script'); - elements.forEach( - (Node element) { - final nonceValue = (element as HtmlElement).nonce; - if (_noncePattern.hasMatch(nonceValue)) { - return nonce = nonceValue; - } - }.toJS, - ); + final nonce = _findNonce(); return nonce == null ? HTMLScriptElement() : HTMLScriptElement() ..setAttribute('nonce', nonce!); From 8fde0416eedf65e35ffc066cf8d7e90e6d20ff67 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Thu, 14 Dec 2023 08:58:25 -0800 Subject: [PATCH 04/16] Made it work --- dwds/lib/src/injected/client.js | 679 ++++++++--------------- dwds/web/reloader/require_restarter.dart | 4 +- dwds/web/run_main.dart | 32 +- dwds/web/web_utils.dart | 20 +- fixtures/_webdevSoundSmoke/web/main.dart | 2 +- 5 files changed, 269 insertions(+), 468 deletions(-) diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 4488b4ee6..4fbfd1afc 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -672,249 +672,6 @@ IterableElementError_tooFew() { return new A.StateError("Too few elements"); }, - Sort__doSort(a, left, right, compare, $E) { - if (right - left <= 32) - A.Sort__insertionSort(a, left, right, compare, $E); - else - A.Sort__dualPivotQuicksort(a, left, right, compare, $E); - }, - Sort__insertionSort(a, left, right, compare, $E) { - var i, t1, el, j, t2, j0; - for (i = left + 1, t1 = J.getInterceptor$asx(a); i <= right; ++i) { - el = t1.$index(a, i); - j = i; - while (true) { - if (j > left) { - t2 = compare.call$2(t1.$index(a, j - 1), el); - if (typeof t2 !== "number") - return t2.$gt(); - t2 = t2 > 0; - } else - t2 = false; - if (!t2) - break; - j0 = j - 1; - t1.$indexSet(a, j, t1.$index(a, j0)); - j = j0; - } - t1.$indexSet(a, j, el); - } - }, - Sort__dualPivotQuicksort(a, left, right, compare, $E) { - var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, - sixth = B.JSInt_methods._tdivFast$1(right - left + 1, 6), - index1 = left + sixth, - index5 = right - sixth, - index3 = B.JSInt_methods._tdivFast$1(left + right, 2), - index2 = index3 - sixth, - index4 = index3 + sixth, - t1 = J.getInterceptor$asx(a), - el1 = t1.$index(a, index1), - el2 = t1.$index(a, index2), - el3 = t1.$index(a, index3), - el4 = t1.$index(a, index4), - el5 = t1.$index(a, index5), - t2 = compare.call$2(el1, el2); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el2; - el2 = el1; - el1 = t0; - } - t2 = compare.call$2(el4, el5); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el5; - el5 = el4; - el4 = t0; - } - t2 = compare.call$2(el1, el3); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el3; - el3 = el1; - el1 = t0; - } - t2 = compare.call$2(el2, el3); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el3; - el3 = el2; - el2 = t0; - } - t2 = compare.call$2(el1, el4); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el4; - el4 = el1; - el1 = t0; - } - t2 = compare.call$2(el3, el4); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el4; - el4 = el3; - el3 = t0; - } - t2 = compare.call$2(el2, el5); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el5; - el5 = el2; - el2 = t0; - } - t2 = compare.call$2(el2, el3); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el3; - el3 = el2; - el2 = t0; - } - t2 = compare.call$2(el4, el5); - if (typeof t2 !== "number") - return t2.$gt(); - if (t2 > 0) { - t0 = el5; - el5 = el4; - el4 = t0; - } - t1.$indexSet(a, index1, el1); - t1.$indexSet(a, index3, el3); - t1.$indexSet(a, index5, el5); - t1.$indexSet(a, index2, t1.$index(a, left)); - t1.$indexSet(a, index4, t1.$index(a, right)); - less = left + 1; - great = right - 1; - if (J.$eq$(compare.call$2(el2, el4), 0)) { - for (k = less; k <= great; ++k) { - ak = t1.$index(a, k); - comp = compare.call$2(ak, el2); - if (comp === 0) - continue; - if (comp < 0) { - if (k !== less) { - t1.$indexSet(a, k, t1.$index(a, less)); - t1.$indexSet(a, less, ak); - } - ++less; - } else - for (; true;) { - comp = compare.call$2(t1.$index(a, great), el2); - if (comp > 0) { - --great; - continue; - } else { - great0 = great - 1; - if (comp < 0) { - t1.$indexSet(a, k, t1.$index(a, less)); - less0 = less + 1; - t1.$indexSet(a, less, t1.$index(a, great)); - t1.$indexSet(a, great, ak); - great = great0; - less = less0; - break; - } else { - t1.$indexSet(a, k, t1.$index(a, great)); - t1.$indexSet(a, great, ak); - great = great0; - break; - } - } - } - } - pivots_are_equal = true; - } else { - for (k = less; k <= great; ++k) { - ak = t1.$index(a, k); - if (compare.call$2(ak, el2) < 0) { - if (k !== less) { - t1.$indexSet(a, k, t1.$index(a, less)); - t1.$indexSet(a, less, ak); - } - ++less; - } else if (compare.call$2(ak, el4) > 0) - for (; true;) - if (compare.call$2(t1.$index(a, great), el4) > 0) { - --great; - if (great < k) - break; - continue; - } else { - great0 = great - 1; - if (compare.call$2(t1.$index(a, great), el2) < 0) { - t1.$indexSet(a, k, t1.$index(a, less)); - less0 = less + 1; - t1.$indexSet(a, less, t1.$index(a, great)); - t1.$indexSet(a, great, ak); - less = less0; - } else { - t1.$indexSet(a, k, t1.$index(a, great)); - t1.$indexSet(a, great, ak); - } - great = great0; - break; - } - } - pivots_are_equal = false; - } - t2 = less - 1; - t1.$indexSet(a, left, t1.$index(a, t2)); - t1.$indexSet(a, t2, el2); - t2 = great + 1; - t1.$indexSet(a, right, t1.$index(a, t2)); - t1.$indexSet(a, t2, el4); - A.Sort__doSort(a, left, less - 2, compare, $E); - A.Sort__doSort(a, great + 2, right, compare, $E); - if (pivots_are_equal) - return; - if (less < index1 && great > index5) { - for (; J.$eq$(compare.call$2(t1.$index(a, less), el2), 0);) - ++less; - for (; J.$eq$(compare.call$2(t1.$index(a, great), el4), 0);) - --great; - for (k = less; k <= great; ++k) { - ak = t1.$index(a, k); - if (compare.call$2(ak, el2) === 0) { - if (k !== less) { - t1.$indexSet(a, k, t1.$index(a, less)); - t1.$indexSet(a, less, ak); - } - ++less; - } else if (compare.call$2(ak, el4) === 0) - for (; true;) - if (compare.call$2(t1.$index(a, great), el4) === 0) { - --great; - if (great < k) - break; - continue; - } else { - great0 = great - 1; - if (compare.call$2(t1.$index(a, great), el2) < 0) { - t1.$indexSet(a, k, t1.$index(a, less)); - less0 = less + 1; - t1.$indexSet(a, less, t1.$index(a, great)); - t1.$indexSet(a, great, ak); - less = less0; - } else { - t1.$indexSet(a, k, t1.$index(a, great)); - t1.$indexSet(a, great, ak); - } - great = great0; - break; - } - } - A.Sort__doSort(a, less, great, compare, $E); - } else - A.Sort__doSort(a, less, great, compare, $E); - }, _CastIterableBase: function _CastIterableBase() { }, CastIterator: function CastIterator(t0, t1) { @@ -4941,7 +4698,7 @@ }, _HashSetIterator: function _HashSetIterator(t0, t1, t2) { var _ = this; - _._collection$_set = t0; + _._set = t0; _._collection$_elements = t1; _._offset = 0; _._collection$_current = null; @@ -4960,7 +4717,7 @@ }, _LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) { var _ = this; - _._collection$_set = t0; + _._set = t0; _._collection$_modifications = t1; _._collection$_current = _._collection$_cell = null; _.$ti = t2; @@ -7967,6 +7724,14 @@ else return $F._as(A._convertDartFunctionFast(f)); }, + _noJsifyRequired(o) { + return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o); + }, + jsify(object) { + if (A._noJsifyRequired(object)) + return object; + return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object); + }, promiseToFuture(jsPromise, $T) { var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); @@ -7981,6 +7746,9 @@ return o; return new A.dartify_convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(o); }, + jsify__convert: function jsify__convert(t0) { + this._convertedObjects = t0; + }, promiseToFuture_closure: function promiseToFuture_closure(t0, t1) { this.completer = t0; this.T = t1; @@ -8237,7 +8005,7 @@ _BuiltSet: function _BuiltSet(t0, t1, t2) { var _ = this; _._setFactory = t0; - _._set = t1; + _._set$_set = t1; _._set$_hashCode = null; _.$ti = t2; }, @@ -9475,41 +9243,55 @@ this.stackTrace = t1; }, _findNonce() { - var t1 = type$.JavaScriptObject; - t1._as(t1._as(t1._as(self.window).document).querySelectorAll("script")).forEach(A.allowInterop(new A._findNonce_closure(), type$.Function)); + var t2, i, element, t3, nonceValue, + t1 = type$.JavaScriptObject, + elements = t1._as(t1._as(t1._as(self.window).document).querySelectorAll("script")); + for (t2 = type$.nullable_JavaScriptObject, i = 0; i < A._asInt(elements.length); ++i) { + element = t2._as(elements.item(i)); + t3 = element == null ? t1._as(element) : element; + nonceValue = A._asString(t3.nonce); + t3 = $.$get$_noncePattern(); + if (t3._nativeRegExp.test(nonceValue)) + return nonceValue; + } return null; }, runMain() { - var t3, box, - nonce = A._findNonce(), - t1 = self, - t2 = type$.JavaScriptObject._as(new t1.HTMLScriptElement()); - nonce.toString; - t2.setAttribute("nonce", nonce); - t2.htmlFor = "window.$dartRunMain();"; - t3 = type$.JavaScriptObject; - t1 = type$.nullable_JavaScriptObject._as(t3._as(t1.document).body); - if (t1 == null) - t1 = t3._as(t1); - A.throwExpression("Attempting to box non-Dart object."); - box = {}; - box[$.$get$_jsBoxedDartObjectProperty()] = t2; - t1.append(box); - A.Future_Future$microtask(new A.runMain_closure(t2), type$.void); - }, - _findNonce_closure: function _findNonce_closure() { + var t1 = self, + t2 = type$.JavaScriptObject, + scriptElement = t2._as(t2._as(t1.document).createElement("script")), + nonce = A._findNonce(); + if (nonce != null) + scriptElement.setAttribute("nonce", nonce); + scriptElement.innerHTML = "window.$dartRunMain();"; + t1 = type$.nullable_JavaScriptObject._as(t2._as(t1.document).body); + t1.toString; + t2 = A.jsify(scriptElement); + t2.toString; + t1.append(t2); + A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void); }, runMain_closure: function runMain_closure(t0) { this.scriptElement = t0; }, - JSArrayToIterable_toDartIterable(_this, $T) { - return J.map$1$1$ax(_this, new A.JSArrayToIterable_toDartIterable_closure($T), $T); + JSArrayExtension_toDartIterable(_this, $T) { + return J.map$1$1$ax(_this, new A.JSArrayExtension_toDartIterable_closure($T), $T); + }, + ModuleDependencyGraph_parents(_this, key) { + var t1 = J.$get$1$x(_this, key); + if (t1 == null) + t1 = null; + else { + t1 = A.JSArrayExtension_toDartIterable(t1, type$.String); + t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")); + } + return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1; }, JsError: function JsError() { }, JsMap: function JsMap() { }, - JSArrayToIterable_toDartIterable_closure: function JSArrayToIterable_toDartIterable_closure(t0) { + JSArrayExtension_toDartIterable_closure: function JSArrayExtension_toDartIterable_closure(t0) { this.T = t0; }, isBrowserObject(o) { @@ -10353,7 +10135,7 @@ call$0() { return A.Future_Future$value(null, type$.Null); }, - $signature: 29 + $signature: 25 }; A.SentinelValue.prototype = {}; A.EfficientLengthIterable.prototype = {}; @@ -10575,10 +10357,6 @@ $indexSet(_, index, value) { A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value); throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); - }, - sort$1(_, compare) { - A._instanceType(this)._eval$1("int(UnmodifiableListMixin.E,UnmodifiableListMixin.E)?")._as(compare); - throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list")); } }; A.UnmodifiableListBase.prototype = {}; @@ -10773,7 +10551,7 @@ B.JSArray_methods.add$1(this.$arguments, argument); ++t1.argumentCount; }, - $signature: 7 + $signature: 6 }; A.TypeErrorDecoder.prototype = { matchTypeError$1(message) { @@ -11194,13 +10972,13 @@ call$2(o, tag) { return this.getUnknownTag(o, tag); }, - $signature: 79 + $signature: 40 }; A.initHooks_closure1.prototype = { call$1(tag) { return this.prototypeForTag(A._asString(tag)); }, - $signature: 66 + $signature: 78 }; A.JSSyntaxRegExp.prototype = { toString$0(_) { @@ -11397,7 +11175,8 @@ get$runtimeType(receiver) { return B.Type_ByteData_zNC; }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isByteData: 1 }; A.NativeTypedArray.prototype = { get$length(receiver) { @@ -11439,7 +11218,8 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isFloat32List: 1 }; A.NativeFloat64List.prototype = { get$runtimeType(receiver) { @@ -11451,7 +11231,8 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isFloat64List: 1 }; A.NativeInt16List.prototype = { get$runtimeType(receiver) { @@ -11467,7 +11248,8 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isInt16List: 1 }; A.NativeInt32List.prototype = { get$runtimeType(receiver) { @@ -11483,7 +11265,8 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isInt32List: 1 }; A.NativeInt8List.prototype = { get$runtimeType(receiver) { @@ -11499,7 +11282,8 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isInt8List: 1 }; A.NativeUint16List.prototype = { get$runtimeType(receiver) { @@ -11532,7 +11316,8 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isUint32List: 1 }; A.NativeUint8ClampedList.prototype = { get$runtimeType(receiver) { @@ -11551,7 +11336,8 @@ sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, - $isTrustedGetRuntimeType: 1 + $isTrustedGetRuntimeType: 1, + $isUint8ClampedList: 1 }; A.NativeUint8List.prototype = { get$runtimeType(receiver) { @@ -11606,7 +11392,7 @@ t1.storedCallback = null; f.call$0(); }, - $signature: 8 + $signature: 7 }; A._AsyncRun__initializeScheduleImmediate_closure.prototype = { call$1(callback) { @@ -11616,7 +11402,7 @@ t2 = this.span; t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); }, - $signature: 55 + $signature: 38 }; A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { call$0() { @@ -11723,13 +11509,13 @@ call$2(error, stackTrace) { this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); }, - $signature: 58 + $signature: 46 }; A._wrapJsFunctionForAsync_closure.prototype = { call$2(errorCode, result) { this.$protected(A._asInt(errorCode), result); }, - $signature: 57 + $signature: 47 }; A.AsyncError.prototype = { toString$0(_) { @@ -12071,13 +11857,13 @@ t1._completeError$2(error, stackTrace); } }, - $signature: 8 + $signature: 7 }; A._Future__chainForeignFuture_closure0.prototype = { call$2(error, stackTrace) { this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace)); }, - $signature: 6 + $signature: 8 }; A._Future__chainForeignFuture_closure1.prototype = { call$0() { @@ -12142,7 +11928,7 @@ call$1(_) { return this.originalSource; }, - $signature: 48 + $signature: 32 }; A._Future__propagateToListeners_handleValueCallback.prototype = { call$0() { @@ -12226,7 +12012,7 @@ this._future._completeError$2(e, s); } }, - $signature: 6 + $signature: 8 }; A._AsyncCallbackEntry.prototype = {}; A.Stream.prototype = { @@ -12772,7 +12558,7 @@ else t1._completeError$2(error, stackTrace); }, - $signature: 6 + $signature: 8 }; A._BufferingStreamSubscription_asFuture__closure.prototype = { call$0() { @@ -13488,7 +13274,7 @@ t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s)); } }, - $signature: 47 + $signature: 58 }; A._HashMap.prototype = { get$length(_) { @@ -13551,9 +13337,9 @@ nums = _this._collection$_nums; _this._collection$_addHashTableEntry$3(nums == null ? _this._collection$_nums = A._HashMap__newHashTable() : nums, key, value); } else - _this._collection$_set$2(key, value); + _this._set$2(key, value); }, - _collection$_set$2(key, value) { + _set$2(key, value) { var rest, hash, bucket, index, _this = this, t1 = A._instanceType(_this); t1._precomputed1._as(key); @@ -13710,7 +13496,7 @@ call$1(v) { return this.K._is(v); }, - $signature: 21 + $signature: 18 }; A._HashMapKeyIterable.prototype = { get$length(_) { @@ -13918,7 +13704,7 @@ var _this = this, elements = _this._collection$_elements, offset = _this._offset, - t1 = _this._collection$_set; + t1 = _this._set; if (elements !== t1._collection$_elements) throw A.wrapException(A.ConcurrentModificationError$(t1)); else if (offset >= elements.length) { @@ -14039,7 +13825,7 @@ moveNext$0() { var _this = this, cell = _this._collection$_cell, - t1 = _this._collection$_set; + t1 = _this._set; if (_this._collection$_modifications !== t1._collection$_modifications) throw A.wrapException(A.ConcurrentModificationError$(t1)); else if (cell == null) { @@ -14068,7 +13854,7 @@ call$2(k, v) { this.result.$indexSet(0, this.K._as(k), this.V._as(v)); }, - $signature: 22 + $signature: 19 }; A.ListBase.prototype = { get$iterator(receiver) { @@ -14112,11 +13898,6 @@ take$1(receiver, count) { return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E")); }, - sort$1(receiver, compare) { - var t1 = A.instanceType(receiver); - t1._eval$1("int(ListBase.E,ListBase.E)?")._as(compare); - A.Sort__doSort(receiver, 0, this.get$length(receiver) - 1, compare, t1._eval$1("ListBase.E")); - }, sublist$2(receiver, start, end) { var t1, listLength = this.get$length(receiver); @@ -14201,7 +13982,7 @@ t1._contents = t2 + ": "; t1._contents += A.S(v); }, - $signature: 23 + $signature: 20 }; A._UnmodifiableMapMixin.prototype = { $indexSet(_, key, value) { @@ -14362,7 +14143,7 @@ }, containsAll$1(other) { var t1, t2, o; - for (t1 = other._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + for (t1 = other._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { o = t1._collection$_current; if (!this.contains$1(0, o == null ? t2._as(o) : o)) return false; @@ -14647,9 +14428,10 @@ return this._remove$1(0, this.$ti._precomputed1._as(object)) != null; }, addAll$1(_, elements) { - var t1; - for (t1 = J.get$iterator$ax(this.$ti._eval$1("Iterable<1>")._as(elements)); t1.moveNext$0();) - this._collection$_add$1(0, t1.get$current(t1)); + var t1, _i; + this.$ti._eval$1("Iterable<1>")._as(elements); + for (t1 = elements.length, _i = 0; _i < elements.length; elements.length === t1 || (0, A.throwConcurrentModificationError)(elements), ++_i) + this._collection$_add$1(0, elements[_i]); }, toString$0(_) { return A.Iterable_iterableToFullString(this, "{", "}"); @@ -14664,7 +14446,7 @@ call$1(v) { return this.E._is(v); }, - $signature: 21 + $signature: 18 }; A._SplayTreeSet__SplayTree_Iterable.prototype = {}; A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {}; @@ -15206,7 +14988,7 @@ B.JSArray_methods.$indexSet(t1, t2.i++, key); B.JSArray_methods.$indexSet(t1, t2.i++, value); }, - $signature: 23 + $signature: 20 }; A._JsonStringStringifier.prototype = { get$_partialResult() { @@ -15694,7 +15476,7 @@ hash = hash + ((hash & 524287) << 10) & 536870911; return hash ^ hash >>> 6; }, - $signature: 24 + $signature: 21 }; A._BigIntImpl_hashCode_finish.prototype = { call$1(hash) { @@ -15702,13 +15484,13 @@ hash ^= hash >>> 11; return hash + ((hash & 16383) << 15) & 536870911; }, - $signature: 25 + $signature: 22 }; A._symbolMapToStringMap_closure.prototype = { call$2(key, value) { this.result.$indexSet(0, type$.Symbol._as(key)._name, value); }, - $signature: 26 + $signature: 23 }; A.NoSuchMethodError_toString_closure.prototype = { call$2(key, value) { @@ -15723,7 +15505,7 @@ t1._contents += A.Error_safeToString(value); t2.comma = ", "; }, - $signature: 26 + $signature: 23 }; A.DateTime.prototype = { $eq(_, other) { @@ -16113,13 +15895,13 @@ call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); }, - $signature: 46 + $signature: 66 }; A.Uri_parseIPv6Address_error.prototype = { call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); }, - $signature: 38 + $signature: 52 }; A.Uri_parseIPv6Address_parseHex.prototype = { call$2(start, end) { @@ -16131,7 +15913,7 @@ this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); return value; }, - $signature: 24 + $signature: 21 }; A._Uri.prototype = { get$_text() { @@ -16317,7 +16099,7 @@ call$1(s) { return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false); }, - $signature: 32 + $signature: 48 }; A.UriData.prototype = { get$uri() { @@ -16358,7 +16140,7 @@ B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition); return t1; }, - $signature: 31 + $signature: 57 }; A._createTables_setChars.prototype = { call$3(target, chars, transition) { @@ -16370,7 +16152,7 @@ target[t2] = transition; } }, - $signature: 30 + $signature: 14 }; A._createTables_setRange.prototype = { call$3(target, range, transition) { @@ -16389,7 +16171,7 @@ target[t1] = transition; } }, - $signature: 30 + $signature: 14 }; A._SimpleUri.prototype = { get$hasAuthority() { @@ -16924,7 +16706,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 7 + $signature: 6 }; A.MidiOutputMap.prototype = { containsKey$1(receiver, key) { @@ -16973,7 +16755,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 7 + $signature: 6 }; A.MimeType.prototype = {$isMimeType: 1}; A.MimeTypeArray.prototype = { @@ -17153,7 +16935,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 7 + $signature: 6 }; A.SelectElement.prototype = { get$length(receiver) { @@ -17287,7 +17069,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 27 + $signature: 26 }; A.StyleSheet.prototype = {$isStyleSheet: 1}; A.TextTrack.prototype = {$isTextTrack: 1}; @@ -17781,21 +17563,17 @@ call$1(e) { return this.onData.call$1(type$.Event._as(e)); }, - $signature: 28 + $signature: 27 }; A._EventStreamSubscription_onData_closure0.prototype = { call$1(e) { return this.handleData.call$1(type$.Event._as(e)); }, - $signature: 28 + $signature: 27 }; A.ImmutableListMixin.prototype = { get$iterator(receiver) { return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator")); - }, - sort$1(receiver, compare) { - A.instanceType(receiver)._eval$1("int(ImmutableListMixin.E,ImmutableListMixin.E)?")._as(compare); - throw A.wrapException(A.UnsupportedError$("Cannot sort immutable List.")); } }; A.FixedSizeListIterator.prototype = { @@ -18087,10 +17865,6 @@ return len; throw A.wrapException(A.StateError$("Bad JsArray length")); }, - sort$1(_, compare) { - this.$ti._eval$1("int(1,1)?")._as(compare); - this.callMethod$2("sort", [compare]); - }, $isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1 @@ -18100,6 +17874,32 @@ return this.super$JsObject$$indexSet(0, property, value); } }; + A.jsify__convert.prototype = { + call$1(o) { + var t1, convertedMap, t2, key, convertedList; + if (A._noJsifyRequired(o)) + return o; + t1 = this._convertedObjects; + if (t1.containsKey$1(0, o)) + return t1.$index(0, o); + if (type$.Map_of_nullable_Object_and_nullable_Object._is(o)) { + convertedMap = {}; + t1.$indexSet(0, o, convertedMap); + for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) { + key = t2.get$current(t2); + convertedMap[key] = this.call$1(t1.$index(o, key)); + } + return convertedMap; + } else if (type$.Iterable_nullable_Object._is(o)) { + convertedList = []; + t1.$indexSet(0, o, convertedList); + B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic)); + return convertedList; + } else + return o; + }, + $signature: 9 + }; A.promiseToFuture_closure.prototype = { call$1(r) { return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r)); @@ -18159,7 +17959,7 @@ } return o; }, - $signature: 13 + $signature: 9 }; A.NullRejectionException.prototype = { toString$0(_) { @@ -18461,7 +18261,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 7 + $signature: 6 }; A.AudioTrackList.prototype = { get$length(receiver) { @@ -18585,7 +18385,7 @@ type$.StackTrace._as(stackTrace); this.$this._addResult$1(new A.ErrorResult(error, stackTrace)); }, - $signature: 6 + $signature: 8 }; A.StreamQueue__ensureListening_closure0.prototype = { call$0() { @@ -19214,14 +19014,14 @@ var t1 = this.$this.$ti; this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value)); }, - $signature: 22 + $signature: 19 }; A.BuiltSet.prototype = { get$hashCode(_) { var t2, t3, _this = this, t1 = _this._set$_hashCode; if (t1 == null) { - t1 = _this._set; + t1 = _this._set$_set; t2 = A._instanceType(t1); t3 = t2._eval$1("EfficientLengthMappedIterable<1,int>"); t3 = A.List_List$of(new A.EfficientLengthMappedIterable(t1, t2._eval$1("int(1)")._as(new A.BuiltSet_hashCode_closure(_this)), t3), false, t3._eval$1("Iterable.E")); @@ -19239,25 +19039,25 @@ return true; if (!(other instanceof A._BuiltSet)) return false; - t1 = this._set; - if (other._set._collection$_length !== t1._collection$_length) + t1 = this._set$_set; + if (other._set$_set._collection$_length !== t1._collection$_length) return false; if (other.get$hashCode(0) !== this.get$hashCode(0)) return false; return t1.containsAll$1(other); }, toString$0(_) { - return A.Iterable_iterableToFullString(this._set, "{", "}"); + return A.Iterable_iterableToFullString(this._set$_set, "{", "}"); }, get$length(_) { - return this._set._collection$_length; + return this._set$_set._collection$_length; }, get$iterator(_) { - var t1 = this._set; + var t1 = this._set$_set; return A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1); }, map$1$1(_, f, $T) { - var t1 = this._set, + var t1 = this._set$_set, t2 = A._instanceType(t1); return new A.EfficientLengthMappedIterable(t1, t2._bind$1($T)._eval$1("1(2)")._as(this.$ti._bind$1($T)._eval$1("1(2)")._as(f)), t2._eval$1("@<1>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); }, @@ -19265,13 +19065,13 @@ return this.map$1$1($receiver, f, type$.dynamic); }, contains$1(_, element) { - return this._set.contains$1(0, element); + return this._set$_set.contains$1(0, element); }, get$isEmpty(_) { - return this._set._collection$_length === 0; + return this._set$_set._collection$_length === 0; }, elementAt$1(_, index) { - return this._set.elementAt$1(0, index); + return this._set$_set.elementAt$1(0, index); }, $isIterable: 1 }; @@ -19288,7 +19088,7 @@ var t1, t2, element; if (!(!$.$get$isSoundMode() && !this.$ti._precomputed1._is(null))) return; - for (t1 = this._set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + for (t1 = this._set$_set, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { element = t1._collection$_current; if ((element == null ? t2._as(element) : element) == null) throw A.wrapException(A.ArgumentError$("iterable contained invalid element: null", null)); @@ -19468,7 +19268,7 @@ t2.set$_setOwner(new A._BuiltSet(t3, t4, A._instanceType(t2)._eval$1("_BuiltSet<1>"))); } builtSet = t2._setOwner; - t2 = builtSet._set._collection$_length; + t2 = builtSet._set$_set._collection$_length; t3 = _this.__SetMultimapBuilder__builtMap_A; if (t2 === 0) { t3 === $ && A.throwLateFieldNI(_s9_); @@ -19507,7 +19307,7 @@ else { t1 = builtValues.$ti; t1._eval$1("_BuiltSet<1>")._as(builtValues); - result = new A.SetBuilder(builtValues._setFactory, builtValues._set, builtValues, t1._eval$1("SetBuilder<1>")); + result = new A.SetBuilder(builtValues._setFactory, builtValues._set$_set, builtValues, t1._eval$1("SetBuilder<1>")); } _this.__SetMultimapBuilder__builderMap_A.$indexSet(0, key, result); } @@ -19602,7 +19402,7 @@ $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2; return new A.IndentingBuiltValueToStringHelper(t1); }, - $signature: 40 + $signature: 31 }; A.IndentingBuiltValueToStringHelper.prototype = { add$2(_, field, value) { @@ -20182,7 +19982,7 @@ call$1(value) { return this.serializers.deserialize$2$specifiedType(value, this.valueType); }, - $signature: 13 + $signature: 9 }; A.BuiltListSerializer.prototype = { serialize$3$specifiedType(serializers, builtList, specifiedType) { @@ -20365,7 +20165,7 @@ result.push(serializers.serialize$2$specifiedType(key, keyType)); result0 = t2.$index(0, key); t4 = result0 == null ? t3 : result0; - t5 = t4._set; + t5 = t4._set$_set; t6 = A._instanceType(t5); t7 = t6._eval$1("EfficientLengthMappedIterable<1,Object?>"); result.push(A.List_List$of(new A.EfficientLengthMappedIterable(t5, t6._eval$1("Object?(1)")._as(t4.$ti._eval$1("Object?(1)")._as(new A.BuiltSetMultimapSerializer_serialize_closure(serializers, valueType))), t7), true, t7._eval$1("Iterable.E"))); @@ -20470,7 +20270,7 @@ return A.ioore(t1, 0); elementType = t1[0]; } - t1 = builtSet._set; + t1 = builtSet._set$_set; t2 = A._instanceType(t1); return new A.EfficientLengthMappedIterable(t1, t2._eval$1("Object?(1)")._as(builtSet.$ti._eval$1("Object?(1)")._as(new A.BuiltSetSerializer_serialize_closure(serializers, elementType))), t2._eval$1("EfficientLengthMappedIterable<1,Object?>")); }, @@ -22984,13 +22784,13 @@ call$0() { return true; }, - $signature: 18 + $signature: 24 }; A.BatchedStreamController__hasEventDuring_closure.prototype = { call$0() { return false; }, - $signature: 18 + $signature: 24 }; A.SocketClient.prototype = {}; A.SseSocketClient.prototype = { @@ -23039,7 +22839,7 @@ type$.StackTrace._as(stackTrace); return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace); }, - $signature: 20 + $signature: 17 }; A.Int32.prototype = { _toInt$1(val) { @@ -23375,7 +23175,7 @@ var t1 = this.$this; J.complete$1$z(t1._onReleaseCompleters.removeFirst$0(), new A.PoolResource(t1)); }, - $signature: 8 + $signature: 7 }; A.Pool__runOnRelease_closure0.prototype = { call$2(error, stackTrace) { @@ -23383,7 +23183,7 @@ type$.StackTrace._as(stackTrace); this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace); }, - $signature: 6 + $signature: 8 }; A.PoolResource.prototype = {}; A.SseClient.prototype = { @@ -23571,25 +23371,25 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 29 + $signature: 25 }; A.generateUuidV4_generateBits.prototype = { call$1(bitCount) { return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount)); }, - $signature: 25 + $signature: 22 }; A.generateUuidV4_printDigits.prototype = { call$2(value, count) { return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0"); }, - $signature: 16 + $signature: 29 }; A.generateUuidV4_bitsDigits.prototype = { call$2(bitCount, digitCount) { return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount); }, - $signature: 16 + $signature: 29 }; A.GuaranteeChannel.prototype = { GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) { @@ -23702,7 +23502,7 @@ A._GuaranteeSink__addError_closure.prototype = { call$1(_) { }, - $signature: 8 + $signature: 7 }; A.StreamChannelController.prototype = { set$__StreamChannelController__local_F(__StreamChannelController__local_F) { @@ -23998,7 +23798,7 @@ t2.complete$0(0); t1._listen$0(); }, - $signature: 15 + $signature: 30 }; A.HtmlWebSocketChannel_closure0.prototype = { call$1(_) { @@ -24018,7 +23818,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 15 + $signature: 30 }; A.HtmlWebSocketChannel_closure1.prototype = { call$1($event) { @@ -24048,7 +23848,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 60 + $signature: 91 }; A.HtmlWebSocketChannel__listen_closure.prototype = { call$0() { @@ -24141,7 +23941,7 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 92 + $signature: 61 }; A.main__closure.prototype = { call$1(runId) { @@ -24170,7 +23970,7 @@ b.get$_debug_event$_$this().set$_events(t1); return t1; }, - $signature: 64 + $signature: 90 }; A.main__closure1.prototype = { call$2(kind, eventData) { @@ -24184,7 +23984,7 @@ A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent); } }, - $signature: 27 + $signature: 26 }; A.main___closure1.prototype = { call$1(b) { @@ -24206,7 +24006,7 @@ type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic); }, - $signature: 14 + $signature: 15 }; A.main___closure0.prototype = { call$1(b) { @@ -24324,7 +24124,7 @@ A.main__closure5.prototype = { call$1(error) { }, - $signature: 8 + $signature: 7 }; A.main__closure6.prototype = { call$1(e) { @@ -24353,7 +24153,7 @@ type$.StackTrace._as(stackTrace); A.print("Unhandled error detected in the injected client.js script.\n\nYou can disable this script in webdev by passing --no-injected-client if it\nis preventing your app from loading, but note that this will also prevent\nall debugging and hot reload/restart functionality from working.\n\nThe original error is below, please file an issue at\nhttps://github.com/dart-lang/webdev/issues/new and attach this output:\n\n" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n"); }, - $signature: 9 + $signature: 11 }; A._launchCommunicationWithDebugExtension_closure.prototype = { call$1(b) { @@ -24664,6 +24464,12 @@ var t1; A._asString(module); t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module); + if (t1 == null) + t1 = null; + else { + t1 = A.JSArrayExtension_toDartIterable(t1, type$.String); + t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")); + } return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1; }, _moduleTopologicalCompare$2(module1, module2) { @@ -24689,7 +24495,7 @@ _reload$body$RequireRestarter(modules) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, t6, exception, t1, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, exception, t1, $async$exception; var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -24721,40 +24527,39 @@ t1 === $ && A.throwLateFieldNI("_dirtyModules"); t1.addAll$1(0, modules); previousModuleId = null; - t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.JSArray_String, t3 = type$.Object, t4 = type$.JSObject, t5 = type$.dynamic_Function; + t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.Object, t3 = type$.JSObject, t4 = type$.dynamic_Function; case 10: // for condition - if (!(t6 = $async$self.__RequireRestarter__dirtyModules_A, t6._root != null)) { + if (!(t5 = $async$self.__RequireRestarter__dirtyModules_A, t5._root != null)) { // goto after for $async$goto = 11; break; } - if (t6._count === 0) + if (t5._count === 0) A.throwExpression(A.IterableElementError_noElement()); - moduleId = t6.get$_collection$_first().key; + moduleId = t5.get$_collection$_first().key; $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId); - t6 = A._asString(moduleId); - t6 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t6); - parentIds = t6 == null ? A._setArrayType([], t2) : t6; - $async$goto = J.get$isEmpty$asx(parentIds) ? 12 : 14; + t5 = A._asString(moduleId); + parentIds = A.ModuleDependencyGraph_parents(J.get$moduleParentsGraph$x(self.$requireLoader), t5); + $async$goto = J.get$length$asx(parentIds) === 0 ? 12 : 14; break; case 12: // then - childModule = t4._as(t3._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId)); - self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t5); + childModule = t3._as(t2._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId)); + self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t4); // goto join $async$goto = 13; break; case 14: // else - t6 = reloadedModules; - if (typeof t6 !== "number") { - $async$returnValue = t6.$add(); + t5 = reloadedModules; + if (typeof t5 !== "number") { + $async$returnValue = t5.$add(); // goto return $async$goto = 1; break; } - reloadedModules = t6 + 1; + reloadedModules = t5 + 1; $async$goto = 15; return A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1); case 15: @@ -24822,7 +24627,7 @@ _updateGraph$0() { var stronglyConnectedComponents, i, t2, t3, _i, t1 = type$.String, - allModules = A.JSArrayToIterable_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1); + allModules = A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1); A.print("Modules: " + allModules.toString$0(0)); stronglyConnectedComponents = A.stronglyConnectedComponents(allModules, this.get$_moduleParents(), t1); t1 = this._moduleOrdering; @@ -24844,7 +24649,7 @@ }; A.RequireRestarter__reload_closure.prototype = { call$0() { - A.JSArrayToIterable_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main(); + A.JSArrayExtension_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main(); }, $signature: 4 }; @@ -24854,15 +24659,6 @@ }, $signature: 76 }; - A._findNonce_closure.prototype = { - call$1(element) { - var nonceValue = A._asString(type$.JavaScriptObject._as(element).nonce), - t1 = $.$get$_noncePattern(); - if (t1._nativeRegExp.test(nonceValue)) - return nonceValue; - }, - $signature: 77 - }; A.runMain_closure.prototype = { call$0() { return this.scriptElement.remove(); @@ -24871,7 +24667,7 @@ }; A.JsError.prototype = {}; A.JsMap.prototype = {}; - A.JSArrayToIterable_toDartIterable_closure.prototype = { + A.JSArrayExtension_toDartIterable_closure.prototype = { call$1(e) { return this.T._as(A.dartify(e)); }, @@ -24890,7 +24686,7 @@ _ = A._HashMap.prototype; _.super$_HashMap$_containsKey = _._containsKey$1; _.super$_HashMap$_get = _._get$1; - _.super$_HashMap$_set = _._collection$_set$2; + _.super$_HashMap$_set = _._set$2; _ = A.Object.prototype; _.super$Object$toString = _.toString$0; _ = A.JsObject.prototype; @@ -24909,69 +24705,69 @@ _instance_1_i = hunkHelpers._instance_1i, _instance_0_u = hunkHelpers._instance_0u, _instance_1_u = hunkHelpers._instance_1u; - _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 78); + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 77); _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 10); _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 10); _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10); _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 5); - _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 9); + _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11); _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 80, 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 79, 0); _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { return A._rootRun($self, $parent, zone, f, type$.dynamic); - }], 81, 1); + }], 80, 1); _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic); - }], 82, 1); + }], 81, 1); _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic); - }], 83, 1); + }], 82, 1); _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); - }], 84, 0); + }], 83, 0); _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic); - }], 85, 0); + }], 84, 0); _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic); - }], 86, 0); - _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 87, 0); - _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 88, 0); - _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 89, 0); - _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 90, 0); - _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 91, 0); - _static_1(A, "async___printToZone$closure", "_printToZone", 14); - _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 61, 0); - _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 17, 0, 0); + }], 85, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 86, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 87, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 88, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 89, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 64, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 15); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 60, 0); + _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 28, 0, 0); _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() { return [null]; - }, ["call$1", "call$0"], ["complete$1", "complete$0"], 52, 0, 0); - _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 9); + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 55, 0, 0); + _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11); var _; - _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 19); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16); _instance(_, "get$addError", 0, 1, function() { return [null]; - }, ["call$2", "call$1"], ["addError$2", "addError$1"], 17, 0, 0); + }, ["call$2", "call$1"], ["addError$2", "addError$1"], 28, 0, 0); _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); - _instance_1_u(_, "get$_handleData", "_handleData$1", 19); - _instance_2_u(_, "get$_handleError", "_handleError$2", 20); + _instance_1_u(_, "get$_handleData", "_handleData$1", 16); + _instance_2_u(_, "get$_handleError", "_handleError$2", 17); _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12); - _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 11); + _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13); _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 2); - _static_1(A, "core__identityHashCode$closure", "identityHashCode", 11); + _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13); _static_2(A, "core__identical$closure", "identical", 12); _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 5); - _static_1(A, "js___convertToJS$closure", "_convertToJS", 13); + _static_1(A, "js___convertToJS$closure", "_convertToJS", 9); _static_1(A, "js___convertToDart$closure", "_convertToDart", 3); _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12); - _instance_1_i(_, "get$hash", "hash$1", 11); + _instance_1_i(_, "get$hash", "hash$1", 13); _instance_1_u(_, "get$isValidKey", "isValidKey$1", 49); _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 1); _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 1); @@ -24997,7 +24793,7 @@ _inherit(A.CastIterable, A._CastIterableBase); _inherit(A._EfficientLengthCastIterable, A.CastIterable); _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A._findNonce_closure, A.JSArrayToIterable_toDartIterable_closure]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A.JSArrayExtension_toDartIterable_closure]); _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]); _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]); _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]); @@ -25199,12 +24995,12 @@ typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"}, mangledNames: {}, - types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "Null(Object,StackTrace)", "~(String,@)", "Null(@)", "~(Object,StackTrace)", "~(~())", "int(Object?)", "bool(Object?,Object?)", "Object?(Object?)", "~(String)", "Null(Event)", "String(int,int)", "~(Object[StackTrace?])", "bool()", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "~(String,String)", "~(Event)", "Future()", "~(Uint8List,String,int)", "Uint8List(@,@)", "String(String)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "~(String,int?)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "SetBuilder()", "SetMultimapBuilder()", "~(String,int)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "_Future<@>(@)", "bool(Object?)", "ListBuilder()", "ListBuilder()", "~([Object?])", "String(@)", "Logger()", "Null(~())", "~(String?)", "~(int,@)", "Null(@,StackTrace)", "~(MessageEvent)", "Null(CloseEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "Promise<1&>(String)", "~(List)", "ListBuilder(BatchedDebugEventsBuilder)", "DebugEventBuilder(DebugEventBuilder)", "@(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List(String)", "int(String,String)", "~(JsError)", "String?(JavaScriptObject)", "int(@,@)", "@(@,String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Future<~>()"], + types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "Object?(Object?)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "~(Uint8List,String,int)", "~(String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "bool()", "Future()", "~(String,String)", "~(Event)", "~(Object[StackTrace?])", "String(int,int)", "Null(Event)", "IndentingBuiltValueToStringHelper(String)", "_Future<@>(@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "Null(~())", "int(int,@)", "@(@,String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "SetBuilder()", "SetMultimapBuilder()", "Null(@,StackTrace)", "~(int,@)", "String(String)", "bool(Object?)", "ListBuilder()", "ListBuilder()", "~(String,int?)", "String(@)", "Logger()", "~([Object?])", "~(String?)", "Uint8List(@,@)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "~(MessageEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "Future<~>()", "Promise<1&>(String)", "~(List)", "~(Zone,ZoneDelegate,Zone,String)", "DebugEventBuilder(DebugEventBuilder)", "~(String,int)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List(String)", "int(String,String)", "~(JsError)", "int(@,@)", "@(String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "ListBuilder(BatchedDebugEventsBuilder)", "Null(CloseEvent)"], interceptorsByTag: null, leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); var string$ = { ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", @@ -25233,6 +25029,7 @@ BuiltSetMultimap_dynamic_dynamic: findType("BuiltSetMultimap<@,@>"), BuiltSet_dynamic: findType("BuiltSet<@>"), ByteBuffer: findType("ByteBuffer"), + ByteData: findType("ByteData"), CloseEvent: findType("CloseEvent"), Comparable_dynamic: findType("Comparable<@>"), Completer_bool: findType("Completer"), @@ -25253,13 +25050,18 @@ ExtensionRequest: findType("ExtensionRequest"), ExtensionResponse: findType("ExtensionResponse"), File: findType("File"), + Float32List: findType("Float32List"), + Float64List: findType("Float64List"), FullType: findType("FullType"), Function: findType("Function"), Future_dynamic: findType("Future<@>"), Future_void: findType("Future<~>"), ImageData: findType("ImageData"), + Int16List: findType("Int16List"), Int32: findType("Int32"), + Int32List: findType("Int32List"), Int64: findType("Int64"), + Int8List: findType("Int8List"), Invocation: findType("Invocation"), IsolateExit: findType("IsolateExit"), IsolateStart: findType("IsolateStart"), @@ -25303,6 +25105,7 @@ Map_String_String: findType("Map"), Map_dynamic_dynamic: findType("Map<@,@>"), Map_of_String_and_nullable_Object: findType("Map"), + Map_of_nullable_Object_and_nullable_Object: findType("Map"), MessageEvent: findType("MessageEvent"), MimeType: findType("MimeType"), NativeUint8List: findType("NativeUint8List"), @@ -25350,6 +25153,9 @@ Type: findType("Type"), TypeError: findType("TypeError"), TypedData: findType("TypedData"), + Uint16List: findType("Uint16List"), + Uint32List: findType("Uint32List"), + Uint8ClampedList: findType("Uint8ClampedList"), Uint8List: findType("Uint8List"), UnknownJavaScriptObject: findType("UnknownJavaScriptObject"), UnmodifiableListView_nullable_Object: findType("UnmodifiableListView"), @@ -25838,7 +25644,6 @@ _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", () => function DartObject(o) { this.o = o; }); - _lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty")); _lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray")))); _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure()); _lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false))); diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart index 10cba6105..f58de69da 100644 --- a/dwds/web/reloader/require_restarter.dart +++ b/dwds/web/reloader/require_restarter.dart @@ -115,7 +115,7 @@ class RequireRestarter implements Restarter { return result; } - Iterable _allModules() => requireLoader.moduleParentsGraph.dartKeys; + Iterable _allModules() => requireLoader.moduleParentsGraph.modules; Future> _getDigests() async { final request = await HttpRequest.request( @@ -133,7 +133,7 @@ class RequireRestarter implements Restarter { } List _moduleParents(String module) => - requireLoader.moduleParentsGraph.get(module) ?? []; + requireLoader.moduleParentsGraph.parents(module); int _moduleTopologicalCompare(String module1, String module2) { var topological = 0; diff --git a/dwds/web/run_main.dart b/dwds/web/run_main.dart index 3ab4d9ba1..5c6bd9df7 100644 --- a/dwds/web/run_main.dart +++ b/dwds/web/run_main.dart @@ -5,33 +5,33 @@ import 'dart:js_interop'; import 'package:web/helpers.dart'; -import 'web_utils.dart'; - // According to the CSP3 spec a nonce must be a valid base64 string. final _noncePattern = RegExp('^[\\w+/_-]+[=]{0,2}\$'); /// Returns CSP nonce, if set for any script tag. String? _findNonce() { final elements = window.document.querySelectorAll('script'); - elements.forEach( - (Node element) { - final nonceValue = (element as HtmlElement).nonce; - if (_noncePattern.hasMatch(nonceValue)) { - return nonceValue; - } - }.toJS, - ); + + for (var i = 0; i < elements.length; i++) { + final element = elements.item(i); + final nonceValue = (element as HtmlElement).nonce; + if (_noncePattern.hasMatch(nonceValue)) { + return nonceValue; + } + } return null; } /// Creates a script that will run properly when strict CSP is enforced. /// /// More specifically, the script has the correct `nonce` value set. -HTMLScriptElement _createScript() { +HTMLElement _createScript() { + final scriptElement = document.createElement("script"); final nonce = _findNonce(); - - return nonce == null ? HTMLScriptElement() : HTMLScriptElement() - ..setAttribute('nonce', nonce!); + if (nonce != null) { + scriptElement.setAttribute('nonce', nonce); + } + return scriptElement as HTMLElement; } /// Runs `window.$dartRunMain()` by injecting a script tag. @@ -39,8 +39,8 @@ HTMLScriptElement _createScript() { /// We do this so that we don't see user exceptions bubble up in our own error /// handling zone. void runMain() { - final scriptElement = _createScript()..htmlFor = r'window.$dartRunMain();'; - (document.body as HTMLBodyElement).append(scriptElement.toJSBox); + final scriptElement = _createScript()..innerHTML = r'window.$dartRunMain();'; + document.body!.append(scriptElement.jsify()!); // External tear-offs are not allowed. // ignore: unnecessary_lambdas Future.microtask(() => scriptElement.remove()); diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart index d5d14664c..d9b88738d 100644 --- a/dwds/web/web_utils.dart +++ b/dwds/web/web_utils.dart @@ -8,7 +8,6 @@ library require_reloading_manager; import 'dart:js_interop'; import 'package:js/js.dart'; -import 'package:web/helpers.dart'; @JS('Array.from') external JSArray _jsArrayFrom(Object any); @@ -27,28 +26,25 @@ abstract class JsError { @JS('Map') abstract class JsMap { - @JS() + @JS('Map.get') external V? get(K key); @JS() external Object keys(); - - @JS() - external Object values(); } -extension ObjectValues on JSObject { +extension ObjectExtension on JSObject { Iterable get values => _jsObjectValues(this).toDartIterable(); } -extension JSArrayToIterable on JSArray { +extension JSArrayExtension on JSArray { Iterable toDartIterable() => toDart.map((e) => e.dartify() as T); + List toDartList() => toDartIterable().toList(); } -extension JSMapToMap on JsMap { - Iterable get dartKeys => _jsArrayFrom(keys()).toDartIterable(); -} +extension ModuleDependencyGraph on JsMap> { + Iterable get modules => _jsArrayFrom(keys()).toDartIterable(); -extension NodeListExtension on NodeList { - external void forEach(JSFunction callback); + List parents(String key) => + (get(key) as JSArray?)?.toDartList() ?? []; } diff --git a/fixtures/_webdevSoundSmoke/web/main.dart b/fixtures/_webdevSoundSmoke/web/main.dart index 46aea1208..907bfdbba 100644 --- a/fixtures/_webdevSoundSmoke/web/main.dart +++ b/fixtures/_webdevSoundSmoke/web/main.dart @@ -11,7 +11,7 @@ void main() { print('Initial Print'); registerExtension('ext.print', (_, __) async { - print('Hello World1'); + print('Hello World'); return ServiceExtensionResponse.result(json.encode({'success': true})); }); document.body?.append(SpanElement()..text = 'Hello World!!'); From fe7a909ccb4fa0cd5159677a48591693bdd918c4 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Thu, 14 Dec 2023 09:51:13 -0800 Subject: [PATCH 05/16] Cleanup --- dwds/web/reloader/require_restarter.dart | 2 +- dwds/web/web_utils.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart index f58de69da..1995306cb 100644 --- a/dwds/web/reloader/require_restarter.dart +++ b/dwds/web/reloader/require_restarter.dart @@ -235,7 +235,7 @@ class RequireRestarter implements Restarter { void _updateGraph() { final allModules = _allModules(); - print('Modules: $allModules'); + final stronglyConnectedComponents = graphs.stronglyConnectedComponents(allModules, _moduleParents); _moduleOrdering.clear(); diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart index d9b88738d..b404b7311 100644 --- a/dwds/web/web_utils.dart +++ b/dwds/web/web_utils.dart @@ -1,4 +1,4 @@ -// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. From b1ff764289b9d58ceace2a3b2825a08b3edbaec4 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Thu, 14 Dec 2023 09:54:59 -0800 Subject: [PATCH 06/16] Update changelog and build --- dwds/CHANGELOG.md | 2 + dwds/lib/src/injected/client.js | 125 +++++++++++++++++++------------- 2 files changed, 75 insertions(+), 52 deletions(-) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index da911f1d0..d9d5e7ea2 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -3,6 +3,8 @@ - Add `FrontendServerLegacyStrategyProvider` and update bootstrap generation logic for `LegacyStrategy` - [#2285](https://github.com/dart-lang/webdev/pull/2285) - Tolerate failures to detect a dart execution context. - [#2286](https://github.com/dart-lang/webdev/pull/2286) - Fix a null cast error when debugging a `Class` from VS Code. - [#2303](https://github.com/dart-lang/webdev/pull/2303) +- Migrate injected client code to `package:web`. - + ## 22.1.0 - Update `package:vm_service` constraint to `^13.0.0`. - [#2265](https://github.com/dart-lang/webdev/pull/2265) diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 4fbfd1afc..f45dee6c6 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-197.0.dev. +// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-214.0.dev. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -17,6 +17,14 @@ // this uri being loaded. The loadPriority argument is the priority the // library should be loaded with as specified in the code via the // load-priority annotation (0: normal, 1: high). +// dartDeferredLibraryMultiLoader(uris, successCallback, errorCallback, loadId, loadPriority): +// if this function is defined, it will be called when a deferred library +// is loaded. It should load and eval the javascript of every URI in `uris`, +// and call successCallback. If it fails to do so, it should call +// errorCallback with an error. The loadId argument is the deferred import +// that resulted in this uri being loaded. The loadPriority argument is the +// priority the library should be loaded with as specified in the code via +// the load-priority annotation (0: normal, 1: high). // // dartCallInstrumentation(id, qualifiedName): // if this function is defined, it will be called at each entry of a @@ -7732,6 +7740,9 @@ return object; return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object); }, + callMethod(o, method, args, $T) { + return $T._as(o[method].apply(o, args)); + }, promiseToFuture(jsPromise, $T) { var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); @@ -8918,7 +8929,7 @@ t1 = null; else { t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.JavaScriptObject); - t1 = t1 == null ? null : A.allowInterop(t1, type$.Function); + t1 = t1 == null ? null : type$.LegacyJavaScriptObject._as(A.allowInterop(t1, type$.Function)); } t1 = new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>")); t1._tryResume$0(); @@ -9045,7 +9056,7 @@ }, _launchCommunicationWithDebugExtension() { var t1, t2; - type$.JavaScriptObject._as(self.window).addEventListener("message", A.allowInterop(A.client___handleAuthRequest$closure(), type$.Function)); + A.callMethod(type$.JavaScriptObject._as(self.window), "addEventListener", ["message", type$.LegacyJavaScriptObject._as(A.allowInterop(A.client___handleAuthRequest$closure(), type$.Function))], type$.void); t1 = $.$get$serializers(); t2 = new A.DebugInfoBuilder(); type$.nullable_void_Function_DebugInfoBuilder._as(new A._launchCommunicationWithDebugExtension_closure()).call$1(t2); @@ -9257,7 +9268,8 @@ return null; }, runMain() { - var t1 = self, + var t3, + t1 = self, t2 = type$.JavaScriptObject, scriptElement = t2._as(t2._as(t1.document).createElement("script")), nonce = A._findNonce(); @@ -9268,24 +9280,16 @@ t1.toString; t2 = A.jsify(scriptElement); t2.toString; - t1.append(t2); - A.Future_Future$microtask(new A.runMain_closure(scriptElement), type$.void); + t3 = type$.void; + A.callMethod(t1, "append", [t2], t3); + A.Future_Future$microtask(new A.runMain_closure(scriptElement), t3); }, runMain_closure: function runMain_closure(t0) { this.scriptElement = t0; }, JSArrayExtension_toDartIterable(_this, $T) { - return J.map$1$1$ax(_this, new A.JSArrayExtension_toDartIterable_closure($T), $T); - }, - ModuleDependencyGraph_parents(_this, key) { - var t1 = J.$get$1$x(_this, key); - if (t1 == null) - t1 = null; - else { - t1 = A.JSArrayExtension_toDartIterable(t1, type$.String); - t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")); - } - return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1; + var t1 = A._arrayInstanceType(_this); + return new A.MappedListIterable(_this, t1._bind$1($T)._eval$1("1(2)")._as(new A.JSArrayExtension_toDartIterable_closure($T)), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); }, JsError: function JsError() { }, @@ -20852,7 +20856,6 @@ return J.get$hashCode$(o); }, isValidKey$1(o) { - !type$.Iterable_dynamic._is(o); return true; }, $isEquality: 1 @@ -23188,7 +23191,8 @@ A.PoolResource.prototype = {}; A.SseClient.prototype = { SseClient$2$debugKey(serverUrl, debugKey) { - var t2, _this = this, + var t2, t3, t4, _this = this, + _s16_ = "addEventListener", t1 = serverUrl + "?sseClientId=" + _this._clientId; _this.__SseClient__serverUrl_A = t1; t2 = type$.JavaScriptObject; @@ -23196,11 +23200,13 @@ _this.__SseClient__eventSource_A = t1; new A._EventStream(t1, "open", false, type$._EventStream_JavaScriptObject).get$first(0).whenComplete$1(new A.SseClient_closure(_this)); t1 = type$.Function; - _this.__SseClient__eventSource_A.addEventListener("message", A.allowInterop(_this.get$_onIncomingMessage(), t1)); - _this.__SseClient__eventSource_A.addEventListener("control", A.allowInterop(_this.get$_onIncomingControlMessage(), t1)); - t1 = type$.nullable_void_Function_JavaScriptObject; - A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t1._as(new A.SseClient_closure0(_this)), false, t2); - A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t1._as(new A.SseClient_closure1(_this)), false, t2); + t3 = type$.LegacyJavaScriptObject; + t4 = type$.void; + A.callMethod(_this.__SseClient__eventSource_A, _s16_, ["message", t3._as(A.allowInterop(_this.get$_onIncomingMessage(), t1))], t4); + A.callMethod(_this.__SseClient__eventSource_A, _s16_, ["control", t3._as(A.allowInterop(_this.get$_onIncomingControlMessage(), t1))], t4); + t4 = type$.nullable_void_Function_JavaScriptObject; + A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "open", t4._as(new A.SseClient_closure0(_this)), false, t2); + A._EventStreamSubscription$(_this.__SseClient__eventSource_A, "error", t4._as(new A.SseClient_closure1(_this)), false, t2); }, close$0(_) { var _this = this, @@ -23336,7 +23342,7 @@ t2 = type$.JavaScriptObject; t1 = t2._as({method: "POST", body: t1, credentials: "include"}); $async$goto = 6; - return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(t2._as(self.window).fetch(url, t1)), type$.nullable_Object), $async$call$0); + return A._asyncAwait(A.promiseToFuture(A.callMethod(t2._as(self.window), "fetch", [url, t1], type$.JSObject), type$.nullable_Object), $async$call$0); case 6: // returning from await. $async$handler = 1; @@ -23702,7 +23708,7 @@ throw A.wrapException(A.StateError$("Subscription has been canceled.")); _this._unlisten$0(); t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.JavaScriptObject); - t1 = t1 == null ? null : A.allowInterop(t1, type$.Function); + t1 = t1 == null ? null : type$.LegacyJavaScriptObject._as(A.allowInterop(t1, type$.Function)); _this._onData = t1; _this._tryResume$0(); }, @@ -23720,15 +23726,22 @@ _this._tryResume$0(); }, _tryResume$0() { - var _this = this, + var t2, _this = this, t1 = _this._onData; - if (t1 != null && _this._pauseCount <= 0) - _this._target.addEventListener(_this._eventType, t1, false); + if (t1 != null && _this._pauseCount <= 0) { + t2 = _this._target; + t2.toString; + A.callMethod(t2, "addEventListener", [_this._eventType, t1, false], type$.void); + } }, _unlisten$0() { - var t1 = this._onData; - if (t1 != null) - this._target.removeEventListener(this._eventType, t1, false); + var t2, + t1 = this._onData; + if (t1 != null) { + t2 = this._target; + t2.toString; + A.callMethod(t2, "removeEventListener", [this._eventType, t1, false], type$.void); + } }, $isStreamSubscription: 1 }; @@ -24110,7 +24123,7 @@ } else if ($event instanceof A._$RunRequest) A.runMain(); else if ($event instanceof A._$ErrorResponse) - type$.JavaScriptObject._as(self.window).reportError("Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace); + A.callMethod(type$.JavaScriptObject._as(self.window), "reportError", ["Error from backend:\n\nError: " + $event.error + "\n\nStack Trace:\n" + $event.stackTrace], type$.void); case 3: // join // implicit return @@ -24463,7 +24476,7 @@ _moduleParents$1(module) { var t1; A._asString(module); - t1 = J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module); + t1 = type$.nullable_JSArray_nullable_Object._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module)); if (t1 == null) t1 = null; else { @@ -24495,7 +24508,7 @@ _reload$body$RequireRestarter(modules) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, exception, t1, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, t6, t7, t8, parentIds0, exception, t1, $async$exception; var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -24527,39 +24540,47 @@ t1 === $ && A.throwLateFieldNI("_dirtyModules"); t1.addAll$1(0, modules); previousModuleId = null; - t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.Object, t3 = type$.JSObject, t4 = type$.dynamic_Function; + t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.String, t3 = type$.nullable_JSArray_nullable_Object, t4 = type$.JSArray_String, t5 = type$.Object, t6 = type$.JSObject, t7 = type$.dynamic_Function; case 10: // for condition - if (!(t5 = $async$self.__RequireRestarter__dirtyModules_A, t5._root != null)) { + if (!(t8 = $async$self.__RequireRestarter__dirtyModules_A, t8._root != null)) { // goto after for $async$goto = 11; break; } - if (t5._count === 0) + if (t8._count === 0) A.throwExpression(A.IterableElementError_noElement()); - moduleId = t5.get$_collection$_first().key; + moduleId = t8.get$_collection$_first().key; $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId); - t5 = A._asString(moduleId); - parentIds = A.ModuleDependencyGraph_parents(J.get$moduleParentsGraph$x(self.$requireLoader), t5); + t8 = A._asString(moduleId); + t8 = t3._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t8)); + if (t8 == null) + parentIds0 = null; + else { + t8 = A.JSArrayExtension_toDartIterable(t8, t2); + t8 = A.List_List$of(t8, true, t8.$ti._eval$1("ListIterable.E")); + parentIds0 = t8; + } + parentIds = parentIds0 == null ? A._setArrayType([], t4) : parentIds0; $async$goto = J.get$length$asx(parentIds) === 0 ? 12 : 14; break; case 12: // then - childModule = t3._as(t2._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId)); - self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t4); + childModule = t6._as(t5._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId)); + self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t7); // goto join $async$goto = 13; break; case 14: // else - t5 = reloadedModules; - if (typeof t5 !== "number") { - $async$returnValue = t5.$add(); + t8 = reloadedModules; + if (typeof t8 !== "number") { + $async$returnValue = t8.$add(); // goto return $async$goto = 1; break; } - reloadedModules = t5 + 1; + reloadedModules = t8 + 1; $async$goto = 15; return A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1); case 15: @@ -24625,11 +24646,9 @@ return t1; }, _updateGraph$0() { - var stronglyConnectedComponents, i, t2, t3, _i, + var i, t2, t3, _i, t1 = type$.String, - allModules = A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1); - A.print("Modules: " + allModules.toString$0(0)); - stronglyConnectedComponents = A.stronglyConnectedComponents(allModules, this.get$_moduleParents(), t1); + stronglyConnectedComponents = A.stronglyConnectedComponents(A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1), this.get$_moduleParents(), t1); t1 = this._moduleOrdering; if (t1._collection$_length > 0) { t1._collection$_strings = t1._collection$_nums = t1._collection$_rest = t1._keys = null; @@ -25000,7 +25019,7 @@ leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","Accelerometer0":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); var string$ = { ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", @@ -25086,6 +25105,7 @@ JsObject: findType("JsObject"), JsonObject: findType("JsonObject"), KeyRange: findType("KeyRange"), + LegacyJavaScriptObject: findType("LegacyJavaScriptObject"), Length: findType("Length"), Level: findType("Level"), ListBuilder_DebugEvent: findType("ListBuilder"), @@ -25201,6 +25221,7 @@ legacy_Object: findType("Object*"), nullable_Future_Null: findType("Future?"), nullable_Gamepad: findType("Gamepad?"), + nullable_JSArray_nullable_Object: findType("JSArray?"), nullable_JavaScriptObject: findType("JavaScriptObject?"), nullable_ListBuilder_DebugEvent: findType("ListBuilder?"), nullable_ListBuilder_ExtensionEvent: findType("ListBuilder?"), From f698be343a673bf93a499acd66a9babb008ca41e Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Thu, 14 Dec 2023 09:58:06 -0800 Subject: [PATCH 07/16] Update chacngelog --- dwds/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index d9d5e7ea2..56645d2ea 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -3,7 +3,7 @@ - Add `FrontendServerLegacyStrategyProvider` and update bootstrap generation logic for `LegacyStrategy` - [#2285](https://github.com/dart-lang/webdev/pull/2285) - Tolerate failures to detect a dart execution context. - [#2286](https://github.com/dart-lang/webdev/pull/2286) - Fix a null cast error when debugging a `Class` from VS Code. - [#2303](https://github.com/dart-lang/webdev/pull/2303) -- Migrate injected client code to `package:web`. - +- Migrate injected client code to `package:web`. - [#2306](https://github.com/dart-lang/webdev/pull/2306) ## 22.1.0 From 4f8ba1748a1ba5bf917bf605bb031d7355c29bd6 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Mon, 8 Jan 2024 16:32:40 -0800 Subject: [PATCH 08/16] Make sure reload and hot restart work --- dwds/lib/src/injected/client.js | 1542 +++++++++++----------- dwds/web/client.dart | 58 +- dwds/web/promise.dart | 3 +- dwds/web/reloader/legacy_restarter.dart | 11 +- dwds/web/reloader/require_restarter.dart | 107 +- dwds/web/web_utils.dart | 38 +- 6 files changed, 892 insertions(+), 867 deletions(-) diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index f45dee6c6..310647e28 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -1,4 +1,4 @@ -// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-214.0.dev. +// Generated by dart2js (NullSafetyMode.sound, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.3.0-223.0.dev. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -452,9 +452,6 @@ return J.UnknownJavaScriptObject.prototype; return receiver; }, - get$digestsPath$x(receiver) { - return J.getInterceptor$x(receiver).get$digestsPath(receiver); - }, get$first$ax(receiver) { return J.getInterceptor$ax(receiver).get$first(receiver); }, @@ -464,6 +461,9 @@ get$isEmpty$asx(receiver) { return J.getInterceptor$asx(receiver).get$isEmpty(receiver); }, + get$isNotEmpty$asx(receiver) { + return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver); + }, get$iterator$ax(receiver) { return J.getInterceptor$ax(receiver).get$iterator(receiver); }, @@ -473,12 +473,6 @@ get$length$asx(receiver) { return J.getInterceptor$asx(receiver).get$length(receiver); }, - get$message$x(receiver) { - return J.getInterceptor$x(receiver).get$message(receiver); - }, - get$moduleParentsGraph$x(receiver) { - return J.getInterceptor$x(receiver).get$moduleParentsGraph(receiver); - }, get$parent$z(receiver) { return J.getInterceptor$z(receiver).get$parent(receiver); }, @@ -492,9 +486,6 @@ return a0 != null && receiver === a0; return J.getInterceptor$(receiver).$eq(receiver, a0); }, - $get$1$x(receiver, a0) { - return J.getInterceptor$x(receiver).$get$1(receiver, a0); - }, $index$asx(receiver, a0) { if (typeof a0 === "number") if (Array.isArray(receiver) || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) @@ -508,8 +499,8 @@ allMatches$1$s(receiver, a0) { return J.getInterceptor$s(receiver).allMatches$1(receiver, a0); }, - cast$2$0$x(receiver, $T1, $T2) { - return J.getInterceptor$x(receiver).cast$2$0(receiver, $T1, $T2); + cast$2$0$ax(receiver, $T1, $T2) { + return J.getInterceptor$ax(receiver).cast$2$0(receiver, $T1, $T2); }, compareTo$1$ns(receiver, a0) { return J.getInterceptor$ns(receiver).compareTo$1(receiver, a0); @@ -529,12 +520,6 @@ forEach$1$x(receiver, a0) { return J.getInterceptor$x(receiver).forEach$1(receiver, a0); }, - forceLoadModule$3$x(receiver, a0, a1, a2) { - return J.getInterceptor$x(receiver).forceLoadModule$3(receiver, a0, a1, a2); - }, - keys$0$x(receiver) { - return J.getInterceptor$x(receiver).keys$0(receiver); - }, map$1$ax(receiver, a0) { return J.getInterceptor$ax(receiver).map$1(receiver, a0); }, @@ -559,12 +544,6 @@ take$1$ax(receiver, a0) { return J.getInterceptor$ax(receiver).take$1(receiver, a0); }, - then$1$1$x(receiver, a0, $T1) { - return J.getInterceptor$x(receiver).then$1$1(receiver, a0, $T1); - }, - then$2$x(receiver, a0, a1) { - return J.getInterceptor$x(receiver).then$2(receiver, a0, a1); - }, toList$0$ax(receiver) { return J.getInterceptor$ax(receiver).toList$0(receiver); }, @@ -674,6 +653,25 @@ return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>")); return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>")); }, + TakeIterable_TakeIterable(iterable, takeCount, $E) { + var _s9_ = "takeCount"; + A.ArgumentError_checkNotNull(takeCount, _s9_, type$.int); + A.RangeError_checkNotNegative(takeCount, _s9_); + if (type$.EfficientLengthIterable_dynamic._is(iterable)) + return new A.EfficientLengthTakeIterable(iterable, takeCount, $E._eval$1("EfficientLengthTakeIterable<0>")); + return new A.TakeIterable(iterable, takeCount, $E._eval$1("TakeIterable<0>")); + }, + SkipIterable_SkipIterable(iterable, count, $E) { + var _s5_ = "count"; + if (type$.EfficientLengthIterable_dynamic._is(iterable)) { + A.ArgumentError_checkNotNull(count, _s5_, type$.int); + A.RangeError_checkNotNegative(count, _s5_); + return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>")); + } + A.ArgumentError_checkNotNull(count, _s5_, type$.int); + A.RangeError_checkNotNegative(count, _s5_); + return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>")); + }, IterableElementError_noElement() { return new A.StateError("No element"); }, @@ -750,6 +748,36 @@ this._f = t1; this.$ti = t2; }, + TakeIterable: function TakeIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._takeCount = t1; + this.$ti = t2; + }, + EfficientLengthTakeIterable: function EfficientLengthTakeIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._takeCount = t1; + this.$ti = t2; + }, + TakeIterator: function TakeIterator(t0, t1, t2) { + this._iterator = t0; + this._remaining = t1; + this.$ti = t2; + }, + SkipIterable: function SkipIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._skipCount = t1; + this.$ti = t2; + }, + EfficientLengthSkipIterable: function EfficientLengthSkipIterable(t0, t1, t2) { + this.__internal$_iterable = t0; + this._skipCount = t1; + this.$ti = t2; + }, + SkipIterator: function SkipIterator(t0, t1, t2) { + this._iterator = t0; + this._skipCount = t1; + this.$ti = t2; + }, EmptyIterable: function EmptyIterable(t0) { this.$ti = t0; }, @@ -767,7 +795,7 @@ this.$ti = t1; }, Symbol: function Symbol(t0) { - this._name = t0; + this.__internal$_name = t0; }, ConstantMap__throwUnmodifiable() { throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable Map")); @@ -1562,6 +1590,9 @@ getIsolateAffinityTag($name) { return init.getIsolateTag($name); }, + staticInteropGlobalContext() { + return self; + }, LinkedHashMapKeyIterator$(_map, _modifications, $E) { var t1 = new A.LinkedHashMapKeyIterator(_map, _modifications, $E._eval$1("LinkedHashMapKeyIterator<0>")); t1._cell = _map._first; @@ -1937,7 +1968,7 @@ return t1.__late_helper$_value = t1; }, _Cell: function _Cell(t0) { - this.__late_helper$_name = t0; + this._name = t0; this.__late_helper$_value = null; }, _ensureNativeList(list) { @@ -3654,7 +3685,7 @@ else { t1 = type$.dynamic; if (object instanceof A._Future) - object.then$1$2$onError(0, thenCallback, errorCallback, t1); + object.then$1$2$onError(thenCallback, errorCallback, t1); else { future = new A._Future($.Zone__current, type$._Future_dynamic); future._state = 8; @@ -5610,8 +5641,8 @@ t1 = true; if (t1) A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + millisecondsSinceEpoch, null)); - A.checkNotNullable(isUtc, "isUtc", type$.bool); - return new A.DateTime(millisecondsSinceEpoch, isUtc); + A.checkNotNullable(true, "isUtc", type$.bool); + return new A.DateTime(millisecondsSinceEpoch, true); }, List_List$filled($length, fill, growable, $E) { var i, @@ -7320,8 +7351,6 @@ }, HtmlCollection: function HtmlCollection() { }, - ImageData: function ImageData() { - }, Location: function Location() { }, MediaList: function MediaList() { @@ -7396,10 +7425,6 @@ }, WebSocket: function WebSocket() { }, - Window: function Window() { - }, - WorkerGlobalScope: function WorkerGlobalScope() { - }, _CssRuleList: function _CssRuleList() { }, _DomRect: function _DomRect() { @@ -7587,126 +7612,17 @@ this.copies = t1; this.mustCopy = false; }, - KeyRange: function KeyRange() { - }, - _callDartFunction(callback, captureThis, $self, $arguments) { - var arguments0, t1, dartArgs; - A._asBool(captureThis); - type$.List_dynamic._as($arguments); - if (captureThis) { - arguments0 = [$self]; - B.JSArray_methods.addAll$1(arguments0, $arguments); - $arguments = arguments0; - } - t1 = type$.dynamic; - dartArgs = A.List_List$from(J.map$1$1$ax($arguments, A.js___convertToDart$closure(), t1), true, t1); - return A._convertToJS(A.Function_apply(type$.Function._as(callback), dartArgs, null)); - }, - JsObject_JsObject$fromBrowserObject(object) { - var t1 = false; - if (t1) - throw A.wrapException(A.ArgumentError$("object cannot be a num, string, bool, or null", null)); - return A._wrapToDart(A._convertToJS(object)); - }, - JsObject__convertDataTree(data) { - return new A.JsObject__convertDataTree__convert(new A._IdentityHashMap(type$._IdentityHashMap_dynamic_dynamic)).call$1(data); - }, - _castToJsObject(o) { - return o; - }, - _defineProperty(o, $name, value) { - var exception; - try { - if (Object.isExtensible(o) && !Object.prototype.hasOwnProperty.call(o, $name)) { - Object.defineProperty(o, $name, {value: value}); - return true; - } - } catch (exception) { - } - return false; - }, - _getOwnProperty(o, $name) { - if (Object.prototype.hasOwnProperty.call(o, $name)) - return o[$name]; - return null; - }, - _convertToJS(o) { - if (o == null || typeof o == "string" || typeof o == "number" || A._isBool(o)) - return o; - if (o instanceof A.JsObject) - return o._jsObject; - if (A.isBrowserObject(o)) - return o; - if (type$.TypedData._is(o)) - return o; - if (o instanceof A.DateTime) - return A.Primitives_lazyAsJsDate(o); - if (type$.Function._is(o)) - return A._getJsProxy(o, "$dart_jsFunction", new A._convertToJS_closure()); - return A._getJsProxy(o, "_$dart_jsObject", new A._convertToJS_closure0($.$get$_dartProxyCtor())); - }, - _getJsProxy(o, propertyName, createProxy) { - var jsProxy = A._getOwnProperty(o, propertyName); - if (jsProxy == null) { - jsProxy = createProxy.call$1(o); - A._defineProperty(o, propertyName, jsProxy); - } - return jsProxy; - }, - _convertToDart(o) { - if (o == null || typeof o == "string" || typeof o == "number" || typeof o == "boolean") - return o; - else if (o instanceof Object && A.isBrowserObject(o)) - return o; - else if (o instanceof Object && type$.TypedData._is(o)) - return o; - else if (o instanceof Date) - return A.DateTime$fromMillisecondsSinceEpoch(A._asInt(o.getTime()), false); - else if (o.constructor === $.$get$_dartProxyCtor()) - return o.o; - else - return A._wrapToDart(o); - }, - _wrapToDart(o) { - if (typeof o == "function") - return A._getDartProxy(o, $.$get$DART_CLOSURE_PROPERTY_NAME(), new A._wrapToDart_closure()); - if (o instanceof Array) - return A._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new A._wrapToDart_closure0()); - return A._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new A._wrapToDart_closure1()); - }, - _getDartProxy(o, propertyName, createProxy) { - var dartProxy = A._getOwnProperty(o, propertyName); - if (dartProxy == null || !(o instanceof Object)) { - dartProxy = createProxy.call$1(o); - A._defineProperty(o, propertyName, dartProxy); - } - return dartProxy; - }, - JsObject__convertDataTree__convert: function JsObject__convertDataTree__convert(t0) { - this._convertedObjects = t0; - }, - _convertToJS_closure: function _convertToJS_closure() { - }, - _convertToJS_closure0: function _convertToJS_closure0(t0) { - this.ctor = t0; - }, - _wrapToDart_closure: function _wrapToDart_closure() { - }, - _wrapToDart_closure0: function _wrapToDart_closure0() { - }, - _wrapToDart_closure1: function _wrapToDart_closure1() { + FutureOfVoidToJSPromise_get_toJS(_this) { + return A.callConstructor(self.Promise, [type$.LegacyJavaScriptObject._as(A.allowInterop(new A.FutureOfVoidToJSPromise_get_toJS_closure(_this), type$.Function))], type$.JSObject); }, - JsObject: function JsObject(t0) { - this._jsObject = t0; + FutureOfVoidToJSPromise_get_toJS_closure: function FutureOfVoidToJSPromise_get_toJS_closure(t0) { + this._this = t0; }, - JsFunction: function JsFunction(t0) { - this._jsObject = t0; + FutureOfVoidToJSPromise_get_toJS__closure: function FutureOfVoidToJSPromise_get_toJS__closure(t0) { + this.resolve = t0; }, - JsArray: function JsArray(t0, t1) { - this._jsObject = t0; - this.$ti = t1; - }, - _JsArray_JsObject_ListMixin: function _JsArray_JsObject_ListMixin() { + FutureOfVoidToJSPromise_get_toJS__closure0: function FutureOfVoidToJSPromise_get_toJS__closure0(t0) { + this.reject = t0; }, _convertDartFunctionFast(f) { var ret, @@ -7740,9 +7656,35 @@ return object; return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object); }, + getProperty(o, $name, $T) { + return $T._as(o[$name]); + }, callMethod(o, method, args, $T) { return $T._as(o[method].apply(o, args)); }, + callConstructor(constr, $arguments, $T) { + var args, factoryFunction; + if ($arguments == null) + return $T._as(new constr()); + if ($arguments instanceof Array) + switch ($arguments.length) { + case 0: + return $T._as(new constr()); + case 1: + return $T._as(new constr($arguments[0])); + case 2: + return $T._as(new constr($arguments[0], $arguments[1])); + case 3: + return $T._as(new constr($arguments[0], $arguments[1], $arguments[2])); + case 4: + return $T._as(new constr($arguments[0], $arguments[1], $arguments[2], $arguments[3])); + } + args = [null]; + B.JSArray_methods.addAll$1(args, $arguments); + factoryFunction = constr.bind.apply(constr, args); + String(factoryFunction); + return $T._as(new factoryFunction()); + }, promiseToFuture(jsPromise, $T) { var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); @@ -7924,7 +7866,7 @@ this.$ti = t0; }, BuiltListMultimap_BuiltListMultimap($K, $V) { - var t1 = A._BuiltListMultimap$copy(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty0), $K, $V); + var t1 = A._BuiltListMultimap$copy(B.Map_empty.get$keys(B.Map_empty), new A.BuiltListMultimap_BuiltListMultimap_closure(B.Map_empty), $K, $V); return t1; }, _BuiltListMultimap$copy(keys, lookup, $K, $V) { @@ -7934,7 +7876,7 @@ }, ListMultimapBuilder_ListMultimapBuilder($K, $V) { var t1 = new A.ListMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("ListMultimapBuilder<1,2>")); - t1.replace$1(0, B.Map_empty0); + t1.replace$1(0, B.Map_empty); return t1; }, BuiltListMultimap: function BuiltListMultimap() { @@ -7964,12 +7906,12 @@ }, BuiltMap_BuiltMap($K, $V) { var t1 = new A._BuiltMap(null, A.LinkedHashMap_LinkedHashMap$_empty($K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("_BuiltMap<1,2>")); - t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty0.get$keys(B.Map_empty0), new A.BuiltMap_BuiltMap_closure(B.Map_empty0), $K, $V); + t1._BuiltMap$copyAndCheckTypes$2(B.Map_empty.get$keys(B.Map_empty), new A.BuiltMap_BuiltMap_closure(B.Map_empty), $K, $V); return t1; }, MapBuilder_MapBuilder($K, $V) { var t1 = new A.MapBuilder(null, $, null, $K._eval$1("@<0>")._bind$1($V)._eval$1("MapBuilder<1,2>")); - t1.replace$1(0, B.Map_empty0); + t1.replace$1(0, B.Map_empty); return t1; }, BuiltMap: function BuiltMap() { @@ -8029,7 +7971,7 @@ }, SetMultimapBuilder_SetMultimapBuilder($K, $V) { var t1 = new A.SetMultimapBuilder($K._eval$1("@<0>")._bind$1($V)._eval$1("SetMultimapBuilder<1,2>")); - t1.replace$1(0, B.Map_empty0); + t1.replace$1(0, B.Map_empty); return t1; }, BuiltSetMultimap: function BuiltSetMultimap() { @@ -8100,7 +8042,7 @@ else if (type$.Map_of_String_and_nullable_Object._is(value)) return new A.MapJsonObject(new A.UnmodifiableMapView(value, type$.UnmodifiableMapView_of_String_and_nullable_Object)); else if (type$.Map_dynamic_dynamic._is(value)) - return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$x(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object)); + return new A.MapJsonObject(new A.UnmodifiableMapView(J.cast$2$0$ax(value, type$.String, type$.nullable_Object), type$.UnmodifiableMapView_of_String_and_nullable_Object)); else throw A.wrapException(A.ArgumentError$value(value, "value", "Must be bool, List, Map, num or String")); }, @@ -9064,8 +9006,9 @@ }, _dispatchEvent(message, detail) { var t1 = self, - t2 = type$.JavaScriptObject; - A._asBool(t2._as(t1.window).dispatchEvent(t2._as(new t1.CustomEvent("dart-auth-response", t2._as({detail: detail}))))); + t2 = type$.JavaScriptObject, + $event = t2._as(new t1.CustomEvent(message, t2._as({detail: detail}))); + A._asBool(t2._as(t1.document).dispatchEvent($event)); }, _handleAuthRequest($event) { var t1; @@ -9077,7 +9020,7 @@ if (A._authUrl() != null) { t1 = A._authUrl(); t1.toString; - A._authenticateUser(t1).then$1$1(0, new A._handleAuthRequest_closure(), type$.void); + A._authenticateUser(t1).then$1$1(new A._handleAuthRequest_closure(), type$.void); } }, _authenticateUser(authUrl) { @@ -9114,7 +9057,7 @@ }, _authUrl() { var authUrl, - extensionUrl = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(type$.JavaScriptObject._as(self.window)).$index(0, "$dartExtensionUri")); + extensionUrl = A._asStringQ(A.dartify(type$.JSObject._as(self.window).$dartExtensionUri)); if (extensionUrl == null) return null; authUrl = A.Uri_parse(extensionUrl).replace$1$path(0, "$dwdsExtensionAuthentication"); @@ -9183,24 +9126,6 @@ this._client = t0; this._restarter = t1; }, - toPromise(future, $T) { - return new self.Promise(A.allowInterop(new A.toPromise_closure(future, $T), $T._eval$1("~(~(0),~(@))")), $T); - }, - toFuture(promise, $T) { - var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")), - completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")); - J.then$2$x(promise, A.allowInterop($T._eval$1("~([0/?])")._as(completer.get$complete(completer)), $T._eval$1("@(0)")), A.allowInterop(new A.toFuture_closure(completer), type$.dynamic_Function_dynamic)); - return t1; - }, - Promise: function Promise() { - }, - toPromise_closure: function toPromise_closure(t0, t1) { - this.future = t0; - this.T = t1; - }, - toFuture_closure: function toFuture_closure(t0) { - this.completer = t0; - }, HotReloadFailedException$(_s) { return new A.HotReloadFailedException(_s); }, @@ -9236,8 +9161,6 @@ }); return A._asyncStartSync($async$RequireRestarter_create, $async$completer); }, - RequireLoader: function RequireLoader() { - }, HotReloadFailedException: function HotReloadFailedException(t0) { this._s = t0; }, @@ -9247,9 +9170,12 @@ this._running = t1; }, RequireRestarter__reload_closure: function RequireRestarter__reload_closure(t0) { - this.childModule = t0; + this.mainLibrary = t0; + }, + RequireRestarter__reloadModule_closure: function RequireRestarter__reloadModule_closure(t0) { + this.completer = t0; }, - RequireRestarter__reloadModule_closure: function RequireRestarter__reloadModule_closure(t0, t1) { + RequireRestarter__reloadModule_closure0: function RequireRestarter__reloadModule_closure0(t0, t1) { this.completer = t0; this.stackTrace = t1; }, @@ -9288,19 +9214,21 @@ this.scriptElement = t0; }, JSArrayExtension_toDartIterable(_this, $T) { - var t1 = A._arrayInstanceType(_this); - return new A.MappedListIterable(_this, t1._bind$1($T)._eval$1("1(2)")._as(new A.JSArrayExtension_toDartIterable_closure($T)), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); - }, - JsError: function JsError() { + return B.JSArray_methods.map$1$1(_this, new A.JSArrayExtension_toDartIterable_closure($T), $T); }, - JsMap: function JsMap() { + ModuleDependencyGraph_parents(_this, key) { + var t1 = A.callMethod(_this, "get", [key], type$.nullable_JSArray_nullable_Object); + if (t1 == null) + t1 = null; + else { + t1 = A.JSArrayExtension_toDartIterable(t1, type$.String); + t1 = A.List_List$of(t1, true, t1.$ti._eval$1("ListIterable.E")); + } + return t1 == null ? A._setArrayType([], type$.JSArray_String) : t1; }, JSArrayExtension_toDartIterable_closure: function JSArrayExtension_toDartIterable_closure(t0) { this.T = t0; }, - isBrowserObject(o) { - return type$.Blob._is(o) || type$.Event._is(o) || type$.KeyRange._is(o) || type$.ImageData._is(o) || type$.Node._is(o) || type$.Window._is(o) || type$.WorkerGlobalScope._is(o); - }, printString(string) { if (typeof dartPrint == "function") { dartPrint(string); @@ -9316,6 +9244,20 @@ } throw "Unable to print message: " + String(string); }, + JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, arg3, arg4) { + var t1; + if (arg1 == null) + return _this[method](); + else if (arg2 == null) + return _this[method](arg1); + else { + t1 = _this[method](arg1, arg2); + return t1; + } + }, + JSObjectUnsafeUtilExtension_callMethod(_this, method, arg1, arg2, $T) { + return $T._as(A.JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, null, null)); + }, decodeDigit(c) { var letter, digit = c ^ 48; @@ -9400,35 +9342,6 @@ }, toString$0(receiver) { return String(receiver); - }, - $isPromise: 1, - $isJsError: 1, - then$1$1(receiver, p0) { - return receiver.then(p0); - }, - then$2(receiver, p0, p1) { - return receiver.then(p0, p1); - }, - get$digestsPath(obj) { - return obj.digestsPath; - }, - get$moduleParentsGraph(obj) { - return obj.moduleParentsGraph; - }, - forceLoadModule$3(receiver, p0, p1, p2) { - return receiver.forceLoadModule(p0, p1, p2); - }, - get$message(obj) { - return obj.message; - }, - $get$1(receiver, p0) { - return receiver.get(p0); - }, - get$keys(obj) { - return obj.keys; - }, - keys$0(receiver) { - return receiver.keys(); } }; J.PlainJavaScriptObject.prototype = {}; @@ -9553,7 +9466,7 @@ throw A.wrapException(A.IterableElementError_noElement()); }, setRange$4(receiver, start, end, iterable, skipCount) { - var $length, otherList, t1, i; + var $length, otherList, otherStart, t1, i; A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(iterable); if (!!receiver.immutable$list) A.throwExpression(A.UnsupportedError$("setRange")); @@ -9562,16 +9475,22 @@ if ($length === 0) return; A.RangeError_checkNotNegative(skipCount, "skipCount"); - otherList = iterable; + if (type$.List_dynamic._is(iterable)) { + otherList = iterable; + otherStart = skipCount; + } else { + otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false); + otherStart = 0; + } t1 = J.getInterceptor$asx(otherList); - if (skipCount + $length > t1.get$length(otherList)) + if (otherStart + $length > t1.get$length(otherList)) throw A.wrapException(A.IterableElementError_tooFew()); - if (skipCount < start) + if (otherStart < start) for (i = $length - 1; i >= 0; --i) - receiver[start + i] = t1.$index(otherList, skipCount + i); + receiver[start + i] = t1.$index(otherList, otherStart + i); else for (i = 0; i < $length; ++i) - receiver[start + i] = t1.$index(otherList, skipCount + i); + receiver[start + i] = t1.$index(otherList, otherStart + i); }, sort$1(receiver, compare) { var len, a, b, undefineds, i, @@ -9811,6 +9730,9 @@ scaled = absolute < 1 ? absolute / factor : factor / absolute; return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911; }, + $add(receiver, other) { + return receiver + other; + }, $mod(receiver, other) { var result = receiver % other; if (result === 0) @@ -10058,22 +9980,36 @@ A._CastIterableBase.prototype = { get$iterator(_) { var t1 = A._instanceType(this); - return new A.CastIterator(J.get$iterator$ax(this.__internal$_source), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>")); + return new A.CastIterator(J.get$iterator$ax(this.get$__internal$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>")); }, get$length(_) { - return J.get$length$asx(this.__internal$_source); + return J.get$length$asx(this.get$__internal$_source()); }, get$isEmpty(_) { - return J.get$isEmpty$asx(this.__internal$_source); + return J.get$isEmpty$asx(this.get$__internal$_source()); + }, + get$isNotEmpty(_) { + return J.get$isNotEmpty$asx(this.get$__internal$_source()); + }, + skip$1(_, count) { + var t1 = A._instanceType(this); + return A.CastIterable_CastIterable(J.skip$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]); + }, + take$1(_, count) { + var t1 = A._instanceType(this); + return A.CastIterable_CastIterable(J.take$1$ax(this.get$__internal$_source(), count), t1._precomputed1, t1._rest[1]); }, elementAt$1(_, index) { - return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.__internal$_source, index)); + return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$__internal$_source(), index)); + }, + get$first(_) { + return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$__internal$_source())); }, contains$1(_, other) { - return J.contains$1$asx(this.__internal$_source, other); + return J.contains$1$asx(this.get$__internal$_source(), other); }, toString$0(_) { - return J.toString$0$(this.__internal$_source); + return J.toString$0$(this.get$__internal$_source()); } }; A.CastIterator.prototype = { @@ -10086,7 +10022,11 @@ }, $isIterator: 1 }; - A.CastIterable.prototype = {}; + A.CastIterable.prototype = { + get$__internal$_source() { + return this.__internal$_source; + } + }; A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1}; A.CastMap.prototype = { cast$2$0(_, RK, RV) { @@ -10139,7 +10079,7 @@ call$0() { return A.Future_Future$value(null, type$.Null); }, - $signature: 25 + $signature: 24 }; A.SentinelValue.prototype = {}; A.EfficientLengthIterable.prototype = {}; @@ -10201,6 +10141,12 @@ map$1($receiver, toElement) { return this.map$1$1($receiver, toElement, type$.dynamic); }, + skip$1(_, count) { + return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E")); + }, + take$1(_, count) { + return A.SubListIterable$(this, 0, A.checkNotNullable(count, "count", type$.int), A._instanceType(this)._eval$1("ListIterable.E")); + }, toList$1$growable(_, growable) { return A.List_List$of(this, true, A._instanceType(this)._eval$1("ListIterable.E")); }, @@ -10251,6 +10197,42 @@ if (endOrLength != null && newStart >= endOrLength) return new A.EmptyIterable(_this.$ti._eval$1("EmptyIterable<1>")); return A.SubListIterable$(_this.__internal$_iterable, newStart, endOrLength, _this.$ti._precomputed1); + }, + take$1(_, count) { + var endOrLength, t1, newEnd, _this = this; + A.RangeError_checkNotNegative(count, "count"); + endOrLength = _this._endOrLength; + t1 = _this.__internal$_start; + if (endOrLength == null) + return A.SubListIterable$(_this.__internal$_iterable, t1, B.JSInt_methods.$add(t1, count), _this.$ti._precomputed1); + else { + newEnd = B.JSInt_methods.$add(t1, count); + if (endOrLength < newEnd) + return _this; + return A.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1); + } + }, + toList$1$growable(_, growable) { + var $length, result, i, _this = this, + start = _this.__internal$_start, + t1 = _this.__internal$_iterable, + t2 = J.getInterceptor$asx(t1), + end = t2.get$length(t1), + endOrLength = _this._endOrLength; + if (endOrLength != null && endOrLength < end) + end = endOrLength; + $length = end - start; + if ($length <= 0) { + t1 = J.JSArray_JSArray$fixed(0, _this.$ti._precomputed1); + return t1; + } + result = A.List_List$filled($length, t2.elementAt$1(t1, start), false, _this.$ti._precomputed1); + for (i = 1; i < $length; ++i) { + B.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i)); + if (t2.get$length(t1) < end) + throw A.wrapException(A.ConcurrentModificationError$(_this)); + } + return result; } }; A.ListIterator.prototype = { @@ -10290,6 +10272,9 @@ get$isEmpty(_) { return J.get$isEmpty$asx(this.__internal$_iterable); }, + get$first(_) { + return this._f.call$1(J.get$first$ax(this.__internal$_iterable)); + }, elementAt$1(_, index) { return this._f.call$1(J.elementAt$1$ax(this.__internal$_iterable, index)); } @@ -10323,6 +10308,77 @@ return this._f.call$1(J.elementAt$1$ax(this.__internal$_source, index)); } }; + A.TakeIterable.prototype = { + get$iterator(_) { + return new A.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount, A._instanceType(this)._eval$1("TakeIterator<1>")); + } + }; + A.EfficientLengthTakeIterable.prototype = { + get$length(_) { + var iterableLength = J.get$length$asx(this.__internal$_iterable), + t1 = this._takeCount; + if (iterableLength > t1) + return t1; + return iterableLength; + }, + $isEfficientLengthIterable: 1 + }; + A.TakeIterator.prototype = { + moveNext$0() { + if (--this._remaining >= 0) + return this._iterator.moveNext$0(); + this._remaining = -1; + return false; + }, + get$current(_) { + var t1; + if (this._remaining < 0) { + this.$ti._precomputed1._as(null); + return null; + } + t1 = this._iterator; + return t1.get$current(t1); + }, + $isIterator: 1 + }; + A.SkipIterable.prototype = { + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>")); + }, + get$iterator(_) { + return new A.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount, A._instanceType(this)._eval$1("SkipIterator<1>")); + } + }; + A.EfficientLengthSkipIterable.prototype = { + get$length(_) { + var $length = J.get$length$asx(this.__internal$_iterable) - this._skipCount; + if ($length >= 0) + return $length; + return 0; + }, + skip$1(_, count) { + A.ArgumentError_checkNotNull(count, "count", type$.int); + A.RangeError_checkNotNegative(count, "count"); + return new A.EfficientLengthSkipIterable(this.__internal$_iterable, this._skipCount + count, this.$ti); + }, + $isEfficientLengthIterable: 1 + }; + A.SkipIterator.prototype = { + moveNext$0() { + var t1, i; + for (t1 = this._iterator, i = 0; i < this._skipCount; ++i) + t1.moveNext$0(); + this._skipCount = 0; + return t1.moveNext$0(); + }, + get$current(_) { + var t1 = this._iterator; + return t1.get$current(t1); + }, + $isIterator: 1 + }; A.EmptyIterable.prototype = { get$iterator(_) { return B.C_EmptyIterator; @@ -10333,6 +10389,9 @@ get$length(_) { return 0; }, + get$first(_) { + throw A.wrapException(A.IterableElementError_noElement()); + }, elementAt$1(_, index) { throw A.wrapException(A.RangeError$range(index, 0, 0, "index", null)); }, @@ -10345,6 +10404,14 @@ }, map$1($receiver, toElement) { return this.map$1$1($receiver, toElement, type$.dynamic); + }, + skip$1(_, count) { + A.RangeError_checkNotNegative(count, "count"); + return this; + }, + take$1(_, count) { + A.RangeError_checkNotNegative(count, "count"); + return this; } }; A.EmptyIterator.prototype = { @@ -10379,17 +10446,17 @@ var hash = this._hashCode; if (hash != null) return hash; - hash = 664597 * B.JSString_methods.get$hashCode(this._name) & 536870911; + hash = 664597 * B.JSString_methods.get$hashCode(this.__internal$_name) & 536870911; this._hashCode = hash; return hash; }, toString$0(_) { - return 'Symbol("' + this._name + '")'; + return 'Symbol("' + this.__internal$_name + '")'; }, $eq(_, other) { if (other == null) return false; - return other instanceof A.Symbol && this._name === other._name; + return other instanceof A.Symbol && this.__internal$_name === other.__internal$_name; }, $isSymbol0: 1 }; @@ -10474,6 +10541,9 @@ get$isEmpty(_) { return 0 === this._elements.length; }, + get$isNotEmpty(_) { + return 0 !== this._elements.length; + }, get$iterator(_) { var t1 = this._elements; return new A._KeysOrValuesOrElementsIterator(t1, t1.length, this.$ti._eval$1("_KeysOrValuesOrElementsIterator<1>")); @@ -10524,13 +10594,13 @@ get$namedArguments() { var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this; if (_this.__js_helper$_kind !== 0) - return B.Map_empty; + return B.Map_empty0; t1 = _this._namedArgumentNames; namedArgumentCount = t1.length; t2 = _this._arguments; namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount; if (namedArgumentCount === 0) - return B.Map_empty; + return B.Map_empty0; map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic); for (i = 0; i < namedArgumentCount; ++i) { if (!(i < t1.length)) @@ -10970,19 +11040,19 @@ call$1(o) { return this.getTag(o); }, - $signature: 2 + $signature: 4 }; A.initHooks_closure0.prototype = { call$2(o, tag) { return this.getUnknownTag(o, tag); }, - $signature: 40 + $signature: 76 }; A.initHooks_closure1.prototype = { call$1(tag) { return this.prototypeForTag(A._asString(tag)); }, - $signature: 78 + $signature: 43 }; A.JSSyntaxRegExp.prototype = { toString$0(_) { @@ -11118,6 +11188,13 @@ A._StringAllMatchesIterable.prototype = { get$iterator(_) { return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index); + }, + get$first(_) { + var t1 = this._pattern, + index = this._input.indexOf(t1, this.__js_helper$_index); + if (index >= 0) + return new A.StringMatch(index, t1); + throw A.wrapException(A.IterableElementError_noElement()); } }; A._StringAllMatchesIterator.prototype = { @@ -11154,7 +11231,7 @@ readLocal$1$0() { var t1 = this.__late_helper$_value; if (t1 === this) - A.throwExpression(new A.LateError("Local '" + this.__late_helper$_name + "' has not been initialized.")); + A.throwExpression(new A.LateError("Local '" + this._name + "' has not been initialized.")); return t1; }, readLocal$0() { @@ -11163,7 +11240,7 @@ _readField$0() { var t1 = this.__late_helper$_value; if (t1 === this) - throw A.wrapException(A.LateError$fieldNI(this.__late_helper$_name)); + throw A.wrapException(A.LateError$fieldNI(this._name)); return t1; } }; @@ -11174,7 +11251,7 @@ $isTrustedGetRuntimeType: 1, $isByteBuffer: 1 }; - A.NativeTypedData.prototype = {$isTypedData: 1}; + A.NativeTypedData.prototype = {}; A.NativeByteData.prototype = { get$runtimeType(receiver) { return B.Type_ByteData_zNC; @@ -11406,19 +11483,19 @@ t2 = this.span; t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); }, - $signature: 38 + $signature: 30 }; A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { call$0() { this.callback.call$0(); }, - $signature: 4 + $signature: 2 }; A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = { call$0() { this.callback.call$0(); }, - $signature: 4 + $signature: 2 }; A._TimerImpl.prototype = { _TimerImpl$2(milliseconds, callback) { @@ -11475,7 +11552,7 @@ t1._tick = tick; _this.callback.call$1(t1); }, - $signature: 4 + $signature: 2 }; A._AsyncAwaitCompleter.prototype = { complete$1(_, value) { @@ -11507,19 +11584,19 @@ call$1(result) { return this.bodyFunction.call$2(0, result); }, - $signature: 5 + $signature: 8 }; A._awaitOnObject_closure0.prototype = { call$2(error, stackTrace) { this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace))); }, - $signature: 46 + $signature: 31 }; A._wrapJsFunctionForAsync_closure.prototype = { call$2(errorCode, result) { this.$protected(A._asInt(errorCode), result); }, - $signature: 47 + $signature: 35 }; A.AsyncError.prototype = { toString$0(_) { @@ -11629,7 +11706,7 @@ this._state = this._state & 1 | 4; this._resultOrListeners = source; }, - then$1$2$onError(_, f, onError, $R) { + then$1$2$onError(f, onError, $R) { var currentZone, result, t2, t1 = this.$ti; t1._bind$1($R)._eval$1("1/(2)")._as(f); @@ -11647,8 +11724,8 @@ this._addListener$1(new A._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>"))); return result; }, - then$1$1($receiver, f, $R) { - return this.then$1$2$onError($receiver, f, null, $R); + then$1$1(f, $R) { + return this.then$1$2$onError(f, null, $R); }, _thenAwait$1$2(f, onError, $E) { var result, @@ -11749,7 +11826,7 @@ var e, s, exception, _this = this; _this._state ^= 2; try { - source.then$1$2$onError(0, new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null); + source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null); } catch (exception) { e = A.unwrapException(exception); s = A.getTraceFromException(exception); @@ -11831,7 +11908,7 @@ _future = new A._Future(t3, t2); t1.timer = null; t1.timer = A.Timer_Timer(timeLimit, new A._Future_timeout_closure(_this, _future, t3, t3.registerCallback$1$1(onTimeout, t2._eval$1("1/")))); - _this.then$1$2$onError(0, new A._Future_timeout_closure0(t1, _this, _future), new A._Future_timeout_closure1(t1, _future), type$.Null); + _this.then$1$2$onError(new A._Future_timeout_closure0(t1, _this, _future), new A._Future_timeout_closure1(t1, _future), type$.Null); return _future; }, $isFuture: 1 @@ -11867,7 +11944,7 @@ call$2(error, stackTrace) { this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace)); }, - $signature: 8 + $signature: 5 }; A._Future__chainForeignFuture_closure1.prototype = { call$0() { @@ -11922,7 +11999,7 @@ if (completeResult instanceof A._Future) { originalSource = _this._box_1.source; t1 = _this._box_0; - t1.listenerValueOrError = J.then$1$1$x(completeResult, new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic); + t1.listenerValueOrError = completeResult.then$1$1(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic); t1.listenerHasError = false; } }, @@ -11932,7 +12009,7 @@ call$1(_) { return this.originalSource; }, - $signature: 32 + $signature: 45 }; A._Future__propagateToListeners_handleValueCallback.prototype = { call$0() { @@ -12016,7 +12093,7 @@ this._future._completeError$2(e, s); } }, - $signature: 8 + $signature: 5 }; A._AsyncCallbackEntry.prototype = {}; A.Stream.prototype = { @@ -12562,13 +12639,13 @@ else t1._completeError$2(error, stackTrace); }, - $signature: 8 + $signature: 5 }; A._BufferingStreamSubscription_asFuture__closure.prototype = { call$0() { this.result._completeError$2(this.error, this.stackTrace); }, - $signature: 4 + $signature: 2 }; A._BufferingStreamSubscription__sendError_sendError.prototype = { call$0() { @@ -13278,7 +13355,7 @@ t2._processUncaughtError$3(zone, type$.Object._as(e), t1._as(s)); } }, - $signature: 58 + $signature: 44 }; A._HashMap.prototype = { get$length(_) { @@ -13500,7 +13577,7 @@ call$1(v) { return this.K._is(v); }, - $signature: 18 + $signature: 17 }; A._HashMapKeyIterable.prototype = { get$length(_) { @@ -13509,6 +13586,9 @@ get$isEmpty(_) { return this._collection$_map._collection$_length === 0; }, + get$isNotEmpty(_) { + return this._collection$_map._collection$_length !== 0; + }, get$iterator(_) { var t1 = this._collection$_map; return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>")); @@ -13553,6 +13633,9 @@ get$isEmpty(_) { return this._collection$_length === 0; }, + get$isNotEmpty(_) { + return this._collection$_length !== 0; + }, contains$1(_, object) { var strings, nums; if (typeof object == "string" && object !== "__proto__") { @@ -13738,6 +13821,9 @@ get$isEmpty(_) { return this._collection$_length === 0; }, + get$isNotEmpty(_) { + return this._collection$_length !== 0; + }, contains$1(_, object) { var strings, nums; if (typeof object == "string" && object !== "__proto__") { @@ -13759,6 +13845,12 @@ return false; return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0; }, + get$first(_) { + var first = this._collection$_first; + if (first == null) + throw A.wrapException(A.StateError$("No elements")); + return A._instanceType(this)._precomputed1._as(first._element); + }, add$1(_, element) { var strings, nums, _this = this; A._instanceType(_this)._precomputed1._as(element); @@ -13858,7 +13950,7 @@ call$2(k, v) { this.result.$indexSet(0, this.K._as(k), this.V._as(v)); }, - $signature: 19 + $signature: 18 }; A.ListBase.prototype = { get$iterator(receiver) { @@ -13871,7 +13963,7 @@ return this.get$length(receiver) === 0; }, get$isNotEmpty(receiver) { - return this.get$length(receiver) !== 0; + return !this.get$isEmpty(receiver); }, get$first(receiver) { if (this.get$length(receiver) === 0) @@ -13903,18 +13995,19 @@ return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListBase.E")); }, sublist$2(receiver, start, end) { - var t1, - listLength = this.get$length(receiver); + var listLength = this.get$length(receiver); if (end == null) end = listLength; A.RangeError_checkValidRange(start, end, listLength); - A.RangeError_checkValidRange(start, end, this.get$length(receiver)); - t1 = A.instanceType(receiver)._eval$1("ListBase.E"); - return A.List_List$from(A.SubListIterable$(receiver, start, end, t1), true, t1); + return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListBase.E")); }, sublist$1($receiver, start) { return this.sublist$2($receiver, start, null); }, + getRange$2(receiver, start, end) { + A.RangeError_checkValidRange(start, end, this.get$length(receiver)); + return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListBase.E")); + }, fillRange$3(receiver, start, end, fill) { var i; A.instanceType(receiver)._eval$1("ListBase.E?")._as(fill); @@ -13986,7 +14079,7 @@ t1._contents = t2 + ": "; t1._contents += A.S(v); }, - $signature: 20 + $signature: 19 }; A._UnmodifiableMapMixin.prototype = { $indexSet(_, key, value) { @@ -13998,7 +14091,7 @@ }; A.MapView.prototype = { cast$2$0(_, RK, RV) { - return J.cast$2$0$x(this._collection$_map, RK, RV); + return J.cast$2$0$ax(this._collection$_map, RK, RV); }, $index(_, key) { return J.$index$asx(this._collection$_map, key); @@ -14035,7 +14128,7 @@ }; A.UnmodifiableMapView.prototype = { cast$2$0(_, RK, RV) { - return new A.UnmodifiableMapView(J.cast$2$0$x(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>")); + return new A.UnmodifiableMapView(J.cast$2$0$ax(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>")); } }; A.ListQueue.prototype = { @@ -14049,9 +14142,20 @@ get$length(_) { return (this._tail - this._head & this._table.length - 1) >>> 0; }, - elementAt$1(_, index) { - var t2, t3, _this = this, - t1 = _this.get$length(0); + get$first(_) { + var t2, _this = this, + t1 = _this._head; + if (t1 === _this._tail) + throw A.wrapException(A.IterableElementError_noElement()); + t2 = _this._table; + if (!(t1 < t2.length)) + return A.ioore(t2, t1); + t1 = t2[t1]; + return t1 == null ? _this.$ti._precomputed1._as(t1) : t1; + }, + elementAt$1(_, index) { + var t2, t3, _this = this, + t1 = _this.get$length(0); if (0 > index || index >= t1) A.throwExpression(A.IndexError$withLength(index, t1, _this, null, "index")); t1 = _this._table; @@ -14139,6 +14243,9 @@ get$isEmpty(_) { return this.get$length(this) === 0; }, + get$isNotEmpty(_) { + return this.get$length(this) !== 0; + }, addAll$1(_, elements) { var t1; A._instanceType(this)._eval$1("Iterable<1>")._as(elements); @@ -14164,6 +14271,18 @@ toString$0(_) { return A.Iterable_iterableToFullString(this, "{", "}"); }, + take$1(_, n) { + return A.TakeIterable_TakeIterable(this, n, A._instanceType(this)._precomputed1); + }, + skip$1(_, n) { + return A.SkipIterable_SkipIterable(this, n, A._instanceType(this)._precomputed1); + }, + get$first(_) { + var it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + return it.get$current(it); + }, elementAt$1(_, index) { var iterator, skipCount; A.RangeError_checkNotNegative(index, "index"); @@ -14410,6 +14529,14 @@ get$isEmpty(_) { return this._root == null; }, + get$isNotEmpty(_) { + return this._root != null; + }, + get$first(_) { + if (this._count === 0) + throw A.wrapException(A.IterableElementError_noElement()); + return this.get$_collection$_first().key; + }, contains$1(_, element) { return A.boolConversionCheck(this._validKey.call$1(element)) && this._splay$1(this.$ti._precomputed1._as(element)) === 0; }, @@ -14450,7 +14577,7 @@ call$1(v) { return this.E._is(v); }, - $signature: 18 + $signature: 17 }; A._SplayTreeSet__SplayTree_Iterable.prototype = {}; A._SplayTreeSet__SplayTree_Iterable_SetMixin.prototype = {}; @@ -14992,7 +15119,7 @@ B.JSArray_methods.$indexSet(t1, t2.i++, key); B.JSArray_methods.$indexSet(t1, t2.i++, value); }, - $signature: 20 + $signature: 19 }; A._JsonStringStringifier.prototype = { get$_partialResult() { @@ -15480,7 +15607,7 @@ hash = hash + ((hash & 524287) << 10) & 536870911; return hash ^ hash >>> 6; }, - $signature: 21 + $signature: 20 }; A._BigIntImpl_hashCode_finish.prototype = { call$1(hash) { @@ -15488,13 +15615,13 @@ hash ^= hash >>> 11; return hash + ((hash & 16383) << 15) & 536870911; }, - $signature: 22 + $signature: 21 }; A._symbolMapToStringMap_closure.prototype = { call$2(key, value) { - this.result.$indexSet(0, type$.Symbol._as(key)._name, value); + this.result.$indexSet(0, type$.Symbol._as(key).__internal$_name, value); }, - $signature: 23 + $signature: 22 }; A.NoSuchMethodError_toString_closure.prototype = { call$2(key, value) { @@ -15503,13 +15630,13 @@ t1 = this.sb; t2 = this._box_0; t3 = t1._contents += t2.comma; - t3 += key._name; + t3 += key.__internal$_name; t1._contents = t3; t1._contents = t3 + ": "; t1._contents += A.Error_safeToString(value); t2.comma = ", "; }, - $signature: 23 + $signature: 22 }; A.DateTime.prototype = { $eq(_, other) { @@ -15667,7 +15794,7 @@ _this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb)); receiverText = A.Error_safeToString(_this._core$_receiver); actualParameters = sb.toString$0(0); - return "NoSuchMethodError: method not found: '" + _this._core$_memberName._name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; + return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]"; } }; A.UnsupportedError.prototype = { @@ -15830,6 +15957,21 @@ get$isEmpty(_) { return !this.get$iterator(this).moveNext$0(); }, + get$isNotEmpty(_) { + return !this.get$isEmpty(this); + }, + take$1(_, count) { + return A.TakeIterable_TakeIterable(this, count, A.instanceType(this)._eval$1("Iterable.E")); + }, + skip$1(_, count) { + return A.SkipIterable_SkipIterable(this, count, A.instanceType(this)._eval$1("Iterable.E")); + }, + get$first(_) { + var it = this.get$iterator(this); + if (!it.moveNext$0()) + throw A.wrapException(A.IterableElementError_noElement()); + return it.get$current(it); + }, elementAt$1(_, index) { var iterator, skipCount; A.RangeError_checkNotNegative(index, "index"); @@ -15899,7 +16041,7 @@ call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); }, - $signature: 66 + $signature: 49 }; A.Uri_parseIPv6Address_error.prototype = { call$2(msg, position) { @@ -15917,7 +16059,7 @@ this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); return value; }, - $signature: 21 + $signature: 20 }; A._Uri.prototype = { get$_text() { @@ -16103,7 +16245,7 @@ call$1(s) { return A._Uri__uriEncode(B.List_XRg0, A._asString(s), B.C_Utf8Codec, false); }, - $signature: 48 + $signature: 54 }; A.UriData.prototype = { get$uri() { @@ -16144,7 +16286,7 @@ B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition); return t1; }, - $signature: 57 + $signature: 55 }; A._createTables_setChars.prototype = { call$3(target, chars, transition) { @@ -16156,7 +16298,7 @@ target[t2] = transition; } }, - $signature: 14 + $signature: 23 }; A._createTables_setRange.prototype = { call$3(target, range, transition) { @@ -16175,7 +16317,7 @@ target[t1] = transition; } }, - $signature: 14 + $signature: 23 }; A._SimpleUri.prototype = { get$hasAuthority() { @@ -16340,7 +16482,7 @@ return t1; } }; - A.Blob.prototype = {$isBlob: 1}; + A.Blob.prototype = {}; A.CharacterData.prototype = { get$length(receiver) { return receiver.length; @@ -16649,7 +16791,6 @@ $isIterable: 1, $isList: 1 }; - A.ImageData.prototype = {$isImageData: 1}; A.Location.prototype = { toString$0(receiver) { var t1 = String(receiver); @@ -17073,7 +17214,7 @@ call$2(k, v) { return B.JSArray_methods.add$1(this.keys, k); }, - $signature: 26 + $signature: 29 }; A.StyleSheet.prototype = {$isStyleSheet: 1}; A.TextTrack.prototype = {$isTextTrack: 1}; @@ -17229,8 +17370,6 @@ }, $isWebSocket: 1 }; - A.Window.prototype = {$isWindow: 1}; - A.WorkerGlobalScope.prototype = {$isWorkerGlobalScope: 1}; A._CssRuleList.prototype = { get$length(receiver) { var t1 = receiver.length; @@ -17567,13 +17706,13 @@ call$1(e) { return this.onData.call$1(type$.Event._as(e)); }, - $signature: 27 + $signature: 25 }; A._EventStreamSubscription_onData_closure0.prototype = { call$1(e) { return this.handleData.call$1(type$.Event._as(e)); }, - $signature: 27 + $signature: 25 }; A.ImmutableListMixin.prototype = { get$iterator(receiver) { @@ -17727,7 +17866,7 @@ this.map.$indexSet(0, key, t1); return t1; }, - $signature: 33 + $signature: 32 }; A._AcceptStructuredCloneDart2Js.prototype = { forEachJsField$2(object, action) { @@ -17739,144 +17878,38 @@ } } }; - A.KeyRange.prototype = {$isKeyRange: 1}; - A.JsObject__convertDataTree__convert.prototype = { - call$1(o) { - var convertedMap, t2, key, convertedList, - t1 = this._convertedObjects; - if (t1.containsKey$1(0, o)) - return t1.$index(0, o); - if (type$.Map_dynamic_dynamic._is(o)) { - convertedMap = {}; - t1.$indexSet(0, o, convertedMap); - for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) { - key = t2.get$current(t2); - convertedMap[key] = this.call$1(t1.$index(o, key)); - } - return convertedMap; - } else if (type$.Iterable_dynamic._is(o)) { - convertedList = []; - t1.$indexSet(0, o, convertedList); - B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic)); - return convertedList; - } else - return A._convertToJS(o); - }, - $signature: 34 - }; - A._convertToJS_closure.prototype = { - call$1(o) { - var jsFunction; - type$.Function._as(o); - jsFunction = function(_call, f, captureThis) { - return function() { - return _call(f, captureThis, this, Array.prototype.slice.apply(arguments)); - }; - }(A._callDartFunction, o, false); - A._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o); - return jsFunction; - }, - $signature: 2 - }; - A._convertToJS_closure0.prototype = { - call$1(o) { - return new this.ctor(o); - }, - $signature: 2 - }; - A._wrapToDart_closure.prototype = { - call$1(o) { - return new A.JsFunction(o == null ? type$.Object._as(o) : o); - }, - $signature: 35 - }; - A._wrapToDart_closure0.prototype = { - call$1(o) { - var t1 = o == null ? type$.Object._as(o) : o; - return new A.JsArray(t1, type$.JsArray_dynamic); - }, - $signature: 36 - }; - A._wrapToDart_closure1.prototype = { - call$1(o) { - return new A.JsObject(o == null ? type$.Object._as(o) : o); + A.FutureOfVoidToJSPromise_get_toJS_closure.prototype = { + call$2(resolve, reject) { + var t1 = type$.LegacyJavaScriptObject; + this._this.then$1$2$onError(new A.FutureOfVoidToJSPromise_get_toJS__closure(t1._as(resolve)), new A.FutureOfVoidToJSPromise_get_toJS__closure0(t1._as(reject)), type$.nullable_Object); }, - $signature: 37 + $signature: 33 }; - A.JsObject.prototype = { - $index(_, property) { - if (typeof property != "string" && typeof property != "number") - throw A.wrapException(A.ArgumentError$("property is not a String or num", null)); - return A._convertToDart(this._jsObject[property]); - }, - $indexSet(_, property, value) { - if (typeof property != "string" && typeof property != "number") - throw A.wrapException(A.ArgumentError$("property is not a String or num", null)); - this._jsObject[property] = A._convertToJS(value); - }, - $eq(_, other) { - if (other == null) - return false; - return other instanceof A.JsObject && this._jsObject === other._jsObject; - }, - toString$0(_) { - var t1, exception; - try { - t1 = String(this._jsObject); - return t1; - } catch (exception) { - t1 = this.super$Object$toString(0); - return t1; - } - }, - callMethod$2(method, args) { - var t2, - t1 = this._jsObject; - if (args == null) - t2 = null; - else { - t2 = A._arrayInstanceType(args); - t2 = A.List_List$from(new A.MappedListIterable(args, t2._eval$1("@(1)")._as(A.js___convertToJS$closure()), t2._eval$1("MappedListIterable<1,@>")), true, type$.dynamic); - } - return A._convertToDart(t1[method].apply(t1, t2)); - }, - callMethod$1(method) { - return this.callMethod$2(method, null); + A.FutureOfVoidToJSPromise_get_toJS__closure.prototype = { + call$1(_) { + var t1 = this.resolve; + return A.callMethod(t1, "call", [t1], type$.nullable_Object); }, - get$hashCode(_) { - return 0; - } + $signature: 34 }; - A.JsFunction.prototype = {}; - A.JsArray.prototype = { - _checkIndex$1(index) { - var t1 = index < 0 || index >= this.get$length(0); - if (t1) - throw A.wrapException(A.RangeError$range(index, 0, this.get$length(0), null, null)); - }, - $index(_, index) { - if (A._isInt(index)) - this._checkIndex$1(index); - return this.$ti._precomputed1._as(this.super$JsObject$$index(0, index)); - }, - $indexSet(_, index, value) { - this._checkIndex$1(index); - this.super$_JsArray_JsObject_ListMixin$$indexSet(0, index, value); - }, - get$length(_) { - var len = this._jsObject.length; - if (typeof len === "number" && len >>> 0 === len) - return len; - throw A.wrapException(A.StateError$("Bad JsArray length")); + A.FutureOfVoidToJSPromise_get_toJS__closure0.prototype = { + call$2(error, stackTrace) { + var t1, errorConstructor, box, t2; + type$.Object._as(error); + type$.StackTrace._as(stackTrace); + t1 = type$.JSObject; + errorConstructor = type$.LegacyJavaScriptObject._as(t1._as(self).Error); + t1 = A.callConstructor(errorConstructor, ["Dart exception thrown from converted Future. Use the properties 'error' to fetch the boxed error and 'stack' to recover the stack trace."], t1); + if (type$.JavaScriptObject._is(error)) + A.throwExpression("Attempting to box non-Dart object."); + box = {}; + box[$.$get$_jsBoxedDartObjectProperty()] = error; + t1.error = box; + t1.stack = stackTrace.toString$0(0); + t2 = this.reject; + A.callMethod(t2, "call", [t2, t1], type$.nullable_Object); }, - $isEfficientLengthIterable: 1, - $isIterable: 1, - $isList: 1 - }; - A._JsArray_JsObject_ListMixin.prototype = { - $indexSet(_, property, value) { - return this.super$JsObject$$indexSet(0, property, value); - } + $signature: 5 }; A.jsify__convert.prototype = { call$1(o) { @@ -17902,13 +17935,13 @@ } else return o; }, - $signature: 9 + $signature: 12 }; A.promiseToFuture_closure.prototype = { call$1(r) { return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r)); }, - $signature: 5 + $signature: 8 }; A.promiseToFuture_closure0.prototype = { call$1(e) { @@ -17916,7 +17949,7 @@ return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); return this.completer.completeError$1(e); }, - $signature: 5 + $signature: 8 }; A.dartify_convert.prototype = { call$1(o) { @@ -17963,7 +17996,7 @@ } return o; }, - $signature: 9 + $signature: 12 }; A.NullRejectionException.prototype = { toString$0(_) { @@ -18389,7 +18422,7 @@ type$.StackTrace._as(stackTrace); this.$this._addResult$1(new A.ErrorResult(error, stackTrace)); }, - $signature: 8 + $signature: 5 }; A.StreamQueue__ensureListening_closure0.prototype = { call$0() { @@ -18404,7 +18437,7 @@ update$2(_, events, isDone) { var t1, t2, result; this.$ti._eval$1("QueueList>")._as(events); - if (events.get$length(0) !== 0) { + if (!events.get$isEmpty(events)) { t1 = events._queue_list$_head; if (t1 === events._queue_list$_tail) A.throwExpression(A.StateError$("No element")); @@ -18429,7 +18462,8 @@ }; A._HasNextRequest.prototype = { update$2(_, events, isDone) { - if (this.$ti._eval$1("QueueList>")._as(events).get$length(0) !== 0) { + this.$ti._eval$1("QueueList>")._as(events); + if (!events.get$isEmpty(events)) { this._stream_queue$_completer.complete$1(0, true); return true; } @@ -18445,7 +18479,7 @@ call$2(h, i) { return A._combine(A._asInt(h), J.get$hashCode$(i)); }, - $signature: 39 + $signature: 36 }; A.BuiltList.prototype = { toBuilder$0() { @@ -18504,6 +18538,20 @@ get$isEmpty(_) { return this._list.length === 0; }, + get$isNotEmpty(_) { + return this._list.length !== 0; + }, + take$1(_, n) { + var t1 = this._list; + return A.SubListIterable$(t1, 0, A.checkNotNullable(n, "count", type$.int), A._arrayInstanceType(t1)._precomputed1); + }, + skip$1(_, n) { + var t1 = this._list; + return A.SubListIterable$(t1, n, null, A._arrayInstanceType(t1)._precomputed1); + }, + get$first(_) { + return B.JSArray_methods.get$first(this._list); + }, elementAt$1(_, index) { var t1 = this._list; if (!(index >= 0 && index < t1.length)) @@ -18651,7 +18699,7 @@ call$1(k) { return this.multimap.$index(0, k); }, - $signature: 2 + $signature: 4 }; A.BuiltListMultimap_hashCode_closure.prototype = { call$1(key) { @@ -18820,7 +18868,7 @@ call$1(k) { return this.multimap.$index(0, k); }, - $signature: 2 + $signature: 4 }; A.BuiltMap.prototype = { toBuilder$0() { @@ -18892,7 +18940,7 @@ call$1(k) { return this.map.$index(0, k); }, - $signature: 2 + $signature: 4 }; A.BuiltMap_hashCode_closure.prototype = { call$1(key) { @@ -19018,7 +19066,7 @@ var t1 = this.$this.$ti; this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value)); }, - $signature: 19 + $signature: 18 }; A.BuiltSet.prototype = { get$hashCode(_) { @@ -19074,6 +19122,20 @@ get$isEmpty(_) { return this._set$_set._collection$_length === 0; }, + get$isNotEmpty(_) { + return this._set$_set._collection$_length !== 0; + }, + take$1(_, n) { + var t1 = this._set$_set; + return A.TakeIterable_TakeIterable(t1, n, A._instanceType(t1)._precomputed1); + }, + skip$1(_, n) { + var t1 = this._set$_set; + return A.SkipIterable_SkipIterable(t1, n, A._instanceType(t1)._precomputed1); + }, + get$first(_) { + return this._set$_set.get$first(0); + }, elementAt$1(_, index) { return this._set$_set.elementAt$1(0, index); }, @@ -19390,7 +19452,7 @@ call$1(k) { return this.multimap.$index(0, k); }, - $signature: 2 + $signature: 4 }; A.EnumClass.prototype = { toString$0(_) { @@ -19406,7 +19468,7 @@ $._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2; return new A.IndentingBuiltValueToStringHelper(t1); }, - $signature: 31 + $signature: 37 }; A.IndentingBuiltValueToStringHelper.prototype = { add$2(_, field, value) { @@ -19539,34 +19601,34 @@ call$0() { return A.ListBuilder_ListBuilder(B.List_empty, type$.Object); }, - $signature: 41 + $signature: 38 }; A.Serializers_Serializers_closure0.prototype = { call$0() { var t1 = type$.Object; return A.ListMultimapBuilder_ListMultimapBuilder(t1, t1); }, - $signature: 42 + $signature: 39 }; A.Serializers_Serializers_closure1.prototype = { call$0() { var t1 = type$.Object; return A.MapBuilder_MapBuilder(t1, t1); }, - $signature: 43 + $signature: 40 }; A.Serializers_Serializers_closure2.prototype = { call$0() { return A.SetBuilder_SetBuilder(type$.Object); }, - $signature: 44 + $signature: 41 }; A.Serializers_Serializers_closure3.prototype = { call$0() { var t1 = type$.Object; return A.SetMultimapBuilder_SetMultimapBuilder(t1, t1); }, - $signature: 45 + $signature: 42 }; A.FullType.prototype = { $eq(_, other) { @@ -19986,7 +20048,7 @@ call$1(value) { return this.serializers.deserialize$2$specifiedType(value, this.valueType); }, - $signature: 9 + $signature: 12 }; A.BuiltListSerializer.prototype = { serialize$3$specifiedType(serializers, builtList, specifiedType) { @@ -22671,13 +22733,13 @@ call$0() { return A.ListBuilder_ListBuilder(B.List_empty, type$.DebugEvent); }, - $signature: 50 + $signature: 47 }; A._$serializers_closure0.prototype = { call$0() { return A.ListBuilder_ListBuilder(B.List_empty, type$.ExtensionEvent); }, - $signature: 51 + $signature: 48 }; A.BatchedStreamController.prototype = { _batchAndSendEvents$0() { @@ -22787,13 +22849,13 @@ call$0() { return true; }, - $signature: 24 + $signature: 26 }; A.BatchedStreamController__hasEventDuring_closure.prototype = { call$0() { return false; }, - $signature: 24 + $signature: 26 }; A.SocketClient.prototype = {}; A.SseSocketClient.prototype = { @@ -22835,14 +22897,14 @@ call$1(o) { return J.toString$0$(o); }, - $signature: 53 + $signature: 50 }; A.safeUnawaited_closure.prototype = { call$2(error, stackTrace) { type$.StackTrace._as(stackTrace); return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace); }, - $signature: 17 + $signature: 16 }; A.Int32.prototype = { _toInt$1(val) { @@ -23053,7 +23115,7 @@ $parent._children.$indexSet(0, thisName, t1); return t1; }, - $signature: 54 + $signature: 51 }; A.Pool.prototype = { request$0(_) { @@ -23153,7 +23215,7 @@ }, _runOnRelease$1(onRelease) { var t1, t2; - A.Future_Future$sync(type$.dynamic_Function._as(onRelease), type$.dynamic).then$1$1(0, new A.Pool__runOnRelease_closure(this), type$.Null).catchError$1(new A.Pool__runOnRelease_closure0(this)); + A.Future_Future$sync(type$.dynamic_Function._as(onRelease), type$.dynamic).then$1$1(new A.Pool__runOnRelease_closure(this), type$.Null).catchError$1(new A.Pool__runOnRelease_closure0(this)); t1 = new A._Future($.Zone__current, type$._Future_PoolResource); t2 = this._onReleaseCompleters; t2._collection$_add$1(0, t2.$ti._precomputed1._as(new A._SyncCompleter(t1, type$._SyncCompleter_PoolResource))); @@ -23186,7 +23248,7 @@ type$.StackTrace._as(stackTrace); this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace); }, - $signature: 8 + $signature: 5 }; A.PoolResource.prototype = {}; A.SseClient.prototype = { @@ -23276,7 +23338,7 @@ t2 = t1._outgoingController; new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone()); }, - $signature: 4 + $signature: 2 }; A.SseClient_closure0.prototype = { call$1(_) { @@ -23377,25 +23439,25 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 25 + $signature: 24 }; A.generateUuidV4_generateBits.prototype = { call$1(bitCount) { return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount)); }, - $signature: 22 + $signature: 21 }; A.generateUuidV4_printDigits.prototype = { call$2(value, count) { return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0"); }, - $signature: 29 + $signature: 27 }; A.generateUuidV4_bitsDigits.prototype = { call$2(bitCount, digitCount) { return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount); }, - $signature: 29 + $signature: 27 }; A.GuaranteeChannel.prototype = { GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) { @@ -23785,12 +23847,12 @@ } else { if (t3 === 2 || t3 === 3) t1.completeError$1(new A.WebSocketChannelException("WebSocket state error: " + t3)); - new A._EventStream0(t2, "open", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure(_this), type$.Null); + new A._EventStream0(t2, "open", false, type$._EventStream_Event).get$first(0).then$1$1(new A.HtmlWebSocketChannel_closure(_this), type$.Null); } t1 = type$.Null; - new A._EventStream0(t2, "error", false, type$._EventStream_Event).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure0(_this), t1); + new A._EventStream0(t2, "error", false, type$._EventStream_Event).get$first(0).then$1$1(new A.HtmlWebSocketChannel_closure0(_this), t1); A._EventStreamSubscription$0(t2, "message", type$.nullable_void_Function_MessageEvent._as(new A.HtmlWebSocketChannel_closure1(_this)), false, type$.MessageEvent); - new A._EventStream0(t2, "close", false, type$._EventStream_CloseEvent).get$first(0).then$1$1(0, new A.HtmlWebSocketChannel_closure2(_this), t1); + new A._EventStream0(t2, "close", false, type$._EventStream_CloseEvent).get$first(0).then$1$1(new A.HtmlWebSocketChannel_closure2(_this), t1); }, _listen$0() { var t1 = this._html0$_controller.__StreamChannelController__local_F; @@ -23811,7 +23873,7 @@ t2.complete$0(0); t1._listen$0(); }, - $signature: 30 + $signature: 28 }; A.HtmlWebSocketChannel_closure0.prototype = { call$1(_) { @@ -23831,7 +23893,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 30 + $signature: 28 }; A.HtmlWebSocketChannel_closure1.prototype = { call$1($event) { @@ -23847,7 +23909,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.add$1(0, data); }, - $signature: 59 + $signature: 56 }; A.HtmlWebSocketChannel_closure2.prototype = { call$1($event) { @@ -23861,7 +23923,7 @@ t1 === $ && A.throwLateFieldNI("_sink"); t1.close$0(0); }, - $signature: 91 + $signature: 57 }; A.HtmlWebSocketChannel__listen_closure.prototype = { call$0() { @@ -23880,7 +23942,7 @@ call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - uri, t1, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, t5, t6, debugEventController, t7; + uri, t2, fixedPath, fixedUri, client, restarter, manager, t3, t4, t5, t6, t7, t8, debugEventController, t9, t1; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -23888,10 +23950,10 @@ switch ($async$goto) { case 0: // Function start - if (self.$dartAppInstanceId == null) - self.$dartAppInstanceId = B.C_Uuid.v1$0(); - uri = A.Uri_parse(self.$dwdsDevHandlerPath); t1 = self; + if (A._asStringQ(t1.$dartAppInstanceId) == null) + t1.$dartAppInstanceId = B.C_Uuid.v1$0(); + uri = A.Uri_parse(A._asString(t1.$dwdsDevHandlerPath)); t2 = type$.JavaScriptObject; if (A._asString(t2._as(t2._as(t1.window).location).protocol) === "https:" && uri.get$scheme() === "http" && uri.get$host(uri) !== "localhost") uri = uri.replace$1$scheme(0, "https"); @@ -23900,7 +23962,7 @@ fixedPath = uri.toString$0(0); fixedUri = A.Uri_parse(fixedPath); client = fixedUri.isScheme$1("ws") || fixedUri.isScheme$1("wss") ? new A.WebSocketClient(A.HtmlWebSocketChannel$connect(fixedUri, null)) : new A.SseSocketClient(A.SseClient$(fixedPath, "InjectedClient")); - $async$goto = J.$eq$(self.$dartModuleStrategy, "require-js") ? 2 : 4; + $async$goto = A._asString(t1.$dartModuleStrategy) === "require-js" ? 2 : 4; break; case 2: // then @@ -23914,30 +23976,32 @@ break; case 4: // else - if (J.$eq$(self.$dartModuleStrategy, "legacy")) + if (A._asString(t1.$dartModuleStrategy) === "legacy") restarter = new A.LegacyRestarter(); else - throw A.wrapException(A.StateError$("Unknown module strategy: " + A.S(self.$dartModuleStrategy))); + throw A.wrapException(A.StateError$("Unknown module strategy: " + A.S(A.getProperty(A.staticInteropGlobalContext(), "$dartModuleStrategy", type$.String)))); case 3: // join manager = new A.ReloadingManager(client, restarter); - self.$dartHotRestartDwds = A.allowInterop(new A.main__closure(manager), type$.Promise_bool_Function_String); - t3 = $.Zone__current; - t4 = Math.max(100, 1); - t5 = A.StreamController_StreamController(null, null, false, type$.DebugEvent); - t6 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent); - debugEventController = new A.BatchedStreamController(t4, 1000, t5, t6, new A._AsyncCompleter(new A._Future(t3, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent); - t3 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent); - t4 = A.ListQueue$(type$._EventRequest_dynamic); - t7 = type$.StreamQueue_DebugEvent; - debugEventController.set$__BatchedStreamController__inputQueue_A(t7._as(new A.StreamQueue(new A._ControllerStream(t5, A._instanceType(t5)._eval$1("_ControllerStream<1>")), new A.QueueList(t3, 0, 0, type$.QueueList_Result_DebugEvent), t4, t7))); + t3 = type$.Function; + t4 = type$.LegacyJavaScriptObject; + t1.$dartHotRestartDwds = t4._as(A.allowInterop(new A.main__closure(manager), t3)); + t5 = $.Zone__current; + t6 = Math.max(100, 1); + t7 = A.StreamController_StreamController(null, null, false, type$.DebugEvent); + t8 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent); + debugEventController = new A.BatchedStreamController(t6, 1000, t7, t8, new A._AsyncCompleter(new A._Future(t5, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent); + t5 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent); + t6 = A.ListQueue$(type$._EventRequest_dynamic); + t9 = type$.StreamQueue_DebugEvent; + debugEventController.set$__BatchedStreamController__inputQueue_A(t9._as(new A.StreamQueue(new A._ControllerStream(t7, A._instanceType(t7)._eval$1("_ControllerStream<1>")), new A.QueueList(t5, 0, 0, type$.QueueList_Result_DebugEvent), t6, t9))); A.safeUnawaited(debugEventController._batchAndSendEvents$0()); - new A._ControllerStream(t6, A._instanceType(t6)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client)); - self.$emitDebugEvent = A.allowInterop(new A.main__closure1(debugEventController), type$.void_Function_String_String); - self.$emitRegisterEvent = A.allowInterop(new A.main__closure2(client), type$.void_Function_String); - self.$launchDevTools = A.allowInterop(new A.main__closure3(client), type$.void_Function); + new A._ControllerStream(t8, A._instanceType(t8)._eval$1("_ControllerStream<1>")).listen$1(new A.main__closure0(client)); + t1.$emitDebugEvent = t4._as(A.allowInterop(new A.main__closure1(debugEventController), t3)); + t1.$emitRegisterEvent = t4._as(A.allowInterop(new A.main__closure2(client), t3)); + t1.$launchDevTools = t4._as(A.allowInterop(new A.main__closure3(client), t3)); client.get$stream(client).listen$2$onError(new A.main__closure4(manager), new A.main__closure5()); - if (A.boolConversionCheck(self.$dwdsEnableDevToolsLaunch)) + if (A._asBool(t1.$dwdsEnableDevToolsLaunch)) A._EventStreamSubscription$(t2._as(t1.window), "keydown", type$.nullable_void_Function_JavaScriptObject._as(new A.main__closure6()), false, t2); if (A._isChromium()) { t1 = client.get$sink(); @@ -23954,19 +24018,19 @@ }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 61 + $signature: 58 }; A.main__closure.prototype = { call$1(runId) { - return A.toPromise(this.manager.hotRestart$1$runId(A._asString(runId)), type$.bool); + return A.FutureOfVoidToJSPromise_get_toJS(this.manager.hotRestart$1$runId(A._asString(runId))); }, - $signature: 62 + $signature: 59 }; A.main__closure0.prototype = { call$1(events) { var t1, t2, t3; type$.List_DebugEvent._as(events); - if (A.boolConversionCheck(self.$dartEmitDebugEvents)) { + if (A._asBool(self.$dartEmitDebugEvents)) { t1 = this.client.get$sink(); t2 = $.$get$serializers(); t3 = new A.BatchedDebugEventsBuilder(); @@ -23974,7 +24038,7 @@ A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic); } }, - $signature: 63 + $signature: 90 }; A.main___closure2.prototype = { call$1(b) { @@ -23983,21 +24047,21 @@ b.get$_debug_event$_$this().set$_events(t1); return t1; }, - $signature: 90 + $signature: 61 }; A.main__closure1.prototype = { call$2(kind, eventData) { var t1, t2; A._asString(kind); A._asString(eventData); - if (A.boolConversionCheck(self.$dartEmitDebugEvents)) { + if (A._asBool(self.$dartEmitDebugEvents)) { t1 = this.debugEventController._inputController; t2 = new A.DebugEventBuilder(); type$.nullable_void_Function_DebugEventBuilder._as(new A.main___closure1(kind, eventData)).call$1(t2); A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent); } }, - $signature: 26 + $signature: 62 }; A.main___closure1.prototype = { call$1(b) { @@ -24007,7 +24071,7 @@ b.get$_debug_event$_$this()._eventData = this.eventData; return b; }, - $signature: 65 + $signature: 63 }; A.main__closure2.prototype = { call$1(eventData) { @@ -24019,7 +24083,7 @@ type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3); A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic); }, - $signature: 15 + $signature: 64 }; A.main___closure0.prototype = { call$1(b) { @@ -24028,7 +24092,7 @@ b.get$_register_event$_$this()._register_event$_eventData = this.eventData; return b; }, - $signature: 67 + $signature: 65 }; A.main__closure3.prototype = { call$0() { @@ -24043,17 +24107,18 @@ type$.nullable_void_Function_DevToolsRequestBuilder._as(new A.main___closure()).call$1(t3); A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._devtools_request$_build$0()), null), type$.dynamic); }, - $signature: 0 + $signature: 2 }; A.main___closure.prototype = { call$1(b) { - var t1 = A._asStringQ(self.$dartAppId); - b.get$_devtools_request$_$this()._devtools_request$_appId = t1; - t1 = A._asStringQ(self.$dartAppInstanceId); + var t1 = self, + t2 = A._asString(t1.$dartAppId); + b.get$_devtools_request$_$this()._devtools_request$_appId = t2; + t1 = A._asStringQ(t1.$dartAppInstanceId); b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1; return b; }, - $signature: 68 + $signature: 66 }; A.main__closure4.prototype = { call$1(serialized) { @@ -24062,7 +24127,7 @@ $call$body$main__closure(serialized) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, t1, $alert, t2, $event; + $async$self = this, t1, t2, $alert, $event; var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -24075,18 +24140,19 @@ break; case 2: // then - $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.liveReload") ? 5 : 7; + t1 = self; + $async$goto = A._asString(t1.$dartReloadConfiguration) === "ReloadConfiguration.liveReload" ? 5 : 7; break; case 5: // then - t1 = type$.JavaScriptObject; - t1._as(t1._as(self.window).location).reload(); + t2 = type$.JavaScriptObject; + t2._as(t2._as(t1.window).location).reload(); // goto join $async$goto = 6; break; case 7: // else - $async$goto = J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotRestart") ? 8 : 10; + $async$goto = A._asString(t1.$dartReloadConfiguration) === "ReloadConfiguration.hotRestart" ? 8 : 10; break; case 8: // then @@ -24099,7 +24165,7 @@ break; case 10: // else - if (J.$eq$(self.$dartReloadConfiguration, "ReloadConfiguration.hotReload")) + if (A._asString(t1.$dartReloadConfiguration) === "ReloadConfiguration.hotReload") A.print("Hot reload is currently unsupported. Ignoring change."); case 9: // join @@ -24132,7 +24198,7 @@ }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 69 + $signature: 67 }; A.main__closure5.prototype = { call$1(error) { @@ -24143,22 +24209,23 @@ call$1(e) { if (B.JSArray_methods.contains$1(B.List_er0, A._asString(e.key)) && A._asBool(e.altKey) && !A._asBool(e.ctrlKey) && !A._asBool(e.metaKey)) { e.preventDefault(); - self.$launchDevTools.call$0(); + type$.LegacyJavaScriptObject._as(self.$launchDevTools).call(); } }, $signature: 1 }; A.main__closure7.prototype = { call$1(b) { - var t1 = A._asStringQ(self.$dartAppId); - b.get$_connect_request$_$this()._appId = t1; - t1 = A._asStringQ(self.$dartAppInstanceId); - b.get$_connect_request$_$this()._instanceId = t1; - t1 = A._asStringQ(self.$dartEntrypointPath); + var t1 = self, + t2 = A._asString(t1.$dartAppId); + b.get$_connect_request$_$this()._appId = t2; + t2 = A._asStringQ(t1.$dartAppInstanceId); + b.get$_connect_request$_$this()._instanceId = t2; + t1 = A._asString(t1.$dartEntrypointPath); b.get$_connect_request$_$this()._entrypointPath = t1; return b; }, - $signature: 70 + $signature: 68 }; A.main_closure0.prototype = { call$2(error, stackTrace) { @@ -24166,48 +24233,49 @@ type$.StackTrace._as(stackTrace); A.print("Unhandled error detected in the injected client.js script.\n\nYou can disable this script in webdev by passing --no-injected-client if it\nis preventing your app from loading, but note that this will also prevent\nall debugging and hot reload/restart functionality from working.\n\nThe original error is below, please file an issue at\nhttps://github.com/dart-lang/webdev/issues/new and attach this output:\n\n" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n"); }, - $signature: 11 + $signature: 10 }; A._launchCommunicationWithDebugExtension_closure.prototype = { call$1(b) { - var t2, t3, - t1 = A._asStringQ(self.$dartEntrypointPath); - b.get$_$this()._appEntrypointPath = t1; - t1 = self; - t2 = type$.JavaScriptObject; - t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartAppId")); + var t3, t4, + t1 = self, + t2 = A._asString(t1.$dartEntrypointPath); + b.get$_$this()._appEntrypointPath = t2; + t2 = type$.JSObject; + t3 = A._asStringQ(A.dartify(t2._as(t1.window).$dartAppId)); b.get$_$this()._debug_info$_appId = t3; - t3 = A._asStringQ(self.$dartAppInstanceId); + t3 = A._asStringQ(t1.$dartAppInstanceId); b.get$_$this()._appInstanceId = t3; - t3 = A._asString(t2._as(t2._as(t1.window).location).origin); - b.get$_$this()._appOrigin = t3; - t3 = A._asString(t2._as(t2._as(t1.window).location).href); + t3 = type$.JavaScriptObject; + t4 = A._asString(t3._as(t3._as(t1.window).location).origin); + b.get$_$this()._appOrigin = t4; + t3 = A._asString(t3._as(t3._as(t1.window).location).href); b.get$_$this()._appUrl = t3; t3 = A._authUrl(); b.get$_$this()._authUrl = t3; - t3 = A._asStringQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$dartExtensionUri")); + t3 = A._asStringQ(A.dartify(t2._as(t1.window).$dartExtensionUri)); b.get$_$this()._extensionUrl = t3; - t3 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isInternalBuild")); + t3 = A._asBoolQ(A.dartify(t2._as(t1.window).$isInternalBuild)); b.get$_$this()._isInternalBuild = t3; - t1 = A._asBoolQ(A.JsObject_JsObject$fromBrowserObject(t2._as(t1.window)).$index(0, "$isFlutterApp")); - b.get$_$this()._isFlutterApp = t1; - t1 = A._asStringQ(self.$dartWorkspaceName); + t2 = A._asBoolQ(A.dartify(t2._as(t1.window).$isFlutterApp)); + b.get$_$this()._isFlutterApp = t2; + t1 = A._asStringQ(t1.$dartWorkspaceName); b.get$_$this()._workspaceName = t1; return b; }, - $signature: 71 + $signature: 69 }; A._handleAuthRequest_closure.prototype = { call$1(isAuthenticated) { return A._dispatchEvent("dart-auth-response", "" + A._asBool(isAuthenticated)); }, - $signature: 72 + $signature: 70 }; A.LegacyRestarter.prototype = { restart$1$runId(runId) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, t1, t2, dartLibrary; + $async$returnValue, t3, t1, t2, dartLibrary; var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -24215,17 +24283,17 @@ switch ($async$goto) { case 0: // Function start - dartLibrary = type$.JsObject._as($.$get$_context().$index(0, "dart_library")); + t1 = self; + t2 = type$.JSObject; + dartLibrary = t2._as(t2._as(t1.window).dart_library); + t2 = type$.nullable_Object; if (runId == null) - dartLibrary.callMethod$1("reload"); - else { - t1 = type$.String; - t1 = A.LinkedHashMap_LinkedHashMap$_literal(["runId", runId], t1, t1); - dartLibrary.callMethod$2("reload", [A._wrapToDart(A.JsObject__convertDataTree(t1))]); - } - t1 = new A._Future($.Zone__current, type$._Future_bool); - t2 = type$.JavaScriptObject; - $async$returnValue = t1.then$1$1(0, new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2._as(self.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_bool))), false, t2)), type$.bool); + A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", null, null, t2); + else + A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", runId, null, t2); + t2 = new A._Future($.Zone__current, type$._Future_bool); + t3 = type$.JavaScriptObject; + $async$returnValue = t2.then$1$1(new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t3._as(t1.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t2, type$._AsyncCompleter_bool))), false, t3)), type$.bool); // goto return $async$goto = 1; break; @@ -24258,7 +24326,7 @@ this.sub.cancel$0(0); return value; }, - $signature: 73 + $signature: 71 }; A.ReloadingManager.prototype = { hotRestart$1$runId(runId) { @@ -24304,25 +24372,6 @@ t1.add$1(0, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(new A.IsolateStartBuilder()._isolate_events$_build$0()), null)); } }; - A.Promise.prototype = {}; - A.toPromise_closure.prototype = { - call$2(resolve, reject) { - this.T._eval$1("~(0)")._as(resolve); - type$.void_Function_dynamic._as(reject); - this.future.then$1$1(0, resolve, type$.void).catchError$1(reject); - }, - $signature() { - return this.T._eval$1("~(~(0),~(@))"); - } - }; - A.toFuture_closure.prototype = { - call$1(e) { - var t1 = e == null ? type$.Object._as(e) : e; - return this.completer.completeError$2(t1, A.StackTrace_current()); - }, - $signature: 5 - }; - A.RequireLoader.prototype = {}; A.HotReloadFailedException.prototype = { toString$0(_) { return "HotReloadFailedException: '" + this._s + "'"; @@ -24332,7 +24381,7 @@ restart$1$runId(runId) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, $async$self = this, newDigests, modulesToLoad, t4, t5, t6, t7, line, toZone, t8, result, developer, t1, t2, t3; + $async$returnValue, $async$self = this, newDigests, modulesToLoad, t4, t5, t6, t7, t8, line, toZone, t9, result, t1, t2, t3, sdk, dart, developer; var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -24340,17 +24389,18 @@ switch ($async$goto) { case 0: // Function start - developer = self.$loadModuleConfig.call$1("dart_sdk").developer; - t1 = developer == null; - t2 = t1 ? type$.Object._as(developer) : developer; - t3 = type$.Object; - $async$goto = A._asBool(t3._as(t2._extensions).containsKey("ext.flutter.disassemble")) ? 3 : 4; + t1 = self; + t2 = type$.nullable_Object; + t3 = type$.JSObject; + sdk = t3._as(A.callMethod(type$.LegacyJavaScriptObject._as(t1.$loadModuleConfig), "call", [null, "dart_sdk"], t2)); + dart = t3._as(sdk.dart); + developer = t3._as(sdk.developer); + $async$goto = A._asBool(A.dartify(A.JSObjectUnsafeUtilExtension_callMethod(t3._as(developer._extensions), "containsKey", "ext.flutter.disassemble", null, t2))) ? 3 : 4; break; case 3: // then - t1 = t1 ? t3._as(developer) : developer; $async$goto = 5; - return A._asyncAwait(A.toFuture(type$.Promise_void._as(t1.invokeExtension("ext.flutter.disassemble", "{}")), type$.void), $async$restart$1$runId); + return A._asyncAwait(type$.Future_nullable_Object._as(A.dartify(A.JSObjectUnsafeUtilExtension_callMethod(developer, "invokeExtension", "ext.flutter.disassemble", "{}", t2))), $async$restart$1$runId); case 5: // returning from await. case 4: @@ -24361,31 +24411,31 @@ // returning from await. newDigests = $async$result; modulesToLoad = A._setArrayType([], type$.JSArray_String); - for (t1 = J.getInterceptor$x(newDigests), t2 = J.get$iterator$ax(t1.get$keys(newDigests)), t4 = $.___lastKnownDigests.__late_helper$_name, t5 = type$.JavaScriptObject; t2.moveNext$0();) { - t6 = t2.get$current(t2); - t7 = $.___lastKnownDigests.__late_helper$_value; - if (t7 === $.___lastKnownDigests) - A.throwExpression(A.LateError$fieldNI(t4)); - if (!J.containsKey$1$x(t7, t6)) { - line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t6 + "."; + for (t3 = J.getInterceptor$x(newDigests), t4 = J.get$iterator$ax(t3.get$keys(newDigests)), t5 = $.RequireRestarter____lastKnownDigests._name, t6 = type$.JavaScriptObject; t4.moveNext$0();) { + t7 = t4.get$current(t4); + t8 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; + if (t8 === $.RequireRestarter____lastKnownDigests) + A.throwExpression(A.LateError$fieldNI(t5)); + if (!J.containsKey$1$x(t8, t7)) { + line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t7 + "."; toZone = $.printToZone; if (toZone == null) A.printString(line); else toZone.call$1(line); - t5._as(t5._as(self.window).location).reload(); + t6._as(t6._as(t1.window).location).reload(); } else { - t7 = $.___lastKnownDigests.__late_helper$_value; - if (t7 === $.___lastKnownDigests) - A.throwExpression(A.LateError$fieldNI(t4)); - if (!J.$eq$(J.$index$asx(t7, t6), t1.$index(newDigests, t6))) { - t7 = $.___lastKnownDigests.__late_helper$_value; - if (t7 === $.___lastKnownDigests) - A.throwExpression(A.LateError$fieldNI(t4)); - t8 = t1.$index(newDigests, t6); - t8.toString; - J.$indexSet$ax(t7, t6, t8); - B.JSArray_methods.add$1(modulesToLoad, t6); + t8 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; + if (t8 === $.RequireRestarter____lastKnownDigests) + A.throwExpression(A.LateError$fieldNI(t5)); + if (!J.$eq$(J.$index$asx(t8, t7), t3.$index(newDigests, t7))) { + t8 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; + if (t8 === $.RequireRestarter____lastKnownDigests) + A.throwExpression(A.LateError$fieldNI(t5)); + t9 = t3.$index(newDigests, t7); + t9.toString; + J.$indexSet$ax(t8, t7, t9); + B.JSArray_methods.add$1(modulesToLoad, t7); } } } @@ -24407,7 +24457,7 @@ result = true; case 8: // join - t3._as(self.$loadModuleConfig.call$1("dart_sdk").dart).hotRestart(); + A.JSObjectUnsafeUtilExtension_callMethod(dart, "hotRestart", runId == null ? null : runId, null, t2); A.runMain(); $async$returnValue = result; // goto return @@ -24436,10 +24486,10 @@ $async$temp2 = type$.Map_dynamic_dynamic; $async$temp3 = A; $async$goto = 3; - return A._asyncAwait(A.HttpRequest_request(J.get$digestsPath$x(self.$requireLoader), "GET", "json", null), $async$_getDigests$0); + return A._asyncAwait(A.HttpRequest_request(A._asString(type$.JavaScriptObject._as(self.$requireLoader).digestsPath), "GET", "json", null), $async$_getDigests$0); case 3: // returning from await. - $async$returnValue = $async$temp1.cast$2$0$x($async$temp2._as($async$temp3.dartify($async$result.response)), t1, t1); + $async$returnValue = $async$temp1.cast$2$0$ax($async$temp2._as($async$temp3.dartify($async$result.response)), t1, t1); // goto return $async$goto = 1; break; @@ -24461,7 +24511,7 @@ switch ($async$goto) { case 0: // Function start - $async$temp1 = $.___lastKnownDigests; + $async$temp1 = $.RequireRestarter____lastKnownDigests; $async$goto = 2; return A._asyncAwait($async$self._getDigests$0(), $async$_initialize$0); case 2: @@ -24476,7 +24526,8 @@ _moduleParents$1(module) { var t1; A._asString(module); - t1 = type$.nullable_JSArray_nullable_Object._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), module)); + t1 = type$.JavaScriptObject; + t1 = A.callMethod(t1._as(t1._as(self.$requireLoader).moduleParentsGraph), "get", [module], type$.nullable_JSArray_nullable_Object); if (t1 == null) t1 = null; else { @@ -24508,7 +24559,7 @@ _reload$body$RequireRestarter(modules) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, e, t2, t3, t4, t5, t6, t7, t8, parentIds0, exception, t1, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, mainLibrary, e, t6, t7, t8, t9, exception, t1, t2, t3, t4, dart, t5, $async$exception; var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -24518,13 +24569,18 @@ switch ($async$goto) { case 0: // Function start - t1 = $async$self._running.future; - $async$goto = (t1._state & 30) === 0 ? 3 : 4; + t1 = self; + t2 = type$.LegacyJavaScriptObject; + t3 = type$.nullable_Object; + t4 = type$.JSObject; + dart = t4._as(t4._as(A.callMethod(t2._as(t1.$loadModuleConfig), "call", [null, "dart_sdk"], t3)).dart); + t5 = $async$self._running.future; + $async$goto = (t5._state & 30) === 0 ? 3 : 4; break; case 3: // then $async$goto = 5; - return A._asyncAwait(t1, $async$_reload$1); + return A._asyncAwait(t5, $async$_reload$1); case 5: // returning from await. $async$returnValue = $async$result; @@ -24536,56 +24592,58 @@ $async$self.set$_running(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool)); reloadedModules = 0; $async$handler = 7; - t1 = $async$self.__RequireRestarter__dirtyModules_A; - t1 === $ && A.throwLateFieldNI("_dirtyModules"); - t1.addAll$1(0, modules); + t5 = $async$self.__RequireRestarter__dirtyModules_A; + t5 === $ && A.throwLateFieldNI("_dirtyModules"); + t5.addAll$1(0, modules); previousModuleId = null; - t1 = $async$self.get$_moduleTopologicalCompare(), t2 = type$.String, t3 = type$.nullable_JSArray_nullable_Object, t4 = type$.JSArray_String, t5 = type$.Object, t6 = type$.JSObject, t7 = type$.dynamic_Function; + t5 = $async$self.get$_moduleTopologicalCompare(), t6 = type$.JavaScriptObject, t7 = type$.Function, t8 = type$.JSArray_nullable_Object; case 10: // for condition - if (!(t8 = $async$self.__RequireRestarter__dirtyModules_A, t8._root != null)) { + if (!(t9 = $async$self.__RequireRestarter__dirtyModules_A, t9._root != null)) { // goto after for $async$goto = 11; break; } - if (t8._count === 0) + if (t9._count === 0) A.throwExpression(A.IterableElementError_noElement()); - moduleId = t8.get$_collection$_first().key; + moduleId = t9.get$_collection$_first().key; $async$self.__RequireRestarter__dirtyModules_A.remove$1(0, moduleId); - t8 = A._asString(moduleId); - t8 = t3._as(J.$get$1$x(J.get$moduleParentsGraph$x(self.$requireLoader), t8)); - if (t8 == null) - parentIds0 = null; - else { - t8 = A.JSArrayExtension_toDartIterable(t8, t2); - t8 = A.List_List$of(t8, true, t8.$ti._eval$1("ListIterable.E")); - parentIds0 = t8; - } - parentIds = parentIds0 == null ? A._setArrayType([], t4) : parentIds0; + t9 = A._asString(moduleId); + parentIds = A.ModuleDependencyGraph_parents(t6._as(t6._as(t1.$requireLoader).moduleParentsGraph), t9); $async$goto = J.get$length$asx(parentIds) === 0 ? 12 : 14; break; case 12: // then - childModule = t6._as(t5._as(self.$loadModuleConfig.call$1("dart_sdk").dart).getModuleLibraries(previousModuleId)); - self.$dartRunMain = A.allowInterop(new A.RequireRestarter__reload_closure(childModule), t7); + t9 = previousModuleId; + if (t9 == null) + t9 = null; + childModule = t4._as(A.JSObjectUnsafeUtilExtension__callMethod(dart, "getModuleLibraries", t9, null, null, null)); + t9 = t1.Object; + t9 = A.JSArrayExtension_toDartIterable(t8._as(t9.values.apply(t9, [childModule])), t3); + if (t9.get$length(0) === 0) + A.throwExpression(A.IterableElementError_noElement()); + t9 = t9.elementAt$1(0, 0); + t9.toString; + mainLibrary = t4._as(t9); + t1.$dartRunMain = t2._as(A.allowInterop(new A.RequireRestarter__reload_closure(mainLibrary), t7)); // goto join $async$goto = 13; break; case 14: // else - t8 = reloadedModules; - if (typeof t8 !== "number") { - $async$returnValue = t8.$add(); + t9 = reloadedModules; + if (typeof t9 !== "number") { + $async$returnValue = t9.$add(); // goto return $async$goto = 1; break; } - reloadedModules = t8 + 1; + reloadedModules = t9 + 1; $async$goto = 15; return A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1); case 15: // returning from await. - J.sort$1$ax(parentIds, t1); + J.sort$1$ax(parentIds, t5); $async$self.__RequireRestarter__dirtyModules_A.addAll$1(0, parentIds); previousModuleId = moduleId; case 13: @@ -24605,12 +24663,12 @@ // catch $async$handler = 6; $async$exception = $async$currentError; - t1 = A.unwrapException($async$exception); - if (t1 instanceof A.HotReloadFailedException) { - e = t1; + t2 = A.unwrapException($async$exception); + if (t2 instanceof A.HotReloadFailedException) { + e = t2; A.print("Error during script reloading. Firing full page reload. " + A.S(e)); - t1 = type$.JavaScriptObject; - t1._as(t1._as(self.window).location).reload(); + t2 = type$.JavaScriptObject; + t2._as(t2._as(t1.window).location).reload(); $async$self._running.complete$1(0, false); } else throw $async$exception; @@ -24641,22 +24699,27 @@ _reloadModule$1(moduleId) { var t1 = new A._Future($.Zone__current, type$._Future_dynamic), completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_dynamic), - stackTrace = A.StackTrace_current(); - J.forceLoadModule$3$x(self.$requireLoader, moduleId, A.allowInterop(type$.void_Function_$opt_dynamic._as(completer.get$complete(completer)), type$.void_Function), A.allowInterop(new A.RequireRestarter__reloadModule_closure(completer, stackTrace), type$.void_Function_JsError)); + stackTrace = A.StackTrace_current(), + t2 = type$.Function, + t3 = type$.LegacyJavaScriptObject; + A.callMethod(type$.JavaScriptObject._as(self.$requireLoader), "forceLoadModule", [moduleId, t3._as(A.allowInterop(new A.RequireRestarter__reloadModule_closure(completer), t2)), t3._as(A.allowInterop(new A.RequireRestarter__reloadModule_closure0(completer, stackTrace), t2))], type$.void); return t1; }, _updateGraph$0() { - var i, t2, t3, _i, - t1 = type$.String, - stronglyConnectedComponents = A.stronglyConnectedComponents(A.JSArrayExtension_toDartIterable(self.Array.from(J.keys$0$x(J.get$moduleParentsGraph$x(self.$requireLoader))), t1), this.get$_moduleParents(), t1); - t1 = this._moduleOrdering; - if (t1._collection$_length > 0) { - t1._collection$_strings = t1._collection$_nums = t1._collection$_rest = t1._keys = null; - t1._collection$_length = 0; + var t3, stronglyConnectedComponents, i, _i, + t1 = self, + t2 = type$.JavaScriptObject; + t2 = t2._as(t2._as(t1.$requireLoader).moduleParentsGraph); + t3 = type$.String; + stronglyConnectedComponents = A.stronglyConnectedComponents(A.JSArrayExtension_toDartIterable(A.callMethod(t1.Array, "from", [type$.JSObject._as(t2.keys())], type$.JSArray_nullable_Object), t3), this.get$_moduleParents(), t3); + t3 = this._moduleOrdering; + if (t3._collection$_length > 0) { + t3._collection$_strings = t3._collection$_nums = t3._collection$_rest = t3._keys = null; + t3._collection$_length = 0; } for (i = 0; i < stronglyConnectedComponents.length; ++i) - for (t2 = stronglyConnectedComponents[i], t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) - t1.$indexSet(0, t2[_i], i); + for (t1 = stronglyConnectedComponents[i], t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) + t3.$indexSet(0, t1[_i], i); }, set$__RequireRestarter__dirtyModules_A(__RequireRestarter__dirtyModules_A) { this.__RequireRestarter__dirtyModules_A = type$.SplayTreeSet_String._as(__RequireRestarter__dirtyModules_A); @@ -24668,15 +24731,21 @@ }; A.RequireRestarter__reload_closure.prototype = { call$0() { - A.JSArrayExtension_toDartIterable(self.Object.values(this.childModule), type$.nullable_Object).get$first(0).main(); + A.JSObjectUnsafeUtilExtension_callMethod(this.mainLibrary, "main", null, null, type$.nullable_Object); }, - $signature: 4 + $signature: 2 }; A.RequireRestarter__reloadModule_closure.prototype = { + call$0() { + this.completer.complete$0(0); + }, + $signature: 2 + }; + A.RequireRestarter__reloadModule_closure0.prototype = { call$1(e) { - this.completer.completeError$2(new A.HotReloadFailedException(J.get$message$x(type$.JsError._as(e))), this.stackTrace); + this.completer.completeError$2(new A.HotReloadFailedException(A._asString(type$.JavaScriptObject._as(e).message)), this.stackTrace); }, - $signature: 76 + $signature: 74 }; A.runMain_closure.prototype = { call$0() { @@ -24684,8 +24753,6 @@ }, $signature: 0 }; - A.JsError.prototype = {}; - A.JsMap.prototype = {}; A.JSArrayExtension_toDartIterable_closure.prototype = { call$1(e) { return this.T._as(A.dartify(e)); @@ -24706,13 +24773,6 @@ _.super$_HashMap$_containsKey = _._containsKey$1; _.super$_HashMap$_get = _._get$1; _.super$_HashMap$_set = _._set$2; - _ = A.Object.prototype; - _.super$Object$toString = _.toString$0; - _ = A.JsObject.prototype; - _.super$JsObject$$index = _.$index; - _.super$JsObject$$indexSet = _.$indexSet; - _ = A._JsArray_JsObject_ListMixin.prototype; - _.super$_JsArray_JsObject_ListMixin$$indexSet = _.$indexSet; })(); (function installTearOffs() { var _static_2 = hunkHelpers._static_2, @@ -24724,101 +24784,97 @@ _instance_1_i = hunkHelpers._instance_1i, _instance_0_u = hunkHelpers._instance_0u, _instance_1_u = hunkHelpers._instance_1u; - _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 77); - _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 10); - _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 10); - _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 10); + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 75); + _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 9); + _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 9); + _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 9); _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); - _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 5); - _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 11); + _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 8); + _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 10); _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 79, 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 77, 0); _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { return A._rootRun($self, $parent, zone, f, type$.dynamic); - }], 80, 1); + }], 78, 1); _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { return A._rootRunUnary($self, $parent, zone, f, arg, type$.dynamic, type$.dynamic); - }], 81, 1); + }], 79, 1); _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, type$.dynamic, type$.dynamic, type$.dynamic); - }], 82, 1); + }], 80, 1); _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); - }], 83, 0); + }], 81, 0); _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { return A._rootRegisterUnaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic); - }], 84, 0); + }], 82, 0); _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { return A._rootRegisterBinaryCallback($self, $parent, zone, f, type$.dynamic, type$.dynamic, type$.dynamic); - }], 85, 0); - _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 86, 0); - _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 87, 0); - _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 88, 0); - _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 89, 0); - _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 64, 0); - _static_1(A, "async___printToZone$closure", "_printToZone", 15); + }], 83, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 84, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 85, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 86, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 87, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 88, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 89); _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 60, 0); - _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 28, 0, 0); - _instance(A._AsyncCompleter.prototype, "get$complete", 1, 0, function() { - return [null]; - }, ["call$1", "call$0"], ["complete$1", "complete$0"], 55, 0, 0); - _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 11); + _instance(A._Completer.prototype, "get$completeError", 0, 1, null, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 14, 0, 0); + _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 10); var _; - _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 16); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 15); _instance(_, "get$addError", 0, 1, function() { return [null]; - }, ["call$2", "call$1"], ["addError$2", "addError$1"], 28, 0, 0); + }, ["call$2", "call$1"], ["addError$2", "addError$1"], 14, 0, 0); _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); - _instance_1_u(_, "get$_handleData", "_handleData$1", 16); - _instance_2_u(_, "get$_handleError", "_handleError$2", 17); + _instance_1_u(_, "get$_handleData", "_handleData$1", 15); + _instance_2_u(_, "get$_handleError", "_handleError$2", 16); _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); - _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 12); - _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 13); - _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 2); - _static_1(A, "core__identityHashCode$closure", "identityHashCode", 13); - _static_2(A, "core__identical$closure", "identical", 12); - _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 5); - _static_1(A, "js___convertToJS$closure", "_convertToJS", 9); - _static_1(A, "js___convertToDart$closure", "_convertToDart", 3); - _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 12); - _instance_1_i(_, "get$hash", "hash$1", 13); - _instance_1_u(_, "get$isValidKey", "isValidKey$1", 49); + _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 13); + _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 11); + _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 4); + _static_1(A, "core__identityHashCode$closure", "identityHashCode", 11); + _static_2(A, "core__identical$closure", "identical", 13); + _instance_1_i(A.WebSocket.prototype, "get$send", "send$1", 8); + _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 13); + _instance_1_i(_, "get$hash", "hash$1", 11); + _instance_1_u(_, "get$isValidKey", "isValidKey$1", 46); _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 1); _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 1); _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0); - _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 56); + _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 53); _static_1(A, "client___handleAuthRequest$closure", "_handleAuthRequest", 1); - _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 74); - _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 75); + _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 72); + _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 73); })(); (function inheritance() { var _mixin = hunkHelpers.mixin, - _mixinHard = hunkHelpers.mixinHard, _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(A.Object, null); - _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.MapBase, A.Closure, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription0, A.ImmutableListMixin, A.FixedSizeListIterator, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.EventStreamProvider0, A._EventStreamSubscription, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.MapBase, A.Closure, A.Error, A.SentinelValue, A.ListIterator, A.MappedIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.ListBase, A.Symbol, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A._JsonStringifier, A._Utf8Encoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription0, A.ImmutableListMixin, A.FixedSizeListIterator, A._AcceptStructuredClone, A.NullRejectionException, A._JSRandom, A._Random, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.Level, A.LogRecord, A.Logger, A.Pool, A.PoolResource, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.Uuid, A.EventStreamProvider0, A._EventStreamSubscription, A.WebSocketChannelException, A.LegacyRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); - _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.KeyRange, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]); - _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.Promise, A.RequireLoader, A.JsError, A.JsMap]); + _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.Event, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.Location, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin]); + _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]); _inherit(J.JSUnmodifiableArray, J.JSArray); _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); - _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]); + _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.TakeIterable, A.SkipIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable]); _inherit(A.CastIterable, A._CastIterableBase); _inherit(A._EfficientLengthCastIterable, A.CastIterable); _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]); - _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.toFuture_closure, A.RequireRestarter__reloadModule_closure, A.JSArrayExtension_toDartIterable_closure]); - _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0, A.toPromise_closure]); + _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A.SplayTreeSet_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A._EventStreamSubscription_closure0, A._EventStreamSubscription_onData_closure0, A.FutureOfVoidToJSPromise_get_toJS__closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.WebSocketClient_stream_closure, A.Pool__runOnRelease_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.HttpRequest_request_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2, A.main__closure, A.main__closure0, A.main___closure2, A.main___closure1, A.main__closure2, A.main___closure0, A.main___closure, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A.LegacyRestarter_restart_closure0, A.LegacyRestarter_restart_closure, A.RequireRestarter__reloadModule_closure0, A.JSArrayExtension_toDartIterable_closure]); + _inheritMany(A.Closure2Args, [A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A._symbolMapToStringMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._AcceptStructuredClone_walk_closure, A.FutureOfVoidToJSPromise_get_toJS_closure, A.FutureOfVoidToJSPromise_get_toJS__closure0, A.AudioParamMap_keys_closure, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.safeUnawaited_closure, A.Pool__runOnRelease_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure1, A.main_closure0]); _inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.JsonUnsupportedObjectError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]); - _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.runMain_closure]); + _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.Logger_Logger_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure, A.main__closure3, A.RequireRestarter__reload_closure, A.RequireRestarter__reloadModule_closure, A.runMain_closure]); _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]); _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]); _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); + _inherit(A.EfficientLengthTakeIterable, A.TakeIterable); + _inherit(A.EfficientLengthSkipIterable, A.SkipIterable); _inherit(A.UnmodifiableListBase, A.ListBase); _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView); _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin); @@ -24860,7 +24916,7 @@ _inherit(A.Utf8Codec, A.Encoding); _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]); _inherit(A._DataUri, A._Uri); - _inheritMany(A.EventTarget, [A.Node, A.FileWriter, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.Window, A.WorkerGlobalScope, A.AudioTrackList, A.BaseAudioContext]); + _inheritMany(A.EventTarget, [A.Node, A.FileWriter, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket, A.AudioTrackList, A.BaseAudioContext]); _inheritMany(A.Node, [A.Element, A.CharacterData]); _inherit(A.HtmlElement, A.Element); _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.FormElement, A.SelectElement]); @@ -24909,8 +24965,6 @@ _inherit(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin); _inherit(A._StyleSheetList, A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin); _inherit(A._AcceptStructuredCloneDart2Js, A._AcceptStructuredClone); - _inheritMany(A.JsObject, [A.JsFunction, A._JsArray_JsObject_ListMixin]); - _inherit(A.JsArray, A._JsArray_JsObject_ListMixin); _inherit(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A._LengthList_JavaScriptObject_ListMixin); _inherit(A.LengthList, A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin); _inherit(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NumberList_JavaScriptObject_ListMixin); @@ -24998,7 +25052,6 @@ _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin, A.ListBase); _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); - _mixinHard(A._JsArray_JsObject_ListMixin, A.ListBase); _mixin(A._LengthList_JavaScriptObject_ListMixin, A.ListBase); _mixin(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin); _mixin(A._NumberList_JavaScriptObject_ListMixin, A.ListBase); @@ -25014,13 +25067,13 @@ typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"}, mangledNames: {}, - types: ["~()", "~(JavaScriptObject)", "@(@)", "Object?(@)", "Null()", "~(@)", "~(String,@)", "Null(@)", "Null(Object,StackTrace)", "Object?(Object?)", "~(~())", "~(Object,StackTrace)", "bool(Object?,Object?)", "int(Object?)", "~(Uint8List,String,int)", "~(String)", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "bool()", "Future()", "~(String,String)", "~(Event)", "~(Object[StackTrace?])", "String(int,int)", "Null(Event)", "IndentingBuiltValueToStringHelper(String)", "_Future<@>(@)", "@(@,@)", "@(Object?)", "JsFunction(@)", "JsArray<@>(@)", "JsObject(@)", "Null(~())", "int(int,@)", "@(@,String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "SetBuilder()", "SetMultimapBuilder()", "Null(@,StackTrace)", "~(int,@)", "String(String)", "bool(Object?)", "ListBuilder()", "ListBuilder()", "~(String,int?)", "String(@)", "Logger()", "~([Object?])", "~(String?)", "Uint8List(@,@)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "~(MessageEvent)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "Future<~>()", "Promise<1&>(String)", "~(List)", "~(Zone,ZoneDelegate,Zone,String)", "DebugEventBuilder(DebugEventBuilder)", "~(String,int)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List(String)", "int(String,String)", "~(JsError)", "int(@,@)", "@(String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "ListBuilder(BatchedDebugEventsBuilder)", "Null(CloseEvent)"], + types: ["~()", "~(JavaScriptObject)", "Null()", "Object?(@)", "@(@)", "Null(Object,StackTrace)", "~(String,@)", "Null(@)", "~(@)", "~(~())", "~(Object,StackTrace)", "int(Object?)", "Object?(Object?)", "bool(Object?,Object?)", "~(Object[StackTrace?])", "~(Object?)", "~(@,StackTrace)", "bool(@)", "~(@,@)", "~(Object?,Object?)", "int(int,int)", "int(int)", "~(Symbol0,@)", "~(Uint8List,String,int)", "Future()", "~(Event)", "bool()", "String(int,int)", "Null(Event)", "~(String,String)", "Null(~())", "Null(@,StackTrace)", "@(@,@)", "Null(LegacyJavaScriptObject,LegacyJavaScriptObject)", "Object?(~)", "~(int,@)", "int(int,@)", "IndentingBuiltValueToStringHelper(String)", "ListBuilder()", "ListMultimapBuilder()", "MapBuilder()", "SetBuilder()", "SetMultimapBuilder()", "@(String)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "_Future<@>(@)", "bool(Object?)", "ListBuilder()", "ListBuilder()", "~(String,int)", "String(@)", "Logger()", "~(String,int?)", "~(String?)", "String(String)", "Uint8List(@,@)", "~(MessageEvent)", "Null(CloseEvent)", "Future<~>()", "JSObject(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "ListBuilder(BatchedDebugEventsBuilder)", "Null(String,String)", "DebugEventBuilder(DebugEventBuilder)", "Null(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "bool(bool)", "List(String)", "int(String,String)", "Null(JavaScriptObject)", "int(@,@)", "@(@,String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "~(List)"], interceptorsByTag: null, leafTags: null, arrayRti: Symbol("$ti") }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","RequireLoader":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","JsMap":"LegacyJavaScriptObject","Accelerometer0":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","DedicatedWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"Promise":["1&"],"JsError":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TypedData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"TypedData":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"TypedData":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"TypedData":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Window":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"KeyRange":{"JavaScriptObject":[],"JSObject":[]},"JsFunction":{"JsObject":[]},"JsArray":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"JsObject":[],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]}}')); - A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_JsArray_JsObject_ListMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Accelerometer0":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","JavaScriptObject":{"JSObject":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeFloat64List":{"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double"},"NativeInt16List":{"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt32List":{"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeInt8List":{"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint16List":{"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint32List":{"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8ClampedList":{"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"NativeUint8List":{"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.1":"_SplayTreeSetNode<1>","_SplayTreeNode.K":"1"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_HashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"Base64Codec":{"Codec":["List","String"],"Codec.S":"List"},"Base64Encoder":{"Converter":["List","String"],"StreamTransformer":["List","String"]},"Base64Decoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"Converter":{"StreamTransformer":["1","2"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List"],"StreamTransformer":["String","List"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"IntegerDivisionByZeroException":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"CloseEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle"],"ImmutableListMixin":["Rectangle"],"List":["Rectangle"],"JavaScriptIndexingBehavior":["Rectangle"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle"],"JSObject":[],"Iterable":["Rectangle"],"ImmutableListMixin.E":"Rectangle","ListBase.E":"Rectangle","Iterable.E":"Rectangle"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File","Iterable.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType","Iterable.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin","Iterable.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"EventTarget":[],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer","Iterable.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar","Iterable.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue","Iterable.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"EventTarget":[],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack","Iterable.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch","Iterable.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WebSocket":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule","Iterable.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?","Iterable.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node","Iterable.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult","Iterable.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet","Iterable.E":"StyleSheet"},"_EventStream0":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription0":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length","Iterable.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number","Iterable.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String","Iterable.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform","Iterable.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"Level":{"Comparable":["Level"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"HtmlWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_HtmlWebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannel":{"StreamChannel":["@"]},"LegacyRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}')); + A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"NativeTypedArray":1,"_DelayedEvent":1,"_SetBase":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"MapEntry":2,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}')); var string$ = { ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type", @@ -25036,7 +25089,6 @@ BatchedEvents: findType("BatchedEvents"), BatchedStreamController_DebugEvent: findType("BatchedStreamController"), BigInt: findType("BigInt"), - Blob: findType("Blob"), BuildResult: findType("BuildResult"), BuildStatus: findType("BuildStatus"), BuiltListMultimap_dynamic_dynamic: findType("BuiltListMultimap<@,@>"), @@ -25074,8 +25126,8 @@ FullType: findType("FullType"), Function: findType("Function"), Future_dynamic: findType("Future<@>"), + Future_nullable_Object: findType("Future"), Future_void: findType("Future<~>"), - ImageData: findType("ImageData"), Int16List: findType("Int16List"), Int32: findType("Int32"), Int32List: findType("Int32List"), @@ -25093,18 +25145,15 @@ JSArray_Type: findType("JSArray"), JSArray_dynamic: findType("JSArray<@>"), JSArray_int: findType("JSArray"), + JSArray_nullable_Object: findType("JSArray"), JSNull: findType("JSNull"), JSObject: findType("JSObject"), JavaScriptFunction: findType("JavaScriptFunction"), JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"), JavaScriptObject: findType("JavaScriptObject"), - JsArray_dynamic: findType("JsArray<@>"), - JsError: findType("JsError"), JsLinkedHashMap_String_dynamic: findType("JsLinkedHashMap"), JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap"), - JsObject: findType("JsObject"), JsonObject: findType("JsonObject"), - KeyRange: findType("KeyRange"), LegacyJavaScriptObject: findType("LegacyJavaScriptObject"), Length: findType("Length"), Level: findType("Level"), @@ -25136,8 +25185,6 @@ Plugin: findType("Plugin"), PoolResource: findType("PoolResource"), PrimitiveSerializer_dynamic: findType("PrimitiveSerializer<@>"), - Promise_bool_Function_String: findType("Promise<1&>(String)"), - Promise_void: findType("Promise<1&>"), QueueList_Result_DebugEvent: findType("QueueList>"), Record: findType("Record"), Rectangle_num: findType("Rectangle"), @@ -25172,7 +25219,6 @@ TrustedGetRuntimeType: findType("TrustedGetRuntimeType"), Type: findType("Type"), TypeError: findType("TypeError"), - TypedData: findType("TypedData"), Uint16List: findType("Uint16List"), Uint32List: findType("Uint32List"), Uint8ClampedList: findType("Uint8ClampedList"), @@ -25181,8 +25227,6 @@ UnmodifiableListView_nullable_Object: findType("UnmodifiableListView"), UnmodifiableMapView_of_String_and_nullable_Object: findType("UnmodifiableMapView"), Uri: findType("Uri"), - Window: findType("Window"), - WorkerGlobalScope: findType("WorkerGlobalScope"), Zone: findType("Zone"), _AsyncCompleter_JavaScriptObject: findType("_AsyncCompleter"), _AsyncCompleter_PoolResource: findType("_AsyncCompleter"), @@ -25201,7 +25245,6 @@ _Future_dynamic: findType("_Future<@>"), _Future_int: findType("_Future"), _Future_void: findType("_Future<~>"), - _IdentityHashMap_dynamic_dynamic: findType("_IdentityHashMap<@,@>"), _IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap"), _MapEntry: findType("_MapEntry"), _StreamControllerAddStreamState_nullable_Object: findType("_StreamControllerAddStreamState"), @@ -25214,7 +25257,6 @@ dynamic_Function: findType("@()"), dynamic_Function_Object: findType("@(Object)"), dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"), - dynamic_Function_dynamic: findType("@(@)"), dynamic_Function_dynamic_dynamic: findType("@(@,@)"), int: findType("int"), legacy_Never: findType("0&*"), @@ -25249,15 +25291,11 @@ num: findType("num"), void: findType("~"), void_Function: findType("~()"), - void_Function_$opt_dynamic: findType("~([@])"), - void_Function_JsError: findType("~(JsError)"), void_Function_Object: findType("~(Object)"), void_Function_Object_StackTrace: findType("~(Object,StackTrace)"), - void_Function_String: findType("~(String)"), void_Function_String_String: findType("~(String,String)"), void_Function_String_dynamic: findType("~(String,@)"), - void_Function_Timer: findType("~(Timer)"), - void_Function_dynamic: findType("~(@)") + void_Function_Timer: findType("~(Timer)") }; })(); (function constants() { @@ -25517,8 +25555,8 @@ B.Type__$DevToolsRequest_cDy = A.typeLiteral("_$DevToolsRequest"); B.List_yT3 = A._setArrayType(makeConstList([B.Type_DevToolsRequest_A0n, B.Type__$DevToolsRequest_cDy]), type$.JSArray_Type); B.Object_empty = {}; - B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); - B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>")); + B.Map_empty0 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); + B.Map_empty = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap<@,@>")); B.Symbol_call = new A.Symbol("call"); B.Type_BigInt_8OV = A.typeLiteral("BigInt"); B.Type_BoolJsonObject_8HQ = A.typeLiteral("BoolJsonObject"); @@ -25593,7 +25631,7 @@ $._indentingBuiltValueToStringHelperIndent = 0; $.LogRecord__nextNumber = 0; $.Logger__loggers = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger); - $.___lastKnownDigests = A._Cell$named("_lastKnownDigests"); + $.RequireRestarter____lastKnownDigests = A._Cell$named("_lastKnownDigests"); })(); (function lazyInitializers() { var _lazyFinal = hunkHelpers.lazyFinal, @@ -25660,11 +25698,7 @@ _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false)); _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6)); _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables()); - _lazyFinal($, "_context", "$get$_context", () => A._castToJsObject(A._wrapToDart(self))); - _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartObject")); - _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", () => function DartObject(o) { - this.o = o; - }); + _lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty")); _lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray")))); _lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure()); _lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false))); @@ -25755,8 +25789,8 @@ } init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); }(); - hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MessagePort: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, ImageData: A.ImageData, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, Window: A.Window, DOMWindow: A.Window, DedicatedWorkerGlobalScope: A.WorkerGlobalScope, ServiceWorkerGlobalScope: A.WorkerGlobalScope, SharedWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBKeyRange: A.KeyRange, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext}); - hunkHelpers.setOrUpdateLeafTags({WebGL: true, AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: 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, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: 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, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: 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, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SharedArrayBuffer: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: 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, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: 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, IDBObjectStore: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: 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, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: 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, 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, CloseEvent: 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, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: 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, 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, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, webkitSpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, Worker: 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, ImageData: true, Location: true, MediaList: true, MessageEvent: 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, WebSocket: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, IDBKeyRange: 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}); + hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DataTransferItem: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, ImageData: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaDeviceInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VideoTrack: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBKeyRange: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioTrack: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLTrackElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItemList: A.DataTransferItemList, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, CanvasCaptureMediaStreamTrack: A.EventTarget, DedicatedWorkerGlobalScope: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MediaStreamTrack: A.EventTarget, MessagePort: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerGlobalScope: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SharedWorkerGlobalScope: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Window: A.EventTarget, DOMWindow: A.EventTarget, Worker: A.EventTarget, WorkerGlobalScope: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, Location: A.Location, MediaList: A.MediaList, MessageEvent: A.MessageEvent, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, URL: A.Url, VideoTrackList: A.VideoTrackList, WebSocket: A.WebSocket, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext}); + hunkHelpers.setOrUpdateLeafTags({WebGL: true, AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DataTransferItem: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: 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, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, ImageData: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaDeviceInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: 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, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: 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, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SharedArrayBuffer: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VideoTrack: true, VTTRegion: 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, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: 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, 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, AudioTrack: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: 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, 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, CloseEvent: 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, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: 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, 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, MessageEvent: 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, WebSocket: 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.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView"; A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView"; A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView"; diff --git a/dwds/web/client.dart b/dwds/web/client.dart index a7a01d4c7..f59c3e4fb 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -2,13 +2,10 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -@JS() -library hot_reload_client; - import 'dart:async'; import 'dart:convert'; -import 'dart:js'; import 'dart:js_interop'; +import 'dart:js_interop_unsafe'; import 'package:built_collection/built_collection.dart'; import 'package:dwds/data/build_result.dart'; @@ -23,18 +20,17 @@ import 'package:dwds/data/run_request.dart'; import 'package:dwds/data/serializers.dart'; import 'package:dwds/shared/batched_stream.dart'; import 'package:dwds/src/sockets.dart'; -import 'package:js/js.dart'; import 'package:sse/client/sse_client.dart'; import 'package:uuid/uuid.dart'; import 'package:web/helpers.dart'; import 'package:web_socket_channel/web_socket_channel.dart'; -import 'promise.dart'; import 'reloader/legacy_restarter.dart'; import 'reloader/manager.dart'; import 'reloader/require_restarter.dart'; import 'reloader/restarter.dart'; import 'run_main.dart'; +import 'web_utils.dart'; const _batchDelayMilliseconds = 1000; @@ -63,9 +59,9 @@ Future? main() { final manager = ReloadingManager(client, restarter); - hotRestartJs = allowInterop((String runId) { - return toPromise(manager.hotRestart(runId: runId)); - }); + hotRestartJs = (String runId) { + return manager.hotRestart(runId: runId).toJS; + }.toJS; final debugEventController = BatchedStreamController(delay: _batchDelayMilliseconds); @@ -84,7 +80,7 @@ Future? main() { } }); - emitDebugEvent = allowInterop((String kind, String eventData) { + emitDebugEvent = (String kind, String eventData) { if (dartEmitDebugEvents) { _trySendEvent( debugEventController.sink, @@ -96,9 +92,9 @@ Future? main() { ), ); } - }); + }.toJS; - emitRegisterEvent = allowInterop((String eventData) { + emitRegisterEvent = (String eventData) { _trySendEvent( client.sink, jsonEncode( @@ -111,9 +107,9 @@ Future? main() { ), ), ); - }); + }.toJS; - launchDevToolsJs = allowInterop(() { + launchDevToolsJs = () { if (!_isChromium) { window.alert( 'Dart DevTools is only supported on Chromium based browsers.', @@ -132,7 +128,7 @@ Future? main() { ), ), ); - }); + }.toJS; client.stream.listen( (serialized) async { @@ -186,7 +182,7 @@ Future? main() { !e.ctrlKey && !e.metaKey) { e.preventDefault(); - launchDevToolsJs(); + launchDevToolsJs.callAsFunction(); } }); } @@ -284,12 +280,8 @@ void _launchCommunicationWithDebugExtension() { } void _dispatchEvent(String message, String detail) { - window.dispatchEvent( - CustomEvent( - 'dart-auth-response', - CustomEventInit(detail: detail.toJS), - ), - ); + final event = CustomEvent(message, CustomEventInit(detail: detail.toJS)); + document.dispatchEvent(event); } void _listenForDebugExtensionAuthRequest() { @@ -339,13 +331,13 @@ external set dartAppInstanceId(String? id); external String get dartModuleStrategy; @JS(r'$dartHotRestartDwds') -external set hotRestartJs(Promise Function(String runId) cb); +external set hotRestartJs(JSFunction cb); @JS(r'$launchDevTools') -external void Function() get launchDevToolsJs; +external JSFunction get launchDevToolsJs; @JS(r'$launchDevTools') -external set launchDevToolsJs(void Function() cb); +external set launchDevToolsJs(JSFunction cb); @JS(r'$dartReloadConfiguration') external String get reloadConfiguration; @@ -363,10 +355,10 @@ external void dispatchEvent(CustomEvent event); external bool get dartEmitDebugEvents; @JS(r'$emitDebugEvent') -external set emitDebugEvent(void Function(String, String) func); +external set emitDebugEvent(JSFunction func); @JS(r'$emitRegisterEvent') -external set emitRegisterEvent(void Function(String) func); +external set emitRegisterEvent(JSFunction func); @JS(r'$isInternalBuild') external bool get isInternalBuild; @@ -379,15 +371,15 @@ external String? get dartWorkspaceName; bool get _isChromium => window.navigator.vendor.contains('Google'); -JsObject get _windowContext => JsObject.fromBrowserObject(window); - -bool? get _isInternalBuild => _windowContext['\$isInternalBuild']; +bool? get _isInternalBuild => + windowContext['\$isInternalBuild'].dartify() as bool?; -bool? get _isFlutterApp => _windowContext['\$isFlutterApp']; +bool? get _isFlutterApp => windowContext['\$isFlutterApp'].dartify() as bool?; -String? get _appId => _windowContext['\$dartAppId']; +String? get _appId => windowContext['\$dartAppId'].dartify() as String?; -String? get _extensionUrl => _windowContext['\$dartExtensionUri']; +String? get _extensionUrl => + windowContext['\$dartExtensionUri'].dartify() as String?; String? get _authUrl { final extensionUrl = _extensionUrl; diff --git a/dwds/web/promise.dart b/dwds/web/promise.dart index 30781e51b..6a097ad5c 100644 --- a/dwds/web/promise.dart +++ b/dwds/web/promise.dart @@ -1,7 +1,7 @@ // Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. - +/* @JS() library webdev.web.promise; @@ -56,3 +56,4 @@ Future toFuture(Promise promise) { ); return completer.future; } +*/ \ No newline at end of file diff --git a/dwds/web/reloader/legacy_restarter.dart b/dwds/web/reloader/legacy_restarter.dart index 7ea98826e..cf5238d19 100644 --- a/dwds/web/reloader/legacy_restarter.dart +++ b/dwds/web/reloader/legacy_restarter.dart @@ -3,23 +3,22 @@ // BSD-style license that can be found in the LICENSE file. import 'dart:async'; -import 'dart:js'; import 'dart:js_interop'; +import 'dart:js_interop_unsafe'; import 'package:web/helpers.dart'; +import '../web_utils.dart'; import 'restarter.dart'; class LegacyRestarter implements Restarter { @override Future restart({String? runId}) async { - final dartLibrary = context['dart_library'] as JsObject; + final dartLibrary = windowContext['dart_library'] as JSObject; if (runId == null) { - dartLibrary.callMethod('reload'); + dartLibrary.callMethod('reload'.toJS); } else { - dartLibrary.callMethod('reload', [ - JsObject.jsify({'runId': runId}), - ]); + dartLibrary.callMethod('reload'.toJS, runId.toJS); } final reloadCompleter = Completer(); final sub = window.onMessage.listen((event) { diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart index 1995306cb..5bf95c62c 100644 --- a/dwds/web/reloader/require_restarter.dart +++ b/dwds/web/reloader/require_restarter.dart @@ -2,56 +2,44 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -@JS() -library require_reloading_manager; - import 'dart:async'; import 'dart:collection'; import 'dart:js_interop'; -import 'dart:js_util'; +import 'dart:js_interop_unsafe'; import 'package:graphs/graphs.dart' as graphs; -import 'package:js/js.dart'; -import 'package:js/js_util.dart'; import 'package:web/helpers.dart'; -import '../promise.dart'; import '../run_main.dart'; import '../web_utils.dart'; import 'restarter.dart'; -/// The last known digests of all the modules in the application. -/// -/// This is updated in place during calls to hotRestart. -/// TODO(annagrin): can this be a private field in RequireRestarter? -late Map _lastKnownDigests; - @JS(r'$requireLoader') external RequireLoader get requireLoader; @JS(r'$loadModuleConfig') -external Object Function(String module) get require; +external JSFunction get require; @JS(r'$dartRunMain') -external set dartRunMain(Function() func); +external set dartRunMain(JSFunction func); @JS(r'$dartRunMain') -external Function() get dartRunMain; +external JSFunction get dartRunMain; @anonymous @JS() -class RequireLoader { - @JS() +@staticInterop +class RequireLoader {} + +extension RequireLoaderExtension on RequireLoader { external String get digestsPath; - @JS() - external JsMap> get moduleParentsGraph; + external JsMap get moduleParentsGraph; - @JS() external void forceLoadModule( - String moduleId, - void Function() callback, - void Function(JsError e) onError, + JSString moduleId, + JSFunction callback, + JSFunction onError, ); } @@ -65,6 +53,11 @@ class HotReloadFailedException implements Exception { /// Handles hot restart reloading for use with the require module system. class RequireRestarter implements Restarter { + /// The last known digests of all the modules in the application. + /// + /// This is updated in place during calls to hotRestart. + static late Map _lastKnownDigests; + final _moduleOrdering = HashMap(); late SplayTreeSet _dirtyModules; var _running = Completer()..complete(true); @@ -77,19 +70,24 @@ class RequireRestarter implements Restarter { @override Future restart({String? runId}) async { - final developer = getProperty(require('dart_sdk'), 'developer'); - if (callMethod( - getProperty(developer, '_extensions'), - 'containsKey', - ['ext.flutter.disassemble'], - ) as bool) { - await toFuture( - callMethod( - developer, - 'invokeExtension', - ['ext.flutter.disassemble', '{}'], - ) as Promise, - ); + final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject; + final dart = sdk['dart'] as JSObject; + final developer = sdk['developer'] as JSObject; + final extensions = developer['_extensions'] as JSObject; + + if (extensions + .callMethod( + 'containsKey'.toJS, + 'ext.flutter.disassemble'.toJS, + ) + .dartify() as bool) { + await (developer + .callMethod( + 'invokeExtension'.toJS, + 'ext.flutter.disassemble'.toJS, + '{}'.toJS, + ) + .dartify() as Future); } final newDigests = await _getDigests(); @@ -110,7 +108,7 @@ class RequireRestarter implements Restarter { _updateGraph(); result = await _reload(modulesToLoad); } - callMethod(getProperty(require('dart_sdk'), 'dart'), 'hotRestart', []); + dart.callMethod('hotRestart'.toJS, runId?.toJS); runMain(); return result; } @@ -165,6 +163,9 @@ class RequireRestarter implements Restarter { /// Returns `true` if the reload was fully handled, `false` if it failed /// explicitly, or `null` for an unhandled reload. Future _reload(List modules) async { + final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject; + final dart = sdk['dart'] as JSObject; + // As function is async, it can potentially be called second time while // first invocation is still running. In this case just mark as dirty and // wait until loop from the first call will do the work @@ -183,18 +184,14 @@ class RequireRestarter implements Restarter { if (parentIds.isEmpty) { // The bootstrap module is not reloaded but we need to update the // $dartRunMain reference to the newly loaded child module. - final childModule = callMethod( - getProperty(require('dart_sdk'), 'dart'), - 'getModuleLibraries', - [previousModuleId], + final childModule = dart.callMethod( + 'getModuleLibraries'.toJS, + previousModuleId?.toJS, ); - dartRunMain = allowInterop(() { - callMethod( - childModule.values.first!, - 'main', - [], - ); - }); + final mainLibrary = childModule.values.first! as JSObject; + dartRunMain = () { + mainLibrary.callMethod('main'.toJS); + }.toJS; } else { ++reloadedModules; await _reloadModule(moduleId); @@ -217,14 +214,18 @@ class RequireRestarter implements Restarter { final completer = Completer(); final stackTrace = StackTrace.current; requireLoader.forceLoadModule( - moduleId, - allowInterop(completer.complete), - allowInterop((e) { + moduleId.toJS, + // Removing the argument type in complete() + // ignore: unnecessary_lambdas + () { + completer.complete(); + }.toJS, + (JsError e) { completer.completeError( HotReloadFailedException(e.message), stackTrace, ); - }), + }.toJS, ); return completer.future; } diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart index b404b7311..8c690fdbe 100644 --- a/dwds/web/web_utils.dart +++ b/dwds/web/web_utils.dart @@ -2,49 +2,47 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -@JS() -library require_reloading_manager; - import 'dart:js_interop'; -import 'package:js/js.dart'; +@JS('window') +external JSObject get windowContext; @JS('Array.from') -external JSArray _jsArrayFrom(Object any); +external JSArray _jsArrayFrom(JSAny any); @JS('Object.values') -external JSArray _jsObjectValues(Object any); +external JSArray _jsObjectValues(JSAny any); @JS('Error') -abstract class JsError { - @JS() - external String get message; +@staticInterop +abstract class JsError {} - @JS() +extension JsErrorExtension on JsError { + external String get message; external String get stack; } @JS('Map') -abstract class JsMap { - @JS('Map.get') - external V? get(K key); +@staticInterop +abstract class JsMap {} - @JS() - external Object keys(); +extension JsMapExtension on JsMap { + external V? get(K key); + external JSObject keys(); } -extension ObjectExtension on JSObject { +extension JSObjectExtension on JSObject { Iterable get values => _jsObjectValues(this).toDartIterable(); } extension JSArrayExtension on JSArray { Iterable toDartIterable() => toDart.map((e) => e.dartify() as T); + List toDartList() => toDartIterable().toList(); } -extension ModuleDependencyGraph on JsMap> { - Iterable get modules => _jsArrayFrom(keys()).toDartIterable(); +extension ModuleDependencyGraph on JsMap { + Iterable get modules => _jsArrayFrom(keys()).toDartIterable(); - List parents(String key) => - (get(key) as JSArray?)?.toDartList() ?? []; + List parents(String key) => get(key.toJS)?.toDartList() ?? []; } From 37870afac2ccc45b1f7d574c609f50cd8a92acc1 Mon Sep 17 00:00:00 2001 From: Elliott Brooks <21270878+elliette@users.noreply.github.com> Date: Tue, 9 Jan 2024 15:23:08 -0800 Subject: [PATCH 09/16] Reset DWDS after release --- dwds/CHANGELOG.md | 4 ++++ dwds/lib/src/version.dart | 2 +- dwds/pubspec.yaml | 2 +- .../{ignore_pubspec_overrides.yaml => pubspec_overrides.yaml} | 0 4 files changed, 6 insertions(+), 2 deletions(-) rename dwds/{ignore_pubspec_overrides.yaml => pubspec_overrides.yaml} (100%) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index e11841138..893bacbec 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -1,3 +1,7 @@ +## 23.2.0-wip + +## 23.2.0-wip + ## 23.1.0 - Update `package:vm_service` constraints to allow version `14.x.x` - [#2307](https://github.com/dart-lang/webdev/pull/2307) diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart index 9dbf4fcd4..dc527920e 100644 --- a/dwds/lib/src/version.dart +++ b/dwds/lib/src/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '23.1.0'; +const packageVersion = '23.2.0-wip'; diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml index 1049cee95..0b9402c51 100644 --- a/dwds/pubspec.yaml +++ b/dwds/pubspec.yaml @@ -1,6 +1,6 @@ name: dwds # Every time this changes you need to run `dart run build_runner build`. -version: 23.1.0 +version: 23.2.0-wip description: >- A service that proxies between the Chrome debug protocol and the Dart VM service protocol. diff --git a/dwds/ignore_pubspec_overrides.yaml b/dwds/pubspec_overrides.yaml similarity index 100% rename from dwds/ignore_pubspec_overrides.yaml rename to dwds/pubspec_overrides.yaml From b7a739d5f6bade4672d2609dc931127f9ee1987e Mon Sep 17 00:00:00 2001 From: Elliott Brooks <21270878+elliette@users.noreply.github.com> Date: Tue, 9 Jan 2024 15:26:10 -0800 Subject: [PATCH 10/16] Re-build to fix version file --- dwds/lib/src/version.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart index 8425df978..dc527920e 100644 --- a/dwds/lib/src/version.dart +++ b/dwds/lib/src/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '23.2.0-wip'; \ No newline at end of file +const packageVersion = '23.2.0-wip'; From fe2b8425e59705b802265f6464dc5efa58bbd811 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Wed, 10 Jan 2024 10:14:09 -0800 Subject: [PATCH 11/16] Addressed more CR comments --- dwds/lib/src/injected/client.js | 8 ++--- dwds/web/client.dart | 6 ++-- dwds/web/promise.dart | 59 --------------------------------- 3 files changed, 8 insertions(+), 65 deletions(-) delete mode 100644 dwds/web/promise.dart diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 7df4dab26..9fd57219e 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -8562,11 +8562,11 @@ A._asBool(t2._as(t1.document).dispatchEvent($event)); }, _handleAuthRequest($event) { - var t1; - type$.JavaScriptObject._as($event); - if (typeof $event.data != "string") + var t1, + data = type$.JavaScriptObject._as($event).data; + if (!(typeof data === "string")) return; - if (A._asString($event.data) !== "dart-auth-request") + if (A._asString(data) !== "dart-auth-request") return; if (A._authUrl() != null) { t1 = A._authUrl(); diff --git a/dwds/web/client.dart b/dwds/web/client.dart index f59c3e4fb..a38b399d5 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -293,8 +293,10 @@ void _listenForDebugExtensionAuthRequest() { void _handleAuthRequest(Event event) { final messageEvent = event as MessageEvent; - if (messageEvent.data is! String) return; - if (messageEvent.data as String != 'dart-auth-request') return; + final data = messageEvent.data; + + if (!data.typeofEquals('string')) return; + if ((data as JSString).toDart != 'dart-auth-request') return; // Notify the Dart Debug Extension of authentication status: if (_authUrl != null) { diff --git a/dwds/web/promise.dart b/dwds/web/promise.dart deleted file mode 100644 index 6a097ad5c..000000000 --- a/dwds/web/promise.dart +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. -/* -@JS() -library webdev.web.promise; - -import 'dart:async'; - -import 'package:js/js.dart'; - -/// Dart wrapper for native JavaScript Promise class. -@JS('Promise') -class Promise { - /// Constructs a new [Promise] object. - /// - /// The executor function is executed immediately by the Promise - /// implementation. The resolve and reject functions, when called, resolve or - /// reject the promise, respectively. If an error is thrown in the executor - /// function, the promise is rejected. - external Promise( - void Function(void Function(T) resolve, void Function(dynamic) reject) - executor, - ); - - /// Appends fulfillment and rejection handlers to the promise. - /// - /// Returns a new promise resolving to the return value of the called handler, - /// or to its original settled value if the promise was not handled. - external Promise then( - dynamic Function(T value) onSuccess, [ - dynamic Function(dynamic reason) onError, - ]); -} - -/// Returns a [Promise] that resolves once the given [future] resolves. -/// -/// This also propagates errors to the returned [Promise]. -Promise toPromise(Future future) { - return Promise( - allowInterop((void Function(T) resolve, void Function(dynamic) reject) { - future.then(resolve).catchError(reject); - }), - ); -} - -/// Returns a [Future] that resolves once the given [promise] resolves. -/// -/// This also propagates [Promise] rejection through to the returned [Future]. -Future toFuture(Promise promise) { - final completer = Completer(); - promise.then( - allowInterop(completer.complete), - // TODO(annagrin): propagate stack trace from promise instead. - allowInterop((e) => completer.completeError(e, StackTrace.current)), - ); - return completer.future; -} -*/ \ No newline at end of file From 2e7ebfe48d712017bbab856288814e221e862bea Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Tue, 16 Jan 2024 11:13:14 -0800 Subject: [PATCH 12/16] Addressed CR comments --- dwds/CHANGELOG.md | 1 - dwds/web/client.dart | 13 +++++++------ dwds/web/reloader/require_restarter.dart | 13 ++++++------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index ea3934741..987a3fa0d 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -18,7 +18,6 @@ - Add `FrontendServerLegacyStrategyProvider` and update bootstrap generation logic for `LegacyStrategy` - [#2285](https://github.com/dart-lang/webdev/pull/2285) - Tolerate failures to detect a Dart execution context. - [#2286](https://github.com/dart-lang/webdev/pull/2286) - Fix a null cast error when debugging a `Class` from VS Code. - [#2303](https://github.com/dart-lang/webdev/pull/2303) - - Update `package:vm_service` constraint to `^14.0.0`. - [#2307](https://github.com/dart-lang/webdev/pull/2307) - Update `package:vm_service_interface` constraint to `1.0.1`. - [#2307](https://github.com/dart-lang/webdev/pull/2307) diff --git a/dwds/web/client.dart b/dwds/web/client.dart index a38b399d5..3522daab2 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -373,15 +373,13 @@ external String? get dartWorkspaceName; bool get _isChromium => window.navigator.vendor.contains('Google'); -bool? get _isInternalBuild => - windowContext['\$isInternalBuild'].dartify() as bool?; +bool? get _isInternalBuild => _toBool(windowContext['\$isInternalBuild']); -bool? get _isFlutterApp => windowContext['\$isFlutterApp'].dartify() as bool?; +bool? get _isFlutterApp => _toBool(windowContext['\$isFlutterApp']); -String? get _appId => windowContext['\$dartAppId'].dartify() as String?; +String? get _appId => _toString(windowContext['\$dartAppId']); -String? get _extensionUrl => - windowContext['\$dartExtensionUri'].dartify() as String?; +String? get _extensionUrl => _toString(windowContext['\$dartExtensionUri']); String? get _authUrl { final extensionUrl = _extensionUrl; @@ -396,3 +394,6 @@ String? get _authUrl { return authUrl.toString(); } } + +bool? _toBool(JSAny? object) => (object as JSBoolean?)?.toDart; +String? _toString(JSAny? object) => (object as JSString?)?.toDart; diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart index 5bf95c62c..99171340b 100644 --- a/dwds/web/reloader/require_restarter.dart +++ b/dwds/web/reloader/require_restarter.dart @@ -81,13 +81,12 @@ class RequireRestarter implements Restarter { 'ext.flutter.disassemble'.toJS, ) .dartify() as bool) { - await (developer - .callMethod( - 'invokeExtension'.toJS, - 'ext.flutter.disassemble'.toJS, - '{}'.toJS, - ) - .dartify() as Future); + await (developer.callMethod( + 'invokeExtension'.toJS, + 'ext.flutter.disassemble'.toJS, + '{}'.toJS, + ) as JSPromise) + .toDart; } final newDigests = await _getDigests(); From 82bb2a803ce3c1a466118267ba15fe6ba89b7696 Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Tue, 16 Jan 2024 11:29:37 -0800 Subject: [PATCH 13/16] Addressed CR comments --- dwds/web/reloader/require_restarter.dart | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart index 99171340b..bc3fa9c4e 100644 --- a/dwds/web/reloader/require_restarter.dart +++ b/dwds/web/reloader/require_restarter.dart @@ -43,6 +43,16 @@ extension RequireLoaderExtension on RequireLoader { ); } +extension RequireExtension on JSFunction { + JSObject get sdk => callAsFunction(null, 'dart-sdk'.toJS) as JSObject; +} + +extension SDK on JSObject { + JSObject get dart => this['dart'] as JSObject; + JSObject get developer => this['developer'] as JSObject; + JSObject get extensions => developer['_extensions'] as JSObject; +} + class HotReloadFailedException implements Exception { final String _s; @@ -70,10 +80,10 @@ class RequireRestarter implements Restarter { @override Future restart({String? runId}) async { - final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject; - final dart = sdk['dart'] as JSObject; - final developer = sdk['developer'] as JSObject; - final extensions = developer['_extensions'] as JSObject; + final sdk = require.sdk; + final dart = sdk.dart; + final developer = sdk.developer; + final extensions = sdk.extensions; if (extensions .callMethod( @@ -162,8 +172,8 @@ class RequireRestarter implements Restarter { /// Returns `true` if the reload was fully handled, `false` if it failed /// explicitly, or `null` for an unhandled reload. Future _reload(List modules) async { - final sdk = require.callAsFunction(null, 'dart_sdk'.toJS) as JSObject; - final dart = sdk['dart'] as JSObject; + final sdk = require.sdk; + final dart = sdk.dart; // As function is async, it can potentially be called second time while // first invocation is still running. In this case just mark as dirty and From c946782019115f9765a70ee14d3705498a6e862a Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Wed, 24 Jan 2024 16:08:25 -0800 Subject: [PATCH 14/16] Do not use unsafe interop methods --- dwds/lib/src/injected/client.js | 191 ++++++++++------------- dwds/web/client.dart | 19 +-- dwds/web/reloader/legacy_restarter.dart | 21 ++- dwds/web/reloader/require_restarter.dart | 84 ++++++---- dwds/web/web_utils.dart | 13 +- 5 files changed, 172 insertions(+), 156 deletions(-) diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 9a0284834..e2ba715fb 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -8608,9 +8608,7 @@ }, _authUrl() { var authUrl, - extensionUrl = A._asStringQ(type$.JSObject._as(self.window).$dartExtensionUri); - if (extensionUrl == null) - extensionUrl = null; + extensionUrl = A._asStringQ(type$.JavaScriptObject._as(self.window).$dartExtensionUri); if (extensionUrl == null) return null; authUrl = A.Uri_parse(extensionUrl).replace$1$path("$dwdsExtensionAuthentication"); @@ -8679,6 +8677,32 @@ this._client = t0; this._restarter = t1; }, + SdkDeveloperExtension_maybeInvokeFlutterDisassemble(_this) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void); + var $async$SdkDeveloperExtension_maybeInvokeFlutterDisassemble = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$goto = A._asBool(type$.JavaScriptObject._as(_this._extensions).containsKey("ext.flutter.disassemble")) ? 2 : 3; + break; + case 2: + // then + $async$goto = 4; + return A._asyncAwait(A.promiseToFuture(type$.JSObject._as(_this.invokeExtension("ext.flutter.disassemble", "{}")), type$.String), $async$SdkDeveloperExtension_maybeInvokeFlutterDisassemble); + case 4: + // returning from await. + case 3: + // join + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$SdkDeveloperExtension_maybeInvokeFlutterDisassemble, $async$completer); + }, HotReloadFailedException$(_s) { return new A.HotReloadFailedException(_s); }, @@ -8797,20 +8821,6 @@ } throw "Unable to print message: " + String(string); }, - JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, arg3, arg4) { - var t1; - if (arg1 == null) - return _this[method](); - else if (arg2 == null) - return _this[method](arg1); - else { - t1 = _this[method](arg1, arg2); - return t1; - } - }, - JSObjectUnsafeUtilExtension_callMethod(_this, method, arg1, arg2, $T) { - return $T._as(A.JSObjectUnsafeUtilExtension__callMethod(_this, method, arg1, arg2, null, null)); - }, decodeDigit(c) { var letter, digit = c ^ 48; @@ -22165,35 +22175,26 @@ }; A._launchCommunicationWithDebugExtension_closure.prototype = { call$1(b) { - var t3, t4, _null = null, + var t3, t1 = self, t2 = A._asString(t1.$dartEntrypointPath); b.get$_$this()._appEntrypointPath = t2; - t2 = type$.JSObject; + t2 = type$.JavaScriptObject; t3 = A._asStringQ(t2._as(t1.window).$dartAppId); - if (t3 == null) - t3 = _null; b.get$_$this()._debug_info$_appId = t3; t3 = A._asStringQ(t1.$dartAppInstanceId); b.get$_$this()._appInstanceId = t3; - t3 = type$.JavaScriptObject; - t4 = A._asString(t3._as(t3._as(t1.window).location).origin); - b.get$_$this()._appOrigin = t4; - t3 = A._asString(t3._as(t3._as(t1.window).location).href); + t3 = A._asString(t2._as(t2._as(t1.window).location).origin); + b.get$_$this()._appOrigin = t3; + t3 = A._asString(t2._as(t2._as(t1.window).location).href); b.get$_$this()._appUrl = t3; t3 = A._authUrl(); b.get$_$this()._authUrl = t3; t3 = A._asStringQ(t2._as(t1.window).$dartExtensionUri); - if (t3 == null) - t3 = _null; b.get$_$this()._extensionUrl = t3; t3 = A._asBoolQ(t2._as(t1.window).$isInternalBuild); - if (t3 == null) - t3 = _null; b.get$_$this()._isInternalBuild = t3; t2 = A._asBoolQ(t2._as(t1.window).$isFlutterApp); - if (t2 == null) - t2 = _null; b.get$_$this()._isFlutterApp = t2; t1 = A._asStringQ(t1.$dartWorkspaceName); b.get$_$this()._workspaceName = t1; @@ -22211,7 +22212,7 @@ restart$1$runId(runId) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, t3, t1, t2, dartLibrary; + $async$returnValue, t3, t1, t2; var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -22220,16 +22221,10 @@ case 0: // Function start t1 = self; - t2 = type$.JSObject; - dartLibrary = t2._as(t2._as(t1.window).dart_library); - t2 = type$.nullable_Object; - if (runId == null) - A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", null, null, t2); - else - A.JSObjectUnsafeUtilExtension_callMethod(dartLibrary, "reload", runId, null, t2); - t2 = new A._Future($.Zone__current, type$._Future_bool); - t3 = type$.JavaScriptObject; - $async$returnValue = t2.then$1$1(new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t3._as(t1.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t2, type$._AsyncCompleter_bool))), false, t3)), type$.bool); + t2 = type$.JavaScriptObject; + t2._as(t1.dart_library).reload(runId); + t3 = new A._Future($.Zone__current, type$._Future_bool); + $async$returnValue = t3.then$1$1(new A.LegacyRestarter_restart_closure(A._EventStreamSubscription$(t2._as(t1.window), "message", type$.nullable_void_Function_JavaScriptObject._as(new A.LegacyRestarter_restart_closure0(new A._AsyncCompleter(t3, type$._AsyncCompleter_bool))), false, t2)), type$.bool); // goto return $async$goto = 1; break; @@ -22312,7 +22307,7 @@ restart$1$runId(runId) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, $async$self = this, newDigests, modulesToLoad, t5, t6, t7, line, toZone, t8, result, t1, t2, t3, dart, developer, t4; + $async$returnValue, $async$self = this, newDigests, modulesToLoad, t3, t4, t5, t6, line, toZone, t7, result, t1, t2; var $async$restart$1$runId = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -22322,33 +22317,23 @@ // Function start t1 = self; t2 = type$.JavaScriptObject; - t3 = type$.JSObject; - dart = t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart); - developer = t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).developer); - t4 = type$.nullable_Object; - $async$goto = A._asBool(A.dartify(A.JSObjectUnsafeUtilExtension_callMethod(t3._as(t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).developer)._extensions), "containsKey", "ext.flutter.disassemble", null, t4))) ? 3 : 4; - break; + $async$goto = 3; + return A._asyncAwait(A.SdkDeveloperExtension_maybeInvokeFlutterDisassemble(t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).developer)), $async$restart$1$runId); case 3: - // then - $async$goto = 5; - return A._asyncAwait(A.promiseToFuture(t3._as(A.JSObjectUnsafeUtilExtension_callMethod(developer, "invokeExtension", "ext.flutter.disassemble", "{}", t4)), t4), $async$restart$1$runId); - case 5: // returning from await. - case 4: - // join - $async$goto = 6; + $async$goto = 4; return A._asyncAwait($async$self._getDigests$0(), $async$restart$1$runId); - case 6: + case 4: // returning from await. newDigests = $async$result; modulesToLoad = A._setArrayType([], type$.JSArray_String); - for (t3 = newDigests.get$keys(), t3 = t3.get$iterator(t3), t5 = $.RequireRestarter____lastKnownDigests._name; t3.moveNext$0();) { - t6 = t3.get$current(); - t7 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; - if (t7 === $.RequireRestarter____lastKnownDigests) - A.throwExpression(A.LateError$fieldNI(t5)); - if (!t7.containsKey$1(t6)) { - line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t6 + "."; + for (t3 = newDigests.get$keys(), t3 = t3.get$iterator(t3), t4 = $.RequireRestarter____lastKnownDigests._name; t3.moveNext$0();) { + t5 = t3.get$current(); + t6 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; + if (t6 === $.RequireRestarter____lastKnownDigests) + A.throwExpression(A.LateError$fieldNI(t4)); + if (!t6.containsKey$1(t5)) { + line = "Error during script reloading, refreshing the page. \nUnable to find an existing digest for module: " + t5 + "."; toZone = $.printToZone; if (toZone == null) A.printString(line); @@ -22356,39 +22341,39 @@ toZone.call$1(line); t2._as(t2._as(t1.window).location).reload(); } else { - t7 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; - if (t7 === $.RequireRestarter____lastKnownDigests) - A.throwExpression(A.LateError$fieldNI(t5)); - if (!J.$eq$(t7.$index(0, t6), newDigests.$index(0, t6))) { - t7 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; - if (t7 === $.RequireRestarter____lastKnownDigests) - A.throwExpression(A.LateError$fieldNI(t5)); - t8 = newDigests.$index(0, t6); - t8.toString; - t7.$indexSet(0, t6, t8); - B.JSArray_methods.add$1(modulesToLoad, t6); + t6 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; + if (t6 === $.RequireRestarter____lastKnownDigests) + A.throwExpression(A.LateError$fieldNI(t4)); + if (!J.$eq$(t6.$index(0, t5), newDigests.$index(0, t5))) { + t6 = $.RequireRestarter____lastKnownDigests.__late_helper$_value; + if (t6 === $.RequireRestarter____lastKnownDigests) + A.throwExpression(A.LateError$fieldNI(t4)); + t7 = newDigests.$index(0, t5); + t7.toString; + t6.$indexSet(0, t5, t7); + B.JSArray_methods.add$1(modulesToLoad, t5); } } } - $async$goto = modulesToLoad.length !== 0 ? 7 : 9; + $async$goto = modulesToLoad.length !== 0 ? 5 : 7; break; - case 7: + case 5: // then $async$self._updateGraph$0(); - $async$goto = 10; + $async$goto = 8; return A._asyncAwait($async$self._reload$1(modulesToLoad), $async$restart$1$runId); - case 10: + case 8: // returning from await. result = $async$result; // goto join - $async$goto = 8; + $async$goto = 6; break; - case 9: + case 7: // else result = true; - case 8: + case 6: // join - A.JSObjectUnsafeUtilExtension_callMethod(dart, "hotRestart", runId == null ? null : runId, null, t4); + t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart).hotRestart(); A.runMain(); $async$returnValue = result; // goto return @@ -22489,7 +22474,7 @@ _reload$body$RequireRestarter(modules) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.bool), - $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, childModule, mainLibrary, e, t5, t6, t7, t8, t9, exception, t1, t2, t3, dart, t4, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, reloadedModules, previousModuleId, moduleId, parentIds, mainLibrary, e, t4, t5, t6, t7, t8, t9, t10, libraries, exception, t1, t2, dart, t3, $async$exception; var $async$_reload$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -22501,15 +22486,14 @@ // Function start t1 = self; t2 = type$.JavaScriptObject; - t3 = type$.JSObject; - dart = t3._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart); - t4 = $async$self._running.future; - $async$goto = (t4._state & 30) === 0 ? 3 : 4; + dart = t2._as(t2._as(t1.$loadModuleConfig("dart_sdk")).dart); + t3 = $async$self._running.future; + $async$goto = (t3._state & 30) === 0 ? 3 : 4; break; case 3: // then $async$goto = 5; - return A._asyncAwait(t4, $async$_reload$1); + return A._asyncAwait(t3, $async$_reload$1); case 5: // returning from await. $async$returnValue = $async$result; @@ -22521,11 +22505,11 @@ $async$self.set$_running(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool)); reloadedModules = 0; $async$handler = 7; - t4 = $async$self.__RequireRestarter__dirtyModules_A; - t4 === $ && A.throwLateFieldNI("_dirtyModules"); - t4.addAll$1(0, modules); + t3 = $async$self.__RequireRestarter__dirtyModules_A; + t3 === $ && A.throwLateFieldNI("_dirtyModules"); + t3.addAll$1(0, modules); previousModuleId = null; - t4 = $async$self.get$_moduleTopologicalCompare(), t5 = type$.Function, t6 = type$.JavaScriptFunction, t7 = type$.JSArray_nullable_Object, t8 = type$.nullable_Object; + t3 = $async$self.get$_moduleTopologicalCompare(), t4 = type$.Function, t5 = type$.JavaScriptFunction, t6 = type$.JSObject, t7 = type$.JSArray_nullable_Object, t8 = type$.nullable_Object; case 10: // for condition if (!(t9 = $async$self.__RequireRestarter__dirtyModules_A, t9._root != null)) { @@ -22543,18 +22527,15 @@ break; case 12: // then - t9 = previousModuleId; - if (t9 == null) - t9 = null; - childModule = t3._as(A.JSObjectUnsafeUtilExtension__callMethod(dart, "getModuleLibraries", t9, null, null, null)); - t9 = t1.Object; - t9 = A.JSArrayExtension_toDartIterable(t7._as(t9.values.apply(t9, [childModule])), t8); - if (t9.get$length(0) === 0) + t9 = t6._as(dart.getModuleLibraries(previousModuleId)); + t10 = t1.Object; + libraries = A.JSArrayExtension_toDartIterable(t7._as(t10.values.apply(t10, [t9])), t8); + if (libraries.get$length(0) === 0) A.throwExpression(A.IterableElementError_noElement()); - t9 = t9.elementAt$1(0, 0); + t9 = libraries.elementAt$1(0, 0); t9.toString; - mainLibrary = t3._as(t9); - t1.$dartRunMain = t6._as(A.allowInterop(new A.RequireRestarter__reload_closure(mainLibrary), t5)); + mainLibrary = t2._as(t9); + t1.$dartRunMain = t5._as(A.allowInterop(new A.RequireRestarter__reload_closure(mainLibrary), t4)); // goto join $async$goto = 13; break; @@ -22572,7 +22553,7 @@ return A._asyncAwait($async$self._reloadModule$1(moduleId), $async$_reload$1); case 15: // returning from await. - J.sort$1$ax(parentIds, t4); + J.sort$1$ax(parentIds, t3); $async$self.__RequireRestarter__dirtyModules_A.addAll$1(0, parentIds); previousModuleId = moduleId; case 13: @@ -22659,7 +22640,7 @@ }; A.RequireRestarter__reload_closure.prototype = { call$0() { - A.JSObjectUnsafeUtilExtension_callMethod(this.mainLibrary, "main", null, null, type$.nullable_Object); + this.mainLibrary.main(); }, $signature: 2 }; diff --git a/dwds/web/client.dart b/dwds/web/client.dart index 31eb6d72d..4d3a7c8ca 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -5,7 +5,6 @@ import 'dart:async'; import 'dart:convert'; import 'dart:js_interop'; -import 'dart:js_interop_unsafe'; import 'package:built_collection/built_collection.dart'; import 'package:dwds/data/build_result.dart'; @@ -264,14 +263,14 @@ void _launchCommunicationWithDebugExtension() { DebugInfo( (b) => b ..appEntrypointPath = dartEntrypointPath - ..appId = _appId + ..appId = windowContext.$dartAppId ..appInstanceId = dartAppInstanceId ..appOrigin = window.location.origin ..appUrl = window.location.href ..authUrl = _authUrl - ..extensionUrl = _extensionUrl - ..isInternalBuild = _isInternalBuild - ..isFlutterApp = _isFlutterApp + ..extensionUrl = windowContext.$dartExtensionUri + ..isInternalBuild = windowContext.$isInternalBuild + ..isFlutterApp = windowContext.$isFlutterApp ..workspaceName = dartWorkspaceName, ), ), @@ -373,16 +372,8 @@ external String? get dartWorkspaceName; bool get _isChromium => window.navigator.vendor.contains('Google'); -bool? get _isInternalBuild => toDartBool(windowContext['\$isInternalBuild']); - -bool? get _isFlutterApp => toDartBool(windowContext['\$isFlutterApp']); - -String? get _appId => toDartString(windowContext['\$dartAppId']); - -String? get _extensionUrl => toDartString(windowContext['\$dartExtensionUri']); - String? get _authUrl { - final extensionUrl = _extensionUrl; + final extensionUrl = windowContext.$dartExtensionUri; if (extensionUrl == null) return null; final authUrl = Uri.parse(extensionUrl).replace(path: authenticationPath); switch (authUrl.scheme) { diff --git a/dwds/web/reloader/legacy_restarter.dart b/dwds/web/reloader/legacy_restarter.dart index cf5238d19..97bd5c550 100644 --- a/dwds/web/reloader/legacy_restarter.dart +++ b/dwds/web/reloader/legacy_restarter.dart @@ -4,22 +4,27 @@ import 'dart:async'; import 'dart:js_interop'; -import 'dart:js_interop_unsafe'; import 'package:web/helpers.dart'; -import '../web_utils.dart'; import 'restarter.dart'; +@anonymous +@JS() +@staticInterop +class DartLibrary {} + +@JS(r'dart_library') +external DartLibrary dartLibrary; + +extension DartLibraryExtension on DartLibrary { + external void reload(String? runId); +} + class LegacyRestarter implements Restarter { @override Future restart({String? runId}) async { - final dartLibrary = windowContext['dart_library'] as JSObject; - if (runId == null) { - dartLibrary.callMethod('reload'.toJS); - } else { - dartLibrary.callMethod('reload'.toJS, runId.toJS); - } + dartLibrary.reload(runId); final reloadCompleter = Completer(); final sub = window.onMessage.listen((event) { final message = event.data?.dartify(); diff --git a/dwds/web/reloader/require_restarter.dart b/dwds/web/reloader/require_restarter.dart index 0802c1da4..fe9039d9f 100644 --- a/dwds/web/reloader/require_restarter.dart +++ b/dwds/web/reloader/require_restarter.dart @@ -5,7 +5,6 @@ import 'dart:async'; import 'dart:collection'; import 'dart:js_interop'; -import 'dart:js_interop_unsafe'; import 'package:graphs/graphs.dart' as graphs; import 'package:web/helpers.dart'; @@ -45,15 +44,64 @@ extension RequireLoaderExtension on RequireLoader { @staticInterop class Sdk {} +@anonymous +@JS() +@staticInterop +class SdkDeveloper {} + +@anonymous +@JS() +@staticInterop +class SdkDart {} + +@anonymous +@JS() +@staticInterop +class SdkExt {} + +@anonymous +@JS() +@staticInterop +class MainLibrary {} + @JS(r'$loadModuleConfig') external Sdk require(String value); Sdk get sdk => require('dart_sdk'); extension SdkExtension on Sdk { - JSObject get dart => (this as JSObject)['dart'] as JSObject; - JSObject get developer => (this as JSObject)['developer'] as JSObject; - JSObject get extensions => developer['_extensions'] as JSObject; + external SdkDart get dart; + external SdkDeveloper get developer; +} + +extension SdkDeveloperExtension on SdkDeveloper { + external JSPromise invokeExtension(String key, String params); + external SdkExt get _extensions; + + Future maybeInvokeFlutterDisassemble() async { + final method = 'ext.flutter.disassemble'; + if (_extensions.containsKey(method)) { + await invokeExtension(method, '{}').toDart; + } + } +} + +extension SdkDartExtension on SdkDart { + external void hotRestart(); + external JSObject getModuleLibraries(String? moduleId); + + MainLibrary getMainLibrary(String? moduleId) { + final libraries = getModuleLibraries(moduleId).values; + return libraries.first! as MainLibrary; + } +} + +extension SdkExtExtension on SdkExt { + external bool containsKey(String key); +} + +extension MainLibraryExtension on MainLibrary { + external void main(); } class HotReloadFailedException implements Exception { @@ -83,23 +131,7 @@ class RequireRestarter implements Restarter { @override Future restart({String? runId}) async { - final dart = sdk.dart; - final developer = sdk.developer; - final extensions = sdk.extensions; - - if (extensions - .callMethod( - 'containsKey'.toJS, - 'ext.flutter.disassemble'.toJS, - ) - .dartify() as bool) { - await (developer.callMethod( - 'invokeExtension'.toJS, - 'ext.flutter.disassemble'.toJS, - '{}'.toJS, - ) as JSPromise) - .toDart; - } + await sdk.developer.maybeInvokeFlutterDisassemble(); final newDigests = await _getDigests(); final modulesToLoad = []; @@ -119,7 +151,7 @@ class RequireRestarter implements Restarter { _updateGraph(); result = await _reload(modulesToLoad); } - dart.callMethod('hotRestart'.toJS, runId?.toJS); + sdk.dart.hotRestart(); runMain(); return result; } @@ -194,13 +226,9 @@ class RequireRestarter implements Restarter { if (parentIds.isEmpty) { // The bootstrap module is not reloaded but we need to update the // $dartRunMain reference to the newly loaded child module. - final childModule = dart.callMethod( - 'getModuleLibraries'.toJS, - previousModuleId?.toJS, - ); - final mainLibrary = childModule.values.first! as JSObject; + // ignore: unnecessary_lambdas dartRunMain = () { - mainLibrary.callMethod('main'.toJS); + dart.getMainLibrary(previousModuleId).main(); }.toJS; } else { ++reloadedModules; diff --git a/dwds/web/web_utils.dart b/dwds/web/web_utils.dart index 59e4d046e..399f2f2ab 100644 --- a/dwds/web/web_utils.dart +++ b/dwds/web/web_utils.dart @@ -5,7 +5,18 @@ import 'dart:js_interop'; @JS('window') -external JSObject get windowContext; +external WindowContext get windowContext; + +@JS('Error') +@staticInterop +abstract class WindowContext {} + +extension WindowContextExtension on WindowContext { + external bool? get $isInternalBuild; + external bool? get $isFlutterApp; + external String? get $dartAppId; + external String? get $dartExtensionUri; +} @JS('Array.from') external JSArray _jsArrayFrom(JSAny any); From 2fc16357ebfbbd040d7a13c19960df9cee78c33a Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Fri, 26 Jan 2024 11:23:31 -0800 Subject: [PATCH 15/16] Fixed some issues --- dwds/lib/src/handlers/dev_handler.dart | 2 +- dwds/lib/src/handlers/injector.dart | 52 +++++-------------- dwds/lib/src/loaders/require.dart | 2 - dwds/test/evaluate_common.dart | 3 -- .../frontend_server_evaluate_sound_test.dart | 2 +- fixtures/_webdevSoundSmoke/web/main.dart | 3 -- frontend_server_common/lib/src/bootstrap.dart | 2 +- 7 files changed, 16 insertions(+), 50 deletions(-) diff --git a/dwds/lib/src/handlers/dev_handler.dart b/dwds/lib/src/handlers/dev_handler.dart index 949b5b417..ff631854f 100644 --- a/dwds/lib/src/handlers/dev_handler.dart +++ b/dwds/lib/src/handlers/dev_handler.dart @@ -42,7 +42,7 @@ import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'; /// traffic to disk. /// /// Note: this should not be checked in enabled. -const _enableLogging = false; +const _enableLogging = true; /// SSE handler to enable development features like hot reload and /// opening DevTools. diff --git a/dwds/lib/src/handlers/injector.dart b/dwds/lib/src/handlers/injector.dart index 743871e83..8408f0350 100644 --- a/dwds/lib/src/handlers/injector.dart +++ b/dwds/lib/src/handlers/injector.dart @@ -143,10 +143,21 @@ String _injectClientAndHoistMain( String entrypointPath, String? extensionUri, ) { + // TODO(annagrin): google3 already sets appName in the bootstrap file, so we need + // other build system to do the same before rolling this to google3, or figure a + // way to set appName here only if not defined already. final bodyLines = body.split('\n'); + final entrypointExtensionIndex = + bodyLines.indexWhere((line) => line.contains(entrypointExtensionMarker)); + var result = bodyLines.sublist(0, entrypointExtensionIndex).join('\n'); + result += ''' + var appName = 'TestApp'; + '''; + final extensionIndex = bodyLines.indexWhere((line) => line.contains(mainExtensionMarker)); - var result = bodyLines.sublist(0, extensionIndex).join('\n'); + result += + bodyLines.sublist(entrypointExtensionIndex, extensionIndex).join('\n'); // The line after the marker calls `main`. We prevent `main` from // being called and make it runnable through a global variable. final mainFunction = @@ -173,9 +184,7 @@ String _injectClientAndHoistMain( } $injectedClientSnippet } else { - console.log("INJECTOR: registering entrypoint..."); if (typeof window.\$dartRegisterEntrypoint != "undefined") { - console.log("INJECTOR: registering entrypoint with dev handler"); window.\$dartRegisterEntrypoint( /* app name */ appName, /* entrypoint */ "$entrypointPath", @@ -220,48 +229,13 @@ String _injectedClientSnippet( workspaceName: appMetadata.workspaceName, ); - final injectedBody = '\n' - //' console.log("INJECTOR: registering app: " + appName);\n' + return '\n' // Used by DDC runtime to detect if a debugger is attached. ' window.\$dwdsVersion = "$packageVersion";\n' // Used by the injected client to communicate with the debugger. ' window.\$dartAppInfo = ${appInfo.toJs()};\n' // Load the injected client. ' ${loadStrategy.loadClientSnippet(_clientScript)};\n'; - - Logger.root.warning(injectedBody); - - // injectedBody += '\n' - // ' let appRecord = {};\n' - // ' appRecord.moduleStrategy = "${loadStrategy.id}";\n' - // ' appRecord.reloadConfiguration = "${loadStrategy.reloadConfiguration}";\n' - // ' appRecord.loadModuleConfig = ${loadStrategy.loadModuleSnippet};\n' - // ' appRecord.dwdsVersion = "$packageVersion";\n' - // ' appRecord.enableDevToolsLaunch = ${debugSettings.enableDevToolsLaunch};\n' - // ' appRecord.emitDebugEvents = ${debugSettings.emitDebugEvents};\n' - // ' appRecord.isInternalBuild = ${appMetadata.isInternalBuild};\n' - // ' appRecord.appName = appName;\n' - // ' appRecord.appId = "$appId";\n' - // ' appRecord.isFlutterApp = ${buildSettings.isFlutterApp};\n' - // ' appRecord.devHandlerPath = "$devHandlerPath";\n' - // ' appRecord.entrypoints = new Array();\n' - // ' appRecord.entrypoints.push("$entrypointPath");\n'; - - // if (extensionUri != null) { - // injectedBody += ' appRecord.extensionUrl = "$extensionUri";\n'; - // } - - // final workspaceName = appMetadata.workspaceName; - // if (workspaceName != null) { - // injectedBody += ' appRecord.workspaceName = "$workspaceName";\n'; - // } - - // injectedBody += '\n' - // ' window.\$dartAppInfo = $appInfo;\n' - // ' console.log("INJECTOR: Loading injected client...");\n' - // ' ${loadStrategy.loadClientSnippet(_clientScript)};\n'; - - return injectedBody; } /// Generate JS app info object for the injected client. diff --git a/dwds/lib/src/loaders/require.dart b/dwds/lib/src/loaders/require.dart index 700162ca2..c1802f34a 100644 --- a/dwds/lib/src/loaders/require.dart +++ b/dwds/lib/src/loaders/require.dart @@ -175,7 +175,6 @@ class RequireStrategy extends LoadStrategy { /// Adds error handler code for require.js which requests a `.errors` file for /// any failed module, and logs it to the console. String get _requireJsConfig => ''' -$_baseUrlScript; require.config({ baseUrl: baseUrl, waitSeconds: 0, @@ -224,7 +223,6 @@ requirejs.onResourceLoad = function (context, map, depArray) { final moduleNames = modulePaths.map((key, value) => MapEntry(value, key)); return ''' -let appName = "TestApp"; // TODO: this needs to be set by the build's bootstrap. $_baseUrlScript let modulePaths = ${const JsonEncoder.withIndent(" ").convert(modulePaths)}; let moduleNames = ${const JsonEncoder.withIndent(" ").convert(moduleNames)}; diff --git a/dwds/test/evaluate_common.dart b/dwds/test/evaluate_common.dart index 533da2ea6..faed9f0d6 100644 --- a/dwds/test/evaluate_common.dart +++ b/dwds/test/evaluate_common.dart @@ -69,7 +69,6 @@ void testAll({ () { setUpAll(() async { setCurrentLogWriter(debug: debug); - print('SETUP1'); await context.setUp( testSettings: TestSettings( compilationMode: compilationMode, @@ -79,7 +78,6 @@ void testAll({ verboseCompiler: debug, ), ); - print('SETUP2'); }); tearDownAll(() async { @@ -113,7 +111,6 @@ void testAll({ } }, ); - print('SETUP3'); context.service.onEvent('Stdout').listen(Logger.root.info); context.service.onEvent('Stderr').listen(Logger.root.warning); diff --git a/dwds/test/frontend_server_evaluate_sound_test.dart b/dwds/test/frontend_server_evaluate_sound_test.dart index 6bf103094..753438833 100644 --- a/dwds/test/frontend_server_evaluate_sound_test.dart +++ b/dwds/test/frontend_server_evaluate_sound_test.dart @@ -17,7 +17,7 @@ import 'fixtures/project.dart'; void main() async { // Enable verbose logging for debugging. - final debug = true; + final debug = false; final provider = TestSdkConfigurationProvider(verbose: debug); tearDownAll(provider.dispose); diff --git a/fixtures/_webdevSoundSmoke/web/main.dart b/fixtures/_webdevSoundSmoke/web/main.dart index 14f31c959..907bfdbba 100644 --- a/fixtures/_webdevSoundSmoke/web/main.dart +++ b/fixtures/_webdevSoundSmoke/web/main.dart @@ -7,11 +7,8 @@ import 'dart:convert'; import 'dart:developer'; import 'dart:html'; -int global = 3; - void main() { print('Initial Print'); - global = 4; registerExtension('ext.print', (_, __) async { print('Hello World'); diff --git a/frontend_server_common/lib/src/bootstrap.dart b/frontend_server_common/lib/src/bootstrap.dart index ec239e2f2..17742b341 100644 --- a/frontend_server_common/lib/src/bootstrap.dart +++ b/frontend_server_common/lib/src/bootstrap.dart @@ -362,7 +362,7 @@ String generateDDCMainModule( return '''/* ENTRYPOINT_EXTENTION_MARKER */ (function() { - let appName = "$entrypoint"; + //let appName = "$entrypoint"; // A uuid that identifies a subapp. let uuid = "00000000-0000-0000-0000-000000000000"; From 6b48bec736a8b495ec8844835a0ca43e5fc766ee Mon Sep 17 00:00:00 2001 From: Anna Gringauze Date: Fri, 26 Jan 2024 11:27:07 -0800 Subject: [PATCH 16/16] Update changelog --- webdev/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/webdev/CHANGELOG.md b/webdev/CHANGELOG.md index d25f88f67..527aa75fb 100644 --- a/webdev/CHANGELOG.md +++ b/webdev/CHANGELOG.md @@ -1,5 +1,7 @@ ## 3.5.0-wip +- Support lazy build debugging - [#2364](https://github.com/dart-lang/webdev/pull/2364) + ## 3.4.0 - Update `dwds` constraint to `23.3.0`.