const _library = Object.create(null);
const dart = Object.create(_library);
dart.library = _library;
var _debugger = Object.create(dart.library);
var _foreign_helper = Object.create(dart.library);
var _interceptors = Object.create(dart.library);
var _internal = Object.create(dart.library);
var _isolate_helper = Object.create(dart.library);
var _js_helper = Object.create(dart.library);
var _js_primitives = Object.create(dart.library);
var _metadata = Object.create(dart.library);
var _native_typed_data = Object.create(dart.library);
var async = Object.create(dart.library);
var collection = Object.create(dart.library);
var convert = Object.create(dart.library);
var developer = Object.create(dart.library);
var io = Object.create(dart.library);
var isolate$ = Object.create(dart.library);
var js = Object.create(dart.library);
var js_util = Object.create(dart.library);
var math = Object.create(dart.library);
var typed_data = Object.create(dart.library);
var indexed_db = Object.create(dart.library);
var html$ = Object.create(dart.library);
var html_common = Object.create(dart.library);
var svg$ = Object.create(dart.library);
var web_audio = Object.create(dart.library);
var web_gl = Object.create(dart.library);
var web_sql = Object.create(dart.library);
var core = Object.create(dart.library);
var _http = Object.create(dart.library);
var dartx = Object.create(dart.library);
export { dart, _debugger, _foreign_helper, _interceptors, _internal, _isolate_helper, _js_helper, _js_primitives, _metadata, _native_typed_data, async, collection, convert, developer, io, isolate$ as isolate, js, js_util, math, typed_data, indexed_db, html$ as html, html_common, svg$ as svg, web_audio, web_gl, web_sql, core, _http, dartx };
const _privateNames = Symbol("_privateNames");
dart.privateName = function(library, name) {
  let names = library[_privateNames];
  if (names == null) names = library[_privateNames] = new Map();
  let symbol = names.get(name);
  if (symbol == null) names.set(name, symbol = Symbol(name));
  return symbol;
};
var $hashCode = dartx.hashCode = Symbol("dartx.hashCode");
var $isNotEmpty = dartx.isNotEmpty = Symbol("dartx.isNotEmpty");
var $where = dartx.where = Symbol("dartx.where");
var $join = dartx.join = Symbol("dartx.join");
var $length = dartx.length = Symbol("dartx.length");
var $_equals = dartx._equals = Symbol("dartx._equals");
var $toString = dartx.toString = Symbol("dartx.toString");
var $noSuchMethod = dartx.noSuchMethod = Symbol("dartx.noSuchMethod");
var $cast = dartx.cast = Symbol("dartx.cast");
var $addAll = dartx.addAll = Symbol("dartx.addAll");
var $_set = dartx._set = Symbol("dartx._set");
var $_get = dartx._get = Symbol("dartx._get");
var $clear = dartx.clear = Symbol("dartx.clear");
var $contains = dartx.contains = Symbol("dartx.contains");
var $indexOf = dartx.indexOf = Symbol("dartx.indexOf");
var $add = dartx.add = Symbol("dartx.add");
var $isEmpty = dartx.isEmpty = Symbol("dartx.isEmpty");
var $map = dartx.map = Symbol("dartx.map");
var $toList = dartx.toList = Symbol("dartx.toList");
var $sublist = dartx.sublist = Symbol("dartx.sublist");
var $substring = dartx.substring = Symbol("dartx.substring");
var $split = dartx.split = Symbol("dartx.split");
var $trim = dartx.trim = Symbol("dartx.trim");
var $runtimeType = dartx.runtimeType = Symbol("dartx.runtimeType");
var $containsKey = dartx.containsKey = Symbol("dartx.containsKey");
var $any = dartx.any = Symbol("dartx.any");
var $keys = dartx.keys = Symbol("dartx.keys");
var $remove = dartx.remove = Symbol("dartx.remove");
var $values = dartx.values = Symbol("dartx.values");
var $entries = dartx.entries = Symbol("dartx.entries");
var $dartStack = dartx.dartStack = Symbol("dartx.dartStack");
var $truncate = dartx.truncate = Symbol("dartx.truncate");
var $toInt = dartx.toInt = Symbol("dartx.toInt");
var $skip = dartx.skip = Symbol("dartx.skip");
var $take = dartx.take = Symbol("dartx.take");
var $asMap = dartx.asMap = Symbol("dartx.asMap");
var $forEach = dartx.forEach = Symbol("dartx.forEach");
var $elementAt = dartx.elementAt = Symbol("dartx.elementAt");
var $last = dartx.last = Symbol("dartx.last");
var $firstWhere = dartx.firstWhere = Symbol("dartx.firstWhere");
var $replaceFirst = dartx.replaceFirst = Symbol("dartx.replaceFirst");
var $startsWith = dartx.startsWith = Symbol("dartx.startsWith");
var $compareTo = dartx.compareTo = Symbol("dartx.compareTo");
var $sort = dartx.sort = Symbol("dartx.sort");
var $putIfAbsent = dartx.putIfAbsent = Symbol("dartx.putIfAbsent");
var $round = dartx.round = Symbol("dartx.round");
var $bitAnd = dartx['&'] = Symbol("dartx.&");
var $bitOr = dartx['|'] = Symbol("dartx.|");
var $bitXor = dartx['^'] = Symbol("dartx.^");
var $stackTrace = dartx.stackTrace = Symbol("dartx.stackTrace");
var $invalidValue = dartx.invalidValue = Symbol("dartx.invalidValue");
var $name = dartx.name = Symbol("dartx.name");
var $message = dartx.message = Symbol("dartx.message");
var $checkMutable = dartx.checkMutable = Symbol("dartx.checkMutable");
var $checkGrowable = dartx.checkGrowable = Symbol("dartx.checkGrowable");
var $removeAt = dartx.removeAt = Symbol("dartx.removeAt");
var $insert = dartx.insert = Symbol("dartx.insert");
var $setRange = dartx.setRange = Symbol("dartx.setRange");
var $insertAll = dartx.insertAll = Symbol("dartx.insertAll");
var $setAll = dartx.setAll = Symbol("dartx.setAll");
var $removeLast = dartx.removeLast = Symbol("dartx.removeLast");
var $removeWhere = dartx.removeWhere = Symbol("dartx.removeWhere");
var $retainWhere = dartx.retainWhere = Symbol("dartx.retainWhere");
var $expand = dartx.expand = Symbol("dartx.expand");
var $takeWhile = dartx.takeWhile = Symbol("dartx.takeWhile");
var $skipWhile = dartx.skipWhile = Symbol("dartx.skipWhile");
var $reduce = dartx.reduce = Symbol("dartx.reduce");
var $fold = dartx.fold = Symbol("dartx.fold");
var $lastWhere = dartx.lastWhere = Symbol("dartx.lastWhere");
var $singleWhere = dartx.singleWhere = Symbol("dartx.singleWhere");
var $getRange = dartx.getRange = Symbol("dartx.getRange");
var $first = dartx.first = Symbol("dartx.first");
var $single = dartx.single = Symbol("dartx.single");
var $removeRange = dartx.removeRange = Symbol("dartx.removeRange");
var $fillRange = dartx.fillRange = Symbol("dartx.fillRange");
var $replaceRange = dartx.replaceRange = Symbol("dartx.replaceRange");
var $every = dartx.every = Symbol("dartx.every");
var $reversed = dartx.reversed = Symbol("dartx.reversed");
var $shuffle = dartx.shuffle = Symbol("dartx.shuffle");
var $lastIndexOf = dartx.lastIndexOf = Symbol("dartx.lastIndexOf");
var $toSet = dartx.toSet = Symbol("dartx.toSet");
var $iterator = dartx.iterator = Symbol("dartx.iterator");
var $followedBy = dartx.followedBy = Symbol("dartx.followedBy");
var $whereType = dartx.whereType = Symbol("dartx.whereType");
var $plus = dartx['+'] = Symbol("dartx.+");
var $indexWhere = dartx.indexWhere = Symbol("dartx.indexWhere");
var $lastIndexWhere = dartx.lastIndexWhere = Symbol("dartx.lastIndexWhere");
var $isNegative = dartx.isNegative = Symbol("dartx.isNegative");
var $isNaN = dartx.isNaN = Symbol("dartx.isNaN");
var $isInfinite = dartx.isInfinite = Symbol("dartx.isInfinite");
var $isFinite = dartx.isFinite = Symbol("dartx.isFinite");
var $remainder = dartx.remainder = Symbol("dartx.remainder");
var $abs = dartx.abs = Symbol("dartx.abs");
var $sign = dartx.sign = Symbol("dartx.sign");
var $truncateToDouble = dartx.truncateToDouble = Symbol("dartx.truncateToDouble");
var $ceilToDouble = dartx.ceilToDouble = Symbol("dartx.ceilToDouble");
var $ceil = dartx.ceil = Symbol("dartx.ceil");
var $floorToDouble = dartx.floorToDouble = Symbol("dartx.floorToDouble");
var $floor = dartx.floor = Symbol("dartx.floor");
var $roundToDouble = dartx.roundToDouble = Symbol("dartx.roundToDouble");
var $clamp = dartx.clamp = Symbol("dartx.clamp");
var $toDouble = dartx.toDouble = Symbol("dartx.toDouble");
var $toStringAsFixed = dartx.toStringAsFixed = Symbol("dartx.toStringAsFixed");
var $toStringAsExponential = dartx.toStringAsExponential = Symbol("dartx.toStringAsExponential");
var $toStringAsPrecision = dartx.toStringAsPrecision = Symbol("dartx.toStringAsPrecision");
var $codeUnitAt = dartx.codeUnitAt = Symbol("dartx.codeUnitAt");
var $toRadixString = dartx.toRadixString = Symbol("dartx.toRadixString");
var $times = dartx['*'] = Symbol("dartx.*");
var $_negate = dartx._negate = Symbol("dartx._negate");
var $minus = dartx['-'] = Symbol("dartx.-");
var $divide = dartx['/'] = Symbol("dartx./");
var $modulo = dartx['%'] = Symbol("dartx.%");
var $floorDivide = dartx['~/'] = Symbol("dartx.~/");
var $leftShift = dartx['<<'] = Symbol("dartx.<<");
var $rightShift = dartx['>>'] = Symbol("dartx.>>");
var $tripleShift = dartx['>>>'] = Symbol("dartx.>>>");
var $lessThan = dartx['<'] = Symbol("dartx.<");
var $greaterThan = dartx['>'] = Symbol("dartx.>");
var $lessOrEquals = dartx['<='] = Symbol("dartx.<=");
var $greaterOrEquals = dartx['>='] = Symbol("dartx.>=");
var $isEven = dartx.isEven = Symbol("dartx.isEven");
var $isOdd = dartx.isOdd = Symbol("dartx.isOdd");
var $toUnsigned = dartx.toUnsigned = Symbol("dartx.toUnsigned");
var $toSigned = dartx.toSigned = Symbol("dartx.toSigned");
var $bitLength = dartx.bitLength = Symbol("dartx.bitLength");
var $modPow = dartx.modPow = Symbol("dartx.modPow");
var $modInverse = dartx.modInverse = Symbol("dartx.modInverse");
var $gcd = dartx.gcd = Symbol("dartx.gcd");
var $bitNot = dartx['~'] = Symbol("dartx.~");
var $allMatches = dartx.allMatches = Symbol("dartx.allMatches");
var $matchAsPrefix = dartx.matchAsPrefix = Symbol("dartx.matchAsPrefix");
var $endsWith = dartx.endsWith = Symbol("dartx.endsWith");
var $replaceAll = dartx.replaceAll = Symbol("dartx.replaceAll");
var $splitMapJoin = dartx.splitMapJoin = Symbol("dartx.splitMapJoin");
var $replaceAllMapped = dartx.replaceAllMapped = Symbol("dartx.replaceAllMapped");
var $replaceFirstMapped = dartx.replaceFirstMapped = Symbol("dartx.replaceFirstMapped");
var $toLowerCase = dartx.toLowerCase = Symbol("dartx.toLowerCase");
var $toUpperCase = dartx.toUpperCase = Symbol("dartx.toUpperCase");
var $trimLeft = dartx.trimLeft = Symbol("dartx.trimLeft");
var $trimRight = dartx.trimRight = Symbol("dartx.trimRight");
var $padLeft = dartx.padLeft = Symbol("dartx.padLeft");
var $padRight = dartx.padRight = Symbol("dartx.padRight");
var $codeUnits = dartx.codeUnits = Symbol("dartx.codeUnits");
var $runes = dartx.runes = Symbol("dartx.runes");
var $buffer = dartx.buffer = Symbol("dartx.buffer");
var $offsetInBytes = dartx.offsetInBytes = Symbol("dartx.offsetInBytes");
var $containsValue = dartx.containsValue = Symbol("dartx.containsValue");
var $update = dartx.update = Symbol("dartx.update");
var $updateAll = dartx.updateAll = Symbol("dartx.updateAll");
var $addEntries = dartx.addEntries = Symbol("dartx.addEntries");
var $lengthInBytes = dartx.lengthInBytes = Symbol("dartx.lengthInBytes");
var $asUint8List = dartx.asUint8List = Symbol("dartx.asUint8List");
var $asInt8List = dartx.asInt8List = Symbol("dartx.asInt8List");
var $asUint8ClampedList = dartx.asUint8ClampedList = Symbol("dartx.asUint8ClampedList");
var $asUint16List = dartx.asUint16List = Symbol("dartx.asUint16List");
var $asInt16List = dartx.asInt16List = Symbol("dartx.asInt16List");
var $asUint32List = dartx.asUint32List = Symbol("dartx.asUint32List");
var $asInt32List = dartx.asInt32List = Symbol("dartx.asInt32List");
var $asUint64List = dartx.asUint64List = Symbol("dartx.asUint64List");
var $asInt64List = dartx.asInt64List = Symbol("dartx.asInt64List");
var $asInt32x4List = dartx.asInt32x4List = Symbol("dartx.asInt32x4List");
var $asFloat32List = dartx.asFloat32List = Symbol("dartx.asFloat32List");
var $asFloat64List = dartx.asFloat64List = Symbol("dartx.asFloat64List");
var $asFloat32x4List = dartx.asFloat32x4List = Symbol("dartx.asFloat32x4List");
var $asFloat64x2List = dartx.asFloat64x2List = Symbol("dartx.asFloat64x2List");
var $asByteData = dartx.asByteData = Symbol("dartx.asByteData");
var $elementSizeInBytes = dartx.elementSizeInBytes = Symbol("dartx.elementSizeInBytes");
var $getFloat32 = dartx.getFloat32 = Symbol("dartx.getFloat32");
var $getFloat64 = dartx.getFloat64 = Symbol("dartx.getFloat64");
var $getInt16 = dartx.getInt16 = Symbol("dartx.getInt16");
var $getInt32 = dartx.getInt32 = Symbol("dartx.getInt32");
var $getInt64 = dartx.getInt64 = Symbol("dartx.getInt64");
var $getInt8 = dartx.getInt8 = Symbol("dartx.getInt8");
var $getUint16 = dartx.getUint16 = Symbol("dartx.getUint16");
var $getUint32 = dartx.getUint32 = Symbol("dartx.getUint32");
var $getUint64 = dartx.getUint64 = Symbol("dartx.getUint64");
var $getUint8 = dartx.getUint8 = Symbol("dartx.getUint8");
var $setFloat32 = dartx.setFloat32 = Symbol("dartx.setFloat32");
var $setFloat64 = dartx.setFloat64 = Symbol("dartx.setFloat64");
var $setInt16 = dartx.setInt16 = Symbol("dartx.setInt16");
var $setInt32 = dartx.setInt32 = Symbol("dartx.setInt32");
var $setInt64 = dartx.setInt64 = Symbol("dartx.setInt64");
var $setInt8 = dartx.setInt8 = Symbol("dartx.setInt8");
var $setUint16 = dartx.setUint16 = Symbol("dartx.setUint16");
var $setUint32 = dartx.setUint32 = Symbol("dartx.setUint32");
var $setUint64 = dartx.setUint64 = Symbol("dartx.setUint64");
var $setUint8 = dartx.setUint8 = Symbol("dartx.setUint8");
var $left = dartx.left = Symbol("dartx.left");
var $width = dartx.width = Symbol("dartx.width");
var $top = dartx.top = Symbol("dartx.top");
var $height = dartx.height = Symbol("dartx.height");
var $right = dartx.right = Symbol("dartx.right");
var $bottom = dartx.bottom = Symbol("dartx.bottom");
var $intersection = dartx.intersection = Symbol("dartx.intersection");
var $intersects = dartx.intersects = Symbol("dartx.intersects");
var $boundingBox = dartx.boundingBox = Symbol("dartx.boundingBox");
var $containsRectangle = dartx.containsRectangle = Symbol("dartx.containsRectangle");
var $containsPoint = dartx.containsPoint = Symbol("dartx.containsPoint");
var $topLeft = dartx.topLeft = Symbol("dartx.topLeft");
var $topRight = dartx.topRight = Symbol("dartx.topRight");
var $bottomRight = dartx.bottomRight = Symbol("dartx.bottomRight");
var $bottomLeft = dartx.bottomLeft = Symbol("dartx.bottomLeft");
var T$ = {
  ObjectN: () => (T$.ObjectN = dart.constFn(dart.nullable(core.Object)))(),
  ListOfObjectN: () => (T$.ListOfObjectN = dart.constFn(core.List$(T$.ObjectN())))(),
  boolN: () => (T$.boolN = dart.constFn(dart.nullable(core.bool)))(),
  JSArrayOfString: () => (T$.JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))(),
  IdentityMapOfString$ObjectN: () => (T$.IdentityMapOfString$ObjectN = dart.constFn(_js_helper.IdentityMap$(core.String, T$.ObjectN())))(),
  ListOfString: () => (T$.ListOfString = dart.constFn(core.List$(core.String)))(),
  ListNOfString: () => (T$.ListNOfString = dart.constFn(dart.nullable(T$.ListOfString())))(),
  IdentityMapOfString$ListNOfString: () => (T$.IdentityMapOfString$ListNOfString = dart.constFn(_js_helper.IdentityMap$(core.String, T$.ListNOfString())))(),
  JSArrayOfTypeVariable: () => (T$.JSArrayOfTypeVariable = dart.constFn(_interceptors.JSArray$(dart.TypeVariable)))(),
  ExpandoOfFunction: () => (T$.ExpandoOfFunction = dart.constFn(core.Expando$(core.Function)))(),
  IdentityMapOfString$Object: () => (T$.IdentityMapOfString$Object = dart.constFn(_js_helper.IdentityMap$(core.String, core.Object)))(),
  ListOfObject: () => (T$.ListOfObject = dart.constFn(core.List$(core.Object)))(),
  IdentityMapOfTypeVariable$int: () => (T$.IdentityMapOfTypeVariable$int = dart.constFn(_js_helper.IdentityMap$(dart.TypeVariable, core.int)))(),
  IdentityMapOfTypeVariable$Object: () => (T$.IdentityMapOfTypeVariable$Object = dart.constFn(_js_helper.IdentityMap$(dart.TypeVariable, core.Object)))(),
  LinkedHashMapOfTypeVariable$TypeConstraint: () => (T$.LinkedHashMapOfTypeVariable$TypeConstraint = dart.constFn(collection.LinkedHashMap$(dart.TypeVariable, dart.TypeConstraint)))(),
  JSArrayOfObject: () => (T$.JSArrayOfObject = dart.constFn(_interceptors.JSArray$(core.Object)))(),
  ListOfType: () => (T$.ListOfType = dart.constFn(core.List$(core.Type)))(),
  SymbolL: () => (T$.SymbolL = dart.constFn(dart.legacy(core.Symbol)))(),
  MapOfSymbol$dynamic: () => (T$.MapOfSymbol$dynamic = dart.constFn(core.Map$(core.Symbol, dart.dynamic)))(),
  TypeL: () => (T$.TypeL = dart.constFn(dart.legacy(core.Type)))(),
  JSArrayOfNameValuePair: () => (T$.JSArrayOfNameValuePair = dart.constFn(_interceptors.JSArray$(_debugger.NameValuePair)))(),
  intAnddynamicTovoid: () => (T$.intAnddynamicTovoid = dart.constFn(dart.fnType(dart.void, [core.int, dart.dynamic])))(),
  JSArrayOfFormatter: () => (T$.JSArrayOfFormatter = dart.constFn(_interceptors.JSArray$(_debugger.Formatter)))(),
  _HashSetOfNameValuePair: () => (T$._HashSetOfNameValuePair = dart.constFn(collection._HashSet$(_debugger.NameValuePair)))(),
  IdentityMapOfString$String: () => (T$.IdentityMapOfString$String = dart.constFn(_js_helper.IdentityMap$(core.String, core.String)))(),
  dynamicAnddynamicToNull: () => (T$.dynamicAnddynamicToNull = dart.constFn(dart.fnType(core.Null, [dart.dynamic, dart.dynamic])))(),
  dynamicAnddynamicTovoid: () => (T$.dynamicAnddynamicTovoid = dart.constFn(dart.fnType(dart.void, [dart.dynamic, dart.dynamic])))(),
  dynamicToString: () => (T$.dynamicToString = dart.constFn(dart.fnType(core.String, [dart.dynamic])))(),
  ListOfNameValuePair: () => (T$.ListOfNameValuePair = dart.constFn(core.List$(_debugger.NameValuePair)))(),
  StringTobool: () => (T$.StringTobool = dart.constFn(dart.fnType(core.bool, [core.String])))(),
  VoidToString: () => (T$.VoidToString = dart.constFn(dart.fnType(core.String, [])))(),
  StringToNameValuePair: () => (T$.StringToNameValuePair = dart.constFn(dart.fnType(_debugger.NameValuePair, [core.String])))(),
  NameValuePairAndNameValuePairToint: () => (T$.NameValuePairAndNameValuePairToint = dart.constFn(dart.fnType(core.int, [_debugger.NameValuePair, _debugger.NameValuePair])))(),
  LinkedHashMapOfdynamic$ObjectN: () => (T$.LinkedHashMapOfdynamic$ObjectN = dart.constFn(collection.LinkedHashMap$(dart.dynamic, T$.ObjectN())))(),
  dynamicTodynamic: () => (T$.dynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic])))(),
  dynamicToObjectN: () => (T$.dynamicToObjectN = dart.constFn(dart.fnType(T$.ObjectN(), [dart.dynamic])))(),
  IdentityMapOfString$_MethodStats: () => (T$.IdentityMapOfString$_MethodStats = dart.constFn(_js_helper.IdentityMap$(core.String, _debugger._MethodStats)))(),
  StringToString: () => (T$.StringToString = dart.constFn(dart.fnType(core.String, [core.String])))(),
  VoidTo_MethodStats: () => (T$.VoidTo_MethodStats = dart.constFn(dart.fnType(_debugger._MethodStats, [])))(),
  StringAndStringToint: () => (T$.StringAndStringToint = dart.constFn(dart.fnType(core.int, [core.String, core.String])))(),
  JSArrayOfListOfObject: () => (T$.JSArrayOfListOfObject = dart.constFn(_interceptors.JSArray$(T$.ListOfObject())))(),
  JSArrayOf_CallMethodRecord: () => (T$.JSArrayOf_CallMethodRecord = dart.constFn(_interceptors.JSArray$(_debugger._CallMethodRecord)))(),
  ListN: () => (T$.ListN = dart.constFn(dart.nullable(core.List)))(),
  InvocationN: () => (T$.InvocationN = dart.constFn(dart.nullable(core.Invocation)))(),
  MapNOfSymbol$dynamic: () => (T$.MapNOfSymbol$dynamic = dart.constFn(dart.nullable(T$.MapOfSymbol$dynamic())))(),
  ObjectNAndObjectNToint: () => (T$.ObjectNAndObjectNToint = dart.constFn(dart.fnType(core.int, [T$.ObjectN(), T$.ObjectN()])))(),
  dynamicAnddynamicToint: () => (T$.dynamicAnddynamicToint = dart.constFn(dart.fnType(core.int, [dart.dynamic, dart.dynamic])))(),
  ObjectAndStackTraceTovoid: () => (T$.ObjectAndStackTraceTovoid = dart.constFn(dart.fnType(dart.void, [core.Object, core.StackTrace])))(),
  dynamicTovoid: () => (T$.dynamicTovoid = dart.constFn(dart.fnType(dart.void, [dart.dynamic])))(),
  _FutureOfNull: () => (T$._FutureOfNull = dart.constFn(async._Future$(core.Null)))(),
  VoidTo_FutureOfNull: () => (T$.VoidTo_FutureOfNull = dart.constFn(dart.fnType(T$._FutureOfNull(), [])))(),
  VoidTovoid: () => (T$.VoidTovoid = dart.constFn(dart.fnType(dart.void, [])))(),
  FutureOfNull: () => (T$.FutureOfNull = dart.constFn(async.Future$(core.Null)))(),
  FutureNOfNull: () => (T$.FutureNOfNull = dart.constFn(dart.nullable(T$.FutureOfNull())))(),
  ObjectTovoid: () => (T$.ObjectTovoid = dart.constFn(dart.fnType(dart.void, [core.Object])))(),
  dynamicToFuture: () => (T$.dynamicToFuture = dart.constFn(dart.fnType(async.Future, [dart.dynamic])))(),
  _FutureOfString: () => (T$._FutureOfString = dart.constFn(async._Future$(core.String)))(),
  _FutureOfbool: () => (T$._FutureOfbool = dart.constFn(async._Future$(core.bool)))(),
  VoidTobool: () => (T$.VoidTobool = dart.constFn(dart.fnType(core.bool, [])))(),
  boolToNull: () => (T$.boolToNull = dart.constFn(dart.fnType(core.Null, [core.bool])))(),
  voidToNull: () => (T$.voidToNull = dart.constFn(dart.fnType(core.Null, [dart.void])))(),
  _FutureOfint: () => (T$._FutureOfint = dart.constFn(async._Future$(core.int)))(),
  ObjectAndStackTraceToNull: () => (T$.ObjectAndStackTraceToNull = dart.constFn(dart.fnType(core.Null, [core.Object, core.StackTrace])))(),
  FutureOfvoid: () => (T$.FutureOfvoid = dart.constFn(async.Future$(dart.void)))(),
  VoidToFutureOfvoid: () => (T$.VoidToFutureOfvoid = dart.constFn(dart.fnType(T$.FutureOfvoid(), [])))(),
  EventSinkTo_ConverterStreamEventSink: () => (T$.EventSinkTo_ConverterStreamEventSink = dart.constFn(dart.fnType(convert._ConverterStreamEventSink, [async.EventSink])))(),
  JSArrayOfUint8List: () => (T$.JSArrayOfUint8List = dart.constFn(_interceptors.JSArray$(typed_data.Uint8List)))(),
  ObjectNAndObjectNTovoid: () => (T$.ObjectNAndObjectNTovoid = dart.constFn(dart.fnType(dart.void, [T$.ObjectN(), T$.ObjectN()])))(),
  ObjectNToObjectN: () => (T$.ObjectNToObjectN = dart.constFn(dart.fnType(T$.ObjectN(), [T$.ObjectN()])))(),
  EmptyIteratorOfNeverL: () => (T$.EmptyIteratorOfNeverL = dart.constFn(_internal.EmptyIterator$(dart.legacy(dart.Never))))(),
  doubleL: () => (T$.doubleL = dart.constFn(dart.legacy(core.double)))(),
  VoidToFutureOfNull: () => (T$.VoidToFutureOfNull = dart.constFn(dart.fnType(T$.FutureOfNull(), [])))(),
  VoidToNull: () => (T$.VoidToNull = dart.constFn(dart.fnType(core.Null, [])))(),
  VoidToint: () => (T$.VoidToint = dart.constFn(dart.fnType(core.int, [])))(),
  JSArrayOfint: () => (T$.JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))(),
  StringN: () => (T$.StringN = dart.constFn(dart.nullable(core.String)))(),
  JSArrayOfStringN: () => (T$.JSArrayOfStringN = dart.constFn(_interceptors.JSArray$(T$.StringN())))(),
  SubListIterableOfString: () => (T$.SubListIterableOfString = dart.constFn(_internal.SubListIterable$(core.String)))(),
  EmptyIterableOfString: () => (T$.EmptyIterableOfString = dart.constFn(_internal.EmptyIterable$(core.String)))(),
  ObjectNTovoid: () => (T$.ObjectNTovoid = dart.constFn(dart.fnType(dart.void, [T$.ObjectN()])))(),
  MatchToString: () => (T$.MatchToString = dart.constFn(dart.fnType(core.String, [core.Match])))(),
  IterableOfdouble: () => (T$.IterableOfdouble = dart.constFn(core.Iterable$(core.double)))(),
  IterableOfint: () => (T$.IterableOfint = dart.constFn(core.Iterable$(core.int)))(),
  intN: () => (T$.intN = dart.constFn(dart.nullable(core.int)))(),
  ObjectNTovoid$1: () => (T$.ObjectNTovoid$1 = dart.constFn(dart.fnType(dart.void, [], [T$.ObjectN()])))(),
  _FutureOfObjectN: () => (T$._FutureOfObjectN = dart.constFn(async._Future$(T$.ObjectN())))(),
  dynamicToNull: () => (T$.dynamicToNull = dart.constFn(dart.fnType(core.Null, [dart.dynamic])))(),
  _FutureOfvoid: () => (T$._FutureOfvoid = dart.constFn(async._Future$(dart.void)))(),
  VoidToObject: () => (T$.VoidToObject = dart.constFn(dart.fnType(core.Object, [])))(),
  ObjectTodynamic: () => (T$.ObjectTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.Object])))(),
  VoidToStackTrace: () => (T$.VoidToStackTrace = dart.constFn(dart.fnType(core.StackTrace, [])))(),
  StackTraceTodynamic: () => (T$.StackTraceTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.StackTrace])))(),
  ObjectNTobool: () => (T$.ObjectNTobool = dart.constFn(dart.fnType(core.bool, [T$.ObjectN()])))(),
  FutureOrOfbool: () => (T$.FutureOrOfbool = dart.constFn(async.FutureOr$(core.bool)))(),
  VoidToFutureOrOfbool: () => (T$.VoidToFutureOrOfbool = dart.constFn(dart.fnType(T$.FutureOrOfbool(), [])))(),
  boolTovoid: () => (T$.boolTovoid = dart.constFn(dart.fnType(dart.void, [core.bool])))(),
  VoidToFn: () => (T$.VoidToFn = dart.constFn(dart.fnType(T$.boolTovoid(), [])))(),
  FnTodynamic: () => (T$.FnTodynamic = dart.constFn(dart.fnType(dart.dynamic, [T$.boolTovoid()])))(),
  FutureOfbool: () => (T$.FutureOfbool = dart.constFn(async.Future$(core.bool)))(),
  ObjectTobool: () => (T$.ObjectTobool = dart.constFn(dart.fnType(core.bool, [core.Object])))(),
  VoidTodynamic: () => (T$.VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))(),
  ObjectAndStackTraceTodynamic: () => (T$.ObjectAndStackTraceTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.Object, core.StackTrace])))(),
  _FutureListenerOfObject$Object: () => (T$._FutureListenerOfObject$Object = dart.constFn(async._FutureListener$(core.Object, core.Object)))(),
  _FutureListenerNOfObject$Object: () => (T$._FutureListenerNOfObject$Object = dart.constFn(dart.nullable(T$._FutureListenerOfObject$Object())))(),
  JSArrayOfFunction: () => (T$.JSArrayOfFunction = dart.constFn(_interceptors.JSArray$(core.Function)))(),
  _FutureListenerN: () => (T$._FutureListenerN = dart.constFn(dart.nullable(async._FutureListener)))(),
  dynamicTo_Future: () => (T$.dynamicTo_Future = dart.constFn(dart.fnType(async._Future, [dart.dynamic])))(),
  _StreamControllerAddStreamStateOfObjectN: () => (T$._StreamControllerAddStreamStateOfObjectN = dart.constFn(async._StreamControllerAddStreamState$(T$.ObjectN())))(),
  FunctionN: () => (T$.FunctionN = dart.constFn(dart.nullable(core.Function)))(),
  AsyncErrorN: () => (T$.AsyncErrorN = dart.constFn(dart.nullable(async.AsyncError)))(),
  StackTraceN: () => (T$.StackTraceN = dart.constFn(dart.nullable(core.StackTrace)))(),
  ZoneAndZoneDelegateAndZone__ToAsyncErrorN: () => (T$.ZoneAndZoneDelegateAndZone__ToAsyncErrorN = dart.constFn(dart.fnType(T$.AsyncErrorN(), [async.Zone, async.ZoneDelegate, async.Zone, core.Object, T$.StackTraceN()])))(),
  _ZoneFunctionOfZoneAndZoneDelegateAndZone__ToAsyncErrorN: () => (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToAsyncErrorN = dart.constFn(async._ZoneFunction$(T$.ZoneAndZoneDelegateAndZone__ToAsyncErrorN())))(),
  ZoneAndZoneDelegateAndZone__Tovoid: () => (T$.ZoneAndZoneDelegateAndZone__Tovoid = dart.constFn(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, T$.VoidTovoid()])))(),
  _ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid: () => (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid = dart.constFn(async._ZoneFunction$(T$.ZoneAndZoneDelegateAndZone__Tovoid())))(),
  ZoneAndZoneDelegateAndZone__ToTimer: () => (T$.ZoneAndZoneDelegateAndZone__ToTimer = dart.constFn(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, T$.VoidTovoid()])))(),
  _ZoneFunctionOfZoneAndZoneDelegateAndZone__ToTimer: () => (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToTimer = dart.constFn(async._ZoneFunction$(T$.ZoneAndZoneDelegateAndZone__ToTimer())))(),
  TimerTovoid: () => (T$.TimerTovoid = dart.constFn(dart.fnType(dart.void, [async.Timer])))(),
  ZoneAndZoneDelegateAndZone__ToTimer$1: () => (T$.ZoneAndZoneDelegateAndZone__ToTimer$1 = dart.constFn(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, T$.TimerTovoid()])))(),
  _ZoneFunctionOfZoneAndZoneDelegateAndZone__ToTimer$1: () => (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToTimer$1 = dart.constFn(async._ZoneFunction$(T$.ZoneAndZoneDelegateAndZone__ToTimer$1())))(),
  ZoneAndZoneDelegateAndZone__Tovoid$1: () => (T$.ZoneAndZoneDelegateAndZone__Tovoid$1 = dart.constFn(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.String])))(),
  _ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid$1: () => (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid$1 = dart.constFn(async._ZoneFunction$(T$.ZoneAndZoneDelegateAndZone__Tovoid$1())))(),
  ZoneSpecificationN: () => (T$.ZoneSpecificationN = dart.constFn(dart.nullable(async.ZoneSpecification)))(),
  MapOfObjectN$ObjectN: () => (T$.MapOfObjectN$ObjectN = dart.constFn(core.Map$(T$.ObjectN(), T$.ObjectN())))(),
  MapNOfObjectN$ObjectN: () => (T$.MapNOfObjectN$ObjectN = dart.constFn(dart.nullable(T$.MapOfObjectN$ObjectN())))(),
  ZoneAndZoneDelegateAndZone__ToZone: () => (T$.ZoneAndZoneDelegateAndZone__ToZone = dart.constFn(dart.fnType(async.Zone, [async.Zone, async.ZoneDelegate, async.Zone, T$.ZoneSpecificationN(), T$.MapNOfObjectN$ObjectN()])))(),
  _ZoneFunctionOfZoneAndZoneDelegateAndZone__ToZone: () => (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToZone = dart.constFn(async._ZoneFunction$(T$.ZoneAndZoneDelegateAndZone__ToZone())))(),
  ZoneAndZoneDelegateAndZone__Tovoid$2: () => (T$.ZoneAndZoneDelegateAndZone__Tovoid$2 = dart.constFn(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.Object, core.StackTrace])))(),
  _ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid$2: () => (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid$2 = dart.constFn(async._ZoneFunction$(T$.ZoneAndZoneDelegateAndZone__Tovoid$2())))(),
  ZoneN: () => (T$.ZoneN = dart.constFn(dart.nullable(async.Zone)))(),
  ZoneDelegateN: () => (T$.ZoneDelegateN = dart.constFn(dart.nullable(async.ZoneDelegate)))(),
  ZoneNAndZoneDelegateNAndZone__ToR: () => (T$.ZoneNAndZoneDelegateNAndZone__ToR = dart.constFn(dart.gFnType(R => [R, [T$.ZoneN(), T$.ZoneDelegateN(), async.Zone, dart.fnType(R, [])]], R => [T$.ObjectN()])))(),
  ZoneNAndZoneDelegateNAndZone__ToR$1: () => (T$.ZoneNAndZoneDelegateNAndZone__ToR$1 = dart.constFn(dart.gFnType((R, T) => [R, [T$.ZoneN(), T$.ZoneDelegateN(), async.Zone, dart.fnType(R, [T]), T]], (R, T) => [T$.ObjectN(), T$.ObjectN()])))(),
  ZoneNAndZoneDelegateNAndZone__ToR$2: () => (T$.ZoneNAndZoneDelegateNAndZone__ToR$2 = dart.constFn(dart.gFnType((R, T1, T2) => [R, [T$.ZoneN(), T$.ZoneDelegateN(), async.Zone, dart.fnType(R, [T1, T2]), T1, T2]], (R, T1, T2) => [T$.ObjectN(), T$.ObjectN(), T$.ObjectN()])))(),
  ZoneAndZoneDelegateAndZone__ToFn: () => (T$.ZoneAndZoneDelegateAndZone__ToFn = dart.constFn(dart.gFnType(R => [dart.fnType(R, []), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [])]], R => [T$.ObjectN()])))(),
  ZoneAndZoneDelegateAndZone__ToFn$1: () => (T$.ZoneAndZoneDelegateAndZone__ToFn$1 = dart.constFn(dart.gFnType((R, T) => [dart.fnType(R, [T]), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T])]], (R, T) => [T$.ObjectN(), T$.ObjectN()])))(),
  ZoneAndZoneDelegateAndZone__ToFn$2: () => (T$.ZoneAndZoneDelegateAndZone__ToFn$2 = dart.constFn(dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T1, T2])]], (R, T1, T2) => [T$.ObjectN(), T$.ObjectN(), T$.ObjectN()])))(),
  ZoneL: () => (T$.ZoneL = dart.constFn(dart.legacy(async.Zone)))(),
  ZoneDelegateL: () => (T$.ZoneDelegateL = dart.constFn(dart.legacy(async.ZoneDelegate)))(),
  ObjectL: () => (T$.ObjectL = dart.constFn(dart.legacy(core.Object)))(),
  ZoneLAndZoneDelegateLAndZoneL__ToAsyncErrorN: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToAsyncErrorN = dart.constFn(dart.fnType(T$.AsyncErrorN(), [T$.ZoneL(), T$.ZoneDelegateL(), T$.ZoneL(), T$.ObjectL(), T$.StackTraceN()])))(),
  ZoneLAndZoneDelegateLAndZoneL__ToLAsyncErrorN: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToLAsyncErrorN = dart.constFn(dart.legacy(T$.ZoneLAndZoneDelegateLAndZoneL__ToAsyncErrorN())))(),
  _ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLAsyncErrorN: () => (T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLAsyncErrorN = dart.constFn(async._ZoneFunction$(T$.ZoneLAndZoneDelegateLAndZoneL__ToLAsyncErrorN())))(),
  VoidToLvoid: () => (T$.VoidToLvoid = dart.constFn(dart.legacy(T$.VoidTovoid())))(),
  ZoneLAndZoneDelegateLAndZoneL__Tovoid: () => (T$.ZoneLAndZoneDelegateLAndZoneL__Tovoid = dart.constFn(dart.fnType(dart.void, [T$.ZoneL(), T$.ZoneDelegateL(), T$.ZoneL(), T$.VoidToLvoid()])))(),
  ZoneLAndZoneDelegateLAndZoneL__ToLvoid: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToLvoid = dart.constFn(dart.legacy(T$.ZoneLAndZoneDelegateLAndZoneL__Tovoid())))(),
  _ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid: () => (T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid = dart.constFn(async._ZoneFunction$(T$.ZoneLAndZoneDelegateLAndZoneL__ToLvoid())))(),
  ZoneNAndZoneDelegateNAndZone__Tovoid: () => (T$.ZoneNAndZoneDelegateNAndZone__Tovoid = dart.constFn(dart.fnType(dart.void, [T$.ZoneN(), T$.ZoneDelegateN(), async.Zone, T$.VoidTovoid()])))(),
  TimerL: () => (T$.TimerL = dart.constFn(dart.legacy(async.Timer)))(),
  DurationL: () => (T$.DurationL = dart.constFn(dart.legacy(core.Duration)))(),
  ZoneLAndZoneDelegateLAndZoneL__ToTimerL: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToTimerL = dart.constFn(dart.fnType(T$.TimerL(), [T$.ZoneL(), T$.ZoneDelegateL(), T$.ZoneL(), T$.DurationL(), T$.VoidToLvoid()])))(),
  ZoneLAndZoneDelegateLAndZoneL__ToLTimerL: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToLTimerL = dart.constFn(dart.legacy(T$.ZoneLAndZoneDelegateLAndZoneL__ToTimerL())))(),
  _ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLTimerL: () => (T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLTimerL = dart.constFn(async._ZoneFunction$(T$.ZoneLAndZoneDelegateLAndZoneL__ToLTimerL())))(),
  TimerLTovoid: () => (T$.TimerLTovoid = dart.constFn(dart.fnType(dart.void, [T$.TimerL()])))(),
  TimerLToLvoid: () => (T$.TimerLToLvoid = dart.constFn(dart.legacy(T$.TimerLTovoid())))(),
  ZoneLAndZoneDelegateLAndZoneL__ToTimerL$1: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToTimerL$1 = dart.constFn(dart.fnType(T$.TimerL(), [T$.ZoneL(), T$.ZoneDelegateL(), T$.ZoneL(), T$.DurationL(), T$.TimerLToLvoid()])))(),
  ZoneLAndZoneDelegateLAndZoneL__ToLTimerL$1: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToLTimerL$1 = dart.constFn(dart.legacy(T$.ZoneLAndZoneDelegateLAndZoneL__ToTimerL$1())))(),
  _ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLTimerL$1: () => (T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLTimerL$1 = dart.constFn(async._ZoneFunction$(T$.ZoneLAndZoneDelegateLAndZoneL__ToLTimerL$1())))(),
  StringL: () => (T$.StringL = dart.constFn(dart.legacy(core.String)))(),
  ZoneLAndZoneDelegateLAndZoneL__Tovoid$1: () => (T$.ZoneLAndZoneDelegateLAndZoneL__Tovoid$1 = dart.constFn(dart.fnType(dart.void, [T$.ZoneL(), T$.ZoneDelegateL(), T$.ZoneL(), T$.StringL()])))(),
  ZoneLAndZoneDelegateLAndZoneL__ToLvoid$1: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToLvoid$1 = dart.constFn(dart.legacy(T$.ZoneLAndZoneDelegateLAndZoneL__Tovoid$1())))(),
  _ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid$1: () => (T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid$1 = dart.constFn(async._ZoneFunction$(T$.ZoneLAndZoneDelegateLAndZoneL__ToLvoid$1())))(),
  ZoneLAndZoneDelegateLAndZoneL__ToZoneL: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToZoneL = dart.constFn(dart.fnType(T$.ZoneL(), [T$.ZoneL(), T$.ZoneDelegateL(), T$.ZoneL(), T$.ZoneSpecificationN(), T$.MapNOfObjectN$ObjectN()])))(),
  ZoneLAndZoneDelegateLAndZoneL__ToLZoneL: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToLZoneL = dart.constFn(dart.legacy(T$.ZoneLAndZoneDelegateLAndZoneL__ToZoneL())))(),
  _ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLZoneL: () => (T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLZoneL = dart.constFn(async._ZoneFunction$(T$.ZoneLAndZoneDelegateLAndZoneL__ToLZoneL())))(),
  ZoneNAndZoneDelegateNAndZone__ToZone: () => (T$.ZoneNAndZoneDelegateNAndZone__ToZone = dart.constFn(dart.fnType(async.Zone, [T$.ZoneN(), T$.ZoneDelegateN(), async.Zone, T$.ZoneSpecificationN(), T$.MapNOfObjectN$ObjectN()])))(),
  StackTraceL: () => (T$.StackTraceL = dart.constFn(dart.legacy(core.StackTrace)))(),
  ZoneLAndZoneDelegateLAndZoneL__Tovoid$2: () => (T$.ZoneLAndZoneDelegateLAndZoneL__Tovoid$2 = dart.constFn(dart.fnType(dart.void, [T$.ZoneL(), T$.ZoneDelegateL(), T$.ZoneL(), T$.ObjectL(), T$.StackTraceL()])))(),
  ZoneLAndZoneDelegateLAndZoneL__ToLvoid$2: () => (T$.ZoneLAndZoneDelegateLAndZoneL__ToLvoid$2 = dart.constFn(dart.legacy(T$.ZoneLAndZoneDelegateLAndZoneL__Tovoid$2())))(),
  _ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid$2: () => (T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid$2 = dart.constFn(async._ZoneFunction$(T$.ZoneLAndZoneDelegateLAndZoneL__ToLvoid$2())))(),
  ZoneNAndZoneDelegateNAndZone__Tovoid$1: () => (T$.ZoneNAndZoneDelegateNAndZone__Tovoid$1 = dart.constFn(dart.fnType(dart.void, [T$.ZoneN(), T$.ZoneDelegateN(), async.Zone, core.Object, core.StackTrace])))(),
  NeverAndNeverTodynamic: () => (T$.NeverAndNeverTodynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.Never, dart.Never])))(),
  ObjectNAndObjectNTovoid$1: () => (T$.ObjectNAndObjectNTovoid$1 = dart.constFn(dart.fnType(dart.void, [T$.ObjectN()], [T$.ObjectN()])))(),
  StringTovoid: () => (T$.StringTovoid = dart.constFn(dart.fnType(dart.void, [core.String])))(),
  HashMapOfObjectN$ObjectN: () => (T$.HashMapOfObjectN$ObjectN = dart.constFn(collection.HashMap$(T$.ObjectN(), T$.ObjectN())))(),
  JSArrayOfObjectN: () => (T$.JSArrayOfObjectN = dart.constFn(_interceptors.JSArray$(T$.ObjectN())))(),
  ObjectNToint: () => (T$.ObjectNToint = dart.constFn(dart.fnType(core.int, [T$.ObjectN()])))(),
  ObjectNAndObjectNTobool: () => (T$.ObjectNAndObjectNTobool = dart.constFn(dart.fnType(core.bool, [T$.ObjectN(), T$.ObjectN()])))(),
  LinkedListEntryOfLinkedListEntry: () => (T$.LinkedListEntryOfLinkedListEntry = dart.constFn(collection.LinkedListEntry$(collection.LinkedListEntry)))()
};
var T$0 = {
  dynamicTobool: () => (T$0.dynamicTobool = dart.constFn(dart.fnType(core.bool, [dart.dynamic])))(),
  ComparableAndComparableToint: () => (T$0.ComparableAndComparableToint = dart.constFn(dart.fnType(core.int, [core.Comparable, core.Comparable])))(),
  MappedIterableOfString$dynamic: () => (T$0.MappedIterableOfString$dynamic = dart.constFn(_internal.MappedIterable$(core.String, dart.dynamic)))(),
  ObjectNTodynamic: () => (T$0.ObjectNTodynamic = dart.constFn(dart.fnType(dart.dynamic, [T$.ObjectN()])))(),
  MapOfString$dynamic: () => (T$0.MapOfString$dynamic = dart.constFn(core.Map$(core.String, dart.dynamic)))(),
  StringAnddynamicTovoid: () => (T$0.StringAnddynamicTovoid = dart.constFn(dart.fnType(dart.void, [core.String, dart.dynamic])))(),
  IdentityMapOfString$dynamic: () => (T$0.IdentityMapOfString$dynamic = dart.constFn(_js_helper.IdentityMap$(core.String, dart.dynamic)))(),
  ListOfint: () => (T$0.ListOfint = dart.constFn(core.List$(core.int)))(),
  StringBufferAndStringToStringBuffer: () => (T$0.StringBufferAndStringToStringBuffer = dart.constFn(dart.fnType(core.StringBuffer, [core.StringBuffer, core.String])))(),
  StringBufferToString: () => (T$0.StringBufferToString = dart.constFn(dart.fnType(core.String, [core.StringBuffer])))(),
  IdentityMapOfString$Encoding: () => (T$0.IdentityMapOfString$Encoding = dart.constFn(_js_helper.IdentityMap$(core.String, convert.Encoding)))(),
  SinkOfListOfint: () => (T$0.SinkOfListOfint = dart.constFn(core.Sink$(T$0.ListOfint())))(),
  StreamOfString: () => (T$0.StreamOfString = dart.constFn(async.Stream$(core.String)))(),
  StreamOfListOfint: () => (T$0.StreamOfListOfint = dart.constFn(async.Stream$(T$0.ListOfint())))(),
  SinkOfString: () => (T$0.SinkOfString = dart.constFn(core.Sink$(core.String)))(),
  intL: () => (T$0.intL = dart.constFn(dart.legacy(core.int)))(),
  StreamOfObjectN: () => (T$0.StreamOfObjectN = dart.constFn(async.Stream$(T$.ObjectN())))(),
  JSArrayOfListOfint: () => (T$0.JSArrayOfListOfint = dart.constFn(_interceptors.JSArray$(T$0.ListOfint())))(),
  Uint8ListAndintAndintTovoid: () => (T$0.Uint8ListAndintAndintTovoid = dart.constFn(dart.fnType(dart.void, [typed_data.Uint8List, core.int, core.int])))(),
  SyncIterableOfString: () => (T$0.SyncIterableOfString = dart.constFn(_js_helper.SyncIterable$(core.String)))(),
  EventSinkOfString: () => (T$0.EventSinkOfString = dart.constFn(async.EventSink$(core.String)))(),
  EventSinkOfStringTo_LineSplitterEventSink: () => (T$0.EventSinkOfStringTo_LineSplitterEventSink = dart.constFn(dart.fnType(convert._LineSplitterEventSink, [T$0.EventSinkOfString()])))(),
  VoidToObjectN: () => (T$0.VoidToObjectN = dart.constFn(dart.fnType(T$.ObjectN(), [])))(),
  IdentityMapOfString$_FakeUserTag: () => (T$0.IdentityMapOfString$_FakeUserTag = dart.constFn(_js_helper.IdentityMap$(core.String, developer._FakeUserTag)))(),
  LinkedMapOfString$Metric: () => (T$0.LinkedMapOfString$Metric = dart.constFn(_js_helper.LinkedMap$(core.String, developer.Metric)))(),
  CompleterOfStringN: () => (T$0.CompleterOfStringN = dart.constFn(async.Completer$(T$.StringN())))(),
  StringNTovoid: () => (T$0.StringNTovoid = dart.constFn(dart.fnType(dart.void, [T$.StringN()])))(),
  _SyncBlockN: () => (T$0._SyncBlockN = dart.constFn(dart.nullable(developer._SyncBlock)))(),
  JSArrayOf_SyncBlockN: () => (T$0.JSArrayOf_SyncBlockN = dart.constFn(_interceptors.JSArray$(T$0._SyncBlockN())))(),
  JSArrayOf_AsyncBlock: () => (T$0.JSArrayOf_AsyncBlock = dart.constFn(_interceptors.JSArray$(developer._AsyncBlock)))(),
  LinkedMapOfObjectN$ObjectN: () => (T$0.LinkedMapOfObjectN$ObjectN = dart.constFn(_js_helper.LinkedMap$(T$.ObjectN(), T$.ObjectN())))(),
  FutureOfServiceExtensionResponse: () => (T$0.FutureOfServiceExtensionResponse = dart.constFn(async.Future$(developer.ServiceExtensionResponse)))(),
  MapOfString$String: () => (T$0.MapOfString$String = dart.constFn(core.Map$(core.String, core.String)))(),
  StringAndMapOfString$StringToFutureOfServiceExtensionResponse: () => (T$0.StringAndMapOfString$StringToFutureOfServiceExtensionResponse = dart.constFn(dart.fnType(T$0.FutureOfServiceExtensionResponse(), [core.String, T$0.MapOfString$String()])))(),
  IdentityMapOfString$StringAndMapOfString$StringToFutureOfServiceExtensionResponse: () => (T$0.IdentityMapOfString$StringAndMapOfString$StringToFutureOfServiceExtensionResponse = dart.constFn(_js_helper.IdentityMap$(core.String, T$0.StringAndMapOfString$StringToFutureOfServiceExtensionResponse())))(),
  VoidToUint8List: () => (T$0.VoidToUint8List = dart.constFn(dart.fnType(typed_data.Uint8List, [])))(),
  Uint8ListTodynamic: () => (T$0.Uint8ListTodynamic = dart.constFn(dart.fnType(dart.dynamic, [typed_data.Uint8List])))(),
  FutureOfDirectory: () => (T$0.FutureOfDirectory = dart.constFn(async.Future$(io.Directory)))(),
  DirectoryToFutureOfDirectory: () => (T$0.DirectoryToFutureOfDirectory = dart.constFn(dart.fnType(T$0.FutureOfDirectory(), [io.Directory])))(),
  FutureOrOfDirectory: () => (T$0.FutureOrOfDirectory = dart.constFn(async.FutureOr$(io.Directory)))(),
  boolToFutureOrOfDirectory: () => (T$0.boolToFutureOrOfDirectory = dart.constFn(dart.fnType(T$0.FutureOrOfDirectory(), [core.bool])))(),
  dynamicTo_Directory: () => (T$0.dynamicTo_Directory = dart.constFn(dart.fnType(io._Directory, [dart.dynamic])))(),
  dynamicToDirectory: () => (T$0.dynamicToDirectory = dart.constFn(dart.fnType(io.Directory, [dart.dynamic])))(),
  JSArrayOfFileSystemEntity: () => (T$0.JSArrayOfFileSystemEntity = dart.constFn(_interceptors.JSArray$(io.FileSystemEntity)))(),
  FutureOrOfString: () => (T$0.FutureOrOfString = dart.constFn(async.FutureOr$(core.String)))(),
  dynamicToFutureOrOfString: () => (T$0.dynamicToFutureOrOfString = dart.constFn(dart.fnType(T$0.FutureOrOfString(), [dart.dynamic])))(),
  dynamicToFutureOrOfbool: () => (T$0.dynamicToFutureOrOfbool = dart.constFn(dart.fnType(T$.FutureOrOfbool(), [dart.dynamic])))(),
  FileSystemEntityTypeTobool: () => (T$0.FileSystemEntityTypeTobool = dart.constFn(dart.fnType(core.bool, [io.FileSystemEntityType])))(),
  dynamicToFileSystemEntityType: () => (T$0.dynamicToFileSystemEntityType = dart.constFn(dart.fnType(io.FileSystemEntityType, [dart.dynamic])))(),
  StreamControllerOfFileSystemEntity: () => (T$0.StreamControllerOfFileSystemEntity = dart.constFn(async.StreamController$(io.FileSystemEntity)))(),
  StreamControllerOfUint8List: () => (T$0.StreamControllerOfUint8List = dart.constFn(async.StreamController$(typed_data.Uint8List)))(),
  VoidToFuture: () => (T$0.VoidToFuture = dart.constFn(dart.fnType(async.Future, [])))(),
  Uint8ListToNull: () => (T$0.Uint8ListToNull = dart.constFn(dart.fnType(core.Null, [typed_data.Uint8List])))(),
  RandomAccessFileTovoid: () => (T$0.RandomAccessFileTovoid = dart.constFn(dart.fnType(dart.void, [io.RandomAccessFile])))(),
  FutureOfRandomAccessFile: () => (T$0.FutureOfRandomAccessFile = dart.constFn(async.Future$(io.RandomAccessFile)))(),
  FileN: () => (T$0.FileN = dart.constFn(dart.nullable(io.File)))(),
  CompleterOfFileN: () => (T$0.CompleterOfFileN = dart.constFn(async.Completer$(T$0.FileN())))(),
  StreamSubscriptionOfListOfint: () => (T$0.StreamSubscriptionOfListOfint = dart.constFn(async.StreamSubscription$(T$0.ListOfint())))(),
  VoidToStreamSubscriptionOfListOfint: () => (T$0.VoidToStreamSubscriptionOfListOfint = dart.constFn(dart.fnType(T$0.StreamSubscriptionOfListOfint(), [])))(),
  StreamSubscriptionOfListOfintTodynamic: () => (T$0.StreamSubscriptionOfListOfintTodynamic = dart.constFn(dart.fnType(dart.dynamic, [T$0.StreamSubscriptionOfListOfint()])))(),
  dynamicAndStackTraceTovoid: () => (T$0.dynamicAndStackTraceTovoid = dart.constFn(dart.fnType(dart.void, [dart.dynamic, core.StackTrace])))(),
  ListOfintTovoid: () => (T$0.ListOfintTovoid = dart.constFn(dart.fnType(dart.void, [T$0.ListOfint()])))(),
  RandomAccessFileToNull: () => (T$0.RandomAccessFileToNull = dart.constFn(dart.fnType(core.Null, [io.RandomAccessFile])))(),
  RandomAccessFileToFutureOfvoid: () => (T$0.RandomAccessFileToFutureOfvoid = dart.constFn(dart.fnType(T$.FutureOfvoid(), [io.RandomAccessFile])))(),
  voidToFileN: () => (T$0.voidToFileN = dart.constFn(dart.fnType(T$0.FileN(), [dart.void])))(),
  DirectoryN: () => (T$0.DirectoryN = dart.constFn(dart.nullable(io.Directory)))(),
  DirectoryNToFuture: () => (T$0.DirectoryNToFuture = dart.constFn(dart.fnType(async.Future, [T$0.DirectoryN()])))(),
  dynamicTo_File: () => (T$0.dynamicTo_File = dart.constFn(dart.fnType(io._File, [dart.dynamic])))(),
  FileSystemEntityTo_File: () => (T$0.FileSystemEntityTo_File = dart.constFn(dart.fnType(io._File, [io.FileSystemEntity])))(),
  dynamicToFile: () => (T$0.dynamicToFile = dart.constFn(dart.fnType(io.File, [dart.dynamic])))(),
  dynamicTo_RandomAccessFile: () => (T$0.dynamicTo_RandomAccessFile = dart.constFn(dart.fnType(io._RandomAccessFile, [dart.dynamic])))(),
  FutureOrOfint: () => (T$0.FutureOrOfint = dart.constFn(async.FutureOr$(core.int)))(),
  dynamicToFutureOrOfint: () => (T$0.dynamicToFutureOrOfint = dart.constFn(dart.fnType(T$0.FutureOrOfint(), [dart.dynamic])))(),
  dynamicToDateTime: () => (T$0.dynamicToDateTime = dart.constFn(dart.fnType(core.DateTime, [dart.dynamic])))(),
  CompleterOfUint8List: () => (T$0.CompleterOfUint8List = dart.constFn(async.Completer$(typed_data.Uint8List)))(),
  FutureOfUint8List: () => (T$0.FutureOfUint8List = dart.constFn(async.Future$(typed_data.Uint8List)))(),
  RandomAccessFileToFutureOfUint8List: () => (T$0.RandomAccessFileToFutureOfUint8List = dart.constFn(dart.fnType(T$0.FutureOfUint8List(), [io.RandomAccessFile])))(),
  intToFutureOfUint8List: () => (T$0.intToFutureOfUint8List = dart.constFn(dart.fnType(T$0.FutureOfUint8List(), [core.int])))(),
  FutureOfString: () => (T$0.FutureOfString = dart.constFn(async.Future$(core.String)))(),
  Uint8ListToFutureOrOfString: () => (T$0.Uint8ListToFutureOrOfString = dart.constFn(dart.fnType(T$0.FutureOrOfString(), [typed_data.Uint8List])))(),
  RandomAccessFileTo_File: () => (T$0.RandomAccessFileTo_File = dart.constFn(dart.fnType(io._File, [io.RandomAccessFile])))(),
  FutureOrOfFile: () => (T$0.FutureOrOfFile = dart.constFn(async.FutureOr$(io.File)))(),
  RandomAccessFileToFutureOrOfFile: () => (T$0.RandomAccessFileToFutureOrOfFile = dart.constFn(dart.fnType(T$0.FutureOrOfFile(), [io.RandomAccessFile])))(),
  FutureOfFile: () => (T$0.FutureOfFile = dart.constFn(async.Future$(io.File)))(),
  RandomAccessFileToFutureOfFile: () => (T$0.RandomAccessFileToFutureOfFile = dart.constFn(dart.fnType(T$0.FutureOfFile(), [io.RandomAccessFile])))(),
  dynamicAnddynamicToFutureOfServiceExtensionResponse: () => (T$0.dynamicAnddynamicToFutureOfServiceExtensionResponse = dart.constFn(dart.fnType(T$0.FutureOfServiceExtensionResponse(), [dart.dynamic, dart.dynamic])))(),
  dynamicToUint8List: () => (T$0.dynamicToUint8List = dart.constFn(dart.fnType(typed_data.Uint8List, [dart.dynamic])))(),
  FutureOfint: () => (T$0.FutureOfint = dart.constFn(async.Future$(core.int)))(),
  dynamicToint: () => (T$0.dynamicToint = dart.constFn(dart.fnType(core.int, [dart.dynamic])))(),
  FileSystemEntityTypeL: () => (T$0.FileSystemEntityTypeL = dart.constFn(dart.legacy(io.FileSystemEntityType)))(),
  dynamicToFileStat: () => (T$0.dynamicToFileStat = dart.constFn(dart.fnType(io.FileStat, [dart.dynamic])))(),
  ListOfMapOfString$dynamic: () => (T$0.ListOfMapOfString$dynamic = dart.constFn(core.List$(T$0.MapOfString$dynamic())))(),
  _FileResourceInfoToMapOfString$dynamic: () => (T$0._FileResourceInfoToMapOfString$dynamic = dart.constFn(dart.fnType(T$0.MapOfString$dynamic(), [io._FileResourceInfo])))(),
  IdentityMapOfint$_FileResourceInfo: () => (T$0.IdentityMapOfint$_FileResourceInfo = dart.constFn(_js_helper.IdentityMap$(core.int, io._FileResourceInfo)))(),
  _SpawnedProcessResourceInfoToMapOfString$dynamic: () => (T$0._SpawnedProcessResourceInfoToMapOfString$dynamic = dart.constFn(dart.fnType(T$0.MapOfString$dynamic(), [io._SpawnedProcessResourceInfo])))(),
  LinkedMapOfint$_SpawnedProcessResourceInfo: () => (T$0.LinkedMapOfint$_SpawnedProcessResourceInfo = dart.constFn(_js_helper.LinkedMap$(core.int, io._SpawnedProcessResourceInfo)))(),
  dynamicTo_Link: () => (T$0.dynamicTo_Link = dart.constFn(dart.fnType(io._Link, [dart.dynamic])))(),
  FutureOfLink: () => (T$0.FutureOfLink = dart.constFn(async.Future$(io.Link)))(),
  FileSystemEntityToFutureOfLink: () => (T$0.FileSystemEntityToFutureOfLink = dart.constFn(dart.fnType(T$0.FutureOfLink(), [io.FileSystemEntity])))(),
  FileSystemEntityTo_Link: () => (T$0.FileSystemEntityTo_Link = dart.constFn(dart.fnType(io._Link, [io.FileSystemEntity])))(),
  dynamicToLink: () => (T$0.dynamicToLink = dart.constFn(dart.fnType(io.Link, [dart.dynamic])))(),
  _SocketStatisticToMapOfString$dynamic: () => (T$0._SocketStatisticToMapOfString$dynamic = dart.constFn(dart.fnType(T$0.MapOfString$dynamic(), [io._SocketStatistic])))(),
  IdentityMapOfint$_SocketStatistic: () => (T$0.IdentityMapOfint$_SocketStatistic = dart.constFn(_js_helper.IdentityMap$(core.int, io._SocketStatistic)))(),
  _SocketProfileTypeL: () => (T$0._SocketProfileTypeL = dart.constFn(dart.legacy(io._SocketProfileType)))(),
  IOOverridesN: () => (T$0.IOOverridesN = dart.constFn(dart.nullable(io.IOOverrides)))(),
  _CaseInsensitiveStringMapOfString: () => (T$0._CaseInsensitiveStringMapOfString = dart.constFn(io._CaseInsensitiveStringMap$(core.String)))(),
  LinkedMapOfString$String: () => (T$0.LinkedMapOfString$String = dart.constFn(_js_helper.LinkedMap$(core.String, core.String)))(),
  UnmodifiableMapViewOfString$String: () => (T$0.UnmodifiableMapViewOfString$String = dart.constFn(collection.UnmodifiableMapView$(core.String, core.String)))(),
  ProcessStartModeL: () => (T$0.ProcessStartModeL = dart.constFn(dart.legacy(io.ProcessStartMode)))(),
  RawSecureServerSocketToSecureServerSocket: () => (T$0.RawSecureServerSocketToSecureServerSocket = dart.constFn(dart.fnType(io.SecureServerSocket, [io.RawSecureServerSocket])))(),
  RawSecureSocketToSecureSocket: () => (T$0.RawSecureSocketToSecureSocket = dart.constFn(dart.fnType(io.SecureSocket, [io.RawSecureSocket])))(),
  ConnectionTaskOfSecureSocket: () => (T$0.ConnectionTaskOfSecureSocket = dart.constFn(io.ConnectionTask$(io.SecureSocket)))(),
  ConnectionTaskOfRawSecureSocket: () => (T$0.ConnectionTaskOfRawSecureSocket = dart.constFn(io.ConnectionTask$(io.RawSecureSocket)))(),
  ConnectionTaskOfRawSecureSocketToConnectionTaskOfSecureSocket: () => (T$0.ConnectionTaskOfRawSecureSocketToConnectionTaskOfSecureSocket = dart.constFn(dart.fnType(T$0.ConnectionTaskOfSecureSocket(), [T$0.ConnectionTaskOfRawSecureSocket()])))(),
  StreamSubscriptionOfRawSocketEvent: () => (T$0.StreamSubscriptionOfRawSocketEvent = dart.constFn(async.StreamSubscription$(io.RawSocketEvent)))(),
  StreamSubscriptionNOfRawSocketEvent: () => (T$0.StreamSubscriptionNOfRawSocketEvent = dart.constFn(dart.nullable(T$0.StreamSubscriptionOfRawSocketEvent())))(),
  FutureOfRawSecureSocket: () => (T$0.FutureOfRawSecureSocket = dart.constFn(async.Future$(io.RawSecureSocket)))(),
  dynamicToFutureOfRawSecureSocket: () => (T$0.dynamicToFutureOfRawSecureSocket = dart.constFn(dart.fnType(T$0.FutureOfRawSecureSocket(), [dart.dynamic])))(),
  StreamControllerOfRawSecureSocket: () => (T$0.StreamControllerOfRawSecureSocket = dart.constFn(async.StreamController$(io.RawSecureSocket)))(),
  RawServerSocketToRawSecureServerSocket: () => (T$0.RawServerSocketToRawSecureServerSocket = dart.constFn(dart.fnType(io.RawSecureServerSocket, [io.RawServerSocket])))(),
  RawSecureSocketToNull: () => (T$0.RawSecureSocketToNull = dart.constFn(dart.fnType(core.Null, [io.RawSecureSocket])))(),
  RawSocketToFutureOfRawSecureSocket: () => (T$0.RawSocketToFutureOfRawSecureSocket = dart.constFn(dart.fnType(T$0.FutureOfRawSecureSocket(), [io.RawSocket])))(),
  ConnectionTaskOfRawSocket: () => (T$0.ConnectionTaskOfRawSocket = dart.constFn(io.ConnectionTask$(io.RawSocket)))(),
  ConnectionTaskOfRawSocketToConnectionTaskOfRawSecureSocket: () => (T$0.ConnectionTaskOfRawSocketToConnectionTaskOfRawSecureSocket = dart.constFn(dart.fnType(T$0.ConnectionTaskOfRawSecureSocket(), [T$0.ConnectionTaskOfRawSocket()])))(),
  CompleterOf_RawSecureSocket: () => (T$0.CompleterOf_RawSecureSocket = dart.constFn(async.Completer$(io._RawSecureSocket)))(),
  StreamControllerOfRawSocketEvent: () => (T$0.StreamControllerOfRawSocketEvent = dart.constFn(async.StreamController$(io.RawSocketEvent)))(),
  CompleterOfRawSecureSocket: () => (T$0.CompleterOfRawSecureSocket = dart.constFn(async.Completer$(io.RawSecureSocket)))(),
  intToint: () => (T$0.intToint = dart.constFn(dart.fnType(core.int, [core.int])))(),
  ListOfintAndStringTovoid: () => (T$0.ListOfintAndStringTovoid = dart.constFn(dart.fnType(dart.void, [T$0.ListOfint(), core.String])))(),
  _RawSocketOptionsL: () => (T$0._RawSocketOptionsL = dart.constFn(dart.legacy(io._RawSocketOptions)))(),
  StdoutN: () => (T$0.StdoutN = dart.constFn(dart.nullable(io.Stdout)))(),
  Fn__ToR: () => (T$0.Fn__ToR = dart.constFn(dart.gFnType(R => [R, [dart.fnType(R, [])], {onError: T$.FunctionN(), zoneSpecification: T$.ZoneSpecificationN(), zoneValues: T$.MapNOfObjectN$ObjectN()}, {}], R => [T$.ObjectN()])))(),
  LinkedMapOfSymbol$dynamic: () => (T$0.LinkedMapOfSymbol$dynamic = dart.constFn(_js_helper.LinkedMap$(core.Symbol, dart.dynamic)))(),
  ObjectToObject: () => (T$0.ObjectToObject = dart.constFn(dart.fnType(core.Object, [core.Object])))(),
  ObjectTo_DartObject: () => (T$0.ObjectTo_DartObject = dart.constFn(dart.fnType(js._DartObject, [core.Object])))(),
  ObjectToJsObject: () => (T$0.ObjectToJsObject = dart.constFn(dart.fnType(js.JsObject, [core.Object])))(),
  PointOfnum: () => (T$0.PointOfnum = dart.constFn(math.Point$(core.num)))(),
  RectangleOfnum: () => (T$0.RectangleOfnum = dart.constFn(math.Rectangle$(core.num)))(),
  EventL: () => (T$0.EventL = dart.constFn(dart.legacy(html$.Event)))(),
  EventStreamProviderOfEventL: () => (T$0.EventStreamProviderOfEventL = dart.constFn(html$.EventStreamProvider$(T$0.EventL())))(),
  VersionChangeEventL: () => (T$0.VersionChangeEventL = dart.constFn(dart.legacy(indexed_db.VersionChangeEvent)))(),
  EventStreamProviderOfVersionChangeEventL: () => (T$0.EventStreamProviderOfVersionChangeEventL = dart.constFn(html$.EventStreamProvider$(T$0.VersionChangeEventL())))(),
  FutureOfDatabase: () => (T$0.FutureOfDatabase = dart.constFn(async.Future$(indexed_db.Database)))(),
  CompleterOfIdbFactory: () => (T$0.CompleterOfIdbFactory = dart.constFn(async.Completer$(indexed_db.IdbFactory)))(),
  EventTovoid: () => (T$0.EventTovoid = dart.constFn(dart.fnType(dart.void, [html$.Event])))(),
  FutureOfIdbFactory: () => (T$0.FutureOfIdbFactory = dart.constFn(async.Future$(indexed_db.IdbFactory)))(),
  ObserverChangesTovoid: () => (T$0.ObserverChangesTovoid = dart.constFn(dart.fnType(dart.void, [indexed_db.ObserverChanges])))(),
  CompleterOfDatabase: () => (T$0.CompleterOfDatabase = dart.constFn(async.Completer$(indexed_db.Database)))(),
  EventToNull: () => (T$0.EventToNull = dart.constFn(dart.fnType(core.Null, [html$.Event])))(),
  ElementN: () => (T$0.ElementN = dart.constFn(dart.nullable(html$.Element)))(),
  JSArrayOfEventTarget: () => (T$0.JSArrayOfEventTarget = dart.constFn(_interceptors.JSArray$(html$.EventTarget)))(),
  NodeTobool: () => (T$0.NodeTobool = dart.constFn(dart.fnType(core.bool, [html$.Node])))(),
  CompleterOfScrollState: () => (T$0.CompleterOfScrollState = dart.constFn(async.Completer$(html$.ScrollState)))(),
  ScrollStateTovoid: () => (T$0.ScrollStateTovoid = dart.constFn(dart.fnType(dart.void, [html$.ScrollState])))(),
  MapOfString$dynamicTobool: () => (T$0.MapOfString$dynamicTobool = dart.constFn(dart.fnType(core.bool, [T$0.MapOfString$dynamic()])))(),
  MapN: () => (T$0.MapN = dart.constFn(dart.nullable(core.Map)))(),
  ObjectNToNvoid: () => (T$0.ObjectNToNvoid = dart.constFn(dart.nullable(T$.ObjectNTovoid())))(),
  MapNAndFnTodynamic: () => (T$0.MapNAndFnTodynamic = dart.constFn(dart.fnType(dart.dynamic, [T$0.MapN()], [T$0.ObjectNToNvoid()])))(),
  WheelEventL: () => (T$0.WheelEventL = dart.constFn(dart.legacy(html$.WheelEvent)))(),
  _CustomEventStreamProviderOfWheelEventL: () => (T$0._CustomEventStreamProviderOfWheelEventL = dart.constFn(html$._CustomEventStreamProvider$(T$0.WheelEventL())))(),
  EventTargetToString: () => (T$0.EventTargetToString = dart.constFn(dart.fnType(core.String, [html$.EventTarget])))(),
  TransitionEventL: () => (T$0.TransitionEventL = dart.constFn(dart.legacy(html$.TransitionEvent)))(),
  _CustomEventStreamProviderOfTransitionEventL: () => (T$0._CustomEventStreamProviderOfTransitionEventL = dart.constFn(html$._CustomEventStreamProvider$(T$0.TransitionEventL())))(),
  MouseEventL: () => (T$0.MouseEventL = dart.constFn(dart.legacy(html$.MouseEvent)))(),
  EventStreamProviderOfMouseEventL: () => (T$0.EventStreamProviderOfMouseEventL = dart.constFn(html$.EventStreamProvider$(T$0.MouseEventL())))(),
  ClipboardEventL: () => (T$0.ClipboardEventL = dart.constFn(dart.legacy(html$.ClipboardEvent)))(),
  EventStreamProviderOfClipboardEventL: () => (T$0.EventStreamProviderOfClipboardEventL = dart.constFn(html$.EventStreamProvider$(T$0.ClipboardEventL())))(),
  KeyboardEventL: () => (T$0.KeyboardEventL = dart.constFn(dart.legacy(html$.KeyboardEvent)))(),
  EventStreamProviderOfKeyboardEventL: () => (T$0.EventStreamProviderOfKeyboardEventL = dart.constFn(html$.EventStreamProvider$(T$0.KeyboardEventL())))(),
  TouchEventL: () => (T$0.TouchEventL = dart.constFn(dart.legacy(html$.TouchEvent)))(),
  EventStreamProviderOfTouchEventL: () => (T$0.EventStreamProviderOfTouchEventL = dart.constFn(html$.EventStreamProvider$(T$0.TouchEventL())))(),
  EventStreamProviderOfWheelEventL: () => (T$0.EventStreamProviderOfWheelEventL = dart.constFn(html$.EventStreamProvider$(T$0.WheelEventL())))(),
  ProgressEventL: () => (T$0.ProgressEventL = dart.constFn(dart.legacy(html$.ProgressEvent)))(),
  EventStreamProviderOfProgressEventL: () => (T$0.EventStreamProviderOfProgressEventL = dart.constFn(html$.EventStreamProvider$(T$0.ProgressEventL())))(),
  MessageEventL: () => (T$0.MessageEventL = dart.constFn(dart.legacy(html$.MessageEvent)))(),
  EventStreamProviderOfMessageEventL: () => (T$0.EventStreamProviderOfMessageEventL = dart.constFn(html$.EventStreamProvider$(T$0.MessageEventL())))(),
  PopStateEventL: () => (T$0.PopStateEventL = dart.constFn(dart.legacy(html$.PopStateEvent)))(),
  EventStreamProviderOfPopStateEventL: () => (T$0.EventStreamProviderOfPopStateEventL = dart.constFn(html$.EventStreamProvider$(T$0.PopStateEventL())))(),
  StorageEventL: () => (T$0.StorageEventL = dart.constFn(dart.legacy(html$.StorageEvent)))(),
  EventStreamProviderOfStorageEventL: () => (T$0.EventStreamProviderOfStorageEventL = dart.constFn(html$.EventStreamProvider$(T$0.StorageEventL())))(),
  RenderingContextN: () => (T$0.RenderingContextN = dart.constFn(dart.nullable(web_gl.RenderingContext)))(),
  CompleterOfBlob: () => (T$0.CompleterOfBlob = dart.constFn(async.Completer$(html$.Blob)))(),
  BlobN: () => (T$0.BlobN = dart.constFn(dart.nullable(html$.Blob)))(),
  BlobNTovoid: () => (T$0.BlobNTovoid = dart.constFn(dart.fnType(dart.void, [T$0.BlobN()])))(),
  ContextEventL: () => (T$0.ContextEventL = dart.constFn(dart.legacy(web_gl.ContextEvent)))(),
  EventStreamProviderOfContextEventL: () => (T$0.EventStreamProviderOfContextEventL = dart.constFn(html$.EventStreamProvider$(T$0.ContextEventL())))(),
  JSArrayOfnum: () => (T$0.JSArrayOfnum = dart.constFn(_interceptors.JSArray$(core.num)))(),
  dynamicToCssStyleDeclaration: () => (T$0.dynamicToCssStyleDeclaration = dart.constFn(dart.fnType(html$.CssStyleDeclaration, [dart.dynamic])))(),
  CssStyleDeclarationTovoid: () => (T$0.CssStyleDeclarationTovoid = dart.constFn(dart.fnType(dart.void, [html$.CssStyleDeclaration])))(),
  ListOfCssTransformComponent: () => (T$0.ListOfCssTransformComponent = dart.constFn(core.List$(html$.CssTransformComponent)))(),
  CompleterOfEntry: () => (T$0.CompleterOfEntry = dart.constFn(async.Completer$(html$.Entry)))(),
  EntryTovoid: () => (T$0.EntryTovoid = dart.constFn(dart.fnType(dart.void, [html$.Entry])))(),
  DomExceptionTovoid: () => (T$0.DomExceptionTovoid = dart.constFn(dart.fnType(dart.void, [html$.DomException])))(),
  CompleterOfMetadata: () => (T$0.CompleterOfMetadata = dart.constFn(async.Completer$(html$.Metadata)))(),
  MetadataTovoid: () => (T$0.MetadataTovoid = dart.constFn(dart.fnType(dart.void, [html$.Metadata])))(),
  ListOfEntry: () => (T$0.ListOfEntry = dart.constFn(core.List$(html$.Entry)))(),
  CompleterOfListOfEntry: () => (T$0.CompleterOfListOfEntry = dart.constFn(async.Completer$(T$0.ListOfEntry())))(),
  ListTovoid: () => (T$0.ListTovoid = dart.constFn(dart.fnType(dart.void, [core.List])))(),
  SecurityPolicyViolationEventL: () => (T$0.SecurityPolicyViolationEventL = dart.constFn(dart.legacy(html$.SecurityPolicyViolationEvent)))(),
  EventStreamProviderOfSecurityPolicyViolationEventL: () => (T$0.EventStreamProviderOfSecurityPolicyViolationEventL = dart.constFn(html$.EventStreamProvider$(T$0.SecurityPolicyViolationEventL())))(),
  IterableOfElement: () => (T$0.IterableOfElement = dart.constFn(core.Iterable$(html$.Element)))(),
  ListOfElement: () => (T$0.ListOfElement = dart.constFn(core.List$(html$.Element)))(),
  ElementTobool: () => (T$0.ElementTobool = dart.constFn(dart.fnType(core.bool, [html$.Element])))(),
  _EventStreamOfEvent: () => (T$0._EventStreamOfEvent = dart.constFn(html$._EventStream$(html$.Event)))(),
  _ElementEventStreamImplOfEvent: () => (T$0._ElementEventStreamImplOfEvent = dart.constFn(html$._ElementEventStreamImpl$(html$.Event)))(),
  CompleterOfFileWriter: () => (T$0.CompleterOfFileWriter = dart.constFn(async.Completer$(html$.FileWriter)))(),
  FileWriterTovoid: () => (T$0.FileWriterTovoid = dart.constFn(dart.fnType(dart.void, [html$.FileWriter])))(),
  CompleterOfFile: () => (T$0.CompleterOfFile = dart.constFn(async.Completer$(html$.File)))(),
  FileN$1: () => (T$0.FileN$1 = dart.constFn(dart.nullable(html$.File)))(),
  FileNTovoid: () => (T$0.FileNTovoid = dart.constFn(dart.fnType(dart.void, [T$0.FileN$1()])))(),
  FontFaceSetLoadEventL: () => (T$0.FontFaceSetLoadEventL = dart.constFn(dart.legacy(html$.FontFaceSetLoadEvent)))(),
  EventStreamProviderOfFontFaceSetLoadEventL: () => (T$0.EventStreamProviderOfFontFaceSetLoadEventL = dart.constFn(html$.EventStreamProvider$(T$0.FontFaceSetLoadEventL())))(),
  CompleterOfGeoposition: () => (T$0.CompleterOfGeoposition = dart.constFn(async.Completer$(html$.Geoposition)))(),
  PositionErrorTovoid: () => (T$0.PositionErrorTovoid = dart.constFn(dart.fnType(dart.void, [html$.PositionError])))(),
  StreamControllerOfGeoposition: () => (T$0.StreamControllerOfGeoposition = dart.constFn(async.StreamController$(html$.Geoposition)))(),
  _CustomEventStreamProviderOfEventL: () => (T$0._CustomEventStreamProviderOfEventL = dart.constFn(html$._CustomEventStreamProvider$(T$0.EventL())))(),
  HttpRequestToString: () => (T$0.HttpRequestToString = dart.constFn(dart.fnType(core.String, [html$.HttpRequest])))(),
  StringAndStringTovoid: () => (T$0.StringAndStringTovoid = dart.constFn(dart.fnType(dart.void, [core.String, core.String])))(),
  CompleterOfHttpRequest: () => (T$0.CompleterOfHttpRequest = dart.constFn(async.Completer$(html$.HttpRequest)))(),
  ProgressEventTovoid: () => (T$0.ProgressEventTovoid = dart.constFn(dart.fnType(dart.void, [html$.ProgressEvent])))(),
  CompleterOfString: () => (T$0.CompleterOfString = dart.constFn(async.Completer$(core.String)))(),
  FutureOrNOfString: () => (T$0.FutureOrNOfString = dart.constFn(dart.nullable(T$0.FutureOrOfString())))(),
  ListAndIntersectionObserverTovoid: () => (T$0.ListAndIntersectionObserverTovoid = dart.constFn(dart.fnType(dart.void, [core.List, html$.IntersectionObserver])))(),
  ListOfMediaStreamTrack: () => (T$0.ListOfMediaStreamTrack = dart.constFn(core.List$(html$.MediaStreamTrack)))(),
  MessagePortL: () => (T$0.MessagePortL = dart.constFn(dart.legacy(html$.MessagePort)))(),
  MidiMessageEventL: () => (T$0.MidiMessageEventL = dart.constFn(dart.legacy(html$.MidiMessageEvent)))(),
  EventStreamProviderOfMidiMessageEventL: () => (T$0.EventStreamProviderOfMidiMessageEventL = dart.constFn(html$.EventStreamProvider$(T$0.MidiMessageEventL())))(),
  MapTobool: () => (T$0.MapTobool = dart.constFn(dart.fnType(core.bool, [core.Map])))(),
  JSArrayOfMap: () => (T$0.JSArrayOfMap = dart.constFn(_interceptors.JSArray$(core.Map)))(),
  ListAndMutationObserverTovoid: () => (T$0.ListAndMutationObserverTovoid = dart.constFn(dart.fnType(dart.void, [core.List, html$.MutationObserver])))(),
  ListAndMutationObserverToNvoid: () => (T$0.ListAndMutationObserverToNvoid = dart.constFn(dart.nullable(T$0.ListAndMutationObserverTovoid())))(),
  boolL: () => (T$0.boolL = dart.constFn(dart.legacy(core.bool)))(),
  CompleterOfMediaStream: () => (T$0.CompleterOfMediaStream = dart.constFn(async.Completer$(html$.MediaStream)))(),
  MediaStreamTovoid: () => (T$0.MediaStreamTovoid = dart.constFn(dart.fnType(dart.void, [html$.MediaStream])))(),
  NavigatorUserMediaErrorTovoid: () => (T$0.NavigatorUserMediaErrorTovoid = dart.constFn(dart.fnType(dart.void, [html$.NavigatorUserMediaError])))(),
  IterableOfNode: () => (T$0.IterableOfNode = dart.constFn(core.Iterable$(html$.Node)))(),
  NodeN$1: () => (T$0.NodeN$1 = dart.constFn(dart.nullable(html$.Node)))(),
  PerformanceObserverEntryListAndPerformanceObserverTovoid: () => (T$0.PerformanceObserverEntryListAndPerformanceObserverTovoid = dart.constFn(dart.fnType(dart.void, [html$.PerformanceObserverEntryList, html$.PerformanceObserver])))(),
  ListAndReportingObserverTovoid: () => (T$0.ListAndReportingObserverTovoid = dart.constFn(dart.fnType(dart.void, [core.List, html$.ReportingObserver])))(),
  ListAndResizeObserverTovoid: () => (T$0.ListAndResizeObserverTovoid = dart.constFn(dart.fnType(dart.void, [core.List, html$.ResizeObserver])))(),
  RtcDtmfToneChangeEventL: () => (T$0.RtcDtmfToneChangeEventL = dart.constFn(dart.legacy(html$.RtcDtmfToneChangeEvent)))(),
  EventStreamProviderOfRtcDtmfToneChangeEventL: () => (T$0.EventStreamProviderOfRtcDtmfToneChangeEventL = dart.constFn(html$.EventStreamProvider$(T$0.RtcDtmfToneChangeEventL())))(),
  JSArrayOfMapOfString$String: () => (T$0.JSArrayOfMapOfString$String = dart.constFn(_interceptors.JSArray$(T$0.MapOfString$String())))(),
  CompleterOfRtcStatsResponse: () => (T$0.CompleterOfRtcStatsResponse = dart.constFn(async.Completer$(html$.RtcStatsResponse)))(),
  RtcStatsResponseTovoid: () => (T$0.RtcStatsResponseTovoid = dart.constFn(dart.fnType(dart.void, [html$.RtcStatsResponse])))(),
  MediaStreamEventL: () => (T$0.MediaStreamEventL = dart.constFn(dart.legacy(html$.MediaStreamEvent)))(),
  EventStreamProviderOfMediaStreamEventL: () => (T$0.EventStreamProviderOfMediaStreamEventL = dart.constFn(html$.EventStreamProvider$(T$0.MediaStreamEventL())))(),
  RtcDataChannelEventL: () => (T$0.RtcDataChannelEventL = dart.constFn(dart.legacy(html$.RtcDataChannelEvent)))(),
  EventStreamProviderOfRtcDataChannelEventL: () => (T$0.EventStreamProviderOfRtcDataChannelEventL = dart.constFn(html$.EventStreamProvider$(T$0.RtcDataChannelEventL())))(),
  RtcPeerConnectionIceEventL: () => (T$0.RtcPeerConnectionIceEventL = dart.constFn(dart.legacy(html$.RtcPeerConnectionIceEvent)))(),
  EventStreamProviderOfRtcPeerConnectionIceEventL: () => (T$0.EventStreamProviderOfRtcPeerConnectionIceEventL = dart.constFn(html$.EventStreamProvider$(T$0.RtcPeerConnectionIceEventL())))(),
  RtcTrackEventL: () => (T$0.RtcTrackEventL = dart.constFn(dart.legacy(html$.RtcTrackEvent)))(),
  EventStreamProviderOfRtcTrackEventL: () => (T$0.EventStreamProviderOfRtcTrackEventL = dart.constFn(html$.EventStreamProvider$(T$0.RtcTrackEventL())))(),
  UnmodifiableListViewOfOptionElement: () => (T$0.UnmodifiableListViewOfOptionElement = dart.constFn(collection.UnmodifiableListView$(html$.OptionElement)))(),
  IterableOfOptionElement: () => (T$0.IterableOfOptionElement = dart.constFn(core.Iterable$(html$.OptionElement)))(),
  OptionElementTobool: () => (T$0.OptionElementTobool = dart.constFn(dart.fnType(core.bool, [html$.OptionElement])))(),
  JSArrayOfOptionElement: () => (T$0.JSArrayOfOptionElement = dart.constFn(_interceptors.JSArray$(html$.OptionElement)))(),
  ForeignFetchEventL: () => (T$0.ForeignFetchEventL = dart.constFn(dart.legacy(html$.ForeignFetchEvent)))(),
  EventStreamProviderOfForeignFetchEventL: () => (T$0.EventStreamProviderOfForeignFetchEventL = dart.constFn(html$.EventStreamProvider$(T$0.ForeignFetchEventL())))(),
  SpeechRecognitionErrorL: () => (T$0.SpeechRecognitionErrorL = dart.constFn(dart.legacy(html$.SpeechRecognitionError)))(),
  EventStreamProviderOfSpeechRecognitionErrorL: () => (T$0.EventStreamProviderOfSpeechRecognitionErrorL = dart.constFn(html$.EventStreamProvider$(T$0.SpeechRecognitionErrorL())))(),
  SpeechRecognitionEventL: () => (T$0.SpeechRecognitionEventL = dart.constFn(dart.legacy(html$.SpeechRecognitionEvent)))(),
  EventStreamProviderOfSpeechRecognitionEventL: () => (T$0.EventStreamProviderOfSpeechRecognitionEventL = dart.constFn(html$.EventStreamProvider$(T$0.SpeechRecognitionEventL())))(),
  SpeechSynthesisEventL: () => (T$0.SpeechSynthesisEventL = dart.constFn(dart.legacy(html$.SpeechSynthesisEvent)))(),
  EventStreamProviderOfSpeechSynthesisEventL: () => (T$0.EventStreamProviderOfSpeechSynthesisEventL = dart.constFn(html$.EventStreamProvider$(T$0.SpeechSynthesisEventL())))(),
  _WrappedListOfTableSectionElement: () => (T$0._WrappedListOfTableSectionElement = dart.constFn(html$._WrappedList$(html$.TableSectionElement)))(),
  _WrappedListOfTableRowElement: () => (T$0._WrappedListOfTableRowElement = dart.constFn(html$._WrappedList$(html$.TableRowElement)))(),
  _WrappedListOfTableCellElement: () => (T$0._WrappedListOfTableCellElement = dart.constFn(html$._WrappedList$(html$.TableCellElement)))(),
  TrackEventL: () => (T$0.TrackEventL = dart.constFn(dart.legacy(html$.TrackEvent)))(),
  EventStreamProviderOfTrackEventL: () => (T$0.EventStreamProviderOfTrackEventL = dart.constFn(html$.EventStreamProvider$(T$0.TrackEventL())))(),
  CloseEventL: () => (T$0.CloseEventL = dart.constFn(dart.legacy(html$.CloseEvent)))(),
  EventStreamProviderOfCloseEventL: () => (T$0.EventStreamProviderOfCloseEventL = dart.constFn(html$.EventStreamProvider$(T$0.CloseEventL())))(),
  CompleterOfnum: () => (T$0.CompleterOfnum = dart.constFn(async.Completer$(core.num)))(),
  numTovoid: () => (T$0.numTovoid = dart.constFn(dart.fnType(dart.void, [core.num])))(),
  IdleDeadlineTovoid: () => (T$0.IdleDeadlineTovoid = dart.constFn(dart.fnType(dart.void, [html$.IdleDeadline])))(),
  CompleterOfFileSystem: () => (T$0.CompleterOfFileSystem = dart.constFn(async.Completer$(html$.FileSystem)))(),
  FileSystemTovoid: () => (T$0.FileSystemTovoid = dart.constFn(dart.fnType(dart.void, [html$.FileSystem])))(),
  DeviceMotionEventL: () => (T$0.DeviceMotionEventL = dart.constFn(dart.legacy(html$.DeviceMotionEvent)))(),
  EventStreamProviderOfDeviceMotionEventL: () => (T$0.EventStreamProviderOfDeviceMotionEventL = dart.constFn(html$.EventStreamProvider$(T$0.DeviceMotionEventL())))(),
  DeviceOrientationEventL: () => (T$0.DeviceOrientationEventL = dart.constFn(dart.legacy(html$.DeviceOrientationEvent)))(),
  EventStreamProviderOfDeviceOrientationEventL: () => (T$0.EventStreamProviderOfDeviceOrientationEventL = dart.constFn(html$.EventStreamProvider$(T$0.DeviceOrientationEventL())))(),
  AnimationEventL: () => (T$0.AnimationEventL = dart.constFn(dart.legacy(html$.AnimationEvent)))(),
  EventStreamProviderOfAnimationEventL: () => (T$0.EventStreamProviderOfAnimationEventL = dart.constFn(html$.EventStreamProvider$(T$0.AnimationEventL())))(),
  ListOfNode: () => (T$0.ListOfNode = dart.constFn(core.List$(html$.Node)))(),
  _EventStreamOfBeforeUnloadEvent: () => (T$0._EventStreamOfBeforeUnloadEvent = dart.constFn(html$._EventStream$(html$.BeforeUnloadEvent)))(),
  StreamControllerOfBeforeUnloadEvent: () => (T$0.StreamControllerOfBeforeUnloadEvent = dart.constFn(async.StreamController$(html$.BeforeUnloadEvent)))(),
  BeforeUnloadEventTovoid: () => (T$0.BeforeUnloadEventTovoid = dart.constFn(dart.fnType(dart.void, [html$.BeforeUnloadEvent])))(),
  _ElementEventStreamImplOfBeforeUnloadEvent: () => (T$0._ElementEventStreamImplOfBeforeUnloadEvent = dart.constFn(html$._ElementEventStreamImpl$(html$.BeforeUnloadEvent)))(),
  _ElementListEventStreamImplOfBeforeUnloadEvent: () => (T$0._ElementListEventStreamImplOfBeforeUnloadEvent = dart.constFn(html$._ElementListEventStreamImpl$(html$.BeforeUnloadEvent)))(),
  GamepadN: () => (T$0.GamepadN = dart.constFn(dart.nullable(html$.Gamepad)))(),
  ElementTovoid: () => (T$0.ElementTovoid = dart.constFn(dart.fnType(dart.void, [html$.Element])))(),
  ListOfCssClassSetImpl: () => (T$0.ListOfCssClassSetImpl = dart.constFn(core.List$(html_common.CssClassSetImpl)))(),
  ElementToCssClassSet: () => (T$0.ElementToCssClassSet = dart.constFn(dart.fnType(html$.CssClassSet, [html$.Element])))(),
  _IdentityHashSetOfString: () => (T$0._IdentityHashSetOfString = dart.constFn(collection._IdentityHashSet$(core.String)))(),
  CssClassSetImplTovoid: () => (T$0.CssClassSetImplTovoid = dart.constFn(dart.fnType(dart.void, [html_common.CssClassSetImpl])))(),
  boolAndCssClassSetImplTobool: () => (T$0.boolAndCssClassSetImplTobool = dart.constFn(dart.fnType(core.bool, [core.bool, html_common.CssClassSetImpl])))(),
  StringAndStringToString: () => (T$0.StringAndStringToString = dart.constFn(dart.fnType(core.String, [core.String, core.String])))(),
  SetOfString: () => (T$0.SetOfString = dart.constFn(core.Set$(core.String)))(),
  SetOfStringTobool: () => (T$0.SetOfStringTobool = dart.constFn(dart.fnType(core.bool, [T$0.SetOfString()])))(),
  IterableOfString: () => (T$0.IterableOfString = dart.constFn(core.Iterable$(core.String)))(),
  SetOfStringTovoid: () => (T$0.SetOfStringTovoid = dart.constFn(dart.fnType(dart.void, [T$0.SetOfString()])))(),
  VoidToNString: () => (T$0.VoidToNString = dart.constFn(dart.nullable(T$.VoidToString())))(),
  EventTargetN: () => (T$0.EventTargetN = dart.constFn(dart.nullable(html$.EventTarget)))(),
  ElementAndStringAndString__Tobool: () => (T$0.ElementAndStringAndString__Tobool = dart.constFn(dart.fnType(core.bool, [html$.Element, core.String, core.String, html$._Html5NodeValidator])))(),
  LinkedHashSetOfString: () => (T$0.LinkedHashSetOfString = dart.constFn(collection.LinkedHashSet$(core.String)))(),
  IdentityMapOfString$Function: () => (T$0.IdentityMapOfString$Function = dart.constFn(_js_helper.IdentityMap$(core.String, core.Function)))(),
  JSArrayOfKeyEvent: () => (T$0.JSArrayOfKeyEvent = dart.constFn(_interceptors.JSArray$(html$.KeyEvent)))(),
  KeyEventTobool: () => (T$0.KeyEventTobool = dart.constFn(dart.fnType(core.bool, [html$.KeyEvent])))(),
  JSArrayOfNodeValidator: () => (T$0.JSArrayOfNodeValidator = dart.constFn(_interceptors.JSArray$(html$.NodeValidator)))(),
  NodeValidatorTobool: () => (T$0.NodeValidatorTobool = dart.constFn(dart.fnType(core.bool, [html$.NodeValidator])))(),
  NodeAndNodeToint: () => (T$0.NodeAndNodeToint = dart.constFn(dart.fnType(core.int, [html$.Node, html$.Node])))(),
  NodeAndNodeNTovoid: () => (T$0.NodeAndNodeNTovoid = dart.constFn(dart.fnType(dart.void, [html$.Node, T$0.NodeN$1()])))(),
  MapNOfString$dynamic: () => (T$0.MapNOfString$dynamic = dart.constFn(dart.nullable(T$0.MapOfString$dynamic())))(),
  dynamicToMapNOfString$dynamic: () => (T$0.dynamicToMapNOfString$dynamic = dart.constFn(dart.fnType(T$0.MapNOfString$dynamic(), [dart.dynamic])))(),
  TypeN: () => (T$0.TypeN = dart.constFn(dart.nullable(core.Type)))(),
  dynamicAnddynamicTodynamic: () => (T$0.dynamicAnddynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic])))(),
  NodeToElement: () => (T$0.NodeToElement = dart.constFn(dart.fnType(html$.Element, [html$.Node])))(),
  CompleterOfAudioBuffer: () => (T$0.CompleterOfAudioBuffer = dart.constFn(async.Completer$(web_audio.AudioBuffer)))(),
  AudioBufferTovoid: () => (T$0.AudioBufferTovoid = dart.constFn(dart.fnType(dart.void, [web_audio.AudioBuffer])))(),
  AudioProcessingEventL: () => (T$0.AudioProcessingEventL = dart.constFn(dart.legacy(web_audio.AudioProcessingEvent)))(),
  EventStreamProviderOfAudioProcessingEventL: () => (T$0.EventStreamProviderOfAudioProcessingEventL = dart.constFn(html$.EventStreamProvider$(T$0.AudioProcessingEventL())))(),
  TypedDataN: () => (T$0.TypedDataN = dart.constFn(dart.nullable(typed_data.TypedData)))(),
  CompleterOfSqlTransaction: () => (T$0.CompleterOfSqlTransaction = dart.constFn(async.Completer$(web_sql.SqlTransaction)))(),
  SqlTransactionTovoid: () => (T$0.SqlTransactionTovoid = dart.constFn(dart.fnType(dart.void, [web_sql.SqlTransaction])))(),
  SqlErrorTovoid: () => (T$0.SqlErrorTovoid = dart.constFn(dart.fnType(dart.void, [web_sql.SqlError])))(),
  CompleterOfSqlResultSet: () => (T$0.CompleterOfSqlResultSet = dart.constFn(async.Completer$(web_sql.SqlResultSet)))(),
  SqlTransactionAndSqlResultSetTovoid: () => (T$0.SqlTransactionAndSqlResultSetTovoid = dart.constFn(dart.fnType(dart.void, [web_sql.SqlTransaction, web_sql.SqlResultSet])))(),
  SqlTransactionAndSqlErrorTovoid: () => (T$0.SqlTransactionAndSqlErrorTovoid = dart.constFn(dart.fnType(dart.void, [web_sql.SqlTransaction, web_sql.SqlError])))(),
  intAndintToint: () => (T$0.intAndintToint = dart.constFn(dart.fnType(core.int, [core.int, core.int])))(),
  StringNToint: () => (T$0.StringNToint = dart.constFn(dart.fnType(core.int, [T$.StringN()])))(),
  intToString: () => (T$0.intToString = dart.constFn(dart.fnType(core.String, [core.int])))(),
  SymbolAnddynamicTovoid: () => (T$0.SymbolAnddynamicTovoid = dart.constFn(dart.fnType(dart.void, [core.Symbol, dart.dynamic])))(),
  MapOfSymbol$ObjectN: () => (T$0.MapOfSymbol$ObjectN = dart.constFn(core.Map$(core.Symbol, T$.ObjectN())))(),
  MapOfString$StringAndStringToMapOfString$String: () => (T$0.MapOfString$StringAndStringToMapOfString$String = dart.constFn(dart.fnType(T$0.MapOfString$String(), [T$0.MapOfString$String(), core.String])))(),
  StringAndintTovoid: () => (T$0.StringAndintTovoid = dart.constFn(dart.fnType(dart.void, [core.String, core.int])))(),
  StringAnddynamicTovoid$1: () => (T$0.StringAnddynamicTovoid$1 = dart.constFn(dart.fnType(dart.void, [core.String], [dart.dynamic])))(),
  ListOfStringL: () => (T$0.ListOfStringL = dart.constFn(core.List$(T$.StringL())))(),
  ListLOfStringL: () => (T$0.ListLOfStringL = dart.constFn(dart.legacy(T$0.ListOfStringL())))(),
  StringAndListOfStringToListOfString: () => (T$0.StringAndListOfStringToListOfString = dart.constFn(dart.fnType(T$.ListOfString(), [core.String, T$.ListOfString()])))(),
  MapOfString$ListOfString: () => (T$0.MapOfString$ListOfString = dart.constFn(core.Map$(core.String, T$.ListOfString())))(),
  StringAndStringNTovoid: () => (T$0.StringAndStringNTovoid = dart.constFn(dart.fnType(dart.void, [core.String, T$.StringN()])))(),
  IdentityMapOfString$ListOfString: () => (T$0.IdentityMapOfString$ListOfString = dart.constFn(_js_helper.IdentityMap$(core.String, T$.ListOfString())))(),
  VoidToListOfString: () => (T$0.VoidToListOfString = dart.constFn(dart.fnType(T$.ListOfString(), [])))(),
  intAndintAndintTovoid: () => (T$0.intAndintAndintTovoid = dart.constFn(dart.fnType(dart.void, [core.int, core.int, core.int])))(),
  _StringSinkConversionSinkOfStringSink: () => (T$0._StringSinkConversionSinkOfStringSink = dart.constFn(convert._StringSinkConversionSink$(core.StringSink)))(),
  ListOfUint8List: () => (T$0.ListOfUint8List = dart.constFn(core.List$(typed_data.Uint8List)))(),
  intToUint8List: () => (T$0.intToUint8List = dart.constFn(dart.fnType(typed_data.Uint8List, [core.int])))(),
  dynamicAnddynamicToUint8List: () => (T$0.dynamicAnddynamicToUint8List = dart.constFn(dart.fnType(typed_data.Uint8List, [dart.dynamic, dart.dynamic])))(),
  Uint8ListAndStringAndintTovoid: () => (T$0.Uint8ListAndStringAndintTovoid = dart.constFn(dart.fnType(dart.void, [typed_data.Uint8List, core.String, core.int])))(),
  HttpClientResponseCompressionStateL: () => (T$0.HttpClientResponseCompressionStateL = dart.constFn(dart.legacy(_http.HttpClientResponseCompressionState)))(),
  StringToint: () => (T$0.StringToint = dart.constFn(dart.fnType(core.int, [core.String])))(),
  VoidToNever: () => (T$0.VoidToNever = dart.constFn(dart.fnType(dart.Never, [])))(),
  StringAndListOfStringTovoid: () => (T$0.StringAndListOfStringTovoid = dart.constFn(dart.fnType(dart.void, [core.String, T$.ListOfString()])))(),
  JSArrayOfCookie: () => (T$0.JSArrayOfCookie = dart.constFn(_interceptors.JSArray$(_http.Cookie)))(),
  HashMapOfString$StringN: () => (T$0.HashMapOfString$StringN = dart.constFn(collection.HashMap$(core.String, T$.StringN())))(),
  IdentityMapOfString$StringN: () => (T$0.IdentityMapOfString$StringN = dart.constFn(_js_helper.IdentityMap$(core.String, T$.StringN())))(),
  UnmodifiableMapViewOfString$StringN: () => (T$0.UnmodifiableMapViewOfString$StringN = dart.constFn(collection.UnmodifiableMapView$(core.String, T$.StringN())))(),
  StringNToString: () => (T$0.StringNToString = dart.constFn(dart.fnType(core.String, [T$.StringN()])))(),
  JSArrayOfMapOfString$dynamic: () => (T$0.JSArrayOfMapOfString$dynamic = dart.constFn(_interceptors.JSArray$(T$0.MapOfString$dynamic())))(),
  _HttpProfileDataTobool: () => (T$0._HttpProfileDataTobool = dart.constFn(dart.fnType(core.bool, [_http._HttpProfileData])))(),
  IdentityMapOfint$_HttpProfileData: () => (T$0.IdentityMapOfint$_HttpProfileData = dart.constFn(_js_helper.IdentityMap$(core.int, _http._HttpProfileData)))(),
  JSArrayOf_HttpProfileEvent: () => (T$0.JSArrayOf_HttpProfileEvent = dart.constFn(_interceptors.JSArray$(_http._HttpProfileEvent)))(),
  VoidToListOfMapOfString$dynamic: () => (T$0.VoidToListOfMapOfString$dynamic = dart.constFn(dart.fnType(T$0.ListOfMapOfString$dynamic(), [])))(),
  dynamicToNever: () => (T$0.dynamicToNever = dart.constFn(dart.fnType(dart.Never, [dart.dynamic])))(),
  CookieTobool: () => (T$0.CookieTobool = dart.constFn(dart.fnType(core.bool, [_http.Cookie])))(),
  CookieToString: () => (T$0.CookieToString = dart.constFn(dart.fnType(core.String, [_http.Cookie])))(),
  FutureOfHttpClientResponse: () => (T$0.FutureOfHttpClientResponse = dart.constFn(async.Future$(_http.HttpClientResponse)))(),
  _HttpClientRequestToFutureOfHttpClientResponse: () => (T$0._HttpClientRequestToFutureOfHttpClientResponse = dart.constFn(dart.fnType(T$0.FutureOfHttpClientResponse(), [_http._HttpClientRequest])))(),
  _EmptyStreamOfUint8List: () => (T$0._EmptyStreamOfUint8List = dart.constFn(async._EmptyStream$(typed_data.Uint8List)))(),
  Uint8ListToUint8List: () => (T$0.Uint8ListToUint8List = dart.constFn(dart.fnType(typed_data.Uint8List, [typed_data.Uint8List])))(),
  dynamicToFutureOfHttpClientResponse: () => (T$0.dynamicToFutureOfHttpClientResponse = dart.constFn(dart.fnType(T$0.FutureOfHttpClientResponse(), [dart.dynamic])))(),
  VoidToFutureOfHttpClientResponse: () => (T$0.VoidToFutureOfHttpClientResponse = dart.constFn(dart.fnType(T$0.FutureOfHttpClientResponse(), [])))(),
  VoidToListNOfString: () => (T$0.VoidToListNOfString = dart.constFn(dart.fnType(T$.ListNOfString(), [])))(),
  _CredentialsN: () => (T$0._CredentialsN = dart.constFn(dart.nullable(_http._Credentials)))(),
  _AuthenticationSchemeTo_CredentialsN: () => (T$0._AuthenticationSchemeTo_CredentialsN = dart.constFn(dart.fnType(T$0._CredentialsN(), [_http._AuthenticationScheme])))(),
  _CredentialsTovoid: () => (T$0._CredentialsTovoid = dart.constFn(dart.fnType(dart.void, [_http._Credentials])))(),
  _AuthenticationSchemeAndStringNToFutureOfbool: () => (T$0._AuthenticationSchemeAndStringNToFutureOfbool = dart.constFn(dart.fnType(T$.FutureOfbool(), [_http._AuthenticationScheme, T$.StringN()])))(),
  FutureOrOfHttpClientResponse: () => (T$0.FutureOrOfHttpClientResponse = dart.constFn(async.FutureOr$(_http.HttpClientResponse)))(),
  boolToFutureOrOfHttpClientResponse: () => (T$0.boolToFutureOrOfHttpClientResponse = dart.constFn(dart.fnType(T$0.FutureOrOfHttpClientResponse(), [core.bool])))(),
  SinkOfUint8List: () => (T$0.SinkOfUint8List = dart.constFn(core.Sink$(typed_data.Uint8List)))(),
  CompleterOfvoid: () => (T$0.CompleterOfvoid = dart.constFn(async.Completer$(dart.void)))(),
  EncodingN: () => (T$0.EncodingN = dart.constFn(dart.nullable(convert.Encoding)))(),
  ListOfintToListOfint: () => (T$0.ListOfintToListOfint = dart.constFn(dart.fnType(T$0.ListOfint(), [T$0.ListOfint()])))(),
  CookieTovoid: () => (T$0.CookieTovoid = dart.constFn(dart.fnType(dart.void, [_http.Cookie])))(),
  CompleterOfHttpClientResponse: () => (T$0.CompleterOfHttpClientResponse = dart.constFn(async.Completer$(_http.HttpClientResponse)))(),
  JSArrayOfRedirectInfo: () => (T$0.JSArrayOfRedirectInfo = dart.constFn(_interceptors.JSArray$(_http.RedirectInfo)))(),
  HttpClientResponseToNull: () => (T$0.HttpClientResponseToNull = dart.constFn(dart.fnType(core.Null, [_http.HttpClientResponse])))(),
  JSArrayOfFuture: () => (T$0.JSArrayOfFuture = dart.constFn(_interceptors.JSArray$(async.Future)))(),
  ListToFutureOrOfHttpClientResponse: () => (T$0.ListToFutureOrOfHttpClientResponse = dart.constFn(dart.fnType(T$0.FutureOrOfHttpClientResponse(), [core.List])))(),
  CompleterOfSocket: () => (T$0.CompleterOfSocket = dart.constFn(async.Completer$(io.Socket)))(),
  StringToListOfString: () => (T$0.StringToListOfString = dart.constFn(dart.fnType(T$.ListOfString(), [core.String])))(),
  voidTovoid: () => (T$0.voidTovoid = dart.constFn(dart.fnType(dart.void, [dart.void])))(),
  voidToFuture: () => (T$0.voidToFuture = dart.constFn(dart.fnType(async.Future, [dart.void])))(),
  StreamControllerOfListOfint: () => (T$0.StreamControllerOfListOfint = dart.constFn(async.StreamController$(T$0.ListOfint())))(),
  _HttpOutboundMessageN: () => (T$0._HttpOutboundMessageN = dart.constFn(dart.nullable(_http._HttpOutboundMessage)))(),
  dynamicTo_HttpOutboundMessageN: () => (T$0.dynamicTo_HttpOutboundMessageN = dart.constFn(dart.fnType(T$0._HttpOutboundMessageN(), [dart.dynamic])))(),
  dynamicAnddynamicTo_HttpOutboundMessageN: () => (T$0.dynamicAnddynamicTo_HttpOutboundMessageN = dart.constFn(dart.fnType(T$0._HttpOutboundMessageN(), [dart.dynamic, dart.dynamic])))(),
  dynamicTo_HttpOutboundMessage: () => (T$0.dynamicTo_HttpOutboundMessage = dart.constFn(dart.fnType(_http._HttpOutboundMessage, [dart.dynamic])))(),
  dynamicAnddynamicTo_HttpOutboundMessage: () => (T$0.dynamicAnddynamicTo_HttpOutboundMessage = dart.constFn(dart.fnType(_http._HttpOutboundMessage, [dart.dynamic, dart.dynamic])))(),
  dynamicAndStackTraceToNull: () => (T$0.dynamicAndStackTraceToNull = dart.constFn(dart.fnType(core.Null, [dart.dynamic, core.StackTrace])))(),
  _HttpIncomingTovoid: () => (T$0._HttpIncomingTovoid = dart.constFn(dart.fnType(dart.void, [_http._HttpIncoming])))()
};
var T = {
  CompleterOf_HttpIncoming: () => (T.CompleterOf_HttpIncoming = dart.constFn(async.Completer$(_http._HttpIncoming)))(),
  _HttpIncomingToNull: () => (T._HttpIncomingToNull = dart.constFn(dart.fnType(core.Null, [_http._HttpIncoming])))(),
  SocketToSocket: () => (T.SocketToSocket = dart.constFn(dart.fnType(io.Socket, [io.Socket])))(),
  SocketN: () => (T.SocketN = dart.constFn(dart.nullable(io.Socket)))(),
  FutureOfSocketN: () => (T.FutureOfSocketN = dart.constFn(async.Future$(T.SocketN())))(),
  SocketTo_DetachedSocket: () => (T.SocketTo_DetachedSocket = dart.constFn(dart.fnType(_http._DetachedSocket, [io.Socket])))(),
  SocketTovoid: () => (T.SocketTovoid = dart.constFn(dart.fnType(dart.void, [io.Socket])))(),
  FutureOfSecureSocket: () => (T.FutureOfSecureSocket = dart.constFn(async.Future$(io.SecureSocket)))(),
  HttpClientResponseToFutureOfSecureSocket: () => (T.HttpClientResponseToFutureOfSecureSocket = dart.constFn(dart.fnType(T.FutureOfSecureSocket(), [_http.HttpClientResponse])))(),
  SecureSocketTo_HttpClientConnection: () => (T.SecureSocketTo_HttpClientConnection = dart.constFn(dart.fnType(_http._HttpClientConnection, [io.SecureSocket])))(),
  _HashSetOf_HttpClientConnection: () => (T._HashSetOf_HttpClientConnection = dart.constFn(collection._HashSet$(_http._HttpClientConnection)))(),
  _HashSetOfConnectionTask: () => (T._HashSetOfConnectionTask = dart.constFn(collection._HashSet$(io.ConnectionTask)))(),
  FutureOf_ConnectionInfo: () => (T.FutureOf_ConnectionInfo = dart.constFn(async.Future$(_http._ConnectionInfo)))(),
  CompleterOf_ConnectionInfo: () => (T.CompleterOf_ConnectionInfo = dart.constFn(async.Completer$(_http._ConnectionInfo)))(),
  X509CertificateTobool: () => (T.X509CertificateTobool = dart.constFn(dart.fnType(core.bool, [io.X509Certificate])))(),
  _HttpClientConnectionTo_ConnectionInfo: () => (T._HttpClientConnectionTo_ConnectionInfo = dart.constFn(dart.fnType(_http._ConnectionInfo, [_http._HttpClientConnection])))(),
  FutureOrOf_ConnectionInfo: () => (T.FutureOrOf_ConnectionInfo = dart.constFn(async.FutureOr$(_http._ConnectionInfo)))(),
  dynamicToFutureOrOf_ConnectionInfo: () => (T.dynamicToFutureOrOf_ConnectionInfo = dart.constFn(dart.fnType(T.FutureOrOf_ConnectionInfo(), [dart.dynamic])))(),
  ConnectionTaskToFutureOf_ConnectionInfo: () => (T.ConnectionTaskToFutureOf_ConnectionInfo = dart.constFn(dart.fnType(T.FutureOf_ConnectionInfo(), [io.ConnectionTask])))(),
  IdentityMapOfString$_ConnectionTarget: () => (T.IdentityMapOfString$_ConnectionTarget = dart.constFn(_js_helper.IdentityMap$(core.String, _http._ConnectionTarget)))(),
  JSArrayOf_Credentials: () => (T.JSArrayOf_Credentials = dart.constFn(_interceptors.JSArray$(_http._Credentials)))(),
  JSArrayOf_ProxyCredentials: () => (T.JSArrayOf_ProxyCredentials = dart.constFn(_interceptors.JSArray$(_http._ProxyCredentials)))(),
  MapNOfString$String: () => (T.MapNOfString$String = dart.constFn(dart.nullable(T$0.MapOfString$String())))(),
  Uri__ToString: () => (T.Uri__ToString = dart.constFn(dart.fnType(core.String, [core.Uri], {environment: T.MapNOfString$String()}, {})))(),
  _ConnectionTargetTobool: () => (T._ConnectionTargetTobool = dart.constFn(dart.fnType(core.bool, [_http._ConnectionTarget])))(),
  _ProxyL: () => (T._ProxyL = dart.constFn(dart.legacy(_http._Proxy)))(),
  FutureOf_HttpClientRequest: () => (T.FutureOf_HttpClientRequest = dart.constFn(async.Future$(_http._HttpClientRequest)))(),
  _ConnectionInfoTo_HttpClientRequest: () => (T._ConnectionInfoTo_HttpClientRequest = dart.constFn(dart.fnType(_http._HttpClientRequest, [_http._ConnectionInfo])))(),
  FutureOrOf_HttpClientRequest: () => (T.FutureOrOf_HttpClientRequest = dart.constFn(async.FutureOr$(_http._HttpClientRequest)))(),
  _ConnectionInfoToFutureOrOf_HttpClientRequest: () => (T._ConnectionInfoToFutureOrOf_HttpClientRequest = dart.constFn(dart.fnType(T.FutureOrOf_HttpClientRequest(), [_http._ConnectionInfo])))(),
  _HttpClientRequestTo_HttpClientRequest: () => (T._HttpClientRequestTo_HttpClientRequest = dart.constFn(dart.fnType(_http._HttpClientRequest, [_http._HttpClientRequest])))(),
  VoidTo_ConnectionTarget: () => (T.VoidTo_ConnectionTarget = dart.constFn(dart.fnType(_http._ConnectionTarget, [])))(),
  dynamicAnddynamicToFutureOf_ConnectionInfo: () => (T.dynamicAnddynamicToFutureOf_ConnectionInfo = dart.constFn(dart.fnType(T.FutureOf_ConnectionInfo(), [dart.dynamic, dart.dynamic])))(),
  _SiteCredentialsN: () => (T._SiteCredentialsN = dart.constFn(dart.nullable(_http._SiteCredentials)))(),
  _SiteCredentialsNAnd_CredentialsTo_SiteCredentialsN: () => (T._SiteCredentialsNAnd_CredentialsTo_SiteCredentialsN = dart.constFn(dart.fnType(T._SiteCredentialsN(), [T._SiteCredentialsN(), _http._Credentials])))(),
  StringNToStringN: () => (T.StringNToStringN = dart.constFn(dart.fnType(T$.StringN(), [T$.StringN()])))(),
  StreamOfUint8List: () => (T.StreamOfUint8List = dart.constFn(async.Stream$(typed_data.Uint8List)))(),
  SocketToNull: () => (T.SocketToNull = dart.constFn(dart.fnType(core.Null, [io.Socket])))(),
  dynamicTo_DetachedSocket: () => (T.dynamicTo_DetachedSocket = dart.constFn(dart.fnType(_http._DetachedSocket, [dart.dynamic])))(),
  IdentityMapOfint$_HttpConnection: () => (T.IdentityMapOfint$_HttpConnection = dart.constFn(_js_helper.IdentityMap$(core.int, _http._HttpConnection)))(),
  LinkedListOf_HttpConnection: () => (T.LinkedListOf_HttpConnection = dart.constFn(collection.LinkedList$(_http._HttpConnection)))(),
  StreamControllerOfHttpRequest: () => (T.StreamControllerOfHttpRequest = dart.constFn(async.StreamController$(_http.HttpRequest)))(),
  ServerSocketTo_HttpServer: () => (T.ServerSocketTo_HttpServer = dart.constFn(dart.fnType(_http._HttpServer, [io.ServerSocket])))(),
  SecureServerSocketTo_HttpServer: () => (T.SecureServerSocketTo_HttpServer = dart.constFn(dart.fnType(_http._HttpServer, [io.SecureServerSocket])))(),
  _HttpConnectionTovoid: () => (T._HttpConnectionTovoid = dart.constFn(dart.fnType(dart.void, [_http._HttpConnection])))(),
  _HttpConnectionToMap: () => (T._HttpConnectionToMap = dart.constFn(dart.fnType(core.Map, [_http._HttpConnection])))(),
  LinkedMapOfint$_HttpServer: () => (T.LinkedMapOfint$_HttpServer = dart.constFn(_js_helper.LinkedMap$(core.int, _http._HttpServer)))(),
  JSArrayOf_Proxy: () => (T.JSArrayOf_Proxy = dart.constFn(_interceptors.JSArray$(_http._Proxy)))(),
  StreamControllerOf_HttpIncoming: () => (T.StreamControllerOf_HttpIncoming = dart.constFn(async.StreamController$(_http._HttpIncoming)))(),
  IterableOfMapEntry: () => (T.IterableOfMapEntry = dart.constFn(core.Iterable$(core.MapEntry)))(),
  VoidToNdynamic: () => (T.VoidToNdynamic = dart.constFn(dart.nullable(T$.VoidTodynamic())))(),
  IdentityMapOfString$_HttpSession: () => (T.IdentityMapOfString$_HttpSession = dart.constFn(_js_helper.IdentityMap$(core.String, _http._HttpSession)))(),
  HttpOverridesN: () => (T.HttpOverridesN = dart.constFn(dart.nullable(_http.HttpOverrides)))(),
  EventSinkTo_WebSocketProtocolTransformer: () => (T.EventSinkTo_WebSocketProtocolTransformer = dart.constFn(dart.fnType(_http._WebSocketProtocolTransformer, [async.EventSink])))(),
  StreamControllerOfWebSocket: () => (T.StreamControllerOfWebSocket = dart.constFn(async.StreamController$(_http.WebSocket)))(),
  StreamOfHttpRequest: () => (T.StreamOfHttpRequest = dart.constFn(async.Stream$(_http.HttpRequest)))(),
  WebSocketTovoid: () => (T.WebSocketTovoid = dart.constFn(dart.fnType(dart.void, [_http.WebSocket])))(),
  HttpRequestTovoid: () => (T.HttpRequestTovoid = dart.constFn(dart.fnType(dart.void, [_http.HttpRequest])))(),
  FutureOfWebSocket: () => (T.FutureOfWebSocket = dart.constFn(async.Future$(_http.WebSocket)))(),
  SocketTo_WebSocketImpl: () => (T.SocketTo_WebSocketImpl = dart.constFn(dart.fnType(_http._WebSocketImpl, [io.Socket])))(),
  StringNToFutureOfWebSocket: () => (T.StringNToFutureOfWebSocket = dart.constFn(dart.fnType(T.FutureOfWebSocket(), [T$.StringN()])))(),
  VoidToFutureOrOfString: () => (T.VoidToFutureOrOfString = dart.constFn(dart.fnType(T$0.FutureOrOfString(), [])))(),
  EventSinkOfListOfint: () => (T.EventSinkOfListOfint = dart.constFn(async.EventSink$(T$0.ListOfint())))(),
  EventSinkOfListOfintTo_WebSocketOutgoingTransformer: () => (T.EventSinkOfListOfintTo_WebSocketOutgoingTransformer = dart.constFn(dart.fnType(_http._WebSocketOutgoingTransformer, [T.EventSinkOfListOfint()])))(),
  CompleterOfWebSocket: () => (T.CompleterOfWebSocket = dart.constFn(async.Completer$(_http.WebSocket)))(),
  dynamicTo_WebSocketImpl: () => (T.dynamicTo_WebSocketImpl = dart.constFn(dart.fnType(_http._WebSocketImpl, [dart.dynamic])))(),
  HttpClientRequestToFutureOfHttpClientResponse: () => (T.HttpClientRequestToFutureOfHttpClientResponse = dart.constFn(dart.fnType(T$0.FutureOfHttpClientResponse(), [_http.HttpClientRequest])))(),
  StringToFutureOfWebSocket: () => (T.StringToFutureOfWebSocket = dart.constFn(dart.fnType(T.FutureOfWebSocket(), [core.String])))(),
  HttpClientResponseToFutureOfWebSocket: () => (T.HttpClientResponseToFutureOfWebSocket = dart.constFn(dart.fnType(T.FutureOfWebSocket(), [_http.HttpClientResponse])))(),
  dynamicToMap: () => (T.dynamicToMap = dart.constFn(dart.fnType(core.Map, [dart.dynamic])))(),
  LinkedMapOfint$_WebSocketImpl: () => (T.LinkedMapOfint$_WebSocketImpl = dart.constFn(_js_helper.LinkedMap$(core.int, _http._WebSocketImpl)))(),
  UriTovoid: () => (T.UriTovoid = dart.constFn(dart.fnType(dart.void, [core.Uri])))()
};
var S = {
  _delete$1: dart.privateName(indexed_db, "_delete"),
  $delete: dartx.delete = Symbol("dartx.delete"),
  _update: dart.privateName(indexed_db, "_update"),
  $next: dartx.next = Symbol("dartx.next"),
  $direction: dartx.direction = Symbol("dartx.direction"),
  $key: dartx.key = Symbol("dartx.key"),
  $primaryKey: dartx.primaryKey = Symbol("dartx.primaryKey"),
  $source: dartx.source = Symbol("dartx.source"),
  $advance: dartx.advance = Symbol("dartx.advance"),
  $continuePrimaryKey: dartx.continuePrimaryKey = Symbol("dartx.continuePrimaryKey"),
  _update_1: dart.privateName(indexed_db, "_update_1"),
  _get_value: dart.privateName(indexed_db, "_get_value"),
  $value: dartx.value = Symbol("dartx.value"),
  _createObjectStore: dart.privateName(indexed_db, "_createObjectStore"),
  $createObjectStore: dartx.createObjectStore = Symbol("dartx.createObjectStore"),
  _transaction: dart.privateName(indexed_db, "_transaction"),
  $transaction: dartx.transaction = Symbol("dartx.transaction"),
  $transactionStore: dartx.transactionStore = Symbol("dartx.transactionStore"),
  $transactionList: dartx.transactionList = Symbol("dartx.transactionList"),
  $transactionStores: dartx.transactionStores = Symbol("dartx.transactionStores"),
  $objectStoreNames: dartx.objectStoreNames = Symbol("dartx.objectStoreNames"),
  $version: dartx.version = Symbol("dartx.version"),
  $close: dartx.close = Symbol("dartx.close"),
  _createObjectStore_1: dart.privateName(indexed_db, "_createObjectStore_1"),
  _createObjectStore_2: dart.privateName(indexed_db, "_createObjectStore_2"),
  $deleteObjectStore: dartx.deleteObjectStore = Symbol("dartx.deleteObjectStore"),
  $onAbort: dartx.onAbort = Symbol("dartx.onAbort"),
  $onClose: dartx.onClose = Symbol("dartx.onClose"),
  $onError: dartx.onError = Symbol("dartx.onError"),
  $onVersionChange: dartx.onVersionChange = Symbol("dartx.onVersionChange"),
  $on: dartx.on = Symbol("dartx.on"),
  _addEventListener: dart.privateName(html$, "_addEventListener"),
  $addEventListener: dartx.addEventListener = Symbol("dartx.addEventListener"),
  _removeEventListener: dart.privateName(html$, "_removeEventListener"),
  $removeEventListener: dartx.removeEventListener = Symbol("dartx.removeEventListener"),
  $dispatchEvent: dartx.dispatchEvent = Symbol("dartx.dispatchEvent"),
  EventStreamProvider__eventType: dart.privateName(html$, "EventStreamProvider._eventType"),
  _open: dart.privateName(indexed_db, "_open"),
  $onUpgradeNeeded: dartx.onUpgradeNeeded = Symbol("dartx.onUpgradeNeeded"),
  $onBlocked: dartx.onBlocked = Symbol("dartx.onBlocked"),
  $open: dartx.open = Symbol("dartx.open"),
  _deleteDatabase: dart.privateName(indexed_db, "_deleteDatabase"),
  $onSuccess: dartx.onSuccess = Symbol("dartx.onSuccess"),
  $deleteDatabase: dartx.deleteDatabase = Symbol("dartx.deleteDatabase"),
  $supportsDatabaseNames: dartx.supportsDatabaseNames = Symbol("dartx.supportsDatabaseNames"),
  $cmp: dartx.cmp = Symbol("dartx.cmp"),
  _count$2: dart.privateName(indexed_db, "_count"),
  $count: dartx.count = Symbol("dartx.count"),
  _get: dart.privateName(indexed_db, "_get"),
  $get: dartx.get = Symbol("dartx.get"),
  _getKey: dart.privateName(indexed_db, "_getKey"),
  $getKey: dartx.getKey = Symbol("dartx.getKey"),
  _openCursor: dart.privateName(indexed_db, "_openCursor"),
  $openCursor: dartx.openCursor = Symbol("dartx.openCursor"),
  _openKeyCursor: dart.privateName(indexed_db, "_openKeyCursor"),
  $openKeyCursor: dartx.openKeyCursor = Symbol("dartx.openKeyCursor"),
  $keyPath: dartx.keyPath = Symbol("dartx.keyPath"),
  $multiEntry: dartx.multiEntry = Symbol("dartx.multiEntry"),
  $objectStore: dartx.objectStore = Symbol("dartx.objectStore"),
  $unique: dartx.unique = Symbol("dartx.unique"),
  $getAll: dartx.getAll = Symbol("dartx.getAll"),
  $getAllKeys: dartx.getAllKeys = Symbol("dartx.getAllKeys"),
  $lower: dartx.lower = Symbol("dartx.lower"),
  $lowerOpen: dartx.lowerOpen = Symbol("dartx.lowerOpen"),
  $upper: dartx.upper = Symbol("dartx.upper"),
  $upperOpen: dartx.upperOpen = Symbol("dartx.upperOpen"),
  $includes: dartx.includes = Symbol("dartx.includes"),
  _add$3: dart.privateName(indexed_db, "_add"),
  _clear$2: dart.privateName(indexed_db, "_clear"),
  _put: dart.privateName(indexed_db, "_put"),
  $put: dartx.put = Symbol("dartx.put"),
  $getObject: dartx.getObject = Symbol("dartx.getObject"),
  _createIndex: dart.privateName(indexed_db, "_createIndex"),
  $createIndex: dartx.createIndex = Symbol("dartx.createIndex"),
  $autoIncrement: dartx.autoIncrement = Symbol("dartx.autoIncrement"),
  $indexNames: dartx.indexNames = Symbol("dartx.indexNames"),
  _add_1: dart.privateName(indexed_db, "_add_1"),
  _add_2: dart.privateName(indexed_db, "_add_2"),
  _createIndex_1: dart.privateName(indexed_db, "_createIndex_1"),
  _createIndex_2: dart.privateName(indexed_db, "_createIndex_2"),
  $deleteIndex: dartx.deleteIndex = Symbol("dartx.deleteIndex"),
  $index: dartx.index = Symbol("dartx.index"),
  _put_1: dart.privateName(indexed_db, "_put_1"),
  _put_2: dart.privateName(indexed_db, "_put_2"),
  $result: dartx.result = Symbol("dartx.result"),
  $type: dartx.type = Symbol("dartx.type"),
  _observe_1: dart.privateName(indexed_db, "_observe_1"),
  $observe: dartx.observe = Symbol("dartx.observe"),
  $unobserve: dartx.unobserve = Symbol("dartx.unobserve"),
  $database: dartx.database = Symbol("dartx.database"),
  $records: dartx.records = Symbol("dartx.records"),
  $error: dartx.error = Symbol("dartx.error"),
  $readyState: dartx.readyState = Symbol("dartx.readyState"),
  _get_result: dart.privateName(indexed_db, "_get_result"),
  $onComplete: dartx.onComplete = Symbol("dartx.onComplete"),
  $completed: dartx.completed = Symbol("dartx.completed"),
  $db: dartx.db = Symbol("dartx.db"),
  $mode: dartx.mode = Symbol("dartx.mode"),
  $abort: dartx.abort = Symbol("dartx.abort"),
  $dataLoss: dartx.dataLoss = Symbol("dartx.dataLoss"),
  $dataLossMessage: dartx.dataLossMessage = Symbol("dartx.dataLossMessage"),
  $newVersion: dartx.newVersion = Symbol("dartx.newVersion"),
  $oldVersion: dartx.oldVersion = Symbol("dartx.oldVersion"),
  $target: dartx.target = Symbol("dartx.target"),
  _createEvent: dart.privateName(html$, "_createEvent"),
  _initEvent: dart.privateName(html$, "_initEvent"),
  _selector: dart.privateName(html$, "_selector"),
  $currentTarget: dartx.currentTarget = Symbol("dartx.currentTarget"),
  $matches: dartx.matches = Symbol("dartx.matches"),
  $parent: dartx.parent = Symbol("dartx.parent"),
  $matchingTarget: dartx.matchingTarget = Symbol("dartx.matchingTarget"),
  $path: dartx.path = Symbol("dartx.path"),
  $bubbles: dartx.bubbles = Symbol("dartx.bubbles"),
  $cancelable: dartx.cancelable = Symbol("dartx.cancelable"),
  $composed: dartx.composed = Symbol("dartx.composed"),
  _get_currentTarget: dart.privateName(html$, "_get_currentTarget"),
  $defaultPrevented: dartx.defaultPrevented = Symbol("dartx.defaultPrevented"),
  $eventPhase: dartx.eventPhase = Symbol("dartx.eventPhase"),
  $isTrusted: dartx.isTrusted = Symbol("dartx.isTrusted"),
  _get_target: dart.privateName(html$, "_get_target"),
  $timeStamp: dartx.timeStamp = Symbol("dartx.timeStamp"),
  $composedPath: dartx.composedPath = Symbol("dartx.composedPath"),
  $preventDefault: dartx.preventDefault = Symbol("dartx.preventDefault"),
  $stopImmediatePropagation: dartx.stopImmediatePropagation = Symbol("dartx.stopImmediatePropagation"),
  $stopPropagation: dartx.stopPropagation = Symbol("dartx.stopPropagation"),
  $nonce: dartx.nonce = Symbol("dartx.nonce"),
  $createFragment: dartx.createFragment = Symbol("dartx.createFragment"),
  $nodes: dartx.nodes = Symbol("dartx.nodes"),
  $attributes: dartx.attributes = Symbol("dartx.attributes"),
  _getAttribute: dart.privateName(html$, "_getAttribute"),
  $getAttribute: dartx.getAttribute = Symbol("dartx.getAttribute"),
  _getAttributeNS: dart.privateName(html$, "_getAttributeNS"),
  $getAttributeNS: dartx.getAttributeNS = Symbol("dartx.getAttributeNS"),
  _hasAttribute: dart.privateName(html$, "_hasAttribute"),
  $hasAttribute: dartx.hasAttribute = Symbol("dartx.hasAttribute"),
  _hasAttributeNS: dart.privateName(html$, "_hasAttributeNS"),
  $hasAttributeNS: dartx.hasAttributeNS = Symbol("dartx.hasAttributeNS"),
  _removeAttribute: dart.privateName(html$, "_removeAttribute"),
  $removeAttribute: dartx.removeAttribute = Symbol("dartx.removeAttribute"),
  _removeAttributeNS: dart.privateName(html$, "_removeAttributeNS"),
  $removeAttributeNS: dartx.removeAttributeNS = Symbol("dartx.removeAttributeNS"),
  _setAttribute: dart.privateName(html$, "_setAttribute"),
  $setAttribute: dartx.setAttribute = Symbol("dartx.setAttribute"),
  _setAttributeNS: dart.privateName(html$, "_setAttributeNS"),
  $setAttributeNS: dartx.setAttributeNS = Symbol("dartx.setAttributeNS"),
  $children: dartx.children = Symbol("dartx.children"),
  _children: dart.privateName(html$, "_children"),
  _querySelectorAll: dart.privateName(html$, "_querySelectorAll"),
  $querySelectorAll: dartx.querySelectorAll = Symbol("dartx.querySelectorAll"),
  _setApplyScroll: dart.privateName(html$, "_setApplyScroll"),
  $setApplyScroll: dartx.setApplyScroll = Symbol("dartx.setApplyScroll"),
  _setDistributeScroll: dart.privateName(html$, "_setDistributeScroll"),
  $setDistributeScroll: dartx.setDistributeScroll = Symbol("dartx.setDistributeScroll"),
  $classes: dartx.classes = Symbol("dartx.classes"),
  $dataset: dartx.dataset = Symbol("dartx.dataset"),
  $getNamespacedAttributes: dartx.getNamespacedAttributes = Symbol("dartx.getNamespacedAttributes"),
  _getComputedStyle: dart.privateName(html$, "_getComputedStyle"),
  $getComputedStyle: dartx.getComputedStyle = Symbol("dartx.getComputedStyle"),
  $client: dartx.client = Symbol("dartx.client"),
  $offsetLeft: dartx.offsetLeft = Symbol("dartx.offsetLeft"),
  $offsetTop: dartx.offsetTop = Symbol("dartx.offsetTop"),
  $offsetWidth: dartx.offsetWidth = Symbol("dartx.offsetWidth"),
  $offsetHeight: dartx.offsetHeight = Symbol("dartx.offsetHeight"),
  $offset: dartx.offset = Symbol("dartx.offset"),
  $append: dartx.append = Symbol("dartx.append"),
  $appendText: dartx.appendText = Symbol("dartx.appendText"),
  $insertAdjacentHtml: dartx.insertAdjacentHtml = Symbol("dartx.insertAdjacentHtml"),
  $appendHtml: dartx.appendHtml = Symbol("dartx.appendHtml"),
  $enteredView: dartx.enteredView = Symbol("dartx.enteredView"),
  $attached: dartx.attached = Symbol("dartx.attached"),
  $leftView: dartx.leftView = Symbol("dartx.leftView"),
  $detached: dartx.detached = Symbol("dartx.detached"),
  _getClientRects: dart.privateName(html$, "_getClientRects"),
  $getClientRects: dartx.getClientRects = Symbol("dartx.getClientRects"),
  _animate: dart.privateName(html$, "_animate"),
  $animate: dartx.animate = Symbol("dartx.animate"),
  $attributeChanged: dartx.attributeChanged = Symbol("dartx.attributeChanged"),
  _localName: dart.privateName(html$, "_localName"),
  $localName: dartx.localName = Symbol("dartx.localName"),
  _namespaceUri: dart.privateName(html$, "_namespaceUri"),
  $namespaceUri: dartx.namespaceUri = Symbol("dartx.namespaceUri"),
  _scrollIntoView: dart.privateName(html$, "_scrollIntoView"),
  _scrollIntoViewIfNeeded: dart.privateName(html$, "_scrollIntoViewIfNeeded"),
  $scrollIntoView: dartx.scrollIntoView = Symbol("dartx.scrollIntoView"),
  _insertAdjacentText: dart.privateName(html$, "_insertAdjacentText"),
  _insertAdjacentNode: dart.privateName(html$, "_insertAdjacentNode"),
  $insertAdjacentText: dartx.insertAdjacentText = Symbol("dartx.insertAdjacentText"),
  _insertAdjacentHtml: dart.privateName(html$, "_insertAdjacentHtml"),
  _insertAdjacentElement: dart.privateName(html$, "_insertAdjacentElement"),
  $insertAdjacentElement: dartx.insertAdjacentElement = Symbol("dartx.insertAdjacentElement"),
  $nextNode: dartx.nextNode = Symbol("dartx.nextNode"),
  $matchesWithAncestors: dartx.matchesWithAncestors = Symbol("dartx.matchesWithAncestors"),
  $createShadowRoot: dartx.createShadowRoot = Symbol("dartx.createShadowRoot"),
  $shadowRoot: dartx.shadowRoot = Symbol("dartx.shadowRoot"),
  $contentEdge: dartx.contentEdge = Symbol("dartx.contentEdge"),
  $paddingEdge: dartx.paddingEdge = Symbol("dartx.paddingEdge"),
  $borderEdge: dartx.borderEdge = Symbol("dartx.borderEdge"),
  $marginEdge: dartx.marginEdge = Symbol("dartx.marginEdge"),
  $offsetTo: dartx.offsetTo = Symbol("dartx.offsetTo"),
  $documentOffset: dartx.documentOffset = Symbol("dartx.documentOffset"),
  $createHtmlDocument: dartx.createHtmlDocument = Symbol("dartx.createHtmlDocument"),
  $createElement: dartx.createElement = Symbol("dartx.createElement"),
  $baseUri: dartx.baseUri = Symbol("dartx.baseUri"),
  $head: dartx.head = Symbol("dartx.head"),
  _canBeUsedToCreateContextualFragment: dart.privateName(html$, "_canBeUsedToCreateContextualFragment"),
  _innerHtml: dart.privateName(html$, "_innerHtml"),
  _cannotBeUsedToCreateContextualFragment: dart.privateName(html$, "_cannotBeUsedToCreateContextualFragment"),
  $setInnerHtml: dartx.setInnerHtml = Symbol("dartx.setInnerHtml"),
  $innerHtml: dartx.innerHtml = Symbol("dartx.innerHtml"),
  $text: dartx.text = Symbol("dartx.text"),
  $innerText: dartx.innerText = Symbol("dartx.innerText"),
  $offsetParent: dartx.offsetParent = Symbol("dartx.offsetParent"),
  $scrollHeight: dartx.scrollHeight = Symbol("dartx.scrollHeight"),
  $scrollLeft: dartx.scrollLeft = Symbol("dartx.scrollLeft"),
  $scrollTop: dartx.scrollTop = Symbol("dartx.scrollTop"),
  $scrollWidth: dartx.scrollWidth = Symbol("dartx.scrollWidth"),
  $contentEditable: dartx.contentEditable = Symbol("dartx.contentEditable"),
  $dir: dartx.dir = Symbol("dartx.dir"),
  $draggable: dartx.draggable = Symbol("dartx.draggable"),
  $hidden: dartx.hidden = Symbol("dartx.hidden"),
  $inert: dartx.inert = Symbol("dartx.inert"),
  $inputMode: dartx.inputMode = Symbol("dartx.inputMode"),
  $isContentEditable: dartx.isContentEditable = Symbol("dartx.isContentEditable"),
  $lang: dartx.lang = Symbol("dartx.lang"),
  $spellcheck: dartx.spellcheck = Symbol("dartx.spellcheck"),
  $style: dartx.style = Symbol("dartx.style"),
  $tabIndex: dartx.tabIndex = Symbol("dartx.tabIndex"),
  $title: dartx.title = Symbol("dartx.title"),
  $translate: dartx.translate = Symbol("dartx.translate"),
  $blur: dartx.blur = Symbol("dartx.blur"),
  $click: dartx.click = Symbol("dartx.click"),
  $focus: dartx.focus = Symbol("dartx.focus"),
  $accessibleNode: dartx.accessibleNode = Symbol("dartx.accessibleNode"),
  $assignedSlot: dartx.assignedSlot = Symbol("dartx.assignedSlot"),
  _attributes$1: dart.privateName(html$, "_attributes"),
  $className: dartx.className = Symbol("dartx.className"),
  $clientHeight: dartx.clientHeight = Symbol("dartx.clientHeight"),
  $clientLeft: dartx.clientLeft = Symbol("dartx.clientLeft"),
  $clientTop: dartx.clientTop = Symbol("dartx.clientTop"),
  $clientWidth: dartx.clientWidth = Symbol("dartx.clientWidth"),
  $computedName: dartx.computedName = Symbol("dartx.computedName"),
  $computedRole: dartx.computedRole = Symbol("dartx.computedRole"),
  $id: dartx.id = Symbol("dartx.id"),
  $outerHtml: dartx.outerHtml = Symbol("dartx.outerHtml"),
  _scrollHeight: dart.privateName(html$, "_scrollHeight"),
  _scrollLeft: dart.privateName(html$, "_scrollLeft"),
  _scrollTop: dart.privateName(html$, "_scrollTop"),
  _scrollWidth: dart.privateName(html$, "_scrollWidth"),
  $slot: dartx.slot = Symbol("dartx.slot"),
  $styleMap: dartx.styleMap = Symbol("dartx.styleMap"),
  $tagName: dartx.tagName = Symbol("dartx.tagName"),
  _attachShadow_1: dart.privateName(html$, "_attachShadow_1"),
  $attachShadow: dartx.attachShadow = Symbol("dartx.attachShadow"),
  $closest: dartx.closest = Symbol("dartx.closest"),
  $getAnimations: dartx.getAnimations = Symbol("dartx.getAnimations"),
  $getAttributeNames: dartx.getAttributeNames = Symbol("dartx.getAttributeNames"),
  $getBoundingClientRect: dartx.getBoundingClientRect = Symbol("dartx.getBoundingClientRect"),
  $getDestinationInsertionPoints: dartx.getDestinationInsertionPoints = Symbol("dartx.getDestinationInsertionPoints"),
  $getElementsByClassName: dartx.getElementsByClassName = Symbol("dartx.getElementsByClassName"),
  _getElementsByTagName: dart.privateName(html$, "_getElementsByTagName"),
  $hasPointerCapture: dartx.hasPointerCapture = Symbol("dartx.hasPointerCapture"),
  $releasePointerCapture: dartx.releasePointerCapture = Symbol("dartx.releasePointerCapture"),
  $requestPointerLock: dartx.requestPointerLock = Symbol("dartx.requestPointerLock"),
  _scroll_1: dart.privateName(html$, "_scroll_1"),
  _scroll_2: dart.privateName(html$, "_scroll_2"),
  _scroll_3: dart.privateName(html$, "_scroll_3"),
  $scroll: dartx.scroll = Symbol("dartx.scroll"),
  _scrollBy_1: dart.privateName(html$, "_scrollBy_1"),
  _scrollBy_2: dart.privateName(html$, "_scrollBy_2"),
  _scrollBy_3: dart.privateName(html$, "_scrollBy_3"),
  $scrollBy: dartx.scrollBy = Symbol("dartx.scrollBy"),
  _scrollTo_1: dart.privateName(html$, "_scrollTo_1"),
  _scrollTo_2: dart.privateName(html$, "_scrollTo_2"),
  _scrollTo_3: dart.privateName(html$, "_scrollTo_3"),
  $scrollTo: dartx.scrollTo = Symbol("dartx.scrollTo"),
  $setPointerCapture: dartx.setPointerCapture = Symbol("dartx.setPointerCapture"),
  $requestFullscreen: dartx.requestFullscreen = Symbol("dartx.requestFullscreen"),
  $after: dartx.after = Symbol("dartx.after"),
  $before: dartx.before = Symbol("dartx.before"),
  $nextElementSibling: dartx.nextElementSibling = Symbol("dartx.nextElementSibling"),
  $previousElementSibling: dartx.previousElementSibling = Symbol("dartx.previousElementSibling"),
  _childElementCount: dart.privateName(html$, "_childElementCount"),
  _firstElementChild: dart.privateName(html$, "_firstElementChild"),
  _lastElementChild: dart.privateName(html$, "_lastElementChild"),
  $querySelector: dartx.querySelector = Symbol("dartx.querySelector"),
  $onBeforeCopy: dartx.onBeforeCopy = Symbol("dartx.onBeforeCopy"),
  $onBeforeCut: dartx.onBeforeCut = Symbol("dartx.onBeforeCut"),
  $onBeforePaste: dartx.onBeforePaste = Symbol("dartx.onBeforePaste"),
  $onBlur: dartx.onBlur = Symbol("dartx.onBlur"),
  $onCanPlay: dartx.onCanPlay = Symbol("dartx.onCanPlay"),
  $onCanPlayThrough: dartx.onCanPlayThrough = Symbol("dartx.onCanPlayThrough"),
  $onChange: dartx.onChange = Symbol("dartx.onChange"),
  $onClick: dartx.onClick = Symbol("dartx.onClick"),
  $onContextMenu: dartx.onContextMenu = Symbol("dartx.onContextMenu"),
  $onCopy: dartx.onCopy = Symbol("dartx.onCopy"),
  $onCut: dartx.onCut = Symbol("dartx.onCut"),
  $onDoubleClick: dartx.onDoubleClick = Symbol("dartx.onDoubleClick"),
  $onDrag: dartx.onDrag = Symbol("dartx.onDrag"),
  $onDragEnd: dartx.onDragEnd = Symbol("dartx.onDragEnd"),
  $onDragEnter: dartx.onDragEnter = Symbol("dartx.onDragEnter"),
  $onDragLeave: dartx.onDragLeave = Symbol("dartx.onDragLeave"),
  $onDragOver: dartx.onDragOver = Symbol("dartx.onDragOver"),
  $onDragStart: dartx.onDragStart = Symbol("dartx.onDragStart"),
  $onDrop: dartx.onDrop = Symbol("dartx.onDrop"),
  $onDurationChange: dartx.onDurationChange = Symbol("dartx.onDurationChange"),
  $onEmptied: dartx.onEmptied = Symbol("dartx.onEmptied"),
  $onEnded: dartx.onEnded = Symbol("dartx.onEnded"),
  $onFocus: dartx.onFocus = Symbol("dartx.onFocus"),
  $onInput: dartx.onInput = Symbol("dartx.onInput"),
  $onInvalid: dartx.onInvalid = Symbol("dartx.onInvalid"),
  $onKeyDown: dartx.onKeyDown = Symbol("dartx.onKeyDown"),
  $onKeyPress: dartx.onKeyPress = Symbol("dartx.onKeyPress"),
  $onKeyUp: dartx.onKeyUp = Symbol("dartx.onKeyUp"),
  $onLoad: dartx.onLoad = Symbol("dartx.onLoad"),
  $onLoadedData: dartx.onLoadedData = Symbol("dartx.onLoadedData"),
  $onLoadedMetadata: dartx.onLoadedMetadata = Symbol("dartx.onLoadedMetadata"),
  $onMouseDown: dartx.onMouseDown = Symbol("dartx.onMouseDown"),
  $onMouseEnter: dartx.onMouseEnter = Symbol("dartx.onMouseEnter"),
  $onMouseLeave: dartx.onMouseLeave = Symbol("dartx.onMouseLeave"),
  $onMouseMove: dartx.onMouseMove = Symbol("dartx.onMouseMove"),
  $onMouseOut: dartx.onMouseOut = Symbol("dartx.onMouseOut"),
  $onMouseOver: dartx.onMouseOver = Symbol("dartx.onMouseOver"),
  $onMouseUp: dartx.onMouseUp = Symbol("dartx.onMouseUp"),
  $onMouseWheel: dartx.onMouseWheel = Symbol("dartx.onMouseWheel"),
  $onPaste: dartx.onPaste = Symbol("dartx.onPaste"),
  $onPause: dartx.onPause = Symbol("dartx.onPause"),
  $onPlay: dartx.onPlay = Symbol("dartx.onPlay"),
  $onPlaying: dartx.onPlaying = Symbol("dartx.onPlaying"),
  $onRateChange: dartx.onRateChange = Symbol("dartx.onRateChange"),
  $onReset: dartx.onReset = Symbol("dartx.onReset"),
  $onResize: dartx.onResize = Symbol("dartx.onResize"),
  $onScroll: dartx.onScroll = Symbol("dartx.onScroll"),
  $onSearch: dartx.onSearch = Symbol("dartx.onSearch"),
  $onSeeked: dartx.onSeeked = Symbol("dartx.onSeeked"),
  $onSeeking: dartx.onSeeking = Symbol("dartx.onSeeking"),
  $onSelect: dartx.onSelect = Symbol("dartx.onSelect"),
  $onSelectStart: dartx.onSelectStart = Symbol("dartx.onSelectStart")
};
var S$ = {
  $onStalled: dartx.onStalled = Symbol("dartx.onStalled"),
  $onSubmit: dartx.onSubmit = Symbol("dartx.onSubmit"),
  $onSuspend: dartx.onSuspend = Symbol("dartx.onSuspend"),
  $onTimeUpdate: dartx.onTimeUpdate = Symbol("dartx.onTimeUpdate"),
  $onTouchCancel: dartx.onTouchCancel = Symbol("dartx.onTouchCancel"),
  $onTouchEnd: dartx.onTouchEnd = Symbol("dartx.onTouchEnd"),
  $onTouchEnter: dartx.onTouchEnter = Symbol("dartx.onTouchEnter"),
  $onTouchLeave: dartx.onTouchLeave = Symbol("dartx.onTouchLeave"),
  $onTouchMove: dartx.onTouchMove = Symbol("dartx.onTouchMove"),
  $onTouchStart: dartx.onTouchStart = Symbol("dartx.onTouchStart"),
  $onTransitionEnd: dartx.onTransitionEnd = Symbol("dartx.onTransitionEnd"),
  $onVolumeChange: dartx.onVolumeChange = Symbol("dartx.onVolumeChange"),
  $onWaiting: dartx.onWaiting = Symbol("dartx.onWaiting"),
  $onFullscreenChange: dartx.onFullscreenChange = Symbol("dartx.onFullscreenChange"),
  $onFullscreenError: dartx.onFullscreenError = Symbol("dartx.onFullscreenError"),
  $onWheel: dartx.onWheel = Symbol("dartx.onWheel"),
  _removeChild: dart.privateName(html$, "_removeChild"),
  _replaceChild: dart.privateName(html$, "_replaceChild"),
  $replaceWith: dartx.replaceWith = Symbol("dartx.replaceWith"),
  _this: dart.privateName(html$, "_this"),
  $insertAllBefore: dartx.insertAllBefore = Symbol("dartx.insertAllBefore"),
  _clearChildren: dart.privateName(html$, "_clearChildren"),
  $childNodes: dartx.childNodes = Symbol("dartx.childNodes"),
  $firstChild: dartx.firstChild = Symbol("dartx.firstChild"),
  $isConnected: dartx.isConnected = Symbol("dartx.isConnected"),
  $lastChild: dartx.lastChild = Symbol("dartx.lastChild"),
  $nodeName: dartx.nodeName = Symbol("dartx.nodeName"),
  $nodeType: dartx.nodeType = Symbol("dartx.nodeType"),
  $nodeValue: dartx.nodeValue = Symbol("dartx.nodeValue"),
  $ownerDocument: dartx.ownerDocument = Symbol("dartx.ownerDocument"),
  $parentNode: dartx.parentNode = Symbol("dartx.parentNode"),
  $previousNode: dartx.previousNode = Symbol("dartx.previousNode"),
  $clone: dartx.clone = Symbol("dartx.clone"),
  _getRootNode_1: dart.privateName(html$, "_getRootNode_1"),
  _getRootNode_2: dart.privateName(html$, "_getRootNode_2"),
  $getRootNode: dartx.getRootNode = Symbol("dartx.getRootNode"),
  $hasChildNodes: dartx.hasChildNodes = Symbol("dartx.hasChildNodes"),
  $insertBefore: dartx.insertBefore = Symbol("dartx.insertBefore"),
  _CustomEventStreamProvider__eventTypeGetter: dart.privateName(html$, "_CustomEventStreamProvider._eventTypeGetter"),
  $respondWith: dartx.respondWith = Symbol("dartx.respondWith"),
  $waitUntil: dartx.waitUntil = Symbol("dartx.waitUntil"),
  $quaternion: dartx.quaternion = Symbol("dartx.quaternion"),
  $populateMatrix: dartx.populateMatrix = Symbol("dartx.populateMatrix"),
  $activated: dartx.activated = Symbol("dartx.activated"),
  $hasReading: dartx.hasReading = Symbol("dartx.hasReading"),
  $timestamp: dartx.timestamp = Symbol("dartx.timestamp"),
  $start: dartx.start = Symbol("dartx.start"),
  $stop: dartx.stop = Symbol("dartx.stop"),
  $x: dartx.x = Symbol("dartx.x"),
  $y: dartx.y = Symbol("dartx.y"),
  $z: dartx.z = Symbol("dartx.z"),
  $activeDescendant: dartx.activeDescendant = Symbol("dartx.activeDescendant"),
  $atomic: dartx.atomic = Symbol("dartx.atomic"),
  $autocomplete: dartx.autocomplete = Symbol("dartx.autocomplete"),
  $busy: dartx.busy = Symbol("dartx.busy"),
  $checked: dartx.checked = Symbol("dartx.checked"),
  $colCount: dartx.colCount = Symbol("dartx.colCount"),
  $colIndex: dartx.colIndex = Symbol("dartx.colIndex"),
  $colSpan: dartx.colSpan = Symbol("dartx.colSpan"),
  $controls: dartx.controls = Symbol("dartx.controls"),
  $current: dartx.current = Symbol("dartx.current"),
  $describedBy: dartx.describedBy = Symbol("dartx.describedBy"),
  $details: dartx.details = Symbol("dartx.details"),
  $disabled: dartx.disabled = Symbol("dartx.disabled"),
  $errorMessage: dartx.errorMessage = Symbol("dartx.errorMessage"),
  $expanded: dartx.expanded = Symbol("dartx.expanded"),
  $flowTo: dartx.flowTo = Symbol("dartx.flowTo"),
  $hasPopUp: dartx.hasPopUp = Symbol("dartx.hasPopUp"),
  $invalid: dartx.invalid = Symbol("dartx.invalid"),
  $keyShortcuts: dartx.keyShortcuts = Symbol("dartx.keyShortcuts"),
  $label: dartx.label = Symbol("dartx.label"),
  $labeledBy: dartx.labeledBy = Symbol("dartx.labeledBy"),
  $level: dartx.level = Symbol("dartx.level"),
  $live: dartx.live = Symbol("dartx.live"),
  $modal: dartx.modal = Symbol("dartx.modal"),
  $multiline: dartx.multiline = Symbol("dartx.multiline"),
  $multiselectable: dartx.multiselectable = Symbol("dartx.multiselectable"),
  $orientation: dartx.orientation = Symbol("dartx.orientation"),
  $owns: dartx.owns = Symbol("dartx.owns"),
  $placeholder: dartx.placeholder = Symbol("dartx.placeholder"),
  $posInSet: dartx.posInSet = Symbol("dartx.posInSet"),
  $pressed: dartx.pressed = Symbol("dartx.pressed"),
  $readOnly: dartx.readOnly = Symbol("dartx.readOnly"),
  $relevant: dartx.relevant = Symbol("dartx.relevant"),
  $required: dartx.required = Symbol("dartx.required"),
  $role: dartx.role = Symbol("dartx.role"),
  $roleDescription: dartx.roleDescription = Symbol("dartx.roleDescription"),
  $rowCount: dartx.rowCount = Symbol("dartx.rowCount"),
  $rowIndex: dartx.rowIndex = Symbol("dartx.rowIndex"),
  $rowSpan: dartx.rowSpan = Symbol("dartx.rowSpan"),
  $selected: dartx.selected = Symbol("dartx.selected"),
  $setSize: dartx.setSize = Symbol("dartx.setSize"),
  $valueMax: dartx.valueMax = Symbol("dartx.valueMax"),
  $valueMin: dartx.valueMin = Symbol("dartx.valueMin"),
  $valueNow: dartx.valueNow = Symbol("dartx.valueNow"),
  $valueText: dartx.valueText = Symbol("dartx.valueText"),
  $appendChild: dartx.appendChild = Symbol("dartx.appendChild"),
  $onAccessibleClick: dartx.onAccessibleClick = Symbol("dartx.onAccessibleClick"),
  $onAccessibleContextMenu: dartx.onAccessibleContextMenu = Symbol("dartx.onAccessibleContextMenu"),
  $onAccessibleDecrement: dartx.onAccessibleDecrement = Symbol("dartx.onAccessibleDecrement"),
  $onAccessibleFocus: dartx.onAccessibleFocus = Symbol("dartx.onAccessibleFocus"),
  $onAccessibleIncrement: dartx.onAccessibleIncrement = Symbol("dartx.onAccessibleIncrement"),
  $onAccessibleScrollIntoView: dartx.onAccessibleScrollIntoView = Symbol("dartx.onAccessibleScrollIntoView"),
  __setter__: dart.privateName(html$, "__setter__"),
  $item: dartx.item = Symbol("dartx.item"),
  $illuminance: dartx.illuminance = Symbol("dartx.illuminance"),
  $download: dartx.download = Symbol("dartx.download"),
  $hreflang: dartx.hreflang = Symbol("dartx.hreflang"),
  $referrerPolicy: dartx.referrerPolicy = Symbol("dartx.referrerPolicy"),
  $rel: dartx.rel = Symbol("dartx.rel"),
  $hash: dartx.hash = Symbol("dartx.hash"),
  $host: dartx.host = Symbol("dartx.host"),
  $hostname: dartx.hostname = Symbol("dartx.hostname"),
  $href: dartx.href = Symbol("dartx.href"),
  $origin: dartx.origin = Symbol("dartx.origin"),
  $password: dartx.password = Symbol("dartx.password"),
  $pathname: dartx.pathname = Symbol("dartx.pathname"),
  $port: dartx.port = Symbol("dartx.port"),
  $protocol: dartx.protocol = Symbol("dartx.protocol"),
  $search: dartx.search = Symbol("dartx.search"),
  $username: dartx.username = Symbol("dartx.username"),
  $currentTime: dartx.currentTime = Symbol("dartx.currentTime"),
  $effect: dartx.effect = Symbol("dartx.effect"),
  $finished: dartx.finished = Symbol("dartx.finished"),
  $playState: dartx.playState = Symbol("dartx.playState"),
  $playbackRate: dartx.playbackRate = Symbol("dartx.playbackRate"),
  $ready: dartx.ready = Symbol("dartx.ready"),
  $startTime: dartx.startTime = Symbol("dartx.startTime"),
  $timeline: dartx.timeline = Symbol("dartx.timeline"),
  $cancel: dartx.cancel = Symbol("dartx.cancel"),
  $finish: dartx.finish = Symbol("dartx.finish"),
  $pause: dartx.pause = Symbol("dartx.pause"),
  $play: dartx.play = Symbol("dartx.play"),
  $reverse: dartx.reverse = Symbol("dartx.reverse"),
  $onCancel: dartx.onCancel = Symbol("dartx.onCancel"),
  $onFinish: dartx.onFinish = Symbol("dartx.onFinish"),
  $timing: dartx.timing = Symbol("dartx.timing"),
  _getComputedTiming_1: dart.privateName(html$, "_getComputedTiming_1"),
  $getComputedTiming: dartx.getComputedTiming = Symbol("dartx.getComputedTiming"),
  $delay: dartx.delay = Symbol("dartx.delay"),
  $duration: dartx.duration = Symbol("dartx.duration"),
  $easing: dartx.easing = Symbol("dartx.easing"),
  $endDelay: dartx.endDelay = Symbol("dartx.endDelay"),
  $fill: dartx.fill = Symbol("dartx.fill"),
  $iterationStart: dartx.iterationStart = Symbol("dartx.iterationStart"),
  $iterations: dartx.iterations = Symbol("dartx.iterations"),
  $animationName: dartx.animationName = Symbol("dartx.animationName"),
  $elapsedTime: dartx.elapsedTime = Symbol("dartx.elapsedTime"),
  $timelineTime: dartx.timelineTime = Symbol("dartx.timelineTime"),
  $registerAnimator: dartx.registerAnimator = Symbol("dartx.registerAnimator"),
  $status: dartx.status = Symbol("dartx.status"),
  $swapCache: dartx.swapCache = Symbol("dartx.swapCache"),
  $onCached: dartx.onCached = Symbol("dartx.onCached"),
  $onChecking: dartx.onChecking = Symbol("dartx.onChecking"),
  $onDownloading: dartx.onDownloading = Symbol("dartx.onDownloading"),
  $onNoUpdate: dartx.onNoUpdate = Symbol("dartx.onNoUpdate"),
  $onObsolete: dartx.onObsolete = Symbol("dartx.onObsolete"),
  $onProgress: dartx.onProgress = Symbol("dartx.onProgress"),
  $onUpdateReady: dartx.onUpdateReady = Symbol("dartx.onUpdateReady"),
  $reason: dartx.reason = Symbol("dartx.reason"),
  $url: dartx.url = Symbol("dartx.url"),
  $alt: dartx.alt = Symbol("dartx.alt"),
  $coords: dartx.coords = Symbol("dartx.coords"),
  $shape: dartx.shape = Symbol("dartx.shape"),
  $audioTracks: dartx.audioTracks = Symbol("dartx.audioTracks"),
  $autoplay: dartx.autoplay = Symbol("dartx.autoplay"),
  $buffered: dartx.buffered = Symbol("dartx.buffered"),
  $controlsList: dartx.controlsList = Symbol("dartx.controlsList"),
  $crossOrigin: dartx.crossOrigin = Symbol("dartx.crossOrigin"),
  $currentSrc: dartx.currentSrc = Symbol("dartx.currentSrc"),
  $defaultMuted: dartx.defaultMuted = Symbol("dartx.defaultMuted"),
  $defaultPlaybackRate: dartx.defaultPlaybackRate = Symbol("dartx.defaultPlaybackRate"),
  $disableRemotePlayback: dartx.disableRemotePlayback = Symbol("dartx.disableRemotePlayback"),
  $ended: dartx.ended = Symbol("dartx.ended"),
  $loop: dartx.loop = Symbol("dartx.loop"),
  $mediaKeys: dartx.mediaKeys = Symbol("dartx.mediaKeys"),
  $muted: dartx.muted = Symbol("dartx.muted"),
  $networkState: dartx.networkState = Symbol("dartx.networkState"),
  $paused: dartx.paused = Symbol("dartx.paused"),
  $played: dartx.played = Symbol("dartx.played"),
  $preload: dartx.preload = Symbol("dartx.preload"),
  $remote: dartx.remote = Symbol("dartx.remote"),
  $seekable: dartx.seekable = Symbol("dartx.seekable"),
  $seeking: dartx.seeking = Symbol("dartx.seeking"),
  $sinkId: dartx.sinkId = Symbol("dartx.sinkId"),
  $src: dartx.src = Symbol("dartx.src"),
  $srcObject: dartx.srcObject = Symbol("dartx.srcObject"),
  $textTracks: dartx.textTracks = Symbol("dartx.textTracks"),
  $videoTracks: dartx.videoTracks = Symbol("dartx.videoTracks"),
  $volume: dartx.volume = Symbol("dartx.volume"),
  $audioDecodedByteCount: dartx.audioDecodedByteCount = Symbol("dartx.audioDecodedByteCount"),
  $videoDecodedByteCount: dartx.videoDecodedByteCount = Symbol("dartx.videoDecodedByteCount"),
  $addTextTrack: dartx.addTextTrack = Symbol("dartx.addTextTrack"),
  $canPlayType: dartx.canPlayType = Symbol("dartx.canPlayType"),
  $captureStream: dartx.captureStream = Symbol("dartx.captureStream"),
  $load: dartx.load = Symbol("dartx.load"),
  $setMediaKeys: dartx.setMediaKeys = Symbol("dartx.setMediaKeys"),
  $setSinkId: dartx.setSinkId = Symbol("dartx.setSinkId"),
  $authenticatorData: dartx.authenticatorData = Symbol("dartx.authenticatorData"),
  $signature: dartx.signature = Symbol("dartx.signature"),
  $clientDataJson: dartx.clientDataJson = Symbol("dartx.clientDataJson"),
  $attestationObject: dartx.attestationObject = Symbol("dartx.attestationObject"),
  $state: dartx.state = Symbol("dartx.state"),
  $fetches: dartx.fetches = Symbol("dartx.fetches"),
  $request: dartx.request = Symbol("dartx.request"),
  $fetch: dartx.fetch = Symbol("dartx.fetch"),
  $getIds: dartx.getIds = Symbol("dartx.getIds"),
  $downloadTotal: dartx.downloadTotal = Symbol("dartx.downloadTotal"),
  $downloaded: dartx.downloaded = Symbol("dartx.downloaded"),
  $totalDownloadSize: dartx.totalDownloadSize = Symbol("dartx.totalDownloadSize"),
  $uploadTotal: dartx.uploadTotal = Symbol("dartx.uploadTotal"),
  $uploaded: dartx.uploaded = Symbol("dartx.uploaded"),
  $response: dartx.response = Symbol("dartx.response"),
  $updateUI: dartx.updateUI = Symbol("dartx.updateUI"),
  $visible: dartx.visible = Symbol("dartx.visible"),
  $detect: dartx.detect = Symbol("dartx.detect"),
  $charging: dartx.charging = Symbol("dartx.charging"),
  $chargingTime: dartx.chargingTime = Symbol("dartx.chargingTime"),
  $dischargingTime: dartx.dischargingTime = Symbol("dartx.dischargingTime"),
  $platforms: dartx.platforms = Symbol("dartx.platforms"),
  $userChoice: dartx.userChoice = Symbol("dartx.userChoice"),
  $prompt: dartx.prompt = Symbol("dartx.prompt"),
  $returnValue: dartx.returnValue = Symbol("dartx.returnValue"),
  $size: dartx.size = Symbol("dartx.size"),
  $slice: dartx.slice = Symbol("dartx.slice"),
  $data: dartx.data = Symbol("dartx.data"),
  $timecode: dartx.timecode = Symbol("dartx.timecode"),
  $characteristic: dartx.characteristic = Symbol("dartx.characteristic"),
  $uuid: dartx.uuid = Symbol("dartx.uuid"),
  $readValue: dartx.readValue = Symbol("dartx.readValue"),
  $writeValue: dartx.writeValue = Symbol("dartx.writeValue"),
  $bodyUsed: dartx.bodyUsed = Symbol("dartx.bodyUsed"),
  $arrayBuffer: dartx.arrayBuffer = Symbol("dartx.arrayBuffer"),
  $blob: dartx.blob = Symbol("dartx.blob"),
  $formData: dartx.formData = Symbol("dartx.formData"),
  $json: dartx.json = Symbol("dartx.json"),
  $onHashChange: dartx.onHashChange = Symbol("dartx.onHashChange"),
  $onMessage: dartx.onMessage = Symbol("dartx.onMessage"),
  $onOffline: dartx.onOffline = Symbol("dartx.onOffline"),
  $onOnline: dartx.onOnline = Symbol("dartx.onOnline"),
  $onPopState: dartx.onPopState = Symbol("dartx.onPopState"),
  $onStorage: dartx.onStorage = Symbol("dartx.onStorage"),
  $onUnload: dartx.onUnload = Symbol("dartx.onUnload"),
  $postMessage: dartx.postMessage = Symbol("dartx.postMessage"),
  $budgetAt: dartx.budgetAt = Symbol("dartx.budgetAt"),
  $time: dartx.time = Symbol("dartx.time"),
  $autofocus: dartx.autofocus = Symbol("dartx.autofocus"),
  $form: dartx.form = Symbol("dartx.form"),
  $formAction: dartx.formAction = Symbol("dartx.formAction"),
  $formEnctype: dartx.formEnctype = Symbol("dartx.formEnctype"),
  $formMethod: dartx.formMethod = Symbol("dartx.formMethod"),
  $formNoValidate: dartx.formNoValidate = Symbol("dartx.formNoValidate"),
  $formTarget: dartx.formTarget = Symbol("dartx.formTarget"),
  $labels: dartx.labels = Symbol("dartx.labels"),
  $validationMessage: dartx.validationMessage = Symbol("dartx.validationMessage"),
  $validity: dartx.validity = Symbol("dartx.validity"),
  $willValidate: dartx.willValidate = Symbol("dartx.willValidate"),
  $checkValidity: dartx.checkValidity = Symbol("dartx.checkValidity"),
  $reportValidity: dartx.reportValidity = Symbol("dartx.reportValidity"),
  $setCustomValidity: dartx.setCustomValidity = Symbol("dartx.setCustomValidity"),
  $wholeText: dartx.wholeText = Symbol("dartx.wholeText"),
  $splitText: dartx.splitText = Symbol("dartx.splitText"),
  $appendData: dartx.appendData = Symbol("dartx.appendData"),
  $deleteData: dartx.deleteData = Symbol("dartx.deleteData"),
  $insertData: dartx.insertData = Symbol("dartx.insertData"),
  $replaceData: dartx.replaceData = Symbol("dartx.replaceData"),
  $substringData: dartx.substringData = Symbol("dartx.substringData"),
  $has: dartx.has = Symbol("dartx.has"),
  $match: dartx.match = Symbol("dartx.match"),
  $methodData: dartx.methodData = Symbol("dartx.methodData"),
  $modifiers: dartx.modifiers = Symbol("dartx.modifiers"),
  $paymentRequestOrigin: dartx.paymentRequestOrigin = Symbol("dartx.paymentRequestOrigin"),
  $topLevelOrigin: dartx.topLevelOrigin = Symbol("dartx.topLevelOrigin"),
  $canvas: dartx.canvas = Symbol("dartx.canvas"),
  $requestFrame: dartx.requestFrame = Symbol("dartx.requestFrame"),
  $contentHint: dartx.contentHint = Symbol("dartx.contentHint"),
  $enabled: dartx.enabled = Symbol("dartx.enabled"),
  $kind: dartx.kind = Symbol("dartx.kind"),
  $applyConstraints: dartx.applyConstraints = Symbol("dartx.applyConstraints"),
  _getCapabilities_1: dart.privateName(html$, "_getCapabilities_1"),
  $getCapabilities: dartx.getCapabilities = Symbol("dartx.getCapabilities"),
  _getConstraints_1: dart.privateName(html$, "_getConstraints_1"),
  $getConstraints: dartx.getConstraints = Symbol("dartx.getConstraints"),
  _getSettings_1: dart.privateName(html$, "_getSettings_1"),
  $getSettings: dartx.getSettings = Symbol("dartx.getSettings"),
  $onMute: dartx.onMute = Symbol("dartx.onMute"),
  $onUnmute: dartx.onUnmute = Symbol("dartx.onUnmute"),
  _getContext_1: dart.privateName(html$, "_getContext_1"),
  _getContext_2: dart.privateName(html$, "_getContext_2"),
  $getContext: dartx.getContext = Symbol("dartx.getContext"),
  _toDataUrl: dart.privateName(html$, "_toDataUrl"),
  $transferControlToOffscreen: dartx.transferControlToOffscreen = Symbol("dartx.transferControlToOffscreen"),
  $onWebGlContextLost: dartx.onWebGlContextLost = Symbol("dartx.onWebGlContextLost"),
  $onWebGlContextRestored: dartx.onWebGlContextRestored = Symbol("dartx.onWebGlContextRestored"),
  $context2D: dartx.context2D = Symbol("dartx.context2D"),
  $getContext3d: dartx.getContext3d = Symbol("dartx.getContext3d"),
  $toDataUrl: dartx.toDataUrl = Symbol("dartx.toDataUrl"),
  _toBlob: dart.privateName(html$, "_toBlob"),
  $toBlob: dartx.toBlob = Symbol("dartx.toBlob"),
  $addColorStop: dartx.addColorStop = Symbol("dartx.addColorStop"),
  $setTransform: dartx.setTransform = Symbol("dartx.setTransform"),
  $currentTransform: dartx.currentTransform = Symbol("dartx.currentTransform"),
  $fillStyle: dartx.fillStyle = Symbol("dartx.fillStyle"),
  $filter: dartx.filter = Symbol("dartx.filter"),
  $font: dartx.font = Symbol("dartx.font"),
  $globalAlpha: dartx.globalAlpha = Symbol("dartx.globalAlpha"),
  $globalCompositeOperation: dartx.globalCompositeOperation = Symbol("dartx.globalCompositeOperation"),
  $imageSmoothingEnabled: dartx.imageSmoothingEnabled = Symbol("dartx.imageSmoothingEnabled"),
  $imageSmoothingQuality: dartx.imageSmoothingQuality = Symbol("dartx.imageSmoothingQuality"),
  $lineCap: dartx.lineCap = Symbol("dartx.lineCap"),
  $lineJoin: dartx.lineJoin = Symbol("dartx.lineJoin"),
  $lineWidth: dartx.lineWidth = Symbol("dartx.lineWidth"),
  $miterLimit: dartx.miterLimit = Symbol("dartx.miterLimit"),
  $shadowBlur: dartx.shadowBlur = Symbol("dartx.shadowBlur"),
  $shadowColor: dartx.shadowColor = Symbol("dartx.shadowColor"),
  $shadowOffsetX: dartx.shadowOffsetX = Symbol("dartx.shadowOffsetX"),
  $shadowOffsetY: dartx.shadowOffsetY = Symbol("dartx.shadowOffsetY"),
  $strokeStyle: dartx.strokeStyle = Symbol("dartx.strokeStyle"),
  $textAlign: dartx.textAlign = Symbol("dartx.textAlign"),
  $textBaseline: dartx.textBaseline = Symbol("dartx.textBaseline"),
  _addHitRegion_1: dart.privateName(html$, "_addHitRegion_1"),
  _addHitRegion_2: dart.privateName(html$, "_addHitRegion_2"),
  $addHitRegion: dartx.addHitRegion = Symbol("dartx.addHitRegion"),
  $beginPath: dartx.beginPath = Symbol("dartx.beginPath"),
  $clearHitRegions: dartx.clearHitRegions = Symbol("dartx.clearHitRegions"),
  $clearRect: dartx.clearRect = Symbol("dartx.clearRect"),
  $clip: dartx.clip = Symbol("dartx.clip"),
  _createImageData_1: dart.privateName(html$, "_createImageData_1"),
  _createImageData_2: dart.privateName(html$, "_createImageData_2"),
  _createImageData_3: dart.privateName(html$, "_createImageData_3"),
  _createImageData_4: dart.privateName(html$, "_createImageData_4"),
  _createImageData_5: dart.privateName(html$, "_createImageData_5"),
  $createImageData: dartx.createImageData = Symbol("dartx.createImageData"),
  $createLinearGradient: dartx.createLinearGradient = Symbol("dartx.createLinearGradient"),
  $createPattern: dartx.createPattern = Symbol("dartx.createPattern"),
  $createRadialGradient: dartx.createRadialGradient = Symbol("dartx.createRadialGradient"),
  $drawFocusIfNeeded: dartx.drawFocusIfNeeded = Symbol("dartx.drawFocusIfNeeded"),
  $fillRect: dartx.fillRect = Symbol("dartx.fillRect"),
  _getContextAttributes_1: dart.privateName(html$, "_getContextAttributes_1"),
  $getContextAttributes: dartx.getContextAttributes = Symbol("dartx.getContextAttributes"),
  _getImageData_1: dart.privateName(html$, "_getImageData_1"),
  $getImageData: dartx.getImageData = Symbol("dartx.getImageData"),
  _getLineDash: dart.privateName(html$, "_getLineDash"),
  $isContextLost: dartx.isContextLost = Symbol("dartx.isContextLost"),
  $isPointInPath: dartx.isPointInPath = Symbol("dartx.isPointInPath"),
  $isPointInStroke: dartx.isPointInStroke = Symbol("dartx.isPointInStroke"),
  $measureText: dartx.measureText = Symbol("dartx.measureText"),
  _putImageData_1: dart.privateName(html$, "_putImageData_1"),
  _putImageData_2: dart.privateName(html$, "_putImageData_2"),
  $putImageData: dartx.putImageData = Symbol("dartx.putImageData"),
  $removeHitRegion: dartx.removeHitRegion = Symbol("dartx.removeHitRegion"),
  $resetTransform: dartx.resetTransform = Symbol("dartx.resetTransform"),
  $restore: dartx.restore = Symbol("dartx.restore"),
  $rotate: dartx.rotate = Symbol("dartx.rotate"),
  $save: dartx.save = Symbol("dartx.save"),
  $scale: dartx.scale = Symbol("dartx.scale"),
  $scrollPathIntoView: dartx.scrollPathIntoView = Symbol("dartx.scrollPathIntoView"),
  $stroke: dartx.stroke = Symbol("dartx.stroke"),
  $strokeRect: dartx.strokeRect = Symbol("dartx.strokeRect"),
  $strokeText: dartx.strokeText = Symbol("dartx.strokeText"),
  $transform: dartx.transform = Symbol("dartx.transform"),
  _arc: dart.privateName(html$, "_arc"),
  $arcTo: dartx.arcTo = Symbol("dartx.arcTo"),
  $bezierCurveTo: dartx.bezierCurveTo = Symbol("dartx.bezierCurveTo"),
  $closePath: dartx.closePath = Symbol("dartx.closePath"),
  $ellipse: dartx.ellipse = Symbol("dartx.ellipse"),
  $lineTo: dartx.lineTo = Symbol("dartx.lineTo"),
  $moveTo: dartx.moveTo = Symbol("dartx.moveTo"),
  $quadraticCurveTo: dartx.quadraticCurveTo = Symbol("dartx.quadraticCurveTo"),
  $rect: dartx.rect = Symbol("dartx.rect"),
  $createImageDataFromImageData: dartx.createImageDataFromImageData = Symbol("dartx.createImageDataFromImageData"),
  $setFillColorRgb: dartx.setFillColorRgb = Symbol("dartx.setFillColorRgb"),
  $setFillColorHsl: dartx.setFillColorHsl = Symbol("dartx.setFillColorHsl"),
  $setStrokeColorRgb: dartx.setStrokeColorRgb = Symbol("dartx.setStrokeColorRgb"),
  $setStrokeColorHsl: dartx.setStrokeColorHsl = Symbol("dartx.setStrokeColorHsl"),
  $arc: dartx.arc = Symbol("dartx.arc"),
  $createPatternFromImage: dartx.createPatternFromImage = Symbol("dartx.createPatternFromImage"),
  $drawImageScaled: dartx.drawImageScaled = Symbol("dartx.drawImageScaled"),
  $drawImageScaledFromSource: dartx.drawImageScaledFromSource = Symbol("dartx.drawImageScaledFromSource"),
  $drawImageToRect: dartx.drawImageToRect = Symbol("dartx.drawImageToRect"),
  $drawImage: dartx.drawImage = Symbol("dartx.drawImage"),
  $lineDashOffset: dartx.lineDashOffset = Symbol("dartx.lineDashOffset"),
  $getLineDash: dartx.getLineDash = Symbol("dartx.getLineDash"),
  $setLineDash: dartx.setLineDash = Symbol("dartx.setLineDash"),
  $fillText: dartx.fillText = Symbol("dartx.fillText"),
  $backingStorePixelRatio: dartx.backingStorePixelRatio = Symbol("dartx.backingStorePixelRatio"),
  $frameType: dartx.frameType = Symbol("dartx.frameType"),
  $claim: dartx.claim = Symbol("dartx.claim"),
  $matchAll: dartx.matchAll = Symbol("dartx.matchAll"),
  $openWindow: dartx.openWindow = Symbol("dartx.openWindow"),
  $clipboardData: dartx.clipboardData = Symbol("dartx.clipboardData"),
  $code: dartx.code = Symbol("dartx.code"),
  $wasClean: dartx.wasClean = Symbol("dartx.wasClean"),
  _initCompositionEvent: dart.privateName(html$, "_initCompositionEvent"),
  _initUIEvent: dart.privateName(html$, "_initUIEvent"),
  $detail: dartx.detail = Symbol("dartx.detail"),
  $sourceCapabilities: dartx.sourceCapabilities = Symbol("dartx.sourceCapabilities"),
  _get_view: dart.privateName(html$, "_get_view"),
  $view: dartx.view = Symbol("dartx.view"),
  _which: dart.privateName(html$, "_which"),
  $select: dartx.select = Symbol("dartx.select"),
  $getDistributedNodes: dartx.getDistributedNodes = Symbol("dartx.getDistributedNodes"),
  $set: dartx.set = Symbol("dartx.set"),
  $accuracy: dartx.accuracy = Symbol("dartx.accuracy"),
  $altitude: dartx.altitude = Symbol("dartx.altitude"),
  $altitudeAccuracy: dartx.altitudeAccuracy = Symbol("dartx.altitudeAccuracy"),
  $heading: dartx.heading = Symbol("dartx.heading"),
  $latitude: dartx.latitude = Symbol("dartx.latitude"),
  $longitude: dartx.longitude = Symbol("dartx.longitude"),
  $speed: dartx.speed = Symbol("dartx.speed"),
  $iconUrl: dartx.iconUrl = Symbol("dartx.iconUrl"),
  $create: dartx.create = Symbol("dartx.create"),
  $preventSilentAccess: dartx.preventSilentAccess = Symbol("dartx.preventSilentAccess"),
  $requireUserMediation: dartx.requireUserMediation = Symbol("dartx.requireUserMediation"),
  $store: dartx.store = Symbol("dartx.store"),
  _getRandomValues: dart.privateName(html$, "_getRandomValues"),
  $getRandomValues: dartx.getRandomValues = Symbol("dartx.getRandomValues"),
  $subtle: dartx.subtle = Symbol("dartx.subtle"),
  $algorithm: dartx.algorithm = Symbol("dartx.algorithm"),
  $extractable: dartx.extractable = Symbol("dartx.extractable"),
  $usages: dartx.usages = Symbol("dartx.usages"),
  $encoding: dartx.encoding = Symbol("dartx.encoding"),
  $cssText: dartx.cssText = Symbol("dartx.cssText"),
  $parentRule: dartx.parentRule = Symbol("dartx.parentRule"),
  $parentStyleSheet: dartx.parentStyleSheet = Symbol("dartx.parentStyleSheet"),
  $conditionText: dartx.conditionText = Symbol("dartx.conditionText"),
  $cssRules: dartx.cssRules = Symbol("dartx.cssRules"),
  $deleteRule: dartx.deleteRule = Symbol("dartx.deleteRule"),
  $insertRule: dartx.insertRule = Symbol("dartx.insertRule"),
  $intrinsicHeight: dartx.intrinsicHeight = Symbol("dartx.intrinsicHeight"),
  $intrinsicRatio: dartx.intrinsicRatio = Symbol("dartx.intrinsicRatio"),
  $intrinsicWidth: dartx.intrinsicWidth = Symbol("dartx.intrinsicWidth"),
  $media: dartx.media = Symbol("dartx.media"),
  $styleSheet: dartx.styleSheet = Symbol("dartx.styleSheet"),
  $keyText: dartx.keyText = Symbol("dartx.keyText"),
  __getter__: dart.privateName(html$, "__getter__"),
  $appendRule: dartx.appendRule = Symbol("dartx.appendRule"),
  $findRule: dartx.findRule = Symbol("dartx.findRule"),
  $matrix: dartx.matrix = Symbol("dartx.matrix"),
  $is2D: dartx.is2D = Symbol("dartx.is2D"),
  $prefix: dartx.prefix = Symbol("dartx.prefix"),
  $div: dartx.div = Symbol("dartx.div"),
  $mul: dartx.mul = Symbol("dartx.mul"),
  $sub: dartx.sub = Symbol("dartx.sub"),
  $to: dartx.to = Symbol("dartx.to"),
  $selectorText: dartx.selectorText = Symbol("dartx.selectorText"),
  $angle: dartx.angle = Symbol("dartx.angle"),
  $ax: dartx.ax = Symbol("dartx.ax"),
  $ay: dartx.ay = Symbol("dartx.ay"),
  _getPropertyValueHelper: dart.privateName(html$, "_getPropertyValueHelper"),
  $getPropertyValue: dartx.getPropertyValue = Symbol("dartx.getPropertyValue"),
  _browserPropertyName: dart.privateName(html$, "_browserPropertyName"),
  _getPropertyValue: dart.privateName(html$, "_getPropertyValue"),
  _supportsProperty: dart.privateName(html$, "_supportsProperty"),
  $supportsProperty: dartx.supportsProperty = Symbol("dartx.supportsProperty"),
  _setPropertyHelper: dart.privateName(html$, "_setPropertyHelper"),
  $setProperty: dartx.setProperty = Symbol("dartx.setProperty"),
  _supportedBrowserPropertyName: dart.privateName(html$, "_supportedBrowserPropertyName"),
  $cssFloat: dartx.cssFloat = Symbol("dartx.cssFloat"),
  $getPropertyPriority: dartx.getPropertyPriority = Symbol("dartx.getPropertyPriority"),
  $removeProperty: dartx.removeProperty = Symbol("dartx.removeProperty"),
  _background: dart.privateName(html$, "_background"),
  $background: dartx.background = Symbol("dartx.background"),
  _backgroundAttachment: dart.privateName(html$, "_backgroundAttachment"),
  $backgroundAttachment: dartx.backgroundAttachment = Symbol("dartx.backgroundAttachment"),
  _backgroundColor: dart.privateName(html$, "_backgroundColor"),
  $backgroundColor: dartx.backgroundColor = Symbol("dartx.backgroundColor"),
  _backgroundImage: dart.privateName(html$, "_backgroundImage"),
  $backgroundImage: dartx.backgroundImage = Symbol("dartx.backgroundImage"),
  _backgroundPosition: dart.privateName(html$, "_backgroundPosition"),
  $backgroundPosition: dartx.backgroundPosition = Symbol("dartx.backgroundPosition"),
  _backgroundRepeat: dart.privateName(html$, "_backgroundRepeat"),
  $backgroundRepeat: dartx.backgroundRepeat = Symbol("dartx.backgroundRepeat"),
  _border: dart.privateName(html$, "_border"),
  $border: dartx.border = Symbol("dartx.border"),
  _borderBottom: dart.privateName(html$, "_borderBottom"),
  $borderBottom: dartx.borderBottom = Symbol("dartx.borderBottom"),
  _borderBottomColor: dart.privateName(html$, "_borderBottomColor"),
  $borderBottomColor: dartx.borderBottomColor = Symbol("dartx.borderBottomColor"),
  _borderBottomStyle: dart.privateName(html$, "_borderBottomStyle"),
  $borderBottomStyle: dartx.borderBottomStyle = Symbol("dartx.borderBottomStyle"),
  _borderBottomWidth: dart.privateName(html$, "_borderBottomWidth"),
  $borderBottomWidth: dartx.borderBottomWidth = Symbol("dartx.borderBottomWidth"),
  _borderCollapse: dart.privateName(html$, "_borderCollapse"),
  $borderCollapse: dartx.borderCollapse = Symbol("dartx.borderCollapse"),
  _borderColor: dart.privateName(html$, "_borderColor"),
  $borderColor: dartx.borderColor = Symbol("dartx.borderColor"),
  _borderLeft: dart.privateName(html$, "_borderLeft"),
  $borderLeft: dartx.borderLeft = Symbol("dartx.borderLeft"),
  _borderLeftColor: dart.privateName(html$, "_borderLeftColor"),
  $borderLeftColor: dartx.borderLeftColor = Symbol("dartx.borderLeftColor"),
  _borderLeftStyle: dart.privateName(html$, "_borderLeftStyle"),
  $borderLeftStyle: dartx.borderLeftStyle = Symbol("dartx.borderLeftStyle"),
  _borderLeftWidth: dart.privateName(html$, "_borderLeftWidth"),
  $borderLeftWidth: dartx.borderLeftWidth = Symbol("dartx.borderLeftWidth"),
  _borderRight: dart.privateName(html$, "_borderRight"),
  $borderRight: dartx.borderRight = Symbol("dartx.borderRight"),
  _borderRightColor: dart.privateName(html$, "_borderRightColor"),
  $borderRightColor: dartx.borderRightColor = Symbol("dartx.borderRightColor"),
  _borderRightStyle: dart.privateName(html$, "_borderRightStyle")
};
var S$0 = {
  $borderRightStyle: dartx.borderRightStyle = Symbol("dartx.borderRightStyle"),
  _borderRightWidth: dart.privateName(html$, "_borderRightWidth"),
  $borderRightWidth: dartx.borderRightWidth = Symbol("dartx.borderRightWidth"),
  _borderSpacing: dart.privateName(html$, "_borderSpacing"),
  $borderSpacing: dartx.borderSpacing = Symbol("dartx.borderSpacing"),
  _borderStyle: dart.privateName(html$, "_borderStyle"),
  $borderStyle: dartx.borderStyle = Symbol("dartx.borderStyle"),
  _borderTop: dart.privateName(html$, "_borderTop"),
  $borderTop: dartx.borderTop = Symbol("dartx.borderTop"),
  _borderTopColor: dart.privateName(html$, "_borderTopColor"),
  $borderTopColor: dartx.borderTopColor = Symbol("dartx.borderTopColor"),
  _borderTopStyle: dart.privateName(html$, "_borderTopStyle"),
  $borderTopStyle: dartx.borderTopStyle = Symbol("dartx.borderTopStyle"),
  _borderTopWidth: dart.privateName(html$, "_borderTopWidth"),
  $borderTopWidth: dartx.borderTopWidth = Symbol("dartx.borderTopWidth"),
  _borderWidth: dart.privateName(html$, "_borderWidth"),
  $borderWidth: dartx.borderWidth = Symbol("dartx.borderWidth"),
  _bottom: dart.privateName(html$, "_bottom"),
  _captionSide: dart.privateName(html$, "_captionSide"),
  $captionSide: dartx.captionSide = Symbol("dartx.captionSide"),
  _clear$3: dart.privateName(html$, "_clear"),
  _clip: dart.privateName(html$, "_clip"),
  _color: dart.privateName(html$, "_color"),
  $color: dartx.color = Symbol("dartx.color"),
  _content: dart.privateName(html$, "_content"),
  $content: dartx.content = Symbol("dartx.content"),
  _cursor: dart.privateName(html$, "_cursor"),
  $cursor: dartx.cursor = Symbol("dartx.cursor"),
  _direction: dart.privateName(html$, "_direction"),
  _display: dart.privateName(html$, "_display"),
  $display: dartx.display = Symbol("dartx.display"),
  _emptyCells: dart.privateName(html$, "_emptyCells"),
  $emptyCells: dartx.emptyCells = Symbol("dartx.emptyCells"),
  _font: dart.privateName(html$, "_font"),
  _fontFamily: dart.privateName(html$, "_fontFamily"),
  $fontFamily: dartx.fontFamily = Symbol("dartx.fontFamily"),
  _fontSize: dart.privateName(html$, "_fontSize"),
  $fontSize: dartx.fontSize = Symbol("dartx.fontSize"),
  _fontStyle: dart.privateName(html$, "_fontStyle"),
  $fontStyle: dartx.fontStyle = Symbol("dartx.fontStyle"),
  _fontVariant: dart.privateName(html$, "_fontVariant"),
  $fontVariant: dartx.fontVariant = Symbol("dartx.fontVariant"),
  _fontWeight: dart.privateName(html$, "_fontWeight"),
  $fontWeight: dartx.fontWeight = Symbol("dartx.fontWeight"),
  _height$1: dart.privateName(html$, "_height"),
  _left$2: dart.privateName(html$, "_left"),
  _letterSpacing: dart.privateName(html$, "_letterSpacing"),
  $letterSpacing: dartx.letterSpacing = Symbol("dartx.letterSpacing"),
  _lineHeight: dart.privateName(html$, "_lineHeight"),
  $lineHeight: dartx.lineHeight = Symbol("dartx.lineHeight"),
  _listStyle: dart.privateName(html$, "_listStyle"),
  $listStyle: dartx.listStyle = Symbol("dartx.listStyle"),
  _listStyleImage: dart.privateName(html$, "_listStyleImage"),
  $listStyleImage: dartx.listStyleImage = Symbol("dartx.listStyleImage"),
  _listStylePosition: dart.privateName(html$, "_listStylePosition"),
  $listStylePosition: dartx.listStylePosition = Symbol("dartx.listStylePosition"),
  _listStyleType: dart.privateName(html$, "_listStyleType"),
  $listStyleType: dartx.listStyleType = Symbol("dartx.listStyleType"),
  _margin: dart.privateName(html$, "_margin"),
  $margin: dartx.margin = Symbol("dartx.margin"),
  _marginBottom: dart.privateName(html$, "_marginBottom"),
  $marginBottom: dartx.marginBottom = Symbol("dartx.marginBottom"),
  _marginLeft: dart.privateName(html$, "_marginLeft"),
  $marginLeft: dartx.marginLeft = Symbol("dartx.marginLeft"),
  _marginRight: dart.privateName(html$, "_marginRight"),
  $marginRight: dartx.marginRight = Symbol("dartx.marginRight"),
  _marginTop: dart.privateName(html$, "_marginTop"),
  $marginTop: dartx.marginTop = Symbol("dartx.marginTop"),
  _maxHeight: dart.privateName(html$, "_maxHeight"),
  $maxHeight: dartx.maxHeight = Symbol("dartx.maxHeight"),
  _maxWidth: dart.privateName(html$, "_maxWidth"),
  $maxWidth: dartx.maxWidth = Symbol("dartx.maxWidth"),
  _minHeight: dart.privateName(html$, "_minHeight"),
  $minHeight: dartx.minHeight = Symbol("dartx.minHeight"),
  _minWidth: dart.privateName(html$, "_minWidth"),
  $minWidth: dartx.minWidth = Symbol("dartx.minWidth"),
  _outline: dart.privateName(html$, "_outline"),
  $outline: dartx.outline = Symbol("dartx.outline"),
  _outlineColor: dart.privateName(html$, "_outlineColor"),
  $outlineColor: dartx.outlineColor = Symbol("dartx.outlineColor"),
  _outlineStyle: dart.privateName(html$, "_outlineStyle"),
  $outlineStyle: dartx.outlineStyle = Symbol("dartx.outlineStyle"),
  _outlineWidth: dart.privateName(html$, "_outlineWidth"),
  $outlineWidth: dartx.outlineWidth = Symbol("dartx.outlineWidth"),
  _overflow: dart.privateName(html$, "_overflow"),
  $overflow: dartx.overflow = Symbol("dartx.overflow"),
  _padding: dart.privateName(html$, "_padding"),
  $padding: dartx.padding = Symbol("dartx.padding"),
  _paddingBottom: dart.privateName(html$, "_paddingBottom"),
  $paddingBottom: dartx.paddingBottom = Symbol("dartx.paddingBottom"),
  _paddingLeft: dart.privateName(html$, "_paddingLeft"),
  $paddingLeft: dartx.paddingLeft = Symbol("dartx.paddingLeft"),
  _paddingRight: dart.privateName(html$, "_paddingRight"),
  $paddingRight: dartx.paddingRight = Symbol("dartx.paddingRight"),
  _paddingTop: dart.privateName(html$, "_paddingTop"),
  $paddingTop: dartx.paddingTop = Symbol("dartx.paddingTop"),
  _pageBreakAfter: dart.privateName(html$, "_pageBreakAfter"),
  $pageBreakAfter: dartx.pageBreakAfter = Symbol("dartx.pageBreakAfter"),
  _pageBreakBefore: dart.privateName(html$, "_pageBreakBefore"),
  $pageBreakBefore: dartx.pageBreakBefore = Symbol("dartx.pageBreakBefore"),
  _pageBreakInside: dart.privateName(html$, "_pageBreakInside"),
  $pageBreakInside: dartx.pageBreakInside = Symbol("dartx.pageBreakInside"),
  _position$2: dart.privateName(html$, "_position"),
  $position: dartx.position = Symbol("dartx.position"),
  _quotes: dart.privateName(html$, "_quotes"),
  $quotes: dartx.quotes = Symbol("dartx.quotes"),
  _right$2: dart.privateName(html$, "_right"),
  _tableLayout: dart.privateName(html$, "_tableLayout"),
  $tableLayout: dartx.tableLayout = Symbol("dartx.tableLayout"),
  _textAlign: dart.privateName(html$, "_textAlign"),
  _textDecoration: dart.privateName(html$, "_textDecoration"),
  $textDecoration: dartx.textDecoration = Symbol("dartx.textDecoration"),
  _textIndent: dart.privateName(html$, "_textIndent"),
  $textIndent: dartx.textIndent = Symbol("dartx.textIndent"),
  _textTransform: dart.privateName(html$, "_textTransform"),
  $textTransform: dartx.textTransform = Symbol("dartx.textTransform"),
  _top: dart.privateName(html$, "_top"),
  _unicodeBidi: dart.privateName(html$, "_unicodeBidi"),
  $unicodeBidi: dartx.unicodeBidi = Symbol("dartx.unicodeBidi"),
  _verticalAlign: dart.privateName(html$, "_verticalAlign"),
  $verticalAlign: dartx.verticalAlign = Symbol("dartx.verticalAlign"),
  _visibility: dart.privateName(html$, "_visibility"),
  $visibility: dartx.visibility = Symbol("dartx.visibility"),
  _whiteSpace: dart.privateName(html$, "_whiteSpace"),
  $whiteSpace: dartx.whiteSpace = Symbol("dartx.whiteSpace"),
  _width$1: dart.privateName(html$, "_width"),
  _wordSpacing: dart.privateName(html$, "_wordSpacing"),
  $wordSpacing: dartx.wordSpacing = Symbol("dartx.wordSpacing"),
  _zIndex: dart.privateName(html$, "_zIndex"),
  $zIndex: dartx.zIndex = Symbol("dartx.zIndex"),
  $alignContent: dartx.alignContent = Symbol("dartx.alignContent"),
  $alignItems: dartx.alignItems = Symbol("dartx.alignItems"),
  $alignSelf: dartx.alignSelf = Symbol("dartx.alignSelf"),
  $animation: dartx.animation = Symbol("dartx.animation"),
  $animationDelay: dartx.animationDelay = Symbol("dartx.animationDelay"),
  $animationDirection: dartx.animationDirection = Symbol("dartx.animationDirection"),
  $animationDuration: dartx.animationDuration = Symbol("dartx.animationDuration"),
  $animationFillMode: dartx.animationFillMode = Symbol("dartx.animationFillMode"),
  $animationIterationCount: dartx.animationIterationCount = Symbol("dartx.animationIterationCount"),
  $animationPlayState: dartx.animationPlayState = Symbol("dartx.animationPlayState"),
  $animationTimingFunction: dartx.animationTimingFunction = Symbol("dartx.animationTimingFunction"),
  $appRegion: dartx.appRegion = Symbol("dartx.appRegion"),
  $appearance: dartx.appearance = Symbol("dartx.appearance"),
  $aspectRatio: dartx.aspectRatio = Symbol("dartx.aspectRatio"),
  $backfaceVisibility: dartx.backfaceVisibility = Symbol("dartx.backfaceVisibility"),
  $backgroundBlendMode: dartx.backgroundBlendMode = Symbol("dartx.backgroundBlendMode"),
  $backgroundClip: dartx.backgroundClip = Symbol("dartx.backgroundClip"),
  $backgroundComposite: dartx.backgroundComposite = Symbol("dartx.backgroundComposite"),
  $backgroundOrigin: dartx.backgroundOrigin = Symbol("dartx.backgroundOrigin"),
  $backgroundPositionX: dartx.backgroundPositionX = Symbol("dartx.backgroundPositionX"),
  $backgroundPositionY: dartx.backgroundPositionY = Symbol("dartx.backgroundPositionY"),
  $backgroundRepeatX: dartx.backgroundRepeatX = Symbol("dartx.backgroundRepeatX"),
  $backgroundRepeatY: dartx.backgroundRepeatY = Symbol("dartx.backgroundRepeatY"),
  $backgroundSize: dartx.backgroundSize = Symbol("dartx.backgroundSize"),
  $borderAfter: dartx.borderAfter = Symbol("dartx.borderAfter"),
  $borderAfterColor: dartx.borderAfterColor = Symbol("dartx.borderAfterColor"),
  $borderAfterStyle: dartx.borderAfterStyle = Symbol("dartx.borderAfterStyle"),
  $borderAfterWidth: dartx.borderAfterWidth = Symbol("dartx.borderAfterWidth"),
  $borderBefore: dartx.borderBefore = Symbol("dartx.borderBefore"),
  $borderBeforeColor: dartx.borderBeforeColor = Symbol("dartx.borderBeforeColor"),
  $borderBeforeStyle: dartx.borderBeforeStyle = Symbol("dartx.borderBeforeStyle"),
  $borderBeforeWidth: dartx.borderBeforeWidth = Symbol("dartx.borderBeforeWidth"),
  $borderBottomLeftRadius: dartx.borderBottomLeftRadius = Symbol("dartx.borderBottomLeftRadius"),
  $borderBottomRightRadius: dartx.borderBottomRightRadius = Symbol("dartx.borderBottomRightRadius"),
  $borderEnd: dartx.borderEnd = Symbol("dartx.borderEnd"),
  $borderEndColor: dartx.borderEndColor = Symbol("dartx.borderEndColor"),
  $borderEndStyle: dartx.borderEndStyle = Symbol("dartx.borderEndStyle"),
  $borderEndWidth: dartx.borderEndWidth = Symbol("dartx.borderEndWidth"),
  $borderFit: dartx.borderFit = Symbol("dartx.borderFit"),
  $borderHorizontalSpacing: dartx.borderHorizontalSpacing = Symbol("dartx.borderHorizontalSpacing"),
  $borderImage: dartx.borderImage = Symbol("dartx.borderImage"),
  $borderImageOutset: dartx.borderImageOutset = Symbol("dartx.borderImageOutset"),
  $borderImageRepeat: dartx.borderImageRepeat = Symbol("dartx.borderImageRepeat"),
  $borderImageSlice: dartx.borderImageSlice = Symbol("dartx.borderImageSlice"),
  $borderImageSource: dartx.borderImageSource = Symbol("dartx.borderImageSource"),
  $borderImageWidth: dartx.borderImageWidth = Symbol("dartx.borderImageWidth"),
  $borderRadius: dartx.borderRadius = Symbol("dartx.borderRadius"),
  $borderStart: dartx.borderStart = Symbol("dartx.borderStart"),
  $borderStartColor: dartx.borderStartColor = Symbol("dartx.borderStartColor"),
  $borderStartStyle: dartx.borderStartStyle = Symbol("dartx.borderStartStyle"),
  $borderStartWidth: dartx.borderStartWidth = Symbol("dartx.borderStartWidth"),
  $borderTopLeftRadius: dartx.borderTopLeftRadius = Symbol("dartx.borderTopLeftRadius"),
  $borderTopRightRadius: dartx.borderTopRightRadius = Symbol("dartx.borderTopRightRadius"),
  $borderVerticalSpacing: dartx.borderVerticalSpacing = Symbol("dartx.borderVerticalSpacing"),
  $boxAlign: dartx.boxAlign = Symbol("dartx.boxAlign"),
  $boxDecorationBreak: dartx.boxDecorationBreak = Symbol("dartx.boxDecorationBreak"),
  $boxDirection: dartx.boxDirection = Symbol("dartx.boxDirection"),
  $boxFlex: dartx.boxFlex = Symbol("dartx.boxFlex"),
  $boxFlexGroup: dartx.boxFlexGroup = Symbol("dartx.boxFlexGroup"),
  $boxLines: dartx.boxLines = Symbol("dartx.boxLines"),
  $boxOrdinalGroup: dartx.boxOrdinalGroup = Symbol("dartx.boxOrdinalGroup"),
  $boxOrient: dartx.boxOrient = Symbol("dartx.boxOrient"),
  $boxPack: dartx.boxPack = Symbol("dartx.boxPack"),
  $boxReflect: dartx.boxReflect = Symbol("dartx.boxReflect"),
  $boxShadow: dartx.boxShadow = Symbol("dartx.boxShadow"),
  $boxSizing: dartx.boxSizing = Symbol("dartx.boxSizing"),
  $clipPath: dartx.clipPath = Symbol("dartx.clipPath"),
  $columnBreakAfter: dartx.columnBreakAfter = Symbol("dartx.columnBreakAfter"),
  $columnBreakBefore: dartx.columnBreakBefore = Symbol("dartx.columnBreakBefore"),
  $columnBreakInside: dartx.columnBreakInside = Symbol("dartx.columnBreakInside"),
  $columnCount: dartx.columnCount = Symbol("dartx.columnCount"),
  $columnFill: dartx.columnFill = Symbol("dartx.columnFill"),
  $columnGap: dartx.columnGap = Symbol("dartx.columnGap"),
  $columnRule: dartx.columnRule = Symbol("dartx.columnRule"),
  $columnRuleColor: dartx.columnRuleColor = Symbol("dartx.columnRuleColor"),
  $columnRuleStyle: dartx.columnRuleStyle = Symbol("dartx.columnRuleStyle"),
  $columnRuleWidth: dartx.columnRuleWidth = Symbol("dartx.columnRuleWidth"),
  $columnSpan: dartx.columnSpan = Symbol("dartx.columnSpan"),
  $columnWidth: dartx.columnWidth = Symbol("dartx.columnWidth"),
  $columns: dartx.columns = Symbol("dartx.columns"),
  $counterIncrement: dartx.counterIncrement = Symbol("dartx.counterIncrement"),
  $counterReset: dartx.counterReset = Symbol("dartx.counterReset"),
  $flex: dartx.flex = Symbol("dartx.flex"),
  $flexBasis: dartx.flexBasis = Symbol("dartx.flexBasis"),
  $flexDirection: dartx.flexDirection = Symbol("dartx.flexDirection"),
  $flexFlow: dartx.flexFlow = Symbol("dartx.flexFlow"),
  $flexGrow: dartx.flexGrow = Symbol("dartx.flexGrow"),
  $flexShrink: dartx.flexShrink = Symbol("dartx.flexShrink"),
  $flexWrap: dartx.flexWrap = Symbol("dartx.flexWrap"),
  $float: dartx.float = Symbol("dartx.float"),
  $fontFeatureSettings: dartx.fontFeatureSettings = Symbol("dartx.fontFeatureSettings"),
  $fontKerning: dartx.fontKerning = Symbol("dartx.fontKerning"),
  $fontSizeDelta: dartx.fontSizeDelta = Symbol("dartx.fontSizeDelta"),
  $fontSmoothing: dartx.fontSmoothing = Symbol("dartx.fontSmoothing"),
  $fontStretch: dartx.fontStretch = Symbol("dartx.fontStretch"),
  $fontVariantLigatures: dartx.fontVariantLigatures = Symbol("dartx.fontVariantLigatures"),
  $grid: dartx.grid = Symbol("dartx.grid"),
  $gridArea: dartx.gridArea = Symbol("dartx.gridArea"),
  $gridAutoColumns: dartx.gridAutoColumns = Symbol("dartx.gridAutoColumns"),
  $gridAutoFlow: dartx.gridAutoFlow = Symbol("dartx.gridAutoFlow"),
  $gridAutoRows: dartx.gridAutoRows = Symbol("dartx.gridAutoRows"),
  $gridColumn: dartx.gridColumn = Symbol("dartx.gridColumn"),
  $gridColumnEnd: dartx.gridColumnEnd = Symbol("dartx.gridColumnEnd"),
  $gridColumnStart: dartx.gridColumnStart = Symbol("dartx.gridColumnStart"),
  $gridRow: dartx.gridRow = Symbol("dartx.gridRow"),
  $gridRowEnd: dartx.gridRowEnd = Symbol("dartx.gridRowEnd"),
  $gridRowStart: dartx.gridRowStart = Symbol("dartx.gridRowStart"),
  $gridTemplate: dartx.gridTemplate = Symbol("dartx.gridTemplate"),
  $gridTemplateAreas: dartx.gridTemplateAreas = Symbol("dartx.gridTemplateAreas"),
  $gridTemplateColumns: dartx.gridTemplateColumns = Symbol("dartx.gridTemplateColumns"),
  $gridTemplateRows: dartx.gridTemplateRows = Symbol("dartx.gridTemplateRows"),
  $highlight: dartx.highlight = Symbol("dartx.highlight"),
  $hyphenateCharacter: dartx.hyphenateCharacter = Symbol("dartx.hyphenateCharacter"),
  $imageRendering: dartx.imageRendering = Symbol("dartx.imageRendering"),
  $isolation: dartx.isolation = Symbol("dartx.isolation"),
  $justifyContent: dartx.justifyContent = Symbol("dartx.justifyContent"),
  $justifySelf: dartx.justifySelf = Symbol("dartx.justifySelf"),
  $lineBoxContain: dartx.lineBoxContain = Symbol("dartx.lineBoxContain"),
  $lineBreak: dartx.lineBreak = Symbol("dartx.lineBreak"),
  $lineClamp: dartx.lineClamp = Symbol("dartx.lineClamp"),
  $locale: dartx.locale = Symbol("dartx.locale"),
  $logicalHeight: dartx.logicalHeight = Symbol("dartx.logicalHeight"),
  $logicalWidth: dartx.logicalWidth = Symbol("dartx.logicalWidth"),
  $marginAfter: dartx.marginAfter = Symbol("dartx.marginAfter"),
  $marginAfterCollapse: dartx.marginAfterCollapse = Symbol("dartx.marginAfterCollapse"),
  $marginBefore: dartx.marginBefore = Symbol("dartx.marginBefore"),
  $marginBeforeCollapse: dartx.marginBeforeCollapse = Symbol("dartx.marginBeforeCollapse"),
  $marginBottomCollapse: dartx.marginBottomCollapse = Symbol("dartx.marginBottomCollapse"),
  $marginCollapse: dartx.marginCollapse = Symbol("dartx.marginCollapse"),
  $marginEnd: dartx.marginEnd = Symbol("dartx.marginEnd"),
  $marginStart: dartx.marginStart = Symbol("dartx.marginStart"),
  $marginTopCollapse: dartx.marginTopCollapse = Symbol("dartx.marginTopCollapse"),
  $mask: dartx.mask = Symbol("dartx.mask"),
  $maskBoxImage: dartx.maskBoxImage = Symbol("dartx.maskBoxImage"),
  $maskBoxImageOutset: dartx.maskBoxImageOutset = Symbol("dartx.maskBoxImageOutset"),
  $maskBoxImageRepeat: dartx.maskBoxImageRepeat = Symbol("dartx.maskBoxImageRepeat"),
  $maskBoxImageSlice: dartx.maskBoxImageSlice = Symbol("dartx.maskBoxImageSlice"),
  $maskBoxImageSource: dartx.maskBoxImageSource = Symbol("dartx.maskBoxImageSource"),
  $maskBoxImageWidth: dartx.maskBoxImageWidth = Symbol("dartx.maskBoxImageWidth"),
  $maskClip: dartx.maskClip = Symbol("dartx.maskClip"),
  $maskComposite: dartx.maskComposite = Symbol("dartx.maskComposite"),
  $maskImage: dartx.maskImage = Symbol("dartx.maskImage"),
  $maskOrigin: dartx.maskOrigin = Symbol("dartx.maskOrigin"),
  $maskPosition: dartx.maskPosition = Symbol("dartx.maskPosition"),
  $maskPositionX: dartx.maskPositionX = Symbol("dartx.maskPositionX"),
  $maskPositionY: dartx.maskPositionY = Symbol("dartx.maskPositionY"),
  $maskRepeat: dartx.maskRepeat = Symbol("dartx.maskRepeat"),
  $maskRepeatX: dartx.maskRepeatX = Symbol("dartx.maskRepeatX"),
  $maskRepeatY: dartx.maskRepeatY = Symbol("dartx.maskRepeatY"),
  $maskSize: dartx.maskSize = Symbol("dartx.maskSize"),
  $maskSourceType: dartx.maskSourceType = Symbol("dartx.maskSourceType"),
  $maxLogicalHeight: dartx.maxLogicalHeight = Symbol("dartx.maxLogicalHeight"),
  $maxLogicalWidth: dartx.maxLogicalWidth = Symbol("dartx.maxLogicalWidth"),
  $maxZoom: dartx.maxZoom = Symbol("dartx.maxZoom"),
  $minLogicalHeight: dartx.minLogicalHeight = Symbol("dartx.minLogicalHeight"),
  $minLogicalWidth: dartx.minLogicalWidth = Symbol("dartx.minLogicalWidth"),
  $minZoom: dartx.minZoom = Symbol("dartx.minZoom"),
  $mixBlendMode: dartx.mixBlendMode = Symbol("dartx.mixBlendMode"),
  $objectFit: dartx.objectFit = Symbol("dartx.objectFit"),
  $objectPosition: dartx.objectPosition = Symbol("dartx.objectPosition"),
  $opacity: dartx.opacity = Symbol("dartx.opacity"),
  $order: dartx.order = Symbol("dartx.order"),
  $orphans: dartx.orphans = Symbol("dartx.orphans"),
  $outlineOffset: dartx.outlineOffset = Symbol("dartx.outlineOffset"),
  $overflowWrap: dartx.overflowWrap = Symbol("dartx.overflowWrap"),
  $overflowX: dartx.overflowX = Symbol("dartx.overflowX"),
  $overflowY: dartx.overflowY = Symbol("dartx.overflowY"),
  $paddingAfter: dartx.paddingAfter = Symbol("dartx.paddingAfter"),
  $paddingBefore: dartx.paddingBefore = Symbol("dartx.paddingBefore"),
  $paddingEnd: dartx.paddingEnd = Symbol("dartx.paddingEnd"),
  $paddingStart: dartx.paddingStart = Symbol("dartx.paddingStart"),
  $page: dartx.page = Symbol("dartx.page"),
  $perspective: dartx.perspective = Symbol("dartx.perspective"),
  $perspectiveOrigin: dartx.perspectiveOrigin = Symbol("dartx.perspectiveOrigin"),
  $perspectiveOriginX: dartx.perspectiveOriginX = Symbol("dartx.perspectiveOriginX"),
  $perspectiveOriginY: dartx.perspectiveOriginY = Symbol("dartx.perspectiveOriginY"),
  $pointerEvents: dartx.pointerEvents = Symbol("dartx.pointerEvents"),
  $printColorAdjust: dartx.printColorAdjust = Symbol("dartx.printColorAdjust"),
  $resize: dartx.resize = Symbol("dartx.resize"),
  $rtlOrdering: dartx.rtlOrdering = Symbol("dartx.rtlOrdering"),
  $rubyPosition: dartx.rubyPosition = Symbol("dartx.rubyPosition"),
  $scrollBehavior: dartx.scrollBehavior = Symbol("dartx.scrollBehavior"),
  $shapeImageThreshold: dartx.shapeImageThreshold = Symbol("dartx.shapeImageThreshold"),
  $shapeMargin: dartx.shapeMargin = Symbol("dartx.shapeMargin"),
  $shapeOutside: dartx.shapeOutside = Symbol("dartx.shapeOutside"),
  $speak: dartx.speak = Symbol("dartx.speak"),
  $tabSize: dartx.tabSize = Symbol("dartx.tabSize"),
  $tapHighlightColor: dartx.tapHighlightColor = Symbol("dartx.tapHighlightColor"),
  $textAlignLast: dartx.textAlignLast = Symbol("dartx.textAlignLast"),
  $textCombine: dartx.textCombine = Symbol("dartx.textCombine"),
  $textDecorationColor: dartx.textDecorationColor = Symbol("dartx.textDecorationColor"),
  $textDecorationLine: dartx.textDecorationLine = Symbol("dartx.textDecorationLine"),
  $textDecorationStyle: dartx.textDecorationStyle = Symbol("dartx.textDecorationStyle"),
  $textDecorationsInEffect: dartx.textDecorationsInEffect = Symbol("dartx.textDecorationsInEffect"),
  $textEmphasis: dartx.textEmphasis = Symbol("dartx.textEmphasis"),
  $textEmphasisColor: dartx.textEmphasisColor = Symbol("dartx.textEmphasisColor"),
  $textEmphasisPosition: dartx.textEmphasisPosition = Symbol("dartx.textEmphasisPosition"),
  $textEmphasisStyle: dartx.textEmphasisStyle = Symbol("dartx.textEmphasisStyle"),
  $textFillColor: dartx.textFillColor = Symbol("dartx.textFillColor"),
  $textJustify: dartx.textJustify = Symbol("dartx.textJustify"),
  $textLineThroughColor: dartx.textLineThroughColor = Symbol("dartx.textLineThroughColor"),
  $textLineThroughMode: dartx.textLineThroughMode = Symbol("dartx.textLineThroughMode"),
  $textLineThroughStyle: dartx.textLineThroughStyle = Symbol("dartx.textLineThroughStyle"),
  $textLineThroughWidth: dartx.textLineThroughWidth = Symbol("dartx.textLineThroughWidth"),
  $textOrientation: dartx.textOrientation = Symbol("dartx.textOrientation"),
  $textOverflow: dartx.textOverflow = Symbol("dartx.textOverflow"),
  $textOverlineColor: dartx.textOverlineColor = Symbol("dartx.textOverlineColor"),
  $textOverlineMode: dartx.textOverlineMode = Symbol("dartx.textOverlineMode"),
  $textOverlineStyle: dartx.textOverlineStyle = Symbol("dartx.textOverlineStyle"),
  $textOverlineWidth: dartx.textOverlineWidth = Symbol("dartx.textOverlineWidth"),
  $textRendering: dartx.textRendering = Symbol("dartx.textRendering"),
  $textSecurity: dartx.textSecurity = Symbol("dartx.textSecurity"),
  $textShadow: dartx.textShadow = Symbol("dartx.textShadow"),
  $textStroke: dartx.textStroke = Symbol("dartx.textStroke"),
  $textStrokeColor: dartx.textStrokeColor = Symbol("dartx.textStrokeColor"),
  $textStrokeWidth: dartx.textStrokeWidth = Symbol("dartx.textStrokeWidth"),
  $textUnderlineColor: dartx.textUnderlineColor = Symbol("dartx.textUnderlineColor"),
  $textUnderlineMode: dartx.textUnderlineMode = Symbol("dartx.textUnderlineMode"),
  $textUnderlinePosition: dartx.textUnderlinePosition = Symbol("dartx.textUnderlinePosition"),
  $textUnderlineStyle: dartx.textUnderlineStyle = Symbol("dartx.textUnderlineStyle"),
  $textUnderlineWidth: dartx.textUnderlineWidth = Symbol("dartx.textUnderlineWidth"),
  $touchAction: dartx.touchAction = Symbol("dartx.touchAction"),
  $touchActionDelay: dartx.touchActionDelay = Symbol("dartx.touchActionDelay"),
  $transformOrigin: dartx.transformOrigin = Symbol("dartx.transformOrigin"),
  $transformOriginX: dartx.transformOriginX = Symbol("dartx.transformOriginX"),
  $transformOriginY: dartx.transformOriginY = Symbol("dartx.transformOriginY"),
  $transformOriginZ: dartx.transformOriginZ = Symbol("dartx.transformOriginZ"),
  $transformStyle: dartx.transformStyle = Symbol("dartx.transformStyle"),
  $transition: dartx.transition = Symbol("dartx.transition"),
  $transitionDelay: dartx.transitionDelay = Symbol("dartx.transitionDelay"),
  $transitionDuration: dartx.transitionDuration = Symbol("dartx.transitionDuration"),
  $transitionProperty: dartx.transitionProperty = Symbol("dartx.transitionProperty"),
  $transitionTimingFunction: dartx.transitionTimingFunction = Symbol("dartx.transitionTimingFunction"),
  $unicodeRange: dartx.unicodeRange = Symbol("dartx.unicodeRange"),
  $userDrag: dartx.userDrag = Symbol("dartx.userDrag"),
  $userModify: dartx.userModify = Symbol("dartx.userModify"),
  $userSelect: dartx.userSelect = Symbol("dartx.userSelect"),
  $userZoom: dartx.userZoom = Symbol("dartx.userZoom"),
  $widows: dartx.widows = Symbol("dartx.widows"),
  $willChange: dartx.willChange = Symbol("dartx.willChange"),
  $wordBreak: dartx.wordBreak = Symbol("dartx.wordBreak"),
  $wordWrap: dartx.wordWrap = Symbol("dartx.wordWrap"),
  $wrapFlow: dartx.wrapFlow = Symbol("dartx.wrapFlow"),
  $wrapThrough: dartx.wrapThrough = Symbol("dartx.wrapThrough"),
  $writingMode: dartx.writingMode = Symbol("dartx.writingMode"),
  $zoom: dartx.zoom = Symbol("dartx.zoom"),
  _elementCssStyleDeclarationSetIterable: dart.privateName(html$, "_elementCssStyleDeclarationSetIterable"),
  _elementIterable: dart.privateName(html$, "_elementIterable"),
  _setAll: dart.privateName(html$, "_setAll"),
  $ownerRule: dartx.ownerRule = Symbol("dartx.ownerRule"),
  $rules: dartx.rules = Symbol("dartx.rules"),
  $addRule: dartx.addRule = Symbol("dartx.addRule"),
  $removeRule: dartx.removeRule = Symbol("dartx.removeRule"),
  $ownerNode: dartx.ownerNode = Symbol("dartx.ownerNode"),
  $componentAtIndex: dartx.componentAtIndex = Symbol("dartx.componentAtIndex"),
  $toMatrix: dartx.toMatrix = Symbol("dartx.toMatrix"),
  $unit: dartx.unit = Symbol("dartx.unit"),
  $fragmentAtIndex: dartx.fragmentAtIndex = Symbol("dartx.fragmentAtIndex"),
  $fallback: dartx.fallback = Symbol("dartx.fallback"),
  $variable: dartx.variable = Symbol("dartx.variable"),
  _define_1: dart.privateName(html$, "_define_1"),
  _define_2: dart.privateName(html$, "_define_2"),
  $define: dartx.define = Symbol("dartx.define"),
  $whenDefined: dartx.whenDefined = Symbol("dartx.whenDefined"),
  _dartDetail: dart.privateName(html$, "_dartDetail"),
  _initCustomEvent: dart.privateName(html$, "_initCustomEvent"),
  _detail: dart.privateName(html$, "_detail"),
  _get__detail: dart.privateName(html$, "_get__detail"),
  $options: dartx.options = Symbol("dartx.options"),
  $dropEffect: dartx.dropEffect = Symbol("dartx.dropEffect"),
  $effectAllowed: dartx.effectAllowed = Symbol("dartx.effectAllowed"),
  $files: dartx.files = Symbol("dartx.files"),
  $items: dartx.items = Symbol("dartx.items"),
  $types: dartx.types = Symbol("dartx.types"),
  $clearData: dartx.clearData = Symbol("dartx.clearData"),
  $getData: dartx.getData = Symbol("dartx.getData"),
  $setData: dartx.setData = Symbol("dartx.setData"),
  $setDragImage: dartx.setDragImage = Symbol("dartx.setDragImage"),
  _webkitGetAsEntry: dart.privateName(html$, "_webkitGetAsEntry"),
  $getAsEntry: dartx.getAsEntry = Symbol("dartx.getAsEntry"),
  $getAsFile: dartx.getAsFile = Symbol("dartx.getAsFile"),
  $addData: dartx.addData = Symbol("dartx.addData"),
  $addFile: dartx.addFile = Symbol("dartx.addFile"),
  _postMessage_1: dart.privateName(html$, "_postMessage_1"),
  _postMessage_2: dart.privateName(html$, "_postMessage_2"),
  _webkitRequestFileSystem: dart.privateName(html$, "_webkitRequestFileSystem"),
  $requestFileSystemSync: dartx.requestFileSystemSync = Symbol("dartx.requestFileSystemSync"),
  $resolveLocalFileSystemSyncUrl: dartx.resolveLocalFileSystemSyncUrl = Symbol("dartx.resolveLocalFileSystemSyncUrl"),
  _webkitResolveLocalFileSystemUrl: dart.privateName(html$, "_webkitResolveLocalFileSystemUrl"),
  $addressSpace: dartx.addressSpace = Symbol("dartx.addressSpace"),
  $caches: dartx.caches = Symbol("dartx.caches"),
  $crypto: dartx.crypto = Symbol("dartx.crypto"),
  $indexedDB: dartx.indexedDB = Symbol("dartx.indexedDB"),
  $isSecureContext: dartx.isSecureContext = Symbol("dartx.isSecureContext"),
  $location: dartx.location = Symbol("dartx.location"),
  $navigator: dartx.navigator = Symbol("dartx.navigator"),
  $performance: dartx.performance = Symbol("dartx.performance"),
  $self: dartx.self = Symbol("dartx.self"),
  $importScripts: dartx.importScripts = Symbol("dartx.importScripts"),
  $atob: dartx.atob = Symbol("dartx.atob"),
  $btoa: dartx.btoa = Symbol("dartx.btoa"),
  _setInterval_String: dart.privateName(html$, "_setInterval_String"),
  _setTimeout_String: dart.privateName(html$, "_setTimeout_String"),
  _clearInterval: dart.privateName(html$, "_clearInterval"),
  _clearTimeout: dart.privateName(html$, "_clearTimeout"),
  _setInterval: dart.privateName(html$, "_setInterval"),
  _setTimeout: dart.privateName(html$, "_setTimeout"),
  $queryUsageAndQuota: dartx.queryUsageAndQuota = Symbol("dartx.queryUsageAndQuota"),
  $requestQuota: dartx.requestQuota = Symbol("dartx.requestQuota"),
  $lineNumber: dartx.lineNumber = Symbol("dartx.lineNumber"),
  $sourceFile: dartx.sourceFile = Symbol("dartx.sourceFile"),
  $cornerPoints: dartx.cornerPoints = Symbol("dartx.cornerPoints"),
  $rawValue: dartx.rawValue = Symbol("dartx.rawValue"),
  $landmarks: dartx.landmarks = Symbol("dartx.landmarks"),
  $acceleration: dartx.acceleration = Symbol("dartx.acceleration"),
  $accelerationIncludingGravity: dartx.accelerationIncludingGravity = Symbol("dartx.accelerationIncludingGravity"),
  $interval: dartx.interval = Symbol("dartx.interval"),
  $rotationRate: dartx.rotationRate = Symbol("dartx.rotationRate"),
  $absolute: dartx.absolute = Symbol("dartx.absolute"),
  $alpha: dartx.alpha = Symbol("dartx.alpha"),
  $beta: dartx.beta = Symbol("dartx.beta"),
  $gamma: dartx.gamma = Symbol("dartx.gamma"),
  $show: dartx.show = Symbol("dartx.show"),
  $showModal: dartx.showModal = Symbol("dartx.showModal"),
  _getDirectory: dart.privateName(html$, "_getDirectory"),
  $createDirectory: dartx.createDirectory = Symbol("dartx.createDirectory"),
  _createReader: dart.privateName(html$, "_createReader"),
  $createReader: dartx.createReader = Symbol("dartx.createReader"),
  $getDirectory: dartx.getDirectory = Symbol("dartx.getDirectory"),
  _getFile: dart.privateName(html$, "_getFile"),
  $createFile: dartx.createFile = Symbol("dartx.createFile"),
  $getFile: dartx.getFile = Symbol("dartx.getFile"),
  __getDirectory_1: dart.privateName(html$, "__getDirectory_1"),
  __getDirectory_2: dart.privateName(html$, "__getDirectory_2"),
  __getDirectory_3: dart.privateName(html$, "__getDirectory_3"),
  __getDirectory_4: dart.privateName(html$, "__getDirectory_4"),
  __getDirectory: dart.privateName(html$, "__getDirectory"),
  __getFile_1: dart.privateName(html$, "__getFile_1"),
  __getFile_2: dart.privateName(html$, "__getFile_2"),
  __getFile_3: dart.privateName(html$, "__getFile_3"),
  __getFile_4: dart.privateName(html$, "__getFile_4"),
  __getFile: dart.privateName(html$, "__getFile"),
  _removeRecursively: dart.privateName(html$, "_removeRecursively"),
  $removeRecursively: dartx.removeRecursively = Symbol("dartx.removeRecursively"),
  $filesystem: dartx.filesystem = Symbol("dartx.filesystem"),
  $fullPath: dartx.fullPath = Symbol("dartx.fullPath"),
  $isDirectory: dartx.isDirectory = Symbol("dartx.isDirectory"),
  $isFile: dartx.isFile = Symbol("dartx.isFile"),
  _copyTo: dart.privateName(html$, "_copyTo"),
  $copyTo: dartx.copyTo = Symbol("dartx.copyTo"),
  _getMetadata: dart.privateName(html$, "_getMetadata"),
  $getMetadata: dartx.getMetadata = Symbol("dartx.getMetadata"),
  _getParent: dart.privateName(html$, "_getParent"),
  $getParent: dartx.getParent = Symbol("dartx.getParent"),
  _moveTo: dart.privateName(html$, "_moveTo"),
  _remove$1: dart.privateName(html$, "_remove"),
  $toUrl: dartx.toUrl = Symbol("dartx.toUrl"),
  _readEntries: dart.privateName(html$, "_readEntries"),
  $readEntries: dartx.readEntries = Symbol("dartx.readEntries"),
  _body: dart.privateName(html$, "_body"),
  $contentType: dartx.contentType = Symbol("dartx.contentType"),
  $cookie: dartx.cookie = Symbol("dartx.cookie"),
  $currentScript: dartx.currentScript = Symbol("dartx.currentScript"),
  _get_window: dart.privateName(html$, "_get_window"),
  $window: dartx.window = Symbol("dartx.window"),
  $documentElement: dartx.documentElement = Symbol("dartx.documentElement"),
  $domain: dartx.domain = Symbol("dartx.domain"),
  $fullscreenEnabled: dartx.fullscreenEnabled = Symbol("dartx.fullscreenEnabled"),
  _head$1: dart.privateName(html$, "_head"),
  $implementation: dartx.implementation = Symbol("dartx.implementation")
};
var S$1 = {
  _lastModified: dart.privateName(html$, "_lastModified"),
  _preferredStylesheetSet: dart.privateName(html$, "_preferredStylesheetSet"),
  _referrer: dart.privateName(html$, "_referrer"),
  $rootElement: dartx.rootElement = Symbol("dartx.rootElement"),
  $rootScroller: dartx.rootScroller = Symbol("dartx.rootScroller"),
  $scrollingElement: dartx.scrollingElement = Symbol("dartx.scrollingElement"),
  _selectedStylesheetSet: dart.privateName(html$, "_selectedStylesheetSet"),
  $suborigin: dartx.suborigin = Symbol("dartx.suborigin"),
  _title: dart.privateName(html$, "_title"),
  _visibilityState: dart.privateName(html$, "_visibilityState"),
  _webkitFullscreenElement: dart.privateName(html$, "_webkitFullscreenElement"),
  _webkitFullscreenEnabled: dart.privateName(html$, "_webkitFullscreenEnabled"),
  _webkitHidden: dart.privateName(html$, "_webkitHidden"),
  _webkitVisibilityState: dart.privateName(html$, "_webkitVisibilityState"),
  $adoptNode: dartx.adoptNode = Symbol("dartx.adoptNode"),
  _caretRangeFromPoint: dart.privateName(html$, "_caretRangeFromPoint"),
  $createDocumentFragment: dartx.createDocumentFragment = Symbol("dartx.createDocumentFragment"),
  _createElement: dart.privateName(html$, "_createElement"),
  _createElementNS: dart.privateName(html$, "_createElementNS"),
  $createRange: dartx.createRange = Symbol("dartx.createRange"),
  _createTextNode: dart.privateName(html$, "_createTextNode"),
  _createTouch_1: dart.privateName(html$, "_createTouch_1"),
  _createTouch_2: dart.privateName(html$, "_createTouch_2"),
  _createTouch_3: dart.privateName(html$, "_createTouch_3"),
  _createTouch_4: dart.privateName(html$, "_createTouch_4"),
  _createTouch_5: dart.privateName(html$, "_createTouch_5"),
  _createTouch: dart.privateName(html$, "_createTouch"),
  _createTouchList: dart.privateName(html$, "_createTouchList"),
  $execCommand: dartx.execCommand = Symbol("dartx.execCommand"),
  $exitFullscreen: dartx.exitFullscreen = Symbol("dartx.exitFullscreen"),
  $exitPointerLock: dartx.exitPointerLock = Symbol("dartx.exitPointerLock"),
  $getElementsByName: dartx.getElementsByName = Symbol("dartx.getElementsByName"),
  $getElementsByTagName: dartx.getElementsByTagName = Symbol("dartx.getElementsByTagName"),
  $importNode: dartx.importNode = Symbol("dartx.importNode"),
  $queryCommandEnabled: dartx.queryCommandEnabled = Symbol("dartx.queryCommandEnabled"),
  $queryCommandIndeterm: dartx.queryCommandIndeterm = Symbol("dartx.queryCommandIndeterm"),
  $queryCommandState: dartx.queryCommandState = Symbol("dartx.queryCommandState"),
  $queryCommandSupported: dartx.queryCommandSupported = Symbol("dartx.queryCommandSupported"),
  $queryCommandValue: dartx.queryCommandValue = Symbol("dartx.queryCommandValue"),
  _registerElement2_1: dart.privateName(html$, "_registerElement2_1"),
  _registerElement2_2: dart.privateName(html$, "_registerElement2_2"),
  $registerElement2: dartx.registerElement2 = Symbol("dartx.registerElement2"),
  _webkitExitFullscreen: dart.privateName(html$, "_webkitExitFullscreen"),
  $getElementById: dartx.getElementById = Symbol("dartx.getElementById"),
  $activeElement: dartx.activeElement = Symbol("dartx.activeElement"),
  $fullscreenElement: dartx.fullscreenElement = Symbol("dartx.fullscreenElement"),
  $pointerLockElement: dartx.pointerLockElement = Symbol("dartx.pointerLockElement"),
  _styleSheets: dart.privateName(html$, "_styleSheets"),
  _elementFromPoint: dart.privateName(html$, "_elementFromPoint"),
  $elementsFromPoint: dartx.elementsFromPoint = Symbol("dartx.elementsFromPoint"),
  $fonts: dartx.fonts = Symbol("dartx.fonts"),
  $onPointerLockChange: dartx.onPointerLockChange = Symbol("dartx.onPointerLockChange"),
  $onPointerLockError: dartx.onPointerLockError = Symbol("dartx.onPointerLockError"),
  $onReadyStateChange: dartx.onReadyStateChange = Symbol("dartx.onReadyStateChange"),
  $onSecurityPolicyViolation: dartx.onSecurityPolicyViolation = Symbol("dartx.onSecurityPolicyViolation"),
  $onSelectionChange: dartx.onSelectionChange = Symbol("dartx.onSelectionChange"),
  $supportsRegisterElement: dartx.supportsRegisterElement = Symbol("dartx.supportsRegisterElement"),
  $supportsRegister: dartx.supportsRegister = Symbol("dartx.supportsRegister"),
  $registerElement: dartx.registerElement = Symbol("dartx.registerElement"),
  _createElement_2: dart.privateName(html$, "_createElement_2"),
  _createElementNS_2: dart.privateName(html$, "_createElementNS_2"),
  $createElementNS: dartx.createElementNS = Symbol("dartx.createElementNS"),
  _createNodeIterator: dart.privateName(html$, "_createNodeIterator"),
  _createTreeWalker: dart.privateName(html$, "_createTreeWalker"),
  $visibilityState: dartx.visibilityState = Symbol("dartx.visibilityState"),
  _docChildren: dart.privateName(html$, "_docChildren"),
  $styleSheets: dartx.styleSheets = Symbol("dartx.styleSheets"),
  $elementFromPoint: dartx.elementFromPoint = Symbol("dartx.elementFromPoint"),
  $getSelection: dartx.getSelection = Symbol("dartx.getSelection"),
  $createDocument: dartx.createDocument = Symbol("dartx.createDocument"),
  $createDocumentType: dartx.createDocumentType = Symbol("dartx.createDocumentType"),
  $hasFeature: dartx.hasFeature = Symbol("dartx.hasFeature"),
  $a: dartx.a = Symbol("dartx.a"),
  $b: dartx.b = Symbol("dartx.b"),
  $c: dartx.c = Symbol("dartx.c"),
  $d: dartx.d = Symbol("dartx.d"),
  $e: dartx.e = Symbol("dartx.e"),
  $f: dartx.f = Symbol("dartx.f"),
  $m11: dartx.m11 = Symbol("dartx.m11"),
  $m12: dartx.m12 = Symbol("dartx.m12"),
  $m13: dartx.m13 = Symbol("dartx.m13"),
  $m14: dartx.m14 = Symbol("dartx.m14"),
  $m21: dartx.m21 = Symbol("dartx.m21"),
  $m22: dartx.m22 = Symbol("dartx.m22"),
  $m23: dartx.m23 = Symbol("dartx.m23"),
  $m24: dartx.m24 = Symbol("dartx.m24"),
  $m31: dartx.m31 = Symbol("dartx.m31"),
  $m32: dartx.m32 = Symbol("dartx.m32"),
  $m33: dartx.m33 = Symbol("dartx.m33"),
  $m34: dartx.m34 = Symbol("dartx.m34"),
  $m41: dartx.m41 = Symbol("dartx.m41"),
  $m42: dartx.m42 = Symbol("dartx.m42"),
  $m43: dartx.m43 = Symbol("dartx.m43"),
  $m44: dartx.m44 = Symbol("dartx.m44"),
  $invertSelf: dartx.invertSelf = Symbol("dartx.invertSelf"),
  _multiplySelf_1: dart.privateName(html$, "_multiplySelf_1"),
  _multiplySelf_2: dart.privateName(html$, "_multiplySelf_2"),
  $multiplySelf: dartx.multiplySelf = Symbol("dartx.multiplySelf"),
  _preMultiplySelf_1: dart.privateName(html$, "_preMultiplySelf_1"),
  _preMultiplySelf_2: dart.privateName(html$, "_preMultiplySelf_2"),
  $preMultiplySelf: dartx.preMultiplySelf = Symbol("dartx.preMultiplySelf"),
  $rotateAxisAngleSelf: dartx.rotateAxisAngleSelf = Symbol("dartx.rotateAxisAngleSelf"),
  $rotateFromVectorSelf: dartx.rotateFromVectorSelf = Symbol("dartx.rotateFromVectorSelf"),
  $rotateSelf: dartx.rotateSelf = Symbol("dartx.rotateSelf"),
  $scale3dSelf: dartx.scale3dSelf = Symbol("dartx.scale3dSelf"),
  $scaleSelf: dartx.scaleSelf = Symbol("dartx.scaleSelf"),
  $setMatrixValue: dartx.setMatrixValue = Symbol("dartx.setMatrixValue"),
  $skewXSelf: dartx.skewXSelf = Symbol("dartx.skewXSelf"),
  $skewYSelf: dartx.skewYSelf = Symbol("dartx.skewYSelf"),
  $translateSelf: dartx.translateSelf = Symbol("dartx.translateSelf"),
  $isIdentity: dartx.isIdentity = Symbol("dartx.isIdentity"),
  $flipX: dartx.flipX = Symbol("dartx.flipX"),
  $flipY: dartx.flipY = Symbol("dartx.flipY"),
  $inverse: dartx.inverse = Symbol("dartx.inverse"),
  _multiply_1: dart.privateName(html$, "_multiply_1"),
  _multiply_2: dart.privateName(html$, "_multiply_2"),
  $multiply: dartx.multiply = Symbol("dartx.multiply"),
  $rotateAxisAngle: dartx.rotateAxisAngle = Symbol("dartx.rotateAxisAngle"),
  $rotateFromVector: dartx.rotateFromVector = Symbol("dartx.rotateFromVector"),
  $scale3d: dartx.scale3d = Symbol("dartx.scale3d"),
  $skewX: dartx.skewX = Symbol("dartx.skewX"),
  $skewY: dartx.skewY = Symbol("dartx.skewY"),
  $toFloat32Array: dartx.toFloat32Array = Symbol("dartx.toFloat32Array"),
  $toFloat64Array: dartx.toFloat64Array = Symbol("dartx.toFloat64Array"),
  _transformPoint_1: dart.privateName(html$, "_transformPoint_1"),
  _transformPoint_2: dart.privateName(html$, "_transformPoint_2"),
  $transformPoint: dartx.transformPoint = Symbol("dartx.transformPoint"),
  $parseFromString: dartx.parseFromString = Symbol("dartx.parseFromString"),
  $w: dartx.w = Symbol("dartx.w"),
  _matrixTransform_1: dart.privateName(html$, "_matrixTransform_1"),
  _matrixTransform_2: dart.privateName(html$, "_matrixTransform_2"),
  $matrixTransform: dartx.matrixTransform = Symbol("dartx.matrixTransform"),
  $p1: dartx.p1 = Symbol("dartx.p1"),
  $p2: dartx.p2 = Symbol("dartx.p2"),
  $p3: dartx.p3 = Symbol("dartx.p3"),
  $p4: dartx.p4 = Symbol("dartx.p4"),
  $getBounds: dartx.getBounds = Symbol("dartx.getBounds"),
  __delete__: dart.privateName(html$, "__delete__"),
  $replace: dartx.replace = Symbol("dartx.replace"),
  $supports: dartx.supports = Symbol("dartx.supports"),
  $toggle: dartx.toggle = Symbol("dartx.toggle"),
  _childElements: dart.privateName(html$, "_childElements"),
  _element$2: dart.privateName(html$, "_element"),
  _filter$2: dart.privateName(html$, "_filter"),
  _nodeList: dart.privateName(html$, "_nodeList"),
  _forElementList: dart.privateName(html$, "_forElementList"),
  _value$6: dart.privateName(html$, "ScrollAlignment._value"),
  _value$7: dart.privateName(html$, "_value"),
  $colno: dartx.colno = Symbol("dartx.colno"),
  $filename: dartx.filename = Symbol("dartx.filename"),
  $lineno: dartx.lineno = Symbol("dartx.lineno"),
  $withCredentials: dartx.withCredentials = Symbol("dartx.withCredentials"),
  $onOpen: dartx.onOpen = Symbol("dartx.onOpen"),
  _ptr: dart.privateName(html$, "_ptr"),
  $lastEventId: dartx.lastEventId = Symbol("dartx.lastEventId"),
  $ports: dartx.ports = Symbol("dartx.ports"),
  $AddSearchProvider: dartx.AddSearchProvider = Symbol("dartx.AddSearchProvider"),
  $IsSearchProviderInstalled: dartx.IsSearchProviderInstalled = Symbol("dartx.IsSearchProviderInstalled"),
  $provider: dartx.provider = Symbol("dartx.provider"),
  $clientId: dartx.clientId = Symbol("dartx.clientId"),
  $isReload: dartx.isReload = Symbol("dartx.isReload"),
  $preloadResponse: dartx.preloadResponse = Symbol("dartx.preloadResponse"),
  $elements: dartx.elements = Symbol("dartx.elements"),
  $lastModified: dartx.lastModified = Symbol("dartx.lastModified"),
  _get_lastModifiedDate: dart.privateName(html$, "_get_lastModifiedDate"),
  $lastModifiedDate: dartx.lastModifiedDate = Symbol("dartx.lastModifiedDate"),
  $relativePath: dartx.relativePath = Symbol("dartx.relativePath"),
  _createWriter: dart.privateName(html$, "_createWriter"),
  $createWriter: dartx.createWriter = Symbol("dartx.createWriter"),
  _file$1: dart.privateName(html$, "_file"),
  $file: dartx.file = Symbol("dartx.file"),
  $readAsArrayBuffer: dartx.readAsArrayBuffer = Symbol("dartx.readAsArrayBuffer"),
  $readAsDataUrl: dartx.readAsDataUrl = Symbol("dartx.readAsDataUrl"),
  $readAsText: dartx.readAsText = Symbol("dartx.readAsText"),
  $onLoadEnd: dartx.onLoadEnd = Symbol("dartx.onLoadEnd"),
  $onLoadStart: dartx.onLoadStart = Symbol("dartx.onLoadStart"),
  $root: dartx.root = Symbol("dartx.root"),
  $seek: dartx.seek = Symbol("dartx.seek"),
  $write: dartx.write = Symbol("dartx.write"),
  $onWrite: dartx.onWrite = Symbol("dartx.onWrite"),
  $onWriteEnd: dartx.onWriteEnd = Symbol("dartx.onWriteEnd"),
  $onWriteStart: dartx.onWriteStart = Symbol("dartx.onWriteStart"),
  _get_relatedTarget: dart.privateName(html$, "_get_relatedTarget"),
  $relatedTarget: dartx.relatedTarget = Symbol("dartx.relatedTarget"),
  $family: dartx.family = Symbol("dartx.family"),
  $featureSettings: dartx.featureSettings = Symbol("dartx.featureSettings"),
  $loaded: dartx.loaded = Symbol("dartx.loaded"),
  $stretch: dartx.stretch = Symbol("dartx.stretch"),
  $variant: dartx.variant = Symbol("dartx.variant"),
  $weight: dartx.weight = Symbol("dartx.weight"),
  $check: dartx.check = Symbol("dartx.check"),
  $onLoading: dartx.onLoading = Symbol("dartx.onLoading"),
  $onLoadingDone: dartx.onLoadingDone = Symbol("dartx.onLoadingDone"),
  $onLoadingError: dartx.onLoadingError = Symbol("dartx.onLoadingError"),
  $fontfaces: dartx.fontfaces = Symbol("dartx.fontfaces"),
  $appendBlob: dartx.appendBlob = Symbol("dartx.appendBlob"),
  $acceptCharset: dartx.acceptCharset = Symbol("dartx.acceptCharset"),
  $action: dartx.action = Symbol("dartx.action"),
  $enctype: dartx.enctype = Symbol("dartx.enctype"),
  $method: dartx.method = Symbol("dartx.method"),
  $noValidate: dartx.noValidate = Symbol("dartx.noValidate"),
  _requestAutocomplete_1: dart.privateName(html$, "_requestAutocomplete_1"),
  $requestAutocomplete: dartx.requestAutocomplete = Symbol("dartx.requestAutocomplete"),
  $reset: dartx.reset = Symbol("dartx.reset"),
  $submit: dartx.submit = Symbol("dartx.submit"),
  $axes: dartx.axes = Symbol("dartx.axes"),
  $buttons: dartx.buttons = Symbol("dartx.buttons"),
  $connected: dartx.connected = Symbol("dartx.connected"),
  $displayId: dartx.displayId = Symbol("dartx.displayId"),
  $hand: dartx.hand = Symbol("dartx.hand"),
  $mapping: dartx.mapping = Symbol("dartx.mapping"),
  $pose: dartx.pose = Symbol("dartx.pose"),
  $touched: dartx.touched = Symbol("dartx.touched"),
  $gamepad: dartx.gamepad = Symbol("dartx.gamepad"),
  $angularAcceleration: dartx.angularAcceleration = Symbol("dartx.angularAcceleration"),
  $angularVelocity: dartx.angularVelocity = Symbol("dartx.angularVelocity"),
  $hasOrientation: dartx.hasOrientation = Symbol("dartx.hasOrientation"),
  $hasPosition: dartx.hasPosition = Symbol("dartx.hasPosition"),
  $linearAcceleration: dartx.linearAcceleration = Symbol("dartx.linearAcceleration"),
  $linearVelocity: dartx.linearVelocity = Symbol("dartx.linearVelocity"),
  _ensurePosition: dart.privateName(html$, "_ensurePosition"),
  _getCurrentPosition: dart.privateName(html$, "_getCurrentPosition"),
  $getCurrentPosition: dartx.getCurrentPosition = Symbol("dartx.getCurrentPosition"),
  _clearWatch: dart.privateName(html$, "_clearWatch"),
  _watchPosition: dart.privateName(html$, "_watchPosition"),
  $watchPosition: dartx.watchPosition = Symbol("dartx.watchPosition"),
  _getCurrentPosition_1: dart.privateName(html$, "_getCurrentPosition_1"),
  _getCurrentPosition_2: dart.privateName(html$, "_getCurrentPosition_2"),
  _getCurrentPosition_3: dart.privateName(html$, "_getCurrentPosition_3"),
  _watchPosition_1: dart.privateName(html$, "_watchPosition_1"),
  _watchPosition_2: dart.privateName(html$, "_watchPosition_2"),
  _watchPosition_3: dart.privateName(html$, "_watchPosition_3"),
  $newUrl: dartx.newUrl = Symbol("dartx.newUrl"),
  $oldUrl: dartx.oldUrl = Symbol("dartx.oldUrl"),
  $scrollRestoration: dartx.scrollRestoration = Symbol("dartx.scrollRestoration"),
  _get_state: dart.privateName(html$, "_get_state"),
  $back: dartx.back = Symbol("dartx.back"),
  $forward: dartx.forward = Symbol("dartx.forward"),
  $go: dartx.go = Symbol("dartx.go"),
  _pushState_1: dart.privateName(html$, "_pushState_1"),
  $pushState: dartx.pushState = Symbol("dartx.pushState"),
  _replaceState_1: dart.privateName(html$, "_replaceState_1"),
  $replaceState: dartx.replaceState = Symbol("dartx.replaceState"),
  $namedItem: dartx.namedItem = Symbol("dartx.namedItem"),
  $body: dartx.body = Symbol("dartx.body"),
  $caretRangeFromPoint: dartx.caretRangeFromPoint = Symbol("dartx.caretRangeFromPoint"),
  $preferredStylesheetSet: dartx.preferredStylesheetSet = Symbol("dartx.preferredStylesheetSet"),
  $referrer: dartx.referrer = Symbol("dartx.referrer"),
  $selectedStylesheetSet: dartx.selectedStylesheetSet = Symbol("dartx.selectedStylesheetSet"),
  $register: dartx.register = Symbol("dartx.register"),
  $onVisibilityChange: dartx.onVisibilityChange = Symbol("dartx.onVisibilityChange"),
  $createElementUpgrader: dartx.createElementUpgrader = Symbol("dartx.createElementUpgrader"),
  _item: dart.privateName(html$, "_item"),
  $responseHeaders: dartx.responseHeaders = Symbol("dartx.responseHeaders"),
  _get_response: dart.privateName(html$, "_get_response"),
  $responseText: dartx.responseText = Symbol("dartx.responseText"),
  $responseType: dartx.responseType = Symbol("dartx.responseType"),
  $responseUrl: dartx.responseUrl = Symbol("dartx.responseUrl"),
  $responseXml: dartx.responseXml = Symbol("dartx.responseXml"),
  $statusText: dartx.statusText = Symbol("dartx.statusText"),
  $timeout: dartx.timeout = Symbol("dartx.timeout"),
  $upload: dartx.upload = Symbol("dartx.upload"),
  $getAllResponseHeaders: dartx.getAllResponseHeaders = Symbol("dartx.getAllResponseHeaders"),
  $getResponseHeader: dartx.getResponseHeader = Symbol("dartx.getResponseHeader"),
  $overrideMimeType: dartx.overrideMimeType = Symbol("dartx.overrideMimeType"),
  $send: dartx.send = Symbol("dartx.send"),
  $setRequestHeader: dartx.setRequestHeader = Symbol("dartx.setRequestHeader"),
  $onTimeout: dartx.onTimeout = Symbol("dartx.onTimeout"),
  $allow: dartx.allow = Symbol("dartx.allow"),
  $allowFullscreen: dartx.allowFullscreen = Symbol("dartx.allowFullscreen"),
  $allowPaymentRequest: dartx.allowPaymentRequest = Symbol("dartx.allowPaymentRequest"),
  _get_contentWindow: dart.privateName(html$, "_get_contentWindow"),
  $contentWindow: dartx.contentWindow = Symbol("dartx.contentWindow"),
  $csp: dartx.csp = Symbol("dartx.csp"),
  $sandbox: dartx.sandbox = Symbol("dartx.sandbox"),
  $srcdoc: dartx.srcdoc = Symbol("dartx.srcdoc"),
  $didTimeout: dartx.didTimeout = Symbol("dartx.didTimeout"),
  $timeRemaining: dartx.timeRemaining = Symbol("dartx.timeRemaining"),
  $transferFromImageBitmap: dartx.transferFromImageBitmap = Symbol("dartx.transferFromImageBitmap"),
  $track: dartx.track = Symbol("dartx.track"),
  $getPhotoCapabilities: dartx.getPhotoCapabilities = Symbol("dartx.getPhotoCapabilities"),
  $getPhotoSettings: dartx.getPhotoSettings = Symbol("dartx.getPhotoSettings"),
  $grabFrame: dartx.grabFrame = Symbol("dartx.grabFrame"),
  $setOptions: dartx.setOptions = Symbol("dartx.setOptions"),
  $takePhoto: dartx.takePhoto = Symbol("dartx.takePhoto"),
  $async: dartx.async = Symbol("dartx.async"),
  $complete: dartx.complete = Symbol("dartx.complete"),
  $isMap: dartx.isMap = Symbol("dartx.isMap"),
  $naturalHeight: dartx.naturalHeight = Symbol("dartx.naturalHeight"),
  $naturalWidth: dartx.naturalWidth = Symbol("dartx.naturalWidth"),
  $sizes: dartx.sizes = Symbol("dartx.sizes"),
  $srcset: dartx.srcset = Symbol("dartx.srcset"),
  $useMap: dartx.useMap = Symbol("dartx.useMap"),
  $decode: dartx.decode = Symbol("dartx.decode"),
  $firesTouchEvents: dartx.firesTouchEvents = Symbol("dartx.firesTouchEvents"),
  $accept: dartx.accept = Symbol("dartx.accept"),
  $autocapitalize: dartx.autocapitalize = Symbol("dartx.autocapitalize"),
  $capture: dartx.capture = Symbol("dartx.capture"),
  $defaultChecked: dartx.defaultChecked = Symbol("dartx.defaultChecked"),
  $defaultValue: dartx.defaultValue = Symbol("dartx.defaultValue"),
  $dirName: dartx.dirName = Symbol("dartx.dirName"),
  $incremental: dartx.incremental = Symbol("dartx.incremental"),
  $indeterminate: dartx.indeterminate = Symbol("dartx.indeterminate"),
  $list: dartx.list = Symbol("dartx.list"),
  $max: dartx.max = Symbol("dartx.max"),
  $maxLength: dartx.maxLength = Symbol("dartx.maxLength"),
  $min: dartx.min = Symbol("dartx.min"),
  $minLength: dartx.minLength = Symbol("dartx.minLength"),
  $multiple: dartx.multiple = Symbol("dartx.multiple"),
  $pattern: dartx.pattern = Symbol("dartx.pattern"),
  $selectionDirection: dartx.selectionDirection = Symbol("dartx.selectionDirection"),
  $selectionEnd: dartx.selectionEnd = Symbol("dartx.selectionEnd"),
  $selectionStart: dartx.selectionStart = Symbol("dartx.selectionStart"),
  $step: dartx.step = Symbol("dartx.step"),
  _get_valueAsDate: dart.privateName(html$, "_get_valueAsDate"),
  $valueAsDate: dartx.valueAsDate = Symbol("dartx.valueAsDate"),
  _set_valueAsDate: dart.privateName(html$, "_set_valueAsDate"),
  $valueAsNumber: dartx.valueAsNumber = Symbol("dartx.valueAsNumber"),
  $directory: dartx.directory = Symbol("dartx.directory"),
  $setRangeText: dartx.setRangeText = Symbol("dartx.setRangeText"),
  $setSelectionRange: dartx.setSelectionRange = Symbol("dartx.setSelectionRange"),
  $stepDown: dartx.stepDown = Symbol("dartx.stepDown"),
  $stepUp: dartx.stepUp = Symbol("dartx.stepUp"),
  files: dart.privateName(html$, "FileUploadInputElement.files"),
  _registerForeignFetch_1: dart.privateName(html$, "_registerForeignFetch_1"),
  $registerForeignFetch: dartx.registerForeignFetch = Symbol("dartx.registerForeignFetch"),
  $rootMargin: dartx.rootMargin = Symbol("dartx.rootMargin"),
  $thresholds: dartx.thresholds = Symbol("dartx.thresholds"),
  $disconnect: dartx.disconnect = Symbol("dartx.disconnect"),
  $takeRecords: dartx.takeRecords = Symbol("dartx.takeRecords"),
  $boundingClientRect: dartx.boundingClientRect = Symbol("dartx.boundingClientRect"),
  $intersectionRatio: dartx.intersectionRatio = Symbol("dartx.intersectionRatio"),
  $intersectionRect: dartx.intersectionRect = Symbol("dartx.intersectionRect"),
  $isIntersecting: dartx.isIntersecting = Symbol("dartx.isIntersecting"),
  $rootBounds: dartx.rootBounds = Symbol("dartx.rootBounds"),
  _initKeyboardEvent: dart.privateName(html$, "_initKeyboardEvent"),
  $keyCode: dartx.keyCode = Symbol("dartx.keyCode"),
  $charCode: dartx.charCode = Symbol("dartx.charCode"),
  $which: dartx.which = Symbol("dartx.which"),
  $altKey: dartx.altKey = Symbol("dartx.altKey"),
  _charCode: dart.privateName(html$, "_charCode"),
  $ctrlKey: dartx.ctrlKey = Symbol("dartx.ctrlKey"),
  $isComposing: dartx.isComposing = Symbol("dartx.isComposing"),
  _keyCode: dart.privateName(html$, "_keyCode"),
  $metaKey: dartx.metaKey = Symbol("dartx.metaKey"),
  $repeat: dartx.repeat = Symbol("dartx.repeat"),
  $shiftKey: dartx.shiftKey = Symbol("dartx.shiftKey"),
  $getModifierState: dartx.getModifierState = Symbol("dartx.getModifierState"),
  $control: dartx.control = Symbol("dartx.control"),
  $htmlFor: dartx.htmlFor = Symbol("dartx.htmlFor"),
  $as: dartx.as = Symbol("dartx.as"),
  $import: dartx.import = Symbol("dartx.import"),
  $integrity: dartx.integrity = Symbol("dartx.integrity"),
  $relList: dartx.relList = Symbol("dartx.relList"),
  $scope: dartx.scope = Symbol("dartx.scope"),
  $sheet: dartx.sheet = Symbol("dartx.sheet"),
  $supportsImport: dartx.supportsImport = Symbol("dartx.supportsImport"),
  $ancestorOrigins: dartx.ancestorOrigins = Symbol("dartx.ancestorOrigins"),
  $trustedHref: dartx.trustedHref = Symbol("dartx.trustedHref"),
  $assign: dartx.assign = Symbol("dartx.assign"),
  $reload: dartx.reload = Symbol("dartx.reload"),
  $areas: dartx.areas = Symbol("dartx.areas"),
  $decodingInfo: dartx.decodingInfo = Symbol("dartx.decodingInfo"),
  $encodingInfo: dartx.encodingInfo = Symbol("dartx.encodingInfo"),
  $powerEfficient: dartx.powerEfficient = Symbol("dartx.powerEfficient"),
  $smooth: dartx.smooth = Symbol("dartx.smooth"),
  $supported: dartx.supported = Symbol("dartx.supported"),
  $deviceId: dartx.deviceId = Symbol("dartx.deviceId"),
  $groupId: dartx.groupId = Symbol("dartx.groupId"),
  $enumerateDevices: dartx.enumerateDevices = Symbol("dartx.enumerateDevices"),
  _getSupportedConstraints_1: dart.privateName(html$, "_getSupportedConstraints_1"),
  $getSupportedConstraints: dartx.getSupportedConstraints = Symbol("dartx.getSupportedConstraints"),
  $getUserMedia: dartx.getUserMedia = Symbol("dartx.getUserMedia"),
  $initData: dartx.initData = Symbol("dartx.initData"),
  $initDataType: dartx.initDataType = Symbol("dartx.initDataType"),
  $messageType: dartx.messageType = Symbol("dartx.messageType"),
  $closed: dartx.closed = Symbol("dartx.closed"),
  $expiration: dartx.expiration = Symbol("dartx.expiration"),
  $keyStatuses: dartx.keyStatuses = Symbol("dartx.keyStatuses"),
  $sessionId: dartx.sessionId = Symbol("dartx.sessionId"),
  $generateRequest: dartx.generateRequest = Symbol("dartx.generateRequest"),
  _update$1: dart.privateName(html$, "_update"),
  $keySystem: dartx.keySystem = Symbol("dartx.keySystem"),
  $createMediaKeys: dartx.createMediaKeys = Symbol("dartx.createMediaKeys"),
  _getConfiguration_1: dart.privateName(html$, "_getConfiguration_1"),
  $getConfiguration: dartx.getConfiguration = Symbol("dartx.getConfiguration"),
  _createSession: dart.privateName(html$, "_createSession"),
  $getStatusForPolicy: dartx.getStatusForPolicy = Symbol("dartx.getStatusForPolicy"),
  $setServerCertificate: dartx.setServerCertificate = Symbol("dartx.setServerCertificate"),
  $minHdcpVersion: dartx.minHdcpVersion = Symbol("dartx.minHdcpVersion"),
  $mediaText: dartx.mediaText = Symbol("dartx.mediaText"),
  $appendMedium: dartx.appendMedium = Symbol("dartx.appendMedium"),
  $deleteMedium: dartx.deleteMedium = Symbol("dartx.deleteMedium"),
  $album: dartx.album = Symbol("dartx.album"),
  $artist: dartx.artist = Symbol("dartx.artist"),
  $artwork: dartx.artwork = Symbol("dartx.artwork"),
  $addListener: dartx.addListener = Symbol("dartx.addListener"),
  $removeListener: dartx.removeListener = Symbol("dartx.removeListener"),
  $audioBitsPerSecond: dartx.audioBitsPerSecond = Symbol("dartx.audioBitsPerSecond"),
  $mimeType: dartx.mimeType = Symbol("dartx.mimeType"),
  $stream: dartx.stream = Symbol("dartx.stream"),
  $videoBitsPerSecond: dartx.videoBitsPerSecond = Symbol("dartx.videoBitsPerSecond"),
  $requestData: dartx.requestData = Symbol("dartx.requestData"),
  $resume: dartx.resume = Symbol("dartx.resume"),
  $metadata: dartx.metadata = Symbol("dartx.metadata"),
  $playbackState: dartx.playbackState = Symbol("dartx.playbackState"),
  $setActionHandler: dartx.setActionHandler = Symbol("dartx.setActionHandler"),
  $activeSourceBuffers: dartx.activeSourceBuffers = Symbol("dartx.activeSourceBuffers"),
  $sourceBuffers: dartx.sourceBuffers = Symbol("dartx.sourceBuffers"),
  $addSourceBuffer: dartx.addSourceBuffer = Symbol("dartx.addSourceBuffer"),
  $clearLiveSeekableRange: dartx.clearLiveSeekableRange = Symbol("dartx.clearLiveSeekableRange"),
  $endOfStream: dartx.endOfStream = Symbol("dartx.endOfStream"),
  $removeSourceBuffer: dartx.removeSourceBuffer = Symbol("dartx.removeSourceBuffer"),
  $setLiveSeekableRange: dartx.setLiveSeekableRange = Symbol("dartx.setLiveSeekableRange"),
  $active: dartx.active = Symbol("dartx.active"),
  $addTrack: dartx.addTrack = Symbol("dartx.addTrack"),
  $getAudioTracks: dartx.getAudioTracks = Symbol("dartx.getAudioTracks"),
  $getTrackById: dartx.getTrackById = Symbol("dartx.getTrackById"),
  $getTracks: dartx.getTracks = Symbol("dartx.getTracks"),
  $getVideoTracks: dartx.getVideoTracks = Symbol("dartx.getVideoTracks"),
  $removeTrack: dartx.removeTrack = Symbol("dartx.removeTrack"),
  $onAddTrack: dartx.onAddTrack = Symbol("dartx.onAddTrack"),
  $onRemoveTrack: dartx.onRemoveTrack = Symbol("dartx.onRemoveTrack"),
  $jsHeapSizeLimit: dartx.jsHeapSizeLimit = Symbol("dartx.jsHeapSizeLimit"),
  $totalJSHeapSize: dartx.totalJSHeapSize = Symbol("dartx.totalJSHeapSize"),
  $usedJSHeapSize: dartx.usedJSHeapSize = Symbol("dartx.usedJSHeapSize"),
  $port1: dartx.port1 = Symbol("dartx.port1"),
  $port2: dartx.port2 = Symbol("dartx.port2"),
  _initMessageEvent: dart.privateName(html$, "_initMessageEvent"),
  _get_data: dart.privateName(html$, "_get_data"),
  _get_source: dart.privateName(html$, "_get_source"),
  _initMessageEvent_1: dart.privateName(html$, "_initMessageEvent_1"),
  _start$4: dart.privateName(html$, "_start"),
  $httpEquiv: dartx.httpEquiv = Symbol("dartx.httpEquiv"),
  _get_modificationTime: dart.privateName(html$, "_get_modificationTime"),
  $modificationTime: dartx.modificationTime = Symbol("dartx.modificationTime"),
  $high: dartx.high = Symbol("dartx.high"),
  $low: dartx.low = Symbol("dartx.low"),
  $optimum: dartx.optimum = Symbol("dartx.optimum"),
  $inputs: dartx.inputs = Symbol("dartx.inputs"),
  $outputs: dartx.outputs = Symbol("dartx.outputs"),
  $sysexEnabled: dartx.sysexEnabled = Symbol("dartx.sysexEnabled"),
  $onMidiMessage: dartx.onMidiMessage = Symbol("dartx.onMidiMessage"),
  $connection: dartx.connection = Symbol("dartx.connection"),
  $manufacturer: dartx.manufacturer = Symbol("dartx.manufacturer"),
  _getItem: dart.privateName(html$, "_getItem"),
  $description: dartx.description = Symbol("dartx.description"),
  $enabledPlugin: dartx.enabledPlugin = Symbol("dartx.enabledPlugin"),
  $suffixes: dartx.suffixes = Symbol("dartx.suffixes"),
  $cite: dartx.cite = Symbol("dartx.cite"),
  $dateTime: dartx.dateTime = Symbol("dartx.dateTime"),
  _initMouseEvent: dart.privateName(html$, "_initMouseEvent"),
  $button: dartx.button = Symbol("dartx.button"),
  _clientX: dart.privateName(html$, "_clientX"),
  _clientY: dart.privateName(html$, "_clientY"),
  $fromElement: dartx.fromElement = Symbol("dartx.fromElement"),
  _layerX: dart.privateName(html$, "_layerX"),
  _layerY: dart.privateName(html$, "_layerY"),
  _movementX: dart.privateName(html$, "_movementX"),
  _movementY: dart.privateName(html$, "_movementY"),
  _pageX: dart.privateName(html$, "_pageX"),
  _pageY: dart.privateName(html$, "_pageY"),
  $region: dartx.region = Symbol("dartx.region"),
  _screenX: dart.privateName(html$, "_screenX"),
  _screenY: dart.privateName(html$, "_screenY"),
  $toElement: dartx.toElement = Symbol("dartx.toElement"),
  _initMouseEvent_1: dart.privateName(html$, "_initMouseEvent_1"),
  $movement: dartx.movement = Symbol("dartx.movement"),
  $screen: dartx.screen = Symbol("dartx.screen"),
  $layer: dartx.layer = Symbol("dartx.layer"),
  $dataTransfer: dartx.dataTransfer = Symbol("dartx.dataTransfer"),
  $attrChange: dartx.attrChange = Symbol("dartx.attrChange"),
  $attrName: dartx.attrName = Symbol("dartx.attrName"),
  $newValue: dartx.newValue = Symbol("dartx.newValue"),
  $prevValue: dartx.prevValue = Symbol("dartx.prevValue"),
  $relatedNode: dartx.relatedNode = Symbol("dartx.relatedNode"),
  $initMutationEvent: dartx.initMutationEvent = Symbol("dartx.initMutationEvent"),
  _observe_1$1: dart.privateName(html$, "_observe_1"),
  _observe_2: dart.privateName(html$, "_observe_2"),
  _observe: dart.privateName(html$, "_observe"),
  _call: dart.privateName(html$, "_call"),
  $addedNodes: dartx.addedNodes = Symbol("dartx.addedNodes"),
  $attributeName: dartx.attributeName = Symbol("dartx.attributeName"),
  $attributeNamespace: dartx.attributeNamespace = Symbol("dartx.attributeNamespace"),
  $nextSibling: dartx.nextSibling = Symbol("dartx.nextSibling"),
  $oldValue: dartx.oldValue = Symbol("dartx.oldValue"),
  $previousSibling: dartx.previousSibling = Symbol("dartx.previousSibling"),
  $removedNodes: dartx.removedNodes = Symbol("dartx.removedNodes"),
  $disable: dartx.disable = Symbol("dartx.disable"),
  $enable: dartx.enable = Symbol("dartx.enable"),
  $getState: dartx.getState = Symbol("dartx.getState"),
  _getGamepads: dart.privateName(html$, "_getGamepads"),
  $getGamepads: dartx.getGamepads = Symbol("dartx.getGamepads"),
  $language: dartx.language = Symbol("dartx.language"),
  _ensureGetUserMedia: dart.privateName(html$, "_ensureGetUserMedia"),
  _getUserMedia: dart.privateName(html$, "_getUserMedia"),
  $budget: dartx.budget = Symbol("dartx.budget"),
  $clipboard: dartx.clipboard = Symbol("dartx.clipboard"),
  $credentials: dartx.credentials = Symbol("dartx.credentials"),
  $deviceMemory: dartx.deviceMemory = Symbol("dartx.deviceMemory")
};
var S$2 = {
  $doNotTrack: dartx.doNotTrack = Symbol("dartx.doNotTrack"),
  $geolocation: dartx.geolocation = Symbol("dartx.geolocation"),
  $maxTouchPoints: dartx.maxTouchPoints = Symbol("dartx.maxTouchPoints"),
  $mediaCapabilities: dartx.mediaCapabilities = Symbol("dartx.mediaCapabilities"),
  $mediaDevices: dartx.mediaDevices = Symbol("dartx.mediaDevices"),
  $mediaSession: dartx.mediaSession = Symbol("dartx.mediaSession"),
  $mimeTypes: dartx.mimeTypes = Symbol("dartx.mimeTypes"),
  $nfc: dartx.nfc = Symbol("dartx.nfc"),
  $permissions: dartx.permissions = Symbol("dartx.permissions"),
  $presentation: dartx.presentation = Symbol("dartx.presentation"),
  $productSub: dartx.productSub = Symbol("dartx.productSub"),
  $serviceWorker: dartx.serviceWorker = Symbol("dartx.serviceWorker"),
  $storage: dartx.storage = Symbol("dartx.storage"),
  $vendor: dartx.vendor = Symbol("dartx.vendor"),
  $vendorSub: dartx.vendorSub = Symbol("dartx.vendorSub"),
  $vr: dartx.vr = Symbol("dartx.vr"),
  $persistentStorage: dartx.persistentStorage = Symbol("dartx.persistentStorage"),
  $temporaryStorage: dartx.temporaryStorage = Symbol("dartx.temporaryStorage"),
  $cancelKeyboardLock: dartx.cancelKeyboardLock = Symbol("dartx.cancelKeyboardLock"),
  $getBattery: dartx.getBattery = Symbol("dartx.getBattery"),
  $getInstalledRelatedApps: dartx.getInstalledRelatedApps = Symbol("dartx.getInstalledRelatedApps"),
  $getVRDisplays: dartx.getVRDisplays = Symbol("dartx.getVRDisplays"),
  $registerProtocolHandler: dartx.registerProtocolHandler = Symbol("dartx.registerProtocolHandler"),
  _requestKeyboardLock_1: dart.privateName(html$, "_requestKeyboardLock_1"),
  _requestKeyboardLock_2: dart.privateName(html$, "_requestKeyboardLock_2"),
  $requestKeyboardLock: dartx.requestKeyboardLock = Symbol("dartx.requestKeyboardLock"),
  $requestMidiAccess: dartx.requestMidiAccess = Symbol("dartx.requestMidiAccess"),
  $requestMediaKeySystemAccess: dartx.requestMediaKeySystemAccess = Symbol("dartx.requestMediaKeySystemAccess"),
  $sendBeacon: dartx.sendBeacon = Symbol("dartx.sendBeacon"),
  $share: dartx.share = Symbol("dartx.share"),
  $webdriver: dartx.webdriver = Symbol("dartx.webdriver"),
  $cookieEnabled: dartx.cookieEnabled = Symbol("dartx.cookieEnabled"),
  $appCodeName: dartx.appCodeName = Symbol("dartx.appCodeName"),
  $appName: dartx.appName = Symbol("dartx.appName"),
  $appVersion: dartx.appVersion = Symbol("dartx.appVersion"),
  $dartEnabled: dartx.dartEnabled = Symbol("dartx.dartEnabled"),
  $platform: dartx.platform = Symbol("dartx.platform"),
  $product: dartx.product = Symbol("dartx.product"),
  $userAgent: dartx.userAgent = Symbol("dartx.userAgent"),
  $languages: dartx.languages = Symbol("dartx.languages"),
  $onLine: dartx.onLine = Symbol("dartx.onLine"),
  $hardwareConcurrency: dartx.hardwareConcurrency = Symbol("dartx.hardwareConcurrency"),
  $constraintName: dartx.constraintName = Symbol("dartx.constraintName"),
  $downlink: dartx.downlink = Symbol("dartx.downlink"),
  $downlinkMax: dartx.downlinkMax = Symbol("dartx.downlinkMax"),
  $effectiveType: dartx.effectiveType = Symbol("dartx.effectiveType"),
  $rtt: dartx.rtt = Symbol("dartx.rtt"),
  $pointerBeforeReferenceNode: dartx.pointerBeforeReferenceNode = Symbol("dartx.pointerBeforeReferenceNode"),
  $referenceNode: dartx.referenceNode = Symbol("dartx.referenceNode"),
  $whatToShow: dartx.whatToShow = Symbol("dartx.whatToShow"),
  $detach: dartx.detach = Symbol("dartx.detach"),
  $actions: dartx.actions = Symbol("dartx.actions"),
  $badge: dartx.badge = Symbol("dartx.badge"),
  $icon: dartx.icon = Symbol("dartx.icon"),
  $image: dartx.image = Symbol("dartx.image"),
  $renotify: dartx.renotify = Symbol("dartx.renotify"),
  $requireInteraction: dartx.requireInteraction = Symbol("dartx.requireInteraction"),
  $silent: dartx.silent = Symbol("dartx.silent"),
  $tag: dartx.tag = Symbol("dartx.tag"),
  $vibrate: dartx.vibrate = Symbol("dartx.vibrate"),
  $onShow: dartx.onShow = Symbol("dartx.onShow"),
  $notification: dartx.notification = Symbol("dartx.notification"),
  $reply: dartx.reply = Symbol("dartx.reply"),
  $convertToBlob: dartx.convertToBlob = Symbol("dartx.convertToBlob"),
  $transferToImageBitmap: dartx.transferToImageBitmap = Symbol("dartx.transferToImageBitmap"),
  $commit: dartx.commit = Symbol("dartx.commit"),
  $defaultSelected: dartx.defaultSelected = Symbol("dartx.defaultSelected"),
  $constraint: dartx.constraint = Symbol("dartx.constraint"),
  $persisted: dartx.persisted = Symbol("dartx.persisted"),
  $devicePixelRatio: dartx.devicePixelRatio = Symbol("dartx.devicePixelRatio"),
  $registerPaint: dartx.registerPaint = Symbol("dartx.registerPaint"),
  $additionalData: dartx.additionalData = Symbol("dartx.additionalData"),
  $idName: dartx.idName = Symbol("dartx.idName"),
  $passwordName: dartx.passwordName = Symbol("dartx.passwordName"),
  $addPath: dartx.addPath = Symbol("dartx.addPath"),
  $addressLine: dartx.addressLine = Symbol("dartx.addressLine"),
  $city: dartx.city = Symbol("dartx.city"),
  $country: dartx.country = Symbol("dartx.country"),
  $dependentLocality: dartx.dependentLocality = Symbol("dartx.dependentLocality"),
  $languageCode: dartx.languageCode = Symbol("dartx.languageCode"),
  $organization: dartx.organization = Symbol("dartx.organization"),
  $phone: dartx.phone = Symbol("dartx.phone"),
  $postalCode: dartx.postalCode = Symbol("dartx.postalCode"),
  $recipient: dartx.recipient = Symbol("dartx.recipient"),
  $sortingCode: dartx.sortingCode = Symbol("dartx.sortingCode"),
  $instruments: dartx.instruments = Symbol("dartx.instruments"),
  $userHint: dartx.userHint = Symbol("dartx.userHint"),
  $shippingAddress: dartx.shippingAddress = Symbol("dartx.shippingAddress"),
  $shippingOption: dartx.shippingOption = Symbol("dartx.shippingOption"),
  $shippingType: dartx.shippingType = Symbol("dartx.shippingType"),
  $canMakePayment: dartx.canMakePayment = Symbol("dartx.canMakePayment"),
  $instrumentKey: dartx.instrumentKey = Symbol("dartx.instrumentKey"),
  $paymentRequestId: dartx.paymentRequestId = Symbol("dartx.paymentRequestId"),
  $total: dartx.total = Symbol("dartx.total"),
  $updateWith: dartx.updateWith = Symbol("dartx.updateWith"),
  $methodName: dartx.methodName = Symbol("dartx.methodName"),
  $payerEmail: dartx.payerEmail = Symbol("dartx.payerEmail"),
  $payerName: dartx.payerName = Symbol("dartx.payerName"),
  $payerPhone: dartx.payerPhone = Symbol("dartx.payerPhone"),
  $requestId: dartx.requestId = Symbol("dartx.requestId"),
  $memory: dartx.memory = Symbol("dartx.memory"),
  $navigation: dartx.navigation = Symbol("dartx.navigation"),
  $timeOrigin: dartx.timeOrigin = Symbol("dartx.timeOrigin"),
  $clearMarks: dartx.clearMarks = Symbol("dartx.clearMarks"),
  $clearMeasures: dartx.clearMeasures = Symbol("dartx.clearMeasures"),
  $clearResourceTimings: dartx.clearResourceTimings = Symbol("dartx.clearResourceTimings"),
  $getEntries: dartx.getEntries = Symbol("dartx.getEntries"),
  $getEntriesByName: dartx.getEntriesByName = Symbol("dartx.getEntriesByName"),
  $getEntriesByType: dartx.getEntriesByType = Symbol("dartx.getEntriesByType"),
  $mark: dartx.mark = Symbol("dartx.mark"),
  $measure: dartx.measure = Symbol("dartx.measure"),
  $now: dartx.now = Symbol("dartx.now"),
  $setResourceTimingBufferSize: dartx.setResourceTimingBufferSize = Symbol("dartx.setResourceTimingBufferSize"),
  $entryType: dartx.entryType = Symbol("dartx.entryType"),
  $attribution: dartx.attribution = Symbol("dartx.attribution"),
  $redirectCount: dartx.redirectCount = Symbol("dartx.redirectCount"),
  $domComplete: dartx.domComplete = Symbol("dartx.domComplete"),
  $domContentLoadedEventEnd: dartx.domContentLoadedEventEnd = Symbol("dartx.domContentLoadedEventEnd"),
  $domContentLoadedEventStart: dartx.domContentLoadedEventStart = Symbol("dartx.domContentLoadedEventStart"),
  $domInteractive: dartx.domInteractive = Symbol("dartx.domInteractive"),
  $loadEventEnd: dartx.loadEventEnd = Symbol("dartx.loadEventEnd"),
  $loadEventStart: dartx.loadEventStart = Symbol("dartx.loadEventStart"),
  $unloadEventEnd: dartx.unloadEventEnd = Symbol("dartx.unloadEventEnd"),
  $unloadEventStart: dartx.unloadEventStart = Symbol("dartx.unloadEventStart"),
  $connectEnd: dartx.connectEnd = Symbol("dartx.connectEnd"),
  $connectStart: dartx.connectStart = Symbol("dartx.connectStart"),
  $decodedBodySize: dartx.decodedBodySize = Symbol("dartx.decodedBodySize"),
  $domainLookupEnd: dartx.domainLookupEnd = Symbol("dartx.domainLookupEnd"),
  $domainLookupStart: dartx.domainLookupStart = Symbol("dartx.domainLookupStart"),
  $encodedBodySize: dartx.encodedBodySize = Symbol("dartx.encodedBodySize"),
  $fetchStart: dartx.fetchStart = Symbol("dartx.fetchStart"),
  $initiatorType: dartx.initiatorType = Symbol("dartx.initiatorType"),
  $nextHopProtocol: dartx.nextHopProtocol = Symbol("dartx.nextHopProtocol"),
  $redirectEnd: dartx.redirectEnd = Symbol("dartx.redirectEnd"),
  $redirectStart: dartx.redirectStart = Symbol("dartx.redirectStart"),
  $requestStart: dartx.requestStart = Symbol("dartx.requestStart"),
  $responseEnd: dartx.responseEnd = Symbol("dartx.responseEnd"),
  $responseStart: dartx.responseStart = Symbol("dartx.responseStart"),
  $secureConnectionStart: dartx.secureConnectionStart = Symbol("dartx.secureConnectionStart"),
  $serverTiming: dartx.serverTiming = Symbol("dartx.serverTiming"),
  $transferSize: dartx.transferSize = Symbol("dartx.transferSize"),
  $workerStart: dartx.workerStart = Symbol("dartx.workerStart"),
  $domLoading: dartx.domLoading = Symbol("dartx.domLoading"),
  $navigationStart: dartx.navigationStart = Symbol("dartx.navigationStart"),
  $query: dartx.query = Symbol("dartx.query"),
  $requestAll: dartx.requestAll = Symbol("dartx.requestAll"),
  $revoke: dartx.revoke = Symbol("dartx.revoke"),
  $fillLightMode: dartx.fillLightMode = Symbol("dartx.fillLightMode"),
  $imageHeight: dartx.imageHeight = Symbol("dartx.imageHeight"),
  $imageWidth: dartx.imageWidth = Symbol("dartx.imageWidth"),
  $redEyeReduction: dartx.redEyeReduction = Symbol("dartx.redEyeReduction"),
  $refresh: dartx.refresh = Symbol("dartx.refresh"),
  $isPrimary: dartx.isPrimary = Symbol("dartx.isPrimary"),
  $pointerId: dartx.pointerId = Symbol("dartx.pointerId"),
  $pointerType: dartx.pointerType = Symbol("dartx.pointerType"),
  $pressure: dartx.pressure = Symbol("dartx.pressure"),
  $tangentialPressure: dartx.tangentialPressure = Symbol("dartx.tangentialPressure"),
  $tiltX: dartx.tiltX = Symbol("dartx.tiltX"),
  $tiltY: dartx.tiltY = Symbol("dartx.tiltY"),
  $twist: dartx.twist = Symbol("dartx.twist"),
  $getCoalescedEvents: dartx.getCoalescedEvents = Symbol("dartx.getCoalescedEvents"),
  $defaultRequest: dartx.defaultRequest = Symbol("dartx.defaultRequest"),
  $receiver: dartx.receiver = Symbol("dartx.receiver"),
  $binaryType: dartx.binaryType = Symbol("dartx.binaryType"),
  $terminate: dartx.terminate = Symbol("dartx.terminate"),
  $connections: dartx.connections = Symbol("dartx.connections"),
  $connectionList: dartx.connectionList = Symbol("dartx.connectionList"),
  $getAvailability: dartx.getAvailability = Symbol("dartx.getAvailability"),
  $reconnect: dartx.reconnect = Symbol("dartx.reconnect"),
  $lengthComputable: dartx.lengthComputable = Symbol("dartx.lengthComputable"),
  $promise: dartx.promise = Symbol("dartx.promise"),
  $rawId: dartx.rawId = Symbol("dartx.rawId"),
  $getSubscription: dartx.getSubscription = Symbol("dartx.getSubscription"),
  $permissionState: dartx.permissionState = Symbol("dartx.permissionState"),
  $subscribe: dartx.subscribe = Symbol("dartx.subscribe"),
  $endpoint: dartx.endpoint = Symbol("dartx.endpoint"),
  $expirationTime: dartx.expirationTime = Symbol("dartx.expirationTime"),
  $unsubscribe: dartx.unsubscribe = Symbol("dartx.unsubscribe"),
  $applicationServerKey: dartx.applicationServerKey = Symbol("dartx.applicationServerKey"),
  $userVisibleOnly: dartx.userVisibleOnly = Symbol("dartx.userVisibleOnly"),
  $collapsed: dartx.collapsed = Symbol("dartx.collapsed"),
  $commonAncestorContainer: dartx.commonAncestorContainer = Symbol("dartx.commonAncestorContainer"),
  $endContainer: dartx.endContainer = Symbol("dartx.endContainer"),
  $endOffset: dartx.endOffset = Symbol("dartx.endOffset"),
  $startContainer: dartx.startContainer = Symbol("dartx.startContainer"),
  $startOffset: dartx.startOffset = Symbol("dartx.startOffset"),
  $cloneContents: dartx.cloneContents = Symbol("dartx.cloneContents"),
  $cloneRange: dartx.cloneRange = Symbol("dartx.cloneRange"),
  $collapse: dartx.collapse = Symbol("dartx.collapse"),
  $compareBoundaryPoints: dartx.compareBoundaryPoints = Symbol("dartx.compareBoundaryPoints"),
  $comparePoint: dartx.comparePoint = Symbol("dartx.comparePoint"),
  $createContextualFragment: dartx.createContextualFragment = Symbol("dartx.createContextualFragment"),
  $deleteContents: dartx.deleteContents = Symbol("dartx.deleteContents"),
  $extractContents: dartx.extractContents = Symbol("dartx.extractContents"),
  $insertNode: dartx.insertNode = Symbol("dartx.insertNode"),
  $isPointInRange: dartx.isPointInRange = Symbol("dartx.isPointInRange"),
  $selectNode: dartx.selectNode = Symbol("dartx.selectNode"),
  $selectNodeContents: dartx.selectNodeContents = Symbol("dartx.selectNodeContents"),
  $setEnd: dartx.setEnd = Symbol("dartx.setEnd"),
  $setEndAfter: dartx.setEndAfter = Symbol("dartx.setEndAfter"),
  $setEndBefore: dartx.setEndBefore = Symbol("dartx.setEndBefore"),
  $setStart: dartx.setStart = Symbol("dartx.setStart"),
  $setStartAfter: dartx.setStartAfter = Symbol("dartx.setStartAfter"),
  $setStartBefore: dartx.setStartBefore = Symbol("dartx.setStartBefore"),
  $surroundContents: dartx.surroundContents = Symbol("dartx.surroundContents"),
  $cancelWatchAvailability: dartx.cancelWatchAvailability = Symbol("dartx.cancelWatchAvailability"),
  $watchAvailability: dartx.watchAvailability = Symbol("dartx.watchAvailability"),
  $contentRect: dartx.contentRect = Symbol("dartx.contentRect"),
  $expires: dartx.expires = Symbol("dartx.expires"),
  $getFingerprints: dartx.getFingerprints = Symbol("dartx.getFingerprints"),
  $bufferedAmount: dartx.bufferedAmount = Symbol("dartx.bufferedAmount"),
  $bufferedAmountLowThreshold: dartx.bufferedAmountLowThreshold = Symbol("dartx.bufferedAmountLowThreshold"),
  $maxRetransmitTime: dartx.maxRetransmitTime = Symbol("dartx.maxRetransmitTime"),
  $maxRetransmits: dartx.maxRetransmits = Symbol("dartx.maxRetransmits"),
  $negotiated: dartx.negotiated = Symbol("dartx.negotiated"),
  $ordered: dartx.ordered = Symbol("dartx.ordered"),
  $reliable: dartx.reliable = Symbol("dartx.reliable"),
  $sendBlob: dartx.sendBlob = Symbol("dartx.sendBlob"),
  $sendByteBuffer: dartx.sendByteBuffer = Symbol("dartx.sendByteBuffer"),
  $sendString: dartx.sendString = Symbol("dartx.sendString"),
  $sendTypedData: dartx.sendTypedData = Symbol("dartx.sendTypedData"),
  $channel: dartx.channel = Symbol("dartx.channel"),
  $canInsertDtmf: dartx.canInsertDtmf = Symbol("dartx.canInsertDtmf"),
  $interToneGap: dartx.interToneGap = Symbol("dartx.interToneGap"),
  $toneBuffer: dartx.toneBuffer = Symbol("dartx.toneBuffer"),
  $insertDtmf: dartx.insertDtmf = Symbol("dartx.insertDtmf"),
  $onToneChange: dartx.onToneChange = Symbol("dartx.onToneChange"),
  $tone: dartx.tone = Symbol("dartx.tone"),
  $candidate: dartx.candidate = Symbol("dartx.candidate"),
  $sdpMLineIndex: dartx.sdpMLineIndex = Symbol("dartx.sdpMLineIndex"),
  $sdpMid: dartx.sdpMid = Symbol("dartx.sdpMid"),
  _get_timestamp: dart.privateName(html$, "_get_timestamp"),
  $names: dartx.names = Symbol("dartx.names"),
  $stat: dartx.stat = Symbol("dartx.stat"),
  _getStats: dart.privateName(html$, "_getStats"),
  $getLegacyStats: dartx.getLegacyStats = Symbol("dartx.getLegacyStats"),
  $iceConnectionState: dartx.iceConnectionState = Symbol("dartx.iceConnectionState"),
  $iceGatheringState: dartx.iceGatheringState = Symbol("dartx.iceGatheringState"),
  $localDescription: dartx.localDescription = Symbol("dartx.localDescription"),
  $remoteDescription: dartx.remoteDescription = Symbol("dartx.remoteDescription"),
  $signalingState: dartx.signalingState = Symbol("dartx.signalingState"),
  $addIceCandidate: dartx.addIceCandidate = Symbol("dartx.addIceCandidate"),
  _addStream_1: dart.privateName(html$, "_addStream_1"),
  _addStream_2: dart.privateName(html$, "_addStream_2"),
  $addStream: dartx.addStream = Symbol("dartx.addStream"),
  $createAnswer: dartx.createAnswer = Symbol("dartx.createAnswer"),
  $createDtmfSender: dartx.createDtmfSender = Symbol("dartx.createDtmfSender"),
  _createDataChannel_1: dart.privateName(html$, "_createDataChannel_1"),
  _createDataChannel_2: dart.privateName(html$, "_createDataChannel_2"),
  $createDataChannel: dartx.createDataChannel = Symbol("dartx.createDataChannel"),
  $createOffer: dartx.createOffer = Symbol("dartx.createOffer"),
  $getLocalStreams: dartx.getLocalStreams = Symbol("dartx.getLocalStreams"),
  $getReceivers: dartx.getReceivers = Symbol("dartx.getReceivers"),
  $getRemoteStreams: dartx.getRemoteStreams = Symbol("dartx.getRemoteStreams"),
  $getSenders: dartx.getSenders = Symbol("dartx.getSenders"),
  $getStats: dartx.getStats = Symbol("dartx.getStats"),
  $removeStream: dartx.removeStream = Symbol("dartx.removeStream"),
  _setConfiguration_1: dart.privateName(html$, "_setConfiguration_1"),
  $setConfiguration: dartx.setConfiguration = Symbol("dartx.setConfiguration"),
  $setLocalDescription: dartx.setLocalDescription = Symbol("dartx.setLocalDescription"),
  $setRemoteDescription: dartx.setRemoteDescription = Symbol("dartx.setRemoteDescription"),
  $onAddStream: dartx.onAddStream = Symbol("dartx.onAddStream"),
  $onDataChannel: dartx.onDataChannel = Symbol("dartx.onDataChannel"),
  $onIceCandidate: dartx.onIceCandidate = Symbol("dartx.onIceCandidate"),
  $onIceConnectionStateChange: dartx.onIceConnectionStateChange = Symbol("dartx.onIceConnectionStateChange"),
  $onNegotiationNeeded: dartx.onNegotiationNeeded = Symbol("dartx.onNegotiationNeeded"),
  $onRemoveStream: dartx.onRemoveStream = Symbol("dartx.onRemoveStream"),
  $onSignalingStateChange: dartx.onSignalingStateChange = Symbol("dartx.onSignalingStateChange"),
  $onTrack: dartx.onTrack = Symbol("dartx.onTrack"),
  $getContributingSources: dartx.getContributingSources = Symbol("dartx.getContributingSources"),
  $sdp: dartx.sdp = Symbol("dartx.sdp"),
  $streams: dartx.streams = Symbol("dartx.streams"),
  _availLeft: dart.privateName(html$, "_availLeft"),
  _availTop: dart.privateName(html$, "_availTop"),
  _availWidth: dart.privateName(html$, "_availWidth"),
  _availHeight: dart.privateName(html$, "_availHeight"),
  $available: dartx.available = Symbol("dartx.available"),
  $colorDepth: dartx.colorDepth = Symbol("dartx.colorDepth"),
  $keepAwake: dartx.keepAwake = Symbol("dartx.keepAwake"),
  $pixelDepth: dartx.pixelDepth = Symbol("dartx.pixelDepth"),
  $lock: dartx.lock = Symbol("dartx.lock"),
  $unlock: dartx.unlock = Symbol("dartx.unlock"),
  $charset: dartx.charset = Symbol("dartx.charset"),
  $defer: dartx.defer = Symbol("dartx.defer"),
  $noModule: dartx.noModule = Symbol("dartx.noModule"),
  $deltaGranularity: dartx.deltaGranularity = Symbol("dartx.deltaGranularity"),
  $deltaX: dartx.deltaX = Symbol("dartx.deltaX"),
  $deltaY: dartx.deltaY = Symbol("dartx.deltaY"),
  $fromUserInput: dartx.fromUserInput = Symbol("dartx.fromUserInput"),
  $inInertialPhase: dartx.inInertialPhase = Symbol("dartx.inInertialPhase"),
  $isBeginning: dartx.isBeginning = Symbol("dartx.isBeginning"),
  $isDirectManipulation: dartx.isDirectManipulation = Symbol("dartx.isDirectManipulation"),
  $isEnding: dartx.isEnding = Symbol("dartx.isEnding"),
  $positionX: dartx.positionX = Symbol("dartx.positionX"),
  $positionY: dartx.positionY = Symbol("dartx.positionY"),
  $velocityX: dartx.velocityX = Symbol("dartx.velocityX"),
  $velocityY: dartx.velocityY = Symbol("dartx.velocityY"),
  $consumeDelta: dartx.consumeDelta = Symbol("dartx.consumeDelta"),
  $distributeToScrollChainDescendant: dartx.distributeToScrollChainDescendant = Symbol("dartx.distributeToScrollChainDescendant"),
  $scrollSource: dartx.scrollSource = Symbol("dartx.scrollSource"),
  $timeRange: dartx.timeRange = Symbol("dartx.timeRange"),
  $blockedUri: dartx.blockedUri = Symbol("dartx.blockedUri"),
  $columnNumber: dartx.columnNumber = Symbol("dartx.columnNumber"),
  $disposition: dartx.disposition = Symbol("dartx.disposition"),
  $documentUri: dartx.documentUri = Symbol("dartx.documentUri"),
  $effectiveDirective: dartx.effectiveDirective = Symbol("dartx.effectiveDirective"),
  $originalPolicy: dartx.originalPolicy = Symbol("dartx.originalPolicy"),
  $sample: dartx.sample = Symbol("dartx.sample"),
  $statusCode: dartx.statusCode = Symbol("dartx.statusCode"),
  $violatedDirective: dartx.violatedDirective = Symbol("dartx.violatedDirective"),
  $selectedIndex: dartx.selectedIndex = Symbol("dartx.selectedIndex"),
  $selectedOptions: dartx.selectedOptions = Symbol("dartx.selectedOptions"),
  $anchorNode: dartx.anchorNode = Symbol("dartx.anchorNode"),
  $anchorOffset: dartx.anchorOffset = Symbol("dartx.anchorOffset"),
  $baseNode: dartx.baseNode = Symbol("dartx.baseNode"),
  $baseOffset: dartx.baseOffset = Symbol("dartx.baseOffset"),
  $extentNode: dartx.extentNode = Symbol("dartx.extentNode"),
  $extentOffset: dartx.extentOffset = Symbol("dartx.extentOffset"),
  $focusNode: dartx.focusNode = Symbol("dartx.focusNode"),
  $focusOffset: dartx.focusOffset = Symbol("dartx.focusOffset"),
  $isCollapsed: dartx.isCollapsed = Symbol("dartx.isCollapsed"),
  $rangeCount: dartx.rangeCount = Symbol("dartx.rangeCount"),
  $addRange: dartx.addRange = Symbol("dartx.addRange"),
  $collapseToEnd: dartx.collapseToEnd = Symbol("dartx.collapseToEnd"),
  $collapseToStart: dartx.collapseToStart = Symbol("dartx.collapseToStart"),
  $containsNode: dartx.containsNode = Symbol("dartx.containsNode"),
  $deleteFromDocument: dartx.deleteFromDocument = Symbol("dartx.deleteFromDocument"),
  $empty: dartx.empty = Symbol("dartx.empty"),
  $extend: dartx.extend = Symbol("dartx.extend"),
  $getRangeAt: dartx.getRangeAt = Symbol("dartx.getRangeAt"),
  $modify: dartx.modify = Symbol("dartx.modify"),
  $removeAllRanges: dartx.removeAllRanges = Symbol("dartx.removeAllRanges"),
  $selectAllChildren: dartx.selectAllChildren = Symbol("dartx.selectAllChildren"),
  $setBaseAndExtent: dartx.setBaseAndExtent = Symbol("dartx.setBaseAndExtent"),
  $setPosition: dartx.setPosition = Symbol("dartx.setPosition"),
  $scriptUrl: dartx.scriptUrl = Symbol("dartx.scriptUrl"),
  $controller: dartx.controller = Symbol("dartx.controller"),
  $getRegistration: dartx.getRegistration = Symbol("dartx.getRegistration"),
  $getRegistrations: dartx.getRegistrations = Symbol("dartx.getRegistrations"),
  $clients: dartx.clients = Symbol("dartx.clients"),
  $registration: dartx.registration = Symbol("dartx.registration"),
  $skipWaiting: dartx.skipWaiting = Symbol("dartx.skipWaiting"),
  $onActivate: dartx.onActivate = Symbol("dartx.onActivate"),
  $onFetch: dartx.onFetch = Symbol("dartx.onFetch"),
  $onForeignfetch: dartx.onForeignfetch = Symbol("dartx.onForeignfetch"),
  $onInstall: dartx.onInstall = Symbol("dartx.onInstall"),
  $backgroundFetch: dartx.backgroundFetch = Symbol("dartx.backgroundFetch"),
  $installing: dartx.installing = Symbol("dartx.installing"),
  $navigationPreload: dartx.navigationPreload = Symbol("dartx.navigationPreload"),
  $paymentManager: dartx.paymentManager = Symbol("dartx.paymentManager"),
  $pushManager: dartx.pushManager = Symbol("dartx.pushManager"),
  $sync: dartx.sync = Symbol("dartx.sync"),
  $waiting: dartx.waiting = Symbol("dartx.waiting"),
  $getNotifications: dartx.getNotifications = Symbol("dartx.getNotifications"),
  $showNotification: dartx.showNotification = Symbol("dartx.showNotification"),
  $unregister: dartx.unregister = Symbol("dartx.unregister"),
  $delegatesFocus: dartx.delegatesFocus = Symbol("dartx.delegatesFocus"),
  $olderShadowRoot: dartx.olderShadowRoot = Symbol("dartx.olderShadowRoot"),
  $console: dartx.console = Symbol("dartx.console"),
  $resetStyleInheritance: dartx.resetStyleInheritance = Symbol("dartx.resetStyleInheritance"),
  $applyAuthorStyles: dartx.applyAuthorStyles = Symbol("dartx.applyAuthorStyles"),
  $byteLength: dartx.byteLength = Symbol("dartx.byteLength"),
  $onConnect: dartx.onConnect = Symbol("dartx.onConnect"),
  _assignedNodes_1: dart.privateName(html$, "_assignedNodes_1"),
  _assignedNodes_2: dart.privateName(html$, "_assignedNodes_2"),
  $assignedNodes: dartx.assignedNodes = Symbol("dartx.assignedNodes"),
  $appendWindowEnd: dartx.appendWindowEnd = Symbol("dartx.appendWindowEnd"),
  $appendWindowStart: dartx.appendWindowStart = Symbol("dartx.appendWindowStart"),
  $timestampOffset: dartx.timestampOffset = Symbol("dartx.timestampOffset"),
  $trackDefaults: dartx.trackDefaults = Symbol("dartx.trackDefaults"),
  $updating: dartx.updating = Symbol("dartx.updating"),
  $appendBuffer: dartx.appendBuffer = Symbol("dartx.appendBuffer"),
  $appendTypedData: dartx.appendTypedData = Symbol("dartx.appendTypedData"),
  $addFromString: dartx.addFromString = Symbol("dartx.addFromString"),
  $addFromUri: dartx.addFromUri = Symbol("dartx.addFromUri"),
  $audioTrack: dartx.audioTrack = Symbol("dartx.audioTrack"),
  $continuous: dartx.continuous = Symbol("dartx.continuous"),
  $grammars: dartx.grammars = Symbol("dartx.grammars"),
  $interimResults: dartx.interimResults = Symbol("dartx.interimResults"),
  $maxAlternatives: dartx.maxAlternatives = Symbol("dartx.maxAlternatives"),
  $onAudioEnd: dartx.onAudioEnd = Symbol("dartx.onAudioEnd"),
  $onAudioStart: dartx.onAudioStart = Symbol("dartx.onAudioStart"),
  $onEnd: dartx.onEnd = Symbol("dartx.onEnd"),
  $onNoMatch: dartx.onNoMatch = Symbol("dartx.onNoMatch"),
  $onResult: dartx.onResult = Symbol("dartx.onResult"),
  $onSoundEnd: dartx.onSoundEnd = Symbol("dartx.onSoundEnd"),
  $onSoundStart: dartx.onSoundStart = Symbol("dartx.onSoundStart"),
  $onSpeechEnd: dartx.onSpeechEnd = Symbol("dartx.onSpeechEnd"),
  $onSpeechStart: dartx.onSpeechStart = Symbol("dartx.onSpeechStart"),
  $onStart: dartx.onStart = Symbol("dartx.onStart"),
  $confidence: dartx.confidence = Symbol("dartx.confidence"),
  $transcript: dartx.transcript = Symbol("dartx.transcript"),
  $emma: dartx.emma = Symbol("dartx.emma"),
  $interpretation: dartx.interpretation = Symbol("dartx.interpretation"),
  $resultIndex: dartx.resultIndex = Symbol("dartx.resultIndex"),
  $results: dartx.results = Symbol("dartx.results"),
  $isFinal: dartx.isFinal = Symbol("dartx.isFinal"),
  _getVoices: dart.privateName(html$, "_getVoices"),
  $getVoices: dartx.getVoices = Symbol("dartx.getVoices"),
  $pending: dartx.pending = Symbol("dartx.pending"),
  $speaking: dartx.speaking = Symbol("dartx.speaking"),
  $charIndex: dartx.charIndex = Symbol("dartx.charIndex"),
  $utterance: dartx.utterance = Symbol("dartx.utterance"),
  $pitch: dartx.pitch = Symbol("dartx.pitch"),
  $rate: dartx.rate = Symbol("dartx.rate"),
  $voice: dartx.voice = Symbol("dartx.voice"),
  $onBoundary: dartx.onBoundary = Symbol("dartx.onBoundary"),
  $onMark: dartx.onMark = Symbol("dartx.onMark"),
  $onResume: dartx.onResume = Symbol("dartx.onResume"),
  $localService: dartx.localService = Symbol("dartx.localService"),
  $voiceUri: dartx.voiceUri = Symbol("dartx.voiceUri"),
  _setItem: dart.privateName(html$, "_setItem"),
  _removeItem: dart.privateName(html$, "_removeItem"),
  _key: dart.privateName(html$, "_key"),
  _length$3: dart.privateName(html$, "_length"),
  _initStorageEvent: dart.privateName(html$, "_initStorageEvent"),
  $storageArea: dartx.storageArea = Symbol("dartx.storageArea"),
  $estimate: dartx.estimate = Symbol("dartx.estimate"),
  $persist: dartx.persist = Symbol("dartx.persist"),
  $matchMedium: dartx.matchMedium = Symbol("dartx.matchMedium"),
  $getProperties: dartx.getProperties = Symbol("dartx.getProperties"),
  $lastChance: dartx.lastChance = Symbol("dartx.lastChance"),
  $getTags: dartx.getTags = Symbol("dartx.getTags"),
  $cellIndex: dartx.cellIndex = Symbol("dartx.cellIndex"),
  $headers: dartx.headers = Symbol("dartx.headers"),
  $span: dartx.span = Symbol("dartx.span"),
  _tBodies: dart.privateName(html$, "_tBodies"),
  $tBodies: dartx.tBodies = Symbol("dartx.tBodies"),
  _rows: dart.privateName(html$, "_rows"),
  $rows: dartx.rows = Symbol("dartx.rows"),
  $insertRow: dartx.insertRow = Symbol("dartx.insertRow"),
  $addRow: dartx.addRow = Symbol("dartx.addRow"),
  _createCaption: dart.privateName(html$, "_createCaption"),
  $createCaption: dartx.createCaption = Symbol("dartx.createCaption"),
  _createTBody: dart.privateName(html$, "_createTBody"),
  $createTBody: dartx.createTBody = Symbol("dartx.createTBody"),
  _createTFoot: dart.privateName(html$, "_createTFoot"),
  $createTFoot: dartx.createTFoot = Symbol("dartx.createTFoot"),
  _createTHead: dart.privateName(html$, "_createTHead"),
  $createTHead: dartx.createTHead = Symbol("dartx.createTHead"),
  _insertRow: dart.privateName(html$, "_insertRow"),
  _nativeCreateTBody: dart.privateName(html$, "_nativeCreateTBody"),
  $caption: dartx.caption = Symbol("dartx.caption"),
  $tFoot: dartx.tFoot = Symbol("dartx.tFoot"),
  $tHead: dartx.tHead = Symbol("dartx.tHead"),
  $deleteCaption: dartx.deleteCaption = Symbol("dartx.deleteCaption"),
  $deleteRow: dartx.deleteRow = Symbol("dartx.deleteRow"),
  $deleteTFoot: dartx.deleteTFoot = Symbol("dartx.deleteTFoot"),
  $deleteTHead: dartx.deleteTHead = Symbol("dartx.deleteTHead"),
  _cells: dart.privateName(html$, "_cells"),
  $cells: dartx.cells = Symbol("dartx.cells"),
  $insertCell: dartx.insertCell = Symbol("dartx.insertCell"),
  $addCell: dartx.addCell = Symbol("dartx.addCell"),
  _insertCell: dart.privateName(html$, "_insertCell"),
  $sectionRowIndex: dartx.sectionRowIndex = Symbol("dartx.sectionRowIndex"),
  $deleteCell: dartx.deleteCell = Symbol("dartx.deleteCell"),
  $containerId: dartx.containerId = Symbol("dartx.containerId"),
  $containerName: dartx.containerName = Symbol("dartx.containerName"),
  $containerSrc: dartx.containerSrc = Symbol("dartx.containerSrc"),
  $containerType: dartx.containerType = Symbol("dartx.containerType"),
  $cols: dartx.cols = Symbol("dartx.cols"),
  $textLength: dartx.textLength = Symbol("dartx.textLength"),
  $wrap: dartx.wrap = Symbol("dartx.wrap"),
  _initTextEvent: dart.privateName(html$, "_initTextEvent"),
  $actualBoundingBoxAscent: dartx.actualBoundingBoxAscent = Symbol("dartx.actualBoundingBoxAscent"),
  $actualBoundingBoxDescent: dartx.actualBoundingBoxDescent = Symbol("dartx.actualBoundingBoxDescent"),
  $actualBoundingBoxLeft: dartx.actualBoundingBoxLeft = Symbol("dartx.actualBoundingBoxLeft"),
  $actualBoundingBoxRight: dartx.actualBoundingBoxRight = Symbol("dartx.actualBoundingBoxRight"),
  $alphabeticBaseline: dartx.alphabeticBaseline = Symbol("dartx.alphabeticBaseline"),
  $emHeightAscent: dartx.emHeightAscent = Symbol("dartx.emHeightAscent"),
  $emHeightDescent: dartx.emHeightDescent = Symbol("dartx.emHeightDescent"),
  $fontBoundingBoxAscent: dartx.fontBoundingBoxAscent = Symbol("dartx.fontBoundingBoxAscent"),
  $fontBoundingBoxDescent: dartx.fontBoundingBoxDescent = Symbol("dartx.fontBoundingBoxDescent"),
  $hangingBaseline: dartx.hangingBaseline = Symbol("dartx.hangingBaseline"),
  $ideographicBaseline: dartx.ideographicBaseline = Symbol("dartx.ideographicBaseline"),
  $activeCues: dartx.activeCues = Symbol("dartx.activeCues"),
  $cues: dartx.cues = Symbol("dartx.cues"),
  $addCue: dartx.addCue = Symbol("dartx.addCue"),
  $removeCue: dartx.removeCue = Symbol("dartx.removeCue"),
  $onCueChange: dartx.onCueChange = Symbol("dartx.onCueChange"),
  $endTime: dartx.endTime = Symbol("dartx.endTime"),
  $pauseOnExit: dartx.pauseOnExit = Symbol("dartx.pauseOnExit"),
  $onEnter: dartx.onEnter = Symbol("dartx.onEnter"),
  $onExit: dartx.onExit = Symbol("dartx.onExit"),
  $getCueById: dartx.getCueById = Symbol("dartx.getCueById"),
  $end: dartx.end = Symbol("dartx.end"),
  $force: dartx.force = Symbol("dartx.force"),
  $identifier: dartx.identifier = Symbol("dartx.identifier"),
  _radiusX: dart.privateName(html$, "_radiusX"),
  _radiusY: dart.privateName(html$, "_radiusY"),
  $rotationAngle: dartx.rotationAngle = Symbol("dartx.rotationAngle"),
  __clientX: dart.privateName(html$, "__clientX"),
  __clientY: dart.privateName(html$, "__clientY"),
  __screenX: dart.privateName(html$, "__screenX"),
  __screenY: dart.privateName(html$, "__screenY"),
  __pageX: dart.privateName(html$, "__pageX"),
  __pageY: dart.privateName(html$, "__pageY"),
  __radiusX: dart.privateName(html$, "__radiusX"),
  __radiusY: dart.privateName(html$, "__radiusY"),
  $radiusX: dartx.radiusX = Symbol("dartx.radiusX")
};
var S$3 = {
  $radiusY: dartx.radiusY = Symbol("dartx.radiusY"),
  $changedTouches: dartx.changedTouches = Symbol("dartx.changedTouches"),
  $targetTouches: dartx.targetTouches = Symbol("dartx.targetTouches"),
  $touches: dartx.touches = Symbol("dartx.touches"),
  $byteStreamTrackID: dartx.byteStreamTrackID = Symbol("dartx.byteStreamTrackID"),
  $kinds: dartx.kinds = Symbol("dartx.kinds"),
  $srclang: dartx.srclang = Symbol("dartx.srclang"),
  $propertyName: dartx.propertyName = Symbol("dartx.propertyName"),
  $pseudoElement: dartx.pseudoElement = Symbol("dartx.pseudoElement"),
  $currentNode: dartx.currentNode = Symbol("dartx.currentNode"),
  $notifyLockAcquired: dartx.notifyLockAcquired = Symbol("dartx.notifyLockAcquired"),
  $notifyLockReleased: dartx.notifyLockReleased = Symbol("dartx.notifyLockReleased"),
  $pull: dartx.pull = Symbol("dartx.pull"),
  $searchParams: dartx.searchParams = Symbol("dartx.searchParams"),
  $getDevices: dartx.getDevices = Symbol("dartx.getDevices"),
  $getTransformTo: dartx.getTransformTo = Symbol("dartx.getTransformTo"),
  $deviceName: dartx.deviceName = Symbol("dartx.deviceName"),
  $isExternal: dartx.isExternal = Symbol("dartx.isExternal"),
  $requestSession: dartx.requestSession = Symbol("dartx.requestSession"),
  $supportsSession: dartx.supportsSession = Symbol("dartx.supportsSession"),
  $device: dartx.device = Symbol("dartx.device"),
  $capabilities: dartx.capabilities = Symbol("dartx.capabilities"),
  $depthFar: dartx.depthFar = Symbol("dartx.depthFar"),
  $depthNear: dartx.depthNear = Symbol("dartx.depthNear"),
  $displayName: dartx.displayName = Symbol("dartx.displayName"),
  $isPresenting: dartx.isPresenting = Symbol("dartx.isPresenting"),
  $stageParameters: dartx.stageParameters = Symbol("dartx.stageParameters"),
  $cancelAnimationFrame: dartx.cancelAnimationFrame = Symbol("dartx.cancelAnimationFrame"),
  $exitPresent: dartx.exitPresent = Symbol("dartx.exitPresent"),
  $getEyeParameters: dartx.getEyeParameters = Symbol("dartx.getEyeParameters"),
  $getFrameData: dartx.getFrameData = Symbol("dartx.getFrameData"),
  $getLayers: dartx.getLayers = Symbol("dartx.getLayers"),
  $requestAnimationFrame: dartx.requestAnimationFrame = Symbol("dartx.requestAnimationFrame"),
  $requestPresent: dartx.requestPresent = Symbol("dartx.requestPresent"),
  $submitFrame: dartx.submitFrame = Symbol("dartx.submitFrame"),
  $canPresent: dartx.canPresent = Symbol("dartx.canPresent"),
  $hasExternalDisplay: dartx.hasExternalDisplay = Symbol("dartx.hasExternalDisplay"),
  $maxLayers: dartx.maxLayers = Symbol("dartx.maxLayers"),
  $renderHeight: dartx.renderHeight = Symbol("dartx.renderHeight"),
  $renderWidth: dartx.renderWidth = Symbol("dartx.renderWidth"),
  $leftProjectionMatrix: dartx.leftProjectionMatrix = Symbol("dartx.leftProjectionMatrix"),
  $leftViewMatrix: dartx.leftViewMatrix = Symbol("dartx.leftViewMatrix"),
  $rightProjectionMatrix: dartx.rightProjectionMatrix = Symbol("dartx.rightProjectionMatrix"),
  $rightViewMatrix: dartx.rightViewMatrix = Symbol("dartx.rightViewMatrix"),
  $bounds: dartx.bounds = Symbol("dartx.bounds"),
  $emulatedHeight: dartx.emulatedHeight = Symbol("dartx.emulatedHeight"),
  $exclusive: dartx.exclusive = Symbol("dartx.exclusive"),
  $requestFrameOfReference: dartx.requestFrameOfReference = Symbol("dartx.requestFrameOfReference"),
  $session: dartx.session = Symbol("dartx.session"),
  $geometry: dartx.geometry = Symbol("dartx.geometry"),
  $sittingToStandingTransform: dartx.sittingToStandingTransform = Symbol("dartx.sittingToStandingTransform"),
  $sizeX: dartx.sizeX = Symbol("dartx.sizeX"),
  $sizeZ: dartx.sizeZ = Symbol("dartx.sizeZ"),
  $badInput: dartx.badInput = Symbol("dartx.badInput"),
  $customError: dartx.customError = Symbol("dartx.customError"),
  $patternMismatch: dartx.patternMismatch = Symbol("dartx.patternMismatch"),
  $rangeOverflow: dartx.rangeOverflow = Symbol("dartx.rangeOverflow"),
  $rangeUnderflow: dartx.rangeUnderflow = Symbol("dartx.rangeUnderflow"),
  $stepMismatch: dartx.stepMismatch = Symbol("dartx.stepMismatch"),
  $tooLong: dartx.tooLong = Symbol("dartx.tooLong"),
  $tooShort: dartx.tooShort = Symbol("dartx.tooShort"),
  $typeMismatch: dartx.typeMismatch = Symbol("dartx.typeMismatch"),
  $valid: dartx.valid = Symbol("dartx.valid"),
  $valueMissing: dartx.valueMissing = Symbol("dartx.valueMissing"),
  $poster: dartx.poster = Symbol("dartx.poster"),
  $videoHeight: dartx.videoHeight = Symbol("dartx.videoHeight"),
  $videoWidth: dartx.videoWidth = Symbol("dartx.videoWidth"),
  $decodedFrameCount: dartx.decodedFrameCount = Symbol("dartx.decodedFrameCount"),
  $droppedFrameCount: dartx.droppedFrameCount = Symbol("dartx.droppedFrameCount"),
  $getVideoPlaybackQuality: dartx.getVideoPlaybackQuality = Symbol("dartx.getVideoPlaybackQuality"),
  $enterFullscreen: dartx.enterFullscreen = Symbol("dartx.enterFullscreen"),
  $corruptedVideoFrames: dartx.corruptedVideoFrames = Symbol("dartx.corruptedVideoFrames"),
  $creationTime: dartx.creationTime = Symbol("dartx.creationTime"),
  $droppedVideoFrames: dartx.droppedVideoFrames = Symbol("dartx.droppedVideoFrames"),
  $totalVideoFrames: dartx.totalVideoFrames = Symbol("dartx.totalVideoFrames"),
  $sourceBuffer: dartx.sourceBuffer = Symbol("dartx.sourceBuffer"),
  $pageLeft: dartx.pageLeft = Symbol("dartx.pageLeft"),
  $pageTop: dartx.pageTop = Symbol("dartx.pageTop"),
  $align: dartx.align = Symbol("dartx.align"),
  $line: dartx.line = Symbol("dartx.line"),
  $snapToLines: dartx.snapToLines = Symbol("dartx.snapToLines"),
  $vertical: dartx.vertical = Symbol("dartx.vertical"),
  $getCueAsHtml: dartx.getCueAsHtml = Symbol("dartx.getCueAsHtml"),
  $lines: dartx.lines = Symbol("dartx.lines"),
  $regionAnchorX: dartx.regionAnchorX = Symbol("dartx.regionAnchorX"),
  $regionAnchorY: dartx.regionAnchorY = Symbol("dartx.regionAnchorY"),
  $viewportAnchorX: dartx.viewportAnchorX = Symbol("dartx.viewportAnchorX"),
  $viewportAnchorY: dartx.viewportAnchorY = Symbol("dartx.viewportAnchorY"),
  $extensions: dartx.extensions = Symbol("dartx.extensions"),
  _deltaX: dart.privateName(html$, "_deltaX"),
  _deltaY: dart.privateName(html$, "_deltaY"),
  $deltaZ: dartx.deltaZ = Symbol("dartx.deltaZ"),
  $deltaMode: dartx.deltaMode = Symbol("dartx.deltaMode"),
  _wheelDelta: dart.privateName(html$, "_wheelDelta"),
  _wheelDeltaX: dart.privateName(html$, "_wheelDeltaX"),
  _hasInitMouseScrollEvent: dart.privateName(html$, "_hasInitMouseScrollEvent"),
  _initMouseScrollEvent: dart.privateName(html$, "_initMouseScrollEvent"),
  _hasInitWheelEvent: dart.privateName(html$, "_hasInitWheelEvent"),
  _initWheelEvent: dart.privateName(html$, "_initWheelEvent"),
  $animationFrame: dartx.animationFrame = Symbol("dartx.animationFrame"),
  $document: dartx.document = Symbol("dartx.document"),
  _open2: dart.privateName(html$, "_open2"),
  _open3: dart.privateName(html$, "_open3"),
  _location: dart.privateName(html$, "_location"),
  _ensureRequestAnimationFrame: dart.privateName(html$, "_ensureRequestAnimationFrame"),
  _requestAnimationFrame: dart.privateName(html$, "_requestAnimationFrame"),
  _cancelAnimationFrame: dart.privateName(html$, "_cancelAnimationFrame"),
  _requestFileSystem: dart.privateName(html$, "_requestFileSystem"),
  $requestFileSystem: dartx.requestFileSystem = Symbol("dartx.requestFileSystem"),
  $animationWorklet: dartx.animationWorklet = Symbol("dartx.animationWorklet"),
  $applicationCache: dartx.applicationCache = Symbol("dartx.applicationCache"),
  $audioWorklet: dartx.audioWorklet = Symbol("dartx.audioWorklet"),
  $cookieStore: dartx.cookieStore = Symbol("dartx.cookieStore"),
  $customElements: dartx.customElements = Symbol("dartx.customElements"),
  $defaultStatus: dartx.defaultStatus = Symbol("dartx.defaultStatus"),
  $defaultstatus: dartx.defaultstatus = Symbol("dartx.defaultstatus"),
  $external: dartx.external = Symbol("dartx.external"),
  $history: dartx.history = Symbol("dartx.history"),
  $innerHeight: dartx.innerHeight = Symbol("dartx.innerHeight"),
  $innerWidth: dartx.innerWidth = Symbol("dartx.innerWidth"),
  $localStorage: dartx.localStorage = Symbol("dartx.localStorage"),
  $locationbar: dartx.locationbar = Symbol("dartx.locationbar"),
  $menubar: dartx.menubar = Symbol("dartx.menubar"),
  $offscreenBuffering: dartx.offscreenBuffering = Symbol("dartx.offscreenBuffering"),
  _get_opener: dart.privateName(html$, "_get_opener"),
  $opener: dartx.opener = Symbol("dartx.opener"),
  $outerHeight: dartx.outerHeight = Symbol("dartx.outerHeight"),
  $outerWidth: dartx.outerWidth = Symbol("dartx.outerWidth"),
  _pageXOffset: dart.privateName(html$, "_pageXOffset"),
  _pageYOffset: dart.privateName(html$, "_pageYOffset"),
  _get_parent: dart.privateName(html$, "_get_parent"),
  $screenLeft: dartx.screenLeft = Symbol("dartx.screenLeft"),
  $screenTop: dartx.screenTop = Symbol("dartx.screenTop"),
  $screenX: dartx.screenX = Symbol("dartx.screenX"),
  $screenY: dartx.screenY = Symbol("dartx.screenY"),
  $scrollbars: dartx.scrollbars = Symbol("dartx.scrollbars"),
  _get_self: dart.privateName(html$, "_get_self"),
  $sessionStorage: dartx.sessionStorage = Symbol("dartx.sessionStorage"),
  $speechSynthesis: dartx.speechSynthesis = Symbol("dartx.speechSynthesis"),
  $statusbar: dartx.statusbar = Symbol("dartx.statusbar"),
  $styleMedia: dartx.styleMedia = Symbol("dartx.styleMedia"),
  $toolbar: dartx.toolbar = Symbol("dartx.toolbar"),
  _get_top: dart.privateName(html$, "_get_top"),
  $visualViewport: dartx.visualViewport = Symbol("dartx.visualViewport"),
  __getter___1: dart.privateName(html$, "__getter___1"),
  __getter___2: dart.privateName(html$, "__getter___2"),
  $alert: dartx.alert = Symbol("dartx.alert"),
  $cancelIdleCallback: dartx.cancelIdleCallback = Symbol("dartx.cancelIdleCallback"),
  $confirm: dartx.confirm = Symbol("dartx.confirm"),
  $find: dartx.find = Symbol("dartx.find"),
  $getComputedStyleMap: dartx.getComputedStyleMap = Symbol("dartx.getComputedStyleMap"),
  $getMatchedCssRules: dartx.getMatchedCssRules = Symbol("dartx.getMatchedCssRules"),
  $matchMedia: dartx.matchMedia = Symbol("dartx.matchMedia"),
  $moveBy: dartx.moveBy = Symbol("dartx.moveBy"),
  _openDatabase: dart.privateName(html$, "_openDatabase"),
  $print: dartx.print = Symbol("dartx.print"),
  _requestIdleCallback_1: dart.privateName(html$, "_requestIdleCallback_1"),
  _requestIdleCallback_2: dart.privateName(html$, "_requestIdleCallback_2"),
  $requestIdleCallback: dartx.requestIdleCallback = Symbol("dartx.requestIdleCallback"),
  $resizeBy: dartx.resizeBy = Symbol("dartx.resizeBy"),
  $resizeTo: dartx.resizeTo = Symbol("dartx.resizeTo"),
  _scroll_4: dart.privateName(html$, "_scroll_4"),
  _scroll_5: dart.privateName(html$, "_scroll_5"),
  _scrollBy_4: dart.privateName(html$, "_scrollBy_4"),
  _scrollBy_5: dart.privateName(html$, "_scrollBy_5"),
  _scrollTo_4: dart.privateName(html$, "_scrollTo_4"),
  _scrollTo_5: dart.privateName(html$, "_scrollTo_5"),
  __requestFileSystem: dart.privateName(html$, "__requestFileSystem"),
  _resolveLocalFileSystemUrl: dart.privateName(html$, "_resolveLocalFileSystemUrl"),
  $resolveLocalFileSystemUrl: dartx.resolveLocalFileSystemUrl = Symbol("dartx.resolveLocalFileSystemUrl"),
  $onContentLoaded: dartx.onContentLoaded = Symbol("dartx.onContentLoaded"),
  $onDeviceMotion: dartx.onDeviceMotion = Symbol("dartx.onDeviceMotion"),
  $onDeviceOrientation: dartx.onDeviceOrientation = Symbol("dartx.onDeviceOrientation"),
  $onPageHide: dartx.onPageHide = Symbol("dartx.onPageHide"),
  $onPageShow: dartx.onPageShow = Symbol("dartx.onPageShow"),
  $onAnimationEnd: dartx.onAnimationEnd = Symbol("dartx.onAnimationEnd"),
  $onAnimationIteration: dartx.onAnimationIteration = Symbol("dartx.onAnimationIteration"),
  $onAnimationStart: dartx.onAnimationStart = Symbol("dartx.onAnimationStart"),
  $onBeforeUnload: dartx.onBeforeUnload = Symbol("dartx.onBeforeUnload"),
  $openDatabase: dartx.openDatabase = Symbol("dartx.openDatabase"),
  $pageXOffset: dartx.pageXOffset = Symbol("dartx.pageXOffset"),
  $pageYOffset: dartx.pageYOffset = Symbol("dartx.pageYOffset"),
  $scrollX: dartx.scrollX = Symbol("dartx.scrollX"),
  $scrollY: dartx.scrollY = Symbol("dartx.scrollY"),
  _BeforeUnloadEventStreamProvider__eventType: dart.privateName(html$, "_BeforeUnloadEventStreamProvider._eventType"),
  _returnValue: dart.privateName(html$, "_returnValue"),
  wrapped: dart.privateName(html$, "_WrappedEvent.wrapped"),
  _eventType: dart.privateName(html$, "_BeforeUnloadEventStreamProvider._eventType"),
  _eventType$1: dart.privateName(html$, "_eventType"),
  $focused: dartx.focused = Symbol("dartx.focused"),
  $navigate: dartx.navigate = Symbol("dartx.navigate"),
  $createExpression: dartx.createExpression = Symbol("dartx.createExpression"),
  $createNSResolver: dartx.createNSResolver = Symbol("dartx.createNSResolver"),
  $evaluate: dartx.evaluate = Symbol("dartx.evaluate"),
  $lookupNamespaceUri: dartx.lookupNamespaceUri = Symbol("dartx.lookupNamespaceUri"),
  $booleanValue: dartx.booleanValue = Symbol("dartx.booleanValue"),
  $invalidIteratorState: dartx.invalidIteratorState = Symbol("dartx.invalidIteratorState"),
  $numberValue: dartx.numberValue = Symbol("dartx.numberValue"),
  $resultType: dartx.resultType = Symbol("dartx.resultType"),
  $singleNodeValue: dartx.singleNodeValue = Symbol("dartx.singleNodeValue"),
  $snapshotLength: dartx.snapshotLength = Symbol("dartx.snapshotLength"),
  $stringValue: dartx.stringValue = Symbol("dartx.stringValue"),
  $iterateNext: dartx.iterateNext = Symbol("dartx.iterateNext"),
  $snapshotItem: dartx.snapshotItem = Symbol("dartx.snapshotItem"),
  $serializeToString: dartx.serializeToString = Symbol("dartx.serializeToString"),
  $clearParameters: dartx.clearParameters = Symbol("dartx.clearParameters"),
  $getParameter: dartx.getParameter = Symbol("dartx.getParameter"),
  $importStylesheet: dartx.importStylesheet = Symbol("dartx.importStylesheet"),
  $removeParameter: dartx.removeParameter = Symbol("dartx.removeParameter"),
  $setParameter: dartx.setParameter = Symbol("dartx.setParameter"),
  $transformToDocument: dartx.transformToDocument = Symbol("dartx.transformToDocument"),
  $transformToFragment: dartx.transformToFragment = Symbol("dartx.transformToFragment"),
  $getBudget: dartx.getBudget = Symbol("dartx.getBudget"),
  $getCost: dartx.getCost = Symbol("dartx.getCost"),
  $reserve: dartx.reserve = Symbol("dartx.reserve"),
  $read: dartx.read = Symbol("dartx.read"),
  $readText: dartx.readText = Symbol("dartx.readText"),
  $writeText: dartx.writeText = Symbol("dartx.writeText"),
  $getNamedItem: dartx.getNamedItem = Symbol("dartx.getNamedItem"),
  $getNamedItemNS: dartx.getNamedItemNS = Symbol("dartx.getNamedItemNS"),
  $removeNamedItem: dartx.removeNamedItem = Symbol("dartx.removeNamedItem"),
  $removeNamedItemNS: dartx.removeNamedItemNS = Symbol("dartx.removeNamedItemNS"),
  $setNamedItem: dartx.setNamedItem = Symbol("dartx.setNamedItem"),
  $setNamedItemNS: dartx.setNamedItemNS = Symbol("dartx.setNamedItemNS"),
  $cache: dartx.cache = Symbol("dartx.cache"),
  $redirect: dartx.redirect = Symbol("dartx.redirect"),
  _matches: dart.privateName(html$, "_matches"),
  _namespace: dart.privateName(html$, "_namespace"),
  _attr: dart.privateName(html$, "_attr"),
  _strip: dart.privateName(html$, "_strip"),
  _toHyphenedName: dart.privateName(html$, "_toHyphenedName"),
  _toCamelCase: dart.privateName(html$, "_toCamelCase"),
  _addOrSubtractToBoxModel: dart.privateName(html$, "_addOrSubtractToBoxModel"),
  _elementList: dart.privateName(html$, "_elementList"),
  _sets: dart.privateName(html$, "_sets"),
  _validateToken: dart.privateName(html_common, "_validateToken"),
  _unit: dart.privateName(html$, "_unit"),
  _eventType$2: dart.privateName(html$, "EventStreamProvider._eventType"),
  _target$2: dart.privateName(html$, "_target"),
  _useCapture: dart.privateName(html$, "_useCapture"),
  _targetList: dart.privateName(html$, "_targetList"),
  _pauseCount$1: dart.privateName(html$, "_pauseCount"),
  _onData$3: dart.privateName(html$, "_onData"),
  _tryResume: dart.privateName(html$, "_tryResume"),
  _canceled: dart.privateName(html$, "_canceled"),
  _unlisten: dart.privateName(html$, "_unlisten"),
  _type$5: dart.privateName(html$, "_type"),
  _streamController: dart.privateName(html$, "_streamController"),
  _parent$2: dart.privateName(html$, "_parent"),
  _currentTarget: dart.privateName(html$, "_currentTarget"),
  _shadowAltKey: dart.privateName(html$, "_shadowAltKey"),
  _shadowCharCode: dart.privateName(html$, "_shadowCharCode"),
  _shadowKeyCode: dart.privateName(html$, "_shadowKeyCode"),
  _realAltKey: dart.privateName(html$, "_realAltKey"),
  _realCharCode: dart.privateName(html$, "_realCharCode"),
  _realKeyCode: dart.privateName(html$, "_realKeyCode"),
  _shadowKeyIdentifier: dart.privateName(html$, "_shadowKeyIdentifier"),
  _keyIdentifier: dart.privateName(html$, "_keyIdentifier"),
  _controller$2: dart.privateName(html$, "_controller"),
  _subscriptions: dart.privateName(html$, "_subscriptions"),
  _eventTypeGetter: dart.privateName(html$, "_CustomEventStreamProvider._eventTypeGetter"),
  _eventTypeGetter$1: dart.privateName(html$, "_eventTypeGetter"),
  _keyDownList: dart.privateName(html$, "_keyDownList"),
  _stream$3: dart.privateName(html$, "_stream"),
  _capsLockOn: dart.privateName(html$, "_capsLockOn"),
  _determineKeyCodeForKeypress: dart.privateName(html$, "_determineKeyCodeForKeypress"),
  _findCharCodeKeyDown: dart.privateName(html$, "_findCharCodeKeyDown"),
  _firesKeyPressEvent: dart.privateName(html$, "_firesKeyPressEvent"),
  _normalizeKeyCodes: dart.privateName(html$, "_normalizeKeyCodes"),
  _validators: dart.privateName(html$, "_validators"),
  _templateAttrs: dart.privateName(html$, "_templateAttrs"),
  _list$19: dart.privateName(html$, "_list"),
  _iterator$3: dart.privateName(html$, "_iterator"),
  _current$4: dart.privateName(html$, "_current"),
  _array: dart.privateName(html$, "_array"),
  _isConsoleDefined: dart.privateName(html$, "_isConsoleDefined"),
  _interceptor: dart.privateName(html$, "_interceptor"),
  _constructor: dart.privateName(html$, "_constructor"),
  _nativeType: dart.privateName(html$, "_nativeType"),
  _window: dart.privateName(html$, "_window"),
  _history: dart.privateName(html$, "_history"),
  _hiddenAnchor: dart.privateName(html$, "_hiddenAnchor"),
  _loc: dart.privateName(html$, "_loc"),
  _removeNode: dart.privateName(html$, "_removeNode"),
  _sanitizeElement: dart.privateName(html$, "_sanitizeElement"),
  _sanitizeUntrustedElement: dart.privateName(html$, "_sanitizeUntrustedElement"),
  alpha: dart.privateName(html_common, "ContextAttributes.alpha"),
  antialias: dart.privateName(html_common, "ContextAttributes.antialias"),
  depth: dart.privateName(html_common, "ContextAttributes.depth"),
  premultipliedAlpha: dart.privateName(html_common, "ContextAttributes.premultipliedAlpha"),
  preserveDrawingBuffer: dart.privateName(html_common, "ContextAttributes.preserveDrawingBuffer"),
  stencil: dart.privateName(html_common, "ContextAttributes.stencil"),
  failIfMajorPerformanceCaveat: dart.privateName(html_common, "ContextAttributes.failIfMajorPerformanceCaveat"),
  data$1: dart.privateName(html_common, "_TypedImageData.data"),
  height$1: dart.privateName(html_common, "_TypedImageData.height"),
  width$1: dart.privateName(html_common, "_TypedImageData.width"),
  _childNodes: dart.privateName(html_common, "_childNodes"),
  _node: dart.privateName(html_common, "_node"),
  _iterable$2: dart.privateName(html_common, "_iterable"),
  _filtered: dart.privateName(html_common, "_filtered"),
  $farthestViewportElement: dartx.farthestViewportElement = Symbol("dartx.farthestViewportElement"),
  $nearestViewportElement: dartx.nearestViewportElement = Symbol("dartx.nearestViewportElement"),
  $getBBox: dartx.getBBox = Symbol("dartx.getBBox"),
  $getCtm: dartx.getCtm = Symbol("dartx.getCtm"),
  $getScreenCtm: dartx.getScreenCtm = Symbol("dartx.getScreenCtm"),
  $requiredExtensions: dartx.requiredExtensions = Symbol("dartx.requiredExtensions"),
  $systemLanguage: dartx.systemLanguage = Symbol("dartx.systemLanguage"),
  _children$1: dart.privateName(svg$, "_children"),
  _svgClassName: dart.privateName(svg$, "_svgClassName"),
  $ownerSvgElement: dartx.ownerSvgElement = Symbol("dartx.ownerSvgElement"),
  $viewportElement: dartx.viewportElement = Symbol("dartx.viewportElement"),
  $unitType: dartx.unitType = Symbol("dartx.unitType"),
  $valueAsString: dartx.valueAsString = Symbol("dartx.valueAsString"),
  $valueInSpecifiedUnits: dartx.valueInSpecifiedUnits = Symbol("dartx.valueInSpecifiedUnits"),
  $convertToSpecifiedUnits: dartx.convertToSpecifiedUnits = Symbol("dartx.convertToSpecifiedUnits"),
  $newValueSpecifiedUnits: dartx.newValueSpecifiedUnits = Symbol("dartx.newValueSpecifiedUnits"),
  $targetElement: dartx.targetElement = Symbol("dartx.targetElement"),
  $beginElement: dartx.beginElement = Symbol("dartx.beginElement"),
  $beginElementAt: dartx.beginElementAt = Symbol("dartx.beginElementAt"),
  $endElement: dartx.endElement = Symbol("dartx.endElement"),
  $endElementAt: dartx.endElementAt = Symbol("dartx.endElementAt"),
  $getCurrentTime: dartx.getCurrentTime = Symbol("dartx.getCurrentTime"),
  $getSimpleDuration: dartx.getSimpleDuration = Symbol("dartx.getSimpleDuration"),
  $getStartTime: dartx.getStartTime = Symbol("dartx.getStartTime"),
  $animVal: dartx.animVal = Symbol("dartx.animVal"),
  $baseVal: dartx.baseVal = Symbol("dartx.baseVal"),
  $cx: dartx.cx = Symbol("dartx.cx"),
  $cy: dartx.cy = Symbol("dartx.cy"),
  $r: dartx.r = Symbol("dartx.r"),
  $pathLength: dartx.pathLength = Symbol("dartx.pathLength"),
  $getPointAtLength: dartx.getPointAtLength = Symbol("dartx.getPointAtLength"),
  $getTotalLength: dartx.getTotalLength = Symbol("dartx.getTotalLength"),
  $isPointInFill: dartx.isPointInFill = Symbol("dartx.isPointInFill"),
  $clipPathUnits: dartx.clipPathUnits = Symbol("dartx.clipPathUnits"),
  $rx: dartx.rx = Symbol("dartx.rx"),
  $ry: dartx.ry = Symbol("dartx.ry"),
  $in1: dartx.in1 = Symbol("dartx.in1"),
  $in2: dartx.in2 = Symbol("dartx.in2"),
  $k1: dartx.k1 = Symbol("dartx.k1"),
  $k2: dartx.k2 = Symbol("dartx.k2"),
  $k3: dartx.k3 = Symbol("dartx.k3"),
  $k4: dartx.k4 = Symbol("dartx.k4"),
  $operator: dartx.operator = Symbol("dartx.operator"),
  $bias: dartx.bias = Symbol("dartx.bias"),
  $divisor: dartx.divisor = Symbol("dartx.divisor"),
  $edgeMode: dartx.edgeMode = Symbol("dartx.edgeMode"),
  $kernelMatrix: dartx.kernelMatrix = Symbol("dartx.kernelMatrix"),
  $kernelUnitLengthX: dartx.kernelUnitLengthX = Symbol("dartx.kernelUnitLengthX"),
  $kernelUnitLengthY: dartx.kernelUnitLengthY = Symbol("dartx.kernelUnitLengthY"),
  $orderX: dartx.orderX = Symbol("dartx.orderX"),
  $orderY: dartx.orderY = Symbol("dartx.orderY"),
  $preserveAlpha: dartx.preserveAlpha = Symbol("dartx.preserveAlpha"),
  $targetX: dartx.targetX = Symbol("dartx.targetX"),
  $targetY: dartx.targetY = Symbol("dartx.targetY"),
  $diffuseConstant: dartx.diffuseConstant = Symbol("dartx.diffuseConstant"),
  $surfaceScale: dartx.surfaceScale = Symbol("dartx.surfaceScale"),
  $xChannelSelector: dartx.xChannelSelector = Symbol("dartx.xChannelSelector"),
  $yChannelSelector: dartx.yChannelSelector = Symbol("dartx.yChannelSelector"),
  $azimuth: dartx.azimuth = Symbol("dartx.azimuth"),
  $elevation: dartx.elevation = Symbol("dartx.elevation"),
  $stdDeviationX: dartx.stdDeviationX = Symbol("dartx.stdDeviationX"),
  $stdDeviationY: dartx.stdDeviationY = Symbol("dartx.stdDeviationY"),
  $setStdDeviation: dartx.setStdDeviation = Symbol("dartx.setStdDeviation"),
  $preserveAspectRatio: dartx.preserveAspectRatio = Symbol("dartx.preserveAspectRatio"),
  $dx: dartx.dx = Symbol("dartx.dx"),
  $dy: dartx.dy = Symbol("dartx.dy"),
  $specularConstant: dartx.specularConstant = Symbol("dartx.specularConstant"),
  $specularExponent: dartx.specularExponent = Symbol("dartx.specularExponent"),
  $limitingConeAngle: dartx.limitingConeAngle = Symbol("dartx.limitingConeAngle"),
  $pointsAtX: dartx.pointsAtX = Symbol("dartx.pointsAtX"),
  $pointsAtY: dartx.pointsAtY = Symbol("dartx.pointsAtY"),
  $pointsAtZ: dartx.pointsAtZ = Symbol("dartx.pointsAtZ"),
  $baseFrequencyX: dartx.baseFrequencyX = Symbol("dartx.baseFrequencyX"),
  $baseFrequencyY: dartx.baseFrequencyY = Symbol("dartx.baseFrequencyY"),
  $numOctaves: dartx.numOctaves = Symbol("dartx.numOctaves"),
  $seed: dartx.seed = Symbol("dartx.seed"),
  $stitchTiles: dartx.stitchTiles = Symbol("dartx.stitchTiles"),
  $filterUnits: dartx.filterUnits = Symbol("dartx.filterUnits"),
  $primitiveUnits: dartx.primitiveUnits = Symbol("dartx.primitiveUnits"),
  $viewBox: dartx.viewBox = Symbol("dartx.viewBox"),
  $numberOfItems: dartx.numberOfItems = Symbol("dartx.numberOfItems"),
  __setter__$1: dart.privateName(svg$, "__setter__"),
  $appendItem: dartx.appendItem = Symbol("dartx.appendItem"),
  $getItem: dartx.getItem = Symbol("dartx.getItem"),
  $initialize: dartx.initialize = Symbol("dartx.initialize"),
  $insertItemBefore: dartx.insertItemBefore = Symbol("dartx.insertItemBefore"),
  $removeItem: dartx.removeItem = Symbol("dartx.removeItem"),
  $replaceItem: dartx.replaceItem = Symbol("dartx.replaceItem"),
  $x1: dartx.x1 = Symbol("dartx.x1"),
  $x2: dartx.x2 = Symbol("dartx.x2"),
  $y1: dartx.y1 = Symbol("dartx.y1"),
  $y2: dartx.y2 = Symbol("dartx.y2"),
  $gradientTransform: dartx.gradientTransform = Symbol("dartx.gradientTransform"),
  $gradientUnits: dartx.gradientUnits = Symbol("dartx.gradientUnits"),
  $spreadMethod: dartx.spreadMethod = Symbol("dartx.spreadMethod"),
  $markerHeight: dartx.markerHeight = Symbol("dartx.markerHeight"),
  $markerUnits: dartx.markerUnits = Symbol("dartx.markerUnits"),
  $markerWidth: dartx.markerWidth = Symbol("dartx.markerWidth"),
  $orientAngle: dartx.orientAngle = Symbol("dartx.orientAngle"),
  $orientType: dartx.orientType = Symbol("dartx.orientType"),
  $refX: dartx.refX = Symbol("dartx.refX"),
  $refY: dartx.refY = Symbol("dartx.refY"),
  $setOrientToAngle: dartx.setOrientToAngle = Symbol("dartx.setOrientToAngle"),
  $setOrientToAuto: dartx.setOrientToAuto = Symbol("dartx.setOrientToAuto"),
  $maskContentUnits: dartx.maskContentUnits = Symbol("dartx.maskContentUnits"),
  $maskUnits: dartx.maskUnits = Symbol("dartx.maskUnits"),
  $scaleNonUniform: dartx.scaleNonUniform = Symbol("dartx.scaleNonUniform"),
  $patternContentUnits: dartx.patternContentUnits = Symbol("dartx.patternContentUnits"),
  $patternTransform: dartx.patternTransform = Symbol("dartx.patternTransform"),
  $patternUnits: dartx.patternUnits = Symbol("dartx.patternUnits"),
  $animatedPoints: dartx.animatedPoints = Symbol("dartx.animatedPoints"),
  $points: dartx.points = Symbol("dartx.points"),
  $meetOrSlice: dartx.meetOrSlice = Symbol("dartx.meetOrSlice"),
  $fr: dartx.fr = Symbol("dartx.fr"),
  $fx: dartx.fx = Symbol("dartx.fx"),
  $fy: dartx.fy = Symbol("dartx.fy"),
  $gradientOffset: dartx.gradientOffset = Symbol("dartx.gradientOffset"),
  _element$3: dart.privateName(svg$, "_element"),
  $currentScale: dartx.currentScale = Symbol("dartx.currentScale"),
  $currentTranslate: dartx.currentTranslate = Symbol("dartx.currentTranslate"),
  $animationsPaused: dartx.animationsPaused = Symbol("dartx.animationsPaused"),
  $checkEnclosure: dartx.checkEnclosure = Symbol("dartx.checkEnclosure"),
  $checkIntersection: dartx.checkIntersection = Symbol("dartx.checkIntersection"),
  $createSvgAngle: dartx.createSvgAngle = Symbol("dartx.createSvgAngle"),
  $createSvgLength: dartx.createSvgLength = Symbol("dartx.createSvgLength"),
  $createSvgMatrix: dartx.createSvgMatrix = Symbol("dartx.createSvgMatrix"),
  $createSvgNumber: dartx.createSvgNumber = Symbol("dartx.createSvgNumber"),
  $createSvgPoint: dartx.createSvgPoint = Symbol("dartx.createSvgPoint"),
  $createSvgRect: dartx.createSvgRect = Symbol("dartx.createSvgRect"),
  $createSvgTransform: dartx.createSvgTransform = Symbol("dartx.createSvgTransform"),
  $createSvgTransformFromMatrix: dartx.createSvgTransformFromMatrix = Symbol("dartx.createSvgTransformFromMatrix"),
  $deselectAll: dartx.deselectAll = Symbol("dartx.deselectAll"),
  $forceRedraw: dartx.forceRedraw = Symbol("dartx.forceRedraw"),
  $getEnclosureList: dartx.getEnclosureList = Symbol("dartx.getEnclosureList"),
  $getIntersectionList: dartx.getIntersectionList = Symbol("dartx.getIntersectionList"),
  $pauseAnimations: dartx.pauseAnimations = Symbol("dartx.pauseAnimations"),
  $setCurrentTime: dartx.setCurrentTime = Symbol("dartx.setCurrentTime"),
  $suspendRedraw: dartx.suspendRedraw = Symbol("dartx.suspendRedraw"),
  $unpauseAnimations: dartx.unpauseAnimations = Symbol("dartx.unpauseAnimations"),
  $unsuspendRedraw: dartx.unsuspendRedraw = Symbol("dartx.unsuspendRedraw"),
  $unsuspendRedrawAll: dartx.unsuspendRedrawAll = Symbol("dartx.unsuspendRedrawAll"),
  $zoomAndPan: dartx.zoomAndPan = Symbol("dartx.zoomAndPan"),
  $lengthAdjust: dartx.lengthAdjust = Symbol("dartx.lengthAdjust"),
  $getCharNumAtPosition: dartx.getCharNumAtPosition = Symbol("dartx.getCharNumAtPosition"),
  $getComputedTextLength: dartx.getComputedTextLength = Symbol("dartx.getComputedTextLength"),
  $getEndPositionOfChar: dartx.getEndPositionOfChar = Symbol("dartx.getEndPositionOfChar"),
  $getExtentOfChar: dartx.getExtentOfChar = Symbol("dartx.getExtentOfChar"),
  $getNumberOfChars: dartx.getNumberOfChars = Symbol("dartx.getNumberOfChars"),
  $getRotationOfChar: dartx.getRotationOfChar = Symbol("dartx.getRotationOfChar"),
  $getStartPositionOfChar: dartx.getStartPositionOfChar = Symbol("dartx.getStartPositionOfChar"),
  $getSubStringLength: dartx.getSubStringLength = Symbol("dartx.getSubStringLength"),
  $selectSubString: dartx.selectSubString = Symbol("dartx.selectSubString"),
  $spacing: dartx.spacing = Symbol("dartx.spacing"),
  $setMatrix: dartx.setMatrix = Symbol("dartx.setMatrix"),
  $setRotate: dartx.setRotate = Symbol("dartx.setRotate"),
  $setScale: dartx.setScale = Symbol("dartx.setScale"),
  $setSkewX: dartx.setSkewX = Symbol("dartx.setSkewX"),
  $setSkewY: dartx.setSkewY = Symbol("dartx.setSkewY"),
  $setTranslate: dartx.setTranslate = Symbol("dartx.setTranslate"),
  $consolidate: dartx.consolidate = Symbol("dartx.consolidate"),
  $fftSize: dartx.fftSize = Symbol("dartx.fftSize"),
  $frequencyBinCount: dartx.frequencyBinCount = Symbol("dartx.frequencyBinCount"),
  $maxDecibels: dartx.maxDecibels = Symbol("dartx.maxDecibels"),
  $minDecibels: dartx.minDecibels = Symbol("dartx.minDecibels"),
  $smoothingTimeConstant: dartx.smoothingTimeConstant = Symbol("dartx.smoothingTimeConstant"),
  $getByteFrequencyData: dartx.getByteFrequencyData = Symbol("dartx.getByteFrequencyData"),
  $getByteTimeDomainData: dartx.getByteTimeDomainData = Symbol("dartx.getByteTimeDomainData"),
  $getFloatFrequencyData: dartx.getFloatFrequencyData = Symbol("dartx.getFloatFrequencyData"),
  $getFloatTimeDomainData: dartx.getFloatTimeDomainData = Symbol("dartx.getFloatTimeDomainData"),
  $channelCount: dartx.channelCount = Symbol("dartx.channelCount"),
  $channelCountMode: dartx.channelCountMode = Symbol("dartx.channelCountMode"),
  $channelInterpretation: dartx.channelInterpretation = Symbol("dartx.channelInterpretation"),
  $context: dartx.context = Symbol("dartx.context"),
  $numberOfInputs: dartx.numberOfInputs = Symbol("dartx.numberOfInputs"),
  $numberOfOutputs: dartx.numberOfOutputs = Symbol("dartx.numberOfOutputs"),
  _connect: dart.privateName(web_audio, "_connect"),
  $connectNode: dartx.connectNode = Symbol("dartx.connectNode"),
  $connectParam: dartx.connectParam = Symbol("dartx.connectParam"),
  $numberOfChannels: dartx.numberOfChannels = Symbol("dartx.numberOfChannels"),
  $sampleRate: dartx.sampleRate = Symbol("dartx.sampleRate"),
  $copyFromChannel: dartx.copyFromChannel = Symbol("dartx.copyFromChannel"),
  $copyToChannel: dartx.copyToChannel = Symbol("dartx.copyToChannel"),
  $getChannelData: dartx.getChannelData = Symbol("dartx.getChannelData"),
  $detune: dartx.detune = Symbol("dartx.detune"),
  $loopEnd: dartx.loopEnd = Symbol("dartx.loopEnd"),
  $loopStart: dartx.loopStart = Symbol("dartx.loopStart"),
  $start2: dartx.start2 = Symbol("dartx.start2"),
  $baseLatency: dartx.baseLatency = Symbol("dartx.baseLatency"),
  _getOutputTimestamp_1: dart.privateName(web_audio, "_getOutputTimestamp_1"),
  $getOutputTimestamp: dartx.getOutputTimestamp = Symbol("dartx.getOutputTimestamp"),
  $suspend: dartx.suspend = Symbol("dartx.suspend"),
  $createGain: dartx.createGain = Symbol("dartx.createGain"),
  $createScriptProcessor: dartx.createScriptProcessor = Symbol("dartx.createScriptProcessor"),
  _decodeAudioData: dart.privateName(web_audio, "_decodeAudioData"),
  $decodeAudioData: dartx.decodeAudioData = Symbol("dartx.decodeAudioData"),
  $destination: dartx.destination = Symbol("dartx.destination"),
  $listener: dartx.listener = Symbol("dartx.listener"),
  $createAnalyser: dartx.createAnalyser = Symbol("dartx.createAnalyser"),
  $createBiquadFilter: dartx.createBiquadFilter = Symbol("dartx.createBiquadFilter"),
  $createBuffer: dartx.createBuffer = Symbol("dartx.createBuffer")
};
var S$4 = {
  $createBufferSource: dartx.createBufferSource = Symbol("dartx.createBufferSource"),
  $createChannelMerger: dartx.createChannelMerger = Symbol("dartx.createChannelMerger"),
  $createChannelSplitter: dartx.createChannelSplitter = Symbol("dartx.createChannelSplitter"),
  $createConstantSource: dartx.createConstantSource = Symbol("dartx.createConstantSource"),
  $createConvolver: dartx.createConvolver = Symbol("dartx.createConvolver"),
  $createDelay: dartx.createDelay = Symbol("dartx.createDelay"),
  $createDynamicsCompressor: dartx.createDynamicsCompressor = Symbol("dartx.createDynamicsCompressor"),
  $createIirFilter: dartx.createIirFilter = Symbol("dartx.createIirFilter"),
  $createMediaElementSource: dartx.createMediaElementSource = Symbol("dartx.createMediaElementSource"),
  $createMediaStreamDestination: dartx.createMediaStreamDestination = Symbol("dartx.createMediaStreamDestination"),
  $createMediaStreamSource: dartx.createMediaStreamSource = Symbol("dartx.createMediaStreamSource"),
  $createOscillator: dartx.createOscillator = Symbol("dartx.createOscillator"),
  $createPanner: dartx.createPanner = Symbol("dartx.createPanner"),
  _createPeriodicWave_1: dart.privateName(web_audio, "_createPeriodicWave_1"),
  _createPeriodicWave_2: dart.privateName(web_audio, "_createPeriodicWave_2"),
  $createPeriodicWave: dartx.createPeriodicWave = Symbol("dartx.createPeriodicWave"),
  $createStereoPanner: dartx.createStereoPanner = Symbol("dartx.createStereoPanner"),
  $createWaveShaper: dartx.createWaveShaper = Symbol("dartx.createWaveShaper"),
  $maxChannelCount: dartx.maxChannelCount = Symbol("dartx.maxChannelCount"),
  $forwardX: dartx.forwardX = Symbol("dartx.forwardX"),
  $forwardY: dartx.forwardY = Symbol("dartx.forwardY"),
  $forwardZ: dartx.forwardZ = Symbol("dartx.forwardZ"),
  $positionZ: dartx.positionZ = Symbol("dartx.positionZ"),
  $upX: dartx.upX = Symbol("dartx.upX"),
  $upY: dartx.upY = Symbol("dartx.upY"),
  $upZ: dartx.upZ = Symbol("dartx.upZ"),
  $setOrientation: dartx.setOrientation = Symbol("dartx.setOrientation"),
  $maxValue: dartx.maxValue = Symbol("dartx.maxValue"),
  $minValue: dartx.minValue = Symbol("dartx.minValue"),
  $cancelAndHoldAtTime: dartx.cancelAndHoldAtTime = Symbol("dartx.cancelAndHoldAtTime"),
  $cancelScheduledValues: dartx.cancelScheduledValues = Symbol("dartx.cancelScheduledValues"),
  $exponentialRampToValueAtTime: dartx.exponentialRampToValueAtTime = Symbol("dartx.exponentialRampToValueAtTime"),
  $linearRampToValueAtTime: dartx.linearRampToValueAtTime = Symbol("dartx.linearRampToValueAtTime"),
  $setTargetAtTime: dartx.setTargetAtTime = Symbol("dartx.setTargetAtTime"),
  $setValueAtTime: dartx.setValueAtTime = Symbol("dartx.setValueAtTime"),
  $setValueCurveAtTime: dartx.setValueCurveAtTime = Symbol("dartx.setValueCurveAtTime"),
  _getItem$1: dart.privateName(web_audio, "_getItem"),
  $inputBuffer: dartx.inputBuffer = Symbol("dartx.inputBuffer"),
  $outputBuffer: dartx.outputBuffer = Symbol("dartx.outputBuffer"),
  $playbackTime: dartx.playbackTime = Symbol("dartx.playbackTime"),
  __getter__$1: dart.privateName(web_audio, "__getter__"),
  $registerProcessor: dartx.registerProcessor = Symbol("dartx.registerProcessor"),
  $parameters: dartx.parameters = Symbol("dartx.parameters"),
  $Q: dartx.Q = Symbol("dartx.Q"),
  $frequency: dartx.frequency = Symbol("dartx.frequency"),
  $gain: dartx.gain = Symbol("dartx.gain"),
  $getFrequencyResponse: dartx.getFrequencyResponse = Symbol("dartx.getFrequencyResponse"),
  $normalize: dartx.normalize = Symbol("dartx.normalize"),
  $delayTime: dartx.delayTime = Symbol("dartx.delayTime"),
  $attack: dartx.attack = Symbol("dartx.attack"),
  $knee: dartx.knee = Symbol("dartx.knee"),
  $ratio: dartx.ratio = Symbol("dartx.ratio"),
  $reduction: dartx.reduction = Symbol("dartx.reduction"),
  $release: dartx.release = Symbol("dartx.release"),
  $threshold: dartx.threshold = Symbol("dartx.threshold"),
  $mediaElement: dartx.mediaElement = Symbol("dartx.mediaElement"),
  $mediaStream: dartx.mediaStream = Symbol("dartx.mediaStream"),
  $renderedBuffer: dartx.renderedBuffer = Symbol("dartx.renderedBuffer"),
  $startRendering: dartx.startRendering = Symbol("dartx.startRendering"),
  $suspendFor: dartx.suspendFor = Symbol("dartx.suspendFor"),
  $setPeriodicWave: dartx.setPeriodicWave = Symbol("dartx.setPeriodicWave"),
  $coneInnerAngle: dartx.coneInnerAngle = Symbol("dartx.coneInnerAngle"),
  $coneOuterAngle: dartx.coneOuterAngle = Symbol("dartx.coneOuterAngle"),
  $coneOuterGain: dartx.coneOuterGain = Symbol("dartx.coneOuterGain"),
  $distanceModel: dartx.distanceModel = Symbol("dartx.distanceModel"),
  $maxDistance: dartx.maxDistance = Symbol("dartx.maxDistance"),
  $orientationX: dartx.orientationX = Symbol("dartx.orientationX"),
  $orientationY: dartx.orientationY = Symbol("dartx.orientationY"),
  $orientationZ: dartx.orientationZ = Symbol("dartx.orientationZ"),
  $panningModel: dartx.panningModel = Symbol("dartx.panningModel"),
  $refDistance: dartx.refDistance = Symbol("dartx.refDistance"),
  $rolloffFactor: dartx.rolloffFactor = Symbol("dartx.rolloffFactor"),
  $bufferSize: dartx.bufferSize = Symbol("dartx.bufferSize"),
  $setEventListener: dartx.setEventListener = Symbol("dartx.setEventListener"),
  $onAudioProcess: dartx.onAudioProcess = Symbol("dartx.onAudioProcess"),
  $pan: dartx.pan = Symbol("dartx.pan"),
  $curve: dartx.curve = Symbol("dartx.curve"),
  $oversample: dartx.oversample = Symbol("dartx.oversample"),
  $drawArraysInstancedAngle: dartx.drawArraysInstancedAngle = Symbol("dartx.drawArraysInstancedAngle"),
  $drawElementsInstancedAngle: dartx.drawElementsInstancedAngle = Symbol("dartx.drawElementsInstancedAngle"),
  $vertexAttribDivisorAngle: dartx.vertexAttribDivisorAngle = Symbol("dartx.vertexAttribDivisorAngle"),
  $offscreenCanvas: dartx.offscreenCanvas = Symbol("dartx.offscreenCanvas"),
  $statusMessage: dartx.statusMessage = Symbol("dartx.statusMessage"),
  $getTranslatedShaderSource: dartx.getTranslatedShaderSource = Symbol("dartx.getTranslatedShaderSource"),
  $drawBuffersWebgl: dartx.drawBuffersWebgl = Symbol("dartx.drawBuffersWebgl"),
  $beginQueryExt: dartx.beginQueryExt = Symbol("dartx.beginQueryExt"),
  $createQueryExt: dartx.createQueryExt = Symbol("dartx.createQueryExt"),
  $deleteQueryExt: dartx.deleteQueryExt = Symbol("dartx.deleteQueryExt"),
  $endQueryExt: dartx.endQueryExt = Symbol("dartx.endQueryExt"),
  $getQueryExt: dartx.getQueryExt = Symbol("dartx.getQueryExt"),
  $getQueryObjectExt: dartx.getQueryObjectExt = Symbol("dartx.getQueryObjectExt"),
  $isQueryExt: dartx.isQueryExt = Symbol("dartx.isQueryExt"),
  $queryCounterExt: dartx.queryCounterExt = Symbol("dartx.queryCounterExt"),
  $getBufferSubDataAsync: dartx.getBufferSubDataAsync = Symbol("dartx.getBufferSubDataAsync"),
  $loseContext: dartx.loseContext = Symbol("dartx.loseContext"),
  $restoreContext: dartx.restoreContext = Symbol("dartx.restoreContext"),
  $bindVertexArray: dartx.bindVertexArray = Symbol("dartx.bindVertexArray"),
  $createVertexArray: dartx.createVertexArray = Symbol("dartx.createVertexArray"),
  $deleteVertexArray: dartx.deleteVertexArray = Symbol("dartx.deleteVertexArray"),
  $isVertexArray: dartx.isVertexArray = Symbol("dartx.isVertexArray"),
  $drawingBufferHeight: dartx.drawingBufferHeight = Symbol("dartx.drawingBufferHeight"),
  $drawingBufferWidth: dartx.drawingBufferWidth = Symbol("dartx.drawingBufferWidth"),
  $activeTexture: dartx.activeTexture = Symbol("dartx.activeTexture"),
  $attachShader: dartx.attachShader = Symbol("dartx.attachShader"),
  $bindAttribLocation: dartx.bindAttribLocation = Symbol("dartx.bindAttribLocation"),
  $bindBuffer: dartx.bindBuffer = Symbol("dartx.bindBuffer"),
  $bindFramebuffer: dartx.bindFramebuffer = Symbol("dartx.bindFramebuffer"),
  $bindRenderbuffer: dartx.bindRenderbuffer = Symbol("dartx.bindRenderbuffer"),
  $bindTexture: dartx.bindTexture = Symbol("dartx.bindTexture"),
  $blendColor: dartx.blendColor = Symbol("dartx.blendColor"),
  $blendEquation: dartx.blendEquation = Symbol("dartx.blendEquation"),
  $blendEquationSeparate: dartx.blendEquationSeparate = Symbol("dartx.blendEquationSeparate"),
  $blendFunc: dartx.blendFunc = Symbol("dartx.blendFunc"),
  $blendFuncSeparate: dartx.blendFuncSeparate = Symbol("dartx.blendFuncSeparate"),
  $bufferData: dartx.bufferData = Symbol("dartx.bufferData"),
  $bufferSubData: dartx.bufferSubData = Symbol("dartx.bufferSubData"),
  $checkFramebufferStatus: dartx.checkFramebufferStatus = Symbol("dartx.checkFramebufferStatus"),
  $clearColor: dartx.clearColor = Symbol("dartx.clearColor"),
  $clearDepth: dartx.clearDepth = Symbol("dartx.clearDepth"),
  $clearStencil: dartx.clearStencil = Symbol("dartx.clearStencil"),
  $colorMask: dartx.colorMask = Symbol("dartx.colorMask"),
  $compileShader: dartx.compileShader = Symbol("dartx.compileShader"),
  $compressedTexImage2D: dartx.compressedTexImage2D = Symbol("dartx.compressedTexImage2D"),
  $compressedTexSubImage2D: dartx.compressedTexSubImage2D = Symbol("dartx.compressedTexSubImage2D"),
  $copyTexImage2D: dartx.copyTexImage2D = Symbol("dartx.copyTexImage2D"),
  $copyTexSubImage2D: dartx.copyTexSubImage2D = Symbol("dartx.copyTexSubImage2D"),
  $createFramebuffer: dartx.createFramebuffer = Symbol("dartx.createFramebuffer"),
  $createProgram: dartx.createProgram = Symbol("dartx.createProgram"),
  $createRenderbuffer: dartx.createRenderbuffer = Symbol("dartx.createRenderbuffer"),
  $createShader: dartx.createShader = Symbol("dartx.createShader"),
  $createTexture: dartx.createTexture = Symbol("dartx.createTexture"),
  $cullFace: dartx.cullFace = Symbol("dartx.cullFace"),
  $deleteBuffer: dartx.deleteBuffer = Symbol("dartx.deleteBuffer"),
  $deleteFramebuffer: dartx.deleteFramebuffer = Symbol("dartx.deleteFramebuffer"),
  $deleteProgram: dartx.deleteProgram = Symbol("dartx.deleteProgram"),
  $deleteRenderbuffer: dartx.deleteRenderbuffer = Symbol("dartx.deleteRenderbuffer"),
  $deleteShader: dartx.deleteShader = Symbol("dartx.deleteShader"),
  $deleteTexture: dartx.deleteTexture = Symbol("dartx.deleteTexture"),
  $depthFunc: dartx.depthFunc = Symbol("dartx.depthFunc"),
  $depthMask: dartx.depthMask = Symbol("dartx.depthMask"),
  $depthRange: dartx.depthRange = Symbol("dartx.depthRange"),
  $detachShader: dartx.detachShader = Symbol("dartx.detachShader"),
  $disableVertexAttribArray: dartx.disableVertexAttribArray = Symbol("dartx.disableVertexAttribArray"),
  $drawArrays: dartx.drawArrays = Symbol("dartx.drawArrays"),
  $drawElements: dartx.drawElements = Symbol("dartx.drawElements"),
  $enableVertexAttribArray: dartx.enableVertexAttribArray = Symbol("dartx.enableVertexAttribArray"),
  $flush: dartx.flush = Symbol("dartx.flush"),
  $framebufferRenderbuffer: dartx.framebufferRenderbuffer = Symbol("dartx.framebufferRenderbuffer"),
  $framebufferTexture2D: dartx.framebufferTexture2D = Symbol("dartx.framebufferTexture2D"),
  $frontFace: dartx.frontFace = Symbol("dartx.frontFace"),
  $generateMipmap: dartx.generateMipmap = Symbol("dartx.generateMipmap"),
  $getActiveAttrib: dartx.getActiveAttrib = Symbol("dartx.getActiveAttrib"),
  $getActiveUniform: dartx.getActiveUniform = Symbol("dartx.getActiveUniform"),
  $getAttachedShaders: dartx.getAttachedShaders = Symbol("dartx.getAttachedShaders"),
  $getAttribLocation: dartx.getAttribLocation = Symbol("dartx.getAttribLocation"),
  $getBufferParameter: dartx.getBufferParameter = Symbol("dartx.getBufferParameter"),
  _getContextAttributes_1$1: dart.privateName(web_gl, "_getContextAttributes_1"),
  $getError: dartx.getError = Symbol("dartx.getError"),
  $getExtension: dartx.getExtension = Symbol("dartx.getExtension"),
  $getFramebufferAttachmentParameter: dartx.getFramebufferAttachmentParameter = Symbol("dartx.getFramebufferAttachmentParameter"),
  $getProgramInfoLog: dartx.getProgramInfoLog = Symbol("dartx.getProgramInfoLog"),
  $getProgramParameter: dartx.getProgramParameter = Symbol("dartx.getProgramParameter"),
  $getRenderbufferParameter: dartx.getRenderbufferParameter = Symbol("dartx.getRenderbufferParameter"),
  $getShaderInfoLog: dartx.getShaderInfoLog = Symbol("dartx.getShaderInfoLog"),
  $getShaderParameter: dartx.getShaderParameter = Symbol("dartx.getShaderParameter"),
  $getShaderPrecisionFormat: dartx.getShaderPrecisionFormat = Symbol("dartx.getShaderPrecisionFormat"),
  $getShaderSource: dartx.getShaderSource = Symbol("dartx.getShaderSource"),
  $getSupportedExtensions: dartx.getSupportedExtensions = Symbol("dartx.getSupportedExtensions"),
  $getTexParameter: dartx.getTexParameter = Symbol("dartx.getTexParameter"),
  $getUniform: dartx.getUniform = Symbol("dartx.getUniform"),
  $getUniformLocation: dartx.getUniformLocation = Symbol("dartx.getUniformLocation"),
  $getVertexAttrib: dartx.getVertexAttrib = Symbol("dartx.getVertexAttrib"),
  $getVertexAttribOffset: dartx.getVertexAttribOffset = Symbol("dartx.getVertexAttribOffset"),
  $hint: dartx.hint = Symbol("dartx.hint"),
  $isBuffer: dartx.isBuffer = Symbol("dartx.isBuffer"),
  $isEnabled: dartx.isEnabled = Symbol("dartx.isEnabled"),
  $isFramebuffer: dartx.isFramebuffer = Symbol("dartx.isFramebuffer"),
  $isProgram: dartx.isProgram = Symbol("dartx.isProgram"),
  $isRenderbuffer: dartx.isRenderbuffer = Symbol("dartx.isRenderbuffer"),
  $isShader: dartx.isShader = Symbol("dartx.isShader"),
  $isTexture: dartx.isTexture = Symbol("dartx.isTexture"),
  $linkProgram: dartx.linkProgram = Symbol("dartx.linkProgram"),
  $pixelStorei: dartx.pixelStorei = Symbol("dartx.pixelStorei"),
  $polygonOffset: dartx.polygonOffset = Symbol("dartx.polygonOffset"),
  _readPixels: dart.privateName(web_gl, "_readPixels"),
  $renderbufferStorage: dartx.renderbufferStorage = Symbol("dartx.renderbufferStorage"),
  $sampleCoverage: dartx.sampleCoverage = Symbol("dartx.sampleCoverage"),
  $scissor: dartx.scissor = Symbol("dartx.scissor"),
  $shaderSource: dartx.shaderSource = Symbol("dartx.shaderSource"),
  $stencilFunc: dartx.stencilFunc = Symbol("dartx.stencilFunc"),
  $stencilFuncSeparate: dartx.stencilFuncSeparate = Symbol("dartx.stencilFuncSeparate"),
  $stencilMask: dartx.stencilMask = Symbol("dartx.stencilMask"),
  $stencilMaskSeparate: dartx.stencilMaskSeparate = Symbol("dartx.stencilMaskSeparate"),
  $stencilOp: dartx.stencilOp = Symbol("dartx.stencilOp"),
  $stencilOpSeparate: dartx.stencilOpSeparate = Symbol("dartx.stencilOpSeparate"),
  _texImage2D_1: dart.privateName(web_gl, "_texImage2D_1"),
  _texImage2D_2: dart.privateName(web_gl, "_texImage2D_2"),
  _texImage2D_3: dart.privateName(web_gl, "_texImage2D_3"),
  _texImage2D_4: dart.privateName(web_gl, "_texImage2D_4"),
  _texImage2D_5: dart.privateName(web_gl, "_texImage2D_5"),
  _texImage2D_6: dart.privateName(web_gl, "_texImage2D_6"),
  $texImage2D: dartx.texImage2D = Symbol("dartx.texImage2D"),
  $texParameterf: dartx.texParameterf = Symbol("dartx.texParameterf"),
  $texParameteri: dartx.texParameteri = Symbol("dartx.texParameteri"),
  _texSubImage2D_1: dart.privateName(web_gl, "_texSubImage2D_1"),
  _texSubImage2D_2: dart.privateName(web_gl, "_texSubImage2D_2"),
  _texSubImage2D_3: dart.privateName(web_gl, "_texSubImage2D_3"),
  _texSubImage2D_4: dart.privateName(web_gl, "_texSubImage2D_4"),
  _texSubImage2D_5: dart.privateName(web_gl, "_texSubImage2D_5"),
  _texSubImage2D_6: dart.privateName(web_gl, "_texSubImage2D_6"),
  $texSubImage2D: dartx.texSubImage2D = Symbol("dartx.texSubImage2D"),
  $uniform1f: dartx.uniform1f = Symbol("dartx.uniform1f"),
  $uniform1fv: dartx.uniform1fv = Symbol("dartx.uniform1fv"),
  $uniform1i: dartx.uniform1i = Symbol("dartx.uniform1i"),
  $uniform1iv: dartx.uniform1iv = Symbol("dartx.uniform1iv"),
  $uniform2f: dartx.uniform2f = Symbol("dartx.uniform2f"),
  $uniform2fv: dartx.uniform2fv = Symbol("dartx.uniform2fv"),
  $uniform2i: dartx.uniform2i = Symbol("dartx.uniform2i"),
  $uniform2iv: dartx.uniform2iv = Symbol("dartx.uniform2iv"),
  $uniform3f: dartx.uniform3f = Symbol("dartx.uniform3f"),
  $uniform3fv: dartx.uniform3fv = Symbol("dartx.uniform3fv"),
  $uniform3i: dartx.uniform3i = Symbol("dartx.uniform3i"),
  $uniform3iv: dartx.uniform3iv = Symbol("dartx.uniform3iv"),
  $uniform4f: dartx.uniform4f = Symbol("dartx.uniform4f"),
  $uniform4fv: dartx.uniform4fv = Symbol("dartx.uniform4fv"),
  $uniform4i: dartx.uniform4i = Symbol("dartx.uniform4i"),
  $uniform4iv: dartx.uniform4iv = Symbol("dartx.uniform4iv"),
  $uniformMatrix2fv: dartx.uniformMatrix2fv = Symbol("dartx.uniformMatrix2fv"),
  $uniformMatrix3fv: dartx.uniformMatrix3fv = Symbol("dartx.uniformMatrix3fv"),
  $uniformMatrix4fv: dartx.uniformMatrix4fv = Symbol("dartx.uniformMatrix4fv"),
  $useProgram: dartx.useProgram = Symbol("dartx.useProgram"),
  $validateProgram: dartx.validateProgram = Symbol("dartx.validateProgram"),
  $vertexAttrib1f: dartx.vertexAttrib1f = Symbol("dartx.vertexAttrib1f"),
  $vertexAttrib1fv: dartx.vertexAttrib1fv = Symbol("dartx.vertexAttrib1fv"),
  $vertexAttrib2f: dartx.vertexAttrib2f = Symbol("dartx.vertexAttrib2f"),
  $vertexAttrib2fv: dartx.vertexAttrib2fv = Symbol("dartx.vertexAttrib2fv"),
  $vertexAttrib3f: dartx.vertexAttrib3f = Symbol("dartx.vertexAttrib3f"),
  $vertexAttrib3fv: dartx.vertexAttrib3fv = Symbol("dartx.vertexAttrib3fv"),
  $vertexAttrib4f: dartx.vertexAttrib4f = Symbol("dartx.vertexAttrib4f"),
  $vertexAttrib4fv: dartx.vertexAttrib4fv = Symbol("dartx.vertexAttrib4fv"),
  $vertexAttribPointer: dartx.vertexAttribPointer = Symbol("dartx.vertexAttribPointer"),
  $viewport: dartx.viewport = Symbol("dartx.viewport"),
  $readPixels: dartx.readPixels = Symbol("dartx.readPixels"),
  $texImage2DUntyped: dartx.texImage2DUntyped = Symbol("dartx.texImage2DUntyped"),
  $texImage2DTyped: dartx.texImage2DTyped = Symbol("dartx.texImage2DTyped"),
  $texSubImage2DUntyped: dartx.texSubImage2DUntyped = Symbol("dartx.texSubImage2DUntyped"),
  $texSubImage2DTyped: dartx.texSubImage2DTyped = Symbol("dartx.texSubImage2DTyped"),
  $bufferDataTyped: dartx.bufferDataTyped = Symbol("dartx.bufferDataTyped"),
  $bufferSubDataTyped: dartx.bufferSubDataTyped = Symbol("dartx.bufferSubDataTyped"),
  $beginQuery: dartx.beginQuery = Symbol("dartx.beginQuery"),
  $beginTransformFeedback: dartx.beginTransformFeedback = Symbol("dartx.beginTransformFeedback"),
  $bindBufferBase: dartx.bindBufferBase = Symbol("dartx.bindBufferBase"),
  $bindBufferRange: dartx.bindBufferRange = Symbol("dartx.bindBufferRange"),
  $bindSampler: dartx.bindSampler = Symbol("dartx.bindSampler"),
  $bindTransformFeedback: dartx.bindTransformFeedback = Symbol("dartx.bindTransformFeedback"),
  $blitFramebuffer: dartx.blitFramebuffer = Symbol("dartx.blitFramebuffer"),
  $bufferData2: dartx.bufferData2 = Symbol("dartx.bufferData2"),
  $bufferSubData2: dartx.bufferSubData2 = Symbol("dartx.bufferSubData2"),
  $clearBufferfi: dartx.clearBufferfi = Symbol("dartx.clearBufferfi"),
  $clearBufferfv: dartx.clearBufferfv = Symbol("dartx.clearBufferfv"),
  $clearBufferiv: dartx.clearBufferiv = Symbol("dartx.clearBufferiv"),
  $clearBufferuiv: dartx.clearBufferuiv = Symbol("dartx.clearBufferuiv"),
  $clientWaitSync: dartx.clientWaitSync = Symbol("dartx.clientWaitSync"),
  $compressedTexImage2D2: dartx.compressedTexImage2D2 = Symbol("dartx.compressedTexImage2D2"),
  $compressedTexImage2D3: dartx.compressedTexImage2D3 = Symbol("dartx.compressedTexImage2D3"),
  $compressedTexImage3D: dartx.compressedTexImage3D = Symbol("dartx.compressedTexImage3D"),
  $compressedTexImage3D2: dartx.compressedTexImage3D2 = Symbol("dartx.compressedTexImage3D2"),
  $compressedTexSubImage2D2: dartx.compressedTexSubImage2D2 = Symbol("dartx.compressedTexSubImage2D2"),
  $compressedTexSubImage2D3: dartx.compressedTexSubImage2D3 = Symbol("dartx.compressedTexSubImage2D3"),
  $compressedTexSubImage3D: dartx.compressedTexSubImage3D = Symbol("dartx.compressedTexSubImage3D"),
  $compressedTexSubImage3D2: dartx.compressedTexSubImage3D2 = Symbol("dartx.compressedTexSubImage3D2"),
  $copyBufferSubData: dartx.copyBufferSubData = Symbol("dartx.copyBufferSubData"),
  $copyTexSubImage3D: dartx.copyTexSubImage3D = Symbol("dartx.copyTexSubImage3D"),
  $createQuery: dartx.createQuery = Symbol("dartx.createQuery"),
  $createSampler: dartx.createSampler = Symbol("dartx.createSampler"),
  $createTransformFeedback: dartx.createTransformFeedback = Symbol("dartx.createTransformFeedback"),
  $deleteQuery: dartx.deleteQuery = Symbol("dartx.deleteQuery"),
  $deleteSampler: dartx.deleteSampler = Symbol("dartx.deleteSampler"),
  $deleteSync: dartx.deleteSync = Symbol("dartx.deleteSync"),
  $deleteTransformFeedback: dartx.deleteTransformFeedback = Symbol("dartx.deleteTransformFeedback"),
  $drawArraysInstanced: dartx.drawArraysInstanced = Symbol("dartx.drawArraysInstanced"),
  $drawBuffers: dartx.drawBuffers = Symbol("dartx.drawBuffers"),
  $drawElementsInstanced: dartx.drawElementsInstanced = Symbol("dartx.drawElementsInstanced"),
  $drawRangeElements: dartx.drawRangeElements = Symbol("dartx.drawRangeElements"),
  $endQuery: dartx.endQuery = Symbol("dartx.endQuery"),
  $endTransformFeedback: dartx.endTransformFeedback = Symbol("dartx.endTransformFeedback"),
  $fenceSync: dartx.fenceSync = Symbol("dartx.fenceSync"),
  $framebufferTextureLayer: dartx.framebufferTextureLayer = Symbol("dartx.framebufferTextureLayer"),
  $getActiveUniformBlockName: dartx.getActiveUniformBlockName = Symbol("dartx.getActiveUniformBlockName"),
  $getActiveUniformBlockParameter: dartx.getActiveUniformBlockParameter = Symbol("dartx.getActiveUniformBlockParameter"),
  $getActiveUniforms: dartx.getActiveUniforms = Symbol("dartx.getActiveUniforms"),
  $getBufferSubData: dartx.getBufferSubData = Symbol("dartx.getBufferSubData"),
  $getFragDataLocation: dartx.getFragDataLocation = Symbol("dartx.getFragDataLocation"),
  $getIndexedParameter: dartx.getIndexedParameter = Symbol("dartx.getIndexedParameter"),
  $getInternalformatParameter: dartx.getInternalformatParameter = Symbol("dartx.getInternalformatParameter"),
  $getQuery: dartx.getQuery = Symbol("dartx.getQuery"),
  $getQueryParameter: dartx.getQueryParameter = Symbol("dartx.getQueryParameter"),
  $getSamplerParameter: dartx.getSamplerParameter = Symbol("dartx.getSamplerParameter"),
  $getSyncParameter: dartx.getSyncParameter = Symbol("dartx.getSyncParameter"),
  $getTransformFeedbackVarying: dartx.getTransformFeedbackVarying = Symbol("dartx.getTransformFeedbackVarying"),
  $getUniformBlockIndex: dartx.getUniformBlockIndex = Symbol("dartx.getUniformBlockIndex"),
  _getUniformIndices_1: dart.privateName(web_gl, "_getUniformIndices_1"),
  $getUniformIndices: dartx.getUniformIndices = Symbol("dartx.getUniformIndices"),
  $invalidateFramebuffer: dartx.invalidateFramebuffer = Symbol("dartx.invalidateFramebuffer"),
  $invalidateSubFramebuffer: dartx.invalidateSubFramebuffer = Symbol("dartx.invalidateSubFramebuffer"),
  $isQuery: dartx.isQuery = Symbol("dartx.isQuery"),
  $isSampler: dartx.isSampler = Symbol("dartx.isSampler"),
  $isSync: dartx.isSync = Symbol("dartx.isSync"),
  $isTransformFeedback: dartx.isTransformFeedback = Symbol("dartx.isTransformFeedback"),
  $pauseTransformFeedback: dartx.pauseTransformFeedback = Symbol("dartx.pauseTransformFeedback"),
  $readBuffer: dartx.readBuffer = Symbol("dartx.readBuffer"),
  $readPixels2: dartx.readPixels2 = Symbol("dartx.readPixels2"),
  $renderbufferStorageMultisample: dartx.renderbufferStorageMultisample = Symbol("dartx.renderbufferStorageMultisample"),
  $resumeTransformFeedback: dartx.resumeTransformFeedback = Symbol("dartx.resumeTransformFeedback"),
  $samplerParameterf: dartx.samplerParameterf = Symbol("dartx.samplerParameterf"),
  $samplerParameteri: dartx.samplerParameteri = Symbol("dartx.samplerParameteri"),
  _texImage2D2_1: dart.privateName(web_gl, "_texImage2D2_1"),
  _texImage2D2_2: dart.privateName(web_gl, "_texImage2D2_2"),
  _texImage2D2_3: dart.privateName(web_gl, "_texImage2D2_3"),
  _texImage2D2_4: dart.privateName(web_gl, "_texImage2D2_4"),
  _texImage2D2_5: dart.privateName(web_gl, "_texImage2D2_5"),
  _texImage2D2_6: dart.privateName(web_gl, "_texImage2D2_6"),
  _texImage2D2_7: dart.privateName(web_gl, "_texImage2D2_7"),
  $texImage2D2: dartx.texImage2D2 = Symbol("dartx.texImage2D2"),
  _texImage3D_1: dart.privateName(web_gl, "_texImage3D_1"),
  _texImage3D_2: dart.privateName(web_gl, "_texImage3D_2"),
  _texImage3D_3: dart.privateName(web_gl, "_texImage3D_3"),
  _texImage3D_4: dart.privateName(web_gl, "_texImage3D_4"),
  _texImage3D_5: dart.privateName(web_gl, "_texImage3D_5"),
  _texImage3D_6: dart.privateName(web_gl, "_texImage3D_6"),
  _texImage3D_7: dart.privateName(web_gl, "_texImage3D_7"),
  _texImage3D_8: dart.privateName(web_gl, "_texImage3D_8"),
  $texImage3D: dartx.texImage3D = Symbol("dartx.texImage3D"),
  $texStorage2D: dartx.texStorage2D = Symbol("dartx.texStorage2D"),
  $texStorage3D: dartx.texStorage3D = Symbol("dartx.texStorage3D"),
  _texSubImage2D2_1: dart.privateName(web_gl, "_texSubImage2D2_1"),
  _texSubImage2D2_2: dart.privateName(web_gl, "_texSubImage2D2_2"),
  _texSubImage2D2_3: dart.privateName(web_gl, "_texSubImage2D2_3"),
  _texSubImage2D2_4: dart.privateName(web_gl, "_texSubImage2D2_4"),
  _texSubImage2D2_5: dart.privateName(web_gl, "_texSubImage2D2_5"),
  _texSubImage2D2_6: dart.privateName(web_gl, "_texSubImage2D2_6"),
  _texSubImage2D2_7: dart.privateName(web_gl, "_texSubImage2D2_7"),
  $texSubImage2D2: dartx.texSubImage2D2 = Symbol("dartx.texSubImage2D2"),
  _texSubImage3D_1: dart.privateName(web_gl, "_texSubImage3D_1"),
  _texSubImage3D_2: dart.privateName(web_gl, "_texSubImage3D_2"),
  _texSubImage3D_3: dart.privateName(web_gl, "_texSubImage3D_3"),
  _texSubImage3D_4: dart.privateName(web_gl, "_texSubImage3D_4"),
  _texSubImage3D_5: dart.privateName(web_gl, "_texSubImage3D_5"),
  _texSubImage3D_6: dart.privateName(web_gl, "_texSubImage3D_6"),
  _texSubImage3D_7: dart.privateName(web_gl, "_texSubImage3D_7"),
  _texSubImage3D_8: dart.privateName(web_gl, "_texSubImage3D_8"),
  $texSubImage3D: dartx.texSubImage3D = Symbol("dartx.texSubImage3D"),
  _transformFeedbackVaryings_1: dart.privateName(web_gl, "_transformFeedbackVaryings_1"),
  $transformFeedbackVaryings: dartx.transformFeedbackVaryings = Symbol("dartx.transformFeedbackVaryings"),
  $uniform1fv2: dartx.uniform1fv2 = Symbol("dartx.uniform1fv2"),
  $uniform1iv2: dartx.uniform1iv2 = Symbol("dartx.uniform1iv2"),
  $uniform1ui: dartx.uniform1ui = Symbol("dartx.uniform1ui"),
  $uniform1uiv: dartx.uniform1uiv = Symbol("dartx.uniform1uiv"),
  $uniform2fv2: dartx.uniform2fv2 = Symbol("dartx.uniform2fv2"),
  $uniform2iv2: dartx.uniform2iv2 = Symbol("dartx.uniform2iv2"),
  $uniform2ui: dartx.uniform2ui = Symbol("dartx.uniform2ui"),
  $uniform2uiv: dartx.uniform2uiv = Symbol("dartx.uniform2uiv"),
  $uniform3fv2: dartx.uniform3fv2 = Symbol("dartx.uniform3fv2"),
  $uniform3iv2: dartx.uniform3iv2 = Symbol("dartx.uniform3iv2"),
  $uniform3ui: dartx.uniform3ui = Symbol("dartx.uniform3ui"),
  $uniform3uiv: dartx.uniform3uiv = Symbol("dartx.uniform3uiv"),
  $uniform4fv2: dartx.uniform4fv2 = Symbol("dartx.uniform4fv2"),
  $uniform4iv2: dartx.uniform4iv2 = Symbol("dartx.uniform4iv2"),
  $uniform4ui: dartx.uniform4ui = Symbol("dartx.uniform4ui"),
  $uniform4uiv: dartx.uniform4uiv = Symbol("dartx.uniform4uiv"),
  $uniformBlockBinding: dartx.uniformBlockBinding = Symbol("dartx.uniformBlockBinding"),
  $uniformMatrix2fv2: dartx.uniformMatrix2fv2 = Symbol("dartx.uniformMatrix2fv2"),
  $uniformMatrix2x3fv: dartx.uniformMatrix2x3fv = Symbol("dartx.uniformMatrix2x3fv"),
  $uniformMatrix2x4fv: dartx.uniformMatrix2x4fv = Symbol("dartx.uniformMatrix2x4fv"),
  $uniformMatrix3fv2: dartx.uniformMatrix3fv2 = Symbol("dartx.uniformMatrix3fv2"),
  $uniformMatrix3x2fv: dartx.uniformMatrix3x2fv = Symbol("dartx.uniformMatrix3x2fv"),
  $uniformMatrix3x4fv: dartx.uniformMatrix3x4fv = Symbol("dartx.uniformMatrix3x4fv"),
  $uniformMatrix4fv2: dartx.uniformMatrix4fv2 = Symbol("dartx.uniformMatrix4fv2"),
  $uniformMatrix4x2fv: dartx.uniformMatrix4x2fv = Symbol("dartx.uniformMatrix4x2fv"),
  $uniformMatrix4x3fv: dartx.uniformMatrix4x3fv = Symbol("dartx.uniformMatrix4x3fv"),
  $vertexAttribDivisor: dartx.vertexAttribDivisor = Symbol("dartx.vertexAttribDivisor"),
  $vertexAttribI4i: dartx.vertexAttribI4i = Symbol("dartx.vertexAttribI4i"),
  $vertexAttribI4iv: dartx.vertexAttribI4iv = Symbol("dartx.vertexAttribI4iv"),
  $vertexAttribI4ui: dartx.vertexAttribI4ui = Symbol("dartx.vertexAttribI4ui"),
  $vertexAttribI4uiv: dartx.vertexAttribI4uiv = Symbol("dartx.vertexAttribI4uiv"),
  $vertexAttribIPointer: dartx.vertexAttribIPointer = Symbol("dartx.vertexAttribIPointer"),
  $waitSync: dartx.waitSync = Symbol("dartx.waitSync"),
  $precision: dartx.precision = Symbol("dartx.precision"),
  $rangeMax: dartx.rangeMax = Symbol("dartx.rangeMax"),
  $rangeMin: dartx.rangeMin = Symbol("dartx.rangeMin"),
  $lastUploadedVideoFrameWasSkipped: dartx.lastUploadedVideoFrameWasSkipped = Symbol("dartx.lastUploadedVideoFrameWasSkipped"),
  $lastUploadedVideoHeight: dartx.lastUploadedVideoHeight = Symbol("dartx.lastUploadedVideoHeight"),
  $lastUploadedVideoTimestamp: dartx.lastUploadedVideoTimestamp = Symbol("dartx.lastUploadedVideoTimestamp"),
  $lastUploadedVideoWidth: dartx.lastUploadedVideoWidth = Symbol("dartx.lastUploadedVideoWidth"),
  _changeVersion: dart.privateName(web_sql, "_changeVersion"),
  $changeVersion: dartx.changeVersion = Symbol("dartx.changeVersion"),
  _readTransaction: dart.privateName(web_sql, "_readTransaction"),
  $readTransaction: dartx.readTransaction = Symbol("dartx.readTransaction"),
  $transaction_future: dartx.transaction_future = Symbol("dartx.transaction_future"),
  $insertId: dartx.insertId = Symbol("dartx.insertId"),
  $rowsAffected: dartx.rowsAffected = Symbol("dartx.rowsAffected"),
  _item_1: dart.privateName(web_sql, "_item_1"),
  _executeSql: dart.privateName(web_sql, "_executeSql"),
  $executeSql: dartx.executeSql = Symbol("dartx.executeSql")
};
const CT = Object.create({
  _: () => (C, CT)
});
var C = Array(492).fill(void 0);
var I = [
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/ddc_runtime/classes.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/ddc_runtime/rtti.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/ddc_runtime/runtime.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/ddc_runtime/utils.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/core_patch.dart",
  "org-dartlang-sdk:///lib/core/object.dart",
  "dart:core",
  "dart:_runtime",
  "org-dartlang-sdk:///lib/core/invocation.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/debugger.dart",
  "dart:_debugger",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/profile.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/foreign_helper.dart",
  "dart:_foreign_helper",
  "dart:_interceptors",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/interceptors.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/js_array.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/js_number.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/js_string.dart",
  "org-dartlang-sdk:///lib/internal/internal.dart",
  "org-dartlang-sdk:///lib/internal/list.dart",
  "org-dartlang-sdk:///lib/collection/list.dart",
  "dart:collection",
  "dart:_internal",
  "org-dartlang-sdk:///lib/core/num.dart",
  "org-dartlang-sdk:///lib/internal/async_cast.dart",
  "org-dartlang-sdk:///lib/async/stream.dart",
  "dart:async",
  "org-dartlang-sdk:///lib/convert/converter.dart",
  "dart:convert",
  "org-dartlang-sdk:///lib/internal/bytes_builder.dart",
  "org-dartlang-sdk:///lib/internal/cast.dart",
  "org-dartlang-sdk:///lib/core/iterable.dart",
  "org-dartlang-sdk:///lib/collection/maps.dart",
  "org-dartlang-sdk:///lib/internal/errors.dart",
  "org-dartlang-sdk:///lib/internal/iterable.dart",
  "org-dartlang-sdk:///lib/internal/linked_list.dart",
  "org-dartlang-sdk:///lib/collection/iterable.dart",
  "org-dartlang-sdk:///lib/internal/sort.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/internal_patch.dart",
  "org-dartlang-sdk:///lib/internal/symbol.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/isolate_helper.dart",
  "dart:_isolate_helper",
  "dart:_js_helper",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/js_helper.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/annotations.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/linked_hash_map.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/identity_hash_map.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/custom_hash_map.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/regexp_helper.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/string_helper.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/js_rti.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/native_helper.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/js_primitives.dart",
  "org-dartlang-sdk:///lib/html/html_common/metadata.dart",
  "dart:_metadata",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/private/native_typed_data.dart",
  "dart:_native_typed_data",
  "dart:typed_data",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/async_patch.dart",
  "org-dartlang-sdk:///lib/async/async_error.dart",
  "org-dartlang-sdk:///lib/async/broadcast_stream_controller.dart",
  "org-dartlang-sdk:///lib/async/stream_controller.dart",
  "org-dartlang-sdk:///lib/async/stream_impl.dart",
  "org-dartlang-sdk:///lib/async/deferred_load.dart",
  "org-dartlang-sdk:///lib/async/future.dart",
  "org-dartlang-sdk:///lib/async/future_impl.dart",
  "org-dartlang-sdk:///lib/async/schedule_microtask.dart",
  "org-dartlang-sdk:///lib/async/stream_pipe.dart",
  "org-dartlang-sdk:///lib/async/stream_transformers.dart",
  "org-dartlang-sdk:///lib/async/timer.dart",
  "org-dartlang-sdk:///lib/async/zone.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/collection_patch.dart",
  "org-dartlang-sdk:///lib/collection/set.dart",
  "org-dartlang-sdk:///lib/collection/collections.dart",
  "org-dartlang-sdk:///lib/collection/hash_map.dart",
  "org-dartlang-sdk:///lib/collection/hash_set.dart",
  "org-dartlang-sdk:///lib/collection/iterator.dart",
  "org-dartlang-sdk:///lib/collection/linked_hash_map.dart",
  "org-dartlang-sdk:///lib/collection/linked_hash_set.dart",
  "org-dartlang-sdk:///lib/collection/linked_list.dart",
  "org-dartlang-sdk:///lib/collection/queue.dart",
  "org-dartlang-sdk:///lib/collection/splay_tree.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/convert_patch.dart",
  "org-dartlang-sdk:///lib/convert/string_conversion.dart",
  "org-dartlang-sdk:///lib/convert/ascii.dart",
  "org-dartlang-sdk:///lib/convert/encoding.dart",
  "org-dartlang-sdk:///lib/convert/codec.dart",
  "org-dartlang-sdk:///lib/core/list.dart",
  "org-dartlang-sdk:///lib/convert/byte_conversion.dart",
  "org-dartlang-sdk:///lib/convert/base64.dart",
  "org-dartlang-sdk:///lib/convert/chunked_conversion.dart",
  "org-dartlang-sdk:///lib/convert/html_escape.dart",
  "org-dartlang-sdk:///lib/convert/json.dart",
  "org-dartlang-sdk:///lib/convert/latin1.dart",
  "org-dartlang-sdk:///lib/convert/line_splitter.dart",
  "org-dartlang-sdk:///lib/convert/utf.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/developer_patch.dart",
  "dart:developer",
  "org-dartlang-sdk:///lib/developer/extension.dart",
  "org-dartlang-sdk:///lib/developer/profiler.dart",
  "org-dartlang-sdk:///lib/developer/service.dart",
  "org-dartlang-sdk:///lib/developer/timeline.dart",
  "dart:io",
  "org-dartlang-sdk:///lib/io/common.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/io_patch.dart",
  "org-dartlang-sdk:///lib/io/data_transformer.dart",
  "org-dartlang-sdk:///lib/io/directory.dart",
  "org-dartlang-sdk:///lib/io/directory_impl.dart",
  "org-dartlang-sdk:///lib/io/file_system_entity.dart",
  "org-dartlang-sdk:///lib/io/embedder_config.dart",
  "org-dartlang-sdk:///lib/io/file.dart",
  "org-dartlang-sdk:///lib/io/file_impl.dart",
  "org-dartlang-sdk:///lib/io/io_resource_info.dart",
  "org-dartlang-sdk:///lib/io/io_sink.dart",
  "org-dartlang-sdk:///lib/io/link.dart",
  "org-dartlang-sdk:///lib/io/network_profiling.dart",
  "org-dartlang-sdk:///lib/io/overrides.dart",
  "org-dartlang-sdk:///lib/io/platform_impl.dart",
  "org-dartlang-sdk:///lib/io/process.dart",
  "org-dartlang-sdk:///lib/io/secure_server_socket.dart",
  "org-dartlang-sdk:///lib/io/secure_socket.dart",
  "org-dartlang-sdk:///lib/io/socket.dart",
  "org-dartlang-sdk:///lib/io/security_context.dart",
  "org-dartlang-sdk:///lib/io/service_object.dart",
  "org-dartlang-sdk:///lib/io/stdio.dart",
  "org-dartlang-sdk:///lib/io/string_transformer.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/isolate_patch.dart",
  "dart:isolate",
  "org-dartlang-sdk:///lib/isolate/isolate.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/js_patch.dart",
  "dart:js",
  "org-dartlang-sdk:///lib/js/js.dart",
  "org-dartlang-sdk:///lib/js_util/js_util.dart",
  "dart:js_util",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/math_patch.dart",
  "dart:math",
  "org-dartlang-sdk:///lib/math/point.dart",
  "org-dartlang-sdk:///lib/math/rectangle.dart",
  "org-dartlang-sdk:///lib/typed_data/typed_data.dart",
  "org-dartlang-sdk:///lib/_internal/js_dev_runtime/patch/typed_data_patch.dart",
  "org-dartlang-sdk:///lib/typed_data/unmodifiable_typed_data.dart",
  "org-dartlang-sdk:///lib/indexed_db/dart2js/indexed_db_dart2js.dart",
  "dart:indexed_db",
  "org-dartlang-sdk:///lib/html/dart2js/html_dart2js.dart",
  "dart:html",
  "org-dartlang-sdk:///lib/html/html_common/css_class_set.dart",
  "dart:html_common",
  "org-dartlang-sdk:///lib/html/html_common/conversions.dart",
  "org-dartlang-sdk:///lib/html/html_common/conversions_dart2js.dart",
  "org-dartlang-sdk:///lib/html/html_common/device.dart",
  "org-dartlang-sdk:///lib/html/html_common/filtered_element_list.dart",
  "org-dartlang-sdk:///lib/html/html_common/lists.dart",
  "org-dartlang-sdk:///lib/svg/dart2js/svg_dart2js.dart",
  "dart:svg",
  "org-dartlang-sdk:///lib/web_audio/dart2js/web_audio_dart2js.dart",
  "dart:web_audio",
  "dart:web_gl",
  "org-dartlang-sdk:///lib/web_gl/dart2js/web_gl_dart2js.dart",
  "org-dartlang-sdk:///lib/web_sql/dart2js/web_sql_dart2js.dart",
  "dart:web_sql",
  "org-dartlang-sdk:///lib/core/map.dart",
  "org-dartlang-sdk:///lib/core/annotations.dart",
  "org-dartlang-sdk:///lib/core/bool.dart",
  "org-dartlang-sdk:///lib/core/comparable.dart",
  "org-dartlang-sdk:///lib/core/date_time.dart",
  "org-dartlang-sdk:///lib/core/duration.dart",
  "org-dartlang-sdk:///lib/core/errors.dart",
  "org-dartlang-sdk:///lib/core/exceptions.dart",
  "org-dartlang-sdk:///lib/core/set.dart",
  "org-dartlang-sdk:///lib/core/stacktrace.dart",
  "org-dartlang-sdk:///lib/core/string.dart",
  "org-dartlang-sdk:///lib/core/uri.dart",
  "org-dartlang-sdk:///lib/_http/http.dart",
  "dart:_http",
  "org-dartlang-sdk:///lib/_http/crypto.dart",
  "org-dartlang-sdk:///lib/_http/http_date.dart",
  "org-dartlang-sdk:///lib/_http/http_headers.dart",
  "org-dartlang-sdk:///lib/_http/http_impl.dart",
  "org-dartlang-sdk:///lib/_http/http_parser.dart",
  "org-dartlang-sdk:///lib/_http/http_session.dart",
  "org-dartlang-sdk:///lib/_http/overrides.dart",
  "org-dartlang-sdk:///lib/_http/websocket.dart",
  "org-dartlang-sdk:///lib/_http/websocket_impl.dart",
  "org-dartlang-sdk:///lib/_http/embedder_config.dart"
];
var _jsError$ = dart.privateName(dart, "_jsError");
var _type$ = dart.privateName(dart, "_type");
dart.applyMixin = function applyMixin(to, from) {
  to[dart._mixin] = from;
  let toProto = to.prototype;
  let fromProto = from.prototype;
  dart._copyMembers(toProto, fromProto);
  dart._mixinSignature(to, from, dart._methodSig);
  dart._mixinSignature(to, from, dart._fieldSig);
  dart._mixinSignature(to, from, dart._getterSig);
  dart._mixinSignature(to, from, dart._setterSig);
  let mixinOnFn = from[dart.mixinOn];
  if (mixinOnFn != null) {
    let proto = mixinOnFn(to.__proto__).prototype;
    dart._copyMembers(toProto, proto);
  }
};
dart._copyMembers = function _copyMembers(to, from) {
  let names = dart.getOwnNamesAndSymbols(from);
  for (let i = 0, n = names.length; i < n; i = i + 1) {
    let name = names[i];
    if (name === "constructor") continue;
    dart._copyMember(to, from, name);
  }
  return to;
};
dart._copyMember = function _copyMember(to, from, name) {
  let desc = dart.getOwnPropertyDescriptor(from, name);
  if (name == Symbol.iterator) {
    let existing = dart.getOwnPropertyDescriptor(to, name);
    if (existing != null) {
      if (existing.writable) {
        to[name] = desc.value;
      }
      return;
    }
  }
  let getter = desc.get;
  let setter = desc.set;
  if (getter != null) {
    if (setter == null) {
      let obj = desc.set = {
        __proto__: to.__proto__,
        set [name](x) {
          return super[name] = x;
        }
      };
      desc.set = dart.getOwnPropertyDescriptor(obj, name).set;
    }
  } else if (setter != null) {
    if (getter == null) {
      let obj = desc.get = {
        __proto__: to.__proto__,
        get [name]() {
          return super[name];
        }
      };
      desc.get = dart.getOwnPropertyDescriptor(obj, name).get;
    }
  }
  dart.defineProperty(to, name, desc);
};
dart._mixinSignature = function _mixinSignature(to, from, kind) {
  to[kind] = () => {
    let baseMembers = dart._getMembers(to.__proto__, kind);
    let fromMembers = dart._getMembers(from, kind);
    if (fromMembers == null) return baseMembers;
    let toSignature = {__proto__: baseMembers};
    dart.copyProperties(toSignature, fromMembers);
    return toSignature;
  };
};
dart.getMixin = function getMixin(clazz) {
  return Object.hasOwnProperty.call(clazz, dart._mixin) ? clazz[dart._mixin] : null;
};
dart.getImplements = function getImplements(clazz) {
  return Object.hasOwnProperty.call(clazz, dart.implements) ? clazz[dart.implements] : null;
};
dart.normalizeFutureOr = function normalizeFutureOr(typeConstructor, setBaseClass) {
  let genericFutureOrType = dart.generic(typeConstructor, setBaseClass);
  function normalize(typeArg) {
    if (typeArg == void 0) return dart.dynamic;
    if (dart._isTop(typeArg) || typeArg === core.Object || typeArg instanceof dart.LegacyType && typeArg.type === core.Object) {
      return typeArg;
    }
    if (typeArg === dart.Never) {
      return async.Future$(typeArg);
    }
    if (typeArg === core.Null) {
      return dart.nullable(async.Future$(typeArg));
    }
    let genericType = genericFutureOrType(typeArg);
    genericType[dart._originalDeclaration] = normalize;
    function is_FutureOr(obj) {
      return typeArg.is(obj) || async.Future$(typeArg).is(obj);
    }
    genericType.is = is_FutureOr;
    function as_FutureOr(obj) {
      if (obj == null && typeArg instanceof dart.LegacyType) {
        return obj;
      }
      if (typeArg.is(obj) || async.Future$(typeArg).is(obj)) {
        return obj;
      }
      return dart.as(obj, async.FutureOr$(typeArg));
    }
    genericType.as = as_FutureOr;
    return genericType;
  }
  return normalize;
};
dart.generic = function generic(typeConstructor, setBaseClass) {
  let length = typeConstructor.length;
  if (length < 1) {
    dart.throwInternalError('must have at least one generic type argument');
  }
  let resultMap = new Map();
  function makeGenericType(...args) {
    if (args.length != length && args.length != 0) {
      dart.throwInternalError('requires ' + length + ' or 0 type arguments');
    }
    while (args.length < length)
      args.push(dart.dynamic);
    let value = resultMap;
    for (let i = 0; i < length; i++) {
      let arg = args[i];
      if (arg == null) {
        dart.throwInternalError('type arguments should not be null: ' + typeConstructor);
      }
      let map = value;
      value = map.get(arg);
      if (value === void 0) {
        if (i + 1 == length) {
          value = typeConstructor.apply(null, args);
          if (value) {
            value[dart._typeArguments] = args;
            value[dart._originalDeclaration] = makeGenericType;
          }
          map.set(arg, value);
          if (setBaseClass != null) setBaseClass.apply(null, args);
        } else {
          value = new Map();
          map.set(arg, value);
        }
      }
    }
    return value;
  }
  makeGenericType[dart._genericTypeCtor] = typeConstructor;
  return makeGenericType;
};
dart.getGenericClass = function getGenericClass(type) {
  return dart.safeGetOwnProperty(type, dart._originalDeclaration);
};
dart.getGenericArgs = function getGenericArgs(type) {
  return dart.safeGetOwnProperty(type, dart._typeArguments);
};
dart.getGenericArgVariances = function getGenericArgVariances(type) {
  return dart.safeGetOwnProperty(type, dart._variances);
};
dart.setGenericArgVariances = function setGenericArgVariances(f, variances) {
  return f[dart._variances] = variances;
};
dart.getGenericTypeFormals = function getGenericTypeFormals(genericClass) {
  return dart._typeFormalsFromFunction(dart.getGenericTypeCtor(genericClass));
};
dart.instantiateClass = function instantiateClass(genericClass, typeArgs) {
  if (genericClass == null) dart.nullFailed(I[0], 285, 32, "genericClass");
  if (typeArgs == null) dart.nullFailed(I[0], 285, 59, "typeArgs");
  return genericClass.apply(null, typeArgs);
};
dart.getConstructors = function getConstructors(value) {
  return dart._getMembers(value, dart._constructorSig);
};
dart.getMethods = function getMethods(value) {
  return dart._getMembers(value, dart._methodSig);
};
dart.getFields = function getFields(value) {
  return dart._getMembers(value, dart._fieldSig);
};
dart.getGetters = function getGetters(value) {
  return dart._getMembers(value, dart._getterSig);
};
dart.getSetters = function getSetters(value) {
  return dart._getMembers(value, dart._setterSig);
};
dart.getStaticMethods = function getStaticMethods(value) {
  return dart._getMembers(value, dart._staticMethodSig);
};
dart.getStaticFields = function getStaticFields(value) {
  return dart._getMembers(value, dart._staticFieldSig);
};
dart.getStaticGetters = function getStaticGetters(value) {
  return dart._getMembers(value, dart._staticGetterSig);
};
dart.getStaticSetters = function getStaticSetters(value) {
  return dart._getMembers(value, dart._staticSetterSig);
};
dart.getGenericTypeCtor = function getGenericTypeCtor(value) {
  return value[dart._genericTypeCtor];
};
dart.getType = function getType(obj) {
  if (obj == null) return core.Object;
  let constructor = obj.constructor;
  return constructor ? constructor : dart.global.Object.prototype.constructor;
};
dart.getLibraryUri = function getLibraryUri(value) {
  return value[dart._libraryUri];
};
dart.setLibraryUri = function setLibraryUri(f, uri) {
  return f[dart._libraryUri] = uri;
};
dart.isJsInterop = function isJsInterop(obj) {
  if (obj == null) return false;
  if (typeof obj === "function") {
    return obj[dart._runtimeType] == null;
  }
  if (typeof obj !== "object") return false;
  if (obj[dart._extensionType] != null) return false;
  return !(obj instanceof core.Object);
};
dart.getMethodType = function getMethodType(type, name) {
  let m = dart.getMethods(type);
  return m != null ? m[name] : null;
};
dart.getSetterType = function getSetterType(type, name) {
  let setters = dart.getSetters(type);
  if (setters != null) {
    let type = setters[name];
    if (type != null) {
      return type;
    }
  }
  let fields = dart.getFields(type);
  if (fields != null) {
    let fieldInfo = fields[name];
    if (fieldInfo != null && !fieldInfo.isFinal) {
      return fieldInfo.type;
    }
  }
  return null;
};
dart.finalFieldType = function finalFieldType(type, metadata) {
  return {type: type, isFinal: true, metadata: metadata};
};
dart.fieldType = function fieldType(type, metadata) {
  return {type: type, isFinal: false, metadata: metadata};
};
dart.classGetConstructorType = function classGetConstructorType(cls, name) {
  if (cls == null) return null;
  if (name == null) name = "new";
  let ctors = dart.getConstructors(cls);
  return ctors != null ? ctors[name] : null;
};
dart.setMethodSignature = function setMethodSignature(f, sigF) {
  return f[dart._methodSig] = sigF;
};
dart.setFieldSignature = function setFieldSignature(f, sigF) {
  return f[dart._fieldSig] = sigF;
};
dart.setGetterSignature = function setGetterSignature(f, sigF) {
  return f[dart._getterSig] = sigF;
};
dart.setSetterSignature = function setSetterSignature(f, sigF) {
  return f[dart._setterSig] = sigF;
};
dart.setConstructorSignature = function setConstructorSignature(f, sigF) {
  return f[dart._constructorSig] = sigF;
};
dart.setStaticMethodSignature = function setStaticMethodSignature(f, sigF) {
  return f[dart._staticMethodSig] = sigF;
};
dart.setStaticFieldSignature = function setStaticFieldSignature(f, sigF) {
  return f[dart._staticFieldSig] = sigF;
};
dart.setStaticGetterSignature = function setStaticGetterSignature(f, sigF) {
  return f[dart._staticGetterSig] = sigF;
};
dart.setStaticSetterSignature = function setStaticSetterSignature(f, sigF) {
  return f[dart._staticSetterSig] = sigF;
};
dart._getMembers = function _getMembers(type, kind) {
  let sig = type[kind];
  return typeof sig == "function" ? type[kind] = sig() : sig;
};
dart._hasMember = function _hasMember(type, kind, name) {
  let sig = dart._getMembers(type, kind);
  return sig != null && name in sig;
};
dart.hasMethod = function hasMethod(type, name) {
  return dart._hasMember(type, dart._methodSig, name);
};
dart.hasGetter = function hasGetter(type, name) {
  return dart._hasMember(type, dart._getterSig, name);
};
dart.hasSetter = function hasSetter(type, name) {
  return dart._hasMember(type, dart._setterSig, name);
};
dart.hasField = function hasField(type, name) {
  return dart._hasMember(type, dart._fieldSig, name);
};
dart._installProperties = function _installProperties(jsProto, dartType, installedParent) {
  if (dartType === core.Object) {
    dart._installPropertiesForObject(jsProto);
    return;
  }
  let dartSupertype = dartType.__proto__;
  if (dartSupertype !== installedParent) {
    dart._installProperties(jsProto, dartSupertype, installedParent);
  }
  let dartProto = dartType.prototype;
  dart.copyTheseProperties(jsProto, dartProto, dart.getOwnPropertySymbols(dartProto));
};
dart._installPropertiesForObject = function _installPropertiesForObject(jsProto) {
  let coreObjProto = core.Object.prototype;
  let names = dart.getOwnPropertyNames(coreObjProto);
  for (let i = 0, n = names.length; i < n; i = i + 1) {
    let name = names[i];
    if (name === "constructor") continue;
    let desc = dart.getOwnPropertyDescriptor(coreObjProto, name);
    dart.defineProperty(jsProto, dart.dartx[name], desc);
  }
};
dart._installPropertiesForGlobalObject = function _installPropertiesForGlobalObject(jsProto) {
  dart._installPropertiesForObject(jsProto);
  jsProto[dartx.toString] = function() {
    return this.toString();
  };
  dart.identityEquals == null ? dart.identityEquals = jsProto[dartx._equals] : null;
};
dart._applyExtension = function _applyExtension(jsType, dartExtType) {
  if (jsType == null) return;
  let jsProto = jsType.prototype;
  if (jsProto == null) return;
  if (dartExtType === core.Object) {
    dart._installPropertiesForGlobalObject(jsProto);
    return;
  }
  if (jsType === dart.global.Object) {
    let extName = dartExtType.name;
    dart._warn("Attempting to install properties from non-Object type '" + extName + "' onto the native JS Object.");
    return;
  }
  dart._installProperties(jsProto, dartExtType, jsProto[dart._extensionType]);
  if (dartExtType !== _interceptors.JSFunction) {
    jsProto[dart._extensionType] = dartExtType;
  }
  jsType[dart._methodSig] = dartExtType[dart._methodSig];
  jsType[dart._fieldSig] = dartExtType[dart._fieldSig];
  jsType[dart._getterSig] = dartExtType[dart._getterSig];
  jsType[dart._setterSig] = dartExtType[dart._setterSig];
};
dart.applyExtension = function applyExtension(name, nativeObject) {
  let dartExtType = dart._extensionMap.get(name);
  let jsType = nativeObject.constructor;
  dart._applyExtension(jsType, dartExtType);
};
dart.applyAllExtensions = function applyAllExtensions(global) {
  dart._extensionMap.forEach((dartExtType, name) => dart._applyExtension(global[name], dartExtType));
};
dart.registerExtension = function registerExtension(name, dartExtType) {
  dart._extensionMap.set(name, dartExtType);
  let jsType = dart.global[name];
  dart._applyExtension(jsType, dartExtType);
};
dart.applyExtensionForTesting = function applyExtensionForTesting(name) {
  let dartExtType = dart._extensionMap.get(name);
  let jsType = dart.global[name];
  dart._applyExtension(jsType, dartExtType);
};
dart.defineExtensionMethods = function defineExtensionMethods(type, memberNames) {
  if (memberNames == null) dart.nullFailed(I[0], 561, 39, "memberNames");
  let proto = type.prototype;
  for (let name of memberNames) {
    proto[dartx[name]] = proto[name];
  }
};
dart.defineExtensionAccessors = function defineExtensionAccessors(type, memberNames) {
  if (memberNames == null) dart.nullFailed(I[0], 569, 46, "memberNames");
  let proto = type.prototype;
  for (let name of memberNames) {
    let member = null;
    let p = proto;
    for (;; p = p.__proto__) {
      member = dart.getOwnPropertyDescriptor(p, name);
      if (member != null) break;
    }
    dart.defineProperty(proto, dartx[name], member);
  }
};
dart.definePrimitiveHashCode = function definePrimitiveHashCode(proto) {
  dart.defineProperty(proto, dart.identityHashCode_, dart.getOwnPropertyDescriptor(proto, $hashCode));
};
dart.setBaseClass = function setBaseClass(derived, base) {
  derived.prototype.__proto__ = base.prototype;
  derived.__proto__ = base;
};
dart.setExtensionBaseClass = function setExtensionBaseClass(dartType, jsType) {
  let dartProto = dartType.prototype;
  dartProto[dart._extensionType] = dartType;
  dartProto.__proto__ = jsType.prototype;
};
dart.addTypeTests = function addTypeTests(ctor, isClass) {
  if (isClass == null) isClass = Symbol("_is_" + ctor.name);
  ctor.prototype[isClass] = true;
  ctor.is = function is_C(obj) {
    return obj != null && (obj[isClass] || dart.is(obj, this));
  };
  ctor.as = function as_C(obj) {
    if (obj != null && obj[isClass]) return obj;
    return dart.as(obj, this);
  };
};
dart.addTypeCaches = function addTypeCaches(type) {
  type[dart._cachedLegacy] = void 0;
  type[dart._cachedNullable] = void 0;
  let subtypeCacheMap = new Map();
  type[dart._subtypeCache] = subtypeCacheMap;
  dart._cacheMaps.push(subtypeCacheMap);
};
dart.argumentError = function argumentError(value) {
  dart.throw(new core.ArgumentError.value(value));
};
dart.throwUnimplementedError = function throwUnimplementedError(message) {
  if (message == null) dart.nullFailed(I[1], 16, 32, "message");
  dart.throw(new core.UnimplementedError.new(message));
};
dart.throwDeferredIsLoadedError = function throwDeferredIsLoadedError(enclosingLibrary, importPrefix) {
  dart.throw(new _js_helper.DeferredNotLoadedError.new(enclosingLibrary, importPrefix));
};
dart.assertFailed = function assertFailed(message, fileUri = null, line = null, column = null, conditionSource = null) {
  dart.throw(new _js_helper.AssertionErrorImpl.new(message, fileUri, line, column, conditionSource));
};
dart._checkModuleNullSafetyMode = function _checkModuleNullSafetyMode(isModuleSound) {
  if (isModuleSound !== false) {
    let sdkMode = false ? "sound" : "unsound";
    let moduleMode = isModuleSound ? "sound" : "unsound";
    dart.throw(new core.AssertionError.new("The null safety mode of the Dart SDK module " + "(" + sdkMode + ") does not match the null safety mode of this module " + "(" + moduleMode + ")."));
  }
};
dart._nullFailedMessage = function _nullFailedMessage(variableName) {
  return "A null value was passed into a non-nullable parameter: " + dart.str(variableName) + ".";
};
dart.nullFailed = function nullFailed(fileUri, line, column, variable) {
  if (dart._nonNullAsserts) {
    dart.throw(new _js_helper.AssertionErrorImpl.new(dart._nullFailedMessage(variable), fileUri, line, column, dart.str(variable) + " != null"));
  }
  let key = dart.str(fileUri) + ":" + dart.str(line) + ":" + dart.str(column);
  if (!dart._nullFailedSet.has(key)) {
    dart._nullFailedSet.add(key);
    dart._nullWarn(dart._nullFailedMessage(variable));
  }
};
dart.throwLateInitializationError = function throwLateInitializationError(name) {
  if (name == null) dart.nullFailed(I[1], 66, 37, "name");
  dart.throw(new _internal.LateError.new(name));
};
dart.throwCyclicInitializationError = function throwCyclicInitializationError(field = null) {
  dart.throw(new core.CyclicInitializationError.new(field));
};
dart.throwNullValueError = function throwNullValueError() {
  dart.throw(new core.NoSuchMethodError.new(null, new _internal.Symbol.new("<Unexpected Null Value>"), null, null));
};
dart.castError = function castError(obj, expectedType) {
  let actualType = dart.getReifiedType(obj);
  let message = dart._castErrorMessage(actualType, expectedType);
  dart.throw(new _js_helper.TypeErrorImpl.new(message));
};
dart._castErrorMessage = function _castErrorMessage(from, to) {
  let fromName = "'" + dart.typeName(from) + "'";
  let toName = "'" + dart.typeName(to) + "'";
  let toType = to;
  if (to instanceof dart.NullableType || to instanceof dart.LegacyType) {
    toType = dart.dload(to, 'type');
  }
  let fromType = from;
  if (from instanceof dart.NullableType || from instanceof dart.LegacyType) {
    fromType = dart.dload(from, 'type');
  }
  if (dart.typeName(fromType) === dart.typeName(toType)) {
    fromName = fromName + (" (in " + dart.str(dart.getLibraryUri(fromType)) + ")");
    toName = toName + (" (in " + dart.str(dart.getLibraryUri(toType)) + ")");
  }
  return "Expected a value of type " + toName + ", but got one of type " + fromName;
};
dart.getThrown = function getThrown(error) {
  if (error != null) {
    let value = error[dart._thrownValue];
    if (value != null) return value;
  }
  return error;
};
dart.stackTrace = function stackTrace(error) {
  if (!(error instanceof Error)) {
    return new dart._StackTrace.missing(error);
  }
  let trace = error[dart._stackTrace];
  if (trace != null) return trace;
  return error[dart._stackTrace] = new dart._StackTrace.new(error);
};
dart.stackTraceForError = function stackTraceForError(error) {
  if (error == null) dart.nullFailed(I[1], 179, 37, "error");
  return dart.stackTrace(error[dart._jsError]);
};
dart.rethrow = function rethrow_(error) {
  if (error == null) dart.nullFailed(I[1], 188, 22, "error");
  throw error;
};
dart.throw = function throw_(exception) {
  throw new dart.DartError(exception);
};
dart.createErrorWithStack = function createErrorWithStack(exception, trace) {
  if (exception == null) dart.nullFailed(I[1], 271, 37, "exception");
  if (trace == null) {
    let error = exception[dart._jsError];
    return error != null ? error : new dart.DartError(exception);
  }
  if (dart._StackTrace.is(trace)) {
    let originalError = trace[_jsError$];
    if (core.identical(exception, dart.getThrown(originalError))) {
      return originalError;
    }
  }
  return new dart.RethrownDartError(exception, trace);
};
dart.stackPrint = function stackPrint(error) {
  if (error == null) dart.nullFailed(I[1], 289, 24, "error");
  console.log(error.stack ? error.stack : "No stack trace for: " + error);
};
dart.bind = function bind(obj, name, method) {
  if (obj == null) obj = _interceptors.jsNull;
  if (method == null) method = obj[name];
  let f = method.bind(obj);
  f._boundObject = obj;
  f._boundMethod = method;
  f[dart._runtimeType] = dart.getMethodType(dart.getType(obj), name);
  return f;
};
dart.bindCall = function bindCall(obj, name) {
  if (obj == null) return null;
  let ftype = dart.getMethodType(dart.getType(obj), name);
  if (ftype == null) return null;
  let method = obj[name];
  let f = method.bind(obj);
  f._boundObject = obj;
  f._boundMethod = method;
  f[dart._runtimeType] = ftype;
  return f;
};
dart.gbind = function gbind(f, ...typeArgs) {
  if (typeArgs == null) dart.nullFailed(I[2], 85, 29, "typeArgs");
  let type = f[dart._runtimeType];
  type.checkBounds(typeArgs);
  let result = (...args) => f.apply(null, typeArgs.concat(args));
  result._originalFn = f;
  result._typeArgs = dart.constList(typeArgs, core.Object);
  return dart.fn(result, type.instantiate(typeArgs));
};
dart.dloadRepl = function dloadRepl(obj, field) {
  return dart.dload(obj, dart.replNameLookup(obj, field));
};
dart.dload = function dload(obj, field) {
  if (typeof obj == "function" && field == "call") {
    return obj;
  }
  let f = dart._canonicalMember(obj, field);
  _debugger.trackCall(obj);
  if (f != null) {
    let type = dart.getType(obj);
    if (dart.test(dart.hasField(type, f)) || dart.test(dart.hasGetter(type, f))) return obj[f];
    if (dart.test(dart.hasMethod(type, f))) return dart.bind(obj, f, null);
    if (dart.test(dart.isJsInterop(obj))) return obj[f];
  }
  return dart.noSuchMethod(obj, new dart.InvocationImpl.new(field, [], {isGetter: true}));
};
dart._stripGenericArguments = function _stripGenericArguments(type) {
  let genericClass = dart.getGenericClass(type);
  if (genericClass != null) return genericClass();
  return type;
};
dart.dputRepl = function dputRepl(obj, field, value) {
  return dart.dput(obj, dart.replNameLookup(obj, field), value);
};
dart.dput = function dput(obj, field, value) {
  let f = dart._canonicalMember(obj, field);
  _debugger.trackCall(obj);
  if (f != null) {
    let setterType = dart.getSetterType(dart.getType(obj), f);
    if (setterType != null) {
      return obj[f] = setterType.as(value);
    }
    if (dart.test(dart.isJsInterop(obj))) return obj[f] = value;
  }
  dart.noSuchMethod(obj, new dart.InvocationImpl.new(field, [value], {isSetter: true}));
  return value;
};
dart._argumentErrors = function _argumentErrors(type, actuals, namedActuals) {
  if (type == null) dart.nullFailed(I[2], 151, 38, "type");
  if (actuals == null) dart.nullFailed(I[2], 151, 49, "actuals");
  let actualsCount = actuals.length;
  let required = type.args;
  let requiredCount = required.length;
  if (actualsCount < requiredCount) {
    return "Dynamic call with too few arguments. " + "Expected: " + dart.str(requiredCount) + " Actual: " + dart.str(actualsCount);
  }
  let extras = actualsCount - requiredCount;
  let optionals = type.optionals;
  if (extras > optionals.length) {
    return "Dynamic call with too many arguments. " + "Expected: " + dart.str(requiredCount) + " Actual: " + dart.str(actualsCount);
  }
  let names = null;
  let named = type.named;
  let requiredNamed = type.requiredNamed;
  if (namedActuals != null) {
    names = dart.getOwnPropertyNames(namedActuals);
    for (let name of names) {
      if (!(named.hasOwnProperty(name) || requiredNamed.hasOwnProperty(name))) {
        return "Dynamic call with unexpected named argument '" + dart.str(name) + "'.";
      }
    }
  }
  let requiredNames = dart.getOwnPropertyNames(requiredNamed);
  if (dart.test(requiredNames[$isNotEmpty])) {
    let missingRequired = namedActuals == null ? requiredNames : requiredNames[$where](name => !namedActuals.hasOwnProperty(name));
    if (dart.test(missingRequired[$isNotEmpty])) {
      let error = "Dynamic call with missing required named arguments: " + dart.str(missingRequired[$join](", ")) + ".";
      if (!false) {
        dart._nullWarn(error);
      } else {
        return error;
      }
    }
  }
  for (let i = 0; i < requiredCount; i = i + 1) {
    required[i].as(actuals[i]);
  }
  for (let i = 0; i < extras; i = i + 1) {
    optionals[i].as(actuals[i + requiredCount]);
  }
  if (names != null) {
    for (let name of names) {
      (named[name] || requiredNamed[name]).as(namedActuals[name]);
    }
  }
  return null;
};
dart._toSymbolName = function _toSymbolName(symbol) {
  let str = symbol.toString();
  return str.substring(7, str.length - 1);
};
dart._toDisplayName = function _toDisplayName(name) {
  if (name[0] === '_') {
    switch (name) {
      case '_get':
      {
        return '[]';
      }
      case '_set':
      {
        return '[]=';
      }
      case '_negate':
      {
        return 'unary-';
      }
      case '_constructor':
      case '_prototype':
      {
        return name.substring(1);
      }
    }
  }
  return name;
};
dart._dartSymbol = function _dartSymbol(name) {
  return typeof name === "symbol" ? dart.const(new _js_helper.PrivateSymbol.new(dart._toSymbolName(name), name)) : dart.const(new _internal.Symbol.new(dart._toDisplayName(name)));
};
dart._setterSymbol = function _setterSymbol(name) {
  return typeof name === "symbol" ? dart.const(new _js_helper.PrivateSymbol.new(dart._toSymbolName(name) + "=", name)) : dart.const(new _internal.Symbol.new(dart._toDisplayName(name) + "="));
};
dart._checkAndCall = function _checkAndCall(f, ftype, obj, typeArgs, args, named, displayName) {
  _debugger.trackCall(obj);
  let originalTarget = obj === void 0 ? f : obj;
  function callNSM(errorMessage) {
    return dart.noSuchMethod(originalTarget, new dart.InvocationImpl.new(displayName, args, {namedArguments: named, typeArguments: typeArgs || [], isMethod: true, failureMessage: errorMessage}));
  }
  if (f == null) return callNSM('Dynamic call of null.');
  if (!(f instanceof Function)) {
    if (f != null) {
      originalTarget = f;
      f = dart.bindCall(f, dart._canonicalMember(f, "call"));
      ftype = null;
      displayName = "call";
    }
    if (f == null) return callNSM("Dynamic call of object has no instance method 'call'.");
  }
  if (ftype == null) ftype = f[dart._runtimeType];
  if (ftype == null) {
    if (typeArgs != null) {
      dart.throwTypeError('call to JS object `' + obj + '` with type arguments <' + typeArgs + '> is not supported.');
    }
    if (named != null) args.push(named);
    return f.apply(obj, args);
  }
  if (ftype instanceof dart.GenericFunctionType) {
    let formalCount = ftype.formalCount;
    if (typeArgs == null) {
      typeArgs = ftype.instantiateDefaultBounds();
    } else if (typeArgs.length != formalCount) {
      return callNSM('Dynamic call with incorrect number of type arguments. ' + 'Expected: ' + formalCount + ' Actual: ' + typeArgs.length);
    } else {
      ftype.checkBounds(typeArgs);
    }
    ftype = ftype.instantiate(typeArgs);
  } else if (typeArgs != null) {
    return callNSM('Dynamic call with unexpected type arguments. ' + 'Expected: 0 Actual: ' + typeArgs.length);
  }
  let errorMessage = dart._argumentErrors(ftype, args, named);
  if (errorMessage == null) {
    if (typeArgs != null) args = typeArgs.concat(args);
    if (named != null) args.push(named);
    return f.apply(obj, args);
  }
  return callNSM(errorMessage);
};
dart.dcall = function dcall(f, args, named = null) {
  return dart._checkAndCall(f, null, void 0, null, args, named, f.name);
};
dart.dgcall = function dgcall(f, typeArgs, args, named = null) {
  return dart._checkAndCall(f, null, void 0, typeArgs, args, named, f.name || 'call');
};
dart.replNameLookup = function replNameLookup(object, field) {
  let rawField = field;
  if (typeof field == 'symbol') {
    if (field in object) return field;
    field = field.toString();
    field = field.substring('Symbol('.length, field.length - 1);
  } else if (field.charAt(0) != '_') {
    return field;
  }
  if (field in object) return field;
  let proto = object;
  while (proto !== null) {
    let symbols = Object.getOwnPropertySymbols(proto);
    let target = 'Symbol(' + field + ')';
    for (let s = 0; s < symbols.length; s++) {
      let sym = symbols[s];
      if (target == sym.toString()) return sym;
    }
    proto = proto.__proto__;
  }
  return rawField;
};
dart.callMethod = function callMethod(obj, name, typeArgs, args, named, displayName) {
  if (typeof obj == "function" && name == "call") {
    return dart.dgcall(obj, typeArgs, args, named);
  }
  let symbol = dart._canonicalMember(obj, name);
  if (symbol == null) {
    return dart.noSuchMethod(obj, new dart.InvocationImpl.new(displayName, T$.ListOfObjectN().as(args), {isMethod: true}));
  }
  let f = obj != null ? obj[symbol] : null;
  let type = dart.getType(obj);
  let ftype = dart.getMethodType(type, symbol);
  return dart._checkAndCall(f, ftype, obj, typeArgs, args, named, displayName);
};
dart.dsend = function dsend(obj, method, args, named = null) {
  return dart.callMethod(obj, method, null, args, named, method);
};
dart.dgsend = function dgsend(obj, typeArgs, method, args, named = null) {
  return dart.callMethod(obj, method, typeArgs, args, named, method);
};
dart.dsendRepl = function dsendRepl(obj, method, args, named = null) {
  return dart.callMethod(obj, dart.replNameLookup(obj, method), null, args, named, method);
};
dart.dgsendRepl = function dgsendRepl(obj, typeArgs, method, args, named = null) {
  return dart.callMethod(obj, dart.replNameLookup(obj, method), typeArgs, args, named, method);
};
dart.dindex = function dindex(obj, index) {
  return dart.callMethod(obj, "_get", null, [index], null, "[]");
};
dart.dsetindex = function dsetindex(obj, index, value) {
  return dart.callMethod(obj, "_set", null, [index, value], null, "[]=");
};
dart.is = function instanceOf(obj, type) {
  if (obj == null) {
    return type === core.Null || dart._isTop(type) || type instanceof dart.NullableType;
  }
  return dart.isSubtypeOf(dart.getReifiedType(obj), type);
};
dart.as = function cast(obj, type) {
  if (obj == null && !false) {
    dart._nullWarnOnType(type);
    return obj;
  } else {
    let actual = dart.getReifiedType(obj);
    if (dart.isSubtypeOf(actual, type)) return obj;
  }
  return dart.castError(obj, type);
};
dart.test = function test(obj) {
  if (obj == null) dart.throw(new _js_helper.BooleanConversionAssertionError.new());
  return obj;
};
dart.dtest = function dtest(obj) {
  if (!(typeof obj == 'boolean')) {
    dart.booleanConversionFailed(false ? obj : dart.test(T$.boolN().as(obj)));
    dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
  }
  return obj;
};
dart.booleanConversionFailed = function booleanConversionFailed(obj) {
  let actual = dart.typeName(dart.getReifiedType(obj));
  dart.throw(new _js_helper.TypeErrorImpl.new("type '" + actual + "' is not a 'bool' in boolean expression"));
};
dart.asInt = function asInt(obj) {
  if (Math.floor(obj) != obj) {
    if (obj == null && !false) {
      dart._nullWarnOnType(core.int);
      return null;
    } else {
      dart.castError(obj, core.int);
    }
  }
  return obj;
};
dart.asNullableInt = function asNullableInt(obj) {
  return obj == null ? null : dart.asInt(obj);
};
dart.notNull = function _notNull(x) {
  if (x == null) dart.throwNullValueError();
  return x;
};
dart.nullCast = function nullCast(x, type) {
  if (x == null) {
    if (!false) {
      dart._nullWarnOnType(type);
    } else {
      dart.castError(x, type);
    }
  }
  return x;
};
dart.nullCheck = function nullCheck(x) {
  if (x == null) dart.throw(new _js_helper.TypeErrorImpl.new("Unexpected null value."));
  return x;
};
dart._lookupNonTerminal = function _lookupNonTerminal(map, key) {
  if (map == null) dart.nullFailed(I[2], 539, 34, "map");
  let result = map.get(key);
  if (result != null) return result;
  map.set(key, result = new Map());
  return dart.nullCheck(result);
};
dart.constMap = function constMap(K, V, elements) {
  if (elements == null) dart.nullFailed(I[2], 546, 34, "elements");
  let count = elements[$length];
  let map = dart._lookupNonTerminal(dart.constantMaps, count);
  for (let i = 0; i < count; i = i + 1) {
    map = dart._lookupNonTerminal(map, elements[i]);
  }
  map = dart._lookupNonTerminal(map, dart.wrapType(K));
  let result = map.get(V);
  if (result != null) return result;
  result = new (_js_helper.ImmutableMap$(K, V)).from(elements);
  map.set(V, result);
  return result;
};
dart._createImmutableSet = function _createImmutableSet(E, elements) {
  if (elements == null) dart.nullFailed(I[2], 564, 42, "elements");
  dart._immutableSetConstructor == null ? dart._immutableSetConstructor = dart.getLibrary("dart:collection")._ImmutableSet$ : null;
  return new (dart._immutableSetConstructor(E)).from(elements);
};
dart.constSet = function constSet(E, elements) {
  if (elements == null) dart.nullFailed(I[2], 570, 31, "elements");
  let count = elements[$length];
  let map = dart._lookupNonTerminal(dart.constantSets, count);
  for (let i = 0; i < count; i = i + 1) {
    map = dart._lookupNonTerminal(map, elements[i]);
  }
  let result = map.get(E);
  if (result != null) return result;
  result = dart._createImmutableSet(E, elements);
  map.set(E, result);
  return result;
};
dart.multiKeyPutIfAbsent = function multiKeyPutIfAbsent(map, keys, valueFn) {
  for (let k of keys) {
    let value = map.get(k);
    if (!value) {
      map.set(k, value = new Map());
    }
    map = value;
  }
  if (map.has(dart._value)) return map.get(dart._value);
  let value = valueFn();
  map.set(dart._value, value);
  return value;
};
dart.const = function const_(obj) {
  let names = dart.getOwnNamesAndSymbols(obj);
  let count = names.length;
  let map = dart._lookupNonTerminal(dart.constants, count);
  for (let i = 0; i < count; i++) {
    let name = names[i];
    map = dart._lookupNonTerminal(map, name);
    map = dart._lookupNonTerminal(map, obj[name]);
  }
  let type = dart.getReifiedType(obj);
  let value = map.get(type);
  if (value) return value;
  map.set(type, obj);
  return obj;
};
dart.constList = function constList(elements, elementType) {
  let count = elements.length;
  let map = dart._lookupNonTerminal(dart.constantLists, count);
  for (let i = 0; i < count; i++) {
    map = dart._lookupNonTerminal(map, elements[i]);
  }
  let value = map.get(elementType);
  if (value) return value;
  _interceptors.JSArray$(elementType).unmodifiable(elements);
  map.set(elementType, elements);
  return elements;
};
dart.constFn = function constFn(x) {
  return () => x;
};
dart.extensionSymbol = function extensionSymbol(name) {
  if (name == null) dart.nullFailed(I[2], 688, 24, "name");
  return dartx[name];
};
dart.equals = function equals(x, y) {
  return x == null ? y == null : x[$_equals](y);
};
dart.hashCode = function hashCode(obj) {
  return obj == null ? 0 : obj[$hashCode];
};
dart.toString = function _toString(obj) {
  if (obj == null) return "null";
  if (typeof obj == 'string') return obj;
  return obj[$toString]();
};
dart.str = function str(obj) {
  if (obj == null) return "null";
  if (typeof obj == 'string') return obj;
  return core.String.as(dart.notNull(obj[$toString]()));
};
dart.noSuchMethod = function noSuchMethod(obj, invocation) {
  if (invocation == null) dart.nullFailed(I[2], 724, 30, "invocation");
  if (obj == null) dart.defaultNoSuchMethod(obj, invocation);
  return obj[$noSuchMethod](invocation);
};
dart.defaultNoSuchMethod = function defaultNoSuchMethod(obj, i) {
  if (i == null) dart.nullFailed(I[2], 730, 37, "i");
  dart.throw(new core.NoSuchMethodError._withInvocation(obj, i));
};
dart.runtimeType = function runtimeType(obj) {
  return obj == null ? dart.wrapType(core.Null) : obj[dartx.runtimeType];
};
dart._canonicalMember = function _canonicalMember(obj, name) {
  if (typeof name === "symbol") return name;
  if (obj != null && obj[dart._extensionType] != null) {
    return dartx[name];
  }
  if (name == "constructor" || name == "prototype") {
    name = "+" + name;
  }
  return name;
};
dart.loadLibrary = function loadLibrary(enclosingLibrary, importPrefix) {
  let result = dart.deferredImports.get(enclosingLibrary);
  if (dart.test(result === void 0)) {
    dart.deferredImports.set(enclosingLibrary, result = new Set());
  }
  result.add(importPrefix);
  return async.Future.value();
};
dart.checkDeferredIsLoaded = function checkDeferredIsLoaded(enclosingLibrary, importPrefix) {
  let loaded = dart.deferredImports.get(enclosingLibrary);
  if (dart.test(loaded === void 0) || dart.test(!loaded.has(importPrefix))) {
    dart.throwDeferredIsLoadedError(enclosingLibrary, importPrefix);
  }
};
dart.defineLazy = function defineLazy(to, from, useOldSemantics) {
  if (useOldSemantics == null) dart.nullFailed(I[2], 805, 32, "useOldSemantics");
  for (let name of dart.getOwnNamesAndSymbols(from)) {
    if (dart.test(useOldSemantics)) {
      dart.defineLazyFieldOld(to, name, dart.getOwnPropertyDescriptor(from, name));
    } else {
      dart.defineLazyField(to, name, dart.getOwnPropertyDescriptor(from, name));
    }
  }
};
dart.defineLazyField = function defineLazyField(to, name, desc) {
  const initializer = desc.get;
  const final = desc.set == null;
  let initialized = false;
  let init = initializer;
  let value = null;
  let savedLocals = false;
  desc.get = function() {
    if (init == null) return value;
    if (final && initialized) dart.throwLateInitializationError(name);
    if (!savedLocals) {
      dart._resetFields.push(() => {
        init = initializer;
        value = null;
        savedLocals = false;
        initialized = false;
      });
      savedLocals = true;
    }
    initialized = true;
    try {
      value = init();
    } catch (e) {
      initialized = false;
      throw e;
    }
    init = null;
    return value;
  };
  desc.configurable = true;
  if (desc.set != null) {
    desc.set = function(x) {
      init = null;
      value = x;
    };
  }
  return dart.defineProperty(to, name, desc);
};
dart.defineLazyFieldOld = function defineLazyFieldOld(to, name, desc) {
  const initializer = desc.get;
  let init = initializer;
  let value = null;
  desc.get = function() {
    if (init == null) return value;
    let f = init;
    init = dart.throwCyclicInitializationError;
    if (f === init) f(name);
    dart._resetFields.push(() => {
      init = initializer;
      value = null;
    });
    try {
      value = f();
      init = null;
      return value;
    } catch (e) {
      init = null;
      value = null;
      throw e;
    }
  };
  desc.configurable = true;
  if (desc.set != null) {
    desc.set = function(x) {
      init = null;
      value = x;
    };
  }
  return dart.defineProperty(to, name, desc);
};
dart.checkNativeNonNull = function checkNativeNonNull(variable) {
  if (dart._nativeNonNullAsserts && variable == null) {
    dart.throw(new _js_helper.TypeErrorImpl.new("      Unexpected null value encountered in Dart web platform libraries.\n      This may be a bug in the Dart SDK APIs. If you would like to report a bug\n      or disable this error, you can use the following instructions:\n      https://github.com/dart-lang/sdk/tree/master/sdk/lib/html/doc/NATIVE_NULL_ASSERTIONS.md\n    "));
  }
  return variable;
};
dart.fn = function fn(closure, type) {
  closure[dart._runtimeType] = type;
  return closure;
};
dart.lazyFn = function lazyFn(closure, computeType) {
  if (computeType == null) dart.nullFailed(I[3], 63, 35, "computeType");
  dart.defineAccessor(closure, dart._runtimeType, {
    get: () => dart.defineValue(closure, dart._runtimeType, computeType()),
    set: value => dart.defineValue(closure, dart._runtimeType, value),
    configurable: true
  });
  return closure;
};
dart.getFunctionType = function getFunctionType(obj) {
  let args = Array(obj.length).fill(dart.dynamic);
  return dart.fnType(dart.bottom, args, void 0);
};
dart.getReifiedType = function getReifiedType(obj) {
  switch (typeof obj) {
    case "object":
    {
      if (obj == null) return core.Null;
      if (obj instanceof core.Object) {
        return obj.constructor;
      }
      let result = obj[dart._extensionType];
      if (result == null) return _interceptors.JavaScriptObject;
      return result;
    }
    case "function":
    {
      let result = obj[dart._runtimeType];
      if (result != null) return result;
      return _interceptors.JavaScriptObject;
    }
    case "undefined":
    {
      return core.Null;
    }
    case "number":
    {
      return Math.floor(obj) == obj ? core.int : core.double;
    }
    case "boolean":
    {
      return core.bool;
    }
    case "string":
    {
      return core.String;
    }
    case "symbol":
    default:
    {
      return _interceptors.JavaScriptObject;
    }
  }
};
dart.getModuleName = function getModuleName(module) {
  if (module == null) dart.nullFailed(I[3], 117, 30, "module");
  return module[dart._moduleName];
};
dart.getModuleNames = function getModuleNames() {
  return Array.from(dart._loadedModules.keys());
};
dart.getSourceMap = function getSourceMap(moduleName) {
  if (moduleName == null) dart.nullFailed(I[3], 127, 29, "moduleName");
  return dart._loadedSourceMaps.get(moduleName);
};
dart.getModuleLibraries = function getModuleLibraries(name) {
  if (name == null) dart.nullFailed(I[3], 132, 27, "name");
  let module = dart._loadedModules.get(name);
  if (module == null) return null;
  module[dart._moduleName] = name;
  return module;
};
dart.getModulePartMap = function getModulePartMap(name) {
  if (name == null) dart.nullFailed(I[3], 140, 25, "name");
  return dart._loadedPartMaps.get(name);
};
dart.trackLibraries = function trackLibraries(moduleName, libraries, parts, sourceMap) {
  if (moduleName == null) dart.nullFailed(I[3], 144, 12, "moduleName");
  if (libraries == null) dart.nullFailed(I[3], 144, 31, "libraries");
  if (parts == null) dart.nullFailed(I[3], 144, 49, "parts");
  if (typeof parts == 'string') {
    sourceMap = parts;
    parts = {};
  }
  dart._loadedSourceMaps.set(moduleName, sourceMap);
  dart._loadedModules.set(moduleName, libraries);
  dart._loadedPartMaps.set(moduleName, parts);
  dart._libraries = null;
  dart._libraryObjects = null;
  dart._parts = null;
};
dart._computeLibraryMetadata = function _computeLibraryMetadata() {
  dart._libraries = T$.JSArrayOfString().of([]);
  dart._libraryObjects = new (T$.IdentityMapOfString$ObjectN()).new();
  dart._parts = new (T$.IdentityMapOfString$ListNOfString()).new();
  let modules = dart.getModuleNames();
  for (let name of modules) {
    let module = dart.getModuleLibraries(name);
    let libraries = dart.getOwnPropertyNames(module)[$cast](core.String);
    dart.nullCheck(dart._libraries)[$addAll](libraries);
    for (let library of libraries) {
      dart.nullCheck(dart._libraryObjects)[$_set](library, module[library]);
    }
    let partMap = dart.getModulePartMap(name);
    libraries = dart.getOwnPropertyNames(partMap)[$cast](core.String);
    for (let library of libraries) {
      dart.nullCheck(dart._parts)[$_set](library, T$.ListOfString().from(partMap[library]));
    }
  }
};
dart.getLibrary = function getLibrary(uri) {
  if (uri == null) dart.nullFailed(I[3], 192, 27, "uri");
  if (dart._libraryObjects == null) {
    dart._computeLibraryMetadata();
  }
  return dart.nullCheck(dart._libraryObjects)[$_get](uri);
};
dart.getLibraries = function getLibraries() {
  if (dart._libraries == null) {
    dart._computeLibraryMetadata();
  }
  return dart.nullCheck(dart._libraries);
};
dart.getParts = function getParts(libraryUri) {
  let t0;
  if (libraryUri == null) dart.nullFailed(I[3], 222, 30, "libraryUri");
  if (dart._parts == null) {
    dart._computeLibraryMetadata();
  }
  t0 = dart.nullCheck(dart._parts)[$_get](libraryUri);
  return t0 == null ? T$.JSArrayOfString().of([]) : t0;
};
dart.polyfill = function polyfill(window) {
  if (window[dart._polyfilled]) return false;
  window[dart._polyfilled] = true;
  if (typeof window.NodeList !== "undefined") {
    window.NodeList.prototype.get = function(i) {
      return this[i];
    };
    window.NamedNodeMap.prototype.get = function(i) {
      return this[i];
    };
    window.DOMTokenList.prototype.get = function(i) {
      return this[i];
    };
    window.HTMLCollection.prototype.get = function(i) {
      return this[i];
    };
    if (typeof window.PannerNode == "undefined") {
      let audioContext;
      if (typeof window.AudioContext == "undefined" && typeof window.webkitAudioContext != "undefined") {
        audioContext = new window.webkitAudioContext();
      } else {
        audioContext = new window.AudioContext();
        window.StereoPannerNode = audioContext.createStereoPanner().constructor;
      }
      window.PannerNode = audioContext.createPanner().constructor;
    }
    if (typeof window.AudioSourceNode == "undefined") {
      window.AudioSourceNode = MediaElementAudioSourceNode.__proto__;
    }
    if (typeof window.FontFaceSet == "undefined") {
      if (typeof window.document.fonts != "undefined") {
        window.FontFaceSet = window.document.fonts.__proto__.constructor;
      }
    }
    if (typeof window.MemoryInfo == "undefined") {
      if (typeof window.performance.memory != "undefined") {
        window.MemoryInfo = function() {
        };
        window.MemoryInfo.prototype = window.performance.memory.__proto__;
      }
    }
    if (typeof window.Geolocation == "undefined") {
      window.Geolocation == window.navigator.geolocation.constructor;
    }
    if (typeof window.Animation == "undefined") {
      let d = window.document.createElement('div');
      if (typeof d.animate != "undefined") {
        window.Animation = d.animate(d).constructor;
      }
    }
    if (typeof window.SourceBufferList == "undefined") {
      if ('MediaSource' in window) {
        window.SourceBufferList = new window.MediaSource().sourceBuffers.constructor;
      }
    }
    if (typeof window.SpeechRecognition == "undefined") {
      window.SpeechRecognition = window.webkitSpeechRecognition;
      window.SpeechRecognitionError = window.webkitSpeechRecognitionError;
      window.SpeechRecognitionEvent = window.webkitSpeechRecognitionEvent;
    }
  }
  return true;
};
dart.trackProfile = function trackProfile(flag) {
  if (flag == null) dart.nullFailed(I[4], 142, 24, "flag");
  dart.__trackProfile = flag;
};
dart.setStartAsyncSynchronously = function setStartAsyncSynchronously(value = true) {
  if (value == null) dart.nullFailed(I[4], 167, 39, "value");
  dart.startAsyncSynchronously = value;
};
dart.hotRestart = function hotRestart() {
  dart.hotRestartIteration = dart.notNull(dart.hotRestartIteration) + 1;
  for (let f of dart._resetFields)
    f();
  dart._resetFields[$clear]();
  for (let m of dart._cacheMaps)
    m.clear();
  dart._cacheMaps[$clear]();
  dart._nullComparisonSet.clear();
  dart.constantMaps.clear();
  dart.deferredImports.clear();
};
dart._throwInvalidFlagError = function _throwInvalidFlagError(message) {
  if (message == null) dart.nullFailed(I[5], 15, 31, "message");
  return dart.throw(new core.UnsupportedError.new("Invalid flag combination.\n" + dart.str(message)));
};
dart.weakNullSafetyWarnings = function weakNullSafetyWarnings(showWarnings) {
  if (showWarnings == null) dart.nullFailed(I[5], 25, 34, "showWarnings");
  if (dart.test(showWarnings) && false) {
    dart._throwInvalidFlagError("Null safety violations cannot be shown as warnings when running with " + "sound null safety.");
  }
  dart._weakNullSafetyWarnings = showWarnings;
};
dart.weakNullSafetyErrors = function weakNullSafetyErrors(showErrors) {
  if (showErrors == null) dart.nullFailed(I[5], 42, 32, "showErrors");
  if (dart.test(showErrors) && false) {
    dart._throwInvalidFlagError("Null safety violations are already thrown as errors when running with " + "sound null safety.");
  }
  if (dart.test(showErrors) && dart._weakNullSafetyWarnings) {
    dart._throwInvalidFlagError("Null safety violations can be shown as warnings or thrown as errors, " + "not both.");
  }
  dart._weakNullSafetyErrors = showErrors;
};
dart.nonNullAsserts = function nonNullAsserts(enable) {
  if (enable == null) dart.nullFailed(I[5], 66, 26, "enable");
  dart._nonNullAsserts = enable;
};
dart.nativeNonNullAsserts = function nativeNonNullAsserts(enable) {
  if (enable == null) dart.nullFailed(I[5], 78, 32, "enable");
  dart._nativeNonNullAsserts = enable;
};
dart._isJsObject = function _isJsObject(obj) {
  return dart.getReifiedType(obj) === _interceptors.JavaScriptObject;
};
dart.assertInterop = function assertInterop(f) {
  if (f == null) dart.nullFailed(I[5], 174, 39, "f");
  if (!(dart._isJsObject(f) || !(f instanceof dart.global.Function))) dart.assertFailed("Dart function requires `allowInterop` to be passed to JavaScript.", I[5], 176, 7, "_isJsObject(f) ||\n          !JS<bool>('bool', '# instanceof #.Function', f, global_)");
  return f;
};
dart.isDartFunction = function isDartFunction(obj) {
  return obj instanceof Function && obj[dart._runtimeType] != null;
};
dart.tearoffInterop = function tearoffInterop(f) {
  if (!dart._isJsObject(f) || f == null) return f;
  let ret = dart._assertInteropExpando._get(f);
  if (ret == null) {
    ret = function(...arguments$) {
      var args = arguments$.map(dart.assertInterop);
      return f.apply(this, args);
    };
    dart._assertInteropExpando._set(f, ret);
  }
  return ret;
};
dart._warn = function _warn(arg) {
  console.warn(arg);
};
dart._nullWarn = function _nullWarn(message) {
  if (dart._weakNullSafetyWarnings) {
    dart._warn(dart.str(message) + "\n" + "This will become a failure when runtime null safety is enabled.");
  } else if (dart._weakNullSafetyErrors) {
    dart.throw(new _js_helper.TypeErrorImpl.new(core.String.as(message)));
  }
};
dart._nullWarnOnType = function _nullWarnOnType(type) {
  let result = dart._nullComparisonSet.has(type);
  if (!dart.test(result)) {
    dart._nullComparisonSet.add(type);
    dart._nullWarn("Null is not a subtype of " + dart.str(type) + ".");
  }
};
dart.packageJSType = function packageJSType(name) {
  if (name == null) dart.nullFailed(I[5], 263, 22, "name");
  let ret = dart._packageJSTypes.get(name);
  if (ret == null) {
    ret = new dart.PackageJSType.new(name);
    dart._packageJSTypes.set(name, ret);
  }
  return ret;
};
dart.nullable = function nullable(type) {
  let cached = type[dart._cachedNullable];
  if (cached !== void 0) {
    return cached;
  }
  let cachedType = dart._computeNullable(type);
  type[dart._cachedNullable] = cachedType;
  return cachedType;
};
dart._computeNullable = function _computeNullable(type) {
  if (type instanceof dart.LegacyType) {
    return dart.nullable(type.type);
  }
  if (type instanceof dart.NullableType || dart._isTop(type) || type === core.Null || dart._isFutureOr(type) && dart.getGenericArgs(type)[0] instanceof dart.NullableType) {
    return type;
  }
  if (type === dart.Never) return core.Null;
  return new dart.NullableType.new(type);
};
dart.legacy = function legacy(type) {
  let cached = type[dart._cachedLegacy];
  if (cached !== void 0) {
    return cached;
  }
  let cachedType = dart._computeLegacy(type);
  type[dart._cachedLegacy] = cachedType;
  return cachedType;
};
dart._computeLegacy = function _computeLegacy(type) {
  if (type instanceof dart.LegacyType || type instanceof dart.NullableType || dart._isTop(type) || type === core.Null) {
    return type;
  }
  return new dart.LegacyType.new(type);
};
dart.wrapType = function wrapType(type, isNormalized = false) {
  if (type.hasOwnProperty(dart._typeObject)) {
    return type[dart._typeObject];
  }
  let result = isNormalized ? new dart._Type.new(core.Object.as(type)) : type instanceof dart.LegacyType ? dart.wrapType(type.type) : dart._canonicalizeNormalizedTypeObject(type);
  type[dart._typeObject] = result;
  return result;
};
dart._canonicalizeNormalizedTypeObject = function _canonicalizeNormalizedTypeObject(type) {
  if (!!(type instanceof dart.LegacyType)) dart.assertFailed(null, I[5], 472, 10, "!_jsInstanceOf(type, LegacyType)");
  function normalizeHelper(a) {
    return dart.unwrapType(dart.wrapType(a));
  }
  if (type instanceof dart.GenericFunctionTypeIdentifier) {
    return dart.wrapType(type, true);
  }
  if (type instanceof dart.FunctionType) {
    let normReturnType = normalizeHelper(dart.dload(type, 'returnType'));
    let normArgs = dart.dsend(dart.dsend(dart.dload(type, 'args'), 'map', [normalizeHelper]), 'toList', []);
    if (dart.global.Object.keys(dart.dload(type, 'named')).length === 0 && dart.global.Object.keys(dart.dload(type, 'requiredNamed')).length === 0) {
      if (dart.dtest(dart.dload(dart.dload(type, 'optionals'), 'isEmpty'))) {
        let normType = dart.fnType(normReturnType, core.List.as(normArgs));
        return dart.wrapType(normType, true);
      }
      let normOptionals = dart.dsend(dart.dsend(dart.dload(type, 'optionals'), 'map', [normalizeHelper]), 'toList', []);
      let normType = dart.fnType(normReturnType, core.List.as(normArgs), normOptionals);
      return dart.wrapType(normType, true);
    }
    let normNamed = {};
    dart._transformJSObject(dart.dload(type, 'named'), normNamed, normalizeHelper);
    let normRequiredNamed = {};
    dart._transformJSObject(dart.dload(type, 'requiredNamed'), normRequiredNamed, normalizeHelper);
    let normType = dart.fnType(normReturnType, core.List.as(normArgs), normNamed, normRequiredNamed);
    return dart.wrapType(normType, true);
  }
  if (type instanceof dart.GenericFunctionType) {
    let formals = dart._getCanonicalTypeFormals(core.int.as(dart.dload(dart.dload(type, 'typeFormals'), 'length')));
    let normBounds = core.List.as(dart.dsend(dart.dsend(dart.dsend(type, 'instantiateTypeBounds', [formals]), 'map', [normalizeHelper]), 'toList', []));
    let substitutedTypes = [];
    if (dart.test(normBounds[$contains](dart.Never))) {
      for (let i = 0; i < dart.notNull(formals[$length]); i = i + 1) {
        let substitutedType = normBounds[$_get](i);
        while (dart.test(formals[$contains](substitutedType))) {
          substitutedType = normBounds[$_get](formals[$indexOf](dart.TypeVariable.as(substitutedType)));
        }
        if (dart.equals(substitutedType, dart.Never)) {
          substitutedTypes[$add](dart.Never);
        } else {
          substitutedTypes[$add](formals[$_get](i));
        }
      }
    } else {
      substitutedTypes = formals;
    }
    let normFunc = dart.FunctionType.as(normalizeHelper(dart.dsend(type, 'instantiate', [substitutedTypes])));
    let typeObjectIdKey = [];
    typeObjectIdKey.push(...normBounds);
    typeObjectIdKey.push(normFunc);
    let memoizedId = dart._memoizeArray(dart._gFnTypeTypeMap, typeObjectIdKey, () => new dart.GenericFunctionTypeIdentifier.new(formals, normBounds, normFunc));
    return dart.wrapType(memoizedId, true);
  }
  let args = dart.getGenericArgs(type);
  let normType = null;
  if (args == null || dart.test(args[$isEmpty])) {
    normType = type;
  } else {
    let genericClass = dart.getGenericClass(type);
    let normArgs = args[$map](core.Object, normalizeHelper)[$toList]();
    normType = genericClass(...normArgs);
  }
  return dart.wrapType(normType, true);
};
dart._transformJSObject = function _transformJSObject(srcObject, dstObject, transform) {
  if (transform == null) dart.nullFailed(I[5], 554, 56, "transform");
  for (let key of dart.global.Object.keys(srcObject)) {
    dstObject[key] = dart.dcall(transform, [srcObject[key]]);
  }
};
dart.unwrapType = function unwrapType(obj) {
  if (obj == null) dart.nullFailed(I[5], 565, 24, "obj");
  return obj[_type$];
};
dart._getCanonicalTypeFormals = function _getCanonicalTypeFormals(count) {
  if (count == null) dart.nullFailed(I[5], 610, 49, "count");
  while (dart.notNull(count) > dart.notNull(dart._typeVariablePool[$length])) {
    dart._fillTypeVariable();
  }
  return dart._typeVariablePool[$sublist](0, count);
};
dart._fillTypeVariable = function _fillTypeVariable() {
  if (dart.notNull(dart._typeVariablePool[$length]) < 26) {
    dart._typeVariablePool[$add](new dart.TypeVariable.new(core.String.fromCharCode(65 + dart.notNull(dart._typeVariablePool[$length]))));
  } else {
    dart._typeVariablePool[$add](new dart.TypeVariable.new("T" + dart.str(dart.notNull(dart._typeVariablePool[$length]) - 26)));
  }
};
dart._memoizeArray = function _memoizeArray(map, arr, create) {
  if (create == null) dart.nullFailed(I[5], 632, 32, "create");
  return (() => {
    let len = arr.length;
    map = dart._lookupNonTerminal(map, len);
    for (var i = 0; i < len - 1; ++i) {
      map = dart._lookupNonTerminal(map, arr[i]);
    }
    let result = map.get(arr[len - 1]);
    if (result !== void 0) return result;
    map.set(arr[len - 1], result = create());
    return result;
  })();
};
dart._canonicalizeArray = function _canonicalizeArray(array, map) {
  if (array == null) dart.nullFailed(I[5], 644, 30, "array");
  return dart._memoizeArray(map, array, () => array);
};
dart._canonicalizeNamed = function _canonicalizeNamed(named, map) {
  let key = [];
  let names = dart.getOwnPropertyNames(named);
  for (var i = 0; i < names.length; ++i) {
    let name = names[i];
    let type = named[name];
    key.push(name);
    key.push(type);
  }
  return dart._memoizeArray(map, key, () => named);
};
dart._createSmall = function _createSmall(returnType, required) {
  if (required == null) dart.nullFailed(I[5], 664, 44, "required");
  return (() => {
    let count = required.length;
    let map = dart._fnTypeSmallMap[count];
    for (var i = 0; i < count; ++i) {
      map = dart._lookupNonTerminal(map, required[i]);
    }
    let result = map.get(returnType);
    if (result !== void 0) return result;
    result = new dart.FunctionType.new(core.Type.as(returnType), required, [], {}, {});
    map.set(returnType, result);
    return result;
  })();
};
dart._typeFormalsFromFunction = function _typeFormalsFromFunction(typeConstructor) {
  let str = typeConstructor.toString();
  let hasParens = str[$_get](0) === "(";
  let end = str[$indexOf](hasParens ? ")" : "=>");
  if (hasParens) {
    return str[$substring](1, end)[$split](",")[$map](dart.TypeVariable, n => {
      if (n == null) dart.nullFailed(I[5], 1096, 15, "n");
      return new dart.TypeVariable.new(n[$trim]());
    })[$toList]();
  } else {
    return T$.JSArrayOfTypeVariable().of([new dart.TypeVariable.new(str[$substring](0, end)[$trim]())]);
  }
};
dart.fnType = function fnType(returnType, args, optional = null, requiredNamed = null) {
  if (args == null) dart.nullFailed(I[5], 1104, 38, "args");
  return dart.FunctionType.create(returnType, args, optional, requiredNamed);
};
dart.gFnType = function gFnType(instantiateFn, typeBounds) {
  return new dart.GenericFunctionType.new(instantiateFn, typeBounds);
};
dart.isType = function isType(obj) {
  return obj[dart._runtimeType] === core.Type;
};
dart.checkTypeBound = function checkTypeBound(type, bound, name) {
  if (!dart.isSubtypeOf(type, bound)) {
    dart.throwTypeError("type `" + dart.str(type) + "` does not extend `" + dart.str(bound) + "` of `" + name + "`.");
  }
};
dart.typeName = function typeName(type) {
  if (type === void 0) return "undefined type";
  if (type === null) return "null type";
  if (type instanceof dart.DartType) {
    return type.toString();
  }
  let tag = type[dart._runtimeType];
  if (tag === core.Type) {
    let name = type.name;
    let args = dart.getGenericArgs(type);
    if (args == null) return name;
    if (dart.getGenericClass(type) == _interceptors.JSArray$) name = 'List';
    let result = name;
    result += '<';
    for (let i = 0; i < args.length; ++i) {
      if (i > 0) result += ', ';
      result += dart.typeName(args[i]);
    }
    result += '>';
    return result;
  }
  if (tag) return "Not a type: " + tag.name;
  return "JSObject<" + type.name + ">";
};
dart._isFunctionSubtype = function _isFunctionSubtype(ft1, ft2, strictMode) {
  let ret1 = ft1.returnType;
  let ret2 = ft2.returnType;
  let args1 = ft1.args;
  let args2 = ft2.args;
  if (args1.length > args2.length) {
    return false;
  }
  for (let i = 0; i < args1.length; ++i) {
    if (!dart._isSubtype(args2[i], args1[i], strictMode)) {
      return false;
    }
  }
  let optionals1 = ft1.optionals;
  let optionals2 = ft2.optionals;
  if (args1.length + optionals1.length < args2.length + optionals2.length) {
    return false;
  }
  let j = 0;
  for (let i = args1.length; i < args2.length; ++i, ++j) {
    if (!dart._isSubtype(args2[i], optionals1[j], strictMode)) {
      return false;
    }
  }
  for (let i = 0; i < optionals2.length; ++i, ++j) {
    if (!dart._isSubtype(optionals2[i], optionals1[j], strictMode)) {
      return false;
    }
  }
  let named1 = ft1.named;
  let requiredNamed1 = ft1.requiredNamed;
  let named2 = ft2.named;
  let requiredNamed2 = ft2.requiredNamed;
  if (!strictMode) {
    named1 = Object.assign({}, named1, requiredNamed1);
    named2 = Object.assign({}, named2, requiredNamed2);
    requiredNamed1 = {};
    requiredNamed2 = {};
  }
  let names = dart.getOwnPropertyNames(requiredNamed1);
  for (let i = 0; i < names.length; ++i) {
    let name = names[i];
    let n2 = requiredNamed2[name];
    if (n2 === void 0) {
      return false;
    }
  }
  names = dart.getOwnPropertyNames(named2);
  for (let i = 0; i < names.length; ++i) {
    let name = names[i];
    let n1 = named1[name];
    let n2 = named2[name];
    if (n1 === void 0) {
      return false;
    }
    if (!dart._isSubtype(n2, n1, strictMode)) {
      return false;
    }
  }
  names = dart.getOwnPropertyNames(requiredNamed2);
  for (let i = 0; i < names.length; ++i) {
    let name = names[i];
    let n1 = named1[name] || requiredNamed1[name];
    let n2 = requiredNamed2[name];
    if (n1 === void 0) {
      return false;
    }
    if (!dart._isSubtype(n2, n1, strictMode)) {
      return false;
    }
  }
  return dart._isSubtype(ret1, ret2, strictMode);
};
dart.isSubtypeOf = function isSubtypeOf(t1, t2) {
  let map = t1[dart._subtypeCache];
  let result = map.get(t2);
  if (result !== void 0) return result;
  let validSubtype = dart._isSubtype(t1, t2, true);
  if (!validSubtype && !false) {
    validSubtype = dart._isSubtype(t1, t2, false);
    if (validSubtype) {
      dart._nullWarn(dart.str(t1) + " is not a subtype of " + dart.str(t2) + ".");
    }
  }
  map.set(t2, validSubtype);
  return validSubtype;
};
dart._isBottom = function _isBottom(type, strictMode) {
  return type === dart.Never || !strictMode && type === core.Null;
};
dart._isTop = function _isTop(type) {
  if (type instanceof dart.NullableType) return type.type === core.Object;
  return type === dart.dynamic || type === dart.void;
};
dart._isFutureOr = function _isFutureOr(type) {
  let genericClass = dart.getGenericClass(type);
  return genericClass && genericClass === async.FutureOr$;
};
dart._isSubtype = function _isSubtype(t1, t2, strictMode) {
  if (!strictMode) {
    if (t1 instanceof dart.NullableType) {
      t1 = t1.type;
    }
    if (t2 instanceof dart.NullableType) {
      t2 = t2.type;
    }
  }
  if (t1 === t2) {
    return true;
  }
  if (dart._isTop(t2) || dart._isBottom(t1, strictMode)) {
    return true;
  }
  if (t1 === dart.dynamic || t1 === dart.void) {
    return dart._isSubtype(dart.nullable(core.Object), t2, strictMode);
  }
  if (t2 === core.Object) {
    if (dart._isFutureOr(t1)) {
      let t1TypeArg = dart.getGenericArgs(t1)[0];
      return dart._isSubtype(t1TypeArg, core.Object, strictMode);
    }
    if (t1 instanceof dart.LegacyType) {
      return dart._isSubtype(t1.type, t2, strictMode);
    }
    if (t1 === core.Null || t1 instanceof dart.NullableType) {
      return false;
    }
    return true;
  }
  if (t1 === core.Null) {
    if (dart._isFutureOr(t2)) {
      let t2TypeArg = dart.getGenericArgs(t2)[0];
      return dart._isSubtype(core.Null, t2TypeArg, strictMode);
    }
    return t2 === core.Null || t2 instanceof dart.LegacyType || t2 instanceof dart.NullableType;
  }
  if (t1 instanceof dart.LegacyType) {
    return dart._isSubtype(t1.type, t2, strictMode);
  }
  if (t2 instanceof dart.LegacyType) {
    return dart._isSubtype(t1, dart.nullable(t2.type), strictMode);
  }
  if (dart._isFutureOr(t1)) {
    let t1TypeArg = dart.getGenericArgs(t1)[0];
    if (dart._isFutureOr(t2)) {
      let t2TypeArg = dart.getGenericArgs(t2)[0];
      if (dart._isSubtype(t1TypeArg, t2TypeArg, strictMode)) {
        return true;
      }
    }
    let t1Future = async.Future$(t1TypeArg);
    return dart._isSubtype(t1Future, t2, strictMode) && dart._isSubtype(t1TypeArg, t2, strictMode);
  }
  if (t1 instanceof dart.NullableType) {
    return dart._isSubtype(t1.type, t2, strictMode) && dart._isSubtype(core.Null, t2, strictMode);
  }
  if (dart._isFutureOr(t2)) {
    let t2TypeArg = dart.getGenericArgs(t2)[0];
    let t2Future = async.Future$(t2TypeArg);
    return dart._isSubtype(t1, t2Future, strictMode) || dart._isSubtype(t1, t2TypeArg, strictMode);
  }
  if (t2 instanceof dart.NullableType) {
    return dart._isSubtype(t1, t2.type, strictMode) || dart._isSubtype(t1, core.Null, strictMode);
  }
  if (!(t2 instanceof dart.AbstractFunctionType)) {
    if (t1 instanceof dart.AbstractFunctionType) {
      return t2 === core.Function;
    }
    if (dart._isInterfaceSubtype(t1, _interceptors.JavaScriptObject, strictMode) && dart._isInterfaceSubtype(dart._pkgJSTypeForSubtyping, t2, strictMode)) {
      return true;
    }
    if (dart._isInterfaceSubtype(_interceptors.JavaScriptObject, t2, strictMode) && dart._isInterfaceSubtype(t1, dart._pkgJSTypeForSubtyping, strictMode)) {
      return true;
    }
    return dart._isInterfaceSubtype(t1, t2, strictMode);
  }
  if (!(t1 instanceof dart.AbstractFunctionType)) {
    return false;
  }
  if (t1 instanceof dart.GenericFunctionType) {
    if (!(t2 instanceof dart.GenericFunctionType)) {
      return false;
    }
    let formalCount = t1.formalCount;
    if (formalCount !== t2.formalCount) {
      return false;
    }
    let fresh = t2.typeFormals;
    if (t1.hasTypeBounds || t2.hasTypeBounds) {
      let t1Bounds = t1.instantiateTypeBounds(fresh);
      let t2Bounds = t2.instantiateTypeBounds(fresh);
      for (let i = 0; i < formalCount; i++) {
        if (t1Bounds[i] != t2Bounds[i]) {
          if (!(dart._isSubtype(t1Bounds[i], t2Bounds[i], strictMode) && dart._isSubtype(t2Bounds[i], t1Bounds[i], strictMode))) {
            return false;
          }
        }
      }
    }
    t1 = t1.instantiate(fresh);
    t2 = t2.instantiate(fresh);
  } else if (t2 instanceof dart.GenericFunctionType) {
    return false;
  }
  return dart._isFunctionSubtype(t1, t2, strictMode);
};
dart._isInterfaceSubtype = function _isInterfaceSubtype(t1, t2, strictMode) {
  if (t1 instanceof dart.PackageJSType && t2 instanceof dart.PackageJSType) {
    return true;
  }
  if (t1 === t2) {
    return true;
  }
  if (t1 === core.Object) {
    return false;
  }
  if (t1 === core.Function || t2 === core.Function) {
    return false;
  }
  if (t1 == null) {
    return t2 === core.Object || t2 === dart.dynamic;
  }
  let raw1 = dart.getGenericClass(t1);
  let raw2 = dart.getGenericClass(t2);
  if (raw1 != null && raw1 == raw2) {
    let typeArguments1 = dart.getGenericArgs(t1);
    let typeArguments2 = dart.getGenericArgs(t2);
    if (typeArguments1.length != typeArguments2.length) {
      dart.assertFailed();
    }
    let variances = dart.getGenericArgVariances(t1);
    for (let i = 0; i < typeArguments1.length; ++i) {
      if (variances === void 0 || variances[i] == 1) {
        if (!dart._isSubtype(typeArguments1[i], typeArguments2[i], strictMode)) {
          return false;
        }
      } else if (variances[i] == 2) {
        if (!dart._isSubtype(typeArguments2[i], typeArguments1[i], strictMode)) {
          return false;
        }
      } else if (variances[i] == 3) {
        if (!dart._isSubtype(typeArguments1[i], typeArguments2[i], strictMode) || !dart._isSubtype(typeArguments2[i], typeArguments1[i], strictMode)) {
          return false;
        }
      }
    }
    return true;
  }
  if (dart._isInterfaceSubtype(t1.__proto__, t2, strictMode)) {
    return true;
  }
  let m1 = dart.getMixin(t1);
  if (m1 != null && dart._isInterfaceSubtype(m1, t2, strictMode)) {
    return true;
  }
  let getInterfaces = dart.getImplements(t1);
  if (getInterfaces) {
    for (let i1 of getInterfaces()) {
      if (dart._isInterfaceSubtype(i1, t2, strictMode)) {
        return true;
      }
    }
  }
  return false;
};
dart.extractTypeArguments = function extractTypeArguments(T, instance, f) {
  if (f == null) dart.nullFailed(I[5], 1632, 54, "f");
  if (instance == null) {
    dart.throw(new core.ArgumentError.new("Cannot extract type of null instance."));
  }
  let type = T;
  type = type.type || type;
  if (dart.AbstractFunctionType.is(type) || dart._isFutureOr(type)) {
    dart.throw(new core.ArgumentError.new("Cannot extract from non-class type (" + dart.str(type) + ")."));
  }
  let typeArguments = dart.getGenericArgs(type);
  if (dart.test(dart.nullCheck(typeArguments)[$isEmpty])) {
    dart.throw(new core.ArgumentError.new("Cannot extract from non-generic type (" + dart.str(type) + ")."));
  }
  let supertype = dart._getMatchingSupertype(dart.getReifiedType(instance), type);
  if (!(supertype != null)) dart.assertFailed(null, I[5], 1650, 10, "supertype != null");
  let typeArgs = dart.getGenericArgs(supertype);
  if (!(typeArgs != null && dart.test(typeArgs[$isNotEmpty]))) dart.assertFailed(null, I[5], 1652, 10, "typeArgs != null && typeArgs.isNotEmpty");
  return dart.dgcall(f, typeArgs, []);
};
dart._getMatchingSupertype = function _getMatchingSupertype(subtype, supertype) {
  if (supertype == null) dart.nullFailed(I[5], 2013, 55, "supertype");
  if (core.identical(subtype, supertype)) return supertype;
  if (subtype == null || subtype === core.Object) return null;
  let subclass = dart.getGenericClass(subtype);
  let superclass = dart.getGenericClass(supertype);
  if (subclass != null && core.identical(subclass, superclass)) {
    return subtype;
  }
  let result = dart._getMatchingSupertype(subtype.__proto__, supertype);
  if (result != null) return result;
  let mixin = dart.getMixin(subtype);
  if (mixin != null) {
    result = dart._getMatchingSupertype(mixin, supertype);
    if (result != null) return result;
  }
  let getInterfaces = dart.getImplements(subtype);
  if (getInterfaces != null) {
    for (let iface of getInterfaces()) {
      result = dart._getMatchingSupertype(iface, supertype);
      if (result != null) return result;
    }
  }
  return null;
};
dart.defineValue = function defineValue(obj, name, value) {
  dart.defineAccessor(obj, name, {value: value, configurable: true, writable: true});
  return value;
};
dart.throwTypeError = function throwTypeError(message) {
  if (message == null) dart.nullFailed(I[6], 39, 28, "message");
  dart.throw(new _js_helper.TypeErrorImpl.new(message));
};
dart.throwInternalError = function throwInternalError(message) {
  if (message == null) dart.nullFailed(I[6], 44, 32, "message");
  throw Error(message);
};
dart.getOwnNamesAndSymbols = function getOwnNamesAndSymbols(obj) {
  let names = dart.getOwnPropertyNames(obj);
  let symbols = dart.getOwnPropertySymbols(obj);
  return names.concat(symbols);
};
dart.safeGetOwnProperty = function safeGetOwnProperty(obj, name) {
  if (obj.hasOwnProperty(name)) return obj[name];
};
dart.copyTheseProperties = function copyTheseProperties(to, from, names) {
  for (let i = 0, n = names.length; i < n; i = i + 1) {
    let name = names[i];
    if (dart.equals(name, "constructor")) continue;
    dart.copyProperty(to, from, name);
  }
  return to;
};
dart.copyProperty = function copyProperty(to, from, name) {
  let desc = dart.getOwnPropertyDescriptor(from, name);
  if (name == Symbol.iterator) {
    let existing = dart.getOwnPropertyDescriptor(to, name);
    if (existing != null) {
      if (existing.writable) {
        to[name] = desc.value;
      }
      return;
    }
  }
  dart.defineProperty(to, name, desc);
};
dart.export = function exportProperty(to, from, name) {
  return dart.copyProperty(to, from, name);
};
dart.copyProperties = function copyProperties(to, from) {
  return dart.copyTheseProperties(to, from, dart.getOwnNamesAndSymbols(from));
};
dart._polyfilled = Symbol("_polyfilled");
dart.global = (function() {
  var globalState = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : null;
  if (!globalState) {
    globalState = new Function('return this;')();
  }
  dart.polyfill(globalState);
  if (globalState.Error) {
    globalState.Error.stackTraceLimit = Infinity;
  }
  let settings = 'ddcSettings' in globalState ? globalState.ddcSettings : {};
  dart.trackProfile('trackProfile' in settings ? settings.trackProfile : false);
  return globalState;
})();
dart.JsSymbol = Symbol;
dart.libraryPrototype = dart.library;
dart.startAsyncSynchronously = true;
dart._cacheMaps = [];
dart._resetFields = [];
dart.hotRestartIteration = 0;
dart.addAsyncCallback = function() {
};
dart.removeAsyncCallback = function() {
};
dart.defineProperty = Object.defineProperty;
dart.defineAccessor = Object.defineProperty;
dart.getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
dart.getOwnPropertyNames = Object.getOwnPropertyNames;
dart.getOwnPropertySymbols = Object.getOwnPropertySymbols;
dart.getPrototypeOf = Object.getPrototypeOf;
dart._mixin = Symbol("mixin");
dart.mixinOn = Symbol("mixinOn");
dart.implements = Symbol("implements");
dart._typeArguments = Symbol("typeArguments");
dart._variances = Symbol("variances");
dart._originalDeclaration = Symbol("originalDeclaration");
dart.mixinNew = Symbol("dart.mixinNew");
dart._constructorSig = Symbol("sigCtor");
dart._methodSig = Symbol("sigMethod");
dart._fieldSig = Symbol("sigField");
dart._getterSig = Symbol("sigGetter");
dart._setterSig = Symbol("sigSetter");
dart._staticMethodSig = Symbol("sigStaticMethod");
dart._staticFieldSig = Symbol("sigStaticField");
dart._staticGetterSig = Symbol("sigStaticGetter");
dart._staticSetterSig = Symbol("sigStaticSetter");
dart._genericTypeCtor = Symbol("genericType");
dart._libraryUri = Symbol("libraryUri");
dart._extensionType = Symbol("extensionType");
dart.dartx = dartx;
dart._extensionMap = new Map();
dart.isFuture = Symbol("_is_Future");
dart.isIterable = Symbol("_is_Iterable");
dart.isList = Symbol("_is_List");
dart.isMap = Symbol("_is_Map");
dart.isStream = Symbol("_is_Stream");
dart.isStreamSubscription = Symbol("_is_StreamSubscription");
dart.identityEquals = null;
dart._runtimeType = Symbol("_runtimeType");
dart._moduleName = Symbol("_moduleName");
dart._loadedModules = new Map();
dart._loadedPartMaps = new Map();
dart._loadedSourceMaps = new Map();
dart._libraries = null;
dart._libraryObjects = null;
dart._parts = null;
dart._weakNullSafetyWarnings = false;
dart._weakNullSafetyErrors = false;
dart._nonNullAsserts = false;
dart._nativeNonNullAsserts = false;
dart.metadata = Symbol("metadata");
dart._cachedNullable = Symbol("cachedNullable");
dart._cachedLegacy = Symbol("cachedLegacy");
dart._subtypeCache = Symbol("_subtypeCache");
dart._nullComparisonSet = new Set();
dart._packageJSTypes = new Map();
var _dartName$ = dart.privateName(dart, "_dartName");
var SentinelValue_id = dart.privateName(_internal, "SentinelValue.id");
core.Object = class Object {
  constructor() {
    throw Error("use `new " + dart.typeName(dart.getReifiedType(this)) + ".new(...)` to create a Dart object");
  }
  static is(o) {
    return o != null;
  }
  static as(o) {
    return o == null ? dart.as(o, core.Object) : o;
  }
  _equals(other) {
    if (other == null) return false;
    return this === other;
  }
  get hashCode() {
    return core.identityHashCode(this);
  }
  toString() {
    return "Instance of '" + dart.typeName(dart.getReifiedType(this)) + "'";
  }
  noSuchMethod(invocation) {
    if (invocation == null) dart.nullFailed(I[7], 60, 35, "invocation");
    return dart.defaultNoSuchMethod(this, invocation);
  }
  get runtimeType() {
    return dart.wrapType(dart.getReifiedType(this));
  }
  static hash(object1, object2, object3 = C[0] || CT.C0, object4 = C[0] || CT.C0, object5 = C[0] || CT.C0, object6 = C[0] || CT.C0, object7 = C[0] || CT.C0, object8 = C[0] || CT.C0, object9 = C[0] || CT.C0, object10 = C[0] || CT.C0, object11 = C[0] || CT.C0, object12 = C[0] || CT.C0, object13 = C[0] || CT.C0, object14 = C[0] || CT.C0, object15 = C[0] || CT.C0, object16 = C[0] || CT.C0, object17 = C[0] || CT.C0, object18 = C[0] || CT.C0, object19 = C[0] || CT.C0, object20 = C[0] || CT.C0) {
    if (dart.equals(_internal.sentinelValue, object3)) {
      return _internal.SystemHash.hash2(dart.hashCode(object1), dart.hashCode(object2), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object4)) {
      return _internal.SystemHash.hash3(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object5)) {
      return _internal.SystemHash.hash4(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object6)) {
      return _internal.SystemHash.hash5(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object7)) {
      return _internal.SystemHash.hash6(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object8)) {
      return _internal.SystemHash.hash7(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object9)) {
      return _internal.SystemHash.hash8(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object10)) {
      return _internal.SystemHash.hash9(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object11)) {
      return _internal.SystemHash.hash10(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object12)) {
      return _internal.SystemHash.hash11(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object13)) {
      return _internal.SystemHash.hash12(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object14)) {
      return _internal.SystemHash.hash13(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object15)) {
      return _internal.SystemHash.hash14(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), dart.hashCode(object14), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object16)) {
      return _internal.SystemHash.hash15(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), dart.hashCode(object14), dart.hashCode(object15), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object17)) {
      return _internal.SystemHash.hash16(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), dart.hashCode(object14), dart.hashCode(object15), dart.hashCode(object16), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object18)) {
      return _internal.SystemHash.hash17(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), dart.hashCode(object14), dart.hashCode(object15), dart.hashCode(object16), dart.hashCode(object17), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object19)) {
      return _internal.SystemHash.hash18(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), dart.hashCode(object14), dart.hashCode(object15), dart.hashCode(object16), dart.hashCode(object17), dart.hashCode(object18), core._hashSeed);
    }
    if (dart.equals(_internal.sentinelValue, object20)) {
      return _internal.SystemHash.hash19(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), dart.hashCode(object14), dart.hashCode(object15), dart.hashCode(object16), dart.hashCode(object17), dart.hashCode(object18), dart.hashCode(object19), core._hashSeed);
    }
    return _internal.SystemHash.hash20(dart.hashCode(object1), dart.hashCode(object2), dart.hashCode(object3), dart.hashCode(object4), dart.hashCode(object5), dart.hashCode(object6), dart.hashCode(object7), dart.hashCode(object8), dart.hashCode(object9), dart.hashCode(object10), dart.hashCode(object11), dart.hashCode(object12), dart.hashCode(object13), dart.hashCode(object14), dart.hashCode(object15), dart.hashCode(object16), dart.hashCode(object17), dart.hashCode(object18), dart.hashCode(object19), dart.hashCode(object20), core._hashSeed);
  }
  static hashAll(objects) {
    if (objects == null) dart.nullFailed(I[8], 511, 40, "objects");
    let hash = core._hashSeed;
    for (let object of objects) {
      hash = _internal.SystemHash.combine(hash, dart.hashCode(object));
    }
    return _internal.SystemHash.finish(hash);
  }
  static hashAllUnordered(objects) {
    if (objects == null) dart.nullFailed(I[8], 549, 49, "objects");
    let sum = 0;
    let count = 0;
    for (let object of objects) {
      let objectHash = _internal.SystemHash.smear(dart.hashCode(object));
      sum = (sum + dart.notNull(objectHash) & 1073741823) >>> 0;
      count = count + 1;
    }
    return _internal.SystemHash.hash2(sum, count);
  }
};
(core.Object.new = function() {
  ;
}).prototype = core.Object.prototype;
dart.addTypeCaches(core.Object);
dart.setMethodSignature(core.Object, () => ({
  __proto__: Object.create(null),
  _equals: dart.fnType(core.bool, [core.Object]),
  [$_equals]: dart.fnType(core.bool, [core.Object]),
  toString: dart.fnType(core.String, []),
  [$toString]: dart.fnType(core.String, []),
  noSuchMethod: dart.fnType(dart.dynamic, [core.Invocation]),
  [$noSuchMethod]: dart.fnType(dart.dynamic, [core.Invocation])
}));
dart.setGetterSignature(core.Object, () => ({
  __proto__: Object.create(null),
  hashCode: core.int,
  [$hashCode]: core.int,
  runtimeType: core.Type,
  [$runtimeType]: core.Type
}));
dart.setLibraryUri(core.Object, I[9]);
dart.lazyFn(core.Object, () => core.Type);
dart.defineExtensionMethods(core.Object, ['_equals', 'toString', 'noSuchMethod']);
dart.defineExtensionAccessors(core.Object, ['hashCode', 'runtimeType']);
dart.registerExtension("Object", core.Object);
dart.DartType = class DartType extends core.Object {
  get name() {
    return this[$toString]();
  }
  is(object) {
    return dart.is(object, this);
  }
  as(object) {
    return dart.as(object, this);
  }
};
(dart.DartType.new = function() {
  dart.addTypeCaches(this);
}).prototype = dart.DartType.prototype;
dart.addTypeTests(dart.DartType);
dart.addTypeCaches(dart.DartType);
dart.DartType[dart.implements] = () => [core.Type];
dart.setMethodSignature(dart.DartType, () => ({
  __proto__: dart.getMethods(dart.DartType.__proto__),
  is: dart.fnType(core.bool, [dart.dynamic]),
  as: dart.fnType(dart.dynamic, [dart.dynamic])
}));
dart.setGetterSignature(dart.DartType, () => ({
  __proto__: dart.getGetters(dart.DartType.__proto__),
  name: core.String
}));
dart.setLibraryUri(dart.DartType, I[10]);
dart.PackageJSType = class PackageJSType extends dart.DartType {
  toString() {
    return this[_dartName$];
  }
  is(obj) {
    return obj != null && (dart._isJsObject(obj) || dart.isSubtypeOf(dart.getReifiedType(obj), this));
  }
  as(obj) {
    return this.is(obj) ? obj : dart.castError(obj, this);
  }
};
(dart.PackageJSType.new = function(_dartName) {
  if (_dartName == null) dart.nullFailed(I[5], 214, 22, "_dartName");
  this[_dartName$] = _dartName;
  dart.PackageJSType.__proto__.new.call(this);
  ;
}).prototype = dart.PackageJSType.prototype;
dart.addTypeTests(dart.PackageJSType);
dart.addTypeCaches(dart.PackageJSType);
dart.setLibraryUri(dart.PackageJSType, I[10]);
dart.setFieldSignature(dart.PackageJSType, () => ({
  __proto__: dart.getFields(dart.PackageJSType.__proto__),
  [_dartName$]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(dart.PackageJSType, ['toString']);
dart._pkgJSTypeForSubtyping = new dart.PackageJSType.new("");
dart.NeverType = class NeverType extends dart.DartType {
  toString() {
    return "Never";
  }
};
(dart.NeverType.new = function() {
  dart.NeverType.__proto__.new.call(this);
  ;
}).prototype = dart.NeverType.prototype;
dart.addTypeTests(dart.NeverType);
dart.addTypeCaches(dart.NeverType);
dart.setLibraryUri(dart.NeverType, I[10]);
dart.defineExtensionMethods(dart.NeverType, ['toString']);
dart.Never = new dart.NeverType.new();
dart.DynamicType = class DynamicType extends dart.DartType {
  toString() {
    return "dynamic";
  }
  is(object) {
    return true;
  }
  as(object) {
    return object;
  }
};
(dart.DynamicType.new = function() {
  dart.DynamicType.__proto__.new.call(this);
  ;
}).prototype = dart.DynamicType.prototype;
dart.addTypeTests(dart.DynamicType);
dart.addTypeCaches(dart.DynamicType);
dart.setMethodSignature(dart.DynamicType, () => ({
  __proto__: dart.getMethods(dart.DynamicType.__proto__),
  as: dart.fnType(dart.nullable(core.Object), [dart.nullable(core.Object)])
}));
dart.setLibraryUri(dart.DynamicType, I[10]);
dart.defineExtensionMethods(dart.DynamicType, ['toString']);
dart.dynamic = new dart.DynamicType.new();
dart.VoidType = class VoidType extends dart.DartType {
  toString() {
    return "void";
  }
  is(object) {
    return true;
  }
  as(object) {
    return object;
  }
};
(dart.VoidType.new = function() {
  dart.VoidType.__proto__.new.call(this);
  ;
}).prototype = dart.VoidType.prototype;
dart.addTypeTests(dart.VoidType);
dart.addTypeCaches(dart.VoidType);
dart.setMethodSignature(dart.VoidType, () => ({
  __proto__: dart.getMethods(dart.VoidType.__proto__),
  as: dart.fnType(dart.nullable(core.Object), [dart.nullable(core.Object)])
}));
dart.setLibraryUri(dart.VoidType, I[10]);
dart.defineExtensionMethods(dart.VoidType, ['toString']);
dart.void = new dart.VoidType.new();
dart._typeObject = Symbol("typeObject");
dart._fnTypeNamedArgMap = new Map();
dart._fnTypeArrayArgMap = new Map();
dart._fnTypeTypeMap = new Map();
dart._fnTypeSmallMap = [new Map(), new Map(), new Map()];
dart._gFnTypeTypeMap = new Map();
dart._nullFailedSet = new Set();
dart._thrownValue = Symbol("_thrownValue");
dart._jsError = Symbol("_jsError");
dart._stackTrace = Symbol("_stackTrace");
dart.DartError = class DartError extends Error {
  constructor(error) {
    super();
    if (error == null) error = new core.NullThrownError.new();
    this[dart._thrownValue] = error;
    if (error != null && typeof error == "object" && error[dart._jsError] == null) {
      error[dart._jsError] = this;
    }
  }
  get message() {
    return dart.toString(this[dart._thrownValue]);
  }
};
dart.RethrownDartError = class RethrownDartError extends dart.DartError {
  constructor(error, stackTrace) {
    super(error);
    this[dart._stackTrace] = stackTrace;
  }
  get message() {
    return super.message + "\n    " + dart.toString(this[dart._stackTrace]) + "\n";
  }
};
dart.constantMaps = new Map();
dart.constantSets = new Map();
dart._immutableSetConstructor = null;
dart._value = Symbol("_value");
dart.constants = new Map();
dart.constantLists = new Map();
dart.identityHashCode_ = Symbol("_identityHashCode");
dart.JsIterator = class JsIterator {
  constructor(dartIterator) {
    this.dartIterator = dartIterator;
  }
  next() {
    let i = this.dartIterator;
    let done = !i.moveNext();
    return {done: done, value: done ? void 0 : i.current};
  }
};
dart.deferredImports = new Map();
dart.defineLazy(dart, {
  /*dart._assertInteropExpando*/get _assertInteropExpando() {
    return new (T$.ExpandoOfFunction()).new();
  },
  set _assertInteropExpando(_) {},
  /*dart.bottom*/get bottom() {
    return core.Null;
  },
  /*dart._typeVariablePool*/get _typeVariablePool() {
    return T$.JSArrayOfTypeVariable().of([]);
  }
}, false);
var type$ = dart.privateName(dart, "NullableType.type");
dart.NullableType = class NullableType extends dart.DartType {
  get type() {
    return this[type$];
  }
  set type(value) {
    super.type = value;
  }
  get name() {
    return this.type instanceof dart.FunctionType ? "(" + dart.str(this.type) + ")?" : dart.str(this.type) + "?";
  }
  toString() {
    return this.name;
  }
  is(obj) {
    return obj == null || this.type.is(obj);
  }
  as(obj) {
    return obj == null || this.type.is(obj) ? obj : dart.as(obj, this);
  }
};
(dart.NullableType.new = function(type) {
  this[type$] = type;
  dart.NullableType.__proto__.new.call(this);
  ;
}).prototype = dart.NullableType.prototype;
dart.addTypeTests(dart.NullableType);
dart.addTypeCaches(dart.NullableType);
dart.setLibraryUri(dart.NullableType, I[10]);
dart.setFieldSignature(dart.NullableType, () => ({
  __proto__: dart.getFields(dart.NullableType.__proto__),
  type: dart.finalFieldType(core.Type)
}));
dart.defineExtensionMethods(dart.NullableType, ['toString']);
var type$0 = dart.privateName(dart, "LegacyType.type");
dart.LegacyType = class LegacyType extends dart.DartType {
  get type() {
    return this[type$0];
  }
  set type(value) {
    super.type = value;
  }
  get name() {
    return dart.str(this.type);
  }
  toString() {
    return this.name;
  }
  is(obj) {
    if (obj == null) {
      return this.type === core.Object || this.type === dart.Never;
    }
    return this.type.is(obj);
  }
  as(obj) {
    return obj == null || this.type.is(obj) ? obj : dart.as(obj, this);
  }
};
(dart.LegacyType.new = function(type) {
  this[type$0] = type;
  dart.LegacyType.__proto__.new.call(this);
  ;
}).prototype = dart.LegacyType.prototype;
dart.addTypeTests(dart.LegacyType);
dart.addTypeCaches(dart.LegacyType);
dart.setLibraryUri(dart.LegacyType, I[10]);
dart.setFieldSignature(dart.LegacyType, () => ({
  __proto__: dart.getFields(dart.LegacyType.__proto__),
  type: dart.finalFieldType(core.Type)
}));
dart.defineExtensionMethods(dart.LegacyType, ['toString']);
dart.BottomType = class BottomType extends dart.DartType {
  toString() {
    return "bottom";
  }
};
(dart.BottomType.new = function() {
  dart.BottomType.__proto__.new.call(this);
  ;
}).prototype = dart.BottomType.prototype;
dart.addTypeTests(dart.BottomType);
dart.addTypeCaches(dart.BottomType);
dart.setLibraryUri(dart.BottomType, I[10]);
dart.defineExtensionMethods(dart.BottomType, ['toString']);
core.Type = class Type extends core.Object {};
(core.Type.new = function() {
  ;
}).prototype = core.Type.prototype;
dart.addTypeTests(core.Type);
dart.addTypeCaches(core.Type);
dart.setLibraryUri(core.Type, I[9]);
dart._Type = class _Type extends core.Type {
  toString() {
    return dart.typeName(this[_type$]);
  }
  get runtimeType() {
    return dart.wrapType(core.Type);
  }
};
(dart._Type.new = function(_type) {
  if (_type == null) dart.nullFailed(I[5], 440, 14, "_type");
  this[_type$] = _type;
  ;
}).prototype = dart._Type.prototype;
dart.addTypeTests(dart._Type);
dart.addTypeCaches(dart._Type);
dart.setLibraryUri(dart._Type, I[10]);
dart.setFieldSignature(dart._Type, () => ({
  __proto__: dart.getFields(dart._Type.__proto__),
  [_type$]: dart.finalFieldType(core.Object)
}));
dart.defineExtensionMethods(dart._Type, ['toString']);
dart.defineExtensionAccessors(dart._Type, ['runtimeType']);
dart.AbstractFunctionType = class AbstractFunctionType extends dart.DartType {};
(dart.AbstractFunctionType.new = function() {
  dart.AbstractFunctionType.__proto__.new.call(this);
  ;
}).prototype = dart.AbstractFunctionType.prototype;
dart.addTypeTests(dart.AbstractFunctionType);
dart.addTypeCaches(dart.AbstractFunctionType);
dart.setLibraryUri(dart.AbstractFunctionType, I[10]);
var returnType$ = dart.privateName(dart, "FunctionType.returnType");
var args$ = dart.privateName(dart, "FunctionType.args");
var optionals$ = dart.privateName(dart, "FunctionType.optionals");
var named$ = dart.privateName(dart, "FunctionType.named");
var requiredNamed$ = dart.privateName(dart, "FunctionType.requiredNamed");
var _stringValue = dart.privateName(dart, "_stringValue");
var _createNameMap = dart.privateName(dart, "_createNameMap");
dart.FunctionType = class FunctionType extends dart.AbstractFunctionType {
  get returnType() {
    return this[returnType$];
  }
  set returnType(value) {
    super.returnType = value;
  }
  get args() {
    return this[args$];
  }
  set args(value) {
    super.args = value;
  }
  get optionals() {
    return this[optionals$];
  }
  set optionals(value) {
    super.optionals = value;
  }
  get named() {
    return this[named$];
  }
  set named(value) {
    super.named = value;
  }
  get requiredNamed() {
    return this[requiredNamed$];
  }
  set requiredNamed(value) {
    super.requiredNamed = value;
  }
  static create(returnType, args, optionalArgs, requiredNamedArgs) {
    if (args == null) dart.nullFailed(I[5], 697, 24, "args");
    let noOptionalArgs = optionalArgs == null && requiredNamedArgs == null;
    if (noOptionalArgs && args.length < 3) {
      return dart._createSmall(returnType, args);
    }
    args = dart._canonicalizeArray(args, dart._fnTypeArrayArgMap);
    let keys = [];
    let create = null;
    if (noOptionalArgs) {
      keys = [returnType, args];
      create = () => new dart.FunctionType.new(core.Type.as(returnType), args, [], {}, {});
    } else if (optionalArgs instanceof Array) {
      let optionals = dart._canonicalizeArray(optionalArgs, dart._fnTypeArrayArgMap);
      keys = [returnType, args, optionals];
      create = () => new dart.FunctionType.new(core.Type.as(returnType), args, optionals, {}, {});
    } else {
      let named = dart._canonicalizeNamed(optionalArgs, dart._fnTypeNamedArgMap);
      let requiredNamed = dart._canonicalizeNamed(requiredNamedArgs, dart._fnTypeNamedArgMap);
      keys = [returnType, args, named, requiredNamed];
      create = () => new dart.FunctionType.new(core.Type.as(returnType), args, [], named, requiredNamed);
    }
    return dart._memoizeArray(dart._fnTypeTypeMap, keys, create);
  }
  toString() {
    return this.name;
  }
  get requiredParameterCount() {
    return this.args[$length];
  }
  get positionalParameterCount() {
    return dart.notNull(this.args[$length]) + dart.notNull(this.optionals[$length]);
  }
  getPositionalParameter(i) {
    if (i == null) dart.nullFailed(I[5], 736, 30, "i");
    let n = this.args[$length];
    return dart.notNull(i) < dart.notNull(n) ? this.args[$_get](i) : this.optionals[$_get](dart.notNull(i) + dart.notNull(n));
  }
  [_createNameMap](names) {
    if (names == null) dart.nullFailed(I[5], 742, 52, "names");
    let result = new (T$.IdentityMapOfString$Object()).new();
    names.sort();
    for (let i = 0; i < names.length; i = i + 1) {
      let name = names[i];
      result[$_set](name, this.named[name]);
    }
    return result;
  }
  getNamedParameters() {
    return this[_createNameMap](dart.getOwnPropertyNames(this.named)[$toList]());
  }
  getRequiredNamedParameters() {
    return this[_createNameMap](dart.getOwnPropertyNames(this.requiredNamed)[$toList]());
  }
  get name() {
    if (this[_stringValue] != null) return dart.nullCheck(this[_stringValue]);
    let buffer = "(";
    for (let i = 0; i < this.args.length; i = i + 1) {
      if (i > 0) {
        buffer = buffer + ", ";
      }
      buffer = buffer + dart.typeName(this.args[i]);
    }
    if (this.optionals.length > 0) {
      if (this.args.length > 0) buffer = buffer + ", ";
      buffer = buffer + "[";
      for (let i = 0; i < this.optionals.length; i = i + 1) {
        if (i > 0) {
          buffer = buffer + ", ";
        }
        buffer = buffer + dart.typeName(this.optionals[i]);
      }
      buffer = buffer + "]";
    } else if (Object.keys(this.named).length > 0 || Object.keys(this.requiredNamed).length > 0) {
      if (this.args.length > 0) buffer = buffer + ", ";
      buffer = buffer + "{";
      let names = dart.getOwnPropertyNames(this.named);
      names.sort();
      for (let i = 0; i < names.length; i = i + 1) {
        if (i > 0) {
          buffer = buffer + ", ";
        }
        let typeNameString = dart.typeName(this.named[names[i]]);
        buffer = buffer + (typeNameString + " " + dart.str(names[i]));
      }
      if (Object.keys(this.requiredNamed).length > 0 && names.length > 0) buffer = buffer + ", ";
      names = dart.getOwnPropertyNames(this.requiredNamed);
      names.sort();
      for (let i = 0; i < names.length; i = i + 1) {
        if (i > 0) {
          buffer = buffer + ", ";
        }
        let typeNameString = dart.typeName(this.requiredNamed[names[i]]);
        buffer = buffer + ("required " + typeNameString + " " + dart.str(names[i]));
      }
      buffer = buffer + "}";
    }
    let returnTypeName = dart.typeName(this.returnType);
    buffer = buffer + (") => " + returnTypeName);
    this[_stringValue] = buffer;
    return buffer;
  }
  is(obj) {
    if (typeof obj == "function") {
      let actual = obj[dart._runtimeType];
      return actual == null || dart.isSubtypeOf(actual, this);
    }
    return false;
  }
  as(obj) {
    if (dart.test(this.is(obj))) return obj;
    return dart.as(obj, this);
  }
};
(dart.FunctionType.new = function(returnType, args, optionals, named, requiredNamed) {
  if (returnType == null) dart.nullFailed(I[5], 728, 21, "returnType");
  if (args == null) dart.nullFailed(I[5], 728, 38, "args");
  if (optionals == null) dart.nullFailed(I[5], 728, 49, "optionals");
  this[_stringValue] = null;
  this[returnType$] = returnType;
  this[args$] = args;
  this[optionals$] = optionals;
  this[named$] = named;
  this[requiredNamed$] = requiredNamed;
  dart.FunctionType.__proto__.new.call(this);
  ;
}).prototype = dart.FunctionType.prototype;
dart.addTypeTests(dart.FunctionType);
dart.addTypeCaches(dart.FunctionType);
dart.setMethodSignature(dart.FunctionType, () => ({
  __proto__: dart.getMethods(dart.FunctionType.__proto__),
  getPositionalParameter: dart.fnType(dart.dynamic, [core.int]),
  [_createNameMap]: dart.fnType(core.Map$(core.String, core.Object), [core.List$(dart.nullable(core.Object))]),
  getNamedParameters: dart.fnType(core.Map$(core.String, core.Object), []),
  getRequiredNamedParameters: dart.fnType(core.Map$(core.String, core.Object), [])
}));
dart.setGetterSignature(dart.FunctionType, () => ({
  __proto__: dart.getGetters(dart.FunctionType.__proto__),
  requiredParameterCount: core.int,
  positionalParameterCount: core.int
}));
dart.setLibraryUri(dart.FunctionType, I[10]);
dart.setFieldSignature(dart.FunctionType, () => ({
  __proto__: dart.getFields(dart.FunctionType.__proto__),
  returnType: dart.finalFieldType(core.Type),
  args: dart.finalFieldType(core.List),
  optionals: dart.finalFieldType(core.List),
  named: dart.finalFieldType(dart.dynamic),
  requiredNamed: dart.finalFieldType(dart.dynamic),
  [_stringValue]: dart.fieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(dart.FunctionType, ['toString']);
var name$ = dart.privateName(dart, "TypeVariable.name");
dart.TypeVariable = class TypeVariable extends dart.DartType {
  get name() {
    return this[name$];
  }
  set name(value) {
    super.name = value;
  }
  toString() {
    return this.name;
  }
};
(dart.TypeVariable.new = function(name) {
  if (name == null) dart.nullFailed(I[5], 837, 21, "name");
  this[name$] = name;
  dart.TypeVariable.__proto__.new.call(this);
  ;
}).prototype = dart.TypeVariable.prototype;
dart.addTypeTests(dart.TypeVariable);
dart.addTypeCaches(dart.TypeVariable);
dart.setLibraryUri(dart.TypeVariable, I[10]);
dart.setFieldSignature(dart.TypeVariable, () => ({
  __proto__: dart.getFields(dart.TypeVariable.__proto__),
  name: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(dart.TypeVariable, ['toString']);
dart.Variance = class Variance extends core.Object {};
(dart.Variance.new = function() {
  ;
}).prototype = dart.Variance.prototype;
dart.addTypeTests(dart.Variance);
dart.addTypeCaches(dart.Variance);
dart.setLibraryUri(dart.Variance, I[10]);
dart.defineLazy(dart.Variance, {
  /*dart.Variance.unrelated*/get unrelated() {
    return 0;
  },
  /*dart.Variance.covariant*/get covariant() {
    return 1;
  },
  /*dart.Variance.contravariant*/get contravariant() {
    return 2;
  },
  /*dart.Variance.invariant*/get invariant() {
    return 3;
  }
}, false);
var typeFormals$ = dart.privateName(dart, "GenericFunctionTypeIdentifier.typeFormals");
var typeBounds$ = dart.privateName(dart, "GenericFunctionTypeIdentifier.typeBounds");
var $function$ = dart.privateName(dart, "GenericFunctionTypeIdentifier.function");
dart.GenericFunctionTypeIdentifier = class GenericFunctionTypeIdentifier extends dart.AbstractFunctionType {
  get typeFormals() {
    return this[typeFormals$];
  }
  set typeFormals(value) {
    super.typeFormals = value;
  }
  get typeBounds() {
    return this[typeBounds$];
  }
  set typeBounds(value) {
    super.typeBounds = value;
  }
  get function() {
    return this[$function$];
  }
  set function(value) {
    super.function = value;
  }
  toString() {
    if (this[_stringValue] != null) return dart.nullCheck(this[_stringValue]);
    let s = "<";
    let typeFormals = this.typeFormals;
    let typeBounds = this.typeBounds;
    for (let i = 0, n = core.int.as(dart.dload(typeFormals, 'length')); i < dart.notNull(n); i = i + 1) {
      if (i !== 0) s = s + ", ";
      s = s + typeFormals[i].name;
      let bound = dart.dsend(typeBounds, '_get', [i]);
      if (bound === dart.dynamic || bound === dart.nullable(core.Object) || !false && bound === core.Object) {
        continue;
      }
      s = s + (" extends " + dart.str(bound));
    }
    s = s + (">" + dart.notNull(dart.toString(this.function)));
    return this[_stringValue] = s;
  }
};
(dart.GenericFunctionTypeIdentifier.new = function(typeFormals, typeBounds, $function) {
  if ($function == null) dart.nullFailed(I[5], 860, 47, "function");
  this[_stringValue] = null;
  this[typeFormals$] = typeFormals;
  this[typeBounds$] = typeBounds;
  this[$function$] = $function;
  dart.GenericFunctionTypeIdentifier.__proto__.new.call(this);
  ;
}).prototype = dart.GenericFunctionTypeIdentifier.prototype;
dart.addTypeTests(dart.GenericFunctionTypeIdentifier);
dart.addTypeCaches(dart.GenericFunctionTypeIdentifier);
dart.setLibraryUri(dart.GenericFunctionTypeIdentifier, I[10]);
dart.setFieldSignature(dart.GenericFunctionTypeIdentifier, () => ({
  __proto__: dart.getFields(dart.GenericFunctionTypeIdentifier.__proto__),
  typeFormals: dart.finalFieldType(dart.dynamic),
  typeBounds: dart.finalFieldType(dart.dynamic),
  function: dart.finalFieldType(dart.FunctionType),
  [_stringValue]: dart.fieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(dart.GenericFunctionTypeIdentifier, ['toString']);
var formalCount = dart.privateName(dart, "GenericFunctionType.formalCount");
var _instantiateTypeBounds$ = dart.privateName(dart, "_instantiateTypeBounds");
var _instantiateTypeParts = dart.privateName(dart, "_instantiateTypeParts");
var _typeFormals = dart.privateName(dart, "_typeFormals");
dart.GenericFunctionType = class GenericFunctionType extends dart.AbstractFunctionType {
  get formalCount() {
    return this[formalCount];
  }
  set formalCount(value) {
    super.formalCount = value;
  }
  get typeFormals() {
    return this[_typeFormals];
  }
  get hasTypeBounds() {
    return this[_instantiateTypeBounds$] != null;
  }
  checkBounds(typeArgs) {
    if (typeArgs == null) dart.nullFailed(I[5], 908, 33, "typeArgs");
    if (!dart.test(this.hasTypeBounds)) return;
    let bounds = this.instantiateTypeBounds(typeArgs);
    let typeFormals = this.typeFormals;
    for (let i = 0; i < dart.notNull(typeArgs[$length]); i = i + 1) {
      dart.checkTypeBound(typeArgs[$_get](i), bounds[$_get](i), typeFormals[$_get](i).name);
    }
  }
  instantiate(typeArgs) {
    let parts = this[_instantiateTypeParts].apply(null, typeArgs);
    return dart.FunctionType.create(parts[0], parts[1], parts[2], parts[3]);
  }
  instantiateTypeBounds(typeArgs) {
    if (typeArgs == null) dart.nullFailed(I[5], 926, 43, "typeArgs");
    if (!dart.test(this.hasTypeBounds)) {
      return T$.ListOfObject().filled(this.formalCount, dart.legacy(core.Object));
    }
    return this[_instantiateTypeBounds$].apply(null, typeArgs);
  }
  toString() {
    let s = "<";
    let typeFormals = this.typeFormals;
    let typeBounds = this.instantiateTypeBounds(typeFormals);
    for (let i = 0, n = typeFormals[$length]; i < dart.notNull(n); i = i + 1) {
      if (i !== 0) s = s + ", ";
      s = s + typeFormals[i].name;
      let bound = typeBounds[$_get](i);
      if (bound !== dart.dynamic && bound !== core.Object) {
        s = s + (" extends " + dart.str(bound));
      }
    }
    s = s + (">" + dart.notNull(dart.toString(this.instantiate(typeFormals))));
    return s;
  }
  instantiateDefaultBounds() {
    function defaultsToDynamic(type) {
      if (type === dart.dynamic) return true;
      if (type instanceof dart.NullableType || !false && type instanceof dart.LegacyType) {
        return type.type === core.Object;
      }
      return false;
    }
    let typeFormals = this.typeFormals;
    let all = new (T$.IdentityMapOfTypeVariable$int()).new();
    let defaults = T$.ListOfObjectN().filled(typeFormals[$length], null);
    let partials = new (T$.IdentityMapOfTypeVariable$Object()).new();
    let typeBounds = this.instantiateTypeBounds(typeFormals);
    for (let i = 0; i < dart.notNull(typeFormals[$length]); i = i + 1) {
      let typeFormal = typeFormals[$_get](i);
      let bound = typeBounds[$_get](i);
      all[$_set](typeFormal, i);
      if (dart.test(defaultsToDynamic(bound))) {
        defaults[$_set](i, dart.dynamic);
      } else {
        defaults[$_set](i, typeFormal);
        partials[$_set](typeFormal, bound);
      }
    }
    function hasFreeFormal(t) {
      if (dart.test(partials[$containsKey](t))) return true;
      if (t instanceof dart.LegacyType || t instanceof dart.NullableType) {
        return hasFreeFormal(t.type);
      }
      let typeArgs = dart.getGenericArgs(t);
      if (typeArgs != null) return typeArgs[$any](hasFreeFormal);
      if (dart.GenericFunctionType.is(t)) {
        return hasFreeFormal(t.instantiate(t.typeFormals));
      }
      if (dart.FunctionType.is(t)) {
        return dart.test(hasFreeFormal(t.returnType)) || dart.test(t.args[$any](hasFreeFormal));
      }
      return false;
    }
    let hasProgress = true;
    while (hasProgress) {
      hasProgress = false;
      for (let typeFormal of partials[$keys]) {
        let partialBound = dart.nullCheck(partials[$_get](typeFormal));
        if (!dart.test(hasFreeFormal(partialBound))) {
          let index = dart.nullCheck(all[$_get](typeFormal));
          defaults[$_set](index, this.instantiateTypeBounds(defaults)[$_get](index));
          partials[$remove](typeFormal);
          hasProgress = true;
          break;
        }
      }
    }
    if (dart.test(partials[$isNotEmpty])) {
      dart.throwTypeError("Instantiate to bounds failed for type with " + "recursive generic bounds: " + dart.typeName(this) + ". " + "Try passing explicit type arguments.");
    }
    return defaults;
  }
  is(obj) {
    if (typeof obj == "function") {
      let actual = obj[dart._runtimeType];
      return actual != null && dart.isSubtypeOf(actual, this);
    }
    return false;
  }
  as(obj) {
    if (this.is(obj)) return obj;
    return dart.as(obj, this);
  }
};
(dart.GenericFunctionType.new = function(instantiateTypeParts, _instantiateTypeBounds) {
  this[_instantiateTypeBounds$] = _instantiateTypeBounds;
  this[_instantiateTypeParts] = instantiateTypeParts;
  this[formalCount] = instantiateTypeParts.length;
  this[_typeFormals] = dart._typeFormalsFromFunction(instantiateTypeParts);
  dart.GenericFunctionType.__proto__.new.call(this);
  ;
}).prototype = dart.GenericFunctionType.prototype;
dart.addTypeTests(dart.GenericFunctionType);
dart.addTypeCaches(dart.GenericFunctionType);
dart.setMethodSignature(dart.GenericFunctionType, () => ({
  __proto__: dart.getMethods(dart.GenericFunctionType.__proto__),
  checkBounds: dart.fnType(dart.void, [core.List$(core.Object)]),
  instantiate: dart.fnType(dart.FunctionType, [dart.dynamic]),
  instantiateTypeBounds: dart.fnType(core.List$(core.Object), [core.List]),
  instantiateDefaultBounds: dart.fnType(core.List, [])
}));
dart.setGetterSignature(dart.GenericFunctionType, () => ({
  __proto__: dart.getGetters(dart.GenericFunctionType.__proto__),
  typeFormals: core.List$(dart.TypeVariable),
  hasTypeBounds: core.bool
}));
dart.setLibraryUri(dart.GenericFunctionType, I[10]);
dart.setFieldSignature(dart.GenericFunctionType, () => ({
  __proto__: dart.getFields(dart.GenericFunctionType.__proto__),
  [_instantiateTypeParts]: dart.finalFieldType(dart.dynamic),
  formalCount: dart.finalFieldType(core.int),
  [_instantiateTypeBounds$]: dart.finalFieldType(dart.dynamic),
  [_typeFormals]: dart.finalFieldType(core.List$(dart.TypeVariable))
}));
dart.defineExtensionMethods(dart.GenericFunctionType, ['toString']);
var _typeVariables = dart.privateName(dart, "_typeVariables");
var _isSubtypeMatch = dart.privateName(dart, "_isSubtypeMatch");
var _constrainLower = dart.privateName(dart, "_constrainLower");
var _constrainUpper = dart.privateName(dart, "_constrainUpper");
var _isFunctionSubtypeMatch = dart.privateName(dart, "_isFunctionSubtypeMatch");
var _isInterfaceSubtypeMatch = dart.privateName(dart, "_isInterfaceSubtypeMatch");
var _isTop$ = dart.privateName(dart, "_isTop");
dart._TypeInferrer = class _TypeInferrer extends core.Object {
  getInferredTypes() {
    let result = T$.JSArrayOfObject().of([]);
    for (let constraint of this[_typeVariables][$values]) {
      if (constraint.lower != null) {
        result[$add](dart.nullCheck(constraint.lower));
      } else if (constraint.upper != null) {
        result[$add](dart.nullCheck(constraint.upper));
      } else {
        return null;
      }
    }
    return result;
  }
  trySubtypeMatch(subtype, supertype) {
    if (subtype == null) dart.nullFailed(I[5], 1688, 31, "subtype");
    if (supertype == null) dart.nullFailed(I[5], 1688, 47, "supertype");
    return this[_isSubtypeMatch](subtype, supertype);
  }
  [_constrainLower](parameter, lower) {
    if (parameter == null) dart.nullFailed(I[5], 1691, 37, "parameter");
    if (lower == null) dart.nullFailed(I[5], 1691, 55, "lower");
    dart.nullCheck(this[_typeVariables][$_get](parameter))[_constrainLower](lower);
  }
  [_constrainUpper](parameter, upper) {
    if (parameter == null) dart.nullFailed(I[5], 1695, 37, "parameter");
    if (upper == null) dart.nullFailed(I[5], 1695, 55, "upper");
    dart.nullCheck(this[_typeVariables][$_get](parameter))[_constrainUpper](upper);
  }
  [_isFunctionSubtypeMatch](subtype, supertype) {
    let t6;
    if (subtype == null) dart.nullFailed(I[5], 1699, 45, "subtype");
    if (supertype == null) dart.nullFailed(I[5], 1699, 67, "supertype");
    if (dart.notNull(subtype.requiredParameterCount) > dart.notNull(supertype.requiredParameterCount)) {
      return false;
    }
    if (dart.notNull(subtype.positionalParameterCount) < dart.notNull(supertype.positionalParameterCount)) {
      return false;
    }
    if (!dart.VoidType.is(supertype.returnType) && !dart.test(this[_isSubtypeMatch](subtype.returnType, supertype.returnType))) {
      return false;
    }
    for (let i = 0, n = supertype.positionalParameterCount; i < dart.notNull(n); i = i + 1) {
      if (!dart.test(this[_isSubtypeMatch](core.Object.as(supertype.getPositionalParameter(i)), core.Object.as(subtype.getPositionalParameter(i))))) {
        return false;
      }
    }
    let supertypeNamed = supertype.getNamedParameters();
    let supertypeRequiredNamed = supertype.getRequiredNamedParameters();
    let subtypeNamed = supertype.getNamedParameters();
    let subtypeRequiredNamed = supertype.getRequiredNamedParameters();
    if (!false) {
      supertypeNamed = (() => {
        let t0 = new (T$.IdentityMapOfString$Object()).new();
        for (let t1 of supertypeNamed[$entries])
          t0[$_set](t1.key, t1.value);
        for (let t2 of supertypeRequiredNamed[$entries])
          t0[$_set](t2.key, t2.value);
        return t0;
      })();
      subtypeNamed = (() => {
        let t3 = new (T$.IdentityMapOfString$Object()).new();
        for (let t4 of subtypeNamed[$entries])
          t3[$_set](t4.key, t4.value);
        for (let t5 of subtypeRequiredNamed[$entries])
          t3[$_set](t5.key, t5.value);
        return t3;
      })();
      supertypeRequiredNamed = new (T$.IdentityMapOfString$Object()).new();
      subtypeRequiredNamed = new (T$.IdentityMapOfString$Object()).new();
    }
    for (let name of subtypeRequiredNamed[$keys]) {
      let supertypeParamType = supertypeRequiredNamed[$_get](name);
      if (supertypeParamType == null) return false;
    }
    for (let name of supertypeNamed[$keys]) {
      let subtypeParamType = subtypeNamed[$_get](name);
      if (subtypeParamType == null) return false;
      if (!dart.test(this[_isSubtypeMatch](dart.nullCheck(supertypeNamed[$_get](name)), subtypeParamType))) {
        return false;
      }
    }
    for (let name of supertypeRequiredNamed[$keys]) {
      let subtypeParamType = (t6 = subtypeRequiredNamed[$_get](name), t6 == null ? dart.nullCheck(subtypeNamed[$_get](name)) : t6);
      if (!dart.test(this[_isSubtypeMatch](dart.nullCheck(supertypeRequiredNamed[$_get](name)), subtypeParamType))) {
        return false;
      }
    }
    return true;
  }
  [_isInterfaceSubtypeMatch](subtype, supertype) {
    if (subtype == null) dart.nullFailed(I[5], 1775, 40, "subtype");
    if (supertype == null) dart.nullFailed(I[5], 1775, 56, "supertype");
    let matchingSupertype = dart._getMatchingSupertype(subtype, supertype);
    if (matchingSupertype == null) return false;
    let matchingTypeArgs = dart.nullCheck(dart.getGenericArgs(matchingSupertype));
    let supertypeTypeArgs = dart.nullCheck(dart.getGenericArgs(supertype));
    for (let i = 0; i < dart.notNull(supertypeTypeArgs[$length]); i = i + 1) {
      if (!dart.test(this[_isSubtypeMatch](core.Object.as(matchingTypeArgs[$_get](i)), core.Object.as(supertypeTypeArgs[$_get](i))))) {
        return false;
      }
    }
    return true;
  }
  [_isSubtypeMatch](subtype, supertype) {
    if (subtype == null) dart.nullFailed(I[5], 1819, 31, "subtype");
    if (supertype == null) dart.nullFailed(I[5], 1819, 47, "supertype");
    if (dart.TypeVariable.is(subtype) && dart.test(this[_typeVariables][$containsKey](subtype))) {
      this[_constrainUpper](subtype, supertype);
      return true;
    }
    if (dart.TypeVariable.is(supertype) && dart.test(this[_typeVariables][$containsKey](supertype))) {
      this[_constrainLower](supertype, subtype);
      return true;
    }
    if (core.identical(subtype, supertype)) return true;
    if (dart.test(this[_isTop$](supertype))) return true;
    if (subtype === core.Null) return true;
    if (dart._isFutureOr(subtype)) {
      let subtypeArg = dart.nullCheck(dart.getGenericArgs(subtype))[$_get](0);
      if (dart._isFutureOr(supertype)) {
        let supertypeArg = dart.nullCheck(dart.getGenericArgs(supertype))[$_get](0);
        return this[_isSubtypeMatch](core.Object.as(subtypeArg), core.Object.as(supertypeArg));
      }
      let subtypeFuture = async.Future$(subtypeArg);
      return dart.test(this[_isSubtypeMatch](subtypeFuture, supertype)) && dart.test(this[_isSubtypeMatch](core.Object.as(dart.nullCheck(subtypeArg)), supertype));
    }
    if (dart._isFutureOr(supertype)) {
      let supertypeArg = dart.nullCheck(dart.getGenericArgs(supertype))[$_get](0);
      let supertypeFuture = async.Future$(supertypeArg);
      return dart.test(this[_isSubtypeMatch](subtype, supertypeFuture)) || dart.test(this[_isSubtypeMatch](subtype, core.Object.as(supertypeArg)));
    }
    if (dart.TypeVariable.is(subtype)) {
      return dart.TypeVariable.is(supertype) && subtype == supertype;
    }
    if (dart.GenericFunctionType.is(subtype)) {
      if (dart.GenericFunctionType.is(supertype)) {
        let formalCount = subtype.formalCount;
        if (formalCount != supertype.formalCount) return false;
        let fresh = supertype.typeFormals;
        let t1Bounds = subtype.instantiateTypeBounds(fresh);
        let t2Bounds = supertype.instantiateTypeBounds(fresh);
        for (let i = 0; i < dart.notNull(formalCount); i = i + 1) {
          if (!dart.test(this[_isSubtypeMatch](t2Bounds[$_get](i), t1Bounds[$_get](i)))) {
            return false;
          }
        }
        return this[_isFunctionSubtypeMatch](subtype.instantiate(fresh), supertype.instantiate(fresh));
      } else {
        return false;
      }
    } else if (dart.GenericFunctionType.is(supertype)) {
      return false;
    }
    if (dart.FunctionType.is(subtype)) {
      if (!dart.FunctionType.is(supertype)) {
        if (supertype === core.Function || supertype === core.Object) {
          return true;
        } else {
          return false;
        }
      }
      if (dart.FunctionType.is(supertype)) {
        return this[_isFunctionSubtypeMatch](subtype, supertype);
      }
    }
    return this[_isInterfaceSubtypeMatch](subtype, supertype);
  }
  [_isTop$](type) {
    if (type == null) dart.nullFailed(I[5], 1962, 22, "type");
    return core.identical(type, dart.dynamic) || core.identical(type, dart.void) || type === core.Object;
  }
};
(dart._TypeInferrer.new = function(typeVariables) {
  if (typeVariables == null) dart.nullFailed(I[5], 1663, 40, "typeVariables");
  this[_typeVariables] = T$.LinkedHashMapOfTypeVariable$TypeConstraint().fromIterables(typeVariables, typeVariables[$map](dart.TypeConstraint, _ => {
    if (_ == null) dart.nullFailed(I[5], 1665, 47, "_");
    return new dart.TypeConstraint.new();
  }));
  ;
}).prototype = dart._TypeInferrer.prototype;
dart.addTypeTests(dart._TypeInferrer);
dart.addTypeCaches(dart._TypeInferrer);
dart.setMethodSignature(dart._TypeInferrer, () => ({
  __proto__: dart.getMethods(dart._TypeInferrer.__proto__),
  getInferredTypes: dart.fnType(dart.nullable(core.List$(core.Object)), []),
  trySubtypeMatch: dart.fnType(core.bool, [core.Object, core.Object]),
  [_constrainLower]: dart.fnType(dart.void, [dart.TypeVariable, core.Object]),
  [_constrainUpper]: dart.fnType(dart.void, [dart.TypeVariable, core.Object]),
  [_isFunctionSubtypeMatch]: dart.fnType(core.bool, [dart.FunctionType, dart.FunctionType]),
  [_isInterfaceSubtypeMatch]: dart.fnType(core.bool, [core.Object, core.Object]),
  [_isSubtypeMatch]: dart.fnType(core.bool, [core.Object, core.Object]),
  [_isTop$]: dart.fnType(core.bool, [core.Object])
}));
dart.setLibraryUri(dart._TypeInferrer, I[10]);
dart.setFieldSignature(dart._TypeInferrer, () => ({
  __proto__: dart.getFields(dart._TypeInferrer.__proto__),
  [_typeVariables]: dart.finalFieldType(core.Map$(dart.TypeVariable, dart.TypeConstraint))
}));
var lower = dart.privateName(dart, "TypeConstraint.lower");
var upper = dart.privateName(dart, "TypeConstraint.upper");
dart.TypeConstraint = class TypeConstraint extends core.Object {
  get lower() {
    return this[lower];
  }
  set lower(value) {
    this[lower] = value;
  }
  get upper() {
    return this[upper];
  }
  set upper(value) {
    this[upper] = value;
  }
  [_constrainLower](type) {
    if (type == null) dart.nullFailed(I[5], 1978, 31, "type");
    let _lower = this.lower;
    if (_lower != null) {
      if (dart.isSubtypeOf(_lower, type)) {
        return;
      }
      if (!dart.isSubtypeOf(type, _lower)) {
        type = core.Null;
      }
    }
    this.lower = type;
  }
  [_constrainUpper](type) {
    if (type == null) dart.nullFailed(I[5], 1993, 31, "type");
    let _upper = this.upper;
    if (_upper != null) {
      if (dart.isSubtypeOf(type, _upper)) {
        return;
      }
      if (!dart.isSubtypeOf(_upper, type)) {
        type = core.Object;
      }
    }
    this.upper = type;
  }
  toString() {
    return dart.typeName(this.lower) + " <: <type> <: " + dart.typeName(this.upper);
  }
};
(dart.TypeConstraint.new = function() {
  this[lower] = null;
  this[upper] = null;
  ;
}).prototype = dart.TypeConstraint.prototype;
dart.addTypeTests(dart.TypeConstraint);
dart.addTypeCaches(dart.TypeConstraint);
dart.setMethodSignature(dart.TypeConstraint, () => ({
  __proto__: dart.getMethods(dart.TypeConstraint.__proto__),
  [_constrainLower]: dart.fnType(dart.void, [core.Object]),
  [_constrainUpper]: dart.fnType(dart.void, [core.Object])
}));
dart.setLibraryUri(dart.TypeConstraint, I[10]);
dart.setFieldSignature(dart.TypeConstraint, () => ({
  __proto__: dart.getFields(dart.TypeConstraint.__proto__),
  lower: dart.fieldType(dart.nullable(core.Object)),
  upper: dart.fieldType(dart.nullable(core.Object))
}));
dart.defineExtensionMethods(dart.TypeConstraint, ['toString']);
var _trace = dart.privateName(dart, "_trace");
var _jsObjectMissingTrace = dart.privateName(dart, "_jsObjectMissingTrace");
dart._StackTrace = class _StackTrace extends core.Object {
  toString() {
    if (this[_trace] != null) return dart.nullCheck(this[_trace]);
    let e = this[_jsError$];
    let trace = "";
    if (e != null && typeof e === "object") {
      trace = _interceptors.NativeError.is(e) ? e[$dartStack]() : e.stack;
      let mapper = _debugger.stackTraceMapper;
      if (trace != null && mapper != null) {
        trace = mapper(trace);
      }
    }
    if (trace[$isEmpty] || this[_jsObjectMissingTrace] != null) {
      let jsToString = null;
      try {
        jsToString = "" + this[_jsObjectMissingTrace];
      } catch (e$) {
        let _ = dart.getThrown(e$);
        if (core.Object.is(_)) {
          jsToString = "<error converting JS object to string>";
        } else
          throw e$;
      }
      trace = "Non-error `" + dart.str(jsToString) + "` thrown by JS does not have stack trace." + "\nCaught in Dart at:\n\n" + dart.str(trace);
    }
    return this[_trace] = trace;
  }
};
(dart._StackTrace.new = function(_jsError) {
  this[_trace] = null;
  this[_jsError$] = _jsError;
  this[_jsObjectMissingTrace] = null;
  ;
}).prototype = dart._StackTrace.prototype;
(dart._StackTrace.missing = function(caughtObj) {
  this[_trace] = null;
  this[_jsObjectMissingTrace] = caughtObj != null ? caughtObj : "null";
  this[_jsError$] = Error();
  ;
}).prototype = dart._StackTrace.prototype;
dart.addTypeTests(dart._StackTrace);
dart.addTypeCaches(dart._StackTrace);
dart._StackTrace[dart.implements] = () => [core.StackTrace];
dart.setLibraryUri(dart._StackTrace, I[10]);
dart.setFieldSignature(dart._StackTrace, () => ({
  __proto__: dart.getFields(dart._StackTrace.__proto__),
  [_jsError$]: dart.finalFieldType(dart.nullable(core.Object)),
  [_jsObjectMissingTrace]: dart.finalFieldType(dart.nullable(core.Object)),
  [_trace]: dart.fieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(dart._StackTrace, ['toString']);
var memberName$ = dart.privateName(dart, "InvocationImpl.memberName");
var positionalArguments$ = dart.privateName(dart, "InvocationImpl.positionalArguments");
var namedArguments$ = dart.privateName(dart, "InvocationImpl.namedArguments");
var typeArguments$ = dart.privateName(dart, "InvocationImpl.typeArguments");
var isMethod$ = dart.privateName(dart, "InvocationImpl.isMethod");
var isGetter$ = dart.privateName(dart, "InvocationImpl.isGetter");
var isSetter$ = dart.privateName(dart, "InvocationImpl.isSetter");
var failureMessage$ = dart.privateName(dart, "InvocationImpl.failureMessage");
let const$;
let const$0;
dart.defineLazy(CT, {
  get C0() {
    return C[0] = dart.const({
      __proto__: _internal.SentinelValue.prototype,
      [SentinelValue_id]: 0
    });
  },
  get C1() {
    return C[1] = dart.constList([], T$.TypeL());
  },
  get C2() {
    return C[2] = dart.const({
      __proto__: _debugger.JsonMLConfig.prototype,
      [name$0]: "none"
    });
  },
  get C3() {
    return C[3] = dart.const({
      __proto__: _debugger.JsonMLConfig.prototype,
      [name$0]: "skipDart"
    });
  },
  get C4() {
    return C[4] = dart.const({
      __proto__: _debugger.JsonMLConfig.prototype,
      [name$0]: "keyToString"
    });
  },
  get C5() {
    return C[5] = dart.const({
      __proto__: _debugger.JsonMLConfig.prototype,
      [name$0]: "asClass"
    });
  },
  get C6() {
    return C[6] = dart.const({
      __proto__: _debugger.JsonMLConfig.prototype,
      [name$0]: "asObject"
    });
  },
  get C7() {
    return C[7] = dart.const({
      __proto__: _debugger.JsonMLConfig.prototype,
      [name$0]: "asMap"
    });
  },
  get C8() {
    return C[8] = dart.fn(_debugger.getTypeName, T$.dynamicToString());
  },
  get C9() {
    return C[9] = dart.const({
      __proto__: _foreign_helper._Rest.prototype
    });
  },
  get C10() {
    return C[10] = dart.const(new _js_helper.PrivateSymbol.new('_receiver', _receiver));
  },
  get C11() {
    return C[11] = dart.const(new _js_helper.PrivateSymbol.new('_arguments', _arguments));
  },
  get C12() {
    return C[12] = dart.const(new _js_helper.PrivateSymbol.new('_memberName', _memberName));
  },
  get C13() {
    return C[13] = dart.const(new _js_helper.PrivateSymbol.new('_invocation', _invocation));
  },
  get C14() {
    return C[14] = dart.const(new _js_helper.PrivateSymbol.new('_namedArguments', _namedArguments));
  },
  get C15() {
    return C[15] = dart.const(new _js_helper.PrivateSymbol.new('_hasValue', _hasValue));
  },
  get C16() {
    return C[16] = dart.const(new _js_helper.PrivateSymbol.new('_errorExplanation', _errorExplanation));
  },
  get C17() {
    return C[17] = dart.const(new _js_helper.PrivateSymbol.new('_errorName', _errorName));
  },
  get C18() {
    return C[18] = dart.const({
      __proto__: core.OutOfMemoryError.prototype
    });
  },
  get C19() {
    return C[19] = dart.fn(collection.ListMixin._compareAny, T$.dynamicAnddynamicToint());
  },
  get C20() {
    return C[20] = dart.fn(collection.MapBase._id, T$.ObjectNToObjectN());
  },
  get C21() {
    return C[21] = dart.const({
      __proto__: T$.EmptyIteratorOfNeverL().prototype
    });
  },
  get C22() {
    return C[22] = dart.constList([1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, 10000000000.0, 100000000000.0, 1000000000000.0, 10000000000000.0, 100000000000000.0, 1000000000000000.0, 10000000000000000.0, 100000000000000000.0, 1000000000000000000.0, 10000000000000000000.0, 100000000000000000000.0, 1e+21, 1e+22], T$.doubleL());
  },
  get C23() {
    return C[23] = dart.fn(_js_helper.Primitives.dateNow, T$.VoidToint());
  },
  get C24() {
    return C[24] = dart.const(new _js_helper.PrivateSymbol.new('_receiver', _receiver$1));
  },
  get C25() {
    return C[25] = dart.const(new _js_helper.PrivateSymbol.new('_arguments', _arguments$0));
  },
  get C26() {
    return C[26] = dart.const(new _js_helper.PrivateSymbol.new('_memberName', _memberName$0));
  },
  get C27() {
    return C[27] = dart.const(new _js_helper.PrivateSymbol.new('_invocation', _invocation$0));
  },
  get C28() {
    return C[28] = dart.const(new _js_helper.PrivateSymbol.new('_namedArguments', _namedArguments$0));
  },
  get C29() {
    return C[29] = dart.applyExtensionForTesting;
  },
  get C30() {
    return C[30] = dart.fn(_js_helper.assertInterop, T$.ObjectNTovoid());
  },
  get C31() {
    return C[31] = dart.fn(_js_helper._matchString, T$.MatchToString());
  },
  get C32() {
    return C[32] = dart.fn(_js_helper._stringIdentity, T$.StringToString());
  },
  get C33() {
    return C[33] = dart.const({
      __proto__: _js_helper._Patch.prototype
    });
  },
  get C34() {
    return C[34] = dart.const({
      __proto__: _js_helper._NotNull.prototype
    });
  },
  get C35() {
    return C[35] = dart.const({
      __proto__: _js_helper._Undefined.prototype
    });
  },
  get C36() {
    return C[36] = dart.const({
      __proto__: _js_helper._NullCheck.prototype
    });
  },
  get C37() {
    return C[37] = dart.const({
      __proto__: typed_data.Endian.prototype,
      [Endian__littleEndian]: false
    });
  },
  get C38() {
    return C[38] = dart.fn(async._nullDataHandler, T$.dynamicTovoid());
  },
  get C39() {
    return C[39] = dart.fn(async._nullErrorHandler, T$.ObjectAndStackTraceTovoid());
  },
  get C40() {
    return C[40] = dart.fn(async._nullDoneHandler, T$.VoidTovoid());
  },
  get C41() {
    return C[41] = dart.const({
      __proto__: async._DelayedDone.prototype
    });
  },
  get C42() {
    return C[42] = dart.fn(async.Future._kTrue, T$.ObjectNTobool());
  },
  get C43() {
    return C[43] = async._AsyncRun._scheduleImmediateJSOverride;
  },
  get C44() {
    return C[44] = async._AsyncRun._scheduleImmediateWithPromise;
  },
  get C45() {
    return C[45] = dart.const({
      __proto__: async._RootZone.prototype
    });
  },
  get C47() {
    return C[47] = dart.fn(async._rootRun, T$.ZoneNAndZoneDelegateNAndZone__ToR());
  },
  get C46() {
    return C[46] = dart.const({
      __proto__: async._RunNullaryZoneFunction.prototype,
      [$function$1]: C[47] || CT.C47,
      [zone$0]: C[45] || CT.C45
    });
  },
  get C49() {
    return C[49] = dart.fn(async._rootRunUnary, T$.ZoneNAndZoneDelegateNAndZone__ToR$1());
  },
  get C48() {
    return C[48] = dart.const({
      __proto__: async._RunUnaryZoneFunction.prototype,
      [$function$2]: C[49] || CT.C49,
      [zone$1]: C[45] || CT.C45
    });
  },
  get C51() {
    return C[51] = dart.fn(async._rootRunBinary, T$.ZoneNAndZoneDelegateNAndZone__ToR$2());
  },
  get C50() {
    return C[50] = dart.const({
      __proto__: async._RunBinaryZoneFunction.prototype,
      [$function$3]: C[51] || CT.C51,
      [zone$2]: C[45] || CT.C45
    });
  },
  get C53() {
    return C[53] = dart.fn(async._rootRegisterCallback, T$.ZoneAndZoneDelegateAndZone__ToFn());
  },
  get C52() {
    return C[52] = dart.const({
      __proto__: async._RegisterNullaryZoneFunction.prototype,
      [$function$4]: C[53] || CT.C53,
      [zone$3]: C[45] || CT.C45
    });
  },
  get C55() {
    return C[55] = dart.fn(async._rootRegisterUnaryCallback, T$.ZoneAndZoneDelegateAndZone__ToFn$1());
  },
  get C54() {
    return C[54] = dart.const({
      __proto__: async._RegisterUnaryZoneFunction.prototype,
      [$function$5]: C[55] || CT.C55,
      [zone$4]: C[45] || CT.C45
    });
  },
  get C57() {
    return C[57] = dart.fn(async._rootRegisterBinaryCallback, T$.ZoneAndZoneDelegateAndZone__ToFn$2());
  },
  get C56() {
    return C[56] = dart.const({
      __proto__: async._RegisterBinaryZoneFunction.prototype,
      [$function$6]: C[57] || CT.C57,
      [zone$5]: C[45] || CT.C45
    });
  },
  get C59() {
    return C[59] = dart.fn(async._rootErrorCallback, T$.ZoneAndZoneDelegateAndZone__ToAsyncErrorN());
  },
  get C58() {
    return C[58] = dart.const({
      __proto__: T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLAsyncErrorN().prototype,
      [$function$0]: C[59] || CT.C59,
      [zone$]: C[45] || CT.C45
    });
  },
  get C61() {
    return C[61] = dart.fn(async._rootScheduleMicrotask, T$.ZoneNAndZoneDelegateNAndZone__Tovoid());
  },
  get C60() {
    return C[60] = dart.const({
      __proto__: T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid().prototype,
      [$function$0]: C[61] || CT.C61,
      [zone$]: C[45] || CT.C45
    });
  },
  get C63() {
    return C[63] = dart.fn(async._rootCreateTimer, T$.ZoneAndZoneDelegateAndZone__ToTimer());
  },
  get C62() {
    return C[62] = dart.const({
      __proto__: T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLTimerL().prototype,
      [$function$0]: C[63] || CT.C63,
      [zone$]: C[45] || CT.C45
    });
  },
  get C65() {
    return C[65] = dart.fn(async._rootCreatePeriodicTimer, T$.ZoneAndZoneDelegateAndZone__ToTimer$1());
  },
  get C64() {
    return C[64] = dart.const({
      __proto__: T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLTimerL$1().prototype,
      [$function$0]: C[65] || CT.C65,
      [zone$]: C[45] || CT.C45
    });
  },
  get C67() {
    return C[67] = dart.fn(async._rootPrint, T$.ZoneAndZoneDelegateAndZone__Tovoid$1());
  },
  get C66() {
    return C[66] = dart.const({
      __proto__: T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid$1().prototype,
      [$function$0]: C[67] || CT.C67,
      [zone$]: C[45] || CT.C45
    });
  },
  get C69() {
    return C[69] = dart.fn(async._rootFork, T$.ZoneNAndZoneDelegateNAndZone__ToZone());
  },
  get C68() {
    return C[68] = dart.const({
      __proto__: T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLZoneL().prototype,
      [$function$0]: C[69] || CT.C69,
      [zone$]: C[45] || CT.C45
    });
  },
  get C71() {
    return C[71] = dart.fn(async._rootHandleUncaughtError, T$.ZoneNAndZoneDelegateNAndZone__Tovoid$1());
  },
  get C70() {
    return C[70] = dart.const({
      __proto__: T$._ZoneFunctionOfZoneLAndZoneDelegateLAndZoneL__ToLvoid$2().prototype,
      [$function$0]: C[71] || CT.C71,
      [zone$]: C[45] || CT.C45
    });
  },
  get C72() {
    return C[72] = dart.fn(async['FutureExtensions|_ignore'], T$.ObjectNAndObjectNTovoid$1());
  },
  get C73() {
    return C[73] = dart.fn(async._startMicrotaskLoop, T$.VoidTovoid());
  },
  get C74() {
    return C[74] = dart.fn(async._printToZone, T$.StringTovoid());
  },
  get C75() {
    return C[75] = dart.const({
      __proto__: async._ZoneSpecification.prototype,
      [fork$]: null,
      [print$]: null,
      [createPeriodicTimer$]: null,
      [createTimer$]: null,
      [scheduleMicrotask$]: null,
      [errorCallback$]: null,
      [registerBinaryCallback$]: null,
      [registerUnaryCallback$]: null,
      [registerCallback$]: null,
      [runBinary$]: null,
      [runUnary$]: null,
      [run$]: null,
      [handleUncaughtError$]: null
    });
  },
  get C76() {
    return C[76] = dart.hashCode;
  },
  get C77() {
    return C[77] = dart.fn(core.identityHashCode, T$.ObjectNToint());
  },
  get C78() {
    return C[78] = dart.fn(core.identical, T$.ObjectNAndObjectNTobool());
  },
  get C79() {
    return C[79] = dart.equals;
  },
  get C80() {
    return C[80] = dart.fn(core.Comparable.compare, T$0.ComparableAndComparableToint());
  },
  get C81() {
    return C[81] = dart.fn(collection._dynamicCompare, T$.dynamicAnddynamicToint());
  },
  get C82() {
    return C[82] = dart.const({
      __proto__: convert.AsciiDecoder.prototype,
      [_UnicodeSubsetDecoder__subsetMask]: 127,
      [_UnicodeSubsetDecoder__allowInvalid]: true
    });
  },
  get C83() {
    return C[83] = dart.const({
      __proto__: convert.AsciiDecoder.prototype,
      [_UnicodeSubsetDecoder__subsetMask]: 127,
      [_UnicodeSubsetDecoder__allowInvalid]: false
    });
  },
  get C84() {
    return C[84] = dart.const({
      __proto__: convert.AsciiEncoder.prototype,
      [_UnicodeSubsetEncoder__subsetMask]: 127
    });
  },
  get C85() {
    return C[85] = dart.constList([239, 191, 189], T$0.intL());
  },
  get C86() {
    return C[86] = dart.const({
      __proto__: convert.Base64Encoder.prototype,
      [Base64Encoder__urlSafe]: false
    });
  },
  get C87() {
    return C[87] = dart.const({
      __proto__: convert.Base64Encoder.prototype,
      [Base64Encoder__urlSafe]: true
    });
  },
  get C88() {
    return C[88] = dart.const({
      __proto__: convert.Base64Decoder.prototype
    });
  },
  get C89() {
    return C[89] = dart.constList([], T$0.intL());
  },
  get C90() {
    return C[90] = dart.const({
      __proto__: convert.HtmlEscapeMode.prototype,
      [escapeSlash$]: true,
      [escapeApos$]: true,
      [escapeQuot$]: true,
      [escapeLtGt$]: true,
      [_name$2]: "unknown"
    });
  },
  get C91() {
    return C[91] = dart.const({
      __proto__: convert.HtmlEscapeMode.prototype,
      [escapeSlash$]: false,
      [escapeApos$]: false,
      [escapeQuot$]: true,
      [escapeLtGt$]: true,
      [_name$2]: "attribute"
    });
  },
  get C92() {
    return C[92] = dart.const({
      __proto__: convert.HtmlEscapeMode.prototype,
      [escapeSlash$]: false,
      [escapeApos$]: true,
      [escapeQuot$]: false,
      [escapeLtGt$]: true,
      [_name$2]: "attribute"
    });
  },
  get C93() {
    return C[93] = dart.const({
      __proto__: convert.HtmlEscapeMode.prototype,
      [escapeSlash$]: false,
      [escapeApos$]: false,
      [escapeQuot$]: false,
      [escapeLtGt$]: true,
      [_name$2]: "element"
    });
  },
  get C94() {
    return C[94] = dart.const({
      __proto__: convert.JsonEncoder.prototype,
      [JsonEncoder__toEncodable]: null,
      [JsonEncoder_indent]: null
    });
  },
  get C95() {
    return C[95] = dart.const({
      __proto__: convert.JsonDecoder.prototype,
      [JsonDecoder__reviver]: null
    });
  },
  get C96() {
    return C[96] = dart.fn(convert._defaultToEncodable, T$.dynamicTodynamic());
  },
  get C97() {
    return C[97] = dart.const({
      __proto__: convert.Latin1Decoder.prototype,
      [_UnicodeSubsetDecoder__subsetMask]: 255,
      [_UnicodeSubsetDecoder__allowInvalid]: true
    });
  },
  get C98() {
    return C[98] = dart.const({
      __proto__: convert.Latin1Decoder.prototype,
      [_UnicodeSubsetDecoder__subsetMask]: 255,
      [_UnicodeSubsetDecoder__allowInvalid]: false
    });
  },
  get C99() {
    return C[99] = dart.const({
      __proto__: convert.Latin1Encoder.prototype,
      [_UnicodeSubsetEncoder__subsetMask]: 255
    });
  },
  get C100() {
    return C[100] = dart.constList([65533], T$0.intL());
  },
  get C101() {
    return C[101] = dart.const({
      __proto__: convert.Utf8Decoder.prototype,
      [Utf8Decoder__allowMalformed]: true
    });
  },
  get C102() {
    return C[102] = dart.const({
      __proto__: convert.Utf8Decoder.prototype,
      [Utf8Decoder__allowMalformed]: false
    });
  },
  get C103() {
    return C[103] = dart.const({
      __proto__: convert.Utf8Encoder.prototype
    });
  },
  get C104() {
    return C[104] = dart.const({
      __proto__: convert.AsciiCodec.prototype,
      [_allowInvalid]: false
    });
  },
  get C105() {
    return C[105] = dart.const({
      __proto__: convert.Base64Codec.prototype,
      [_encoder]: C[86] || CT.C86
    });
  },
  get C106() {
    return C[106] = dart.const({
      __proto__: convert.Base64Codec.prototype,
      [_encoder]: C[87] || CT.C87
    });
  },
  get C107() {
    return C[107] = dart.const({
      __proto__: convert.HtmlEscape.prototype,
      [mode$]: C[90] || CT.C90
    });
  },
  get C108() {
    return C[108] = dart.const({
      __proto__: convert.JsonCodec.prototype,
      [_toEncodable]: null,
      [_reviver]: null
    });
  },
  get C109() {
    return C[109] = dart.const({
      __proto__: convert.Latin1Codec.prototype,
      [_allowInvalid$1]: false
    });
  },
  get C110() {
    return C[110] = dart.const({
      __proto__: convert.Utf8Codec.prototype,
      [_allowMalformed]: false
    });
  },
  get C111() {
    return C[111] = dart.const({
      __proto__: io.FileMode.prototype,
      [_mode$]: 0
    });
  },
  get C112() {
    return C[112] = dart.const({
      __proto__: io.FileMode.prototype,
      [_mode$]: 1
    });
  },
  get C113() {
    return C[113] = dart.const({
      __proto__: io.FileMode.prototype,
      [_mode$]: 2
    });
  },
  get C114() {
    return C[114] = dart.const({
      __proto__: io.FileMode.prototype,
      [_mode$]: 3
    });
  },
  get C115() {
    return C[115] = dart.const({
      __proto__: io.FileMode.prototype,
      [_mode$]: 4
    });
  },
  get C116() {
    return C[116] = dart.const({
      __proto__: io.FileLock.prototype,
      [_type$1]: 1
    });
  },
  get C117() {
    return C[117] = dart.const({
      __proto__: io.FileLock.prototype,
      [_type$1]: 2
    });
  },
  get C118() {
    return C[118] = dart.const({
      __proto__: io.FileLock.prototype,
      [_type$1]: 3
    });
  },
  get C119() {
    return C[119] = dart.const({
      __proto__: io.FileLock.prototype,
      [_type$1]: 4
    });
  },
  get C120() {
    return C[120] = dart.const({
      __proto__: convert.LineSplitter.prototype
    });
  },
  get C121() {
    return C[121] = dart.fn(io._FileResourceInfo.getOpenFiles, T$0.dynamicAnddynamicToFutureOfServiceExtensionResponse());
  },
  get C122() {
    return C[122] = dart.fn(io._FileResourceInfo.getOpenFileInfoMapByID, T$0.dynamicAnddynamicToFutureOfServiceExtensionResponse());
  },
  get C123() {
    return C[123] = dart.constList(["file", "directory", "link", "notFound"], T$.StringL());
  },
  get C124() {
    return C[124] = dart.const({
      __proto__: io.FileSystemEntityType.prototype,
      [_type$2]: 0
    });
  },
  get C125() {
    return C[125] = dart.const({
      __proto__: io.FileSystemEntityType.prototype,
      [_type$2]: 1
    });
  },
  get C126() {
    return C[126] = dart.const({
      __proto__: io.FileSystemEntityType.prototype,
      [_type$2]: 2
    });
  },
  get C127() {
    return C[127] = dart.const({
      __proto__: io.FileSystemEntityType.prototype,
      [_type$2]: 3
    });
  },
  get C128() {
    return C[128] = dart.constList([C[124] || CT.C124, C[125] || CT.C125, C[126] || CT.C126, C[127] || CT.C127], T$0.FileSystemEntityTypeL());
  },
  get C129() {
    return C[129] = dart.constList(["---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx"], T$.StringL());
  },
  get C130() {
    return C[130] = dart.fn(io._NetworkProfiling._serviceExtensionHandler, T$0.StringAndMapOfString$StringToFutureOfServiceExtensionResponse());
  },
  get C131() {
    return C[131] = dart.const({
      __proto__: io._SocketProfileType.prototype,
      [_name$4]: "_SocketProfileType.startTime",
      index: 0
    });
  },
  get C132() {
    return C[132] = dart.const({
      __proto__: io._SocketProfileType.prototype,
      [_name$4]: "_SocketProfileType.endTime",
      index: 1
    });
  },
  get C133() {
    return C[133] = dart.const({
      __proto__: io._SocketProfileType.prototype,
      [_name$4]: "_SocketProfileType.address",
      index: 2
    });
  },
  get C134() {
    return C[134] = dart.const({
      __proto__: io._SocketProfileType.prototype,
      [_name$4]: "_SocketProfileType.port",
      index: 3
    });
  },
  get C135() {
    return C[135] = dart.const({
      __proto__: io._SocketProfileType.prototype,
      [_name$4]: "_SocketProfileType.socketType",
      index: 4
    });
  },
  get C136() {
    return C[136] = dart.const({
      __proto__: io._SocketProfileType.prototype,
      [_name$4]: "_SocketProfileType.readBytes",
      index: 5
    });
  },
  get C137() {
    return C[137] = dart.const({
      __proto__: io._SocketProfileType.prototype,
      [_name$4]: "_SocketProfileType.writeBytes",
      index: 6
    });
  },
  get C138() {
    return C[138] = dart.constList([C[131] || CT.C131, C[132] || CT.C132, C[133] || CT.C133, C[134] || CT.C134, C[135] || CT.C135, C[136] || CT.C136, C[137] || CT.C137], T$0._SocketProfileTypeL());
  },
  get C140() {
    return C[140] = dart.const({
      __proto__: io.ProcessStartMode.prototype,
      [_mode$0]: 0
    });
  },
  get C141() {
    return C[141] = dart.const({
      __proto__: io.ProcessStartMode.prototype,
      [_mode$0]: 1
    });
  },
  get C142() {
    return C[142] = dart.const({
      __proto__: io.ProcessStartMode.prototype,
      [_mode$0]: 2
    });
  },
  get C143() {
    return C[143] = dart.const({
      __proto__: io.ProcessStartMode.prototype,
      [_mode$0]: 3
    });
  },
  get C139() {
    return C[139] = dart.constList([C[140] || CT.C140, C[141] || CT.C141, C[142] || CT.C142, C[143] || CT.C143], T$0.ProcessStartModeL());
  },
  get C144() {
    return C[144] = dart.constList(["normal", "inheritStdio", "detached", "detachedWithStdio"], T$.StringL());
  },
  get C145() {
    return C[145] = dart.const({
      __proto__: io.SystemEncoding.prototype
    });
  },
  get C146() {
    return C[146] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGTERM",
      [ProcessSignal__signalNumber]: 15
    });
  },
  get C147() {
    return C[147] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGHUP",
      [ProcessSignal__signalNumber]: 1
    });
  },
  get C148() {
    return C[148] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGINT",
      [ProcessSignal__signalNumber]: 2
    });
  },
  get C149() {
    return C[149] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGQUIT",
      [ProcessSignal__signalNumber]: 3
    });
  },
  get C150() {
    return C[150] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGILL",
      [ProcessSignal__signalNumber]: 4
    });
  },
  get C151() {
    return C[151] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGTRAP",
      [ProcessSignal__signalNumber]: 5
    });
  },
  get C152() {
    return C[152] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGABRT",
      [ProcessSignal__signalNumber]: 6
    });
  },
  get C153() {
    return C[153] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGBUS",
      [ProcessSignal__signalNumber]: 7
    });
  },
  get C154() {
    return C[154] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGFPE",
      [ProcessSignal__signalNumber]: 8
    });
  },
  get C155() {
    return C[155] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGKILL",
      [ProcessSignal__signalNumber]: 9
    });
  },
  get C156() {
    return C[156] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGUSR1",
      [ProcessSignal__signalNumber]: 10
    });
  },
  get C157() {
    return C[157] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGSEGV",
      [ProcessSignal__signalNumber]: 11
    });
  },
  get C158() {
    return C[158] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGUSR2",
      [ProcessSignal__signalNumber]: 12
    });
  },
  get C159() {
    return C[159] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGPIPE",
      [ProcessSignal__signalNumber]: 13
    });
  },
  get C160() {
    return C[160] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGALRM",
      [ProcessSignal__signalNumber]: 14
    });
  },
  get C161() {
    return C[161] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGCHLD",
      [ProcessSignal__signalNumber]: 17
    });
  },
  get C162() {
    return C[162] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGCONT",
      [ProcessSignal__signalNumber]: 18
    });
  },
  get C163() {
    return C[163] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGSTOP",
      [ProcessSignal__signalNumber]: 19
    });
  },
  get C164() {
    return C[164] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGTSTP",
      [ProcessSignal__signalNumber]: 20
    });
  },
  get C165() {
    return C[165] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGTTIN",
      [ProcessSignal__signalNumber]: 21
    });
  },
  get C166() {
    return C[166] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGTTOU",
      [ProcessSignal__signalNumber]: 22
    });
  },
  get C167() {
    return C[167] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGURG",
      [ProcessSignal__signalNumber]: 23
    });
  },
  get C168() {
    return C[168] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGXCPU",
      [ProcessSignal__signalNumber]: 24
    });
  },
  get C169() {
    return C[169] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGXFSZ",
      [ProcessSignal__signalNumber]: 25
    });
  },
  get C170() {
    return C[170] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGVTALRM",
      [ProcessSignal__signalNumber]: 26
    });
  },
  get C171() {
    return C[171] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGPROF",
      [ProcessSignal__signalNumber]: 27
    });
  },
  get C172() {
    return C[172] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGWINCH",
      [ProcessSignal__signalNumber]: 28
    });
  },
  get C173() {
    return C[173] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGPOLL",
      [ProcessSignal__signalNumber]: 29
    });
  },
  get C174() {
    return C[174] = dart.const({
      __proto__: io.ProcessSignal.prototype,
      [ProcessSignal__name]: "SIGSYS",
      [ProcessSignal__signalNumber]: 31
    });
  },
  get C175() {
    return C[175] = dart.constList(["RawSocketEvent.read", "RawSocketEvent.write", "RawSocketEvent.readClosed", "RawSocketEvent.closed"], T$.StringL());
  },
  get C176() {
    return C[176] = dart.const({
      __proto__: io.RawSocketEvent.prototype,
      [_value$]: 0
    });
  },
  get C177() {
    return C[177] = dart.const({
      __proto__: io.RawSocketEvent.prototype,
      [_value$]: 1
    });
  },
  get C178() {
    return C[178] = dart.const({
      __proto__: io.RawSocketEvent.prototype,
      [_value$]: 2
    });
  },
  get C179() {
    return C[179] = dart.const({
      __proto__: io.RawSocketEvent.prototype,
      [_value$]: 3
    });
  },
  get C180() {
    return C[180] = dart.constList(["ANY", "IPv4", "IPv6", "Unix"], T$.StringL());
  },
  get C181() {
    return C[181] = dart.const({
      __proto__: io.InternetAddressType.prototype,
      [_value$1]: 0
    });
  },
  get C182() {
    return C[182] = dart.const({
      __proto__: io.InternetAddressType.prototype,
      [_value$1]: 1
    });
  },
  get C183() {
    return C[183] = dart.const({
      __proto__: io.InternetAddressType.prototype,
      [_value$1]: 2
    });
  },
  get C184() {
    return C[184] = dart.const({
      __proto__: io.InternetAddressType.prototype,
      [_value$1]: -1
    });
  },
  get C185() {
    return C[185] = dart.const({
      __proto__: io.SocketDirection.prototype,
      [_value$2]: 0
    });
  },
  get C186() {
    return C[186] = dart.const({
      __proto__: io.SocketDirection.prototype,
      [_value$2]: 1
    });
  },
  get C187() {
    return C[187] = dart.const({
      __proto__: io.SocketDirection.prototype,
      [_value$2]: 2
    });
  },
  get C188() {
    return C[188] = dart.const({
      __proto__: io.SocketOption.prototype,
      [_value$3]: 0
    });
  },
  get C189() {
    return C[189] = dart.const({
      __proto__: io.SocketOption.prototype,
      [_value$3]: 1
    });
  },
  get C190() {
    return C[190] = dart.const({
      __proto__: io.SocketOption.prototype,
      [_value$3]: 2
    });
  },
  get C191() {
    return C[191] = dart.const({
      __proto__: io.SocketOption.prototype,
      [_value$3]: 3
    });
  },
  get C192() {
    return C[192] = dart.const({
      __proto__: io.SocketOption.prototype,
      [_value$3]: 4
    });
  },
  get C193() {
    return C[193] = dart.const({
      __proto__: io._RawSocketOptions.prototype,
      [_name$4]: "_RawSocketOptions.SOL_SOCKET",
      index: 0
    });
  },
  get C194() {
    return C[194] = dart.const({
      __proto__: io._RawSocketOptions.prototype,
      [_name$4]: "_RawSocketOptions.IPPROTO_IP",
      index: 1
    });
  },
  get C195() {
    return C[195] = dart.const({
      __proto__: io._RawSocketOptions.prototype,
      [_name$4]: "_RawSocketOptions.IP_MULTICAST_IF",
      index: 2
    });
  },
  get C196() {
    return C[196] = dart.const({
      __proto__: io._RawSocketOptions.prototype,
      [_name$4]: "_RawSocketOptions.IPPROTO_IPV6",
      index: 3
    });
  },
  get C197() {
    return C[197] = dart.const({
      __proto__: io._RawSocketOptions.prototype,
      [_name$4]: "_RawSocketOptions.IPV6_MULTICAST_IF",
      index: 4
    });
  },
  get C198() {
    return C[198] = dart.const({
      __proto__: io._RawSocketOptions.prototype,
      [_name$4]: "_RawSocketOptions.IPPROTO_TCP",
      index: 5
    });
  },
  get C199() {
    return C[199] = dart.const({
      __proto__: io._RawSocketOptions.prototype,
      [_name$4]: "_RawSocketOptions.IPPROTO_UDP",
      index: 6
    });
  },
  get C200() {
    return C[200] = dart.constList([C[193] || CT.C193, C[194] || CT.C194, C[195] || CT.C195, C[196] || CT.C196, C[197] || CT.C197, C[198] || CT.C198, C[199] || CT.C199], T$0._RawSocketOptionsL());
  },
  get C201() {
    return C[201] = dart.const({
      __proto__: io.StdioType.prototype,
      [name$11]: "terminal"
    });
  },
  get C202() {
    return C[202] = dart.const({
      __proto__: io.StdioType.prototype,
      [name$11]: "pipe"
    });
  },
  get C203() {
    return C[203] = dart.const({
      __proto__: io.StdioType.prototype,
      [name$11]: "file"
    });
  },
  get C204() {
    return C[204] = dart.const({
      __proto__: io.StdioType.prototype,
      [name$11]: "other"
    });
  },
  get C205() {
    return C[205] = dart.const({
      __proto__: io._WindowsCodePageEncoder.prototype
    });
  },
  get C206() {
    return C[206] = dart.const({
      __proto__: io._WindowsCodePageDecoder.prototype
    });
  },
  get C207() {
    return C[207] = dart.constList([1, 2, 3, 4, 0], T$0.intL());
  },
  get C208() {
    return C[208] = dart.const({
      __proto__: io.ZLibCodec.prototype,
      [dictionary$]: null,
      [raw$]: false,
      [windowBits$]: 15,
      [strategy$]: 0,
      [memLevel$]: 8,
      [level$]: 6,
      [gzip$]: false
    });
  },
  get C209() {
    return C[209] = dart.const({
      __proto__: io.GZipCodec.prototype,
      [raw$0]: false,
      [dictionary$0]: null,
      [windowBits$0]: 15,
      [strategy$0]: 0,
      [memLevel$0]: 8,
      [level$0]: 6,
      [gzip$0]: true
    });
  },
  get C210() {
    return C[210] = dart.fn(async.runZoned, T$0.Fn__ToR());
  },
  get C211() {
    return C[211] = dart.fn(js._convertToJS, T$.ObjectNToObjectN());
  },
  get C212() {
    return C[212] = dart.fn(js._wrapDartFunction, T$0.ObjectToObject());
  },
  get C213() {
    return C[213] = dart.fn(js._wrapToDartHelper, T$0.ObjectToJsObject());
  },
  get C214() {
    return C[214] = dart.const({
      __proto__: math._JSRandom.prototype
    });
  },
  get C215() {
    return C[215] = dart.const({
      __proto__: typed_data.Endian.prototype,
      [Endian__littleEndian]: true
    });
  },
  get C216() {
    return C[216] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "abort"
    });
  },
  get C217() {
    return C[217] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "close"
    });
  },
  get C218() {
    return C[218] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "error"
    });
  },
  get C219() {
    return C[219] = dart.const({
      __proto__: T$0.EventStreamProviderOfVersionChangeEventL().prototype,
      [S.EventStreamProvider__eventType]: "versionchange"
    });
  },
  get C220() {
    return C[220] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "success"
    });
  },
  get C221() {
    return C[221] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "blocked"
    });
  },
  get C222() {
    return C[222] = dart.const({
      __proto__: T$0.EventStreamProviderOfVersionChangeEventL().prototype,
      [S.EventStreamProvider__eventType]: "upgradeneeded"
    });
  },
  get C223() {
    return C[223] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "complete"
    });
  },
  get C224() {
    return C[224] = dart.const({
      __proto__: _js_helper.Creates.prototype,
      [types$0]: "JSExtendableArray|=Object|num|String"
    });
  },
  get C225() {
    return C[225] = dart.const({
      __proto__: _js_helper.Returns.prototype,
      [types$1]: "JSExtendableArray|=Object|num|String"
    });
  },
  get C226() {
    return C[226] = dart.fn(html_common.convertDartToNative_Dictionary, T$0.MapNAndFnTodynamic());
  },
  get C228() {
    return C[228] = dart.fn(html$.Element._determineMouseWheelEventType, T$0.EventTargetToString());
  },
  get C227() {
    return C[227] = dart.const({
      __proto__: T$0._CustomEventStreamProviderOfWheelEventL().prototype,
      [S$._CustomEventStreamProvider__eventTypeGetter]: C[228] || CT.C228
    });
  },
  get C230() {
    return C[230] = dart.fn(html$.Element._determineTransitionEventType, T$0.EventTargetToString());
  },
  get C229() {
    return C[229] = dart.const({
      __proto__: T$0._CustomEventStreamProviderOfTransitionEventL().prototype,
      [S$._CustomEventStreamProvider__eventTypeGetter]: C[230] || CT.C230
    });
  },
  get C231() {
    return C[231] = dart.constList(["HEAD", "AREA", "BASE", "BASEFONT", "BR", "COL", "COLGROUP", "EMBED", "FRAME", "FRAMESET", "HR", "IMAGE", "IMG", "INPUT", "ISINDEX", "LINK", "META", "PARAM", "SOURCE", "STYLE", "TITLE", "WBR"], T$.StringL());
  },
  get C232() {
    return C[232] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "beforecopy"
    });
  },
  get C233() {
    return C[233] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "beforecut"
    });
  },
  get C234() {
    return C[234] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "beforepaste"
    });
  },
  get C235() {
    return C[235] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "blur"
    });
  },
  get C236() {
    return C[236] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "canplay"
    });
  },
  get C237() {
    return C[237] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "canplaythrough"
    });
  },
  get C238() {
    return C[238] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "change"
    });
  },
  get C239() {
    return C[239] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "click"
    });
  },
  get C240() {
    return C[240] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "contextmenu"
    });
  },
  get C241() {
    return C[241] = dart.const({
      __proto__: T$0.EventStreamProviderOfClipboardEventL().prototype,
      [S.EventStreamProvider__eventType]: "copy"
    });
  },
  get C242() {
    return C[242] = dart.const({
      __proto__: T$0.EventStreamProviderOfClipboardEventL().prototype,
      [S.EventStreamProvider__eventType]: "cut"
    });
  },
  get C243() {
    return C[243] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "dblclick"
    });
  },
  get C244() {
    return C[244] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "drag"
    });
  },
  get C245() {
    return C[245] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "dragend"
    });
  },
  get C246() {
    return C[246] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "dragenter"
    });
  },
  get C247() {
    return C[247] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "dragleave"
    });
  },
  get C248() {
    return C[248] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "dragover"
    });
  },
  get C249() {
    return C[249] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "dragstart"
    });
  },
  get C250() {
    return C[250] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "drop"
    });
  },
  get C251() {
    return C[251] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "durationchange"
    });
  },
  get C252() {
    return C[252] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "emptied"
    });
  },
  get C253() {
    return C[253] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "ended"
    });
  },
  get C254() {
    return C[254] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "focus"
    });
  },
  get C255() {
    return C[255] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "input"
    });
  },
  get C256() {
    return C[256] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "invalid"
    });
  },
  get C257() {
    return C[257] = dart.const({
      __proto__: T$0.EventStreamProviderOfKeyboardEventL().prototype,
      [S.EventStreamProvider__eventType]: "keydown"
    });
  },
  get C258() {
    return C[258] = dart.const({
      __proto__: T$0.EventStreamProviderOfKeyboardEventL().prototype,
      [S.EventStreamProvider__eventType]: "keypress"
    });
  },
  get C259() {
    return C[259] = dart.const({
      __proto__: T$0.EventStreamProviderOfKeyboardEventL().prototype,
      [S.EventStreamProvider__eventType]: "keyup"
    });
  },
  get C260() {
    return C[260] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "load"
    });
  },
  get C261() {
    return C[261] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "loadeddata"
    });
  },
  get C262() {
    return C[262] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "loadedmetadata"
    });
  },
  get C263() {
    return C[263] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "mousedown"
    });
  },
  get C264() {
    return C[264] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "mouseenter"
    });
  },
  get C265() {
    return C[265] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "mouseleave"
    });
  },
  get C266() {
    return C[266] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "mousemove"
    });
  },
  get C267() {
    return C[267] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "mouseout"
    });
  },
  get C268() {
    return C[268] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "mouseover"
    });
  },
  get C269() {
    return C[269] = dart.const({
      __proto__: T$0.EventStreamProviderOfMouseEventL().prototype,
      [S.EventStreamProvider__eventType]: "mouseup"
    });
  },
  get C270() {
    return C[270] = dart.const({
      __proto__: T$0.EventStreamProviderOfClipboardEventL().prototype,
      [S.EventStreamProvider__eventType]: "paste"
    });
  },
  get C271() {
    return C[271] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "pause"
    });
  },
  get C272() {
    return C[272] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "play"
    });
  },
  get C273() {
    return C[273] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "playing"
    });
  },
  get C274() {
    return C[274] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "ratechange"
    });
  },
  get C275() {
    return C[275] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "reset"
    });
  },
  get C276() {
    return C[276] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "resize"
    });
  },
  get C277() {
    return C[277] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "scroll"
    });
  },
  get C278() {
    return C[278] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "search"
    });
  },
  get C279() {
    return C[279] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "seeked"
    });
  },
  get C280() {
    return C[280] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "seeking"
    });
  },
  get C281() {
    return C[281] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "select"
    });
  },
  get C282() {
    return C[282] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "selectstart"
    });
  },
  get C283() {
    return C[283] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "stalled"
    });
  },
  get C284() {
    return C[284] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "submit"
    });
  },
  get C285() {
    return C[285] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "suspend"
    });
  },
  get C286() {
    return C[286] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "timeupdate"
    });
  },
  get C287() {
    return C[287] = dart.const({
      __proto__: T$0.EventStreamProviderOfTouchEventL().prototype,
      [S.EventStreamProvider__eventType]: "touchcancel"
    });
  },
  get C288() {
    return C[288] = dart.const({
      __proto__: T$0.EventStreamProviderOfTouchEventL().prototype,
      [S.EventStreamProvider__eventType]: "touchend"
    });
  },
  get C289() {
    return C[289] = dart.const({
      __proto__: T$0.EventStreamProviderOfTouchEventL().prototype,
      [S.EventStreamProvider__eventType]: "touchenter"
    });
  },
  get C290() {
    return C[290] = dart.const({
      __proto__: T$0.EventStreamProviderOfTouchEventL().prototype,
      [S.EventStreamProvider__eventType]: "touchleave"
    });
  },
  get C291() {
    return C[291] = dart.const({
      __proto__: T$0.EventStreamProviderOfTouchEventL().prototype,
      [S.EventStreamProvider__eventType]: "touchmove"
    });
  },
  get C292() {
    return C[292] = dart.const({
      __proto__: T$0.EventStreamProviderOfTouchEventL().prototype,
      [S.EventStreamProvider__eventType]: "touchstart"
    });
  },
  get C293() {
    return C[293] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "volumechange"
    });
  },
  get C294() {
    return C[294] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "waiting"
    });
  },
  get C295() {
    return C[295] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "webkitfullscreenchange"
    });
  },
  get C296() {
    return C[296] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "webkitfullscreenerror"
    });
  },
  get C297() {
    return C[297] = dart.const({
      __proto__: T$0.EventStreamProviderOfWheelEventL().prototype,
      [S.EventStreamProvider__eventType]: "wheel"
    });
  },
  get C298() {
    return C[298] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "accessibleclick"
    });
  },
  get C299() {
    return C[299] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "accessiblecontextmenu"
    });
  },
  get C300() {
    return C[300] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "accessibledecrement"
    });
  },
  get C301() {
    return C[301] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "accessiblefocus"
    });
  },
  get C302() {
    return C[302] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "accessibleincrement"
    });
  },
  get C303() {
    return C[303] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "accessiblescrollintoview"
    });
  },
  get C304() {
    return C[304] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "cancel"
    });
  },
  get C305() {
    return C[305] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "finish"
    });
  },
  get C306() {
    return C[306] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "cached"
    });
  },
  get C307() {
    return C[307] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "checking"
    });
  },
  get C308() {
    return C[308] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "downloading"
    });
  },
  get C309() {
    return C[309] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "noupdate"
    });
  },
  get C310() {
    return C[310] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "obsolete"
    });
  },
  get C311() {
    return C[311] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "progress"
    });
  },
  get C312() {
    return C[312] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "updateready"
    });
  },
  get C313() {
    return C[313] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "hashchange"
    });
  },
  get C314() {
    return C[314] = dart.const({
      __proto__: T$0.EventStreamProviderOfMessageEventL().prototype,
      [S.EventStreamProvider__eventType]: "message"
    });
  },
  get C315() {
    return C[315] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "offline"
    });
  },
  get C316() {
    return C[316] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "online"
    });
  },
  get C317() {
    return C[317] = dart.const({
      __proto__: T$0.EventStreamProviderOfPopStateEventL().prototype,
      [S.EventStreamProvider__eventType]: "popstate"
    });
  },
  get C318() {
    return C[318] = dart.const({
      __proto__: T$0.EventStreamProviderOfStorageEventL().prototype,
      [S.EventStreamProvider__eventType]: "storage"
    });
  },
  get C319() {
    return C[319] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "unload"
    });
  },
  get C320() {
    return C[320] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "mute"
    });
  },
  get C321() {
    return C[321] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "unmute"
    });
  },
  get C322() {
    return C[322] = dart.const({
      __proto__: T$0.EventStreamProviderOfContextEventL().prototype,
      [S.EventStreamProvider__eventType]: "webglcontextlost"
    });
  },
  get C323() {
    return C[323] = dart.const({
      __proto__: T$0.EventStreamProviderOfContextEventL().prototype,
      [S.EventStreamProvider__eventType]: "webglcontextrestored"
    });
  },
  get C324() {
    return C[324] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "pointerlockchange"
    });
  },
  get C325() {
    return C[325] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "pointerlockerror"
    });
  },
  get C326() {
    return C[326] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "readystatechange"
    });
  },
  get C327() {
    return C[327] = dart.const({
      __proto__: T$0.EventStreamProviderOfSecurityPolicyViolationEventL().prototype,
      [S.EventStreamProvider__eventType]: "securitypolicyviolation"
    });
  },
  get C328() {
    return C[328] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "selectionchange"
    });
  },
  get C329() {
    return C[329] = dart.const({
      __proto__: html$.ScrollAlignment.prototype,
      [S$1._value$6]: "TOP"
    });
  },
  get C330() {
    return C[330] = dart.const({
      __proto__: html$.ScrollAlignment.prototype,
      [S$1._value$6]: "CENTER"
    });
  },
  get C331() {
    return C[331] = dart.const({
      __proto__: html$.ScrollAlignment.prototype,
      [S$1._value$6]: "BOTTOM"
    });
  },
  get C332() {
    return C[332] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "open"
    });
  },
  get C333() {
    return C[333] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "abort"
    });
  },
  get C334() {
    return C[334] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "error"
    });
  },
  get C335() {
    return C[335] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "load"
    });
  },
  get C336() {
    return C[336] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "loadend"
    });
  },
  get C337() {
    return C[337] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "loadstart"
    });
  },
  get C338() {
    return C[338] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "write"
    });
  },
  get C339() {
    return C[339] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "writeend"
    });
  },
  get C340() {
    return C[340] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "writestart"
    });
  },
  get C341() {
    return C[341] = dart.const({
      __proto__: T$0.EventStreamProviderOfFontFaceSetLoadEventL().prototype,
      [S.EventStreamProvider__eventType]: "loading"
    });
  },
  get C342() {
    return C[342] = dart.const({
      __proto__: T$0.EventStreamProviderOfFontFaceSetLoadEventL().prototype,
      [S.EventStreamProvider__eventType]: "loadingdone"
    });
  },
  get C343() {
    return C[343] = dart.const({
      __proto__: T$0.EventStreamProviderOfFontFaceSetLoadEventL().prototype,
      [S.EventStreamProvider__eventType]: "loadingerror"
    });
  },
  get C344() {
    return C[344] = dart.const({
      __proto__: T$0.EventStreamProviderOfWheelEventL().prototype,
      [S.EventStreamProvider__eventType]: "mousewheel"
    });
  },
  get C346() {
    return C[346] = dart.fn(html$.HtmlDocument._determineVisibilityChangeEventType, T$0.EventTargetToString());
  },
  get C345() {
    return C[345] = dart.const({
      __proto__: T$0._CustomEventStreamProviderOfEventL().prototype,
      [S$._CustomEventStreamProvider__eventTypeGetter]: C[346] || CT.C346
    });
  },
  get C347() {
    return C[347] = dart.const({
      __proto__: T$0.EventStreamProviderOfProgressEventL().prototype,
      [S.EventStreamProvider__eventType]: "timeout"
    });
  },
  get C348() {
    return C[348] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "addtrack"
    });
  },
  get C349() {
    return C[349] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "removetrack"
    });
  },
  get C350() {
    return C[350] = dart.constList([], T$0.MessagePortL());
  },
  get C351() {
    return C[351] = dart.const({
      __proto__: T$0.EventStreamProviderOfMidiMessageEventL().prototype,
      [S.EventStreamProvider__eventType]: "midimessage"
    });
  },
  get C352() {
    return C[352] = dart.constMap(T$.StringL(), T$0.boolL(), ["childList", true, "attributes", true, "characterData", true, "subtree", true, "attributeOldValue", true, "characterDataOldValue", true]);
  },
  get C353() {
    return C[353] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "click"
    });
  },
  get C354() {
    return C[354] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "show"
    });
  },
  get C355() {
    return C[355] = dart.const({
      __proto__: T$0.EventStreamProviderOfRtcDtmfToneChangeEventL().prototype,
      [S.EventStreamProvider__eventType]: "tonechange"
    });
  },
  get C356() {
    return C[356] = dart.const({
      __proto__: T$0.EventStreamProviderOfMediaStreamEventL().prototype,
      [S.EventStreamProvider__eventType]: "addstream"
    });
  },
  get C357() {
    return C[357] = dart.const({
      __proto__: T$0.EventStreamProviderOfRtcDataChannelEventL().prototype,
      [S.EventStreamProvider__eventType]: "datachannel"
    });
  },
  get C358() {
    return C[358] = dart.const({
      __proto__: T$0.EventStreamProviderOfRtcPeerConnectionIceEventL().prototype,
      [S.EventStreamProvider__eventType]: "icecandidate"
    });
  },
  get C359() {
    return C[359] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "iceconnectionstatechange"
    });
  },
  get C360() {
    return C[360] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "negotiationneeded"
    });
  },
  get C361() {
    return C[361] = dart.const({
      __proto__: T$0.EventStreamProviderOfMediaStreamEventL().prototype,
      [S.EventStreamProvider__eventType]: "removestream"
    });
  },
  get C362() {
    return C[362] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "signalingstatechange"
    });
  },
  get C363() {
    return C[363] = dart.const({
      __proto__: T$0.EventStreamProviderOfRtcTrackEventL().prototype,
      [S.EventStreamProvider__eventType]: "track"
    });
  },
  get C364() {
    return C[364] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "activate"
    });
  },
  get C365() {
    return C[365] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "fetch"
    });
  },
  get C366() {
    return C[366] = dart.const({
      __proto__: T$0.EventStreamProviderOfForeignFetchEventL().prototype,
      [S.EventStreamProvider__eventType]: "foreignfetch"
    });
  },
  get C367() {
    return C[367] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "install"
    });
  },
  get C368() {
    return C[368] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "connect"
    });
  },
  get C369() {
    return C[369] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "audioend"
    });
  },
  get C370() {
    return C[370] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "audiostart"
    });
  },
  get C371() {
    return C[371] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "end"
    });
  },
  get C372() {
    return C[372] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechRecognitionErrorL().prototype,
      [S.EventStreamProvider__eventType]: "error"
    });
  },
  get C373() {
    return C[373] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechRecognitionEventL().prototype,
      [S.EventStreamProvider__eventType]: "nomatch"
    });
  },
  get C374() {
    return C[374] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechRecognitionEventL().prototype,
      [S.EventStreamProvider__eventType]: "result"
    });
  },
  get C375() {
    return C[375] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "soundend"
    });
  },
  get C376() {
    return C[376] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "soundstart"
    });
  },
  get C377() {
    return C[377] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "speechend"
    });
  },
  get C378() {
    return C[378] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "speechstart"
    });
  },
  get C379() {
    return C[379] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "start"
    });
  },
  get C380() {
    return C[380] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechSynthesisEventL().prototype,
      [S.EventStreamProvider__eventType]: "boundary"
    });
  },
  get C381() {
    return C[381] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechSynthesisEventL().prototype,
      [S.EventStreamProvider__eventType]: "end"
    });
  },
  get C382() {
    return C[382] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechSynthesisEventL().prototype,
      [S.EventStreamProvider__eventType]: "mark"
    });
  },
  get C383() {
    return C[383] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechSynthesisEventL().prototype,
      [S.EventStreamProvider__eventType]: "resume"
    });
  },
  get C384() {
    return C[384] = dart.const({
      __proto__: T$0.EventStreamProviderOfSpeechSynthesisEventL().prototype,
      [S.EventStreamProvider__eventType]: "start"
    });
  },
  get C385() {
    return C[385] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "cuechange"
    });
  },
  get C386() {
    return C[386] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "enter"
    });
  },
  get C387() {
    return C[387] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "exit"
    });
  },
  get C388() {
    return C[388] = dart.const({
      __proto__: T$0.EventStreamProviderOfTrackEventL().prototype,
      [S.EventStreamProvider__eventType]: "addtrack"
    });
  },
  get C389() {
    return C[389] = dart.const({
      __proto__: T$0.EventStreamProviderOfCloseEventL().prototype,
      [S.EventStreamProvider__eventType]: "close"
    });
  },
  get C390() {
    return C[390] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "DOMContentLoaded"
    });
  },
  get C391() {
    return C[391] = dart.const({
      __proto__: T$0.EventStreamProviderOfDeviceMotionEventL().prototype,
      [S.EventStreamProvider__eventType]: "devicemotion"
    });
  },
  get C392() {
    return C[392] = dart.const({
      __proto__: T$0.EventStreamProviderOfDeviceOrientationEventL().prototype,
      [S.EventStreamProvider__eventType]: "deviceorientation"
    });
  },
  get C393() {
    return C[393] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "loadstart"
    });
  },
  get C394() {
    return C[394] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "pagehide"
    });
  },
  get C395() {
    return C[395] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "pageshow"
    });
  },
  get C396() {
    return C[396] = dart.const({
      __proto__: T$0.EventStreamProviderOfEventL().prototype,
      [S.EventStreamProvider__eventType]: "progress"
    });
  },
  get C397() {
    return C[397] = dart.const({
      __proto__: T$0.EventStreamProviderOfAnimationEventL().prototype,
      [S.EventStreamProvider__eventType]: "webkitAnimationEnd"
    });
  },
  get C398() {
    return C[398] = dart.const({
      __proto__: T$0.EventStreamProviderOfAnimationEventL().prototype,
      [S.EventStreamProvider__eventType]: "webkitAnimationIteration"
    });
  },
  get C399() {
    return C[399] = dart.const({
      __proto__: T$0.EventStreamProviderOfAnimationEventL().prototype,
      [S.EventStreamProvider__eventType]: "webkitAnimationStart"
    });
  },
  get C400() {
    return C[400] = dart.const({
      __proto__: html$._BeforeUnloadEventStreamProvider.prototype,
      [S$3._BeforeUnloadEventStreamProvider__eventType]: "beforeunload"
    });
  },
  get C401() {
    return C[401] = dart.fn(html$._Html5NodeValidator._standardAttributeValidator, T$0.ElementAndStringAndString__Tobool());
  },
  get C402() {
    return C[402] = dart.fn(html$._Html5NodeValidator._uriAttributeValidator, T$0.ElementAndStringAndString__Tobool());
  },
  get C403() {
    return C[403] = dart.constList(["*::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"], T$.StringL());
  },
  get C404() {
    return C[404] = dart.constList(["A::href", "AREA::href", "BLOCKQUOTE::cite", "BODY::background", "COMMAND::icon", "DEL::cite", "FORM::action", "IMG::src", "INPUT::src", "INS::cite", "Q::cite", "VIDEO::poster"], T$.StringL());
  },
  get C405() {
    return C[405] = dart.constMap(T$.StringL(), T$0.intL(), ["Up", 38, "Down", 40, "Left", 37, "Right", 39, "Enter", 13, "F1", 112, "F2", 113, "F3", 114, "F4", 115, "F5", 116, "F6", 117, "F7", 118, "F8", 119, "F9", 120, "F10", 121, "F11", 122, "F12", 123, "U+007F", 46, "Home", 36, "End", 35, "PageUp", 33, "PageDown", 34, "Insert", 45]);
  },
  get C406() {
    return C[406] = dart.constList([], T$.StringL());
  },
  get C407() {
    return C[407] = dart.constList(["A", "FORM"], T$.StringL());
  },
  get C408() {
    return C[408] = dart.constList(["A::accesskey", "A::coords", "A::hreflang", "A::name", "A::shape", "A::tabindex", "A::target", "A::type", "FORM::accept", "FORM::autocomplete", "FORM::enctype", "FORM::method", "FORM::name", "FORM::novalidate", "FORM::target"], T$.StringL());
  },
  get C409() {
    return C[409] = dart.constList(["A::href", "FORM::action"], T$.StringL());
  },
  get C410() {
    return C[410] = dart.constList(["IMG"], T$.StringL());
  },
  get C411() {
    return C[411] = dart.constList(["IMG::align", "IMG::alt", "IMG::border", "IMG::height", "IMG::hspace", "IMG::ismap", "IMG::name", "IMG::usemap", "IMG::vspace", "IMG::width"], T$.StringL());
  },
  get C412() {
    return C[412] = dart.constList(["IMG::src"], T$.StringL());
  },
  get C413() {
    return C[413] = dart.constList(["B", "BLOCKQUOTE", "BR", "EM", "H1", "H2", "H3", "H4", "H5", "H6", "HR", "I", "LI", "OL", "P", "SPAN", "UL"], T$.StringL());
  },
  get C414() {
    return C[414] = dart.constList(["bind", "if", "ref", "repeat", "syntax"], T$.StringL());
  },
  get C415() {
    return C[415] = dart.const({
      __proto__: html$.Console.prototype
    });
  },
  get C416() {
    return C[416] = dart.const({
      __proto__: html$._TrustedHtmlTreeSanitizer.prototype
    });
  },
  get C417() {
    return C[417] = dart.fn(html_common.convertNativeToDart_Dictionary, T$0.dynamicToMapNOfString$dynamic());
  },
  get C418() {
    return C[418] = dart.const({
      __proto__: _js_helper.Creates.prototype,
      [types$0]: "num|String|bool|JSExtendableArray|=Object|Blob|File|NativeByteBuffer|NativeTypedData|MessagePort"
    });
  },
  get C419() {
    return C[419] = dart.const({
      __proto__: _js_helper.Returns.prototype,
      [types$1]: "num|String|bool|JSExtendableArray|=Object|Blob|File|NativeByteBuffer|NativeTypedData|MessagePort"
    });
  },
  get C420() {
    return C[420] = dart.const({
      __proto__: T$0.EventStreamProviderOfAudioProcessingEventL().prototype,
      [S.EventStreamProvider__eventType]: "audioprocess"
    });
  },
  get C421() {
    return C[421] = dart.const({
      __proto__: core.IntegerDivisionByZeroException.prototype
    });
  },
  get C422() {
    return C[422] = dart.const({
      __proto__: core.Duration.prototype,
      [_duration$]: 0
    });
  },
  get C423() {
    return C[423] = dart.constList([], T$.ObjectN());
  },
  get C424() {
    return C[424] = dart.constMap(T$.SymbolL(), T$.ObjectN(), []);
  },
  get C425() {
    return C[425] = dart.constList([], T$.ObjectL());
  },
  get C426() {
    return C[426] = dart.constMap(T$.SymbolL(), T$.ObjectL(), []);
  },
  get C427() {
    return C[427] = dart.fn(core._GeneratorIterable._id, T$0.intToint());
  },
  get C428() {
    return C[428] = dart.const({
      __proto__: core._StringStackTrace.prototype,
      [_StringStackTrace__stackTrace]: ""
    });
  },
  get C429() {
    return C[429] = dart.const(new _internal.Symbol.new('unary-'));
  },
  get C430() {
    return C[430] = dart.const(new _internal.Symbol.new(''));
  },
  get C431() {
    return C[431] = dart.fn(core.Uri.decodeComponent, T$.StringToString());
  },
  get C432() {
    return C[432] = dart.constMap(T$.StringL(), T$0.ListLOfStringL(), []);
  },
  get C433() {
    return C[433] = dart.fn(core._toUnmodifiableStringList, T$0.StringAndListOfStringToListOfString());
  },
  get C434() {
    return C[434] = dart.fn(core._Uri._createList, T$0.VoidToListOfString());
  },
  get C435() {
    return C[435] = dart.constList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431], T$0.intL());
  },
  get C436() {
    return C[436] = dart.constList([0, 0, 26498, 1023, 65534, 34815, 65534, 18431], T$0.intL());
  },
  get C437() {
    return C[437] = dart.constList([0, 0, 65498, 45055, 65535, 34815, 65534, 18431], T$0.intL());
  },
  get C438() {
    return C[438] = dart.constList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047], T$0.intL());
  },
  get C439() {
    return C[439] = dart.constList([0, 0, 32776, 33792, 1, 10240, 0, 0], T$0.intL());
  },
  get C440() {
    return C[440] = dart.constList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431], T$0.intL());
  },
  get C441() {
    return C[441] = dart.constList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431], T$0.intL());
  },
  get C442() {
    return C[442] = dart.constList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431], T$0.intL());
  },
  get C443() {
    return C[443] = dart.constList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431], T$0.intL());
  },
  get C444() {
    return C[444] = dart.constList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431], T$0.intL());
  },
  get C445() {
    return C[445] = dart.constList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767], T$0.intL());
  },
  get C446() {
    return C[446] = dart.constMap(T$.StringL(), T$.StringL(), []);
  },
  get C447() {
    return C[447] = dart.const({
      __proto__: core.Deprecated.prototype,
      [message$11]: "next release"
    });
  },
  get C448() {
    return C[448] = dart.const({
      __proto__: core._Override.prototype
    });
  },
  get C449() {
    return C[449] = dart.const({
      __proto__: core.Duration.prototype,
      [_duration$]: 120000000
    });
  },
  get C450() {
    return C[450] = dart.constList(["cache-control", "connection", "date", "pragma", "trailer", "transfer-encoding", "upgrade", "via", "warning"], T$.StringL());
  },
  get C451() {
    return C[451] = dart.constList(["allow", "content-encoding", "content-language", "content-length", "content-location", "content-md5", "content-range", "content-type", "expires", "last-modified"], T$.StringL());
  },
  get C452() {
    return C[452] = dart.constList(["accept-ranges", "age", "etag", "location", "proxy-authenticate", "retry-after", "server", "vary", "www-authenticate"], T$.StringL());
  },
  get C453() {
    return C[453] = dart.constList(["accept", "accept-charset", "accept-encoding", "accept-language", "authorization", "expect", "from", "host", "if-match", "if-modified-since", "if-none-match", "if-range", "if-unmodified-since", "max-forwards", "proxy-authorization", "range", "referer", "te", "user-agent"], T$.StringL());
  },
  get C454() {
    return C[454] = dart.constMap(T$.StringL(), T$.StringN(), []);
  },
  get C455() {
    return C[455] = dart.const({
      __proto__: core.Duration.prototype,
      [_duration$]: 15000000
    });
  },
  get C456() {
    return C[456] = dart.const({
      __proto__: _http.HttpClientResponseCompressionState.prototype,
      [_name$7]: "HttpClientResponseCompressionState.notCompressed",
      index: 0
    });
  },
  get C457() {
    return C[457] = dart.const({
      __proto__: _http.HttpClientResponseCompressionState.prototype,
      [_name$7]: "HttpClientResponseCompressionState.decompressed",
      index: 1
    });
  },
  get C458() {
    return C[458] = dart.const({
      __proto__: _http.HttpClientResponseCompressionState.prototype,
      [_name$7]: "HttpClientResponseCompressionState.compressed",
      index: 2
    });
  },
  get C459() {
    return C[459] = dart.constList([C[456] || CT.C456, C[457] || CT.C457, C[458] || CT.C458], T$0.HttpClientResponseCompressionStateL());
  },
  get C460() {
    return C[460] = dart.constList([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, 0, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2], T$0.intL());
  },
  get C461() {
    return C[461] = dart.constList([3614090360.0, 3905402710.0, 606105819, 3250441966.0, 4118548399.0, 1200080426, 2821735955.0, 4249261313.0, 1770035416, 2336552879.0, 4294925233.0, 2304563134.0, 1804603682, 4254626195.0, 2792965006.0, 1236535329, 4129170786.0, 3225465664.0, 643717713, 3921069994.0, 3593408605.0, 38016083, 3634488961.0, 3889429448.0, 568446438, 3275163606.0, 4107603335.0, 1163531501, 2850285829.0, 4243563512.0, 1735328473, 2368359562.0, 4294588738.0, 2272392833.0, 1839030562, 4259657740.0, 2763975236.0, 1272893353, 4139469664.0, 3200236656.0, 681279174, 3936430074.0, 3572445317.0, 76029189, 3654602809.0, 3873151461.0, 530742520, 3299628645.0, 4096336452.0, 1126891415, 2878612391.0, 4237533241.0, 1700485571, 2399980690.0, 4293915773.0, 2240044497.0, 1873313359, 4264355552.0, 2734768916.0, 1309151649, 4149444226.0, 3174756917.0, 718787259, 3951481745.0], T$0.intL());
  },
  get C462() {
    return C[462] = dart.constList([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21], T$0.intL());
  },
  get C463() {
    return C[463] = dart.constList(["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], dart.dynamic);
  },
  get C464() {
    return C[464] = dart.constList(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dart.dynamic);
  },
  get C465() {
    return C[465] = dart.constList(["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], dart.dynamic);
  },
  get C466() {
    return C[466] = dart.constList(["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"], dart.dynamic);
  },
  get C467() {
    return C[467] = dart.constList(["(", ")", "<", ">", "@", ",", ";", ":", "\\", "\"", "/", "[", "]", "?", "=", "{", "}"], T$.StringL());
  },
  get C468() {
    return C[468] = dart.const({
      __proto__: _http._ToUint8List.prototype
    });
  },
  get C469() {
    return C[469] = dart.const(new _js_helper.PrivateSymbol.new('_#IOSink#encoding#isSet', __IOSink_encoding_isSet$));
  },
  get C470() {
    return C[470] = dart.const(new _js_helper.PrivateSymbol.new('_#IOSink#encoding', __IOSink_encoding$));
  },
  get C471() {
    return C[471] = dart.const(new _js_helper.PrivateSymbol.new('_#IOSink#encoding#isSet=', __IOSink_encoding_isSet_));
  },
  get C472() {
    return C[472] = dart.const(new _js_helper.PrivateSymbol.new('_#IOSink#encoding=', __IOSink_encoding_));
  },
  get C473() {
    return C[473] = dart.constList([48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70], T$0.intL());
  },
  get C474() {
    return C[474] = dart.constList([13, 10, 48, 13, 10, 13, 10], T$0.intL());
  },
  get C475() {
    return C[475] = dart.constList([48, 13, 10, 13, 10], T$0.intL());
  },
  get C476() {
    return C[476] = dart.fn(_http.HttpClient.findProxyFromEnvironment, T.Uri__ToString());
  },
  get C479() {
    return C[479] = dart.const({
      __proto__: _http._Proxy.prototype,
      [_Proxy_isDirect]: true,
      [_Proxy_password]: null,
      [_Proxy_username]: null,
      [_Proxy_port]: null,
      [_Proxy_host]: null
    });
  },
  get C478() {
    return C[478] = dart.constList([C[479] || CT.C479], T._ProxyL());
  },
  get C477() {
    return C[477] = dart.const({
      __proto__: _http._ProxyConfiguration.prototype,
      [_ProxyConfiguration_proxies]: C[478] || CT.C478
    });
  },
  get C480() {
    return C[480] = dart.const({
      __proto__: _http._AuthenticationScheme.prototype,
      [_scheme$]: -1
    });
  },
  get C481() {
    return C[481] = dart.const({
      __proto__: _http._AuthenticationScheme.prototype,
      [_scheme$]: 0
    });
  },
  get C482() {
    return C[482] = dart.const({
      __proto__: _http._AuthenticationScheme.prototype,
      [_scheme$]: 1
    });
  },
  get C483() {
    return C[483] = dart.constList([72, 84, 84, 80], T$0.intL());
  },
  get C484() {
    return C[484] = dart.constList([72, 84, 84, 80, 47, 49, 46], T$0.intL());
  },
  get C485() {
    return C[485] = dart.constList([72, 84, 84, 80, 47, 49, 46, 48], T$0.intL());
  },
  get C486() {
    return C[486] = dart.constList([72, 84, 84, 80, 47, 49, 46, 49], T$0.intL());
  },
  get C487() {
    return C[487] = dart.constList([false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, false, false, false, false, false, true, true, false, false, true, false, false, true, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], T$0.boolL());
  },
  get C488() {
    return C[488] = dart.const({
      __proto__: _http.CompressionOptions.prototype,
      [enabled$]: true,
      [serverMaxWindowBits$]: null,
      [clientMaxWindowBits$]: null,
      [serverNoContextTakeover$]: false,
      [clientNoContextTakeover$]: false
    });
  },
  get C489() {
    return C[489] = dart.const({
      __proto__: _http.CompressionOptions.prototype,
      [enabled$]: false,
      [serverMaxWindowBits$]: null,
      [clientMaxWindowBits$]: null,
      [serverNoContextTakeover$]: false,
      [clientNoContextTakeover$]: false
    });
  },
  get C490() {
    return C[490] = dart.constList([0, 0, 255, 255], T$0.intL());
  },
  get C491() {
    return C[491] = dart.const({
      __proto__: core.Duration.prototype,
      [_duration$]: 5000000
    });
  }
}, false);
core.Invocation = class Invocation extends core.Object {
  static method(memberName, positionalArguments, namedArguments = null) {
    if (memberName == null) dart.nullFailed(I[11], 20, 18, "memberName");
    return new core._Invocation.method(memberName, null, positionalArguments, namedArguments);
  }
  static genericMethod(memberName, typeArguments, positionalArguments, namedArguments = null) {
    if (memberName == null) dart.nullFailed(I[11], 31, 43, "memberName");
    return new core._Invocation.method(memberName, typeArguments, positionalArguments, namedArguments);
  }
  get typeArguments() {
    return C[1] || CT.C1;
  }
  get isAccessor() {
    return dart.test(this.isGetter) || dart.test(this.isSetter);
  }
};
(core.Invocation.new = function() {
  ;
}).prototype = core.Invocation.prototype;
dart.addTypeTests(core.Invocation);
dart.addTypeCaches(core.Invocation);
dart.setGetterSignature(core.Invocation, () => ({
  __proto__: dart.getGetters(core.Invocation.__proto__),
  typeArguments: core.List$(core.Type),
  isAccessor: core.bool
}));
dart.setLibraryUri(core.Invocation, I[9]);
dart.InvocationImpl = class InvocationImpl extends core.Invocation {
  get memberName() {
    return this[memberName$];
  }
  set memberName(value) {
    super.memberName = value;
  }
  get positionalArguments() {
    return this[positionalArguments$];
  }
  set positionalArguments(value) {
    super.positionalArguments = value;
  }
  get namedArguments() {
    return this[namedArguments$];
  }
  set namedArguments(value) {
    super.namedArguments = value;
  }
  get typeArguments() {
    return this[typeArguments$];
  }
  set typeArguments(value) {
    super.typeArguments = value;
  }
  get isMethod() {
    return this[isMethod$];
  }
  set isMethod(value) {
    super.isMethod = value;
  }
  get isGetter() {
    return this[isGetter$];
  }
  set isGetter(value) {
    super.isGetter = value;
  }
  get isSetter() {
    return this[isSetter$];
  }
  set isSetter(value) {
    super.isSetter = value;
  }
  get failureMessage() {
    return this[failureMessage$];
  }
  set failureMessage(value) {
    super.failureMessage = value;
  }
  static _namedArgsToSymbols(namedArgs) {
    if (namedArgs == null) return const$0 || (const$0 = dart.constMap(T$.SymbolL(), dart.dynamic, []));
    return T$.MapOfSymbol$dynamic().unmodifiable(collection.LinkedHashMap.fromIterable(dart.getOwnPropertyNames(namedArgs), {
      key: dart._dartSymbol,
      value: k => namedArgs[k]
    }));
  }
};
(dart.InvocationImpl.new = function(memberName, positionalArguments, opts) {
  if (positionalArguments == null) dart.nullFailed(I[2], 20, 44, "positionalArguments");
  let namedArguments = opts && 'namedArguments' in opts ? opts.namedArguments : null;
  let typeArguments = opts && 'typeArguments' in opts ? opts.typeArguments : const$ || (const$ = dart.constList([], dart.dynamic));
  if (typeArguments == null) dart.nullFailed(I[2], 22, 12, "typeArguments");
  let isMethod = opts && 'isMethod' in opts ? opts.isMethod : false;
  if (isMethod == null) dart.nullFailed(I[2], 23, 12, "isMethod");
  let isGetter = opts && 'isGetter' in opts ? opts.isGetter : false;
  if (isGetter == null) dart.nullFailed(I[2], 24, 12, "isGetter");
  let isSetter = opts && 'isSetter' in opts ? opts.isSetter : false;
  if (isSetter == null) dart.nullFailed(I[2], 25, 12, "isSetter");
  let failureMessage = opts && 'failureMessage' in opts ? opts.failureMessage : "method not found";
  if (failureMessage == null) dart.nullFailed(I[2], 26, 12, "failureMessage");
  this[isMethod$] = isMethod;
  this[isGetter$] = isGetter;
  this[isSetter$] = isSetter;
  this[failureMessage$] = failureMessage;
  this[memberName$] = dart.test(isSetter) ? dart._setterSymbol(memberName) : dart._dartSymbol(memberName);
  this[positionalArguments$] = core.List.unmodifiable(positionalArguments);
  this[namedArguments$] = dart.InvocationImpl._namedArgsToSymbols(namedArguments);
  this[typeArguments$] = T$.ListOfType().unmodifiable(typeArguments[$map](dart.dynamic, dart.wrapType));
  dart.InvocationImpl.__proto__.new.call(this);
  ;
}).prototype = dart.InvocationImpl.prototype;
dart.addTypeTests(dart.InvocationImpl);
dart.addTypeCaches(dart.InvocationImpl);
dart.setLibraryUri(dart.InvocationImpl, I[10]);
dart.setFieldSignature(dart.InvocationImpl, () => ({
  __proto__: dart.getFields(dart.InvocationImpl.__proto__),
  memberName: dart.finalFieldType(core.Symbol),
  positionalArguments: dart.finalFieldType(core.List),
  namedArguments: dart.finalFieldType(core.Map$(core.Symbol, dart.dynamic)),
  typeArguments: dart.finalFieldType(core.List$(core.Type)),
  isMethod: dart.finalFieldType(core.bool),
  isGetter: dart.finalFieldType(core.bool),
  isSetter: dart.finalFieldType(core.bool),
  failureMessage: dart.finalFieldType(core.String)
}));
var name$0 = dart.privateName(_debugger, "JsonMLConfig.name");
_debugger.JsonMLConfig = class JsonMLConfig extends core.Object {
  get name() {
    return this[name$0];
  }
  set name(value) {
    super.name = value;
  }
  toString() {
    return "JsonMLConfig(" + dart.str(this.name) + ")";
  }
};
(_debugger.JsonMLConfig.new = function(name) {
  if (name == null) dart.nullFailed(I[12], 28, 27, "name");
  this[name$0] = name;
  ;
}).prototype = _debugger.JsonMLConfig.prototype;
dart.addTypeTests(_debugger.JsonMLConfig);
dart.addTypeCaches(_debugger.JsonMLConfig);
dart.setLibraryUri(_debugger.JsonMLConfig, I[13]);
dart.setFieldSignature(_debugger.JsonMLConfig, () => ({
  __proto__: dart.getFields(_debugger.JsonMLConfig.__proto__),
  name: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_debugger.JsonMLConfig, ['toString']);
dart.defineLazy(_debugger.JsonMLConfig, {
  /*_debugger.JsonMLConfig.none*/get none() {
    return C[2] || CT.C2;
  },
  /*_debugger.JsonMLConfig.skipDart*/get skipDart() {
    return C[3] || CT.C3;
  },
  /*_debugger.JsonMLConfig.keyToString*/get keyToString() {
    return C[4] || CT.C4;
  },
  /*_debugger.JsonMLConfig.asClass*/get asClass() {
    return C[5] || CT.C5;
  },
  /*_debugger.JsonMLConfig.asObject*/get asObject() {
    return C[6] || CT.C6;
  },
  /*_debugger.JsonMLConfig.asMap*/get asMap() {
    return C[7] || CT.C7;
  }
}, false);
_debugger.JSNative = class JSNative extends core.Object {
  static getProperty(object, name) {
    return object[name];
  }
  static setProperty(object, name, value) {
    return object[name] = value;
  }
};
(_debugger.JSNative.new = function() {
  ;
}).prototype = _debugger.JSNative.prototype;
dart.addTypeTests(_debugger.JSNative);
dart.addTypeCaches(_debugger.JSNative);
dart.setLibraryUri(_debugger.JSNative, I[13]);
var name$1 = dart.privateName(_debugger, "NameValuePair.name");
var value$ = dart.privateName(_debugger, "NameValuePair.value");
var config$ = dart.privateName(_debugger, "NameValuePair.config");
var hideName$ = dart.privateName(_debugger, "NameValuePair.hideName");
_debugger.NameValuePair = class NameValuePair extends core.Object {
  get name() {
    return this[name$1];
  }
  set name(value) {
    super.name = value;
  }
  get value() {
    return this[value$];
  }
  set value(value) {
    super.value = value;
  }
  get config() {
    return this[config$];
  }
  set config(value) {
    super.config = value;
  }
  get hideName() {
    return this[hideName$];
  }
  set hideName(value) {
    super.hideName = value;
  }
  _equals(other) {
    if (other == null) return false;
    if (!_debugger.NameValuePair.is(other)) return false;
    if (dart.test(this.hideName) || dart.test(other.hideName)) return this === other;
    return other.name == this.name;
  }
  get hashCode() {
    return dart.hashCode(this.name);
  }
  get displayName() {
    return dart.test(this.hideName) ? "" : this.name;
  }
};
(_debugger.NameValuePair.new = function(opts) {
  let name = opts && 'name' in opts ? opts.name : "";
  if (name == null) dart.nullFailed(I[12], 172, 13, "name");
  let value = opts && 'value' in opts ? opts.value : null;
  let config = opts && 'config' in opts ? opts.config : C[2] || CT.C2;
  if (config == null) dart.nullFailed(I[12], 174, 12, "config");
  let hideName = opts && 'hideName' in opts ? opts.hideName : false;
  if (hideName == null) dart.nullFailed(I[12], 175, 12, "hideName");
  this[name$1] = name;
  this[value$] = value;
  this[config$] = config;
  this[hideName$] = hideName;
  ;
}).prototype = _debugger.NameValuePair.prototype;
dart.addTypeTests(_debugger.NameValuePair);
dart.addTypeCaches(_debugger.NameValuePair);
dart.setGetterSignature(_debugger.NameValuePair, () => ({
  __proto__: dart.getGetters(_debugger.NameValuePair.__proto__),
  displayName: core.String
}));
dart.setLibraryUri(_debugger.NameValuePair, I[13]);
dart.setFieldSignature(_debugger.NameValuePair, () => ({
  __proto__: dart.getFields(_debugger.NameValuePair.__proto__),
  name: dart.finalFieldType(core.String),
  value: dart.finalFieldType(dart.nullable(core.Object)),
  config: dart.finalFieldType(_debugger.JsonMLConfig),
  hideName: dart.finalFieldType(core.bool)
}));
dart.defineExtensionMethods(_debugger.NameValuePair, ['_equals']);
dart.defineExtensionAccessors(_debugger.NameValuePair, ['hashCode']);
var key$ = dart.privateName(_debugger, "MapEntry.key");
var value$0 = dart.privateName(_debugger, "MapEntry.value");
_debugger.MapEntry = class MapEntry extends core.Object {
  get key() {
    return this[key$];
  }
  set key(value) {
    super.key = value;
  }
  get value() {
    return this[value$0];
  }
  set value(value) {
    super.value = value;
  }
};
(_debugger.MapEntry.new = function(opts) {
  let key = opts && 'key' in opts ? opts.key : null;
  let value = opts && 'value' in opts ? opts.value : null;
  this[key$] = key;
  this[value$0] = value;
  ;
}).prototype = _debugger.MapEntry.prototype;
dart.addTypeTests(_debugger.MapEntry);
dart.addTypeCaches(_debugger.MapEntry);
dart.setLibraryUri(_debugger.MapEntry, I[13]);
dart.setFieldSignature(_debugger.MapEntry, () => ({
  __proto__: dart.getFields(_debugger.MapEntry.__proto__),
  key: dart.finalFieldType(dart.nullable(core.Object)),
  value: dart.finalFieldType(dart.nullable(core.Object))
}));
var start$ = dart.privateName(_debugger, "IterableSpan.start");
var end$ = dart.privateName(_debugger, "IterableSpan.end");
var iterable$ = dart.privateName(_debugger, "IterableSpan.iterable");
_debugger.IterableSpan = class IterableSpan extends core.Object {
  get start() {
    return this[start$];
  }
  set start(value) {
    super.start = value;
  }
  get end() {
    return this[end$];
  }
  set end(value) {
    super.end = value;
  }
  get iterable() {
    return this[iterable$];
  }
  set iterable(value) {
    super.iterable = value;
  }
  get length() {
    return dart.notNull(this.end) - dart.notNull(this.start);
  }
  get maxPowerOfSubsetSize() {
    return (math.log(dart.notNull(this.length) - 0.5) / math.log(_debugger._maxSpanLength))[$truncate]();
  }
  get subsetSize() {
    return math.pow(_debugger._maxSpanLength, this.maxPowerOfSubsetSize)[$toInt]();
  }
  asMap() {
    return this.iterable[$skip](this.start)[$take](this.length)[$toList]()[$asMap]();
  }
  children() {
    let children = T$.JSArrayOfNameValuePair().of([]);
    if (dart.notNull(this.length) <= dart.notNull(_debugger._maxSpanLength)) {
      this.asMap()[$forEach](dart.fn((i, element) => {
        if (i == null) dart.nullFailed(I[12], 225, 24, "i");
        children[$add](new _debugger.NameValuePair.new({name: (dart.notNull(i) + dart.notNull(this.start))[$toString](), value: element}));
      }, T$.intAnddynamicTovoid()));
    } else {
      for (let i = this.start; dart.notNull(i) < dart.notNull(this.end); i = dart.notNull(i) + dart.notNull(this.subsetSize)) {
        let subSpan = new _debugger.IterableSpan.new(i, math.min(core.int, this.end, dart.notNull(this.subsetSize) + dart.notNull(i)), this.iterable);
        if (subSpan.length === 1) {
          children[$add](new _debugger.NameValuePair.new({name: dart.toString(i), value: this.iterable[$elementAt](i)}));
        } else {
          children[$add](new _debugger.NameValuePair.new({name: "[" + dart.str(i) + "..." + dart.str(dart.notNull(subSpan.end) - 1) + "]", value: subSpan, hideName: true}));
        }
      }
    }
    return children;
  }
};
(_debugger.IterableSpan.new = function(start, end, iterable) {
  if (start == null) dart.nullFailed(I[12], 203, 21, "start");
  if (end == null) dart.nullFailed(I[12], 203, 33, "end");
  if (iterable == null) dart.nullFailed(I[12], 203, 43, "iterable");
  this[start$] = start;
  this[end$] = end;
  this[iterable$] = iterable;
  ;
}).prototype = _debugger.IterableSpan.prototype;
dart.addTypeTests(_debugger.IterableSpan);
dart.addTypeCaches(_debugger.IterableSpan);
dart.setMethodSignature(_debugger.IterableSpan, () => ({
  __proto__: dart.getMethods(_debugger.IterableSpan.__proto__),
  asMap: dart.fnType(core.Map$(core.int, dart.dynamic), []),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [])
}));
dart.setGetterSignature(_debugger.IterableSpan, () => ({
  __proto__: dart.getGetters(_debugger.IterableSpan.__proto__),
  length: core.int,
  maxPowerOfSubsetSize: core.int,
  subsetSize: core.int
}));
dart.setLibraryUri(_debugger.IterableSpan, I[13]);
dart.setFieldSignature(_debugger.IterableSpan, () => ({
  __proto__: dart.getFields(_debugger.IterableSpan.__proto__),
  start: dart.finalFieldType(core.int),
  end: dart.finalFieldType(core.int),
  iterable: dart.finalFieldType(core.Iterable)
}));
var name$2 = dart.privateName(_debugger, "Library.name");
var object$ = dart.privateName(_debugger, "Library.object");
_debugger.Library = class Library extends core.Object {
  get name() {
    return this[name$2];
  }
  set name(value) {
    super.name = value;
  }
  get object() {
    return this[object$];
  }
  set object(value) {
    super.object = value;
  }
};
(_debugger.Library.new = function(name, object) {
  if (name == null) dart.nullFailed(I[12], 248, 16, "name");
  if (object == null) dart.nullFailed(I[12], 248, 27, "object");
  this[name$2] = name;
  this[object$] = object;
  ;
}).prototype = _debugger.Library.prototype;
dart.addTypeTests(_debugger.Library);
dart.addTypeCaches(_debugger.Library);
dart.setLibraryUri(_debugger.Library, I[13]);
dart.setFieldSignature(_debugger.Library, () => ({
  __proto__: dart.getFields(_debugger.Library.__proto__),
  name: dart.finalFieldType(core.String),
  object: dart.finalFieldType(core.Object)
}));
var object$0 = dart.privateName(_debugger, "NamedConstructor.object");
_debugger.NamedConstructor = class NamedConstructor extends core.Object {
  get object() {
    return this[object$0];
  }
  set object(value) {
    super.object = value;
  }
};
(_debugger.NamedConstructor.new = function(object) {
  if (object == null) dart.nullFailed(I[12], 255, 25, "object");
  this[object$0] = object;
  ;
}).prototype = _debugger.NamedConstructor.prototype;
dart.addTypeTests(_debugger.NamedConstructor);
dart.addTypeCaches(_debugger.NamedConstructor);
dart.setLibraryUri(_debugger.NamedConstructor, I[13]);
dart.setFieldSignature(_debugger.NamedConstructor, () => ({
  __proto__: dart.getFields(_debugger.NamedConstructor.__proto__),
  object: dart.finalFieldType(core.Object)
}));
var name$3 = dart.privateName(_debugger, "HeritageClause.name");
var types$ = dart.privateName(_debugger, "HeritageClause.types");
_debugger.HeritageClause = class HeritageClause extends core.Object {
  get name() {
    return this[name$3];
  }
  set name(value) {
    super.name = value;
  }
  get types() {
    return this[types$];
  }
  set types(value) {
    super.types = value;
  }
};
(_debugger.HeritageClause.new = function(name, types) {
  if (name == null) dart.nullFailed(I[12], 261, 23, "name");
  if (types == null) dart.nullFailed(I[12], 261, 34, "types");
  this[name$3] = name;
  this[types$] = types;
  ;
}).prototype = _debugger.HeritageClause.prototype;
dart.addTypeTests(_debugger.HeritageClause);
dart.addTypeCaches(_debugger.HeritageClause);
dart.setLibraryUri(_debugger.HeritageClause, I[13]);
dart.setFieldSignature(_debugger.HeritageClause, () => ({
  __proto__: dart.getFields(_debugger.HeritageClause.__proto__),
  name: dart.finalFieldType(core.String),
  types: dart.finalFieldType(core.List)
}));
var _attributes = dart.privateName(_debugger, "_attributes");
var __JsonMLElement__jsonML = dart.privateName(_debugger, "_#JsonMLElement#_jsonML");
var __JsonMLElement__jsonML_isSet = dart.privateName(_debugger, "_#JsonMLElement#_jsonML#isSet");
var _jsonML = dart.privateName(_debugger, "_jsonML");
_debugger.JsonMLElement = class JsonMLElement extends core.Object {
  get [_jsonML]() {
    let t7;
    return dart.test(this[__JsonMLElement__jsonML_isSet]) ? (t7 = this[__JsonMLElement__jsonML], t7) : dart.throw(new _internal.LateError.fieldNI("_jsonML"));
  }
  set [_jsonML](t7) {
    if (t7 == null) dart.nullFailed(I[12], 285, 13, "null");
    this[__JsonMLElement__jsonML_isSet] = true;
    this[__JsonMLElement__jsonML] = t7;
  }
  appendChild(element) {
    this[_jsonML][$add](dart.dsend(element, 'toJsonML', []));
  }
  createChild(tagName) {
    if (tagName == null) dart.nullFailed(I[12], 296, 36, "tagName");
    let c = new _debugger.JsonMLElement.new(tagName);
    this[_jsonML][$add](c.toJsonML());
    return c;
  }
  createObjectTag(object) {
    let t8;
    t8 = this.createChild("object");
    return (() => {
      t8.addAttribute("object", object);
      return t8;
    })();
  }
  setStyle(style) {
    if (style == null) dart.nullFailed(I[12], 305, 24, "style");
    dart.dput(this[_attributes], 'style', style);
  }
  addStyle(style) {
    let t8;
    if (style == null) dart.nullFailed(I[12], 309, 19, "style");
    if (dart.dload(this[_attributes], 'style') == null) {
      dart.dput(this[_attributes], 'style', style);
    } else {
      t8 = this[_attributes];
      dart.dput(t8, 'style', dart.dsend(dart.dload(t8, 'style'), '+', [style]));
    }
  }
  addAttribute(key, value) {
    _debugger.JSNative.setProperty(this[_attributes], key, value);
  }
  createTextChild(text) {
    if (text == null) dart.nullFailed(I[12], 321, 26, "text");
    this[_jsonML][$add](text);
  }
  toJsonML() {
    return this[_jsonML];
  }
};
(_debugger.JsonMLElement.new = function(tagName) {
  this[_attributes] = null;
  this[__JsonMLElement__jsonML] = null;
  this[__JsonMLElement__jsonML_isSet] = false;
  this[_attributes] = {};
  this[_jsonML] = [tagName, this[_attributes]];
}).prototype = _debugger.JsonMLElement.prototype;
dart.addTypeTests(_debugger.JsonMLElement);
dart.addTypeCaches(_debugger.JsonMLElement);
dart.setMethodSignature(_debugger.JsonMLElement, () => ({
  __proto__: dart.getMethods(_debugger.JsonMLElement.__proto__),
  appendChild: dart.fnType(dart.dynamic, [dart.dynamic]),
  createChild: dart.fnType(_debugger.JsonMLElement, [core.String]),
  createObjectTag: dart.fnType(_debugger.JsonMLElement, [dart.dynamic]),
  setStyle: dart.fnType(dart.void, [core.String]),
  addStyle: dart.fnType(dart.dynamic, [core.String]),
  addAttribute: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic]),
  createTextChild: dart.fnType(dart.dynamic, [core.String]),
  toJsonML: dart.fnType(dart.dynamic, [])
}));
dart.setGetterSignature(_debugger.JsonMLElement, () => ({
  __proto__: dart.getGetters(_debugger.JsonMLElement.__proto__),
  [_jsonML]: core.List
}));
dart.setSetterSignature(_debugger.JsonMLElement, () => ({
  __proto__: dart.getSetters(_debugger.JsonMLElement.__proto__),
  [_jsonML]: core.List
}));
dart.setLibraryUri(_debugger.JsonMLElement, I[13]);
dart.setFieldSignature(_debugger.JsonMLElement, () => ({
  __proto__: dart.getFields(_debugger.JsonMLElement.__proto__),
  [_attributes]: dart.fieldType(dart.dynamic),
  [__JsonMLElement__jsonML]: dart.fieldType(dart.nullable(core.List)),
  [__JsonMLElement__jsonML_isSet]: dart.fieldType(core.bool)
}));
var customFormattersOn = dart.privateName(_debugger, "JsonMLFormatter.customFormattersOn");
var _simpleFormatter$ = dart.privateName(_debugger, "_simpleFormatter");
_debugger.JsonMLFormatter = class JsonMLFormatter extends core.Object {
  get customFormattersOn() {
    return this[customFormattersOn];
  }
  set customFormattersOn(value) {
    this[customFormattersOn] = value;
  }
  setMaxSpanLengthForTestingOnly(spanLength) {
    if (spanLength == null) dart.nullFailed(I[12], 363, 43, "spanLength");
    _debugger._maxSpanLength = spanLength;
  }
  header(object, config) {
    let t8;
    this.customFormattersOn = true;
    if (dart.equals(config, _debugger.JsonMLConfig.skipDart) || dart.test(_debugger.isNativeJavaScriptObject(object))) {
      return null;
    }
    let c = this[_simpleFormatter$].preview(object, config);
    if (c == null) return null;
    if (dart.equals(config, _debugger.JsonMLConfig.keyToString)) {
      c = dart.toString(object);
    }
    let element = (t8 = new _debugger.JsonMLElement.new("span"), (() => {
      t8.setStyle("background-color: #d9edf7;color: black");
      t8.createTextChild(c);
      return t8;
    })());
    return element.toJsonML();
  }
  hasBody(object, config) {
    return this[_simpleFormatter$].hasChildren(object, config);
  }
  body(object, config) {
    let t8, t8$, t8$0, t8$1, t8$2;
    let body = (t8 = new _debugger.JsonMLElement.new("ol"), (() => {
      t8.setStyle("list-style-type: none;" + "padding-left: 0px;" + "margin-top: 0px;" + "margin-bottom: 0px;" + "margin-left: 12px;");
      return t8;
    })());
    if (core.StackTrace.is(object)) {
      body.addStyle("background-color: thistle;color: rgb(196, 26, 22);");
    }
    let children = this[_simpleFormatter$].children(object, config);
    if (children == null) return body.toJsonML();
    for (let child of children) {
      let li = body.createChild("li");
      li.setStyle("padding-left: 13px;");
      let nameSpan = null;
      let valueStyle = "";
      if (!dart.test(child.hideName)) {
        nameSpan = (t8$ = new _debugger.JsonMLElement.new("span"), (() => {
          t8$.createTextChild(child.displayName[$isNotEmpty] ? dart.str(child.displayName) + ": " : "");
          t8$.setStyle("background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px");
          return t8$;
        })());
        valueStyle = "margin-left: 13px";
      }
      if (_debugger._typeof(child.value) === "object" || _debugger._typeof(child.value) === "function") {
        let valueSpan = (t8$0 = new _debugger.JsonMLElement.new("span"), (() => {
          t8$0.setStyle(valueStyle);
          return t8$0;
        })());
        t8$1 = valueSpan.createObjectTag(child.value);
        (() => {
          t8$1.addAttribute("config", child.config);
          return t8$1;
        })();
        if (nameSpan != null) {
          li.appendChild(nameSpan);
        }
        li.appendChild(valueSpan);
      } else {
        let line = li.createChild("span");
        if (nameSpan != null) {
          line.appendChild(nameSpan);
        }
        line.appendChild((t8$2 = new _debugger.JsonMLElement.new("span"), (() => {
          t8$2.createTextChild(_debugger.safePreview(child.value, child.config));
          t8$2.setStyle(valueStyle);
          return t8$2;
        })()));
      }
    }
    return body.toJsonML();
  }
};
(_debugger.JsonMLFormatter.new = function(_simpleFormatter) {
  if (_simpleFormatter == null) dart.nullFailed(I[12], 361, 24, "_simpleFormatter");
  this[customFormattersOn] = false;
  this[_simpleFormatter$] = _simpleFormatter;
  ;
}).prototype = _debugger.JsonMLFormatter.prototype;
dart.addTypeTests(_debugger.JsonMLFormatter);
dart.addTypeCaches(_debugger.JsonMLFormatter);
dart.setMethodSignature(_debugger.JsonMLFormatter, () => ({
  __proto__: dart.getMethods(_debugger.JsonMLFormatter.__proto__),
  setMaxSpanLengthForTestingOnly: dart.fnType(dart.void, [core.int]),
  header: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic]),
  hasBody: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  body: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic])
}));
dart.setLibraryUri(_debugger.JsonMLFormatter, I[13]);
dart.setFieldSignature(_debugger.JsonMLFormatter, () => ({
  __proto__: dart.getFields(_debugger.JsonMLFormatter.__proto__),
  [_simpleFormatter$]: dart.fieldType(_debugger.DartFormatter),
  customFormattersOn: dart.fieldType(core.bool)
}));
_debugger.Formatter = class Formatter extends core.Object {};
(_debugger.Formatter.new = function() {
  ;
}).prototype = _debugger.Formatter.prototype;
dart.addTypeTests(_debugger.Formatter);
dart.addTypeCaches(_debugger.Formatter);
dart.setLibraryUri(_debugger.Formatter, I[13]);
var _formatters = dart.privateName(_debugger, "_formatters");
var _printConsoleError = dart.privateName(_debugger, "_printConsoleError");
_debugger.DartFormatter = class DartFormatter extends core.Object {
  preview(object, config) {
    try {
      if (object == null || typeof object == 'number' || typeof object == 'string' || dart.test(_debugger.isNativeJavaScriptObject(object))) {
        return dart.toString(object);
      }
      for (let formatter of this[_formatters]) {
        if (dart.test(formatter.accept(object, config))) return formatter.preview(object);
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      let trace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this[_printConsoleError]("Caught exception " + dart.str(e) + "\n trace:\n" + dart.str(trace));
      } else
        throw e$;
    }
    return null;
  }
  hasChildren(object, config) {
    if (object == null) return false;
    try {
      for (let formatter of this[_formatters]) {
        if (dart.test(formatter.accept(object, config))) return formatter.hasChildren(object);
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      let trace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this[_printConsoleError]("[hasChildren] Caught exception " + dart.str(e) + "\n trace:\n" + dart.str(trace));
      } else
        throw e$;
    }
    return false;
  }
  children(object, config) {
    try {
      if (object != null) {
        for (let formatter of this[_formatters]) {
          if (dart.test(formatter.accept(object, config))) return formatter.children(object);
        }
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      let trace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this[_printConsoleError]("Caught exception " + dart.str(e) + "\n trace:\n" + dart.str(trace));
      } else
        throw e$;
    }
    return T$.JSArrayOfNameValuePair().of([]);
  }
  [_printConsoleError](message) {
    if (message == null) dart.nullFailed(I[12], 523, 34, "message");
    return window.console.error(message);
  }
};
(_debugger.DartFormatter.new = function() {
  this[_formatters] = T$.JSArrayOfFormatter().of([new _debugger.ObjectInternalsFormatter.new(), new _debugger.ClassFormatter.new(), new _debugger.TypeFormatter.new(), new _debugger.NamedConstructorFormatter.new(), new _debugger.MapFormatter.new(), new _debugger.MapOverviewFormatter.new(), new _debugger.IterableFormatter.new(), new _debugger.IterableSpanFormatter.new(), new _debugger.MapEntryFormatter.new(), new _debugger.StackTraceFormatter.new(), new _debugger.ErrorAndExceptionFormatter.new(), new _debugger.FunctionFormatter.new(), new _debugger.HeritageClauseFormatter.new(), new _debugger.LibraryModuleFormatter.new(), new _debugger.LibraryFormatter.new(), new _debugger.ObjectFormatter.new()]);
  ;
}).prototype = _debugger.DartFormatter.prototype;
dart.addTypeTests(_debugger.DartFormatter);
dart.addTypeCaches(_debugger.DartFormatter);
dart.setMethodSignature(_debugger.DartFormatter, () => ({
  __proto__: dart.getMethods(_debugger.DartFormatter.__proto__),
  preview: dart.fnType(dart.nullable(core.String), [dart.dynamic, dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  children: dart.fnType(dart.nullable(core.List$(_debugger.NameValuePair)), [dart.dynamic, dart.dynamic]),
  [_printConsoleError]: dart.fnType(dart.void, [core.String])
}));
dart.setLibraryUri(_debugger.DartFormatter, I[13]);
dart.setFieldSignature(_debugger.DartFormatter, () => ({
  __proto__: dart.getFields(_debugger.DartFormatter.__proto__),
  [_formatters]: dart.finalFieldType(core.List$(_debugger.Formatter))
}));
_debugger.ObjectFormatter = class ObjectFormatter extends _debugger.Formatter {
  accept(object, config) {
    return !dart.test(_debugger.isNativeJavaScriptObject(object));
  }
  preview(object) {
    let typeName = _debugger.getObjectTypeName(object);
    try {
      let toString = dart.str(object);
      if (toString.length > dart.notNull(_debugger.maxFormatterStringLength)) {
        toString = toString[$substring](0, dart.notNull(_debugger.maxFormatterStringLength) - 3) + "...";
      }
      if (toString[$contains](typeName)) {
        return toString;
      } else {
        return toString + " (" + dart.str(typeName) + ")";
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
    return typeName;
  }
  hasChildren(object) {
    return true;
  }
  children(object) {
    let type = dart.getType(object);
    let ret = new (T$._HashSetOfNameValuePair()).new();
    let fields = new (T$._HashSetOfNameValuePair()).new();
    _debugger.addPropertiesFromSignature(dart.getFields(type), fields, object, true);
    let getters = new (T$._HashSetOfNameValuePair()).new();
    _debugger.addPropertiesFromSignature(dart.getGetters(type), getters, object, true);
    ret.addAll(_debugger.sortProperties(fields));
    ret.addAll(_debugger.sortProperties(getters));
    _debugger.addMetadataChildren(object, ret);
    return ret[$toList]();
  }
};
(_debugger.ObjectFormatter.new = function() {
  ;
}).prototype = _debugger.ObjectFormatter.prototype;
dart.addTypeTests(_debugger.ObjectFormatter);
dart.addTypeCaches(_debugger.ObjectFormatter);
dart.setMethodSignature(_debugger.ObjectFormatter, () => ({
  __proto__: dart.getMethods(_debugger.ObjectFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(dart.nullable(core.List$(_debugger.NameValuePair)), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.ObjectFormatter, I[13]);
_debugger.ObjectInternalsFormatter = class ObjectInternalsFormatter extends _debugger.ObjectFormatter {
  accept(object, config) {
    return dart.test(super.accept(object, config)) && dart.equals(config, _debugger.JsonMLConfig.asObject);
  }
  preview(object) {
    return _debugger.getObjectTypeName(object);
  }
};
(_debugger.ObjectInternalsFormatter.new = function() {
  ;
}).prototype = _debugger.ObjectInternalsFormatter.prototype;
dart.addTypeTests(_debugger.ObjectInternalsFormatter);
dart.addTypeCaches(_debugger.ObjectInternalsFormatter);
dart.setLibraryUri(_debugger.ObjectInternalsFormatter, I[13]);
_debugger.LibraryModuleFormatter = class LibraryModuleFormatter extends core.Object {
  accept(object, config) {
    return dart.getModuleName(core.Object.as(object)) != null;
  }
  hasChildren(object) {
    return true;
  }
  preview(object) {
    let libraryNames = dart.nullCheck(dart.getModuleName(core.Object.as(object)))[$split]("/");
    if (dart.notNull(libraryNames[$length]) > 1 && libraryNames[$last] == libraryNames[$_get](dart.notNull(libraryNames[$length]) - 2)) {
      libraryNames[$_set](dart.notNull(libraryNames[$length]) - 1, "");
    }
    return "Library Module: " + dart.str(libraryNames[$join]("/"));
  }
  children(object) {
    let children = new (T$._HashSetOfNameValuePair()).new();
    for (let name of _debugger.getOwnPropertyNames(object)) {
      let value = _debugger.safeGetProperty(core.Object.as(object), name);
      children.add(new _debugger.NameValuePair.new({name: name, value: new _debugger.Library.new(name, dart.nullCheck(value)), hideName: true}));
    }
    return children[$toList]();
  }
};
(_debugger.LibraryModuleFormatter.new = function() {
  ;
}).prototype = _debugger.LibraryModuleFormatter.prototype;
dart.addTypeTests(_debugger.LibraryModuleFormatter);
dart.addTypeCaches(_debugger.LibraryModuleFormatter);
_debugger.LibraryModuleFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.LibraryModuleFormatter, () => ({
  __proto__: dart.getMethods(_debugger.LibraryModuleFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.LibraryModuleFormatter, I[13]);
var genericParameters = dart.privateName(_debugger, "LibraryFormatter.genericParameters");
_debugger.LibraryFormatter = class LibraryFormatter extends core.Object {
  get genericParameters() {
    return this[genericParameters];
  }
  set genericParameters(value) {
    this[genericParameters] = value;
  }
  accept(object, config) {
    return _debugger.Library.is(object);
  }
  hasChildren(object) {
    return true;
  }
  preview(object) {
    return core.String.as(dart.dload(object, 'name'));
  }
  children(object) {
    let children = new (T$._HashSetOfNameValuePair()).new();
    let objectProperties = _debugger.safeProperties(dart.dload(object, 'object'));
    dart.dsend(objectProperties, 'forEach', [dart.fn((name, value) => {
        if (dart.getGenericTypeCtor(value) != null) return;
        children.add(_debugger.NameValuePair.as(dart.isType(value) ? this.classChild(core.String.as(name), core.Object.as(value)) : new _debugger.NameValuePair.new({name: core.String.as(name), value: value})));
      }, T$.dynamicAnddynamicToNull())]);
    return children[$toList]();
  }
  classChild(name, child) {
    if (name == null) dart.nullFailed(I[12], 644, 21, "name");
    if (child == null) dart.nullFailed(I[12], 644, 34, "child");
    let typeName = _debugger.getTypeName(child);
    return new _debugger.NameValuePair.new({name: typeName, value: child, config: _debugger.JsonMLConfig.asClass});
  }
};
(_debugger.LibraryFormatter.new = function() {
  this[genericParameters] = new (T$.IdentityMapOfString$String()).new();
  ;
}).prototype = _debugger.LibraryFormatter.prototype;
dart.addTypeTests(_debugger.LibraryFormatter);
dart.addTypeCaches(_debugger.LibraryFormatter);
_debugger.LibraryFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.LibraryFormatter, () => ({
  __proto__: dart.getMethods(_debugger.LibraryFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic]),
  classChild: dart.fnType(dart.dynamic, [core.String, core.Object])
}));
dart.setLibraryUri(_debugger.LibraryFormatter, I[13]);
dart.setFieldSignature(_debugger.LibraryFormatter, () => ({
  __proto__: dart.getFields(_debugger.LibraryFormatter.__proto__),
  genericParameters: dart.fieldType(collection.HashMap$(core.String, core.String))
}));
_debugger.FunctionFormatter = class FunctionFormatter extends core.Object {
  accept(object, config) {
    if (_debugger._typeof(object) !== "function") return false;
    return dart.getReifiedType(object) != null;
  }
  hasChildren(object) {
    return true;
  }
  preview(object) {
    try {
      return dart.typeName(dart.getReifiedType(object));
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        return _debugger.safePreview(object, _debugger.JsonMLConfig.none);
      } else
        throw e$;
    }
  }
  children(object) {
    return T$.JSArrayOfNameValuePair().of([new _debugger.NameValuePair.new({name: "signature", value: this.preview(object)}), new _debugger.NameValuePair.new({name: "JavaScript Function", value: object, config: _debugger.JsonMLConfig.skipDart})]);
  }
};
(_debugger.FunctionFormatter.new = function() {
  ;
}).prototype = _debugger.FunctionFormatter.prototype;
dart.addTypeTests(_debugger.FunctionFormatter);
dart.addTypeCaches(_debugger.FunctionFormatter);
_debugger.FunctionFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.FunctionFormatter, () => ({
  __proto__: dart.getMethods(_debugger.FunctionFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.FunctionFormatter, I[13]);
_debugger.MapOverviewFormatter = class MapOverviewFormatter extends core.Object {
  accept(object, config) {
    return core.Map.is(object);
  }
  hasChildren(object) {
    return true;
  }
  preview(object) {
    let map = core.Map.as(object);
    try {
      return dart.str(_debugger.getObjectTypeName(map));
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        return _debugger.safePreview(object, _debugger.JsonMLConfig.none);
      } else
        throw e$;
    }
  }
  children(object) {
    return T$.JSArrayOfNameValuePair().of([new _debugger.NameValuePair.new({name: "[[instance view]]", value: object, config: _debugger.JsonMLConfig.asObject}), new _debugger.NameValuePair.new({name: "[[entries]]", value: object, config: _debugger.JsonMLConfig.asMap})]);
  }
};
(_debugger.MapOverviewFormatter.new = function() {
  ;
}).prototype = _debugger.MapOverviewFormatter.prototype;
dart.addTypeTests(_debugger.MapOverviewFormatter);
dart.addTypeCaches(_debugger.MapOverviewFormatter);
_debugger.MapOverviewFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.MapOverviewFormatter, () => ({
  __proto__: dart.getMethods(_debugger.MapOverviewFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.MapOverviewFormatter, I[13]);
_debugger.MapFormatter = class MapFormatter extends core.Object {
  accept(object, config) {
    return _js_helper.InternalMap.is(object) || dart.equals(config, _debugger.JsonMLConfig.asMap);
  }
  hasChildren(object) {
    return true;
  }
  preview(object) {
    let map = core.Map.as(object);
    try {
      return dart.str(_debugger.getObjectTypeName(map)) + " length " + dart.str(map[$length]);
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        return _debugger.safePreview(object, _debugger.JsonMLConfig.none);
      } else
        throw e$;
    }
  }
  children(object) {
    let map = core.Map.as(object);
    let entries = new (T$._HashSetOfNameValuePair()).new();
    map[$forEach](dart.fn((key, value) => {
      let entryWrapper = new _debugger.MapEntry.new({key: key, value: value});
      entries.add(new _debugger.NameValuePair.new({name: dart.toString(entries[$length]), value: entryWrapper}));
    }, T$.dynamicAnddynamicTovoid()));
    _debugger.addMetadataChildren(object, entries);
    return entries[$toList]();
  }
};
(_debugger.MapFormatter.new = function() {
  ;
}).prototype = _debugger.MapFormatter.prototype;
dart.addTypeTests(_debugger.MapFormatter);
dart.addTypeCaches(_debugger.MapFormatter);
_debugger.MapFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.MapFormatter, () => ({
  __proto__: dart.getMethods(_debugger.MapFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.MapFormatter, I[13]);
_debugger.IterableFormatter = class IterableFormatter extends core.Object {
  accept(object, config) {
    return core.Iterable.is(object);
  }
  preview(object) {
    let iterable = core.Iterable.as(object);
    try {
      let length = iterable[$length];
      return dart.str(_debugger.getObjectTypeName(iterable)) + " length " + dart.str(length);
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
        return dart.str(_debugger.getObjectTypeName(iterable));
      } else
        throw e;
    }
  }
  hasChildren(object) {
    return true;
  }
  children(object) {
    let children = new (T$._HashSetOfNameValuePair()).new();
    children.addAll(new _debugger.IterableSpan.new(0, core.int.as(dart.dload(object, 'length')), core.Iterable.as(object)).children());
    _debugger.addMetadataChildren(object, children);
    return children[$toList]();
  }
};
(_debugger.IterableFormatter.new = function() {
  ;
}).prototype = _debugger.IterableFormatter.prototype;
dart.addTypeTests(_debugger.IterableFormatter);
dart.addTypeCaches(_debugger.IterableFormatter);
_debugger.IterableFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.IterableFormatter, () => ({
  __proto__: dart.getMethods(_debugger.IterableFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.IterableFormatter, I[13]);
_debugger.NamedConstructorFormatter = class NamedConstructorFormatter extends core.Object {
  accept(object, config) {
    return _debugger.NamedConstructor.is(object);
  }
  preview(object) {
    return "Named Constructor";
  }
  hasChildren(object) {
    return true;
  }
  children(object) {
    return T$.JSArrayOfNameValuePair().of([new _debugger.NameValuePair.new({name: "JavaScript Function", value: object, config: _debugger.JsonMLConfig.skipDart})]);
  }
};
(_debugger.NamedConstructorFormatter.new = function() {
  ;
}).prototype = _debugger.NamedConstructorFormatter.prototype;
dart.addTypeTests(_debugger.NamedConstructorFormatter);
dart.addTypeCaches(_debugger.NamedConstructorFormatter);
_debugger.NamedConstructorFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.NamedConstructorFormatter, () => ({
  __proto__: dart.getMethods(_debugger.NamedConstructorFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.NamedConstructorFormatter, I[13]);
_debugger.MapEntryFormatter = class MapEntryFormatter extends core.Object {
  accept(object, config) {
    return _debugger.MapEntry.is(object);
  }
  preview(object) {
    let entry = _debugger.MapEntry.as(object);
    return dart.str(_debugger.safePreview(entry.key, _debugger.JsonMLConfig.none)) + " => " + dart.str(_debugger.safePreview(entry.value, _debugger.JsonMLConfig.none));
  }
  hasChildren(object) {
    return true;
  }
  children(object) {
    return T$.JSArrayOfNameValuePair().of([new _debugger.NameValuePair.new({name: "key", value: dart.dload(object, 'key'), config: _debugger.JsonMLConfig.keyToString}), new _debugger.NameValuePair.new({name: "value", value: dart.dload(object, 'value')})]);
  }
};
(_debugger.MapEntryFormatter.new = function() {
  ;
}).prototype = _debugger.MapEntryFormatter.prototype;
dart.addTypeTests(_debugger.MapEntryFormatter);
dart.addTypeCaches(_debugger.MapEntryFormatter);
_debugger.MapEntryFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.MapEntryFormatter, () => ({
  __proto__: dart.getMethods(_debugger.MapEntryFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.MapEntryFormatter, I[13]);
_debugger.HeritageClauseFormatter = class HeritageClauseFormatter extends core.Object {
  accept(object, config) {
    return _debugger.HeritageClause.is(object);
  }
  preview(object) {
    let clause = _debugger.HeritageClause.as(object);
    let typeNames = clause.types[$map](core.String, C[8] || CT.C8);
    return dart.str(clause.name) + " " + dart.str(typeNames[$join](", "));
  }
  hasChildren(object) {
    return true;
  }
  children(object) {
    let clause = _debugger.HeritageClause.as(object);
    let children = T$.JSArrayOfNameValuePair().of([]);
    for (let type of clause.types) {
      children[$add](new _debugger.NameValuePair.new({value: type, config: _debugger.JsonMLConfig.asClass}));
    }
    return children;
  }
};
(_debugger.HeritageClauseFormatter.new = function() {
  ;
}).prototype = _debugger.HeritageClauseFormatter.prototype;
dart.addTypeTests(_debugger.HeritageClauseFormatter);
dart.addTypeCaches(_debugger.HeritageClauseFormatter);
_debugger.HeritageClauseFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.HeritageClauseFormatter, () => ({
  __proto__: dart.getMethods(_debugger.HeritageClauseFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.HeritageClauseFormatter, I[13]);
_debugger.IterableSpanFormatter = class IterableSpanFormatter extends core.Object {
  accept(object, config) {
    return _debugger.IterableSpan.is(object);
  }
  preview(object) {
    return "[" + dart.str(dart.dload(object, 'start')) + "..." + dart.str(dart.dsend(dart.dload(object, 'end'), '-', [1])) + "]";
  }
  hasChildren(object) {
    return true;
  }
  children(object) {
    return T$.ListOfNameValuePair().as(dart.dsend(object, 'children', []));
  }
};
(_debugger.IterableSpanFormatter.new = function() {
  ;
}).prototype = _debugger.IterableSpanFormatter.prototype;
dart.addTypeTests(_debugger.IterableSpanFormatter);
dart.addTypeCaches(_debugger.IterableSpanFormatter);
_debugger.IterableSpanFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.IterableSpanFormatter, () => ({
  __proto__: dart.getMethods(_debugger.IterableSpanFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.IterableSpanFormatter, I[13]);
_debugger.ErrorAndExceptionFormatter = class ErrorAndExceptionFormatter extends _debugger.ObjectFormatter {
  accept(object, config) {
    return core.Error.is(object) || core.Exception.is(object);
  }
  hasChildren(object) {
    return true;
  }
  preview(object) {
    let trace = dart.stackTrace(object);
    let line = dart.str(trace)[$split]("\n")[$firstWhere](dart.fn(l => {
      if (l == null) dart.nullFailed(I[12], 862, 10, "l");
      return l[$contains](_debugger.ErrorAndExceptionFormatter._pattern) && !l[$contains]("dart:sdk") && !l[$contains]("dart_sdk");
    }, T$.StringTobool()), {orElse: dart.fn(() => "", T$.VoidToString())});
    return line !== "" ? dart.str(object) + " at " + dart.str(line) : dart.str(object);
  }
  children(object) {
    let trace = dart.stackTrace(object);
    let entries = new (T$._HashSetOfNameValuePair()).new();
    entries.add(new _debugger.NameValuePair.new({name: "stackTrace", value: trace}));
    this.addInstanceMembers(object, entries);
    _debugger.addMetadataChildren(object, entries);
    return entries[$toList]();
  }
  addInstanceMembers(object, ret) {
    if (ret == null) dart.nullFailed(I[12], 880, 54, "ret");
    ret.add(new _debugger.NameValuePair.new({name: "[[instance members]]", value: object, config: _debugger.JsonMLConfig.asObject}));
  }
};
(_debugger.ErrorAndExceptionFormatter.new = function() {
  ;
}).prototype = _debugger.ErrorAndExceptionFormatter.prototype;
dart.addTypeTests(_debugger.ErrorAndExceptionFormatter);
dart.addTypeCaches(_debugger.ErrorAndExceptionFormatter);
dart.setMethodSignature(_debugger.ErrorAndExceptionFormatter, () => ({
  __proto__: dart.getMethods(_debugger.ErrorAndExceptionFormatter.__proto__),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic]),
  addInstanceMembers: dart.fnType(dart.void, [dart.dynamic, core.Set$(_debugger.NameValuePair)])
}));
dart.setLibraryUri(_debugger.ErrorAndExceptionFormatter, I[13]);
dart.defineLazy(_debugger.ErrorAndExceptionFormatter, {
  /*_debugger.ErrorAndExceptionFormatter._pattern*/get _pattern() {
    return core.RegExp.new("\\d+\\:\\d+");
  }
}, false);
_debugger.StackTraceFormatter = class StackTraceFormatter extends core.Object {
  accept(object, config) {
    return core.StackTrace.is(object);
  }
  preview(object) {
    return "StackTrace";
  }
  hasChildren(object) {
    return true;
  }
  children(object) {
    return dart.toString(object)[$split]("\n")[$map](_debugger.NameValuePair, dart.fn(line => {
      if (line == null) dart.nullFailed(I[12], 901, 13, "line");
      return new _debugger.NameValuePair.new({value: line[$replaceFirst](core.RegExp.new("^\\s+at\\s"), ""), hideName: true});
    }, T$.StringToNameValuePair()))[$toList]();
  }
};
(_debugger.StackTraceFormatter.new = function() {
  ;
}).prototype = _debugger.StackTraceFormatter.prototype;
dart.addTypeTests(_debugger.StackTraceFormatter);
dart.addTypeCaches(_debugger.StackTraceFormatter);
_debugger.StackTraceFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.StackTraceFormatter, () => ({
  __proto__: dart.getMethods(_debugger.StackTraceFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.StackTraceFormatter, I[13]);
_debugger.ClassFormatter = class ClassFormatter extends core.Object {
  accept(object, config) {
    return dart.equals(config, _debugger.JsonMLConfig.asClass);
  }
  preview(type) {
    let $implements = dart.getImplements(type);
    let typeName = _debugger.getTypeName(type);
    if ($implements != null) {
      let typeNames = $implements()[$map](core.String, C[8] || CT.C8);
      return dart.str(typeName) + " implements " + dart.str(typeNames[$join](", "));
    } else {
      return typeName;
    }
  }
  hasChildren(object) {
    return true;
  }
  children(type) {
    let t16, t16$;
    let ret = new (T$._HashSetOfNameValuePair()).new();
    let staticProperties = new (T$._HashSetOfNameValuePair()).new();
    let staticMethods = new (T$._HashSetOfNameValuePair()).new();
    _debugger.addPropertiesFromSignature(dart.getStaticFields(type), staticProperties, type, false);
    _debugger.addPropertiesFromSignature(dart.getStaticGetters(type), staticProperties, type, false);
    _debugger.addPropertiesFromSignature(dart.getStaticMethods(type), staticMethods, type, false);
    if (dart.test(staticProperties[$isNotEmpty]) || dart.test(staticMethods[$isNotEmpty])) {
      t16 = ret;
      (() => {
        t16.add(new _debugger.NameValuePair.new({value: "[[Static members]]", hideName: true}));
        t16.addAll(_debugger.sortProperties(staticProperties));
        t16.addAll(_debugger.sortProperties(staticMethods));
        return t16;
      })();
    }
    let instanceMethods = new (T$._HashSetOfNameValuePair()).new();
    _debugger.addPropertiesFromSignature(dart.getMethods(type), instanceMethods, type.prototype, false, {tagTypes: true});
    if (dart.test(instanceMethods[$isNotEmpty])) {
      t16$ = ret;
      (() => {
        t16$.add(new _debugger.NameValuePair.new({value: "[[Instance Methods]]", hideName: true}));
        t16$.addAll(_debugger.sortProperties(instanceMethods));
        return t16$;
      })();
    }
    let mixin = dart.getMixin(type);
    if (mixin != null) {
      ret.add(new _debugger.NameValuePair.new({name: "[[Mixins]]", value: new _debugger.HeritageClause.new("mixins", [mixin])}));
    }
    let baseProto = type.__proto__;
    if (baseProto != null && !dart.test(dart.isJsInterop(baseProto))) {
      ret.add(new _debugger.NameValuePair.new({name: "[[base class]]", value: baseProto, config: _debugger.JsonMLConfig.asClass}));
    }
    return ret[$toList]();
  }
};
(_debugger.ClassFormatter.new = function() {
  ;
}).prototype = _debugger.ClassFormatter.prototype;
dart.addTypeTests(_debugger.ClassFormatter);
dart.addTypeCaches(_debugger.ClassFormatter);
_debugger.ClassFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.ClassFormatter, () => ({
  __proto__: dart.getMethods(_debugger.ClassFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.ClassFormatter, I[13]);
_debugger.TypeFormatter = class TypeFormatter extends core.Object {
  accept(object, config) {
    return core.Type.is(object);
  }
  preview(object) {
    return dart.toString(object);
  }
  hasChildren(object) {
    return false;
  }
  children(object) {
    return T$.JSArrayOfNameValuePair().of([]);
  }
};
(_debugger.TypeFormatter.new = function() {
  ;
}).prototype = _debugger.TypeFormatter.prototype;
dart.addTypeTests(_debugger.TypeFormatter);
dart.addTypeCaches(_debugger.TypeFormatter);
_debugger.TypeFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setMethodSignature(_debugger.TypeFormatter, () => ({
  __proto__: dart.getMethods(_debugger.TypeFormatter.__proto__),
  accept: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  preview: dart.fnType(core.String, [dart.dynamic]),
  hasChildren: dart.fnType(core.bool, [dart.dynamic]),
  children: dart.fnType(core.List$(_debugger.NameValuePair), [dart.dynamic])
}));
dart.setLibraryUri(_debugger.TypeFormatter, I[13]);
_debugger._MethodStats = class _MethodStats extends core.Object {};
(_debugger._MethodStats.new = function(typeName, frame) {
  if (typeName == null) dart.nullFailed(I[14], 13, 21, "typeName");
  if (frame == null) dart.nullFailed(I[14], 13, 36, "frame");
  this.count = 0.0;
  this.typeName = typeName;
  this.frame = frame;
  ;
}).prototype = _debugger._MethodStats.prototype;
dart.addTypeTests(_debugger._MethodStats);
dart.addTypeCaches(_debugger._MethodStats);
dart.setLibraryUri(_debugger._MethodStats, I[13]);
dart.setFieldSignature(_debugger._MethodStats, () => ({
  __proto__: dart.getFields(_debugger._MethodStats.__proto__),
  typeName: dart.finalFieldType(core.String),
  frame: dart.finalFieldType(core.String),
  count: dart.fieldType(core.double)
}));
_debugger._CallMethodRecord = class _CallMethodRecord extends core.Object {};
(_debugger._CallMethodRecord.new = function(jsError, type) {
  this.jsError = jsError;
  this.type = type;
  ;
}).prototype = _debugger._CallMethodRecord.prototype;
dart.addTypeTests(_debugger._CallMethodRecord);
dart.addTypeCaches(_debugger._CallMethodRecord);
dart.setLibraryUri(_debugger._CallMethodRecord, I[13]);
dart.setFieldSignature(_debugger._CallMethodRecord, () => ({
  __proto__: dart.getFields(_debugger._CallMethodRecord.__proto__),
  jsError: dart.fieldType(dart.dynamic),
  type: dart.fieldType(dart.dynamic)
}));
_debugger._typeof = function _typeof(object) {
  return typeof object;
};
_debugger.getOwnPropertyNames = function getOwnPropertyNames(object) {
  return T$.JSArrayOfString().of(dart.getOwnPropertyNames(object));
};
_debugger.getOwnPropertySymbols = function getOwnPropertySymbols(object) {
  return Object.getOwnPropertySymbols(object);
};
_debugger.addMetadataChildren = function addMetadataChildren(object, ret) {
  if (ret == null) dart.nullFailed(I[12], 63, 53, "ret");
  ret.add(new _debugger.NameValuePair.new({name: "[[class]]", value: dart.getReifiedType(object), config: _debugger.JsonMLConfig.asClass}));
};
_debugger.addPropertiesFromSignature = function addPropertiesFromSignature(sig, properties, object, walkPrototypeChain, opts) {
  let t16;
  if (properties == null) dart.nullFailed(I[12], 75, 29, "properties");
  if (walkPrototypeChain == null) dart.nullFailed(I[12], 75, 54, "walkPrototypeChain");
  let tagTypes = opts && 'tagTypes' in opts ? opts.tagTypes : false;
  let skippedNames = (t16 = new collection._HashSet.new(), (() => {
    t16.add("hashCode");
    return t16;
  })());
  let objectPrototype = Object.prototype;
  while (sig != null && !core.identical(sig, objectPrototype)) {
    for (let symbol of _debugger.getOwnPropertySymbols(sig)) {
      let dartName = _debugger.symbolName(symbol);
      let dartXPrefix = "dartx.";
      if (dartName[$startsWith](dartXPrefix)) {
        dartName = dartName[$substring](dartXPrefix.length);
      }
      if (dart.test(skippedNames.contains(dartName))) continue;
      let value = _debugger.safeGetProperty(core.Object.as(object), core.Object.as(symbol));
      if (dart.dtest(tagTypes) && _debugger._typeof(value) === "function") {
        dart.fn(value, sig[symbol]);
      }
      properties.add(new _debugger.NameValuePair.new({name: dartName, value: value}));
    }
    for (let name of _debugger.getOwnPropertyNames(sig)) {
      let value = _debugger.safeGetProperty(core.Object.as(object), name);
      if (dart.test(skippedNames.contains(name))) continue;
      if (dart.dtest(tagTypes) && _debugger._typeof(value) === "function") {
        dart.fn(value, sig[name]);
      }
      properties.add(new _debugger.NameValuePair.new({name: name, value: value}));
    }
    if (!dart.test(walkPrototypeChain)) break;
    sig = dart.getPrototypeOf(sig);
  }
};
_debugger.sortProperties = function sortProperties(properties) {
  if (properties == null) dart.nullFailed(I[12], 115, 60, "properties");
  let sortedProperties = properties[$toList]();
  sortedProperties[$sort](dart.fn((a, b) => {
    if (a == null) dart.nullFailed(I[12], 118, 26, "a");
    if (b == null) dart.nullFailed(I[12], 118, 29, "b");
    let aPrivate = a.name[$startsWith]("_");
    let bPrivate = b.name[$startsWith]("_");
    if (aPrivate !== bPrivate) return aPrivate ? 1 : -1;
    return a.name[$compareTo](b.name);
  }, T$.NameValuePairAndNameValuePairToint()));
  return sortedProperties;
};
_debugger.getObjectTypeName = function getObjectTypeName(object) {
  let reifiedType = dart.getReifiedType(object);
  if (reifiedType == null) {
    if (_debugger._typeof(object) === "function") {
      return "[[Raw JavaScript Function]]";
    }
    return "<Error getting type name>";
  }
  return _debugger.getTypeName(reifiedType);
};
_debugger.getTypeName = function getTypeName(type) {
  return dart.typeName(type);
};
_debugger.safePreview = function safePreview(object, config) {
  try {
    let preview = _debugger._devtoolsFormatter[_simpleFormatter$].preview(object, config);
    if (preview != null) return preview;
    return dart.toString(object);
  } catch (e$) {
    let e = dart.getThrown(e$);
    if (core.Object.is(e)) {
      return "<Exception thrown> " + dart.str(e);
    } else
      throw e$;
  }
};
_debugger.symbolName = function symbolName(symbol) {
  let name = dart.toString(symbol);
  if (!name[$startsWith]("Symbol(")) dart.assertFailed(null, I[12], 157, 10, "name.startsWith('Symbol(')");
  return name[$substring]("Symbol(".length, name.length - 1);
};
_debugger.hasMethod = function hasMethod$(object, name) {
  if (name == null) dart.nullFailed(I[12], 161, 31, "name");
  try {
    return dart.hasMethod(object, name);
  } catch (e$) {
    let e = dart.getThrown(e$);
    if (core.Object.is(e)) {
      return false;
    } else
      throw e$;
  }
};
_debugger.safeGetProperty = function safeGetProperty(protoChain, name) {
  if (protoChain == null) dart.nullFailed(I[12], 267, 32, "protoChain");
  if (name == null) dart.nullFailed(I[12], 267, 51, "name");
  try {
    return _debugger.JSNative.getProperty(protoChain, name);
  } catch (e$) {
    let e = dart.getThrown(e$);
    if (core.Object.is(e)) {
      return "<Exception thrown> " + dart.str(e);
    } else
      throw e$;
  }
};
_debugger.safeProperties = function safeProperties(object) {
  return T$.LinkedHashMapOfdynamic$ObjectN().fromIterable(_debugger.getOwnPropertyNames(object)[$where](dart.fn(each => {
    if (each == null) dart.nullFailed(I[12], 277, 17, "each");
    return _debugger.safeGetProperty(core.Object.as(object), each) != null;
  }, T$.StringTobool())), {key: dart.fn(name => name, T$.dynamicTodynamic()), value: dart.fn(name => _debugger.safeGetProperty(core.Object.as(object), core.Object.as(name)), T$.dynamicToObjectN())});
};
_debugger.isNativeJavaScriptObject = function isNativeJavaScriptObject(object) {
  let type = _debugger._typeof(object);
  if (type !== "object" && type !== "function") return true;
  if (dart.test(dart.isJsInterop(object)) && dart.getModuleName(core.Object.as(object)) == null) {
    return true;
  }
  return object instanceof Node;
};
_debugger.registerDevtoolsFormatter = function registerDevtoolsFormatter() {
  dart.global.devtoolsFormatters = [_debugger._devtoolsFormatter];
};
_debugger.getModuleNames = function getModuleNames$() {
  return dart.getModuleNames();
};
_debugger.getModuleLibraries = function getModuleLibraries$(name) {
  if (name == null) dart.nullFailed(I[12], 1015, 27, "name");
  return dart.getModuleLibraries(name);
};
_debugger.getDynamicStats = function getDynamicStats() {
  let t19;
  let callMethodStats = new (T$.IdentityMapOfString$_MethodStats()).new();
  if (dart.notNull(_debugger._callMethodRecords[$length]) > 0) {
    let recordRatio = dart.notNull(_debugger._totalCallRecords) / dart.notNull(_debugger._callMethodRecords[$length]);
    for (let record of _debugger._callMethodRecords) {
      let stackStr = record.jsError.stack;
      let frames = stackStr[$split]("\n");
      let src = frames[$skip](2)[$map](core.String, dart.fn(f => {
        if (f == null) dart.nullFailed(I[14], 66, 17, "f");
        return _debugger._frameMappingCache[$putIfAbsent](f, dart.fn(() => dart.nullCheck(_debugger.stackTraceMapper)("\n" + dart.str(f)), T$.VoidToString()));
      }, T$.StringToString()))[$firstWhere](dart.fn(f => {
        if (f == null) dart.nullFailed(I[14], 68, 24, "f");
        return !f[$startsWith]("dart:");
      }, T$.StringTobool()), {orElse: dart.fn(() => "", T$.VoidToString())});
      let actualTypeName = dart.typeName(record.type);
      t19 = callMethodStats[$putIfAbsent](actualTypeName + " <" + dart.str(src) + ">", dart.fn(() => new _debugger._MethodStats.new(actualTypeName, src), T$.VoidTo_MethodStats()));
      t19.count = dart.notNull(t19.count) + recordRatio;
    }
    if (_debugger._totalCallRecords != _debugger._callMethodRecords[$length]) {
      for (let k of callMethodStats[$keys][$toList]()) {
        let stats = dart.nullCheck(callMethodStats[$_get](k));
        let threshold = dart.notNull(_debugger._minCount) * recordRatio;
        if (dart.notNull(stats.count) + 0.001 < threshold) {
          callMethodStats[$remove](k);
        }
      }
    }
  }
  _debugger._callMethodRecords[$clear]();
  _debugger._totalCallRecords = 0;
  let keys = callMethodStats[$keys][$toList]();
  keys[$sort](dart.fn((a, b) => {
    if (a == null) dart.nullFailed(I[14], 94, 8, "a");
    if (b == null) dart.nullFailed(I[14], 94, 11, "b");
    return dart.nullCheck(callMethodStats[$_get](b)).count[$compareTo](dart.nullCheck(callMethodStats[$_get](a)).count);
  }, T$.StringAndStringToint()));
  let ret = T$.JSArrayOfListOfObject().of([]);
  for (let key of keys) {
    let stats = dart.nullCheck(callMethodStats[$_get](key));
    ret[$add](T$.JSArrayOfObject().of([stats.typeName, stats.frame, stats.count[$round]()]));
  }
  return ret;
};
_debugger.clearDynamicStats = function clearDynamicStats() {
  _debugger._callMethodRecords[$clear]();
};
_debugger.trackCall = function trackCall(obj) {
  if (!_debugger._trackProfile) return;
  let index = -1;
  _debugger._totalCallRecords = dart.notNull(_debugger._totalCallRecords) + 1;
  if (_debugger._callMethodRecords[$length] == _debugger._callRecordSampleSize) {
    index = Math.floor(Math.random() * _debugger._totalCallRecords);
    if (index >= dart.notNull(_debugger._callMethodRecords[$length])) return;
  }
  let record = new _debugger._CallMethodRecord.new(new Error(), dart.getReifiedType(obj));
  if (index === -1) {
    _debugger._callMethodRecords[$add](record);
  } else {
    _debugger._callMethodRecords[$_set](index, record);
  }
};
dart.copyProperties(_debugger, {
  get stackTraceMapper() {
    let _util = dart.global.$dartStackTraceUtility;
    return _util != null ? _util.mapper : null;
  },
  get _trackProfile() {
    return dart.__trackProfile;
  }
});
dart.defineLazy(_debugger, {
  /*_debugger._maxSpanLength*/get _maxSpanLength() {
    return 100;
  },
  set _maxSpanLength(_) {},
  /*_debugger._devtoolsFormatter*/get _devtoolsFormatter() {
    return new _debugger.JsonMLFormatter.new(new _debugger.DartFormatter.new());
  },
  set _devtoolsFormatter(_) {},
  /*_debugger.maxFormatterStringLength*/get maxFormatterStringLength() {
    return 100;
  },
  set maxFormatterStringLength(_) {},
  /*_debugger._callRecordSampleSize*/get _callRecordSampleSize() {
    return 5000;
  },
  set _callRecordSampleSize(_) {},
  /*_debugger._callMethodRecords*/get _callMethodRecords() {
    return T$.JSArrayOf_CallMethodRecord().of([]);
  },
  set _callMethodRecords(_) {},
  /*_debugger._totalCallRecords*/get _totalCallRecords() {
    return 0;
  },
  set _totalCallRecords(_) {},
  /*_debugger._minCount*/get _minCount() {
    return 2;
  },
  set _minCount(_) {},
  /*_debugger._frameMappingCache*/get _frameMappingCache() {
    return new (T$.IdentityMapOfString$String()).new();
  },
  set _frameMappingCache(_) {}
}, false);
var name$4 = dart.privateName(_foreign_helper, "JSExportName.name");
_foreign_helper.JSExportName = class JSExportName extends core.Object {
  get name() {
    return this[name$4];
  }
  set name(value) {
    super.name = value;
  }
};
(_foreign_helper.JSExportName.new = function(name) {
  if (name == null) dart.nullFailed(I[15], 139, 27, "name");
  this[name$4] = name;
  ;
}).prototype = _foreign_helper.JSExportName.prototype;
dart.addTypeTests(_foreign_helper.JSExportName);
dart.addTypeCaches(_foreign_helper.JSExportName);
dart.setLibraryUri(_foreign_helper.JSExportName, I[16]);
dart.setFieldSignature(_foreign_helper.JSExportName, () => ({
  __proto__: dart.getFields(_foreign_helper.JSExportName.__proto__),
  name: dart.finalFieldType(core.String)
}));
var code$ = dart.privateName(_foreign_helper, "JS_CONST.code");
_foreign_helper.JS_CONST = class JS_CONST extends core.Object {
  get code() {
    return this[code$];
  }
  set code(value) {
    super.code = value;
  }
};
(_foreign_helper.JS_CONST.new = function(code) {
  if (code == null) dart.nullFailed(I[15], 259, 23, "code");
  this[code$] = code;
  ;
}).prototype = _foreign_helper.JS_CONST.prototype;
dart.addTypeTests(_foreign_helper.JS_CONST);
dart.addTypeCaches(_foreign_helper.JS_CONST);
dart.setLibraryUri(_foreign_helper.JS_CONST, I[16]);
dart.setFieldSignature(_foreign_helper.JS_CONST, () => ({
  __proto__: dart.getFields(_foreign_helper.JS_CONST.__proto__),
  code: dart.finalFieldType(core.String)
}));
_foreign_helper._Rest = class _Rest extends core.Object {};
(_foreign_helper._Rest.new = function() {
  ;
}).prototype = _foreign_helper._Rest.prototype;
dart.addTypeTests(_foreign_helper._Rest);
dart.addTypeCaches(_foreign_helper._Rest);
dart.setLibraryUri(_foreign_helper._Rest, I[16]);
_foreign_helper.JS_DART_OBJECT_CONSTRUCTOR = function JS_DART_OBJECT_CONSTRUCTOR() {
};
_foreign_helper.JS_INTERCEPTOR_CONSTANT = function JS_INTERCEPTOR_CONSTANT(type) {
  if (type == null) dart.nullFailed(I[15], 157, 30, "type");
};
_foreign_helper.JS_EFFECT = function JS_EFFECT(code) {
  if (code == null) dart.nullFailed(I[15], 244, 25, "code");
  dart.dcall(code, [null]);
};
_foreign_helper.spread = function spread(args) {
  dart.throw(new core.StateError.new("The spread function cannot be called, " + "it should be compiled away."));
};
dart.defineLazy(_foreign_helper, {
  /*_foreign_helper.rest*/get rest() {
    return C[9] || CT.C9;
  }
}, false);
_interceptors.Interceptor = class Interceptor extends core.Object {
  toString() {
    return this.toString();
  }
};
(_interceptors.Interceptor.new = function() {
  ;
}).prototype = _interceptors.Interceptor.prototype;
dart.addTypeTests(_interceptors.Interceptor);
dart.addTypeCaches(_interceptors.Interceptor);
dart.setLibraryUri(_interceptors.Interceptor, I[17]);
dart.defineExtensionMethods(_interceptors.Interceptor, ['toString']);
_interceptors.JSBool = class JSBool extends _interceptors.Interceptor {
  [$toString]() {
    return String(this);
  }
  get [$hashCode]() {
    return this ? 2 * 3 * 23 * 3761 : 269 * 811;
  }
  [$bitAnd](other) {
    if (other == null) dart.argumentError(other);
    return other && this;
  }
  [$bitOr](other) {
    if (other == null) dart.argumentError(other);
    return other || this;
  }
  [$bitXor](other) {
    if (other == null) dart.argumentError(other);
    return this !== other;
  }
  get [$runtimeType]() {
    return dart.wrapType(core.bool);
  }
};
(_interceptors.JSBool.new = function() {
  _interceptors.JSBool.__proto__.new.call(this);
  ;
}).prototype = _interceptors.JSBool.prototype;
dart.addTypeTests(_interceptors.JSBool);
dart.addTypeCaches(_interceptors.JSBool);
_interceptors.JSBool[dart.implements] = () => [core.bool];
dart.setMethodSignature(_interceptors.JSBool, () => ({
  __proto__: dart.getMethods(_interceptors.JSBool.__proto__),
  [$bitAnd]: dart.fnType(core.bool, [core.bool]),
  [$bitOr]: dart.fnType(core.bool, [core.bool]),
  [$bitXor]: dart.fnType(core.bool, [core.bool])
}));
dart.setLibraryUri(_interceptors.JSBool, I[17]);
dart.definePrimitiveHashCode(_interceptors.JSBool.prototype);
dart.registerExtension("Boolean", _interceptors.JSBool);
const _is_JSIndexable_default = Symbol('_is_JSIndexable_default');
_interceptors.JSIndexable$ = dart.generic(E => {
  class JSIndexable extends core.Object {}
  (JSIndexable.new = function() {
    ;
  }).prototype = JSIndexable.prototype;
  dart.addTypeTests(JSIndexable);
  JSIndexable.prototype[_is_JSIndexable_default] = true;
  dart.addTypeCaches(JSIndexable);
  dart.setLibraryUri(JSIndexable, I[17]);
  return JSIndexable;
});
_interceptors.JSIndexable = _interceptors.JSIndexable$();
dart.addTypeTests(_interceptors.JSIndexable, _is_JSIndexable_default);
const _is_JSMutableIndexable_default = Symbol('_is_JSMutableIndexable_default');
_interceptors.JSMutableIndexable$ = dart.generic(E => {
  class JSMutableIndexable extends _interceptors.JSIndexable$(E) {}
  (JSMutableIndexable.new = function() {
    ;
  }).prototype = JSMutableIndexable.prototype;
  dart.addTypeTests(JSMutableIndexable);
  JSMutableIndexable.prototype[_is_JSMutableIndexable_default] = true;
  dart.addTypeCaches(JSMutableIndexable);
  dart.setLibraryUri(JSMutableIndexable, I[17]);
  return JSMutableIndexable;
});
_interceptors.JSMutableIndexable = _interceptors.JSMutableIndexable$();
dart.addTypeTests(_interceptors.JSMutableIndexable, _is_JSMutableIndexable_default);
_interceptors.JSObject = class JSObject extends core.Object {};
(_interceptors.JSObject.new = function() {
  ;
}).prototype = _interceptors.JSObject.prototype;
dart.addTypeTests(_interceptors.JSObject);
dart.addTypeCaches(_interceptors.JSObject);
dart.setLibraryUri(_interceptors.JSObject, I[17]);
_interceptors.JavaScriptObject = class JavaScriptObject extends _interceptors.Interceptor {};
(_interceptors.JavaScriptObject.new = function() {
  _interceptors.JavaScriptObject.__proto__.new.call(this);
  ;
}).prototype = _interceptors.JavaScriptObject.prototype;
dart.addTypeTests(_interceptors.JavaScriptObject);
dart.addTypeCaches(_interceptors.JavaScriptObject);
_interceptors.JavaScriptObject[dart.implements] = () => [_interceptors.JSObject];
dart.setLibraryUri(_interceptors.JavaScriptObject, I[17]);
_interceptors.PlainJavaScriptObject = class PlainJavaScriptObject extends _interceptors.JavaScriptObject {};
(_interceptors.PlainJavaScriptObject.new = function() {
  _interceptors.PlainJavaScriptObject.__proto__.new.call(this);
  ;
}).prototype = _interceptors.PlainJavaScriptObject.prototype;
dart.addTypeTests(_interceptors.PlainJavaScriptObject);
dart.addTypeCaches(_interceptors.PlainJavaScriptObject);
dart.setLibraryUri(_interceptors.PlainJavaScriptObject, I[17]);
_interceptors.UnknownJavaScriptObject = class UnknownJavaScriptObject extends _interceptors.JavaScriptObject {};
(_interceptors.UnknownJavaScriptObject.new = function() {
  _interceptors.UnknownJavaScriptObject.__proto__.new.call(this);
  ;
}).prototype = _interceptors.UnknownJavaScriptObject.prototype;
dart.addTypeTests(_interceptors.UnknownJavaScriptObject);
dart.addTypeCaches(_interceptors.UnknownJavaScriptObject);
dart.setLibraryUri(_interceptors.UnknownJavaScriptObject, I[17]);
_interceptors.NativeError = class NativeError extends _interceptors.Interceptor {
  dartStack() {
    return this.stack;
  }
};
(_interceptors.NativeError.new = function() {
  _interceptors.NativeError.__proto__.new.call(this);
  ;
}).prototype = _interceptors.NativeError.prototype;
dart.addTypeTests(_interceptors.NativeError);
dart.addTypeCaches(_interceptors.NativeError);
dart.setMethodSignature(_interceptors.NativeError, () => ({
  __proto__: dart.getMethods(_interceptors.NativeError.__proto__),
  dartStack: dart.fnType(core.String, []),
  [$dartStack]: dart.fnType(core.String, [])
}));
dart.setLibraryUri(_interceptors.NativeError, I[17]);
dart.defineExtensionMethods(_interceptors.NativeError, ['dartStack']);
var _fieldName = dart.privateName(_interceptors, "_fieldName");
var _functionCallTarget = dart.privateName(_interceptors, "_functionCallTarget");
var _receiver = dart.privateName(_interceptors, "_receiver");
var _receiver$ = dart.privateName(core, "_receiver");
var _arguments = dart.privateName(_interceptors, "_arguments");
var _arguments$ = dart.privateName(core, "_arguments");
var _memberName = dart.privateName(_interceptors, "_memberName");
var _memberName$ = dart.privateName(core, "_memberName");
var _invocation = dart.privateName(_interceptors, "_invocation");
var _invocation$ = dart.privateName(core, "_invocation");
var _namedArguments = dart.privateName(_interceptors, "_namedArguments");
var _namedArguments$ = dart.privateName(core, "_namedArguments");
_interceptors.JSNoSuchMethodError = class JSNoSuchMethodError extends _interceptors.NativeError {
  [_fieldName](message) {
    let t19;
    if (message == null) dart.nullFailed(I[18], 126, 29, "message");
    let match = _interceptors.JSNoSuchMethodError._nullError.firstMatch(message);
    if (match == null) return null;
    let name = dart.nullCheck(match._get(1));
    match = (t19 = _interceptors.JSNoSuchMethodError._extensionName.firstMatch(name), t19 == null ? _interceptors.JSNoSuchMethodError._privateName.firstMatch(name) : t19);
    return match != null ? match._get(1) : name;
  }
  [_functionCallTarget](message) {
    if (message == null) dart.nullFailed(I[18], 134, 38, "message");
    let match = _interceptors.JSNoSuchMethodError._notAFunction.firstMatch(message);
    return match != null ? match._get(1) : null;
  }
  [$dartStack]() {
    let stack = super[$dartStack]();
    stack = dart.notNull(this[$toString]()) + "\n" + dart.notNull(stack[$split]("\n")[$sublist](1)[$join]("\n"));
    return stack;
  }
  get [$stackTrace]() {
    return dart.stackTrace(this);
  }
  [$toString]() {
    let message = this.message;
    let callTarget = this[_functionCallTarget](message);
    if (callTarget != null) {
      return "NoSuchMethodError: tried to call a non-function, such as null: " + "'" + dart.str(callTarget) + "'";
    }
    let name = this[_fieldName](message);
    if (name == null) {
      return this.toString();
    }
    return "NoSuchMethodError: invalid member on null: '" + dart.str(name) + "'";
  }
  get [_receiver$]() {
    return this[$noSuchMethod](new core._Invocation.getter(C[10] || CT.C10));
  }
  get [_arguments$]() {
    return T$.ListN().as(this[$noSuchMethod](new core._Invocation.getter(C[11] || CT.C11)));
  }
  get [_memberName$]() {
    return core.Symbol.as(this[$noSuchMethod](new core._Invocation.getter(C[12] || CT.C12)));
  }
  get [_invocation$]() {
    return T$.InvocationN().as(this[$noSuchMethod](new core._Invocation.getter(C[13] || CT.C13)));
  }
  get [_namedArguments$]() {
    return T$.MapNOfSymbol$dynamic().as(this[$noSuchMethod](new core._Invocation.getter(C[14] || CT.C14)));
  }
};
(_interceptors.JSNoSuchMethodError.new = function() {
  _interceptors.JSNoSuchMethodError.__proto__.new.call(this);
  ;
}).prototype = _interceptors.JSNoSuchMethodError.prototype;
dart.addTypeTests(_interceptors.JSNoSuchMethodError);
dart.addTypeCaches(_interceptors.JSNoSuchMethodError);
_interceptors.JSNoSuchMethodError[dart.implements] = () => [core.NoSuchMethodError];
dart.setMethodSignature(_interceptors.JSNoSuchMethodError, () => ({
  __proto__: dart.getMethods(_interceptors.JSNoSuchMethodError.__proto__),
  [_fieldName]: dart.fnType(dart.nullable(core.String), [core.String]),
  [_functionCallTarget]: dart.fnType(dart.nullable(core.String), [core.String])
}));
dart.setGetterSignature(_interceptors.JSNoSuchMethodError, () => ({
  __proto__: dart.getGetters(_interceptors.JSNoSuchMethodError.__proto__),
  [$stackTrace]: core.StackTrace,
  [_receiver$]: dart.nullable(core.Object),
  [_arguments$]: dart.nullable(core.List),
  [_memberName$]: core.Symbol,
  [_invocation$]: dart.nullable(core.Invocation),
  [_namedArguments$]: dart.nullable(core.Map$(core.Symbol, dart.dynamic))
}));
dart.setLibraryUri(_interceptors.JSNoSuchMethodError, I[17]);
dart.defineLazy(_interceptors.JSNoSuchMethodError, {
  /*_interceptors.JSNoSuchMethodError._nullError*/get _nullError() {
    return core.RegExp.new("^Cannot read property '(.+)' of null$");
  },
  /*_interceptors.JSNoSuchMethodError._notAFunction*/get _notAFunction() {
    return core.RegExp.new("^(.+) is not a function$");
  },
  /*_interceptors.JSNoSuchMethodError._extensionName*/get _extensionName() {
    return core.RegExp.new("^Symbol\\(dartx\\.(.+)\\)$");
  },
  /*_interceptors.JSNoSuchMethodError._privateName*/get _privateName() {
    return core.RegExp.new("^Symbol\\((_.+)\\)$");
  }
}, false);
dart.registerExtension("TypeError", _interceptors.JSNoSuchMethodError);
_interceptors.JSFunction = class JSFunction extends _interceptors.Interceptor {
  [$toString]() {
    if (dart.isType(this)) return dart.typeName(this);
    return "Closure: " + dart.typeName(dart.getReifiedType(this)) + " from: " + this;
  }
  [$_equals](other) {
    if (other == null) return false;
    if (other == null) return false;
    let boundObj = this._boundObject;
    if (boundObj == null) return this === other;
    return boundObj === other._boundObject && this._boundMethod === other._boundMethod;
  }
  get [$hashCode]() {
    let boundObj = this._boundObject;
    if (boundObj == null) return core.identityHashCode(this);
    let boundMethod = this._boundMethod;
    let hash = 17 * 31 + dart.notNull(dart.hashCode(boundObj)) & 536870911;
    return hash * 31 + dart.notNull(core.identityHashCode(boundMethod)) & 536870911;
  }
  get [$runtimeType]() {
    return dart.wrapType(dart.getReifiedType(this));
  }
};
(_interceptors.JSFunction.new = function() {
  _interceptors.JSFunction.__proto__.new.call(this);
  ;
}).prototype = _interceptors.JSFunction.prototype;
dart.addTypeTests(_interceptors.JSFunction);
dart.addTypeCaches(_interceptors.JSFunction);
dart.setLibraryUri(_interceptors.JSFunction, I[17]);
dart.registerExtension("Function", _interceptors.JSFunction);
_interceptors.JSNull = class JSNull extends core.Object {
  toString() {
    return "null";
  }
  noSuchMethod(i) {
    if (i == null) dart.nullFailed(I[18], 210, 27, "i");
    return dart.defaultNoSuchMethod(null, i);
  }
};
(_interceptors.JSNull.new = function() {
  ;
}).prototype = _interceptors.JSNull.prototype;
dart.addTypeTests(_interceptors.JSNull);
dart.addTypeCaches(_interceptors.JSNull);
dart.setLibraryUri(_interceptors.JSNull, I[17]);
dart.defineExtensionMethods(_interceptors.JSNull, ['toString', 'noSuchMethod']);
var _hasValue = dart.privateName(_interceptors, "_hasValue");
var _hasValue$ = dart.privateName(core, "_hasValue");
var _errorExplanation = dart.privateName(_interceptors, "_errorExplanation");
var _errorExplanation$ = dart.privateName(core, "_errorExplanation");
var _errorName = dart.privateName(_interceptors, "_errorName");
var _errorName$ = dart.privateName(core, "_errorName");
_interceptors.JSRangeError = class JSRangeError extends _interceptors.Interceptor {
  get [$stackTrace]() {
    return dart.stackTrace(this);
  }
  get [$invalidValue]() {
    return null;
  }
  get [$name]() {
    return null;
  }
  get [$message]() {
    return this.message;
  }
  [$toString]() {
    return "Invalid argument: " + dart.str(this[$message]);
  }
  get [_hasValue$]() {
    return core.bool.as(this[$noSuchMethod](new core._Invocation.getter(C[15] || CT.C15)));
  }
  get [_errorExplanation$]() {
    return core.String.as(this[$noSuchMethod](new core._Invocation.getter(C[16] || CT.C16)));
  }
  get [_errorName$]() {
    return core.String.as(this[$noSuchMethod](new core._Invocation.getter(C[17] || CT.C17)));
  }
};
(_interceptors.JSRangeError.new = function() {
  _interceptors.JSRangeError.__proto__.new.call(this);
  ;
}).prototype = _interceptors.JSRangeError.prototype;
dart.addTypeTests(_interceptors.JSRangeError);
dart.addTypeCaches(_interceptors.JSRangeError);
_interceptors.JSRangeError[dart.implements] = () => [core.ArgumentError];
dart.setGetterSignature(_interceptors.JSRangeError, () => ({
  __proto__: dart.getGetters(_interceptors.JSRangeError.__proto__),
  [$stackTrace]: core.StackTrace,
  [$invalidValue]: dart.dynamic,
  [$name]: dart.nullable(core.String),
  [$message]: dart.dynamic,
  [_hasValue$]: core.bool,
  [_errorExplanation$]: core.String,
  [_errorName$]: core.String
}));
dart.setLibraryUri(_interceptors.JSRangeError, I[17]);
dart.registerExtension("RangeError", _interceptors.JSRangeError);
var _setLengthUnsafe = dart.privateName(_interceptors, "_setLengthUnsafe");
var _removeWhere = dart.privateName(_interceptors, "_removeWhere");
const _is_JSArray_default = Symbol('_is_JSArray_default');
_interceptors.JSArray$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$WhereIterableOfE = () => (__t$WhereIterableOfE = dart.constFn(_internal.WhereIterable$(E)))();
  var __t$SubListIterableOfE = () => (__t$SubListIterableOfE = dart.constFn(_internal.SubListIterable$(E)))();
  var __t$TakeWhileIterableOfE = () => (__t$TakeWhileIterableOfE = dart.constFn(_internal.TakeWhileIterable$(E)))();
  var __t$SkipWhileIterableOfE = () => (__t$SkipWhileIterableOfE = dart.constFn(_internal.SkipWhileIterable$(E)))();
  var __t$EAndEToE = () => (__t$EAndEToE = dart.constFn(dart.fnType(E, [E, E])))();
  var __t$VoidToE = () => (__t$VoidToE = dart.constFn(dart.fnType(E, [])))();
  var __t$VoidToNE = () => (__t$VoidToNE = dart.constFn(dart.nullable(__t$VoidToE())))();
  var __t$JSArrayOfE = () => (__t$JSArrayOfE = dart.constFn(_interceptors.JSArray$(E)))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  var __t$ReversedListIterableOfE = () => (__t$ReversedListIterableOfE = dart.constFn(_internal.ReversedListIterable$(E)))();
  var __t$LinkedHashSetOfE = () => (__t$LinkedHashSetOfE = dart.constFn(collection.LinkedHashSet$(E)))();
  var __t$ArrayIteratorOfE = () => (__t$ArrayIteratorOfE = dart.constFn(_interceptors.ArrayIterator$(E)))();
  var __t$ListMapViewOfE = () => (__t$ListMapViewOfE = dart.constFn(_internal.ListMapView$(E)))();
  var __t$FollowedByIterableOfE = () => (__t$FollowedByIterableOfE = dart.constFn(_internal.FollowedByIterable$(E)))();
  class JSArray extends core.Object {
    constructor() {
      return [];
    }
    static of(list) {
      list.__proto__ = JSArray.prototype;
      return list;
    }
    static fixed(list) {
      list.__proto__ = JSArray.prototype;
      list.fixed$length = Array;
      return list;
    }
    static unmodifiable(list) {
      list.__proto__ = JSArray.prototype;
      list.fixed$length = Array;
      list.immutable$list = Array;
      return list;
    }
    static markFixedList(list) {
      list.fixed$length = Array;
    }
    static markUnmodifiableList(list) {
      list.fixed$length = Array;
      list.immutable$list = Array;
    }
    [$checkMutable](reason) {
      if (this.immutable$list) {
        dart.throw(new core.UnsupportedError.new(core.String.as(reason)));
      }
    }
    [$checkGrowable](reason) {
      if (this.fixed$length) {
        dart.throw(new core.UnsupportedError.new(core.String.as(reason)));
      }
    }
    [$cast](R) {
      return core.List.castFrom(E, R, this);
    }
    [$add](value) {
      E.as(value);
      this[$checkGrowable]("add");
      this.push(value);
    }
    [$removeAt](index) {
      if (index == null) dart.argumentError(index);
      this[$checkGrowable]("removeAt");
      if (index < 0 || index >= this[$length]) {
        dart.throw(new core.RangeError.value(index));
      }
      return this.splice(index, 1)[0];
    }
    [$insert](index, value) {
      if (index == null) dart.argumentError(index);
      E.as(value);
      this[$checkGrowable]("insert");
      if (index < 0 || index > this[$length]) {
        dart.throw(new core.RangeError.value(index));
      }
      this.splice(index, 0, value);
    }
    [$insertAll](index, iterable) {
      if (index == null) dart.argumentError(index);
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[19], 93, 52, "iterable");
      this[$checkGrowable]("insertAll");
      core.RangeError.checkValueInInterval(index, 0, this[$length], "index");
      if (!_internal.EfficientLengthIterable.is(iterable)) {
        iterable = iterable[$toList]();
      }
      let insertionLength = dart.notNull(iterable[$length]);
      this[_setLengthUnsafe](this[$length] + insertionLength);
      let end = index + insertionLength;
      this[$setRange](end, this[$length], this, index);
      this[$setRange](index, end, iterable);
    }
    [$setAll](index, iterable) {
      let t19;
      if (index == null) dart.argumentError(index);
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[19], 107, 49, "iterable");
      this[$checkMutable]("setAll");
      core.RangeError.checkValueInInterval(index, 0, this[$length], "index");
      for (let element of iterable) {
        this[$_set]((t19 = index, index = t19 + 1, t19), element);
      }
    }
    [$removeLast]() {
      this[$checkGrowable]("removeLast");
      if (this[$length] === 0) dart.throw(_js_helper.diagnoseIndexError(this, -1));
      return this.pop();
    }
    [$remove](element) {
      this[$checkGrowable]("remove");
      let length = this[$length];
      for (let i = 0; i < length; i = i + 1) {
        if (dart.equals(this[$_get](i), element)) {
          this.splice(i, 1);
          return true;
        }
      }
      return false;
    }
    [$removeWhere](test) {
      if (test == null) dart.nullFailed(I[19], 136, 37, "test");
      this[$checkGrowable]("removeWhere");
      this[_removeWhere](test, true);
    }
    [$retainWhere](test) {
      if (test == null) dart.nullFailed(I[19], 141, 37, "test");
      this[$checkGrowable]("retainWhere");
      this[_removeWhere](test, false);
    }
    [_removeWhere](test, removeMatching) {
      if (test == null) dart.nullFailed(I[19], 146, 38, "test");
      if (removeMatching == null) dart.nullFailed(I[19], 146, 49, "removeMatching");
      let retained = [];
      let end = this[$length];
      for (let i = 0; i < end; i = i + 1) {
        let element = this[i];
        if (!dart.test(test(element)) === removeMatching) {
          retained.push(element);
        }
        if (this[$length] !== end) dart.throw(new core.ConcurrentModificationError.new(this));
      }
      if (retained[$length] === end) return;
      this[$length] = retained[$length];
      let length = dart.notNull(retained[$length]);
      for (let i = 0; i < length; i = i + 1) {
        this[i] = retained[i];
      }
    }
    [$where](f) {
      if (f == null) dart.nullFailed(I[19], 175, 38, "f");
      return new (__t$WhereIterableOfE()).new(this, f);
    }
    [$expand](T, f) {
      if (f == null) dart.nullFailed(I[19], 179, 49, "f");
      return new (_internal.ExpandIterable$(E, T)).new(this, f);
    }
    [$addAll](collection) {
      __t$IterableOfE().as(collection);
      if (collection == null) dart.nullFailed(I[19], 183, 27, "collection");
      let i = this[$length];
      this[$checkGrowable]("addAll");
      for (let e of collection) {
        if (!(i === this[$length] || dart.throw(new core.ConcurrentModificationError.new(this)))) dart.assertFailed(null, I[19], 187, 14, "i == this.length || (throw ConcurrentModificationError(this))");
        i = i + 1;
        this.push(e);
      }
    }
    [$clear]() {
      this[$length] = 0;
    }
    [$forEach](f) {
      if (f == null) dart.nullFailed(I[19], 197, 33, "f");
      let end = this[$length];
      for (let i = 0; i < end; i = i + 1) {
        let element = this[i];
        f(element);
        if (this[$length] !== end) dart.throw(new core.ConcurrentModificationError.new(this));
      }
    }
    [$map](T, f) {
      if (f == null) dart.nullFailed(I[19], 206, 36, "f");
      return new (_internal.MappedListIterable$(E, T)).new(this, f);
    }
    [$join](separator = "") {
      if (separator == null) dart.nullFailed(I[19], 210, 23, "separator");
      let length = this[$length];
      let list = T$.ListOfString().filled(length, "");
      for (let i = 0; i < length; i = i + 1) {
        list[$_set](i, dart.str(this[$_get](i)));
      }
      return list.join(separator);
    }
    [$take](n) {
      if (n == null) dart.nullFailed(I[19], 219, 24, "n");
      return new (__t$SubListIterableOfE()).new(this, 0, _internal.checkNotNullable(core.int, n, "count"));
    }
    [$takeWhile](test) {
      if (test == null) dart.nullFailed(I[19], 223, 30, "test");
      return new (__t$TakeWhileIterableOfE()).new(this, test);
    }
    [$skip](n) {
      if (n == null) dart.nullFailed(I[19], 227, 24, "n");
      return new (__t$SubListIterableOfE()).new(this, n, null);
    }
    [$skipWhile](test) {
      if (test == null) dart.nullFailed(I[19], 231, 42, "test");
      return new (__t$SkipWhileIterableOfE()).new(this, test);
    }
    [$reduce](combine) {
      __t$EAndEToE().as(combine);
      if (combine == null) dart.nullFailed(I[19], 235, 14, "combine");
      let length = this[$length];
      if (length === 0) dart.throw(_internal.IterableElementError.noElement());
      let value = this[$_get](0);
      for (let i = 1; i < length; i = i + 1) {
        let element = this[i];
        value = combine(value, element);
        if (length !== this[$length]) dart.throw(new core.ConcurrentModificationError.new(this));
      }
      return value;
    }
    [$fold](T, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[19], 247, 68, "combine");
      let value = initialValue;
      let length = this[$length];
      for (let i = 0; i < length; i = i + 1) {
        let element = this[i];
        value = combine(value, element);
        if (this[$length] !== length) dart.throw(new core.ConcurrentModificationError.new(this));
      }
      return value;
    }
    [$firstWhere](test, opts) {
      if (test == null) dart.nullFailed(I[19], 258, 33, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let end = this[$length];
      for (let i = 0; i < end; i = i + 1) {
        let element = this[i];
        if (dart.test(test(element))) return element;
        if (this[$length] !== end) dart.throw(new core.ConcurrentModificationError.new(this));
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    [$lastWhere](test, opts) {
      if (test == null) dart.nullFailed(I[19], 269, 32, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this[$length];
      for (let i = length - 1; i >= 0; i = i - 1) {
        let element = this[i];
        if (dart.test(test(element))) return element;
        if (length !== this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    [$singleWhere](test, opts) {
      if (test == null) dart.nullFailed(I[19], 282, 34, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this[$length];
      let match = null;
      let matchFound = false;
      for (let i = 0; i < length; i = i + 1) {
        let element = this[i];
        if (dart.test(test(element))) {
          if (matchFound) {
            dart.throw(_internal.IterableElementError.tooMany());
          }
          matchFound = true;
          match = element;
        }
        if (length !== this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (matchFound) return E.as(match);
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    [$elementAt](index) {
      if (index == null) dart.nullFailed(I[19], 304, 19, "index");
      return this[$_get](index);
    }
    [$sublist](start, end = null) {
      if (start == null) dart.argumentError(start);
      if (start < 0 || start > this[$length]) {
        dart.throw(new core.RangeError.range(start, 0, this[$length], "start"));
      }
      if (end == null) {
        end = this[$length];
      } else {
        let _end = end;
        if (_end < start || _end > this[$length]) {
          dart.throw(new core.RangeError.range(end, start, this[$length], "end"));
        }
      }
      if (start === end) return __t$JSArrayOfE().of([]);
      return __t$JSArrayOfE().of(this.slice(start, end));
    }
    [$getRange](start, end) {
      if (start == null) dart.nullFailed(I[19], 325, 28, "start");
      if (end == null) dart.nullFailed(I[19], 325, 39, "end");
      core.RangeError.checkValidRange(start, end, this[$length]);
      return new (__t$SubListIterableOfE()).new(this, start, end);
    }
    get [$first]() {
      if (this[$length] > 0) return this[$_get](0);
      dart.throw(_internal.IterableElementError.noElement());
    }
    get [$last]() {
      if (this[$length] > 0) return this[$_get](this[$length] - 1);
      dart.throw(_internal.IterableElementError.noElement());
    }
    get [$single]() {
      if (this[$length] === 1) return this[$_get](0);
      if (this[$length] === 0) dart.throw(_internal.IterableElementError.noElement());
      dart.throw(_internal.IterableElementError.tooMany());
    }
    [$removeRange](start, end) {
      if (start == null) dart.argumentError(start);
      if (end == null) dart.argumentError(end);
      this[$checkGrowable]("removeRange");
      core.RangeError.checkValidRange(start, end, this[$length]);
      let deleteCount = end - start;
      this.splice(start, deleteCount);
    }
    [$setRange](start, end, iterable, skipCount = 0) {
      if (start == null) dart.argumentError(start);
      if (end == null) dart.argumentError(end);
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[19], 353, 71, "iterable");
      if (skipCount == null) dart.argumentError(skipCount);
      this[$checkMutable]("set range");
      core.RangeError.checkValidRange(start, end, this[$length]);
      let length = end - start;
      if (length === 0) return;
      core.RangeError.checkNotNegative(skipCount, "skipCount");
      let otherList = __t$JSArrayOfE().of([]);
      let otherStart = 0;
      if (__t$ListOfE().is(iterable)) {
        otherList = iterable;
        otherStart = skipCount;
      } else {
        otherList = iterable[$skip](skipCount)[$toList]({growable: false});
        otherStart = 0;
      }
      if (otherStart + length > dart.notNull(otherList[$length])) {
        dart.throw(_internal.IterableElementError.tooFew());
      }
      if (otherStart < start) {
        for (let i = length - 1; i >= 0; i = i - 1) {
          let element = otherList[$_get](otherStart + i);
          this[start + i] = element;
        }
      } else {
        for (let i = 0; i < length; i = i + 1) {
          let element = otherList[$_get](otherStart + i);
          this[start + i] = element;
        }
      }
    }
    [$fillRange](start, end, fillValue = null) {
      if (start == null) dart.argumentError(start);
      if (end == null) dart.argumentError(end);
      __t$EN().as(fillValue);
      this[$checkMutable]("fill range");
      core.RangeError.checkValidRange(start, end, this[$length]);
      let checkedFillValue = E.as(fillValue);
      for (let i = start; i < end; i = i + 1) {
        this[i] = checkedFillValue;
      }
    }
    [$replaceRange](start, end, replacement) {
      if (start == null) dart.argumentError(start);
      if (end == null) dart.argumentError(end);
      __t$IterableOfE().as(replacement);
      if (replacement == null) dart.nullFailed(I[19], 404, 61, "replacement");
      this[$checkGrowable]("replace range");
      core.RangeError.checkValidRange(start, end, this[$length]);
      if (!_internal.EfficientLengthIterable.is(replacement)) {
        replacement = replacement[$toList]();
      }
      let removeLength = end - start;
      let insertLength = dart.notNull(replacement[$length]);
      if (removeLength >= insertLength) {
        let delta = removeLength - insertLength;
        let insertEnd = start + insertLength;
        let newLength = this[$length] - delta;
        this[$setRange](start, insertEnd, replacement);
        if (delta !== 0) {
          this[$setRange](insertEnd, newLength, this, end);
          this[$length] = newLength;
        }
      } else {
        let delta = insertLength - removeLength;
        let newLength = this[$length] + delta;
        let insertEnd = start + insertLength;
        this[_setLengthUnsafe](newLength);
        this[$setRange](insertEnd, newLength, this, end);
        this[$setRange](start, insertEnd, replacement);
      }
    }
    [$any](test) {
      if (test == null) dart.nullFailed(I[19], 432, 29, "test");
      let end = this[$length];
      for (let i = 0; i < end; i = i + 1) {
        let element = this[i];
        if (dart.test(test(element))) return true;
        if (this[$length] !== end) dart.throw(new core.ConcurrentModificationError.new(this));
      }
      return false;
    }
    [$every](test) {
      if (test == null) dart.nullFailed(I[19], 442, 31, "test");
      let end = this[$length];
      for (let i = 0; i < end; i = i + 1) {
        let element = this[i];
        if (!dart.test(test(element))) return false;
        if (this[$length] !== end) dart.throw(new core.ConcurrentModificationError.new(this));
      }
      return true;
    }
    get [$reversed]() {
      return new (__t$ReversedListIterableOfE()).new(this);
    }
    [$sort](compare = null) {
      this[$checkMutable]("sort");
      if (compare == null) {
        _internal.Sort.sort(E, this, dart.fn((a, b) => core.Comparable.compare(core.Comparable.as(a), core.Comparable.as(b)), T$.ObjectNAndObjectNToint()));
      } else {
        _internal.Sort.sort(E, this, compare);
      }
    }
    [$shuffle](random = null) {
      this[$checkMutable]("shuffle");
      if (random == null) random = math.Random.new();
      let length = this[$length];
      while (length > 1) {
        let pos = random.nextInt(length);
        length = length - 1;
        let tmp = this[$_get](length);
        this[$_set](length, this[$_get](pos));
        this[$_set](pos, tmp);
      }
    }
    [$indexOf](element, start = 0) {
      if (start == null) dart.argumentError(start);
      let length = this[$length];
      if (start >= length) {
        return -1;
      }
      if (start < 0) {
        start = 0;
      }
      for (let i = start; i < length; i = i + 1) {
        if (dart.equals(this[$_get](i), element)) {
          return i;
        }
      }
      return -1;
    }
    [$lastIndexOf](element, startIndex = null) {
      let t19;
      let start = (t19 = startIndex, t19 == null ? this[$length] - 1 : t19);
      if (start >= this[$length]) {
        start = this[$length] - 1;
      } else if (start < 0) {
        return -1;
      }
      for (let i = start; i >= 0; i = i - 1) {
        if (dart.equals(this[$_get](i), element)) {
          return i;
        }
      }
      return -1;
    }
    [$contains](other) {
      let length = this[$length];
      for (let i = 0; i < length; i = i + 1) {
        let element = this[i];
        if (dart.equals(element, other)) return true;
      }
      return false;
    }
    get [$isEmpty]() {
      return this[$length] === 0;
    }
    get [$isNotEmpty]() {
      return !this[$isEmpty];
    }
    [$toString]() {
      return collection.ListBase.listToString(this);
    }
    [$toList](opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.argumentError(growable);
      let list = this.slice();
      if (!growable) _interceptors.JSArray.markFixedList(list);
      return __t$JSArrayOfE().of(list);
    }
    [$toSet]() {
      return __t$LinkedHashSetOfE().from(this);
    }
    get [$iterator]() {
      return new (__t$ArrayIteratorOfE()).new(this);
    }
    get [$hashCode]() {
      return core.identityHashCode(this);
    }
    [$_equals](other) {
      if (other == null) return false;
      return this === other;
    }
    get [$length]() {
      return this.length;
    }
    set [$length](newLength) {
      if (newLength == null) dart.argumentError(newLength);
      this[$checkGrowable]("set length");
      if (newLength < 0) {
        dart.throw(new core.RangeError.range(newLength, 0, null, "newLength"));
      }
      if (newLength > this[$length]) E.as(null);
      this.length = newLength;
    }
    [_setLengthUnsafe](newLength) {
      if (newLength == null) dart.nullFailed(I[19], 566, 29, "newLength");
      if (dart.notNull(newLength) < 0) {
        dart.throw(new core.RangeError.range(newLength, 0, null, "newLength"));
      }
      this.length = newLength;
    }
    [$_get](index) {
      if (index == null) dart.nullFailed(I[19], 576, 21, "index");
      if (index == null || index >= this.length || index < 0) {
        dart.throw(_js_helper.diagnoseIndexError(this, index));
      }
      return this[index];
    }
    [$_set](index, value$) {
      let value = value$;
      if (index == null) dart.nullFailed(I[19], 586, 25, "index");
      E.as(value);
      this[$checkMutable]("indexed set");
      if (index == null || index >= this.length || index < 0) {
        dart.throw(_js_helper.diagnoseIndexError(this, index));
      }
      this[index] = value;
      return value$;
    }
    [$asMap]() {
      return new (__t$ListMapViewOfE()).new(this);
    }
    get [$runtimeType]() {
      return dart.wrapType(core.List$(E));
    }
    [$followedBy](other) {
      __t$IterableOfE().as(other);
      if (other == null) dart.nullFailed(I[19], 603, 38, "other");
      return __t$FollowedByIterableOfE().firstEfficient(this, other);
    }
    [$whereType](T) {
      return new (_internal.WhereTypeIterable$(T)).new(this);
    }
    [$plus](other) {
      __t$ListOfE().as(other);
      if (other == null) dart.nullFailed(I[19], 608, 30, "other");
      return (() => {
        let t19 = __t$ListOfE().of(this);
        t19[$addAll](other);
        return t19;
      })();
    }
    [$indexWhere](test, start = 0) {
      if (test == null) dart.nullFailed(I[19], 610, 35, "test");
      if (start == null) dart.nullFailed(I[19], 610, 46, "start");
      if (dart.notNull(start) >= this[$length]) return -1;
      if (dart.notNull(start) < 0) start = 0;
      for (let i = start; dart.notNull(i) < this[$length]; i = dart.notNull(i) + 1) {
        if (dart.test(test(this[$_get](i)))) return i;
      }
      return -1;
    }
    [$lastIndexWhere](test, start = null) {
      if (test == null) dart.nullFailed(I[19], 619, 39, "test");
      if (start == null) start = this[$length] - 1;
      if (dart.notNull(start) < 0) return -1;
      for (let i = start; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
        if (dart.test(test(this[$_get](i)))) return i;
      }
      return -1;
    }
    set [$first](element) {
      E.as(element);
      if (this[$isEmpty]) dart.throw(new core.IndexError.new(0, this));
      this[$_set](0, element);
    }
    set [$last](element) {
      E.as(element);
      if (this[$isEmpty]) dart.throw(new core.IndexError.new(0, this));
      this[$_set](this[$length] - 1, element);
    }
  }
  (JSArray.new = function() {
    ;
  }).prototype = JSArray.prototype;
  dart.setExtensionBaseClass(JSArray, dart.global.Array);
  JSArray.prototype[dart.isList] = true;
  dart.addTypeTests(JSArray);
  JSArray.prototype[_is_JSArray_default] = true;
  dart.addTypeCaches(JSArray);
  JSArray[dart.implements] = () => [core.List$(E), _interceptors.JSIndexable$(E)];
  dart.setMethodSignature(JSArray, () => ({
    __proto__: dart.getMethods(JSArray.__proto__),
    [$checkMutable]: dart.fnType(dart.dynamic, [dart.dynamic]),
    [$checkGrowable]: dart.fnType(dart.dynamic, [dart.dynamic]),
    [$cast]: dart.gFnType(R => [core.List$(R), []], R => [dart.nullable(core.Object)]),
    [$add]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$removeAt]: dart.fnType(E, [core.int]),
    [$insert]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insertAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$setAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$removeLast]: dart.fnType(E, []),
    [$remove]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$retainWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [_removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E]), core.bool]),
    [$where]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$expand]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$clear]: dart.fnType(dart.void, []),
    [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$join]: dart.fnType(core.String, [], [core.String]),
    [$take]: dart.fnType(core.Iterable$(E), [core.int]),
    [$takeWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$skip]: dart.fnType(core.Iterable$(E), [core.int]),
    [$skipWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$reduce]: dart.fnType(E, [dart.nullable(core.Object)]),
    [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    [$firstWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$lastWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$singleWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$elementAt]: dart.fnType(E, [core.int]),
    [$sublist]: dart.fnType(core.List$(E), [core.int], [dart.nullable(core.int)]),
    [$getRange]: dart.fnType(core.Iterable$(E), [core.int, core.int]),
    [$removeRange]: dart.fnType(dart.void, [core.int, core.int]),
    [$setRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)], [core.int]),
    [$fillRange]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.Object)]),
    [$replaceRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    [$any]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$every]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$sort]: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(core.int, [E, E]))]),
    [$shuffle]: dart.fnType(dart.void, [], [dart.nullable(math.Random)]),
    [$indexOf]: dart.fnType(core.int, [dart.nullable(core.Object)], [core.int]),
    [$lastIndexOf]: dart.fnType(core.int, [dart.nullable(core.Object)], [dart.nullable(core.int)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$toList]: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    [$toSet]: dart.fnType(core.Set$(E), []),
    [_setLengthUnsafe]: dart.fnType(dart.void, [core.int]),
    [$_get]: dart.fnType(E, [core.int]),
    [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$asMap]: dart.fnType(core.Map$(core.int, E), []),
    [$followedBy]: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    [$whereType]: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    [$plus]: dart.fnType(core.List$(E), [dart.nullable(core.Object)]),
    [$indexWhere]: dart.fnType(core.int, [dart.fnType(core.bool, [E])], [core.int]),
    [$lastIndexWhere]: dart.fnType(core.int, [dart.fnType(core.bool, [E])], [dart.nullable(core.int)])
  }));
  dart.setGetterSignature(JSArray, () => ({
    __proto__: dart.getGetters(JSArray.__proto__),
    [$first]: E,
    [$last]: E,
    [$single]: E,
    [$reversed]: core.Iterable$(E),
    [$isEmpty]: core.bool,
    [$isNotEmpty]: core.bool,
    [$iterator]: core.Iterator$(E),
    [$length]: core.int
  }));
  dart.setSetterSignature(JSArray, () => ({
    __proto__: dart.getSetters(JSArray.__proto__),
    [$length]: core.int,
    [$first]: dart.nullable(core.Object),
    [$last]: dart.nullable(core.Object)
  }));
  dart.setLibraryUri(JSArray, I[17]);
  return JSArray;
});
_interceptors.JSArray = _interceptors.JSArray$();
dart.addTypeTests(_interceptors.JSArray, _is_JSArray_default);
dart.registerExtension("Array", _interceptors.JSArray);
const _is_JSMutableArray_default = Symbol('_is_JSMutableArray_default');
_interceptors.JSMutableArray$ = dart.generic(E => {
  class JSMutableArray extends _interceptors.JSArray$(E) {}
  (JSMutableArray.new = function() {
    JSMutableArray.__proto__.new.call(this);
    ;
  }).prototype = JSMutableArray.prototype;
  dart.addTypeTests(JSMutableArray);
  JSMutableArray.prototype[_is_JSMutableArray_default] = true;
  dart.addTypeCaches(JSMutableArray);
  JSMutableArray[dart.implements] = () => [_interceptors.JSMutableIndexable$(E)];
  dart.setLibraryUri(JSMutableArray, I[17]);
  return JSMutableArray;
});
_interceptors.JSMutableArray = _interceptors.JSMutableArray$();
dart.addTypeTests(_interceptors.JSMutableArray, _is_JSMutableArray_default);
const _is_JSFixedArray_default = Symbol('_is_JSFixedArray_default');
_interceptors.JSFixedArray$ = dart.generic(E => {
  class JSFixedArray extends _interceptors.JSMutableArray$(E) {}
  (JSFixedArray.new = function() {
    JSFixedArray.__proto__.new.call(this);
    ;
  }).prototype = JSFixedArray.prototype;
  dart.addTypeTests(JSFixedArray);
  JSFixedArray.prototype[_is_JSFixedArray_default] = true;
  dart.addTypeCaches(JSFixedArray);
  dart.setLibraryUri(JSFixedArray, I[17]);
  return JSFixedArray;
});
_interceptors.JSFixedArray = _interceptors.JSFixedArray$();
dart.addTypeTests(_interceptors.JSFixedArray, _is_JSFixedArray_default);
const _is_JSExtendableArray_default = Symbol('_is_JSExtendableArray_default');
_interceptors.JSExtendableArray$ = dart.generic(E => {
  class JSExtendableArray extends _interceptors.JSMutableArray$(E) {}
  (JSExtendableArray.new = function() {
    JSExtendableArray.__proto__.new.call(this);
    ;
  }).prototype = JSExtendableArray.prototype;
  dart.addTypeTests(JSExtendableArray);
  JSExtendableArray.prototype[_is_JSExtendableArray_default] = true;
  dart.addTypeCaches(JSExtendableArray);
  dart.setLibraryUri(JSExtendableArray, I[17]);
  return JSExtendableArray;
});
_interceptors.JSExtendableArray = _interceptors.JSExtendableArray$();
dart.addTypeTests(_interceptors.JSExtendableArray, _is_JSExtendableArray_default);
const _is_JSUnmodifiableArray_default = Symbol('_is_JSUnmodifiableArray_default');
_interceptors.JSUnmodifiableArray$ = dart.generic(E => {
  class JSUnmodifiableArray extends _interceptors.JSArray$(E) {}
  (JSUnmodifiableArray.new = function() {
    JSUnmodifiableArray.__proto__.new.call(this);
    ;
  }).prototype = JSUnmodifiableArray.prototype;
  dart.addTypeTests(JSUnmodifiableArray);
  JSUnmodifiableArray.prototype[_is_JSUnmodifiableArray_default] = true;
  dart.addTypeCaches(JSUnmodifiableArray);
  dart.setLibraryUri(JSUnmodifiableArray, I[17]);
  return JSUnmodifiableArray;
});
_interceptors.JSUnmodifiableArray = _interceptors.JSUnmodifiableArray$();
dart.addTypeTests(_interceptors.JSUnmodifiableArray, _is_JSUnmodifiableArray_default);
var _current = dart.privateName(_interceptors, "_current");
var _iterable = dart.privateName(_interceptors, "_iterable");
var _length = dart.privateName(_interceptors, "_length");
var _index = dart.privateName(_interceptors, "_index");
const _is_ArrayIterator_default = Symbol('_is_ArrayIterator_default');
_interceptors.ArrayIterator$ = dart.generic(E => {
  class ArrayIterator extends core.Object {
    get current() {
      return E.as(this[_current]);
    }
    moveNext() {
      let length = this[_iterable][$length];
      if (this[_length] !== length) {
        dart.throw(_js_helper.throwConcurrentModificationError(this[_iterable]));
      }
      if (this[_index] >= length) {
        this[_current] = null;
        return false;
      }
      this[_current] = this[_iterable][$_get](this[_index]);
      this[_index] = this[_index] + 1;
      return true;
    }
  }
  (ArrayIterator.new = function(iterable) {
    if (iterable == null) dart.nullFailed(I[19], 668, 28, "iterable");
    this[_current] = null;
    this[_iterable] = iterable;
    this[_length] = iterable[$length];
    this[_index] = 0;
    ;
  }).prototype = ArrayIterator.prototype;
  dart.addTypeTests(ArrayIterator);
  ArrayIterator.prototype[_is_ArrayIterator_default] = true;
  dart.addTypeCaches(ArrayIterator);
  ArrayIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(ArrayIterator, () => ({
    __proto__: dart.getMethods(ArrayIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(ArrayIterator, () => ({
    __proto__: dart.getGetters(ArrayIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(ArrayIterator, I[17]);
  dart.setFieldSignature(ArrayIterator, () => ({
    __proto__: dart.getFields(ArrayIterator.__proto__),
    [_iterable]: dart.finalFieldType(_interceptors.JSArray$(E)),
    [_length]: dart.finalFieldType(core.int),
    [_index]: dart.fieldType(core.int),
    [_current]: dart.fieldType(dart.nullable(E))
  }));
  return ArrayIterator;
});
_interceptors.ArrayIterator = _interceptors.ArrayIterator$();
dart.addTypeTests(_interceptors.ArrayIterator, _is_ArrayIterator_default);
var _isInt32 = dart.privateName(_interceptors, "_isInt32");
var _tdivSlow = dart.privateName(_interceptors, "_tdivSlow");
var _shlPositive = dart.privateName(_interceptors, "_shlPositive");
var _shrOtherPositive = dart.privateName(_interceptors, "_shrOtherPositive");
var _shrUnsigned = dart.privateName(_interceptors, "_shrUnsigned");
_interceptors.JSNumber = class JSNumber extends _interceptors.Interceptor {
  [$compareTo](b) {
    core.num.as(b);
    if (b == null) dart.argumentError(b);
    if (this < b) {
      return -1;
    } else if (this > b) {
      return 1;
    } else if (this === b) {
      if (this === 0) {
        let bIsNegative = b[$isNegative];
        if (this[$isNegative] === bIsNegative) return 0;
        if (this[$isNegative]) return -1;
        return 1;
      }
      return 0;
    } else if (this[$isNaN]) {
      if (b[$isNaN]) {
        return 0;
      }
      return 1;
    } else {
      return -1;
    }
  }
  get [$isNegative]() {
    return this === 0 ? 1 / this < 0 : this < 0;
  }
  get [$isNaN]() {
    return isNaN(this);
  }
  get [$isInfinite]() {
    return this == 1 / 0 || this == -1 / 0;
  }
  get [$isFinite]() {
    return isFinite(this);
  }
  [$remainder](b) {
    if (b == null) dart.argumentError(b);
    return this % b;
  }
  [$abs]() {
    return Math.abs(this);
  }
  get [$sign]() {
    return _interceptors.JSNumber.as(this > 0 ? 1 : this < 0 ? -1 : this);
  }
  [$toInt]() {
    if (this >= -2147483648 && this <= 2147483647) {
      return this | 0;
    }
    if (isFinite(this)) {
      return this[$truncateToDouble]() + 0;
    }
    dart.throw(new core.UnsupportedError.new("" + this));
  }
  [$truncate]() {
    return this[$toInt]();
  }
  [$ceil]() {
    return this[$ceilToDouble]()[$toInt]();
  }
  [$floor]() {
    return this[$floorToDouble]()[$toInt]();
  }
  [$round]() {
    if (this > 0) {
      if (this !== 1 / 0) {
        return Math.round(this);
      }
    } else if (this > -1 / 0) {
      return 0 - Math.round(0 - this);
    }
    dart.throw(new core.UnsupportedError.new("" + this));
  }
  [$ceilToDouble]() {
    return Math.ceil(this);
  }
  [$floorToDouble]() {
    return Math.floor(this);
  }
  [$roundToDouble]() {
    if (this < 0) {
      return -Math.round(-this);
    } else {
      return Math.round(this);
    }
  }
  [$truncateToDouble]() {
    return this < 0 ? this[$ceilToDouble]() : this[$floorToDouble]();
  }
  [$clamp](lowerLimit, upperLimit) {
    if (lowerLimit == null) dart.argumentError(lowerLimit);
    if (upperLimit == null) dart.argumentError(upperLimit);
    if (lowerLimit[$compareTo](upperLimit) > 0) {
      dart.throw(_js_helper.argumentErrorValue(lowerLimit));
    }
    if (this[$compareTo](lowerLimit) < 0) return lowerLimit;
    if (this[$compareTo](upperLimit) > 0) return upperLimit;
    return this;
  }
  [$toDouble]() {
    return this;
  }
  [$toStringAsFixed](fractionDigits) {
    if (fractionDigits == null) dart.argumentError(fractionDigits);
    if (fractionDigits < 0 || fractionDigits > 20) {
      dart.throw(new core.RangeError.range(fractionDigits, 0, 20, "fractionDigits"));
    }
    let result = this.toFixed(fractionDigits);
    if (this === 0 && this[$isNegative]) return "-" + result;
    return result;
  }
  [$toStringAsExponential](fractionDigits = null) {
    let result = null;
    if (fractionDigits != null) {
      let _fractionDigits = fractionDigits;
      if (_fractionDigits < 0 || _fractionDigits > 20) {
        dart.throw(new core.RangeError.range(_fractionDigits, 0, 20, "fractionDigits"));
      }
      result = this.toExponential(_fractionDigits);
    } else {
      result = this.toExponential();
    }
    if (this === 0 && this[$isNegative]) return "-" + dart.str(result);
    return result;
  }
  [$toStringAsPrecision](precision) {
    if (precision == null) dart.argumentError(precision);
    if (precision < 1 || precision > 21) {
      dart.throw(new core.RangeError.range(precision, 1, 21, "precision"));
    }
    let result = this.toPrecision(precision);
    if (this === 0 && this[$isNegative]) return "-" + result;
    return result;
  }
  [$toRadixString](radix) {
    if (radix == null) dart.argumentError(radix);
    if (radix < 2 || radix > 36) {
      dart.throw(new core.RangeError.range(radix, 2, 36, "radix"));
    }
    let result = this.toString(radix);
    if (result[$codeUnitAt](result.length - 1) !== 41) {
      return result;
    }
    return _interceptors.JSNumber._handleIEtoString(result);
  }
  static _handleIEtoString(result) {
    if (result == null) dart.nullFailed(I[20], 194, 42, "result");
    let match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
    if (match == null) {
      dart.throw(new core.UnsupportedError.new("Unexpected toString result: " + dart.str(result)));
    }
    result = match[$_get](1);
    let exponent = +match[$_get](3);
    if (match[$_get](2) != null) {
      result = result + match[$_get](2);
      exponent = exponent - match[$_get](2).length;
    }
    return dart.notNull(result) + "0"[$times](exponent);
  }
  [$toString]() {
    if (this === 0 && 1 / this < 0) {
      return "-0.0";
    } else {
      return "" + this;
    }
  }
  get [$hashCode]() {
    let intValue = this | 0;
    if (this === intValue) return 536870911 & intValue;
    let absolute = Math.abs(this);
    let lnAbsolute = Math.log(absolute);
    let log2 = lnAbsolute / 0.6931471805599453;
    let floorLog2 = log2 | 0;
    let factor = Math.pow(2, floorLog2);
    let scaled = absolute < 1 ? absolute / factor : factor / absolute;
    let rescaled1 = scaled * 9007199254740992;
    let rescaled2 = scaled * 3542243181176521;
    let d1 = rescaled1 | 0;
    let d2 = rescaled2 | 0;
    let d3 = floorLog2;
    let h = 536870911 & (d1 + d2) * (601 * 997) + d3 * 1259;
    return h;
  }
  [$_negate]() {
    return -this;
  }
  [$plus](other) {
    if (other == null) dart.argumentError(other);
    return this + other;
  }
  [$minus](other) {
    if (other == null) dart.argumentError(other);
    return this - other;
  }
  [$divide](other) {
    if (other == null) dart.argumentError(other);
    return this / other;
  }
  [$times](other) {
    if (other == null) dart.argumentError(other);
    return this * other;
  }
  [$modulo](other) {
    if (other == null) dart.argumentError(other);
    let result = this % other;
    if (result === 0) return _interceptors.JSNumber.as(0);
    if (result > 0) return result;
    if (other < 0) {
      return result - other;
    } else {
      return result + other;
    }
  }
  [_isInt32](value) {
    return (value | 0) === value;
  }
  [$floorDivide](other) {
    if (other == null) dart.argumentError(other);
    if (this[_isInt32](this) && this[_isInt32](other) && 0 !== other && -1 !== other) {
      return this / other | 0;
    } else {
      return this[_tdivSlow](other);
    }
  }
  [_tdivSlow](other) {
    if (other == null) dart.nullFailed(I[20], 308, 21, "other");
    return (this / other)[$toInt]();
  }
  [$leftShift](other) {
    if (other == null) dart.argumentError(other);
    if (other < 0) _js_helper.throwArgumentErrorValue(other);
    return this[_shlPositive](other);
  }
  [_shlPositive](other) {
    return other > 31 ? 0 : this << other >>> 0;
  }
  [$rightShift](other) {
    if (other == null) dart.argumentError(other);
    if (other < 0) _js_helper.throwArgumentErrorValue(other);
    return this[_shrOtherPositive](other);
  }
  [$tripleShift](other) {
    if (other == null) dart.argumentError(other);
    if (other < 0) _js_helper.throwArgumentErrorValue(other);
    return this[_shrUnsigned](other);
  }
  [_shrOtherPositive](other) {
    return this > 0 ? this[_shrUnsigned](other) : this >> (other > 31 ? 31 : other) >>> 0;
  }
  [_shrUnsigned](other) {
    return other > 31 ? 0 : this >>> other;
  }
  [$bitAnd](other) {
    if (other == null) dart.argumentError(other);
    return (this & other) >>> 0;
  }
  [$bitOr](other) {
    if (other == null) dart.argumentError(other);
    return (this | other) >>> 0;
  }
  [$bitXor](other) {
    if (other == null) dart.argumentError(other);
    return (this ^ other) >>> 0;
  }
  [$lessThan](other) {
    if (other == null) dart.argumentError(other);
    return this < other;
  }
  [$greaterThan](other) {
    if (other == null) dart.argumentError(other);
    return this > other;
  }
  [$lessOrEquals](other) {
    if (other == null) dart.argumentError(other);
    return this <= other;
  }
  [$greaterOrEquals](other) {
    if (other == null) dart.argumentError(other);
    return this >= other;
  }
  get [$isEven]() {
    return (this & 1) === 0;
  }
  get [$isOdd]() {
    return (this & 1) === 1;
  }
  [$toUnsigned](width) {
    if (width == null) dart.argumentError(width);
    return (this & (1)[$leftShift](width) - 1) >>> 0;
  }
  [$toSigned](width) {
    if (width == null) dart.argumentError(width);
    let signMask = (1)[$leftShift](width - 1);
    return ((this & signMask - 1) >>> 0) - ((this & signMask) >>> 0);
  }
  get [$bitLength]() {
    let nonneg = this < 0 ? -this - 1 : this;
    let wordBits = 32;
    while (nonneg >= 4294967296) {
      nonneg = (nonneg / 4294967296)[$truncate]();
      wordBits = wordBits + 32;
    }
    return wordBits - _interceptors.JSNumber._clz32(nonneg);
  }
  static _clz32(uint32) {
    return 32 - _interceptors.JSNumber._bitCount(_interceptors.JSNumber._spread(uint32));
  }
  [$modPow](e, m) {
    if (e == null) dart.argumentError(e);
    if (m == null) dart.argumentError(m);
    if (e < 0) dart.throw(new core.RangeError.range(e, 0, null, "exponent"));
    if (m <= 0) dart.throw(new core.RangeError.range(m, 1, null, "modulus"));
    if (e === 0) return 1;
    if (this < -9007199254740991.0 || this > 9007199254740991.0) {
      dart.throw(new core.RangeError.range(this, -9007199254740991.0, 9007199254740991.0, "receiver"));
    }
    if (e > 9007199254740991.0) {
      dart.throw(new core.RangeError.range(e, 0, 9007199254740991.0, "exponent"));
    }
    if (m > 9007199254740991.0) {
      dart.throw(new core.RangeError.range(e, 1, 9007199254740991.0, "modulus"));
    }
    if (m > 94906265) {
      return core._BigIntImpl.from(this).modPow(core._BigIntImpl.from(e), core._BigIntImpl.from(m)).toInt();
    }
    let b = this;
    if (b < 0 || b > m) {
      b = b[$modulo](m);
    }
    let r = 1;
    while (e > 0) {
      if (e[$isOdd]) {
        r = (r * b)[$modulo](m);
      }
      e = (e / 2)[$truncate]();
      b = (b * b)[$modulo](m);
    }
    return r;
  }
  static _binaryGcd(x, y, inv) {
    let s = 1;
    if (!inv) {
      while (x[$isEven] && y[$isEven]) {
        x = (x / 2)[$truncate]();
        y = (y / 2)[$truncate]();
        s = s * 2;
      }
      if (y[$isOdd]) {
        let t = x;
        x = y;
        y = t;
      }
    }
    let ac = x[$isEven];
    let u = x;
    let v = y;
    let a = 1;
    let b = 0;
    let c = 0;
    let d = 1;
    do {
      while (u[$isEven]) {
        u = (u / 2)[$truncate]();
        if (ac) {
          if (!a[$isEven] || !b[$isEven]) {
            a = a + y;
            b = b - x;
          }
          a = (a / 2)[$truncate]();
        } else if (!b[$isEven]) {
          b = b - x;
        }
        b = (b / 2)[$truncate]();
      }
      while (v[$isEven]) {
        v = (v / 2)[$truncate]();
        if (ac) {
          if (!c[$isEven] || !d[$isEven]) {
            c = c + y;
            d = d - x;
          }
          c = (c / 2)[$truncate]();
        } else if (!d[$isEven]) {
          d = d - x;
        }
        d = (d / 2)[$truncate]();
      }
      if (u >= v) {
        u = u - v;
        if (ac) a = a - c;
        b = b - d;
      } else {
        v = v - u;
        if (ac) c = c - a;
        d = d - b;
      }
    } while (u !== 0);
    if (!inv) return s * v;
    if (v !== 1) dart.throw(core.Exception.new("Not coprime"));
    if (d < 0) {
      d = d + x;
      if (d < 0) d = d + x;
    } else if (d > x) {
      d = d - x;
      if (d > x) d = d - x;
    }
    return d;
  }
  [$modInverse](m) {
    if (m == null) dart.argumentError(m);
    if (m <= 0) dart.throw(new core.RangeError.range(m, 1, null, "modulus"));
    if (m === 1) return 0;
    let t = this;
    if (t < 0 || t >= m) t = t[$modulo](m);
    if (t === 1) return 1;
    if (t === 0 || t[$isEven] && m[$isEven]) {
      dart.throw(core.Exception.new("Not coprime"));
    }
    return _interceptors.JSNumber._binaryGcd(m, t, true);
  }
  [$gcd](other) {
    if (other == null) dart.argumentError(other);
    if (!core.int.is(this)) _js_helper.throwArgumentErrorValue(this);
    let x = this[$abs]();
    let y = other[$abs]();
    if (x === 0) return y;
    if (y === 0) return x;
    if (x === 1 || y === 1) return 1;
    return _interceptors.JSNumber._binaryGcd(x, y, false);
  }
  static _bitCount(i) {
    i = _interceptors.JSNumber._shru(i, 0) - (_interceptors.JSNumber._shru(i, 1) & 1431655765);
    i = (i & 858993459) + (_interceptors.JSNumber._shru(i, 2) & 858993459);
    i = 252645135 & i + _interceptors.JSNumber._shru(i, 4);
    i = i + _interceptors.JSNumber._shru(i, 8);
    i = i + _interceptors.JSNumber._shru(i, 16);
    return i & 63;
  }
  static _shru(value, shift) {
    if (value == null) dart.nullFailed(I[20], 613, 24, "value");
    if (shift == null) dart.nullFailed(I[20], 613, 35, "shift");
    return value >>> shift;
  }
  static _shrs(value, shift) {
    if (value == null) dart.nullFailed(I[20], 616, 24, "value");
    if (shift == null) dart.nullFailed(I[20], 616, 35, "shift");
    return value >> shift;
  }
  static _ors(a, b) {
    if (a == null) dart.nullFailed(I[20], 619, 23, "a");
    if (b == null) dart.nullFailed(I[20], 619, 30, "b");
    return a | b;
  }
  static _spread(i) {
    i = _interceptors.JSNumber._ors(i, _interceptors.JSNumber._shrs(i, 1));
    i = _interceptors.JSNumber._ors(i, _interceptors.JSNumber._shrs(i, 2));
    i = _interceptors.JSNumber._ors(i, _interceptors.JSNumber._shrs(i, 4));
    i = _interceptors.JSNumber._ors(i, _interceptors.JSNumber._shrs(i, 8));
    i = _interceptors.JSNumber._shru(_interceptors.JSNumber._ors(i, _interceptors.JSNumber._shrs(i, 16)), 0);
    return i;
  }
  [$bitNot]() {
    return ~this >>> 0;
  }
};
(_interceptors.JSNumber.new = function() {
  _interceptors.JSNumber.__proto__.new.call(this);
  ;
}).prototype = _interceptors.JSNumber.prototype;
dart.addTypeTests(_interceptors.JSNumber);
dart.addTypeCaches(_interceptors.JSNumber);
_interceptors.JSNumber[dart.implements] = () => [core.int, core.double];
dart.setMethodSignature(_interceptors.JSNumber, () => ({
  __proto__: dart.getMethods(_interceptors.JSNumber.__proto__),
  [$compareTo]: dart.fnType(core.int, [dart.nullable(core.Object)]),
  [$remainder]: dart.fnType(_interceptors.JSNumber, [core.num]),
  [$abs]: dart.fnType(_interceptors.JSNumber, []),
  [$toInt]: dart.fnType(core.int, []),
  [$truncate]: dart.fnType(core.int, []),
  [$ceil]: dart.fnType(core.int, []),
  [$floor]: dart.fnType(core.int, []),
  [$round]: dart.fnType(core.int, []),
  [$ceilToDouble]: dart.fnType(core.double, []),
  [$floorToDouble]: dart.fnType(core.double, []),
  [$roundToDouble]: dart.fnType(core.double, []),
  [$truncateToDouble]: dart.fnType(core.double, []),
  [$clamp]: dart.fnType(core.num, [core.num, core.num]),
  [$toDouble]: dart.fnType(core.double, []),
  [$toStringAsFixed]: dart.fnType(core.String, [core.int]),
  [$toStringAsExponential]: dart.fnType(core.String, [], [dart.nullable(core.int)]),
  [$toStringAsPrecision]: dart.fnType(core.String, [core.int]),
  [$toRadixString]: dart.fnType(core.String, [core.int]),
  [$_negate]: dart.fnType(_interceptors.JSNumber, []),
  [$plus]: dart.fnType(_interceptors.JSNumber, [core.num]),
  [$minus]: dart.fnType(_interceptors.JSNumber, [core.num]),
  [$divide]: dart.fnType(core.double, [core.num]),
  [$times]: dart.fnType(_interceptors.JSNumber, [core.num]),
  [$modulo]: dart.fnType(_interceptors.JSNumber, [core.num]),
  [_isInt32]: dart.fnType(core.bool, [core.num]),
  [$floorDivide]: dart.fnType(core.int, [core.num]),
  [_tdivSlow]: dart.fnType(core.int, [core.num]),
  [$leftShift]: dart.fnType(core.int, [core.num]),
  [_shlPositive]: dart.fnType(core.int, [core.num]),
  [$rightShift]: dart.fnType(core.int, [core.num]),
  [$tripleShift]: dart.fnType(core.int, [core.num]),
  [_shrOtherPositive]: dart.fnType(core.int, [core.num]),
  [_shrUnsigned]: dart.fnType(core.int, [core.num]),
  [$bitAnd]: dart.fnType(core.int, [core.num]),
  [$bitOr]: dart.fnType(core.int, [core.num]),
  [$bitXor]: dart.fnType(core.int, [core.num]),
  [$lessThan]: dart.fnType(core.bool, [core.num]),
  [$greaterThan]: dart.fnType(core.bool, [core.num]),
  [$lessOrEquals]: dart.fnType(core.bool, [core.num]),
  [$greaterOrEquals]: dart.fnType(core.bool, [core.num]),
  [$toUnsigned]: dart.fnType(core.int, [core.int]),
  [$toSigned]: dart.fnType(core.int, [core.int]),
  [$modPow]: dart.fnType(core.int, [core.int, core.int]),
  [$modInverse]: dart.fnType(core.int, [core.int]),
  [$gcd]: dart.fnType(core.int, [core.int]),
  [$bitNot]: dart.fnType(core.int, [])
}));
dart.setGetterSignature(_interceptors.JSNumber, () => ({
  __proto__: dart.getGetters(_interceptors.JSNumber.__proto__),
  [$isNegative]: core.bool,
  [$isNaN]: core.bool,
  [$isInfinite]: core.bool,
  [$isFinite]: core.bool,
  [$sign]: _interceptors.JSNumber,
  [$isEven]: core.bool,
  [$isOdd]: core.bool,
  [$bitLength]: core.int
}));
dart.setLibraryUri(_interceptors.JSNumber, I[17]);
dart.defineLazy(_interceptors.JSNumber, {
  /*_interceptors.JSNumber._MIN_INT32*/get _MIN_INT32() {
    return -2147483648;
  },
  /*_interceptors.JSNumber._MAX_INT32*/get _MAX_INT32() {
    return 2147483647;
  }
}, false);
dart.definePrimitiveHashCode(_interceptors.JSNumber.prototype);
dart.registerExtension("Number", _interceptors.JSNumber);
var _defaultSplit = dart.privateName(_interceptors, "_defaultSplit");
_interceptors.JSString = class JSString extends _interceptors.Interceptor {
  [$codeUnitAt](index) {
    if (index == null) dart.argumentError(index);
    let len = this.length;
    if (index < 0 || index >= len) {
      dart.throw(new core.IndexError.new(index, this, "index", null, len));
    }
    return this.charCodeAt(index);
  }
  [$allMatches](string, start = 0) {
    if (string == null) dart.argumentError(string);
    if (start == null) dart.argumentError(start);
    let len = string.length;
    if (0 > start || start > len) {
      dart.throw(new core.RangeError.range(start, 0, len));
    }
    return _js_helper.allMatchesInStringUnchecked(this, string, start);
  }
  [$matchAsPrefix](string, start = 0) {
    if (string == null) dart.argumentError(string);
    if (start == null) dart.argumentError(start);
    let stringLength = string.length;
    if (start < 0 || start > stringLength) {
      dart.throw(new core.RangeError.range(start, 0, stringLength));
    }
    let thisLength = this.length;
    if (start + thisLength > stringLength) return null;
    for (let i = 0; i < thisLength; i = i + 1) {
      if (string[$codeUnitAt](start + i) !== this[$codeUnitAt](i)) {
        return null;
      }
    }
    return new _js_helper.StringMatch.new(start, string, this);
  }
  [$plus](other) {
    if (other == null) dart.argumentError(other);
    return this + other;
  }
  [$endsWith](other) {
    if (other == null) dart.argumentError(other);
    let otherLength = other.length;
    let thisLength = this.length;
    if (otherLength > thisLength) return false;
    return other === this[$substring](thisLength - otherLength);
  }
  [$replaceAll](from, to) {
    if (from == null) dart.nullFailed(I[21], 67, 29, "from");
    if (to == null) dart.argumentError(to);
    return _js_helper.stringReplaceAllUnchecked(this, from, to);
  }
  [$replaceAllMapped](from, convert) {
    if (from == null) dart.nullFailed(I[21], 72, 35, "from");
    if (convert == null) dart.nullFailed(I[21], 72, 64, "convert");
    return this[$splitMapJoin](from, {onMatch: convert});
  }
  [$splitMapJoin](from, opts) {
    if (from == null) dart.nullFailed(I[21], 77, 31, "from");
    let onMatch = opts && 'onMatch' in opts ? opts.onMatch : null;
    let onNonMatch = opts && 'onNonMatch' in opts ? opts.onNonMatch : null;
    return _js_helper.stringReplaceAllFuncUnchecked(this, from, onMatch, onNonMatch);
  }
  [$replaceFirst](from, to, startIndex = 0) {
    if (from == null) dart.nullFailed(I[21], 83, 31, "from");
    if (to == null) dart.argumentError(to);
    if (startIndex == null) dart.argumentError(startIndex);
    core.RangeError.checkValueInInterval(startIndex, 0, this.length, "startIndex");
    return _js_helper.stringReplaceFirstUnchecked(this, from, to, startIndex);
  }
  [$replaceFirstMapped](from, replace, startIndex = 0) {
    if (from == null) dart.nullFailed(I[21], 91, 15, "from");
    if (replace == null) dart.argumentError(replace);
    if (startIndex == null) dart.argumentError(startIndex);
    core.RangeError.checkValueInInterval(startIndex, 0, this.length, "startIndex");
    return _js_helper.stringReplaceFirstMappedUnchecked(this, from, replace, startIndex);
  }
  [$split](pattern) {
    if (pattern == null) dart.argumentError(pattern);
    if (typeof pattern == 'string') {
      return T$.JSArrayOfString().of(this.split(pattern));
    } else if (_js_helper.JSSyntaxRegExp.is(pattern) && _js_helper.regExpCaptureCount(pattern) === 0) {
      let re = _js_helper.regExpGetNative(pattern);
      return T$.JSArrayOfString().of(this.split(re));
    } else {
      return this[_defaultSplit](pattern);
    }
  }
  [$replaceRange](start, end, replacement) {
    if (start == null) dart.argumentError(start);
    if (replacement == null) dart.argumentError(replacement);
    let e = core.RangeError.checkValidRange(start, end, this.length);
    return _js_helper.stringReplaceRangeUnchecked(this, start, e, replacement);
  }
  [_defaultSplit](pattern) {
    if (pattern == null) dart.nullFailed(I[21], 117, 38, "pattern");
    let result = T$.JSArrayOfString().of([]);
    let start = 0;
    let length = 1;
    for (let match of pattern[$allMatches](this)) {
      let matchStart = match.start;
      let matchEnd = match.end;
      length = matchEnd - matchStart;
      if (length === 0 && start === matchStart) {
        continue;
      }
      let end = matchStart;
      result[$add](this[$substring](start, end));
      start = matchEnd;
    }
    if (start < this.length || length > 0) {
      result[$add](this[$substring](start));
    }
    return result;
  }
  [$startsWith](pattern, index = 0) {
    if (pattern == null) dart.nullFailed(I[21], 148, 27, "pattern");
    if (index == null) dart.argumentError(index);
    let length = this.length;
    if (index < 0 || index > length) {
      dart.throw(new core.RangeError.range(index, 0, this.length));
    }
    if (typeof pattern == 'string') {
      let other = pattern;
      let otherLength = other.length;
      let endIndex = index + otherLength;
      if (endIndex > length) return false;
      return other === this.substring(index, endIndex);
    }
    return pattern[$matchAsPrefix](this, index) != null;
  }
  [$substring](start, end = null) {
    if (start == null) dart.argumentError(start);
    end = core.RangeError.checkValidRange(start, end, this.length);
    return this.substring(start, end);
  }
  [$toLowerCase]() {
    return this.toLowerCase();
  }
  [$toUpperCase]() {
    return this.toUpperCase();
  }
  static _isWhitespace(codeUnit) {
    if (codeUnit < 256) {
      switch (codeUnit) {
        case 9:
        case 10:
        case 11:
        case 12:
        case 13:
        case 32:
        case 133:
        case 160:
        {
          return true;
        }
        default:
        {
          return false;
        }
      }
    }
    switch (codeUnit) {
      case 5760:
      case 8192:
      case 8193:
      case 8194:
      case 8195:
      case 8196:
      case 8197:
      case 8198:
      case 8199:
      case 8200:
      case 8201:
      case 8202:
      case 8232:
      case 8233:
      case 8239:
      case 8287:
      case 12288:
      case 65279:
      {
        return true;
      }
      default:
      {
        return false;
      }
    }
  }
  static _skipLeadingWhitespace(string, index) {
    if (string == null) dart.nullFailed(I[21], 243, 44, "string");
    if (index == null) dart.argumentError(index);
    let stringLength = string.length;
    while (index < stringLength) {
      let codeUnit = string[$codeUnitAt](index);
      if (codeUnit !== 32 && codeUnit !== 13 && !_interceptors.JSString._isWhitespace(codeUnit)) {
        break;
      }
      index = index + 1;
    }
    return index;
  }
  static _skipTrailingWhitespace(string, index) {
    if (string == null) dart.nullFailed(I[21], 262, 45, "string");
    if (index == null) dart.argumentError(index);
    while (index > 0) {
      let codeUnit = string[$codeUnitAt](index - 1);
      if (codeUnit !== 32 && codeUnit !== 13 && !_interceptors.JSString._isWhitespace(codeUnit)) {
        break;
      }
      index = index - 1;
    }
    return index;
  }
  [$trim]() {
    let result = this.trim();
    let length = result.length;
    if (length === 0) return result;
    let firstCode = result[$codeUnitAt](0);
    let startIndex = 0;
    if (firstCode === 133) {
      startIndex = _interceptors.JSString._skipLeadingWhitespace(result, 1);
      if (startIndex === length) return "";
    }
    let endIndex = length;
    let lastCode = result[$codeUnitAt](endIndex - 1);
    if (lastCode === 133) {
      endIndex = _interceptors.JSString._skipTrailingWhitespace(result, endIndex - 1);
    }
    if (startIndex === 0 && endIndex === length) return result;
    return result.substring(startIndex, endIndex);
  }
  [$trimLeft]() {
    let result = null;
    let startIndex = 0;
    if (typeof this.trimLeft != "undefined") {
      result = this.trimLeft();
      if (result.length === 0) return result;
      let firstCode = result[$codeUnitAt](0);
      if (firstCode === 133) {
        startIndex = _interceptors.JSString._skipLeadingWhitespace(result, 1);
      }
    } else {
      result = this;
      startIndex = _interceptors.JSString._skipLeadingWhitespace(this, 0);
    }
    if (startIndex === 0) return result;
    if (startIndex === result.length) return "";
    return result.substring(startIndex);
  }
  [$trimRight]() {
    let result = null;
    let endIndex = 0;
    if (typeof this.trimRight != "undefined") {
      result = this.trimRight();
      endIndex = result.length;
      if (endIndex === 0) return result;
      let lastCode = result[$codeUnitAt](endIndex - 1);
      if (lastCode === 133) {
        endIndex = _interceptors.JSString._skipTrailingWhitespace(result, endIndex - 1);
      }
    } else {
      result = this;
      endIndex = _interceptors.JSString._skipTrailingWhitespace(this, this.length);
    }
    if (endIndex === result.length) return result;
    if (endIndex === 0) return "";
    return result.substring(0, endIndex);
  }
  [$times](times) {
    if (times == null) dart.argumentError(times);
    if (0 >= times) return "";
    if (times === 1 || this.length === 0) return this;
    if (times !== times >>> 0) {
      dart.throw(C[18] || CT.C18);
    }
    let result = "";
    let s = this;
    while (true) {
      if ((times & 1) === 1) result = s + result;
      times = times >>> 1;
      if (times === 0) break;
      s = s + s;
    }
    return result;
  }
  [$padLeft](width, padding = " ") {
    if (width == null) dart.argumentError(width);
    if (padding == null) dart.nullFailed(I[21], 386, 48, "padding");
    let delta = width - this.length;
    if (delta <= 0) return this;
    return padding[$times](delta) + this;
  }
  [$padRight](width, padding = " ") {
    if (width == null) dart.argumentError(width);
    if (padding == null) dart.nullFailed(I[21], 393, 49, "padding");
    let delta = width - this.length;
    if (delta <= 0) return this;
    return this[$plus](padding[$times](delta));
  }
  get [$codeUnits]() {
    return new _internal.CodeUnits.new(this);
  }
  get [$runes]() {
    return new core.Runes.new(this);
  }
  [$indexOf](pattern, start = 0) {
    if (pattern == null) dart.argumentError(pattern);
    if (start == null) dart.argumentError(start);
    if (start < 0 || start > this.length) {
      dart.throw(new core.RangeError.range(start, 0, this.length));
    }
    if (typeof pattern == 'string') {
      return _js_helper.stringIndexOfStringUnchecked(this, pattern, start);
    }
    if (_js_helper.JSSyntaxRegExp.is(pattern)) {
      let re = pattern;
      let match = _js_helper.firstMatchAfter(re, this, start);
      return match == null ? -1 : match.start;
    }
    let length = this.length;
    for (let i = start; i <= length; i = i + 1) {
      if (pattern[$matchAsPrefix](this, i) != null) return i;
    }
    return -1;
  }
  [$lastIndexOf](pattern, _start = null) {
    let t20;
    if (pattern == null) dart.argumentError(pattern);
    let length = this.length;
    let start = (t20 = _start, t20 == null ? length : t20);
    if (dart.notNull(start) < 0 || dart.notNull(start) > length) {
      dart.throw(new core.RangeError.range(start, 0, length));
    }
    if (typeof pattern == 'string') {
      let other = pattern;
      if (dart.notNull(start) + other.length > length) {
        start = length - other.length;
      }
      return _js_helper.stringLastIndexOfUnchecked(this, other, start);
    }
    for (let i = start; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
      if (pattern[$matchAsPrefix](this, i) != null) return i;
    }
    return -1;
  }
  [$contains](other, startIndex = 0) {
    if (other == null) dart.argumentError(other);
    if (startIndex == null) dart.argumentError(startIndex);
    if (startIndex < 0 || startIndex > this.length) {
      dart.throw(new core.RangeError.range(startIndex, 0, this.length));
    }
    return _js_helper.stringContainsUnchecked(this, other, startIndex);
  }
  get [$isEmpty]() {
    return this.length === 0;
  }
  get [$isNotEmpty]() {
    return !this[$isEmpty];
  }
  [$compareTo](other) {
    core.String.as(other);
    if (other == null) dart.argumentError(other);
    return this === other ? 0 : this < other ? -1 : 1;
  }
  [$toString]() {
    return this;
  }
  get [$hashCode]() {
    let hash = 0;
    let length = this.length;
    for (let i = 0; i < length; i = i + 1) {
      hash = 536870911 & hash + this.charCodeAt(i);
      hash = 536870911 & hash + ((524287 & hash) << 10);
      hash = hash ^ hash >> 6;
    }
    hash = 536870911 & hash + ((67108863 & hash) << 3);
    hash = hash ^ hash >> 11;
    return 536870911 & hash + ((16383 & hash) << 15);
  }
  get [$runtimeType]() {
    return dart.wrapType(core.String);
  }
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.argumentError(index);
    if (index >= this.length || index < 0) {
      dart.throw(_js_helper.diagnoseIndexError(this, index));
    }
    return this[index];
  }
};
(_interceptors.JSString.new = function() {
  _interceptors.JSString.__proto__.new.call(this);
  ;
}).prototype = _interceptors.JSString.prototype;
dart.addTypeTests(_interceptors.JSString);
dart.addTypeCaches(_interceptors.JSString);
_interceptors.JSString[dart.implements] = () => [core.String, _interceptors.JSIndexable$(core.String)];
dart.setMethodSignature(_interceptors.JSString, () => ({
  __proto__: dart.getMethods(_interceptors.JSString.__proto__),
  [$codeUnitAt]: dart.fnType(core.int, [core.int]),
  [$allMatches]: dart.fnType(core.Iterable$(core.Match), [core.String], [core.int]),
  [$matchAsPrefix]: dart.fnType(dart.nullable(core.Match), [core.String], [core.int]),
  [$plus]: dart.fnType(core.String, [core.String]),
  [$endsWith]: dart.fnType(core.bool, [core.String]),
  [$replaceAll]: dart.fnType(core.String, [core.Pattern, core.String]),
  [$replaceAllMapped]: dart.fnType(core.String, [core.Pattern, dart.fnType(core.String, [core.Match])]),
  [$splitMapJoin]: dart.fnType(core.String, [core.Pattern], {onMatch: dart.nullable(dart.fnType(core.String, [core.Match])), onNonMatch: dart.nullable(dart.fnType(core.String, [core.String]))}, {}),
  [$replaceFirst]: dart.fnType(core.String, [core.Pattern, core.String], [core.int]),
  [$replaceFirstMapped]: dart.fnType(core.String, [core.Pattern, dart.fnType(core.String, [core.Match])], [core.int]),
  [$split]: dart.fnType(core.List$(core.String), [core.Pattern]),
  [$replaceRange]: dart.fnType(core.String, [core.int, dart.nullable(core.int), core.String]),
  [_defaultSplit]: dart.fnType(core.List$(core.String), [core.Pattern]),
  [$startsWith]: dart.fnType(core.bool, [core.Pattern], [core.int]),
  [$substring]: dart.fnType(core.String, [core.int], [dart.nullable(core.int)]),
  [$toLowerCase]: dart.fnType(core.String, []),
  [$toUpperCase]: dart.fnType(core.String, []),
  [$trim]: dart.fnType(core.String, []),
  [$trimLeft]: dart.fnType(core.String, []),
  [$trimRight]: dart.fnType(core.String, []),
  [$times]: dart.fnType(core.String, [core.int]),
  [$padLeft]: dart.fnType(core.String, [core.int], [core.String]),
  [$padRight]: dart.fnType(core.String, [core.int], [core.String]),
  [$indexOf]: dart.fnType(core.int, [core.Pattern], [core.int]),
  [$lastIndexOf]: dart.fnType(core.int, [core.Pattern], [dart.nullable(core.int)]),
  [$contains]: dart.fnType(core.bool, [core.Pattern], [core.int]),
  [$compareTo]: dart.fnType(core.int, [dart.nullable(core.Object)]),
  [$_get]: dart.fnType(core.String, [core.int])
}));
dart.setGetterSignature(_interceptors.JSString, () => ({
  __proto__: dart.getGetters(_interceptors.JSString.__proto__),
  [$codeUnits]: core.List$(core.int),
  [$runes]: core.Runes,
  [$isEmpty]: core.bool,
  [$isNotEmpty]: core.bool,
  [$length]: core.int
}));
dart.setLibraryUri(_interceptors.JSString, I[17]);
dart.definePrimitiveHashCode(_interceptors.JSString.prototype);
dart.registerExtension("String", _interceptors.JSString);
_interceptors.getInterceptor = function getInterceptor(obj) {
  return obj;
};
_interceptors.findInterceptorConstructorForType = function findInterceptorConstructorForType(type) {
};
_interceptors.findConstructorForNativeSubclassType = function findConstructorForNativeSubclassType(type, name) {
  if (name == null) dart.nullFailed(I[18], 234, 57, "name");
};
_interceptors.getNativeInterceptor = function getNativeInterceptor(object) {
};
_interceptors.setDispatchProperty = function setDispatchProperty(object, value) {
};
_interceptors.findInterceptorForType = function findInterceptorForType(type) {
};
dart.defineLazy(_interceptors, {
  /*_interceptors.jsNull*/get jsNull() {
    return new _interceptors.JSNull.new();
  }
}, false);
var _string$ = dart.privateName(_internal, "_string");
var _closeGap = dart.privateName(collection, "_closeGap");
var _filter = dart.privateName(collection, "_filter");
const _is_ListMixin_default = Symbol('_is_ListMixin_default');
collection.ListMixin$ = dart.generic(E => {
  var __t$ListIteratorOfE = () => (__t$ListIteratorOfE = dart.constFn(_internal.ListIterator$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$FollowedByIterableOfE = () => (__t$FollowedByIterableOfE = dart.constFn(_internal.FollowedByIterable$(E)))();
  var __t$VoidToE = () => (__t$VoidToE = dart.constFn(dart.fnType(E, [])))();
  var __t$VoidToNE = () => (__t$VoidToNE = dart.constFn(dart.nullable(__t$VoidToE())))();
  var __t$ETodynamic = () => (__t$ETodynamic = dart.constFn(dart.fnType(dart.dynamic, [E])))();
  var __t$WhereIterableOfE = () => (__t$WhereIterableOfE = dart.constFn(_internal.WhereIterable$(E)))();
  var __t$EAndEToE = () => (__t$EAndEToE = dart.constFn(dart.fnType(E, [E, E])))();
  var __t$SubListIterableOfE = () => (__t$SubListIterableOfE = dart.constFn(_internal.SubListIterable$(E)))();
  var __t$SkipWhileIterableOfE = () => (__t$SkipWhileIterableOfE = dart.constFn(_internal.SkipWhileIterable$(E)))();
  var __t$TakeWhileIterableOfE = () => (__t$TakeWhileIterableOfE = dart.constFn(_internal.TakeWhileIterable$(E)))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$_HashSetOfE = () => (__t$_HashSetOfE = dart.constFn(collection._HashSet$(E)))();
  var __t$JSArrayOfE = () => (__t$JSArrayOfE = dart.constFn(_interceptors.JSArray$(E)))();
  var __t$ListMapViewOfE = () => (__t$ListMapViewOfE = dart.constFn(_internal.ListMapView$(E)))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  var __t$ReversedListIterableOfE = () => (__t$ReversedListIterableOfE = dart.constFn(_internal.ReversedListIterable$(E)))();
  class ListMixin extends core.Object {
    get iterator() {
      return new (__t$ListIteratorOfE()).new(this);
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[24], 78, 19, "index");
      return this[$_get](index);
    }
    followedBy(other) {
      __t$IterableOfE().as(other);
      if (other == null) dart.nullFailed(I[24], 80, 38, "other");
      return __t$FollowedByIterableOfE().firstEfficient(this, other);
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[24], 83, 21, "action");
      let length = this[$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        action(this[$_get](i));
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
    }
    get isEmpty() {
      return this[$length] === 0;
    }
    get isNotEmpty() {
      return !dart.test(this[$isEmpty]);
    }
    get first() {
      if (this[$length] === 0) dart.throw(_internal.IterableElementError.noElement());
      return this[$_get](0);
    }
    set first(value) {
      E.as(value);
      if (this[$length] === 0) dart.throw(_internal.IterableElementError.noElement());
      this[$_set](0, value);
    }
    get last() {
      if (this[$length] === 0) dart.throw(_internal.IterableElementError.noElement());
      return this[$_get](dart.notNull(this[$length]) - 1);
    }
    set last(value) {
      E.as(value);
      if (this[$length] === 0) dart.throw(_internal.IterableElementError.noElement());
      this[$_set](dart.notNull(this[$length]) - 1, value);
    }
    get single() {
      if (this[$length] === 0) dart.throw(_internal.IterableElementError.noElement());
      if (dart.notNull(this[$length]) > 1) dart.throw(_internal.IterableElementError.tooMany());
      return this[$_get](0);
    }
    contains(element) {
      let length = this[$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        if (dart.equals(this[$_get](i), element)) return true;
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return false;
    }
    every(test) {
      if (test == null) dart.nullFailed(I[24], 135, 19, "test");
      let length = this[$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        if (!dart.test(test(this[$_get](i)))) return false;
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return true;
    }
    any(test) {
      if (test == null) dart.nullFailed(I[24], 146, 17, "test");
      let length = this[$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        if (dart.test(test(this[$_get](i)))) return true;
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return false;
    }
    firstWhere(test, opts) {
      if (test == null) dart.nullFailed(I[24], 157, 21, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this[$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        let element = this[$_get](i);
        if (dart.test(test(element))) return element;
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[24], 170, 20, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this[$length];
      for (let i = dart.notNull(length) - 1; i >= 0; i = i - 1) {
        let element = this[$_get](i);
        if (dart.test(test(element))) return element;
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    singleWhere(test, opts) {
      if (test == null) dart.nullFailed(I[24], 183, 22, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this[$length];
      let match = null;
      let match$35isSet = false;
      function match$35get() {
        return match$35isSet ? match : dart.throw(new _internal.LateError.localNI("match"));
      }
      dart.fn(match$35get, __t$VoidToE());
      function match$35set(t23) {
        match$35isSet = true;
        return match = t23;
      }
      dart.fn(match$35set, __t$ETodynamic());
      let matchFound = false;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        let element = this[$_get](i);
        if (dart.test(test(element))) {
          if (matchFound) {
            dart.throw(_internal.IterableElementError.tooMany());
          }
          matchFound = true;
          match$35set(element);
        }
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (matchFound) return match$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    join(separator = "") {
      let t25;
      if (separator == null) dart.nullFailed(I[24], 205, 23, "separator");
      if (this[$length] === 0) return "";
      let buffer = (t25 = new core.StringBuffer.new(), (() => {
        t25.writeAll(this, separator);
        return t25;
      })());
      return dart.toString(buffer);
    }
    where(test) {
      if (test == null) dart.nullFailed(I[24], 211, 26, "test");
      return new (__t$WhereIterableOfE()).new(this, test);
    }
    whereType(T) {
      return new (_internal.WhereTypeIterable$(T)).new(this);
    }
    map(T, f) {
      if (f == null) dart.nullFailed(I[24], 215, 24, "f");
      return new (_internal.MappedListIterable$(E, T)).new(this, f);
    }
    expand(T, f) {
      if (f == null) dart.nullFailed(I[24], 217, 37, "f");
      return new (_internal.ExpandIterable$(E, T)).new(this, f);
    }
    reduce(combine) {
      __t$EAndEToE().as(combine);
      if (combine == null) dart.nullFailed(I[24], 220, 14, "combine");
      let length = this[$length];
      if (length === 0) dart.throw(_internal.IterableElementError.noElement());
      let value = this[$_get](0);
      for (let i = 1; i < dart.notNull(length); i = i + 1) {
        value = combine(value, this[$_get](i));
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return value;
    }
    fold(T, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[24], 233, 31, "combine");
      let value = initialValue;
      let length = this[$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        value = combine(value, this[$_get](i));
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return value;
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[24], 245, 24, "count");
      return new (__t$SubListIterableOfE()).new(this, count, null);
    }
    skipWhile(test) {
      if (test == null) dart.nullFailed(I[24], 247, 30, "test");
      return new (__t$SkipWhileIterableOfE()).new(this, test);
    }
    take(count) {
      if (count == null) dart.nullFailed(I[24], 251, 24, "count");
      return new (__t$SubListIterableOfE()).new(this, 0, _internal.checkNotNullable(core.int, count, "count"));
    }
    takeWhile(test) {
      if (test == null) dart.nullFailed(I[24], 254, 30, "test");
      return new (__t$TakeWhileIterableOfE()).new(this, test);
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[24], 258, 24, "growable");
      if (dart.test(this[$isEmpty])) return __t$ListOfE().empty({growable: growable});
      let first = this[$_get](0);
      let result = __t$ListOfE().filled(this[$length], first, {growable: growable});
      for (let i = 1; i < dart.notNull(this[$length]); i = i + 1) {
        result[$_set](i, this[$_get](i));
      }
      return result;
    }
    toSet() {
      let result = new (__t$_HashSetOfE()).new();
      for (let i = 0; i < dart.notNull(this[$length]); i = i + 1) {
        result.add(this[$_get](i));
      }
      return result;
    }
    add(element) {
      let t25;
      E.as(element);
      this[$_set]((t25 = this[$length], this[$length] = dart.notNull(t25) + 1, t25), element);
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[24], 282, 27, "iterable");
      let i = this[$length];
      for (let element of iterable) {
        if (!(this[$length] == i || dart.throw(new core.ConcurrentModificationError.new(this)))) dart.assertFailed(null, I[24], 285, 14, "this.length == i || (throw ConcurrentModificationError(this))");
        this[$add](element);
        i = dart.notNull(i) + 1;
      }
    }
    remove(element) {
      for (let i = 0; i < dart.notNull(this[$length]); i = i + 1) {
        if (dart.equals(this[$_get](i), element)) {
          this[_closeGap](i, i + 1);
          return true;
        }
      }
      return false;
    }
    [_closeGap](start, end) {
      if (start == null) dart.nullFailed(I[24], 303, 22, "start");
      if (end == null) dart.nullFailed(I[24], 303, 33, "end");
      let length = this[$length];
      if (!(0 <= dart.notNull(start))) dart.assertFailed(null, I[24], 305, 12, "0 <= start");
      if (!(dart.notNull(start) < dart.notNull(end))) dart.assertFailed(null, I[24], 306, 12, "start < end");
      if (!(dart.notNull(end) <= dart.notNull(length))) dart.assertFailed(null, I[24], 307, 12, "end <= length");
      let size = dart.notNull(end) - dart.notNull(start);
      for (let i = end; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
        this[$_set](dart.notNull(i) - size, this[$_get](i));
      }
      this[$length] = dart.notNull(length) - size;
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[24], 315, 25, "test");
      this[_filter](test, false);
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[24], 319, 25, "test");
      this[_filter](test, true);
    }
    [_filter](test, retainMatching) {
      if (test == null) dart.nullFailed(I[24], 323, 21, "test");
      if (retainMatching == null) dart.nullFailed(I[24], 323, 43, "retainMatching");
      let retained = __t$JSArrayOfE().of([]);
      let length = this[$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        let element = this[$_get](i);
        if (test(element) == retainMatching) {
          retained[$add](element);
        }
        if (length != this[$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (retained[$length] != this[$length]) {
        this[$setRange](0, retained[$length], retained);
        this[$length] = retained[$length];
      }
    }
    clear() {
      this[$length] = 0;
    }
    cast(R) {
      return core.List.castFrom(E, R, this);
    }
    removeLast() {
      if (this[$length] === 0) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      let result = this[$_get](dart.notNull(this[$length]) - 1);
      this[$length] = dart.notNull(this[$length]) - 1;
      return result;
    }
    sort(compare = null) {
      let t25;
      _internal.Sort.sort(E, this, (t25 = compare, t25 == null ? C[19] || CT.C19 : t25));
    }
    static _compareAny(a, b) {
      return core.Comparable.compare(core.Comparable.as(a), core.Comparable.as(b));
    }
    shuffle(random = null) {
      random == null ? random = math.Random.new() : null;
      if (random == null) dart.throw("!");
      let length = this[$length];
      while (dart.notNull(length) > 1) {
        let pos = random.nextInt(length);
        length = dart.notNull(length) - 1;
        let tmp = this[$_get](length);
        this[$_set](length, this[$_get](pos));
        this[$_set](pos, tmp);
      }
    }
    asMap() {
      return new (__t$ListMapViewOfE()).new(this);
    }
    ['+'](other) {
      __t$ListOfE().as(other);
      if (other == null) dart.nullFailed(I[24], 381, 30, "other");
      return (() => {
        let t25 = __t$ListOfE().of(this);
        t25[$addAll](other);
        return t25;
      })();
    }
    sublist(start, end = null) {
      if (start == null) dart.nullFailed(I[24], 383, 23, "start");
      let listLength = this[$length];
      end == null ? end = listLength : null;
      if (end == null) dart.throw("!");
      core.RangeError.checkValidRange(start, end, listLength);
      return __t$ListOfE().from(this[$getRange](start, end));
    }
    getRange(start, end) {
      if (start == null) dart.nullFailed(I[24], 392, 28, "start");
      if (end == null) dart.nullFailed(I[24], 392, 39, "end");
      core.RangeError.checkValidRange(start, end, this[$length]);
      return new (__t$SubListIterableOfE()).new(this, start, end);
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[24], 397, 24, "start");
      if (end == null) dart.nullFailed(I[24], 397, 35, "end");
      core.RangeError.checkValidRange(start, end, this[$length]);
      if (dart.notNull(end) > dart.notNull(start)) {
        this[_closeGap](start, end);
      }
    }
    fillRange(start, end, fill = null) {
      if (start == null) dart.nullFailed(I[24], 404, 22, "start");
      if (end == null) dart.nullFailed(I[24], 404, 33, "end");
      __t$EN().as(fill);
      let value = E.as(fill);
      core.RangeError.checkValidRange(start, end, this[$length]);
      for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
        this[$_set](i, value);
      }
    }
    setRange(start, end, iterable, skipCount = 0) {
      if (start == null) dart.nullFailed(I[24], 414, 21, "start");
      if (end == null) dart.nullFailed(I[24], 414, 32, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[24], 414, 49, "iterable");
      if (skipCount == null) dart.nullFailed(I[24], 414, 64, "skipCount");
      core.RangeError.checkValidRange(start, end, this[$length]);
      let length = dart.notNull(end) - dart.notNull(start);
      if (length === 0) return;
      core.RangeError.checkNotNegative(skipCount, "skipCount");
      let otherList = null;
      let otherStart = null;
      if (__t$ListOfE().is(iterable)) {
        otherList = iterable;
        otherStart = skipCount;
      } else {
        otherList = iterable[$skip](skipCount)[$toList]({growable: false});
        otherStart = 0;
      }
      if (dart.notNull(otherStart) + length > dart.notNull(otherList[$length])) {
        dart.throw(_internal.IterableElementError.tooFew());
      }
      if (dart.notNull(otherStart) < dart.notNull(start)) {
        for (let i = length - 1; i >= 0; i = i - 1) {
          this[$_set](dart.notNull(start) + i, otherList[$_get](dart.notNull(otherStart) + i));
        }
      } else {
        for (let i = 0; i < length; i = i + 1) {
          this[$_set](dart.notNull(start) + i, otherList[$_get](dart.notNull(otherStart) + i));
        }
      }
    }
    replaceRange(start, end, newContents) {
      if (start == null) dart.nullFailed(I[24], 445, 25, "start");
      if (end == null) dart.nullFailed(I[24], 445, 36, "end");
      __t$IterableOfE().as(newContents);
      if (newContents == null) dart.nullFailed(I[24], 445, 53, "newContents");
      core.RangeError.checkValidRange(start, end, this[$length]);
      if (start == this[$length]) {
        this[$addAll](newContents);
        return;
      }
      if (!_internal.EfficientLengthIterable.is(newContents)) {
        newContents = newContents[$toList]();
      }
      let removeLength = dart.notNull(end) - dart.notNull(start);
      let insertLength = newContents[$length];
      if (removeLength >= dart.notNull(insertLength)) {
        let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
        this[$setRange](start, insertEnd, newContents);
        if (removeLength > dart.notNull(insertLength)) {
          this[_closeGap](insertEnd, end);
        }
      } else if (end == this[$length]) {
        let i = start;
        for (let element of newContents) {
          if (dart.notNull(i) < dart.notNull(end)) {
            this[$_set](i, element);
          } else {
            this[$add](element);
          }
          i = dart.notNull(i) + 1;
        }
      } else {
        let delta = dart.notNull(insertLength) - removeLength;
        let oldLength = this[$length];
        let insertEnd = dart.notNull(start) + dart.notNull(insertLength);
        for (let i = dart.notNull(oldLength) - delta; i < dart.notNull(oldLength); i = i + 1) {
          this[$add](this[$_get](i > 0 ? i : 0));
        }
        if (insertEnd < dart.notNull(oldLength)) {
          this[$setRange](insertEnd, oldLength, this, end);
        }
        this[$setRange](start, insertEnd, newContents);
      }
    }
    indexOf(element, start = 0) {
      if (start == null) dart.nullFailed(I[24], 486, 37, "start");
      if (dart.notNull(start) < 0) start = 0;
      for (let i = start; dart.notNull(i) < dart.notNull(this[$length]); i = dart.notNull(i) + 1) {
        if (dart.equals(this[$_get](i), element)) return i;
      }
      return -1;
    }
    indexWhere(test, start = 0) {
      if (test == null) dart.nullFailed(I[24], 494, 23, "test");
      if (start == null) dart.nullFailed(I[24], 494, 45, "start");
      if (dart.notNull(start) < 0) start = 0;
      for (let i = start; dart.notNull(i) < dart.notNull(this[$length]); i = dart.notNull(i) + 1) {
        if (dart.test(test(this[$_get](i)))) return i;
      }
      return -1;
    }
    lastIndexOf(element, start = null) {
      if (start == null || dart.notNull(start) >= dart.notNull(this[$length])) start = dart.notNull(this[$length]) - 1;
      if (start == null) dart.throw("!");
      for (let i = start; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
        if (dart.equals(this[$_get](i), element)) return i;
      }
      return -1;
    }
    lastIndexWhere(test, start = null) {
      if (test == null) dart.nullFailed(I[24], 514, 27, "test");
      if (start == null || dart.notNull(start) >= dart.notNull(this[$length])) start = dart.notNull(this[$length]) - 1;
      if (start == null) dart.throw("!");
      for (let i = start; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
        if (dart.test(test(this[$_get](i)))) return i;
      }
      return -1;
    }
    insert(index, element) {
      if (index == null) dart.nullFailed(I[24], 526, 19, "index");
      E.as(element);
      _internal.checkNotNullable(core.int, index, "index");
      let length = this[$length];
      core.RangeError.checkValueInInterval(index, 0, length, "index");
      this[$add](element);
      if (index != length) {
        this[$setRange](dart.notNull(index) + 1, dart.notNull(length) + 1, this, index);
        this[$_set](index, element);
      }
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[24], 537, 18, "index");
      let result = this[$_get](index);
      this[_closeGap](index, dart.notNull(index) + 1);
      return result;
    }
    insertAll(index, iterable) {
      if (index == null) dart.nullFailed(I[24], 543, 22, "index");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[24], 543, 41, "iterable");
      core.RangeError.checkValueInInterval(index, 0, this[$length], "index");
      if (index == this[$length]) {
        this[$addAll](iterable);
        return;
      }
      if (!_internal.EfficientLengthIterable.is(iterable) || iterable === this) {
        iterable = iterable[$toList]();
      }
      let insertionLength = iterable[$length];
      if (insertionLength === 0) {
        return;
      }
      let oldLength = this[$length];
      for (let i = dart.notNull(oldLength) - dart.notNull(insertionLength); i < dart.notNull(oldLength); i = i + 1) {
        this[$add](this[$_get](i > 0 ? i : 0));
      }
      if (iterable[$length] != insertionLength) {
        this[$length] = dart.notNull(this[$length]) - dart.notNull(insertionLength);
        dart.throw(new core.ConcurrentModificationError.new(iterable));
      }
      let oldCopyStart = dart.notNull(index) + dart.notNull(insertionLength);
      if (oldCopyStart < dart.notNull(oldLength)) {
        this[$setRange](oldCopyStart, oldLength, this, index);
      }
      this[$setAll](index, iterable);
    }
    setAll(index, iterable) {
      let t26;
      if (index == null) dart.nullFailed(I[24], 576, 19, "index");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[24], 576, 38, "iterable");
      if (core.List.is(iterable)) {
        this[$setRange](index, dart.notNull(index) + dart.notNull(iterable[$length]), iterable);
      } else {
        for (let element of iterable) {
          this[$_set]((t26 = index, index = dart.notNull(t26) + 1, t26), element);
        }
      }
    }
    get reversed() {
      return new (__t$ReversedListIterableOfE()).new(this);
    }
    toString() {
      return collection.IterableBase.iterableToFullString(this, "[", "]");
    }
  }
  (ListMixin.new = function() {
    ;
  }).prototype = ListMixin.prototype;
  ListMixin.prototype[dart.isList] = true;
  dart.addTypeTests(ListMixin);
  ListMixin.prototype[_is_ListMixin_default] = true;
  dart.addTypeCaches(ListMixin);
  ListMixin[dart.implements] = () => [core.List$(E)];
  dart.setMethodSignature(ListMixin, () => ({
    __proto__: dart.getMethods(ListMixin.__proto__),
    elementAt: dart.fnType(E, [core.int]),
    [$elementAt]: dart.fnType(E, [core.int]),
    followedBy: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    [$followedBy]: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    every: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$every]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    any: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$any]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    firstWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$firstWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    lastWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$lastWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    singleWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$singleWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    join: dart.fnType(core.String, [], [core.String]),
    [$join]: dart.fnType(core.String, [], [core.String]),
    where: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$where]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    whereType: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    [$whereType]: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    expand: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    [$expand]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    reduce: dart.fnType(E, [dart.nullable(core.Object)]),
    [$reduce]: dart.fnType(E, [dart.nullable(core.Object)]),
    fold: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    skip: dart.fnType(core.Iterable$(E), [core.int]),
    [$skip]: dart.fnType(core.Iterable$(E), [core.int]),
    skipWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$skipWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    take: dart.fnType(core.Iterable$(E), [core.int]),
    [$take]: dart.fnType(core.Iterable$(E), [core.int]),
    takeWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$takeWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    toList: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    [$toList]: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    toSet: dart.fnType(core.Set$(E), []),
    [$toSet]: dart.fnType(core.Set$(E), []),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$add]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [_closeGap]: dart.fnType(dart.void, [core.int, core.int]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$retainWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [_filter]: dart.fnType(dart.void, [dart.fnType(core.bool, [E]), core.bool]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    cast: dart.gFnType(R => [core.List$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.List$(R), []], R => [dart.nullable(core.Object)]),
    removeLast: dart.fnType(E, []),
    [$removeLast]: dart.fnType(E, []),
    sort: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(core.int, [E, E]))]),
    [$sort]: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(core.int, [E, E]))]),
    shuffle: dart.fnType(dart.void, [], [dart.nullable(math.Random)]),
    [$shuffle]: dart.fnType(dart.void, [], [dart.nullable(math.Random)]),
    asMap: dart.fnType(core.Map$(core.int, E), []),
    [$asMap]: dart.fnType(core.Map$(core.int, E), []),
    '+': dart.fnType(core.List$(E), [dart.nullable(core.Object)]),
    [$plus]: dart.fnType(core.List$(E), [dart.nullable(core.Object)]),
    sublist: dart.fnType(core.List$(E), [core.int], [dart.nullable(core.int)]),
    [$sublist]: dart.fnType(core.List$(E), [core.int], [dart.nullable(core.int)]),
    getRange: dart.fnType(core.Iterable$(E), [core.int, core.int]),
    [$getRange]: dart.fnType(core.Iterable$(E), [core.int, core.int]),
    removeRange: dart.fnType(dart.void, [core.int, core.int]),
    [$removeRange]: dart.fnType(dart.void, [core.int, core.int]),
    fillRange: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.Object)]),
    [$fillRange]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.Object)]),
    setRange: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)], [core.int]),
    [$setRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)], [core.int]),
    replaceRange: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    [$replaceRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    indexOf: dart.fnType(core.int, [dart.nullable(core.Object)], [core.int]),
    [$indexOf]: dart.fnType(core.int, [dart.nullable(core.Object)], [core.int]),
    indexWhere: dart.fnType(core.int, [dart.fnType(core.bool, [E])], [core.int]),
    [$indexWhere]: dart.fnType(core.int, [dart.fnType(core.bool, [E])], [core.int]),
    lastIndexOf: dart.fnType(core.int, [dart.nullable(core.Object)], [dart.nullable(core.int)]),
    [$lastIndexOf]: dart.fnType(core.int, [dart.nullable(core.Object)], [dart.nullable(core.int)]),
    lastIndexWhere: dart.fnType(core.int, [dart.fnType(core.bool, [E])], [dart.nullable(core.int)]),
    [$lastIndexWhere]: dart.fnType(core.int, [dart.fnType(core.bool, [E])], [dart.nullable(core.int)]),
    insert: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insert]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    removeAt: dart.fnType(E, [core.int]),
    [$removeAt]: dart.fnType(E, [core.int]),
    insertAll: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insertAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    setAll: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$setAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(ListMixin, () => ({
    __proto__: dart.getGetters(ListMixin.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E),
    isEmpty: core.bool,
    [$isEmpty]: core.bool,
    isNotEmpty: core.bool,
    [$isNotEmpty]: core.bool,
    first: E,
    [$first]: E,
    last: E,
    [$last]: E,
    single: E,
    [$single]: E,
    reversed: core.Iterable$(E),
    [$reversed]: core.Iterable$(E)
  }));
  dart.setSetterSignature(ListMixin, () => ({
    __proto__: dart.getSetters(ListMixin.__proto__),
    first: dart.nullable(core.Object),
    [$first]: dart.nullable(core.Object),
    last: dart.nullable(core.Object),
    [$last]: dart.nullable(core.Object)
  }));
  dart.setLibraryUri(ListMixin, I[25]);
  dart.defineExtensionMethods(ListMixin, [
    'elementAt',
    'followedBy',
    'forEach',
    'contains',
    'every',
    'any',
    'firstWhere',
    'lastWhere',
    'singleWhere',
    'join',
    'where',
    'whereType',
    'map',
    'expand',
    'reduce',
    'fold',
    'skip',
    'skipWhile',
    'take',
    'takeWhile',
    'toList',
    'toSet',
    'add',
    'addAll',
    'remove',
    'removeWhere',
    'retainWhere',
    'clear',
    'cast',
    'removeLast',
    'sort',
    'shuffle',
    'asMap',
    '+',
    'sublist',
    'getRange',
    'removeRange',
    'fillRange',
    'setRange',
    'replaceRange',
    'indexOf',
    'indexWhere',
    'lastIndexOf',
    'lastIndexWhere',
    'insert',
    'removeAt',
    'insertAll',
    'setAll',
    'toString'
  ]);
  dart.defineExtensionAccessors(ListMixin, [
    'iterator',
    'isEmpty',
    'isNotEmpty',
    'first',
    'last',
    'single',
    'reversed'
  ]);
  return ListMixin;
});
collection.ListMixin = collection.ListMixin$();
dart.addTypeTests(collection.ListMixin, _is_ListMixin_default);
const _is_ListBase_default = Symbol('_is_ListBase_default');
collection.ListBase$ = dart.generic(E => {
  const Object_ListMixin$36 = class Object_ListMixin extends core.Object {};
  (Object_ListMixin$36.new = function() {
  }).prototype = Object_ListMixin$36.prototype;
  dart.applyMixin(Object_ListMixin$36, collection.ListMixin$(E));
  class ListBase extends Object_ListMixin$36 {
    static listToString(list) {
      if (list == null) dart.nullFailed(I[24], 42, 35, "list");
      return collection.IterableBase.iterableToFullString(list, "[", "]");
    }
  }
  (ListBase.new = function() {
    ;
  }).prototype = ListBase.prototype;
  dart.addTypeTests(ListBase);
  ListBase.prototype[_is_ListBase_default] = true;
  dart.addTypeCaches(ListBase);
  dart.setLibraryUri(ListBase, I[25]);
  return ListBase;
});
collection.ListBase = collection.ListBase$();
dart.addTypeTests(collection.ListBase, _is_ListBase_default);
const _is_UnmodifiableListMixin_default = Symbol('_is_UnmodifiableListMixin_default');
_internal.UnmodifiableListMixin$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  class UnmodifiableListMixin extends core.Object {
    _set(index, value$) {
      let value = value$;
      if (index == null) dart.nullFailed(I[23], 89, 25, "index");
      E.as(value);
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
      return value$;
    }
    set length(newLength) {
      if (newLength == null) dart.nullFailed(I[23], 94, 18, "newLength");
      dart.throw(new core.UnsupportedError.new("Cannot change the length of an unmodifiable list"));
    }
    set first(element) {
      E.as(element);
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
    }
    set last(element) {
      E.as(element);
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
    }
    setAll(at, iterable) {
      if (at == null) dart.nullFailed(I[23], 108, 19, "at");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 108, 35, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
    }
    add(value) {
      E.as(value);
      dart.throw(new core.UnsupportedError.new("Cannot add to an unmodifiable list"));
    }
    insert(index, element) {
      if (index == null) dart.nullFailed(I[23], 118, 19, "index");
      E.as(element);
      dart.throw(new core.UnsupportedError.new("Cannot add to an unmodifiable list"));
    }
    insertAll(at, iterable) {
      if (at == null) dart.nullFailed(I[23], 123, 22, "at");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 123, 38, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot add to an unmodifiable list"));
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 128, 27, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot add to an unmodifiable list"));
    }
    remove(element) {
      dart.throw(new core.UnsupportedError.new("Cannot remove from an unmodifiable list"));
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[23], 138, 25, "test");
      dart.throw(new core.UnsupportedError.new("Cannot remove from an unmodifiable list"));
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[23], 143, 25, "test");
      dart.throw(new core.UnsupportedError.new("Cannot remove from an unmodifiable list"));
    }
    sort(compare = null) {
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
    }
    shuffle(random = null) {
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
    }
    clear() {
      dart.throw(new core.UnsupportedError.new("Cannot clear an unmodifiable list"));
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[23], 163, 18, "index");
      dart.throw(new core.UnsupportedError.new("Cannot remove from an unmodifiable list"));
    }
    removeLast() {
      dart.throw(new core.UnsupportedError.new("Cannot remove from an unmodifiable list"));
    }
    setRange(start, end, iterable, skipCount = 0) {
      if (start == null) dart.nullFailed(I[23], 173, 21, "start");
      if (end == null) dart.nullFailed(I[23], 173, 32, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 173, 49, "iterable");
      if (skipCount == null) dart.nullFailed(I[23], 173, 64, "skipCount");
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[23], 178, 24, "start");
      if (end == null) dart.nullFailed(I[23], 178, 35, "end");
      dart.throw(new core.UnsupportedError.new("Cannot remove from an unmodifiable list"));
    }
    replaceRange(start, end, iterable) {
      if (start == null) dart.nullFailed(I[23], 183, 25, "start");
      if (end == null) dart.nullFailed(I[23], 183, 36, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 183, 53, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot remove from an unmodifiable list"));
    }
    fillRange(start, end, fillValue = null) {
      if (start == null) dart.nullFailed(I[23], 188, 22, "start");
      if (end == null) dart.nullFailed(I[23], 188, 33, "end");
      __t$EN().as(fillValue);
      dart.throw(new core.UnsupportedError.new("Cannot modify an unmodifiable list"));
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
  }
  (UnmodifiableListMixin.new = function() {
    ;
  }).prototype = UnmodifiableListMixin.prototype;
  UnmodifiableListMixin.prototype[dart.isList] = true;
  dart.addTypeTests(UnmodifiableListMixin);
  UnmodifiableListMixin.prototype[_is_UnmodifiableListMixin_default] = true;
  dart.addTypeCaches(UnmodifiableListMixin);
  UnmodifiableListMixin[dart.implements] = () => [core.List$(E)];
  dart.setMethodSignature(UnmodifiableListMixin, () => ({
    __proto__: dart.getMethods(UnmodifiableListMixin.__proto__),
    _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    setAll: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$setAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$add]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    insert: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insert]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    insertAll: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insertAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$retainWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    sort: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(core.int, [E, E]))]),
    [$sort]: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(core.int, [E, E]))]),
    shuffle: dart.fnType(dart.void, [], [dart.nullable(math.Random)]),
    [$shuffle]: dart.fnType(dart.void, [], [dart.nullable(math.Random)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    removeAt: dart.fnType(E, [core.int]),
    [$removeAt]: dart.fnType(E, [core.int]),
    removeLast: dart.fnType(E, []),
    [$removeLast]: dart.fnType(E, []),
    setRange: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)], [core.int]),
    [$setRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)], [core.int]),
    removeRange: dart.fnType(dart.void, [core.int, core.int]),
    [$removeRange]: dart.fnType(dart.void, [core.int, core.int]),
    replaceRange: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    [$replaceRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    fillRange: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.Object)]),
    [$fillRange]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.Object)])
  }));
  dart.setSetterSignature(UnmodifiableListMixin, () => ({
    __proto__: dart.getSetters(UnmodifiableListMixin.__proto__),
    length: core.int,
    [$length]: core.int,
    first: dart.nullable(core.Object),
    [$first]: dart.nullable(core.Object),
    last: dart.nullable(core.Object),
    [$last]: dart.nullable(core.Object)
  }));
  dart.setLibraryUri(UnmodifiableListMixin, I[26]);
  dart.defineExtensionMethods(UnmodifiableListMixin, [
    '_set',
    'setAll',
    'add',
    'insert',
    'insertAll',
    'addAll',
    'remove',
    'removeWhere',
    'retainWhere',
    'sort',
    'shuffle',
    'clear',
    'removeAt',
    'removeLast',
    'setRange',
    'removeRange',
    'replaceRange',
    'fillRange'
  ]);
  dart.defineExtensionAccessors(UnmodifiableListMixin, ['length', 'first', 'last']);
  return UnmodifiableListMixin;
});
_internal.UnmodifiableListMixin = _internal.UnmodifiableListMixin$();
dart.addTypeTests(_internal.UnmodifiableListMixin, _is_UnmodifiableListMixin_default);
const _is_UnmodifiableListBase_default = Symbol('_is_UnmodifiableListBase_default');
_internal.UnmodifiableListBase$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  const ListBase_UnmodifiableListMixin$36 = class ListBase_UnmodifiableListMixin extends collection.ListBase$(E) {};
  (ListBase_UnmodifiableListMixin$36.new = function() {
  }).prototype = ListBase_UnmodifiableListMixin$36.prototype;
  dart.applyMixin(ListBase_UnmodifiableListMixin$36, _internal.UnmodifiableListMixin$(E));
  class UnmodifiableListBase extends ListBase_UnmodifiableListMixin$36 {
    set length(newLength) {
      if (newLength == null) dart.nullFailed(I[23], 208, 16, "newLength");
      return super.length = newLength;
    }
    set first(element) {
      E.as(element);
      return super.first = element;
    }
    get first() {
      return super.first;
    }
    set last(element) {
      E.as(element);
      return super.last = element;
    }
    get last() {
      return super.last;
    }
    _set(index, value$) {
      let value = value$;
      if (index == null) dart.nullFailed(I[23], 208, 16, "index");
      E.as(value);
      super._set(index, value);
      return value$;
    }
    setAll(at, iterable) {
      if (at == null) dart.nullFailed(I[23], 208, 16, "at");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 208, 16, "iterable");
      return super.setAll(at, iterable);
    }
    add(value) {
      E.as(value);
      return super.add(value);
    }
    insert(index, element) {
      if (index == null) dart.nullFailed(I[23], 208, 16, "index");
      E.as(element);
      return super.insert(index, element);
    }
    insertAll(at, iterable) {
      if (at == null) dart.nullFailed(I[23], 208, 16, "at");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 208, 16, "iterable");
      return super.insertAll(at, iterable);
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 208, 16, "iterable");
      return super.addAll(iterable);
    }
    remove(element) {
      return super.remove(element);
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[23], 208, 16, "test");
      return super.removeWhere(test);
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[23], 208, 16, "test");
      return super.retainWhere(test);
    }
    sort(compare = null) {
      return super.sort(compare);
    }
    shuffle(random = null) {
      return super.shuffle(random);
    }
    clear() {
      return super.clear();
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[23], 208, 16, "index");
      return super.removeAt(index);
    }
    removeLast() {
      return super.removeLast();
    }
    setRange(start, end, iterable, skipCount = 0) {
      if (start == null) dart.nullFailed(I[23], 208, 16, "start");
      if (end == null) dart.nullFailed(I[23], 208, 16, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 208, 16, "iterable");
      if (skipCount == null) dart.nullFailed(I[23], 208, 16, "skipCount");
      return super.setRange(start, end, iterable, skipCount);
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[23], 208, 16, "start");
      if (end == null) dart.nullFailed(I[23], 208, 16, "end");
      return super.removeRange(start, end);
    }
    replaceRange(start, end, iterable) {
      if (start == null) dart.nullFailed(I[23], 208, 16, "start");
      if (end == null) dart.nullFailed(I[23], 208, 16, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 208, 16, "iterable");
      return super.replaceRange(start, end, iterable);
    }
    fillRange(start, end, fillValue = null) {
      if (start == null) dart.nullFailed(I[23], 208, 16, "start");
      if (end == null) dart.nullFailed(I[23], 208, 16, "end");
      __t$EN().as(fillValue);
      return super.fillRange(start, end, fillValue);
    }
  }
  (UnmodifiableListBase.new = function() {
    ;
  }).prototype = UnmodifiableListBase.prototype;
  dart.addTypeTests(UnmodifiableListBase);
  UnmodifiableListBase.prototype[_is_UnmodifiableListBase_default] = true;
  dart.addTypeCaches(UnmodifiableListBase);
  dart.setMethodSignature(UnmodifiableListBase, () => ({
    __proto__: dart.getMethods(UnmodifiableListBase.__proto__),
    _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)])
  }));
  dart.setSetterSignature(UnmodifiableListBase, () => ({
    __proto__: dart.getSetters(UnmodifiableListBase.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(UnmodifiableListBase, I[26]);
  dart.defineExtensionMethods(UnmodifiableListBase, [
    '_set',
    'setAll',
    'add',
    'insert',
    'insertAll',
    'addAll',
    'remove',
    'removeWhere',
    'retainWhere',
    'sort',
    'shuffle',
    'clear',
    'removeAt',
    'removeLast',
    'setRange',
    'removeRange',
    'replaceRange',
    'fillRange'
  ]);
  dart.defineExtensionAccessors(UnmodifiableListBase, ['length', 'first', 'last']);
  return UnmodifiableListBase;
});
_internal.UnmodifiableListBase = _internal.UnmodifiableListBase$();
dart.addTypeTests(_internal.UnmodifiableListBase, _is_UnmodifiableListBase_default);
core.num = class num extends core.Object {
  static is(o) {
    return typeof o == "number";
  }
  static as(o) {
    if (typeof o == "number") return o;
    return dart.as(o, core.num);
  }
  static parse(input, onError = null) {
    if (input == null) dart.nullFailed(I[27], 512, 27, "input");
    let result = core.num.tryParse(input);
    if (result != null) return result;
    if (onError == null) dart.throw(new core.FormatException.new(input));
    return onError(input);
  }
  static tryParse(input) {
    let t26;
    if (input == null) dart.nullFailed(I[27], 523, 31, "input");
    let source = input[$trim]();
    t26 = core.int.tryParse(source);
    return t26 == null ? core.double.tryParse(source) : t26;
  }
};
(core.num.new = function() {
  ;
}).prototype = core.num.prototype;
dart.addTypeCaches(core.num);
core.num[dart.implements] = () => [core.Comparable$(core.num)];
dart.setLibraryUri(core.num, I[9]);
core.int = class int extends core.num {
  static is(o) {
    return typeof o == "number" && Math.floor(o) == o;
  }
  static as(o) {
    if (typeof o == "number" && Math.floor(o) == o) {
      return o;
    }
    return dart.as(o, core.int);
  }
  static fromEnvironment(name, opts) {
    if (name == null) dart.nullFailed(I[7], 186, 38, "name");
    let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : 0;
    if (defaultValue == null) dart.nullFailed(I[7], 186, 49, "defaultValue");
    dart.throw(new core.UnsupportedError.new("int.fromEnvironment can only be used as a const constructor"));
  }
  static parse(source, opts) {
    if (source == null) dart.nullFailed(I[7], 172, 27, "source");
    let radix = opts && 'radix' in opts ? opts.radix : null;
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let value = core.int.tryParse(source, {radix: radix});
    if (value != null) return value;
    if (onError != null) return onError(source);
    dart.throw(new core.FormatException.new(source));
  }
  static tryParse(source, opts) {
    if (source == null) dart.nullFailed(I[7], 181, 31, "source");
    let radix = opts && 'radix' in opts ? opts.radix : null;
    return _js_helper.Primitives.parseInt(source, radix);
  }
};
dart.addTypeCaches(core.int);
dart.setLibraryUri(core.int, I[9]);
_internal.CodeUnits = class CodeUnits extends _internal.UnmodifiableListBase$(core.int) {
  get length() {
    return this[_string$].length;
  }
  set length(value) {
    super.length = value;
  }
  _get(i) {
    if (i == null) dart.nullFailed(I[22], 77, 23, "i");
    return this[_string$][$codeUnitAt](i);
  }
  static stringOf(u) {
    if (u == null) dart.nullFailed(I[22], 79, 36, "u");
    return u[_string$];
  }
};
(_internal.CodeUnits.new = function(_string) {
  if (_string == null) dart.nullFailed(I[22], 74, 18, "_string");
  this[_string$] = _string;
  ;
}).prototype = _internal.CodeUnits.prototype;
dart.addTypeTests(_internal.CodeUnits);
dart.addTypeCaches(_internal.CodeUnits);
dart.setMethodSignature(_internal.CodeUnits, () => ({
  __proto__: dart.getMethods(_internal.CodeUnits.__proto__),
  _get: dart.fnType(core.int, [core.int]),
  [$_get]: dart.fnType(core.int, [core.int])
}));
dart.setGetterSignature(_internal.CodeUnits, () => ({
  __proto__: dart.getGetters(_internal.CodeUnits.__proto__),
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(_internal.CodeUnits, I[26]);
dart.setFieldSignature(_internal.CodeUnits, () => ({
  __proto__: dart.getFields(_internal.CodeUnits.__proto__),
  [_string$]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_internal.CodeUnits, ['_get']);
dart.defineExtensionAccessors(_internal.CodeUnits, ['length']);
var name$5 = dart.privateName(_internal, "ExternalName.name");
_internal.ExternalName = class ExternalName extends core.Object {
  get name() {
    return this[name$5];
  }
  set name(value) {
    super.name = value;
  }
};
(_internal.ExternalName.new = function(name) {
  if (name == null) dart.nullFailed(I[22], 92, 27, "name");
  this[name$5] = name;
  ;
}).prototype = _internal.ExternalName.prototype;
dart.addTypeTests(_internal.ExternalName);
dart.addTypeCaches(_internal.ExternalName);
dart.setLibraryUri(_internal.ExternalName, I[26]);
dart.setFieldSignature(_internal.ExternalName, () => ({
  __proto__: dart.getFields(_internal.ExternalName.__proto__),
  name: dart.finalFieldType(core.String)
}));
_internal.SystemHash = class SystemHash extends core.Object {
  static combine(hash, value) {
    if (hash == null) dart.nullFailed(I[22], 166, 26, "hash");
    if (value == null) dart.nullFailed(I[22], 166, 36, "value");
    hash = 536870911 & dart.notNull(hash) + dart.notNull(value);
    hash = 536870911 & dart.notNull(hash) + ((524287 & dart.notNull(hash)) << 10);
    return (dart.notNull(hash) ^ hash[$rightShift](6)) >>> 0;
  }
  static finish(hash) {
    if (hash == null) dart.nullFailed(I[22], 172, 25, "hash");
    hash = 536870911 & dart.notNull(hash) + ((67108863 & dart.notNull(hash)) << 3);
    hash = (dart.notNull(hash) ^ hash[$rightShift](11)) >>> 0;
    return 536870911 & dart.notNull(hash) + ((16383 & dart.notNull(hash)) << 15);
  }
  static hash2(v1, v2, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 178, 24, "v1");
    if (v2 == null) dart.nullFailed(I[22], 178, 32, "v2");
    if (seed == null) dart.nullFailed(I[22], 178, 56, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    return _internal.SystemHash.finish(hash);
  }
  static hash3(v1, v2, v3, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 185, 24, "v1");
    if (v2 == null) dart.nullFailed(I[22], 185, 32, "v2");
    if (v3 == null) dart.nullFailed(I[22], 185, 40, "v3");
    if (seed == null) dart.nullFailed(I[22], 185, 64, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    return _internal.SystemHash.finish(hash);
  }
  static hash4(v1, v2, v3, v4, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 193, 24, "v1");
    if (v2 == null) dart.nullFailed(I[22], 193, 32, "v2");
    if (v3 == null) dart.nullFailed(I[22], 193, 40, "v3");
    if (v4 == null) dart.nullFailed(I[22], 193, 48, "v4");
    if (seed == null) dart.nullFailed(I[22], 194, 27, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    return _internal.SystemHash.finish(hash);
  }
  static hash5(v1, v2, v3, v4, v5, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 203, 24, "v1");
    if (v2 == null) dart.nullFailed(I[22], 203, 32, "v2");
    if (v3 == null) dart.nullFailed(I[22], 203, 40, "v3");
    if (v4 == null) dart.nullFailed(I[22], 203, 48, "v4");
    if (v5 == null) dart.nullFailed(I[22], 203, 56, "v5");
    if (seed == null) dart.nullFailed(I[22], 204, 27, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    return _internal.SystemHash.finish(hash);
  }
  static hash6(v1, v2, v3, v4, v5, v6, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 214, 24, "v1");
    if (v2 == null) dart.nullFailed(I[22], 214, 32, "v2");
    if (v3 == null) dart.nullFailed(I[22], 214, 40, "v3");
    if (v4 == null) dart.nullFailed(I[22], 214, 48, "v4");
    if (v5 == null) dart.nullFailed(I[22], 214, 56, "v5");
    if (v6 == null) dart.nullFailed(I[22], 214, 64, "v6");
    if (seed == null) dart.nullFailed(I[22], 215, 27, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    return _internal.SystemHash.finish(hash);
  }
  static hash7(v1, v2, v3, v4, v5, v6, v7, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 226, 24, "v1");
    if (v2 == null) dart.nullFailed(I[22], 226, 32, "v2");
    if (v3 == null) dart.nullFailed(I[22], 226, 40, "v3");
    if (v4 == null) dart.nullFailed(I[22], 226, 48, "v4");
    if (v5 == null) dart.nullFailed(I[22], 226, 56, "v5");
    if (v6 == null) dart.nullFailed(I[22], 226, 64, "v6");
    if (v7 == null) dart.nullFailed(I[22], 226, 72, "v7");
    if (seed == null) dart.nullFailed(I[22], 227, 27, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    return _internal.SystemHash.finish(hash);
  }
  static hash8(v1, v2, v3, v4, v5, v6, v7, v8, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 240, 11, "v1");
    if (v2 == null) dart.nullFailed(I[22], 240, 19, "v2");
    if (v3 == null) dart.nullFailed(I[22], 240, 27, "v3");
    if (v4 == null) dart.nullFailed(I[22], 240, 35, "v4");
    if (v5 == null) dart.nullFailed(I[22], 240, 43, "v5");
    if (v6 == null) dart.nullFailed(I[22], 240, 51, "v6");
    if (v7 == null) dart.nullFailed(I[22], 240, 59, "v7");
    if (v8 == null) dart.nullFailed(I[22], 240, 67, "v8");
    if (seed == null) dart.nullFailed(I[22], 241, 27, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    return _internal.SystemHash.finish(hash);
  }
  static hash9(v1, v2, v3, v4, v5, v6, v7, v8, v9, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 255, 11, "v1");
    if (v2 == null) dart.nullFailed(I[22], 255, 19, "v2");
    if (v3 == null) dart.nullFailed(I[22], 255, 27, "v3");
    if (v4 == null) dart.nullFailed(I[22], 255, 35, "v4");
    if (v5 == null) dart.nullFailed(I[22], 255, 43, "v5");
    if (v6 == null) dart.nullFailed(I[22], 255, 51, "v6");
    if (v7 == null) dart.nullFailed(I[22], 255, 59, "v7");
    if (v8 == null) dart.nullFailed(I[22], 255, 67, "v8");
    if (v9 == null) dart.nullFailed(I[22], 255, 75, "v9");
    if (seed == null) dart.nullFailed(I[22], 256, 27, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    return _internal.SystemHash.finish(hash);
  }
  static hash10(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 270, 25, "v1");
    if (v2 == null) dart.nullFailed(I[22], 270, 33, "v2");
    if (v3 == null) dart.nullFailed(I[22], 270, 41, "v3");
    if (v4 == null) dart.nullFailed(I[22], 270, 49, "v4");
    if (v5 == null) dart.nullFailed(I[22], 270, 57, "v5");
    if (v6 == null) dart.nullFailed(I[22], 270, 65, "v6");
    if (v7 == null) dart.nullFailed(I[22], 270, 73, "v7");
    if (v8 == null) dart.nullFailed(I[22], 271, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 271, 19, "v9");
    if (v10 == null) dart.nullFailed(I[22], 271, 27, "v10");
    if (seed == null) dart.nullFailed(I[22], 272, 27, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    return _internal.SystemHash.finish(hash);
  }
  static hash11(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 288, 25, "v1");
    if (v2 == null) dart.nullFailed(I[22], 288, 33, "v2");
    if (v3 == null) dart.nullFailed(I[22], 288, 41, "v3");
    if (v4 == null) dart.nullFailed(I[22], 288, 49, "v4");
    if (v5 == null) dart.nullFailed(I[22], 288, 57, "v5");
    if (v6 == null) dart.nullFailed(I[22], 288, 65, "v6");
    if (v7 == null) dart.nullFailed(I[22], 288, 73, "v7");
    if (v8 == null) dart.nullFailed(I[22], 289, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 289, 19, "v9");
    if (v10 == null) dart.nullFailed(I[22], 289, 27, "v10");
    if (v11 == null) dart.nullFailed(I[22], 289, 36, "v11");
    if (seed == null) dart.nullFailed(I[22], 290, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    return _internal.SystemHash.finish(hash);
  }
  static hash12(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 307, 25, "v1");
    if (v2 == null) dart.nullFailed(I[22], 307, 33, "v2");
    if (v3 == null) dart.nullFailed(I[22], 307, 41, "v3");
    if (v4 == null) dart.nullFailed(I[22], 307, 49, "v4");
    if (v5 == null) dart.nullFailed(I[22], 307, 57, "v5");
    if (v6 == null) dart.nullFailed(I[22], 307, 65, "v6");
    if (v7 == null) dart.nullFailed(I[22], 307, 73, "v7");
    if (v8 == null) dart.nullFailed(I[22], 308, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 308, 19, "v9");
    if (v10 == null) dart.nullFailed(I[22], 308, 27, "v10");
    if (v11 == null) dart.nullFailed(I[22], 308, 36, "v11");
    if (v12 == null) dart.nullFailed(I[22], 308, 45, "v12");
    if (seed == null) dart.nullFailed(I[22], 309, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    return _internal.SystemHash.finish(hash);
  }
  static hash13(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 327, 25, "v1");
    if (v2 == null) dart.nullFailed(I[22], 327, 33, "v2");
    if (v3 == null) dart.nullFailed(I[22], 327, 41, "v3");
    if (v4 == null) dart.nullFailed(I[22], 327, 49, "v4");
    if (v5 == null) dart.nullFailed(I[22], 327, 57, "v5");
    if (v6 == null) dart.nullFailed(I[22], 327, 65, "v6");
    if (v7 == null) dart.nullFailed(I[22], 327, 73, "v7");
    if (v8 == null) dart.nullFailed(I[22], 328, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 328, 19, "v9");
    if (v10 == null) dart.nullFailed(I[22], 328, 27, "v10");
    if (v11 == null) dart.nullFailed(I[22], 328, 36, "v11");
    if (v12 == null) dart.nullFailed(I[22], 328, 45, "v12");
    if (v13 == null) dart.nullFailed(I[22], 328, 54, "v13");
    if (seed == null) dart.nullFailed(I[22], 329, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    return _internal.SystemHash.finish(hash);
  }
  static hash14(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 348, 25, "v1");
    if (v2 == null) dart.nullFailed(I[22], 348, 33, "v2");
    if (v3 == null) dart.nullFailed(I[22], 348, 41, "v3");
    if (v4 == null) dart.nullFailed(I[22], 348, 49, "v4");
    if (v5 == null) dart.nullFailed(I[22], 348, 57, "v5");
    if (v6 == null) dart.nullFailed(I[22], 348, 65, "v6");
    if (v7 == null) dart.nullFailed(I[22], 348, 73, "v7");
    if (v8 == null) dart.nullFailed(I[22], 349, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 349, 19, "v9");
    if (v10 == null) dart.nullFailed(I[22], 349, 27, "v10");
    if (v11 == null) dart.nullFailed(I[22], 349, 36, "v11");
    if (v12 == null) dart.nullFailed(I[22], 349, 45, "v12");
    if (v13 == null) dart.nullFailed(I[22], 349, 54, "v13");
    if (v14 == null) dart.nullFailed(I[22], 349, 63, "v14");
    if (seed == null) dart.nullFailed(I[22], 350, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    hash = _internal.SystemHash.combine(hash, v14);
    return _internal.SystemHash.finish(hash);
  }
  static hash15(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 370, 25, "v1");
    if (v2 == null) dart.nullFailed(I[22], 370, 33, "v2");
    if (v3 == null) dart.nullFailed(I[22], 370, 41, "v3");
    if (v4 == null) dart.nullFailed(I[22], 370, 49, "v4");
    if (v5 == null) dart.nullFailed(I[22], 370, 57, "v5");
    if (v6 == null) dart.nullFailed(I[22], 370, 65, "v6");
    if (v7 == null) dart.nullFailed(I[22], 370, 73, "v7");
    if (v8 == null) dart.nullFailed(I[22], 371, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 371, 19, "v9");
    if (v10 == null) dart.nullFailed(I[22], 371, 27, "v10");
    if (v11 == null) dart.nullFailed(I[22], 371, 36, "v11");
    if (v12 == null) dart.nullFailed(I[22], 371, 45, "v12");
    if (v13 == null) dart.nullFailed(I[22], 371, 54, "v13");
    if (v14 == null) dart.nullFailed(I[22], 371, 63, "v14");
    if (v15 == null) dart.nullFailed(I[22], 371, 72, "v15");
    if (seed == null) dart.nullFailed(I[22], 372, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    hash = _internal.SystemHash.combine(hash, v14);
    hash = _internal.SystemHash.combine(hash, v15);
    return _internal.SystemHash.finish(hash);
  }
  static hash16(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 394, 11, "v1");
    if (v2 == null) dart.nullFailed(I[22], 395, 11, "v2");
    if (v3 == null) dart.nullFailed(I[22], 396, 11, "v3");
    if (v4 == null) dart.nullFailed(I[22], 397, 11, "v4");
    if (v5 == null) dart.nullFailed(I[22], 398, 11, "v5");
    if (v6 == null) dart.nullFailed(I[22], 399, 11, "v6");
    if (v7 == null) dart.nullFailed(I[22], 400, 11, "v7");
    if (v8 == null) dart.nullFailed(I[22], 401, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 402, 11, "v9");
    if (v10 == null) dart.nullFailed(I[22], 403, 11, "v10");
    if (v11 == null) dart.nullFailed(I[22], 404, 11, "v11");
    if (v12 == null) dart.nullFailed(I[22], 405, 11, "v12");
    if (v13 == null) dart.nullFailed(I[22], 406, 11, "v13");
    if (v14 == null) dart.nullFailed(I[22], 407, 11, "v14");
    if (v15 == null) dart.nullFailed(I[22], 408, 11, "v15");
    if (v16 == null) dart.nullFailed(I[22], 409, 11, "v16");
    if (seed == null) dart.nullFailed(I[22], 410, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    hash = _internal.SystemHash.combine(hash, v14);
    hash = _internal.SystemHash.combine(hash, v15);
    hash = _internal.SystemHash.combine(hash, v16);
    return _internal.SystemHash.finish(hash);
  }
  static hash17(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 433, 11, "v1");
    if (v2 == null) dart.nullFailed(I[22], 434, 11, "v2");
    if (v3 == null) dart.nullFailed(I[22], 435, 11, "v3");
    if (v4 == null) dart.nullFailed(I[22], 436, 11, "v4");
    if (v5 == null) dart.nullFailed(I[22], 437, 11, "v5");
    if (v6 == null) dart.nullFailed(I[22], 438, 11, "v6");
    if (v7 == null) dart.nullFailed(I[22], 439, 11, "v7");
    if (v8 == null) dart.nullFailed(I[22], 440, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 441, 11, "v9");
    if (v10 == null) dart.nullFailed(I[22], 442, 11, "v10");
    if (v11 == null) dart.nullFailed(I[22], 443, 11, "v11");
    if (v12 == null) dart.nullFailed(I[22], 444, 11, "v12");
    if (v13 == null) dart.nullFailed(I[22], 445, 11, "v13");
    if (v14 == null) dart.nullFailed(I[22], 446, 11, "v14");
    if (v15 == null) dart.nullFailed(I[22], 447, 11, "v15");
    if (v16 == null) dart.nullFailed(I[22], 448, 11, "v16");
    if (v17 == null) dart.nullFailed(I[22], 449, 11, "v17");
    if (seed == null) dart.nullFailed(I[22], 450, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    hash = _internal.SystemHash.combine(hash, v14);
    hash = _internal.SystemHash.combine(hash, v15);
    hash = _internal.SystemHash.combine(hash, v16);
    hash = _internal.SystemHash.combine(hash, v17);
    return _internal.SystemHash.finish(hash);
  }
  static hash18(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 474, 11, "v1");
    if (v2 == null) dart.nullFailed(I[22], 475, 11, "v2");
    if (v3 == null) dart.nullFailed(I[22], 476, 11, "v3");
    if (v4 == null) dart.nullFailed(I[22], 477, 11, "v4");
    if (v5 == null) dart.nullFailed(I[22], 478, 11, "v5");
    if (v6 == null) dart.nullFailed(I[22], 479, 11, "v6");
    if (v7 == null) dart.nullFailed(I[22], 480, 11, "v7");
    if (v8 == null) dart.nullFailed(I[22], 481, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 482, 11, "v9");
    if (v10 == null) dart.nullFailed(I[22], 483, 11, "v10");
    if (v11 == null) dart.nullFailed(I[22], 484, 11, "v11");
    if (v12 == null) dart.nullFailed(I[22], 485, 11, "v12");
    if (v13 == null) dart.nullFailed(I[22], 486, 11, "v13");
    if (v14 == null) dart.nullFailed(I[22], 487, 11, "v14");
    if (v15 == null) dart.nullFailed(I[22], 488, 11, "v15");
    if (v16 == null) dart.nullFailed(I[22], 489, 11, "v16");
    if (v17 == null) dart.nullFailed(I[22], 490, 11, "v17");
    if (v18 == null) dart.nullFailed(I[22], 491, 11, "v18");
    if (seed == null) dart.nullFailed(I[22], 492, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    hash = _internal.SystemHash.combine(hash, v14);
    hash = _internal.SystemHash.combine(hash, v15);
    hash = _internal.SystemHash.combine(hash, v16);
    hash = _internal.SystemHash.combine(hash, v17);
    hash = _internal.SystemHash.combine(hash, v18);
    return _internal.SystemHash.finish(hash);
  }
  static hash19(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 517, 11, "v1");
    if (v2 == null) dart.nullFailed(I[22], 518, 11, "v2");
    if (v3 == null) dart.nullFailed(I[22], 519, 11, "v3");
    if (v4 == null) dart.nullFailed(I[22], 520, 11, "v4");
    if (v5 == null) dart.nullFailed(I[22], 521, 11, "v5");
    if (v6 == null) dart.nullFailed(I[22], 522, 11, "v6");
    if (v7 == null) dart.nullFailed(I[22], 523, 11, "v7");
    if (v8 == null) dart.nullFailed(I[22], 524, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 525, 11, "v9");
    if (v10 == null) dart.nullFailed(I[22], 526, 11, "v10");
    if (v11 == null) dart.nullFailed(I[22], 527, 11, "v11");
    if (v12 == null) dart.nullFailed(I[22], 528, 11, "v12");
    if (v13 == null) dart.nullFailed(I[22], 529, 11, "v13");
    if (v14 == null) dart.nullFailed(I[22], 530, 11, "v14");
    if (v15 == null) dart.nullFailed(I[22], 531, 11, "v15");
    if (v16 == null) dart.nullFailed(I[22], 532, 11, "v16");
    if (v17 == null) dart.nullFailed(I[22], 533, 11, "v17");
    if (v18 == null) dart.nullFailed(I[22], 534, 11, "v18");
    if (v19 == null) dart.nullFailed(I[22], 535, 11, "v19");
    if (seed == null) dart.nullFailed(I[22], 536, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    hash = _internal.SystemHash.combine(hash, v14);
    hash = _internal.SystemHash.combine(hash, v15);
    hash = _internal.SystemHash.combine(hash, v16);
    hash = _internal.SystemHash.combine(hash, v17);
    hash = _internal.SystemHash.combine(hash, v18);
    hash = _internal.SystemHash.combine(hash, v19);
    return _internal.SystemHash.finish(hash);
  }
  static hash20(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, seed = 0) {
    if (v1 == null) dart.nullFailed(I[22], 562, 11, "v1");
    if (v2 == null) dart.nullFailed(I[22], 563, 11, "v2");
    if (v3 == null) dart.nullFailed(I[22], 564, 11, "v3");
    if (v4 == null) dart.nullFailed(I[22], 565, 11, "v4");
    if (v5 == null) dart.nullFailed(I[22], 566, 11, "v5");
    if (v6 == null) dart.nullFailed(I[22], 567, 11, "v6");
    if (v7 == null) dart.nullFailed(I[22], 568, 11, "v7");
    if (v8 == null) dart.nullFailed(I[22], 569, 11, "v8");
    if (v9 == null) dart.nullFailed(I[22], 570, 11, "v9");
    if (v10 == null) dart.nullFailed(I[22], 571, 11, "v10");
    if (v11 == null) dart.nullFailed(I[22], 572, 11, "v11");
    if (v12 == null) dart.nullFailed(I[22], 573, 11, "v12");
    if (v13 == null) dart.nullFailed(I[22], 574, 11, "v13");
    if (v14 == null) dart.nullFailed(I[22], 575, 11, "v14");
    if (v15 == null) dart.nullFailed(I[22], 576, 11, "v15");
    if (v16 == null) dart.nullFailed(I[22], 577, 11, "v16");
    if (v17 == null) dart.nullFailed(I[22], 578, 11, "v17");
    if (v18 == null) dart.nullFailed(I[22], 579, 11, "v18");
    if (v19 == null) dart.nullFailed(I[22], 580, 11, "v19");
    if (v20 == null) dart.nullFailed(I[22], 581, 11, "v20");
    if (seed == null) dart.nullFailed(I[22], 582, 12, "seed");
    let hash = seed;
    hash = _internal.SystemHash.combine(hash, v1);
    hash = _internal.SystemHash.combine(hash, v2);
    hash = _internal.SystemHash.combine(hash, v3);
    hash = _internal.SystemHash.combine(hash, v4);
    hash = _internal.SystemHash.combine(hash, v5);
    hash = _internal.SystemHash.combine(hash, v6);
    hash = _internal.SystemHash.combine(hash, v7);
    hash = _internal.SystemHash.combine(hash, v8);
    hash = _internal.SystemHash.combine(hash, v9);
    hash = _internal.SystemHash.combine(hash, v10);
    hash = _internal.SystemHash.combine(hash, v11);
    hash = _internal.SystemHash.combine(hash, v12);
    hash = _internal.SystemHash.combine(hash, v13);
    hash = _internal.SystemHash.combine(hash, v14);
    hash = _internal.SystemHash.combine(hash, v15);
    hash = _internal.SystemHash.combine(hash, v16);
    hash = _internal.SystemHash.combine(hash, v17);
    hash = _internal.SystemHash.combine(hash, v18);
    hash = _internal.SystemHash.combine(hash, v19);
    hash = _internal.SystemHash.combine(hash, v20);
    return _internal.SystemHash.finish(hash);
  }
  static smear(x) {
    if (x == null) dart.nullFailed(I[22], 618, 24, "x");
    x = (dart.notNull(x) ^ x[$rightShift](16)) >>> 0;
    x = (dart.notNull(x) * 2146121005 & 4294967295) >>> 0;
    x = (dart.notNull(x) ^ x[$rightShift](15)) >>> 0;
    x = (dart.notNull(x) * 2221713035 & 4294967295) >>> 0;
    x = (dart.notNull(x) ^ x[$rightShift](16)) >>> 0;
    return x;
  }
};
(_internal.SystemHash.new = function() {
  ;
}).prototype = _internal.SystemHash.prototype;
dart.addTypeTests(_internal.SystemHash);
dart.addTypeCaches(_internal.SystemHash);
dart.setLibraryUri(_internal.SystemHash, I[26]);
const id$ = SentinelValue_id;
_internal.SentinelValue = class SentinelValue extends core.Object {
  get id() {
    return this[id$];
  }
  set id(value) {
    super.id = value;
  }
};
(_internal.SentinelValue.new = function(id) {
  if (id == null) dart.nullFailed(I[22], 633, 28, "id");
  this[id$] = id;
  ;
}).prototype = _internal.SentinelValue.prototype;
dart.addTypeTests(_internal.SentinelValue);
dart.addTypeCaches(_internal.SentinelValue);
dart.setLibraryUri(_internal.SentinelValue, I[26]);
dart.setFieldSignature(_internal.SentinelValue, () => ({
  __proto__: dart.getFields(_internal.SentinelValue.__proto__),
  id: dart.finalFieldType(core.int)
}));
var version$ = dart.privateName(_internal, "Since.version");
_internal.Since = class Since extends core.Object {
  get version() {
    return this[version$];
  }
  set version(value) {
    super.version = value;
  }
};
(_internal.Since.new = function(version) {
  if (version == null) dart.nullFailed(I[22], 728, 20, "version");
  this[version$] = version;
  ;
}).prototype = _internal.Since.prototype;
dart.addTypeTests(_internal.Since);
dart.addTypeCaches(_internal.Since);
dart.setLibraryUri(_internal.Since, I[26]);
dart.setFieldSignature(_internal.Since, () => ({
  __proto__: dart.getFields(_internal.Since.__proto__),
  version: dart.finalFieldType(core.String)
}));
var _name$ = dart.privateName(_internal, "_name");
core.Error = class Error extends core.Object {
  static safeToString(object) {
    if (typeof object == 'number' || typeof object == 'boolean' || object == null) {
      return dart.toString(object);
    }
    if (typeof object == 'string') {
      return core.Error._stringToSafeString(object);
    }
    return core.Error._objectToString(object);
  }
  static _stringToSafeString(string) {
    if (string == null) dart.nullFailed(I[7], 280, 44, "string");
    return JSON.stringify(string);
  }
  static _objectToString(object) {
    if (object == null) dart.nullFailed(I[7], 275, 40, "object");
    return "Instance of '" + dart.typeName(dart.getReifiedType(object)) + "'";
  }
  get stackTrace() {
    return dart.stackTraceForError(this);
  }
};
(core.Error.new = function() {
  ;
}).prototype = core.Error.prototype;
dart.addTypeTests(core.Error);
dart.addTypeCaches(core.Error);
dart.setGetterSignature(core.Error, () => ({
  __proto__: dart.getGetters(core.Error.__proto__),
  stackTrace: dart.nullable(core.StackTrace),
  [$stackTrace]: dart.nullable(core.StackTrace)
}));
dart.setLibraryUri(core.Error, I[9]);
dart.defineExtensionAccessors(core.Error, ['stackTrace']);
const _is_NotNullableError_default = Symbol('_is_NotNullableError_default');
_internal.NotNullableError$ = dart.generic(T => {
  class NotNullableError extends core.Error {
    toString() {
      return "Null is not a valid value for the parameter '" + dart.str(this[_name$]) + "' of type '" + dart.str(dart.wrapType(T)) + "'";
    }
  }
  (NotNullableError.new = function(_name) {
    if (_name == null) dart.nullFailed(I[22], 751, 25, "_name");
    this[_name$] = _name;
    NotNullableError.__proto__.new.call(this);
    ;
  }).prototype = NotNullableError.prototype;
  dart.addTypeTests(NotNullableError);
  NotNullableError.prototype[_is_NotNullableError_default] = true;
  dart.addTypeCaches(NotNullableError);
  NotNullableError[dart.implements] = () => [core.TypeError];
  dart.setLibraryUri(NotNullableError, I[26]);
  dart.setFieldSignature(NotNullableError, () => ({
    __proto__: dart.getFields(NotNullableError.__proto__),
    [_name$]: dart.finalFieldType(core.String)
  }));
  dart.defineExtensionMethods(NotNullableError, ['toString']);
  return NotNullableError;
});
_internal.NotNullableError = _internal.NotNullableError$();
dart.addTypeTests(_internal.NotNullableError, _is_NotNullableError_default);
_internal.HttpStatus = class HttpStatus extends core.Object {};
(_internal.HttpStatus.new = function() {
  ;
}).prototype = _internal.HttpStatus.prototype;
dart.addTypeTests(_internal.HttpStatus);
dart.addTypeCaches(_internal.HttpStatus);
dart.setLibraryUri(_internal.HttpStatus, I[26]);
dart.defineLazy(_internal.HttpStatus, {
  /*_internal.HttpStatus.continue__*/get continue__() {
    return 100;
  },
  /*_internal.HttpStatus.switchingProtocols*/get switchingProtocols() {
    return 101;
  },
  /*_internal.HttpStatus.processing*/get processing() {
    return 102;
  },
  /*_internal.HttpStatus.ok*/get ok() {
    return 200;
  },
  /*_internal.HttpStatus.created*/get created() {
    return 201;
  },
  /*_internal.HttpStatus.accepted*/get accepted() {
    return 202;
  },
  /*_internal.HttpStatus.nonAuthoritativeInformation*/get nonAuthoritativeInformation() {
    return 203;
  },
  /*_internal.HttpStatus.noContent*/get noContent() {
    return 204;
  },
  /*_internal.HttpStatus.resetContent*/get resetContent() {
    return 205;
  },
  /*_internal.HttpStatus.partialContent*/get partialContent() {
    return 206;
  },
  /*_internal.HttpStatus.multiStatus*/get multiStatus() {
    return 207;
  },
  /*_internal.HttpStatus.alreadyReported*/get alreadyReported() {
    return 208;
  },
  /*_internal.HttpStatus.imUsed*/get imUsed() {
    return 226;
  },
  /*_internal.HttpStatus.multipleChoices*/get multipleChoices() {
    return 300;
  },
  /*_internal.HttpStatus.movedPermanently*/get movedPermanently() {
    return 301;
  },
  /*_internal.HttpStatus.found*/get found() {
    return 302;
  },
  /*_internal.HttpStatus.movedTemporarily*/get movedTemporarily() {
    return 302;
  },
  /*_internal.HttpStatus.seeOther*/get seeOther() {
    return 303;
  },
  /*_internal.HttpStatus.notModified*/get notModified() {
    return 304;
  },
  /*_internal.HttpStatus.useProxy*/get useProxy() {
    return 305;
  },
  /*_internal.HttpStatus.temporaryRedirect*/get temporaryRedirect() {
    return 307;
  },
  /*_internal.HttpStatus.permanentRedirect*/get permanentRedirect() {
    return 308;
  },
  /*_internal.HttpStatus.badRequest*/get badRequest() {
    return 400;
  },
  /*_internal.HttpStatus.unauthorized*/get unauthorized() {
    return 401;
  },
  /*_internal.HttpStatus.paymentRequired*/get paymentRequired() {
    return 402;
  },
  /*_internal.HttpStatus.forbidden*/get forbidden() {
    return 403;
  },
  /*_internal.HttpStatus.notFound*/get notFound() {
    return 404;
  },
  /*_internal.HttpStatus.methodNotAllowed*/get methodNotAllowed() {
    return 405;
  },
  /*_internal.HttpStatus.notAcceptable*/get notAcceptable() {
    return 406;
  },
  /*_internal.HttpStatus.proxyAuthenticationRequired*/get proxyAuthenticationRequired() {
    return 407;
  },
  /*_internal.HttpStatus.requestTimeout*/get requestTimeout() {
    return 408;
  },
  /*_internal.HttpStatus.conflict*/get conflict() {
    return 409;
  },
  /*_internal.HttpStatus.gone*/get gone() {
    return 410;
  },
  /*_internal.HttpStatus.lengthRequired*/get lengthRequired() {
    return 411;
  },
  /*_internal.HttpStatus.preconditionFailed*/get preconditionFailed() {
    return 412;
  },
  /*_internal.HttpStatus.requestEntityTooLarge*/get requestEntityTooLarge() {
    return 413;
  },
  /*_internal.HttpStatus.requestUriTooLong*/get requestUriTooLong() {
    return 414;
  },
  /*_internal.HttpStatus.unsupportedMediaType*/get unsupportedMediaType() {
    return 415;
  },
  /*_internal.HttpStatus.requestedRangeNotSatisfiable*/get requestedRangeNotSatisfiable() {
    return 416;
  },
  /*_internal.HttpStatus.expectationFailed*/get expectationFailed() {
    return 417;
  },
  /*_internal.HttpStatus.misdirectedRequest*/get misdirectedRequest() {
    return 421;
  },
  /*_internal.HttpStatus.unprocessableEntity*/get unprocessableEntity() {
    return 422;
  },
  /*_internal.HttpStatus.locked*/get locked() {
    return 423;
  },
  /*_internal.HttpStatus.failedDependency*/get failedDependency() {
    return 424;
  },
  /*_internal.HttpStatus.upgradeRequired*/get upgradeRequired() {
    return 426;
  },
  /*_internal.HttpStatus.preconditionRequired*/get preconditionRequired() {
    return 428;
  },
  /*_internal.HttpStatus.tooManyRequests*/get tooManyRequests() {
    return 429;
  },
  /*_internal.HttpStatus.requestHeaderFieldsTooLarge*/get requestHeaderFieldsTooLarge() {
    return 431;
  },
  /*_internal.HttpStatus.connectionClosedWithoutResponse*/get connectionClosedWithoutResponse() {
    return 444;
  },
  /*_internal.HttpStatus.unavailableForLegalReasons*/get unavailableForLegalReasons() {
    return 451;
  },
  /*_internal.HttpStatus.clientClosedRequest*/get clientClosedRequest() {
    return 499;
  },
  /*_internal.HttpStatus.internalServerError*/get internalServerError() {
    return 500;
  },
  /*_internal.HttpStatus.notImplemented*/get notImplemented() {
    return 501;
  },
  /*_internal.HttpStatus.badGateway*/get badGateway() {
    return 502;
  },
  /*_internal.HttpStatus.serviceUnavailable*/get serviceUnavailable() {
    return 503;
  },
  /*_internal.HttpStatus.gatewayTimeout*/get gatewayTimeout() {
    return 504;
  },
  /*_internal.HttpStatus.httpVersionNotSupported*/get httpVersionNotSupported() {
    return 505;
  },
  /*_internal.HttpStatus.variantAlsoNegotiates*/get variantAlsoNegotiates() {
    return 506;
  },
  /*_internal.HttpStatus.insufficientStorage*/get insufficientStorage() {
    return 507;
  },
  /*_internal.HttpStatus.loopDetected*/get loopDetected() {
    return 508;
  },
  /*_internal.HttpStatus.notExtended*/get notExtended() {
    return 510;
  },
  /*_internal.HttpStatus.networkAuthenticationRequired*/get networkAuthenticationRequired() {
    return 511;
  },
  /*_internal.HttpStatus.networkConnectTimeoutError*/get networkConnectTimeoutError() {
    return 599;
  },
  /*_internal.HttpStatus.CONTINUE*/get CONTINUE() {
    return 100;
  },
  /*_internal.HttpStatus.SWITCHING_PROTOCOLS*/get SWITCHING_PROTOCOLS() {
    return 101;
  },
  /*_internal.HttpStatus.OK*/get OK() {
    return 200;
  },
  /*_internal.HttpStatus.CREATED*/get CREATED() {
    return 201;
  },
  /*_internal.HttpStatus.ACCEPTED*/get ACCEPTED() {
    return 202;
  },
  /*_internal.HttpStatus.NON_AUTHORITATIVE_INFORMATION*/get NON_AUTHORITATIVE_INFORMATION() {
    return 203;
  },
  /*_internal.HttpStatus.NO_CONTENT*/get NO_CONTENT() {
    return 204;
  },
  /*_internal.HttpStatus.RESET_CONTENT*/get RESET_CONTENT() {
    return 205;
  },
  /*_internal.HttpStatus.PARTIAL_CONTENT*/get PARTIAL_CONTENT() {
    return 206;
  },
  /*_internal.HttpStatus.MULTIPLE_CHOICES*/get MULTIPLE_CHOICES() {
    return 300;
  },
  /*_internal.HttpStatus.MOVED_PERMANENTLY*/get MOVED_PERMANENTLY() {
    return 301;
  },
  /*_internal.HttpStatus.FOUND*/get FOUND() {
    return 302;
  },
  /*_internal.HttpStatus.MOVED_TEMPORARILY*/get MOVED_TEMPORARILY() {
    return 302;
  },
  /*_internal.HttpStatus.SEE_OTHER*/get SEE_OTHER() {
    return 303;
  },
  /*_internal.HttpStatus.NOT_MODIFIED*/get NOT_MODIFIED() {
    return 304;
  },
  /*_internal.HttpStatus.USE_PROXY*/get USE_PROXY() {
    return 305;
  },
  /*_internal.HttpStatus.TEMPORARY_REDIRECT*/get TEMPORARY_REDIRECT() {
    return 307;
  },
  /*_internal.HttpStatus.BAD_REQUEST*/get BAD_REQUEST() {
    return 400;
  },
  /*_internal.HttpStatus.UNAUTHORIZED*/get UNAUTHORIZED() {
    return 401;
  },
  /*_internal.HttpStatus.PAYMENT_REQUIRED*/get PAYMENT_REQUIRED() {
    return 402;
  },
  /*_internal.HttpStatus.FORBIDDEN*/get FORBIDDEN() {
    return 403;
  },
  /*_internal.HttpStatus.NOT_FOUND*/get NOT_FOUND() {
    return 404;
  },
  /*_internal.HttpStatus.METHOD_NOT_ALLOWED*/get METHOD_NOT_ALLOWED() {
    return 405;
  },
  /*_internal.HttpStatus.NOT_ACCEPTABLE*/get NOT_ACCEPTABLE() {
    return 406;
  },
  /*_internal.HttpStatus.PROXY_AUTHENTICATION_REQUIRED*/get PROXY_AUTHENTICATION_REQUIRED() {
    return 407;
  },
  /*_internal.HttpStatus.REQUEST_TIMEOUT*/get REQUEST_TIMEOUT() {
    return 408;
  },
  /*_internal.HttpStatus.CONFLICT*/get CONFLICT() {
    return 409;
  },
  /*_internal.HttpStatus.GONE*/get GONE() {
    return 410;
  },
  /*_internal.HttpStatus.LENGTH_REQUIRED*/get LENGTH_REQUIRED() {
    return 411;
  },
  /*_internal.HttpStatus.PRECONDITION_FAILED*/get PRECONDITION_FAILED() {
    return 412;
  },
  /*_internal.HttpStatus.REQUEST_ENTITY_TOO_LARGE*/get REQUEST_ENTITY_TOO_LARGE() {
    return 413;
  },
  /*_internal.HttpStatus.REQUEST_URI_TOO_LONG*/get REQUEST_URI_TOO_LONG() {
    return 414;
  },
  /*_internal.HttpStatus.UNSUPPORTED_MEDIA_TYPE*/get UNSUPPORTED_MEDIA_TYPE() {
    return 415;
  },
  /*_internal.HttpStatus.REQUESTED_RANGE_NOT_SATISFIABLE*/get REQUESTED_RANGE_NOT_SATISFIABLE() {
    return 416;
  },
  /*_internal.HttpStatus.EXPECTATION_FAILED*/get EXPECTATION_FAILED() {
    return 417;
  },
  /*_internal.HttpStatus.UPGRADE_REQUIRED*/get UPGRADE_REQUIRED() {
    return 426;
  },
  /*_internal.HttpStatus.INTERNAL_SERVER_ERROR*/get INTERNAL_SERVER_ERROR() {
    return 500;
  },
  /*_internal.HttpStatus.NOT_IMPLEMENTED*/get NOT_IMPLEMENTED() {
    return 501;
  },
  /*_internal.HttpStatus.BAD_GATEWAY*/get BAD_GATEWAY() {
    return 502;
  },
  /*_internal.HttpStatus.SERVICE_UNAVAILABLE*/get SERVICE_UNAVAILABLE() {
    return 503;
  },
  /*_internal.HttpStatus.GATEWAY_TIMEOUT*/get GATEWAY_TIMEOUT() {
    return 504;
  },
  /*_internal.HttpStatus.HTTP_VERSION_NOT_SUPPORTED*/get HTTP_VERSION_NOT_SUPPORTED() {
    return 505;
  },
  /*_internal.HttpStatus.NETWORK_CONNECT_TIMEOUT_ERROR*/get NETWORK_CONNECT_TIMEOUT_ERROR() {
    return 599;
  }
}, false);
var _source$ = dart.privateName(_internal, "_source");
var _add = dart.privateName(async, "_add");
var _closeUnchecked = dart.privateName(async, "_closeUnchecked");
var _addError = dart.privateName(async, "_addError");
var _completeError = dart.privateName(async, "_completeError");
var _complete = dart.privateName(async, "_complete");
var _sink$ = dart.privateName(async, "_sink");
async.Stream$ = dart.generic(T => {
  var __t$_AsBroadcastStreamOfT = () => (__t$_AsBroadcastStreamOfT = dart.constFn(async._AsBroadcastStream$(T)))();
  var __t$_WhereStreamOfT = () => (__t$_WhereStreamOfT = dart.constFn(async._WhereStream$(T)))();
  var __t$TTovoid = () => (__t$TTovoid = dart.constFn(dart.fnType(dart.void, [T])))();
  var __t$_HandleErrorStreamOfT = () => (__t$_HandleErrorStreamOfT = dart.constFn(async._HandleErrorStream$(T)))();
  var __t$StreamConsumerOfT = () => (__t$StreamConsumerOfT = dart.constFn(async.StreamConsumer$(T)))();
  var __t$TAndTToT = () => (__t$TAndTToT = dart.constFn(dart.fnType(T, [T, T])))();
  var __t$_FutureOfT = () => (__t$_FutureOfT = dart.constFn(async._Future$(T)))();
  var __t$VoidToT = () => (__t$VoidToT = dart.constFn(dart.fnType(T, [])))();
  var __t$TTodynamic = () => (__t$TTodynamic = dart.constFn(dart.fnType(dart.dynamic, [T])))();
  var __t$TToNull = () => (__t$TToNull = dart.constFn(dart.fnType(core.Null, [T])))();
  var __t$JSArrayOfT = () => (__t$JSArrayOfT = dart.constFn(_interceptors.JSArray$(T)))();
  var __t$ListOfT = () => (__t$ListOfT = dart.constFn(core.List$(T)))();
  var __t$_FutureOfListOfT = () => (__t$_FutureOfListOfT = dart.constFn(async._Future$(__t$ListOfT())))();
  var __t$_HashSetOfT = () => (__t$_HashSetOfT = dart.constFn(collection._HashSet$(T)))();
  var __t$SetOfT = () => (__t$SetOfT = dart.constFn(core.Set$(T)))();
  var __t$_FutureOfSetOfT = () => (__t$_FutureOfSetOfT = dart.constFn(async._Future$(__t$SetOfT())))();
  var __t$_TakeStreamOfT = () => (__t$_TakeStreamOfT = dart.constFn(async._TakeStream$(T)))();
  var __t$_TakeWhileStreamOfT = () => (__t$_TakeWhileStreamOfT = dart.constFn(async._TakeWhileStream$(T)))();
  var __t$_SkipStreamOfT = () => (__t$_SkipStreamOfT = dart.constFn(async._SkipStream$(T)))();
  var __t$_SkipWhileStreamOfT = () => (__t$_SkipWhileStreamOfT = dart.constFn(async._SkipWhileStream$(T)))();
  var __t$_DistinctStreamOfT = () => (__t$_DistinctStreamOfT = dart.constFn(async._DistinctStream$(T)))();
  var __t$VoidToNT = () => (__t$VoidToNT = dart.constFn(dart.nullable(__t$VoidToT())))();
  var __t$_SyncBroadcastStreamControllerOfT = () => (__t$_SyncBroadcastStreamControllerOfT = dart.constFn(async._SyncBroadcastStreamController$(T)))();
  var __t$_SyncStreamControllerOfT = () => (__t$_SyncStreamControllerOfT = dart.constFn(async._SyncStreamController$(T)))();
  var __t$EventSinkOfT = () => (__t$EventSinkOfT = dart.constFn(async.EventSink$(T)))();
  var __t$_ControllerEventSinkWrapperOfT = () => (__t$_ControllerEventSinkWrapperOfT = dart.constFn(async._ControllerEventSinkWrapper$(T)))();
  class Stream extends core.Object {
    static value(value) {
      let t26;
      return (t26 = new (async._AsyncStreamController$(T)).new(null, null, null, null), (() => {
        t26[_add](value);
        t26[_closeUnchecked]();
        return t26;
      })()).stream;
    }
    static error(error, stackTrace = null) {
      let t27, t26;
      if (error == null) dart.nullFailed(I[29], 143, 31, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      return (t26 = new (async._AsyncStreamController$(T)).new(null, null, null, null), (() => {
        t26[_addError](error, (t27 = stackTrace, t27 == null ? async.AsyncError.defaultStackTrace(error) : t27));
        t26[_closeUnchecked]();
        return t26;
      })()).stream;
    }
    static fromFuture(future) {
      if (future == null) dart.nullFailed(I[29], 156, 39, "future");
      let controller = new (async._SyncStreamController$(T)).new(null, null, null, null);
      future.then(core.Null, dart.fn(value => {
        controller[_add](value);
        controller[_closeUnchecked]();
      }, dart.fnType(core.Null, [T])), {onError: dart.fn((error, stackTrace) => {
          controller[_addError](core.Object.as(error), core.StackTrace.as(stackTrace));
          controller[_closeUnchecked]();
        }, T$.dynamicAnddynamicToNull())});
      return controller.stream;
    }
    static fromFutures(futures) {
      if (futures == null) dart.nullFailed(I[29], 185, 50, "futures");
      let controller = new (async._SyncStreamController$(T)).new(null, null, null, null);
      let count = 0;
      function onValue(value) {
        if (!dart.test(controller.isClosed)) {
          controller[_add](value);
          if ((count = count - 1) === 0) controller[_closeUnchecked]();
        }
      }
      dart.fn(onValue, dart.fnType(dart.void, [T]));
      function onError(error, stack) {
        if (error == null) dart.nullFailed(I[29], 199, 25, "error");
        if (stack == null) dart.nullFailed(I[29], 199, 43, "stack");
        if (!dart.test(controller.isClosed)) {
          controller[_addError](error, stack);
          if ((count = count - 1) === 0) controller[_closeUnchecked]();
        }
      }
      dart.fn(onError, T$.ObjectAndStackTraceTovoid());
      for (let future of futures) {
        count = count + 1;
        future.then(dart.void, onValue, {onError: onError});
      }
      if (count === 0) async.scheduleMicrotask(dart.bind(controller, 'close'));
      return controller.stream;
    }
    static fromIterable(elements) {
      if (elements == null) dart.nullFailed(I[29], 229, 43, "elements");
      return new (async._GeneratedStreamImpl$(T)).new(dart.fn(() => new (async._IterablePendingEvents$(T)).new(elements), dart.fnType(async._IterablePendingEvents$(T), [])));
    }
    static multi(onListen, opts) {
      if (onListen == null) dart.nullFailed(I[29], 298, 64, "onListen");
      let isBroadcast = opts && 'isBroadcast' in opts ? opts.isBroadcast : false;
      if (isBroadcast == null) dart.nullFailed(I[29], 299, 13, "isBroadcast");
      return new (async._MultiStream$(T)).new(onListen, isBroadcast);
    }
    static periodic(period, computation = null) {
      if (period == null) dart.nullFailed(I[29], 315, 36, "period");
      if (computation == null && !dart.test(_internal.typeAcceptsNull(T))) {
        dart.throw(new core.ArgumentError.value(null, "computation", "Must not be omitted when the event type is non-nullable"));
      }
      let controller = new (async._SyncStreamController$(T)).new(null, null, null, null);
      let watch = new core.Stopwatch.new();
      controller.onListen = dart.fn(() => {
        let t27;
        let computationCount = 0;
        function sendEvent(_) {
          let t26;
          watch.reset();
          if (computation != null) {
            let event = null;
            try {
              event = computation((t26 = computationCount, computationCount = t26 + 1, t26));
            } catch (e$) {
              let e = dart.getThrown(e$);
              let s = dart.stackTrace(e$);
              if (core.Object.is(e)) {
                controller.addError(e, s);
                return;
              } else
                throw e$;
            }
            controller.add(event);
          } else {
            controller.add(T.as(null));
          }
        }
        dart.fn(sendEvent, T$.dynamicTovoid());
        let timer = async.Timer.periodic(period, sendEvent);
        t27 = controller;
        (() => {
          t27.onCancel = dart.fn(() => {
            timer.cancel();
            return async.Future._nullFuture;
          }, T$.VoidTo_FutureOfNull());
          t27.onPause = dart.fn(() => {
            watch.stop();
            timer.cancel();
          }, T$.VoidTovoid());
          t27.onResume = dart.fn(() => {
            let elapsed = watch.elapsed;
            watch.start();
            timer = async.Timer.new(period['-'](elapsed), dart.fn(() => {
              timer = async.Timer.periodic(period, sendEvent);
              sendEvent(null);
            }, T$.VoidTovoid()));
          }, T$.VoidTovoid());
          return t27;
        })();
      }, T$.VoidTovoid());
      return controller.stream;
    }
    static eventTransformed(source, mapSink) {
      if (source == null) dart.nullFailed(I[29], 403, 23, "source");
      if (mapSink == null) dart.nullFailed(I[29], 403, 50, "mapSink");
      return new (async._BoundSinkStream$(dart.dynamic, T)).new(source, mapSink);
    }
    static castFrom(S, T, source) {
      if (source == null) dart.nullFailed(I[29], 413, 45, "source");
      return new (_internal.CastStream$(S, T)).new(source);
    }
    get isBroadcast() {
      return false;
    }
    asBroadcastStream(opts) {
      let onListen = opts && 'onListen' in opts ? opts.onListen : null;
      let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
      return new (__t$_AsBroadcastStreamOfT()).new(this, onListen, onCancel);
    }
    where(test) {
      if (test == null) dart.nullFailed(I[29], 498, 24, "test");
      return new (__t$_WhereStreamOfT()).new(this, test);
    }
    map(S, convert) {
      if (convert == null) dart.nullFailed(I[29], 526, 22, "convert");
      return new (async._MapStream$(T, S)).new(this, convert);
    }
    asyncMap(E, convert) {
      if (convert == null) dart.nullFailed(I[29], 538, 37, "convert");
      let controller = null;
      if (dart.test(this.isBroadcast)) {
        controller = new (async._SyncBroadcastStreamController$(E)).new(null, null);
      } else {
        controller = new (async._SyncStreamController$(E)).new(null, null, null, null);
      }
      controller.onListen = dart.fn(() => {
        let t28;
        let subscription = this.listen(null, {onError: dart.bind(controller, _addError), onDone: dart.bind(controller, 'close')});
        function add(value) {
          controller.add(value);
        }
        dart.fn(add, dart.fnType(T$.FutureNOfNull(), [E]));
        let addError = dart.bind(controller, _addError);
        let resume = dart.bind(subscription, 'resume');
        subscription.onData(dart.fn(event => {
          let newValue = null;
          try {
            newValue = convert(event);
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              controller.addError(e, s);
              return;
            } else
              throw e$;
          }
          if (async.Future$(E).is(newValue)) {
            subscription.pause();
            newValue.then(core.Null, add, {onError: addError}).whenComplete(resume);
          } else {
            controller.add(E.as(newValue));
          }
        }, __t$TTovoid()));
        controller.onCancel = dart.bind(subscription, 'cancel');
        if (!dart.test(this.isBroadcast)) {
          t28 = controller;
          (() => {
            t28.onPause = dart.bind(subscription, 'pause');
            t28.onResume = resume;
            return t28;
          })();
        }
      }, T$.VoidTovoid());
      return controller.stream;
    }
    asyncExpand(E, convert) {
      if (convert == null) dart.nullFailed(I[29], 598, 39, "convert");
      let controller = null;
      if (dart.test(this.isBroadcast)) {
        controller = new (async._SyncBroadcastStreamController$(E)).new(null, null);
      } else {
        controller = new (async._SyncStreamController$(E)).new(null, null, null, null);
      }
      controller.onListen = dart.fn(() => {
        let t29;
        let subscription = this.listen(null, {onError: dart.bind(controller, _addError), onDone: dart.bind(controller, 'close')});
        subscription.onData(dart.fn(event => {
          let newStream = null;
          try {
            newStream = convert(event);
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              controller.addError(e, s);
              return;
            } else
              throw e$;
          }
          if (newStream != null) {
            subscription.pause();
            controller.addStream(newStream).whenComplete(dart.bind(subscription, 'resume'));
          }
        }, __t$TTovoid()));
        controller.onCancel = dart.bind(subscription, 'cancel');
        if (!dart.test(this.isBroadcast)) {
          t29 = controller;
          (() => {
            t29.onPause = dart.bind(subscription, 'pause');
            t29.onResume = dart.bind(subscription, 'resume');
            return t29;
          })();
        }
      }, T$.VoidTovoid());
      return controller.stream;
    }
    handleError(onError, opts) {
      if (onError == null) dart.nullFailed(I[29], 663, 34, "onError");
      let test = opts && 'test' in opts ? opts.test : null;
      if (!T$.ObjectAndStackTraceTovoid().is(onError) && !T$.ObjectTovoid().is(onError)) {
        dart.throw(new core.ArgumentError.value(onError, "onError", "Error handler must accept one Object or one Object and a StackTrace" + " as arguments."));
      }
      return new (__t$_HandleErrorStreamOfT()).new(this, onError, test);
    }
    expand(S, convert) {
      if (convert == null) dart.nullFailed(I[29], 692, 35, "convert");
      return new (async._ExpandStream$(T, S)).new(this, convert);
    }
    pipe(streamConsumer) {
      __t$StreamConsumerOfT().as(streamConsumer);
      if (streamConsumer == null) dart.nullFailed(I[29], 710, 33, "streamConsumer");
      return streamConsumer.addStream(this).then(dart.dynamic, dart.fn(_ => streamConsumer.close(), T$.dynamicToFuture()));
    }
    transform(S, streamTransformer) {
      async.StreamTransformer$(T, S).as(streamTransformer);
      if (streamTransformer == null) dart.nullFailed(I[29], 739, 50, "streamTransformer");
      return streamTransformer.bind(this);
    }
    reduce(combine) {
      __t$TAndTToT().as(combine);
      if (combine == null) dart.nullFailed(I[29], 760, 22, "combine");
      let result = new (__t$_FutureOfT()).new();
      let seenFirst = false;
      let value = null;
      let value$35isSet = false;
      function value$35get() {
        return value$35isSet ? value : dart.throw(new _internal.LateError.localNI("value"));
      }
      dart.fn(value$35get, __t$VoidToT());
      function value$35set(t32) {
        value$35isSet = true;
        return value = t32;
      }
      dart.fn(value$35set, __t$TTodynamic());
      let subscription = this.listen(null, {onError: dart.bind(result, _completeError), onDone: dart.fn(() => {
          if (!seenFirst) {
            try {
              dart.throw(_internal.IterableElementError.noElement());
            } catch (e$) {
              let e = dart.getThrown(e$);
              let s = dart.stackTrace(e$);
              if (core.Object.is(e)) {
                async._completeWithErrorCallback(result, e, s);
              } else
                throw e$;
            }
          } else {
            result[_complete](value$35get());
          }
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(element => {
        if (seenFirst) {
          async._runUserCode(T, dart.fn(() => combine(value$35get(), element), __t$VoidToT()), dart.fn(newValue => {
            value$35set(newValue);
          }, __t$TToNull()), async._cancelAndErrorClosure(subscription, result));
        } else {
          value$35set(element);
          seenFirst = true;
        }
      }, __t$TTovoid()));
      return result;
    }
    fold(S, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[29], 807, 39, "combine");
      let result = new (async._Future$(S)).new();
      let value = initialValue;
      let subscription = this.listen(null, {onError: dart.bind(result, _completeError), onDone: dart.fn(() => {
          result[_complete](value);
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(element => {
        async._runUserCode(S, dart.fn(() => combine(value, element), dart.fnType(S, [])), dart.fn(newValue => {
          value = newValue;
        }, dart.fnType(core.Null, [S])), async._cancelAndErrorClosure(subscription, result));
      }, __t$TTovoid()));
      return result;
    }
    join(separator = "") {
      if (separator == null) dart.nullFailed(I[29], 834, 31, "separator");
      let result = new (T$._FutureOfString()).new();
      let buffer = new core.StringBuffer.new();
      let first = true;
      let subscription = this.listen(null, {onError: dart.bind(result, _completeError), onDone: dart.fn(() => {
          result[_complete](buffer.toString());
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(separator[$isEmpty] ? dart.fn(element => {
        try {
          buffer.write(element);
        } catch (e$) {
          let e = dart.getThrown(e$);
          let s = dart.stackTrace(e$);
          if (core.Object.is(e)) {
            async._cancelAndErrorWithReplacement(subscription, result, e, s);
          } else
            throw e$;
        }
      }, __t$TTovoid()) : dart.fn(element => {
        if (!first) {
          buffer.write(separator);
        }
        first = false;
        try {
          buffer.write(element);
        } catch (e$) {
          let e = dart.getThrown(e$);
          let s = dart.stackTrace(e$);
          if (core.Object.is(e)) {
            async._cancelAndErrorWithReplacement(subscription, result, e, s);
          } else
            throw e$;
        }
      }, __t$TTovoid()));
      return result;
    }
    contains(needle) {
      let future = new (T$._FutureOfbool()).new();
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](false);
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(element => {
        async._runUserCode(core.bool, dart.fn(() => dart.equals(element, needle), T$.VoidTobool()), dart.fn(isMatch => {
          if (isMatch == null) dart.nullFailed(I[29], 881, 53, "isMatch");
          if (dart.test(isMatch)) {
            async._cancelAndValue(subscription, future, true);
          }
        }, T$.boolToNull()), async._cancelAndErrorClosure(subscription, future));
      }, __t$TTovoid()));
      return future;
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[29], 898, 23, "action");
      let future = new async._Future.new();
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](null);
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(element => {
        async._runUserCode(dart.void, dart.fn(() => action(element), T$.VoidTovoid()), dart.fn(_ => {
        }, T$.voidToNull()), async._cancelAndErrorClosure(subscription, future));
      }, __t$TTovoid()));
      return future;
    }
    every(test) {
      if (test == null) dart.nullFailed(I[29], 923, 27, "test");
      let future = new (T$._FutureOfbool()).new();
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](true);
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(element => {
        async._runUserCode(core.bool, dart.fn(() => test(element), T$.VoidTobool()), dart.fn(isMatch => {
          if (isMatch == null) dart.nullFailed(I[29], 930, 47, "isMatch");
          if (!dart.test(isMatch)) {
            async._cancelAndValue(subscription, future, false);
          }
        }, T$.boolToNull()), async._cancelAndErrorClosure(subscription, future));
      }, __t$TTovoid()));
      return future;
    }
    any(test) {
      if (test == null) dart.nullFailed(I[29], 951, 25, "test");
      let future = new (T$._FutureOfbool()).new();
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](false);
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(element => {
        async._runUserCode(core.bool, dart.fn(() => test(element), T$.VoidTobool()), dart.fn(isMatch => {
          if (isMatch == null) dart.nullFailed(I[29], 958, 47, "isMatch");
          if (dart.test(isMatch)) {
            async._cancelAndValue(subscription, future, true);
          }
        }, T$.boolToNull()), async._cancelAndErrorClosure(subscription, future));
      }, __t$TTovoid()));
      return future;
    }
    get length() {
      let future = new (T$._FutureOfint()).new();
      let count = 0;
      this.listen(dart.fn(_ => {
        count = count + 1;
      }, __t$TTovoid()), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](count);
        }, T$.VoidTovoid()), cancelOnError: true});
      return future;
    }
    get isEmpty() {
      let future = new (T$._FutureOfbool()).new();
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](true);
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(_ => {
        async._cancelAndValue(subscription, future, false);
      }, __t$TTovoid()));
      return future;
    }
    cast(R) {
      return async.Stream.castFrom(T, R, this);
    }
    toList() {
      let result = __t$JSArrayOfT().of([]);
      let future = new (__t$_FutureOfListOfT()).new();
      this.listen(dart.fn(data => {
        result[$add](data);
      }, __t$TTovoid()), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](result);
        }, T$.VoidTovoid()), cancelOnError: true});
      return future;
    }
    toSet() {
      let result = new (__t$_HashSetOfT()).new();
      let future = new (__t$_FutureOfSetOfT()).new();
      this.listen(dart.fn(data => {
        result.add(data);
      }, __t$TTovoid()), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          future[_complete](result);
        }, T$.VoidTovoid()), cancelOnError: true});
      return future;
    }
    drain(E, futureValue = null) {
      if (futureValue == null) {
        futureValue = E.as(futureValue);
      }
      return this.listen(null, {cancelOnError: true}).asFuture(E, futureValue);
    }
    take(count) {
      if (count == null) dart.nullFailed(I[29], 1117, 22, "count");
      return new (__t$_TakeStreamOfT()).new(this, count);
    }
    takeWhile(test) {
      if (test == null) dart.nullFailed(I[29], 1141, 28, "test");
      return new (__t$_TakeWhileStreamOfT()).new(this, test);
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[29], 1158, 22, "count");
      return new (__t$_SkipStreamOfT()).new(this, count);
    }
    skipWhile(test) {
      if (test == null) dart.nullFailed(I[29], 1178, 28, "test");
      return new (__t$_SkipWhileStreamOfT()).new(this, test);
    }
    distinct(equals = null) {
      return new (__t$_DistinctStreamOfT()).new(this, equals);
    }
    get first() {
      let future = new (__t$_FutureOfT()).new();
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          try {
            dart.throw(_internal.IterableElementError.noElement());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._completeWithErrorCallback(future, e, s);
            } else
              throw e$;
          }
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(value => {
        async._cancelAndValue(subscription, future, value);
      }, __t$TTovoid()));
      return future;
    }
    get last() {
      let future = new (__t$_FutureOfT()).new();
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToT());
      function result$35set(t41) {
        result$35isSet = true;
        return result = t41;
      }
      dart.fn(result$35set, __t$TTodynamic());
      let foundResult = false;
      this.listen(dart.fn(value => {
        foundResult = true;
        result$35set(value);
      }, __t$TTovoid()), {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          if (foundResult) {
            future[_complete](result$35get());
            return;
          }
          try {
            dart.throw(_internal.IterableElementError.noElement());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._completeWithErrorCallback(future, e, s);
            } else
              throw e$;
          }
        }, T$.VoidTovoid()), cancelOnError: true});
      return future;
    }
    get single() {
      let future = new (__t$_FutureOfT()).new();
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToT());
      function result$35set(t47) {
        result$35isSet = true;
        return result = t47;
      }
      dart.fn(result$35set, __t$TTodynamic());
      let foundResult = false;
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          if (foundResult) {
            future[_complete](result$35get());
            return;
          }
          try {
            dart.throw(_internal.IterableElementError.noElement());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._completeWithErrorCallback(future, e, s);
            } else
              throw e$;
          }
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(value => {
        if (foundResult) {
          try {
            dart.throw(_internal.IterableElementError.tooMany());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._cancelAndErrorWithReplacement(subscription, future, e, s);
            } else
              throw e$;
          }
          return;
        }
        foundResult = true;
        result$35set(value);
      }, __t$TTovoid()));
      return future;
    }
    firstWhere(test, opts) {
      if (test == null) dart.nullFailed(I[29], 1333, 29, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNT().as(orElse);
      let future = new (__t$_FutureOfT()).new();
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          if (orElse != null) {
            async._runUserCode(T, orElse, dart.bind(future, _complete), dart.bind(future, _completeError));
            return;
          }
          try {
            dart.throw(_internal.IterableElementError.noElement());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._completeWithErrorCallback(future, e, s);
            } else
              throw e$;
          }
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(value => {
        async._runUserCode(core.bool, dart.fn(() => test(value), T$.VoidTobool()), dart.fn(isMatch => {
          if (isMatch == null) dart.nullFailed(I[29], 1350, 45, "isMatch");
          if (dart.test(isMatch)) {
            async._cancelAndValue(subscription, future, value);
          }
        }, T$.boolToNull()), async._cancelAndErrorClosure(subscription, future));
      }, __t$TTovoid()));
      return future;
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[29], 1368, 28, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNT().as(orElse);
      let future = new (__t$_FutureOfT()).new();
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToT());
      function result$35set(t55) {
        result$35isSet = true;
        return result = t55;
      }
      dart.fn(result$35set, __t$TTodynamic());
      let foundResult = false;
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          if (foundResult) {
            future[_complete](result$35get());
            return;
          }
          if (orElse != null) {
            async._runUserCode(T, orElse, dart.bind(future, _complete), dart.bind(future, _completeError));
            return;
          }
          try {
            dart.throw(_internal.IterableElementError.noElement());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._completeWithErrorCallback(future, e, s);
            } else
              throw e$;
          }
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(value => {
        async._runUserCode(core.bool, dart.fn(() => test(value), T$.VoidTobool()), dart.fn(isMatch => {
          if (isMatch == null) dart.nullFailed(I[29], 1390, 45, "isMatch");
          if (dart.test(isMatch)) {
            foundResult = true;
            result$35set(value);
          }
        }, T$.boolToNull()), async._cancelAndErrorClosure(subscription, future));
      }, __t$TTovoid()));
      return future;
    }
    singleWhere(test, opts) {
      if (test == null) dart.nullFailed(I[29], 1404, 30, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNT().as(orElse);
      let future = new (__t$_FutureOfT()).new();
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToT());
      function result$35set(t61) {
        result$35isSet = true;
        return result = t61;
      }
      dart.fn(result$35set, __t$TTodynamic());
      let foundResult = false;
      let subscription = this.listen(null, {onError: dart.bind(future, _completeError), onDone: dart.fn(() => {
          if (foundResult) {
            future[_complete](result$35get());
            return;
          }
          if (orElse != null) {
            async._runUserCode(T, orElse, dart.bind(future, _complete), dart.bind(future, _completeError));
            return;
          }
          try {
            dart.throw(_internal.IterableElementError.noElement());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._completeWithErrorCallback(future, e, s);
            } else
              throw e$;
          }
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(value => {
        async._runUserCode(core.bool, dart.fn(() => test(value), T$.VoidTobool()), dart.fn(isMatch => {
          if (isMatch == null) dart.nullFailed(I[29], 1426, 45, "isMatch");
          if (dart.test(isMatch)) {
            if (foundResult) {
              try {
                dart.throw(_internal.IterableElementError.tooMany());
              } catch (e$) {
                let e = dart.getThrown(e$);
                let s = dart.stackTrace(e$);
                if (core.Object.is(e)) {
                  async._cancelAndErrorWithReplacement(subscription, future, e, s);
                } else
                  throw e$;
              }
              return;
            }
            foundResult = true;
            result$35set(value);
          }
        }, T$.boolToNull()), async._cancelAndErrorClosure(subscription, future));
      }, __t$TTovoid()));
      return future;
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[29], 1458, 27, "index");
      core.RangeError.checkNotNegative(index, "index");
      let result = new (__t$_FutureOfT()).new();
      let elementIndex = 0;
      let subscription = null;
      subscription = this.listen(null, {onError: dart.bind(result, _completeError), onDone: dart.fn(() => {
          result[_completeError](new core.IndexError.new(index, this, "index", null, elementIndex), core.StackTrace.empty);
        }, T$.VoidTovoid()), cancelOnError: true});
      subscription.onData(dart.fn(value => {
        if (index === elementIndex) {
          async._cancelAndValue(subscription, result, value);
          return;
        }
        elementIndex = elementIndex + 1;
      }, __t$TTovoid()));
      return result;
    }
    timeout(timeLimit, opts) {
      if (timeLimit == null) dart.nullFailed(I[29], 1512, 30, "timeLimit");
      let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null;
      let controller = null;
      if (dart.test(this.isBroadcast)) {
        controller = new (__t$_SyncBroadcastStreamControllerOfT()).new(null, null);
      } else {
        controller = new (__t$_SyncStreamControllerOfT()).new(null, null, null, null);
      }
      let zone = async.Zone.current;
      let timeoutCallback = null;
      if (onTimeout == null) {
        timeoutCallback = dart.fn(() => {
          controller.addError(new async.TimeoutException.new("No stream event", timeLimit), null);
        }, T$.VoidTovoid());
      } else {
        let registeredOnTimeout = zone.registerUnaryCallback(dart.void, __t$EventSinkOfT(), onTimeout);
        let wrapper = new (__t$_ControllerEventSinkWrapperOfT()).new(null);
        timeoutCallback = dart.fn(() => {
          wrapper[_sink$] = controller;
          zone.runUnaryGuarded(__t$_ControllerEventSinkWrapperOfT(), registeredOnTimeout, wrapper);
          wrapper[_sink$] = null;
        }, T$.VoidTovoid());
      }
      controller.onListen = dart.fn(() => {
        let t65, t65$;
        let timer = zone.createTimer(timeLimit, timeoutCallback);
        let subscription = this.listen(null);
        t65 = subscription;
        (() => {
          t65.onData(dart.fn(event => {
            timer.cancel();
            timer = zone.createTimer(timeLimit, timeoutCallback);
            controller.add(event);
          }, __t$TTovoid()));
          t65.onError(dart.fn((error, stackTrace) => {
            if (error == null) dart.nullFailed(I[29], 1554, 27, "error");
            if (stackTrace == null) dart.nullFailed(I[29], 1554, 45, "stackTrace");
            timer.cancel();
            timer = zone.createTimer(timeLimit, timeoutCallback);
            controller[_addError](error, stackTrace);
          }, T$.ObjectAndStackTraceToNull()));
          t65.onDone(dart.fn(() => {
            timer.cancel();
            controller.close();
          }, T$.VoidTovoid()));
          return t65;
        })();
        controller.onCancel = dart.fn(() => {
          timer.cancel();
          return subscription.cancel();
        }, T$.VoidToFutureOfvoid());
        if (!dart.test(this.isBroadcast)) {
          t65$ = controller;
          (() => {
            t65$.onPause = dart.fn(() => {
              timer.cancel();
              subscription.pause();
            }, T$.VoidTovoid());
            t65$.onResume = dart.fn(() => {
              subscription.resume();
              timer = zone.createTimer(timeLimit, timeoutCallback);
            }, T$.VoidTovoid());
            return t65$;
          })();
        }
      }, T$.VoidTovoid());
      return controller.stream;
    }
  }
  (Stream.new = function() {
    ;
  }).prototype = Stream.prototype;
  (Stream._internal = function() {
    ;
  }).prototype = Stream.prototype;
  dart.addTypeTests(Stream);
  Stream.prototype[dart.isStream] = true;
  dart.addTypeCaches(Stream);
  dart.setMethodSignature(Stream, () => ({
    __proto__: dart.getMethods(Stream.__proto__),
    asBroadcastStream: dart.fnType(async.Stream$(T), [], {onCancel: dart.nullable(dart.fnType(dart.void, [async.StreamSubscription$(T)])), onListen: dart.nullable(dart.fnType(dart.void, [async.StreamSubscription$(T)]))}, {}),
    where: dart.fnType(async.Stream$(T), [dart.fnType(core.bool, [T])]),
    map: dart.gFnType(S => [async.Stream$(S), [dart.fnType(S, [T])]], S => [dart.nullable(core.Object)]),
    asyncMap: dart.gFnType(E => [async.Stream$(E), [dart.fnType(async.FutureOr$(E), [T])]], E => [dart.nullable(core.Object)]),
    asyncExpand: dart.gFnType(E => [async.Stream$(E), [dart.fnType(dart.nullable(async.Stream$(E)), [T])]], E => [dart.nullable(core.Object)]),
    handleError: dart.fnType(async.Stream$(T), [core.Function], {test: dart.nullable(dart.fnType(core.bool, [dart.dynamic]))}, {}),
    expand: dart.gFnType(S => [async.Stream$(S), [dart.fnType(core.Iterable$(S), [T])]], S => [dart.nullable(core.Object)]),
    pipe: dart.fnType(async.Future, [dart.nullable(core.Object)]),
    transform: dart.gFnType(S => [async.Stream$(S), [dart.nullable(core.Object)]], S => [dart.nullable(core.Object)]),
    reduce: dart.fnType(async.Future$(T), [dart.nullable(core.Object)]),
    fold: dart.gFnType(S => [async.Future$(S), [S, dart.fnType(S, [S, T])]], S => [dart.nullable(core.Object)]),
    join: dart.fnType(async.Future$(core.String), [], [core.String]),
    contains: dart.fnType(async.Future$(core.bool), [dart.nullable(core.Object)]),
    forEach: dart.fnType(async.Future, [dart.fnType(dart.void, [T])]),
    every: dart.fnType(async.Future$(core.bool), [dart.fnType(core.bool, [T])]),
    any: dart.fnType(async.Future$(core.bool), [dart.fnType(core.bool, [T])]),
    cast: dart.gFnType(R => [async.Stream$(R), []], R => [dart.nullable(core.Object)]),
    toList: dart.fnType(async.Future$(core.List$(T)), []),
    toSet: dart.fnType(async.Future$(core.Set$(T)), []),
    drain: dart.gFnType(E => [async.Future$(E), [], [dart.nullable(E)]], E => [dart.nullable(core.Object)]),
    take: dart.fnType(async.Stream$(T), [core.int]),
    takeWhile: dart.fnType(async.Stream$(T), [dart.fnType(core.bool, [T])]),
    skip: dart.fnType(async.Stream$(T), [core.int]),
    skipWhile: dart.fnType(async.Stream$(T), [dart.fnType(core.bool, [T])]),
    distinct: dart.fnType(async.Stream$(T), [], [dart.nullable(dart.fnType(core.bool, [T, T]))]),
    firstWhere: dart.fnType(async.Future$(T), [dart.fnType(core.bool, [T])], {orElse: dart.nullable(core.Object)}, {}),
    lastWhere: dart.fnType(async.Future$(T), [dart.fnType(core.bool, [T])], {orElse: dart.nullable(core.Object)}, {}),
    singleWhere: dart.fnType(async.Future$(T), [dart.fnType(core.bool, [T])], {orElse: dart.nullable(core.Object)}, {}),
    elementAt: dart.fnType(async.Future$(T), [core.int]),
    timeout: dart.fnType(async.Stream$(T), [core.Duration], {onTimeout: dart.nullable(dart.fnType(dart.void, [async.EventSink$(T)]))}, {})
  }));
  dart.setGetterSignature(Stream, () => ({
    __proto__: dart.getGetters(Stream.__proto__),
    isBroadcast: core.bool,
    length: async.Future$(core.int),
    isEmpty: async.Future$(core.bool),
    first: async.Future$(T),
    last: async.Future$(T),
    single: async.Future$(T)
  }));
  dart.setLibraryUri(Stream, I[30]);
  return Stream;
});
async.Stream = async.Stream$();
dart.addTypeTests(async.Stream, dart.isStream);
const _is_CastStream_default = Symbol('_is_CastStream_default');
_internal.CastStream$ = dart.generic((S, T) => {
  var __t$CastStreamSubscriptionOfS$T = () => (__t$CastStreamSubscriptionOfS$T = dart.constFn(_internal.CastStreamSubscription$(S, T)))();
  class CastStream extends async.Stream$(T) {
    get isBroadcast() {
      return this[_source$].isBroadcast;
    }
    listen(onData, opts) {
      let t26;
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      t26 = new (__t$CastStreamSubscriptionOfS$T()).new(this[_source$].listen(null, {onDone: onDone, cancelOnError: cancelOnError}));
      return (() => {
        t26.onData(onData);
        t26.onError(onError);
        return t26;
      })();
    }
    cast(R) {
      return new (_internal.CastStream$(S, R)).new(this[_source$]);
    }
  }
  (CastStream.new = function(_source) {
    if (_source == null) dart.nullFailed(I[28], 11, 19, "_source");
    this[_source$] = _source;
    CastStream.__proto__.new.call(this);
    ;
  }).prototype = CastStream.prototype;
  dart.addTypeTests(CastStream);
  CastStream.prototype[_is_CastStream_default] = true;
  dart.addTypeCaches(CastStream);
  dart.setMethodSignature(CastStream, () => ({
    __proto__: dart.getMethods(CastStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
    cast: dart.gFnType(R => [async.Stream$(R), []], R => [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(CastStream, I[26]);
  dart.setFieldSignature(CastStream, () => ({
    __proto__: dart.getFields(CastStream.__proto__),
    [_source$]: dart.finalFieldType(async.Stream$(S))
  }));
  return CastStream;
});
_internal.CastStream = _internal.CastStream$();
dart.addTypeTests(_internal.CastStream, _is_CastStream_default);
var _zone = dart.privateName(_internal, "_zone");
var _handleData = dart.privateName(_internal, "_handleData");
var _handleError = dart.privateName(_internal, "_handleError");
var _onData = dart.privateName(_internal, "_onData");
const _is_CastStreamSubscription_default = Symbol('_is_CastStreamSubscription_default');
_internal.CastStreamSubscription$ = dart.generic((S, T) => {
  class CastStreamSubscription extends core.Object {
    cancel() {
      return this[_source$].cancel();
    }
    onData(handleData) {
      this[_handleData] = handleData == null ? null : this[_zone].registerUnaryCallback(dart.dynamic, T, handleData);
    }
    onError(handleError) {
      this[_source$].onError(handleError);
      if (handleError == null) {
        this[_handleError] = null;
      } else if (T$.ObjectAndStackTraceTovoid().is(handleError)) {
        this[_handleError] = this[_zone].registerBinaryCallback(dart.dynamic, core.Object, core.StackTrace, handleError);
      } else if (T$.ObjectTovoid().is(handleError)) {
        this[_handleError] = this[_zone].registerUnaryCallback(dart.dynamic, core.Object, handleError);
      } else {
        dart.throw(new core.ArgumentError.new("handleError callback must take either an Object " + "(the error), or both an Object (the error) and a StackTrace."));
      }
    }
    onDone(handleDone) {
      this[_source$].onDone(handleDone);
    }
    [_onData](data) {
      S.as(data);
      if (this[_handleData] == null) return;
      let targetData = null;
      try {
        targetData = T.as(data);
      } catch (e) {
        let error = dart.getThrown(e);
        let stack = dart.stackTrace(e);
        if (core.Object.is(error)) {
          let handleError = this[_handleError];
          if (handleError == null) {
            this[_zone].handleUncaughtError(error, stack);
          } else if (T$.ObjectAndStackTraceTovoid().is(handleError)) {
            this[_zone].runBinaryGuarded(core.Object, core.StackTrace, handleError, error, stack);
          } else {
            this[_zone].runUnaryGuarded(core.Object, T$.ObjectTovoid().as(handleError), error);
          }
          return;
        } else
          throw e;
      }
      this[_zone].runUnaryGuarded(T, dart.nullCheck(this[_handleData]), targetData);
    }
    pause(resumeSignal = null) {
      this[_source$].pause(resumeSignal);
    }
    resume() {
      this[_source$].resume();
    }
    get isPaused() {
      return this[_source$].isPaused;
    }
    asFuture(E, futureValue = null) {
      return this[_source$].asFuture(E, futureValue);
    }
  }
  (CastStreamSubscription.new = function(_source) {
    if (_source == null) dart.nullFailed(I[28], 37, 31, "_source");
    this[_zone] = async.Zone.current;
    this[_handleData] = null;
    this[_handleError] = null;
    this[_source$] = _source;
    this[_source$].onData(dart.bind(this, _onData));
  }).prototype = CastStreamSubscription.prototype;
  CastStreamSubscription.prototype[dart.isStreamSubscription] = true;
  dart.addTypeTests(CastStreamSubscription);
  CastStreamSubscription.prototype[_is_CastStreamSubscription_default] = true;
  dart.addTypeCaches(CastStreamSubscription);
  CastStreamSubscription[dart.implements] = () => [async.StreamSubscription$(T)];
  dart.setMethodSignature(CastStreamSubscription, () => ({
    __proto__: dart.getMethods(CastStreamSubscription.__proto__),
    cancel: dart.fnType(async.Future, []),
    onData: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, [T]))]),
    onError: dart.fnType(dart.void, [dart.nullable(core.Function)]),
    onDone: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, []))]),
    [_onData]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    pause: dart.fnType(dart.void, [], [dart.nullable(async.Future)]),
    resume: dart.fnType(dart.void, []),
    asFuture: dart.gFnType(E => [async.Future$(E), [], [dart.nullable(E)]], E => [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(CastStreamSubscription, () => ({
    __proto__: dart.getGetters(CastStreamSubscription.__proto__),
    isPaused: core.bool
  }));
  dart.setLibraryUri(CastStreamSubscription, I[26]);
  dart.setFieldSignature(CastStreamSubscription, () => ({
    __proto__: dart.getFields(CastStreamSubscription.__proto__),
    [_source$]: dart.finalFieldType(async.StreamSubscription$(S)),
    [_zone]: dart.finalFieldType(async.Zone),
    [_handleData]: dart.fieldType(dart.nullable(dart.fnType(dart.void, [T]))),
    [_handleError]: dart.fieldType(dart.nullable(core.Function))
  }));
  return CastStreamSubscription;
});
_internal.CastStreamSubscription = _internal.CastStreamSubscription$();
dart.addTypeTests(_internal.CastStreamSubscription, _is_CastStreamSubscription_default);
const _is_StreamTransformerBase_default = Symbol('_is_StreamTransformerBase_default');
async.StreamTransformerBase$ = dart.generic((S, T) => {
  class StreamTransformerBase extends core.Object {
    cast(RS, RT) {
      return async.StreamTransformer.castFrom(S, T, RS, RT, this);
    }
  }
  (StreamTransformerBase.new = function() {
    ;
  }).prototype = StreamTransformerBase.prototype;
  dart.addTypeTests(StreamTransformerBase);
  StreamTransformerBase.prototype[_is_StreamTransformerBase_default] = true;
  dart.addTypeCaches(StreamTransformerBase);
  StreamTransformerBase[dart.implements] = () => [async.StreamTransformer$(S, T)];
  dart.setMethodSignature(StreamTransformerBase, () => ({
    __proto__: dart.getMethods(StreamTransformerBase.__proto__),
    cast: dart.gFnType((RS, RT) => [async.StreamTransformer$(RS, RT), []], (RS, RT) => [dart.nullable(core.Object), dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(StreamTransformerBase, I[30]);
  return StreamTransformerBase;
});
async.StreamTransformerBase = async.StreamTransformerBase$();
dart.addTypeTests(async.StreamTransformerBase, _is_StreamTransformerBase_default);
const _is_CastStreamTransformer_default = Symbol('_is_CastStreamTransformer_default');
_internal.CastStreamTransformer$ = dart.generic((SS, ST, TS, TT) => {
  var __t$StreamOfTS = () => (__t$StreamOfTS = dart.constFn(async.Stream$(TS)))();
  class CastStreamTransformer extends async.StreamTransformerBase$(TS, TT) {
    cast(RS, RT) {
      return new (_internal.CastStreamTransformer$(SS, ST, RS, RT)).new(this[_source$]);
    }
    bind(stream) {
      __t$StreamOfTS().as(stream);
      if (stream == null) dart.nullFailed(I[28], 108, 30, "stream");
      return this[_source$].bind(stream.cast(SS)).cast(TT);
    }
  }
  (CastStreamTransformer.new = function(_source) {
    if (_source == null) dart.nullFailed(I[28], 104, 30, "_source");
    this[_source$] = _source;
    CastStreamTransformer.__proto__.new.call(this);
    ;
  }).prototype = CastStreamTransformer.prototype;
  dart.addTypeTests(CastStreamTransformer);
  CastStreamTransformer.prototype[_is_CastStreamTransformer_default] = true;
  dart.addTypeCaches(CastStreamTransformer);
  dart.setMethodSignature(CastStreamTransformer, () => ({
    __proto__: dart.getMethods(CastStreamTransformer.__proto__),
    cast: dart.gFnType((RS, RT) => [async.StreamTransformer$(RS, RT), []], (RS, RT) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    bind: dart.fnType(async.Stream$(TT), [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(CastStreamTransformer, I[26]);
  dart.setFieldSignature(CastStreamTransformer, () => ({
    __proto__: dart.getFields(CastStreamTransformer.__proto__),
    [_source$]: dart.finalFieldType(async.StreamTransformer$(SS, ST))
  }));
  return CastStreamTransformer;
});
_internal.CastStreamTransformer = _internal.CastStreamTransformer$();
dart.addTypeTests(_internal.CastStreamTransformer, _is_CastStreamTransformer_default);
const _is_Converter_default = Symbol('_is_Converter_default');
convert.Converter$ = dart.generic((S, T) => {
  var __t$StreamOfS = () => (__t$StreamOfS = dart.constFn(async.Stream$(S)))();
  var __t$SinkOfT = () => (__t$SinkOfT = dart.constFn(core.Sink$(T)))();
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  class Converter extends async.StreamTransformerBase$(S, T) {
    static castFrom(SS, ST, TS, TT, source) {
      if (source == null) dart.nullFailed(I[31], 21, 71, "source");
      return new (_internal.CastConverter$(SS, ST, TS, TT)).new(source);
    }
    fuse(TT, other) {
      convert.Converter$(T, TT).as(other);
      if (other == null) dart.nullFailed(I[31], 31, 46, "other");
      return new (convert._FusedConverter$(S, T, TT)).new(this, other);
    }
    startChunkedConversion(sink) {
      __t$SinkOfT().as(sink);
      if (sink == null) dart.nullFailed(I[31], 39, 42, "sink");
      dart.throw(new core.UnsupportedError.new("This converter does not support chunked conversions: " + dart.str(this)));
    }
    bind(stream) {
      __t$StreamOfS().as(stream);
      if (stream == null) dart.nullFailed(I[31], 44, 28, "stream");
      return __t$StreamOfT().eventTransformed(stream, dart.fn(sink => {
        if (sink == null) dart.nullFailed(I[31], 46, 28, "sink");
        return new convert._ConverterStreamEventSink.new(this, sink);
      }, T$.EventSinkTo_ConverterStreamEventSink()));
    }
    cast(RS, RT) {
      return convert.Converter.castFrom(S, T, RS, RT, this);
    }
  }
  (Converter.new = function() {
    Converter.__proto__.new.call(this);
    ;
  }).prototype = Converter.prototype;
  dart.addTypeTests(Converter);
  Converter.prototype[_is_Converter_default] = true;
  dart.addTypeCaches(Converter);
  dart.setMethodSignature(Converter, () => ({
    __proto__: dart.getMethods(Converter.__proto__),
    fuse: dart.gFnType(TT => [convert.Converter$(S, TT), [dart.nullable(core.Object)]], TT => [dart.nullable(core.Object)]),
    startChunkedConversion: dart.fnType(core.Sink$(S), [dart.nullable(core.Object)]),
    bind: dart.fnType(async.Stream$(T), [dart.nullable(core.Object)]),
    cast: dart.gFnType((RS, RT) => [convert.Converter$(RS, RT), []], (RS, RT) => [dart.nullable(core.Object), dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(Converter, I[32]);
  return Converter;
});
convert.Converter = convert.Converter$();
dart.addTypeTests(convert.Converter, _is_Converter_default);
const _is_CastConverter_default = Symbol('_is_CastConverter_default');
_internal.CastConverter$ = dart.generic((SS, ST, TS, TT) => {
  var __t$StreamOfTS = () => (__t$StreamOfTS = dart.constFn(async.Stream$(TS)))();
  class CastConverter extends convert.Converter$(TS, TT) {
    convert(input) {
      TS.as(input);
      return TT.as(this[_source$].convert(SS.as(input)));
    }
    bind(stream) {
      __t$StreamOfTS().as(stream);
      if (stream == null) dart.nullFailed(I[28], 120, 30, "stream");
      return this[_source$].bind(stream.cast(SS)).cast(TT);
    }
    cast(RS, RT) {
      return new (_internal.CastConverter$(SS, ST, RS, RT)).new(this[_source$]);
    }
  }
  (CastConverter.new = function(_source) {
    if (_source == null) dart.nullFailed(I[28], 114, 22, "_source");
    this[_source$] = _source;
    CastConverter.__proto__.new.call(this);
    ;
  }).prototype = CastConverter.prototype;
  dart.addTypeTests(CastConverter);
  CastConverter.prototype[_is_CastConverter_default] = true;
  dart.addTypeCaches(CastConverter);
  dart.setMethodSignature(CastConverter, () => ({
    __proto__: dart.getMethods(CastConverter.__proto__),
    convert: dart.fnType(TT, [dart.nullable(core.Object)]),
    cast: dart.gFnType((RS, RT) => [convert.Converter$(RS, RT), []], (RS, RT) => [dart.nullable(core.Object), dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(CastConverter, I[26]);
  dart.setFieldSignature(CastConverter, () => ({
    __proto__: dart.getFields(CastConverter.__proto__),
    [_source$]: dart.finalFieldType(convert.Converter$(SS, ST))
  }));
  return CastConverter;
});
_internal.CastConverter = _internal.CastConverter$();
dart.addTypeTests(_internal.CastConverter, _is_CastConverter_default);
_internal.BytesBuilder = class BytesBuilder extends core.Object {
  static new(opts) {
    let copy = opts && 'copy' in opts ? opts.copy : true;
    if (copy == null) dart.nullFailed(I[33], 30, 30, "copy");
    return dart.test(copy) ? new _internal._CopyingBytesBuilder.new() : new _internal._BytesBuilder.new();
  }
};
(_internal.BytesBuilder[dart.mixinNew] = function() {
}).prototype = _internal.BytesBuilder.prototype;
dart.addTypeTests(_internal.BytesBuilder);
dart.addTypeCaches(_internal.BytesBuilder);
dart.setLibraryUri(_internal.BytesBuilder, I[26]);
var _length$ = dart.privateName(_internal, "_length");
var _buffer = dart.privateName(_internal, "_buffer");
var _grow = dart.privateName(_internal, "_grow");
var _clear = dart.privateName(_internal, "_clear");
_internal._CopyingBytesBuilder = class _CopyingBytesBuilder extends core.Object {
  add(bytes) {
    if (bytes == null) dart.nullFailed(I[33], 89, 22, "bytes");
    let byteCount = bytes[$length];
    if (byteCount === 0) return;
    let required = dart.notNull(this[_length$]) + dart.notNull(byteCount);
    if (dart.notNull(this[_buffer][$length]) < required) {
      this[_grow](required);
    }
    if (!(dart.notNull(this[_buffer][$length]) >= required)) dart.assertFailed(null, I[33], 96, 12, "_buffer.length >= required");
    if (typed_data.Uint8List.is(bytes)) {
      this[_buffer][$setRange](this[_length$], required, bytes);
    } else {
      for (let i = 0; i < dart.notNull(byteCount); i = i + 1) {
        this[_buffer][$_set](dart.notNull(this[_length$]) + i, bytes[$_get](i));
      }
    }
    this[_length$] = required;
  }
  addByte(byte) {
    if (byte == null) dart.nullFailed(I[33], 107, 20, "byte");
    if (this[_buffer][$length] == this[_length$]) {
      this[_grow](this[_length$]);
    }
    if (!(dart.notNull(this[_buffer][$length]) > dart.notNull(this[_length$]))) dart.assertFailed(null, I[33], 113, 12, "_buffer.length > _length");
    this[_buffer][$_set](this[_length$], byte);
    this[_length$] = dart.notNull(this[_length$]) + 1;
  }
  [_grow](required) {
    if (required == null) dart.nullFailed(I[33], 118, 18, "required");
    let newSize = dart.notNull(required) * 2;
    if (dart.notNull(newSize) < 1024) {
      newSize = 1024;
    } else {
      newSize = _internal._CopyingBytesBuilder._pow2roundup(newSize);
    }
    let newBuffer = _native_typed_data.NativeUint8List.new(newSize);
    newBuffer[$setRange](0, this[_buffer][$length], this[_buffer]);
    this[_buffer] = newBuffer;
  }
  takeBytes() {
    if (this[_length$] === 0) return _internal._CopyingBytesBuilder._emptyList;
    let buffer = typed_data.Uint8List.view(this[_buffer][$buffer], this[_buffer][$offsetInBytes], this[_length$]);
    this[_clear]();
    return buffer;
  }
  toBytes() {
    if (this[_length$] === 0) return _internal._CopyingBytesBuilder._emptyList;
    return _native_typed_data.NativeUint8List.fromList(typed_data.Uint8List.view(this[_buffer][$buffer], this[_buffer][$offsetInBytes], this[_length$]));
  }
  get length() {
    return this[_length$];
  }
  get isEmpty() {
    return this[_length$] === 0;
  }
  get isNotEmpty() {
    return this[_length$] !== 0;
  }
  clear() {
    this[_clear]();
  }
  [_clear]() {
    this[_length$] = 0;
    this[_buffer] = _internal._CopyingBytesBuilder._emptyList;
  }
  static _pow2roundup(x) {
    if (x == null) dart.nullFailed(I[33], 161, 31, "x");
    if (!(dart.notNull(x) > 0)) dart.assertFailed(null, I[33], 162, 12, "x > 0");
    x = dart.notNull(x) - 1;
    x = (dart.notNull(x) | x[$rightShift](1)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](2)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](4)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](8)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](16)) >>> 0;
    return dart.notNull(x) + 1;
  }
};
(_internal._CopyingBytesBuilder.new = function() {
  this[_length$] = 0;
  this[_buffer] = _internal._CopyingBytesBuilder._emptyList;
  ;
}).prototype = _internal._CopyingBytesBuilder.prototype;
dart.addTypeTests(_internal._CopyingBytesBuilder);
dart.addTypeCaches(_internal._CopyingBytesBuilder);
_internal._CopyingBytesBuilder[dart.implements] = () => [_internal.BytesBuilder];
dart.setMethodSignature(_internal._CopyingBytesBuilder, () => ({
  __proto__: dart.getMethods(_internal._CopyingBytesBuilder.__proto__),
  add: dart.fnType(dart.void, [core.List$(core.int)]),
  addByte: dart.fnType(dart.void, [core.int]),
  [_grow]: dart.fnType(dart.void, [core.int]),
  takeBytes: dart.fnType(typed_data.Uint8List, []),
  toBytes: dart.fnType(typed_data.Uint8List, []),
  clear: dart.fnType(dart.void, []),
  [_clear]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(_internal._CopyingBytesBuilder, () => ({
  __proto__: dart.getGetters(_internal._CopyingBytesBuilder.__proto__),
  length: core.int,
  isEmpty: core.bool,
  isNotEmpty: core.bool
}));
dart.setLibraryUri(_internal._CopyingBytesBuilder, I[26]);
dart.setFieldSignature(_internal._CopyingBytesBuilder, () => ({
  __proto__: dart.getFields(_internal._CopyingBytesBuilder.__proto__),
  [_length$]: dart.fieldType(core.int),
  [_buffer]: dart.fieldType(typed_data.Uint8List)
}));
dart.defineLazy(_internal._CopyingBytesBuilder, {
  /*_internal._CopyingBytesBuilder._initSize*/get _initSize() {
    return 1024;
  },
  /*_internal._CopyingBytesBuilder._emptyList*/get _emptyList() {
    return _native_typed_data.NativeUint8List.new(0);
  }
}, false);
var _chunks = dart.privateName(_internal, "_chunks");
_internal._BytesBuilder = class _BytesBuilder extends core.Object {
  add(bytes) {
    if (bytes == null) dart.nullFailed(I[33], 181, 22, "bytes");
    let typedBytes = null;
    if (typed_data.Uint8List.is(bytes)) {
      typedBytes = bytes;
    } else {
      typedBytes = _native_typed_data.NativeUint8List.fromList(bytes);
    }
    this[_chunks][$add](typedBytes);
    this[_length$] = dart.notNull(this[_length$]) + dart.notNull(typedBytes[$length]);
  }
  addByte(byte) {
    let t66;
    if (byte == null) dart.nullFailed(I[33], 192, 20, "byte");
    this[_chunks][$add]((t66 = _native_typed_data.NativeUint8List.new(1), (() => {
      t66[$_set](0, byte);
      return t66;
    })()));
    this[_length$] = dart.notNull(this[_length$]) + 1;
  }
  takeBytes() {
    if (this[_length$] === 0) return _internal._CopyingBytesBuilder._emptyList;
    if (this[_chunks][$length] === 1) {
      let buffer = this[_chunks][$_get](0);
      this[_clear]();
      return buffer;
    }
    let buffer = _native_typed_data.NativeUint8List.new(this[_length$]);
    let offset = 0;
    for (let chunk of this[_chunks]) {
      buffer[$setRange](offset, offset + dart.notNull(chunk[$length]), chunk);
      offset = offset + dart.notNull(chunk[$length]);
    }
    this[_clear]();
    return buffer;
  }
  toBytes() {
    if (this[_length$] === 0) return _internal._CopyingBytesBuilder._emptyList;
    let buffer = _native_typed_data.NativeUint8List.new(this[_length$]);
    let offset = 0;
    for (let chunk of this[_chunks]) {
      buffer[$setRange](offset, offset + dart.notNull(chunk[$length]), chunk);
      offset = offset + dart.notNull(chunk[$length]);
    }
    return buffer;
  }
  get length() {
    return this[_length$];
  }
  get isEmpty() {
    return this[_length$] === 0;
  }
  get isNotEmpty() {
    return this[_length$] !== 0;
  }
  clear() {
    this[_clear]();
  }
  [_clear]() {
    this[_length$] = 0;
    this[_chunks][$clear]();
  }
};
(_internal._BytesBuilder.new = function() {
  this[_length$] = 0;
  this[_chunks] = T$.JSArrayOfUint8List().of([]);
  ;
}).prototype = _internal._BytesBuilder.prototype;
dart.addTypeTests(_internal._BytesBuilder);
dart.addTypeCaches(_internal._BytesBuilder);
_internal._BytesBuilder[dart.implements] = () => [_internal.BytesBuilder];
dart.setMethodSignature(_internal._BytesBuilder, () => ({
  __proto__: dart.getMethods(_internal._BytesBuilder.__proto__),
  add: dart.fnType(dart.void, [core.List$(core.int)]),
  addByte: dart.fnType(dart.void, [core.int]),
  takeBytes: dart.fnType(typed_data.Uint8List, []),
  toBytes: dart.fnType(typed_data.Uint8List, []),
  clear: dart.fnType(dart.void, []),
  [_clear]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(_internal._BytesBuilder, () => ({
  __proto__: dart.getGetters(_internal._BytesBuilder.__proto__),
  length: core.int,
  isEmpty: core.bool,
  isNotEmpty: core.bool
}));
dart.setLibraryUri(_internal._BytesBuilder, I[26]);
dart.setFieldSignature(_internal._BytesBuilder, () => ({
  __proto__: dart.getFields(_internal._BytesBuilder.__proto__),
  [_length$]: dart.fieldType(core.int),
  [_chunks]: dart.finalFieldType(core.List$(typed_data.Uint8List))
}));
core.Iterable$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$EfficientLengthIterableOfE = () => (__t$EfficientLengthIterableOfE = dart.constFn(_internal.EfficientLengthIterable$(E)))();
  var __t$FollowedByIterableOfE = () => (__t$FollowedByIterableOfE = dart.constFn(_internal.FollowedByIterable$(E)))();
  var __t$WhereIterableOfE = () => (__t$WhereIterableOfE = dart.constFn(_internal.WhereIterable$(E)))();
  var __t$EAndEToE = () => (__t$EAndEToE = dart.constFn(dart.fnType(E, [E, E])))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$LinkedHashSetOfE = () => (__t$LinkedHashSetOfE = dart.constFn(collection.LinkedHashSet$(E)))();
  var __t$TakeIterableOfE = () => (__t$TakeIterableOfE = dart.constFn(_internal.TakeIterable$(E)))();
  var __t$TakeWhileIterableOfE = () => (__t$TakeWhileIterableOfE = dart.constFn(_internal.TakeWhileIterable$(E)))();
  var __t$SkipIterableOfE = () => (__t$SkipIterableOfE = dart.constFn(_internal.SkipIterable$(E)))();
  var __t$SkipWhileIterableOfE = () => (__t$SkipWhileIterableOfE = dart.constFn(_internal.SkipWhileIterable$(E)))();
  var __t$VoidToE = () => (__t$VoidToE = dart.constFn(dart.fnType(E, [])))();
  var __t$VoidToNE = () => (__t$VoidToNE = dart.constFn(dart.nullable(__t$VoidToE())))();
  var __t$ETodynamic = () => (__t$ETodynamic = dart.constFn(dart.fnType(dart.dynamic, [E])))();
  class Iterable extends core.Object {
    static generate(count, generator = null) {
      if (count == null) dart.nullFailed(I[35], 102, 33, "count");
      if (dart.notNull(count) <= 0) return new (_internal.EmptyIterable$(E)).new();
      return new (core._GeneratorIterable$(E)).new(count, generator);
    }
    static castFrom(S, T, source) {
      if (source == null) dart.nullFailed(I[35], 119, 49, "source");
      return _internal.CastIterable$(S, T).new(source);
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
    cast(R) {
      return core.Iterable.castFrom(E, R, this);
    }
    followedBy(other) {
      __t$IterableOfE().as(other);
      if (other == null) dart.nullFailed(I[35], 165, 38, "other");
      let self = this;
      if (__t$EfficientLengthIterableOfE().is(self)) {
        return __t$FollowedByIterableOfE().firstEfficient(self, other);
      }
      return new (__t$FollowedByIterableOfE()).new(this, other);
    }
    map(T, toElement) {
      if (toElement == null) dart.nullFailed(I[35], 199, 24, "toElement");
      return _internal.MappedIterable$(E, T).new(this, toElement);
    }
    where(test) {
      if (test == null) dart.nullFailed(I[35], 213, 26, "test");
      return new (__t$WhereIterableOfE()).new(this, test);
    }
    whereType(T) {
      return new (_internal.WhereTypeIterable$(T)).new(this);
    }
    expand(T, toElements) {
      if (toElements == null) dart.nullFailed(I[35], 253, 37, "toElements");
      return new (_internal.ExpandIterable$(E, T)).new(this, toElements);
    }
    contains(element) {
      for (let e of this) {
        if (dart.equals(e, element)) return true;
      }
      return false;
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[35], 278, 21, "action");
      for (let element of this)
        action(element);
    }
    reduce(combine) {
      __t$EAndEToE().as(combine);
      if (combine == null) dart.nullFailed(I[35], 302, 14, "combine");
      let iterator = this[$iterator];
      if (!dart.test(iterator.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      let value = iterator.current;
      while (dart.test(iterator.moveNext())) {
        value = combine(value, iterator.current);
      }
      return value;
    }
    fold(T, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[35], 331, 31, "combine");
      let value = initialValue;
      for (let element of this)
        value = combine(value, element);
      return value;
    }
    every(test) {
      if (test == null) dart.nullFailed(I[35], 341, 19, "test");
      for (let element of this) {
        if (!dart.test(test(element))) return false;
      }
      return true;
    }
    join(separator = "") {
      if (separator == null) dart.nullFailed(I[35], 354, 23, "separator");
      let iterator = this[$iterator];
      if (!dart.test(iterator.moveNext())) return "";
      let buffer = new core.StringBuffer.new();
      if (separator == null || separator === "") {
        do {
          buffer.write(dart.toString(iterator.current));
        } while (dart.test(iterator.moveNext()));
      } else {
        buffer.write(dart.toString(iterator.current));
        while (dart.test(iterator.moveNext())) {
          buffer.write(separator);
          buffer.write(dart.toString(iterator.current));
        }
      }
      return buffer.toString();
    }
    any(test) {
      if (test == null) dart.nullFailed(I[35], 376, 17, "test");
      for (let element of this) {
        if (dart.test(test(element))) return true;
      }
      return false;
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[35], 387, 24, "growable");
      return __t$ListOfE().of(this, {growable: growable});
    }
    toSet() {
      return __t$LinkedHashSetOfE().of(this);
    }
    get length() {
      if (!!_internal.EfficientLengthIterable.is(this)) dart.assertFailed(null, I[35], 406, 12, "this is! EfficientLengthIterable");
      let count = 0;
      let it = this[$iterator];
      while (dart.test(it.moveNext())) {
        count = count + 1;
      }
      return count;
    }
    get isEmpty() {
      return !dart.test(this[$iterator].moveNext());
    }
    get isNotEmpty() {
      return !dart.test(this[$isEmpty]);
    }
    take(count) {
      if (count == null) dart.nullFailed(I[35], 434, 24, "count");
      return __t$TakeIterableOfE().new(this, count);
    }
    takeWhile(test) {
      if (test == null) dart.nullFailed(I[35], 446, 30, "test");
      return new (__t$TakeWhileIterableOfE()).new(this, test);
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[35], 464, 24, "count");
      return __t$SkipIterableOfE().new(this, count);
    }
    skipWhile(test) {
      if (test == null) dart.nullFailed(I[35], 478, 30, "test");
      return new (__t$SkipWhileIterableOfE()).new(this, test);
    }
    get first() {
      let it = this[$iterator];
      if (!dart.test(it.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      return it.current;
    }
    get last() {
      let it = this[$iterator];
      if (!dart.test(it.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      let result = null;
      do {
        result = it.current;
      } while (dart.test(it.moveNext()));
      return result;
    }
    get single() {
      let it = this[$iterator];
      if (!dart.test(it.moveNext())) dart.throw(_internal.IterableElementError.noElement());
      let result = it.current;
      if (dart.test(it.moveNext())) dart.throw(_internal.IterableElementError.tooMany());
      return result;
    }
    firstWhere(test, opts) {
      if (test == null) dart.nullFailed(I[35], 533, 21, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      for (let element of this) {
        if (dart.test(test(element))) return element;
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[35], 553, 20, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToE());
      function result$35set(t69) {
        result$35isSet = true;
        return result = t69;
      }
      dart.fn(result$35set, __t$ETodynamic());
      let foundMatching = false;
      for (let element of this) {
        if (dart.test(test(element))) {
          result$35set(element);
          foundMatching = true;
        }
      }
      if (foundMatching) return result$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    singleWhere(test, opts) {
      if (test == null) dart.nullFailed(I[35], 574, 22, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToE());
      function result$35set(t74) {
        result$35isSet = true;
        return result = t74;
      }
      dart.fn(result$35set, __t$ETodynamic());
      let foundMatching = false;
      for (let element of this) {
        if (dart.test(test(element))) {
          if (foundMatching) {
            dart.throw(_internal.IterableElementError.tooMany());
          }
          result$35set(element);
          foundMatching = true;
        }
      }
      if (foundMatching) return result$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[35], 600, 19, "index");
      core.RangeError.checkNotNegative(index, "index");
      let elementIndex = 0;
      for (let element of this) {
        if (index === elementIndex) return element;
        elementIndex = elementIndex + 1;
      }
      dart.throw(new core.IndexError.new(index, this, "index", null, elementIndex));
    }
    toString() {
      return collection.IterableBase.iterableToShortString(this, "(", ")");
    }
  }
  (Iterable.new = function() {
    ;
  }).prototype = Iterable.prototype;
  dart.addTypeTests(Iterable);
  Iterable.prototype[dart.isIterable] = true;
  dart.addTypeCaches(Iterable);
  dart.setMethodSignature(Iterable, () => ({
    __proto__: dart.getMethods(Iterable.__proto__),
    cast: dart.gFnType(R => [core.Iterable$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.Iterable$(R), []], R => [dart.nullable(core.Object)]),
    followedBy: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    [$followedBy]: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    where: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$where]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    whereType: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    [$whereType]: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    expand: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    [$expand]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    reduce: dart.fnType(E, [dart.nullable(core.Object)]),
    [$reduce]: dart.fnType(E, [dart.nullable(core.Object)]),
    fold: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    every: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$every]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    join: dart.fnType(core.String, [], [core.String]),
    [$join]: dart.fnType(core.String, [], [core.String]),
    any: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$any]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    toList: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    [$toList]: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    toSet: dart.fnType(core.Set$(E), []),
    [$toSet]: dart.fnType(core.Set$(E), []),
    take: dart.fnType(core.Iterable$(E), [core.int]),
    [$take]: dart.fnType(core.Iterable$(E), [core.int]),
    takeWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$takeWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    skip: dart.fnType(core.Iterable$(E), [core.int]),
    [$skip]: dart.fnType(core.Iterable$(E), [core.int]),
    skipWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$skipWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    firstWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$firstWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    lastWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$lastWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    singleWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$singleWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    elementAt: dart.fnType(E, [core.int]),
    [$elementAt]: dart.fnType(E, [core.int])
  }));
  dart.setGetterSignature(Iterable, () => ({
    __proto__: dart.getGetters(Iterable.__proto__),
    length: core.int,
    [$length]: core.int,
    isEmpty: core.bool,
    [$isEmpty]: core.bool,
    isNotEmpty: core.bool,
    [$isNotEmpty]: core.bool,
    first: E,
    [$first]: E,
    last: E,
    [$last]: E,
    single: E,
    [$single]: E
  }));
  dart.setLibraryUri(Iterable, I[9]);
  dart.defineExtensionMethods(Iterable, [
    'cast',
    'followedBy',
    'map',
    'where',
    'whereType',
    'expand',
    'contains',
    'forEach',
    'reduce',
    'fold',
    'every',
    'join',
    'any',
    'toList',
    'toSet',
    'take',
    'takeWhile',
    'skip',
    'skipWhile',
    'firstWhere',
    'lastWhere',
    'singleWhere',
    'elementAt',
    'toString'
  ]);
  dart.defineExtensionAccessors(Iterable, [
    'length',
    'isEmpty',
    'isNotEmpty',
    'first',
    'last',
    'single'
  ]);
  return Iterable;
});
core.Iterable = core.Iterable$();
dart.addTypeTests(core.Iterable, dart.isIterable);
const _is__CastIterableBase_default = Symbol('_is__CastIterableBase_default');
_internal._CastIterableBase$ = dart.generic((S, T) => {
  var __t$CastIteratorOfS$T = () => (__t$CastIteratorOfS$T = dart.constFn(_internal.CastIterator$(S, T)))();
  var __t$CastIterableOfS$T = () => (__t$CastIterableOfS$T = dart.constFn(_internal.CastIterable$(S, T)))();
  var __t$STobool = () => (__t$STobool = dart.constFn(dart.fnType(core.bool, [S])))();
  var __t$VoidToS = () => (__t$VoidToS = dart.constFn(dart.fnType(S, [])))();
  var __t$VoidToT = () => (__t$VoidToT = dart.constFn(dart.fnType(T, [])))();
  var __t$VoidToNT = () => (__t$VoidToNT = dart.constFn(dart.nullable(__t$VoidToT())))();
  class _CastIterableBase extends core.Iterable$(T) {
    get iterator() {
      return new (__t$CastIteratorOfS$T()).new(this[_source$][$iterator]);
    }
    get length() {
      return this[_source$][$length];
    }
    get isEmpty() {
      return this[_source$][$isEmpty];
    }
    get isNotEmpty() {
      return this[_source$][$isNotEmpty];
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[34], 39, 24, "count");
      return __t$CastIterableOfS$T().new(this[_source$][$skip](count));
    }
    take(count) {
      if (count == null) dart.nullFailed(I[34], 40, 24, "count");
      return __t$CastIterableOfS$T().new(this[_source$][$take](count));
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[34], 42, 19, "index");
      return T.as(this[_source$][$elementAt](index));
    }
    get first() {
      return T.as(this[_source$][$first]);
    }
    get last() {
      return T.as(this[_source$][$last]);
    }
    get single() {
      return T.as(this[_source$][$single]);
    }
    contains(other) {
      return this[_source$][$contains](other);
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[34], 51, 20, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNT().as(orElse);
      return T.as(this[_source$][$lastWhere](dart.fn(element => test(T.as(element)), __t$STobool()), {orElse: orElse == null ? null : dart.fn(() => S.as(orElse()), __t$VoidToS())}));
    }
    toString() {
      return dart.toString(this[_source$]);
    }
  }
  (_CastIterableBase.new = function() {
    _CastIterableBase.__proto__.new.call(this);
    ;
  }).prototype = _CastIterableBase.prototype;
  dart.addTypeTests(_CastIterableBase);
  _CastIterableBase.prototype[_is__CastIterableBase_default] = true;
  dart.addTypeCaches(_CastIterableBase);
  dart.setGetterSignature(_CastIterableBase, () => ({
    __proto__: dart.getGetters(_CastIterableBase.__proto__),
    iterator: core.Iterator$(T),
    [$iterator]: core.Iterator$(T)
  }));
  dart.setLibraryUri(_CastIterableBase, I[26]);
  dart.defineExtensionMethods(_CastIterableBase, [
    'skip',
    'take',
    'elementAt',
    'contains',
    'lastWhere',
    'toString'
  ]);
  dart.defineExtensionAccessors(_CastIterableBase, [
    'iterator',
    'length',
    'isEmpty',
    'isNotEmpty',
    'first',
    'last',
    'single'
  ]);
  return _CastIterableBase;
});
_internal._CastIterableBase = _internal._CastIterableBase$();
dart.addTypeTests(_internal._CastIterableBase, _is__CastIterableBase_default);
const _is_CastIterator_default = Symbol('_is_CastIterator_default');
_internal.CastIterator$ = dart.generic((S, T) => {
  class CastIterator extends core.Object {
    moveNext() {
      return this[_source$].moveNext();
    }
    get current() {
      return T.as(this[_source$].current);
    }
  }
  (CastIterator.new = function(_source) {
    if (_source == null) dart.nullFailed(I[34], 60, 21, "_source");
    this[_source$] = _source;
    ;
  }).prototype = CastIterator.prototype;
  dart.addTypeTests(CastIterator);
  CastIterator.prototype[_is_CastIterator_default] = true;
  dart.addTypeCaches(CastIterator);
  CastIterator[dart.implements] = () => [core.Iterator$(T)];
  dart.setMethodSignature(CastIterator, () => ({
    __proto__: dart.getMethods(CastIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(CastIterator, () => ({
    __proto__: dart.getGetters(CastIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(CastIterator, I[26]);
  dart.setFieldSignature(CastIterator, () => ({
    __proto__: dart.getFields(CastIterator.__proto__),
    [_source$]: dart.fieldType(core.Iterator$(S))
  }));
  return CastIterator;
});
_internal.CastIterator = _internal.CastIterator$();
dart.addTypeTests(_internal.CastIterator, _is_CastIterator_default);
var _source$0 = dart.privateName(_internal, "CastIterable._source");
const _is_CastIterable_default = Symbol('_is_CastIterable_default');
_internal.CastIterable$ = dart.generic((S, T) => {
  class CastIterable extends _internal._CastIterableBase$(S, T) {
    get [_source$]() {
      return this[_source$0];
    }
    set [_source$](value) {
      super[_source$] = value;
    }
    static new(source) {
      if (source == null) dart.nullFailed(I[34], 70, 36, "source");
      if (_internal.EfficientLengthIterable$(S).is(source)) {
        return new (_internal._EfficientLengthCastIterable$(S, T)).new(source);
      }
      return new (_internal.CastIterable$(S, T)).__(source);
    }
    cast(R) {
      return _internal.CastIterable$(S, R).new(this[_source$]);
    }
  }
  (CastIterable.__ = function(_source) {
    if (_source == null) dart.nullFailed(I[34], 68, 23, "_source");
    this[_source$0] = _source;
    CastIterable.__proto__.new.call(this);
    ;
  }).prototype = CastIterable.prototype;
  dart.addTypeTests(CastIterable);
  CastIterable.prototype[_is_CastIterable_default] = true;
  dart.addTypeCaches(CastIterable);
  dart.setMethodSignature(CastIterable, () => ({
    __proto__: dart.getMethods(CastIterable.__proto__),
    cast: dart.gFnType(R => [core.Iterable$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.Iterable$(R), []], R => [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(CastIterable, I[26]);
  dart.setFieldSignature(CastIterable, () => ({
    __proto__: dart.getFields(CastIterable.__proto__),
    [_source$]: dart.finalFieldType(core.Iterable$(S))
  }));
  dart.defineExtensionMethods(CastIterable, ['cast']);
  return CastIterable;
});
_internal.CastIterable = _internal.CastIterable$();
dart.addTypeTests(_internal.CastIterable, _is_CastIterable_default);
const _is__EfficientLengthCastIterable_default = Symbol('_is__EfficientLengthCastIterable_default');
_internal._EfficientLengthCastIterable$ = dart.generic((S, T) => {
  class _EfficientLengthCastIterable extends _internal.CastIterable$(S, T) {}
  (_EfficientLengthCastIterable.new = function(source) {
    if (source == null) dart.nullFailed(I[34], 82, 59, "source");
    _EfficientLengthCastIterable.__proto__.__.call(this, source);
    ;
  }).prototype = _EfficientLengthCastIterable.prototype;
  dart.addTypeTests(_EfficientLengthCastIterable);
  _EfficientLengthCastIterable.prototype[_is__EfficientLengthCastIterable_default] = true;
  dart.addTypeCaches(_EfficientLengthCastIterable);
  _EfficientLengthCastIterable[dart.implements] = () => [_internal.EfficientLengthIterable$(T)];
  dart.setLibraryUri(_EfficientLengthCastIterable, I[26]);
  return _EfficientLengthCastIterable;
});
_internal._EfficientLengthCastIterable = _internal._EfficientLengthCastIterable$();
dart.addTypeTests(_internal._EfficientLengthCastIterable, _is__EfficientLengthCastIterable_default);
const _is__CastListBase_default = Symbol('_is__CastListBase_default');
_internal._CastListBase$ = dart.generic((S, T) => {
  var __t$CastIterableOfT$S = () => (__t$CastIterableOfT$S = dart.constFn(_internal.CastIterable$(T, S)))();
  var __t$SAndSToint = () => (__t$SAndSToint = dart.constFn(dart.fnType(core.int, [S, S])))();
  var __t$STobool = () => (__t$STobool = dart.constFn(dart.fnType(core.bool, [S])))();
  var __t$CastIterableOfS$T = () => (__t$CastIterableOfS$T = dart.constFn(_internal.CastIterable$(S, T)))();
  var __t$IterableOfT = () => (__t$IterableOfT = dart.constFn(core.Iterable$(T)))();
  var __t$TN = () => (__t$TN = dart.constFn(dart.nullable(T)))();
  const _CastIterableBase_ListMixin$36 = class _CastIterableBase_ListMixin extends _internal._CastIterableBase$(S, T) {};
  (_CastIterableBase_ListMixin$36.new = function() {
    _CastIterableBase_ListMixin$36.__proto__.new.call(this);
  }).prototype = _CastIterableBase_ListMixin$36.prototype;
  dart.applyMixin(_CastIterableBase_ListMixin$36, collection.ListMixin$(T));
  class _CastListBase extends _CastIterableBase_ListMixin$36 {
    _get(index) {
      if (index == null) dart.nullFailed(I[34], 99, 21, "index");
      return T.as(this[_source$][$_get](index));
    }
    _set(index, value$) {
      let value = value$;
      if (index == null) dart.nullFailed(I[34], 101, 25, "index");
      T.as(value);
      this[_source$][$_set](index, S.as(value));
      return value$;
    }
    set length(length) {
      if (length == null) dart.nullFailed(I[34], 105, 23, "length");
      this[_source$][$length] = length;
    }
    get length() {
      return super.length;
    }
    add(value) {
      T.as(value);
      this[_source$][$add](S.as(value));
    }
    addAll(values) {
      __t$IterableOfT().as(values);
      if (values == null) dart.nullFailed(I[34], 113, 27, "values");
      this[_source$][$addAll](__t$CastIterableOfT$S().new(values));
    }
    sort(compare = null) {
      this[_source$][$sort](compare == null ? null : dart.fn((v1, v2) => compare(T.as(v1), T.as(v2)), __t$SAndSToint()));
    }
    shuffle(random = null) {
      this[_source$][$shuffle](random);
    }
    insert(index, element) {
      if (index == null) dart.nullFailed(I[34], 126, 19, "index");
      T.as(element);
      this[_source$][$insert](index, S.as(element));
    }
    insertAll(index, elements) {
      if (index == null) dart.nullFailed(I[34], 130, 22, "index");
      __t$IterableOfT().as(elements);
      if (elements == null) dart.nullFailed(I[34], 130, 41, "elements");
      this[_source$][$insertAll](index, __t$CastIterableOfT$S().new(elements));
    }
    setAll(index, elements) {
      if (index == null) dart.nullFailed(I[34], 134, 19, "index");
      __t$IterableOfT().as(elements);
      if (elements == null) dart.nullFailed(I[34], 134, 38, "elements");
      this[_source$][$setAll](index, __t$CastIterableOfT$S().new(elements));
    }
    remove(value) {
      return this[_source$][$remove](value);
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[34], 140, 18, "index");
      return T.as(this[_source$][$removeAt](index));
    }
    removeLast() {
      return T.as(this[_source$][$removeLast]());
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[34], 144, 25, "test");
      this[_source$][$removeWhere](dart.fn(element => test(T.as(element)), __t$STobool()));
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[34], 148, 25, "test");
      this[_source$][$retainWhere](dart.fn(element => test(T.as(element)), __t$STobool()));
    }
    getRange(start, end) {
      if (start == null) dart.nullFailed(I[34], 152, 28, "start");
      if (end == null) dart.nullFailed(I[34], 152, 39, "end");
      return __t$CastIterableOfS$T().new(this[_source$][$getRange](start, end));
    }
    setRange(start, end, iterable, skipCount = 0) {
      if (start == null) dart.nullFailed(I[34], 155, 21, "start");
      if (end == null) dart.nullFailed(I[34], 155, 32, "end");
      __t$IterableOfT().as(iterable);
      if (iterable == null) dart.nullFailed(I[34], 155, 49, "iterable");
      if (skipCount == null) dart.nullFailed(I[34], 155, 64, "skipCount");
      this[_source$][$setRange](start, end, __t$CastIterableOfT$S().new(iterable), skipCount);
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[34], 159, 24, "start");
      if (end == null) dart.nullFailed(I[34], 159, 35, "end");
      this[_source$][$removeRange](start, end);
    }
    fillRange(start, end, fillValue = null) {
      if (start == null) dart.nullFailed(I[34], 163, 22, "start");
      if (end == null) dart.nullFailed(I[34], 163, 33, "end");
      __t$TN().as(fillValue);
      this[_source$][$fillRange](start, end, S.as(fillValue));
    }
    replaceRange(start, end, replacement) {
      if (start == null) dart.nullFailed(I[34], 167, 25, "start");
      if (end == null) dart.nullFailed(I[34], 167, 36, "end");
      __t$IterableOfT().as(replacement);
      if (replacement == null) dart.nullFailed(I[34], 167, 53, "replacement");
      this[_source$][$replaceRange](start, end, __t$CastIterableOfT$S().new(replacement));
    }
  }
  (_CastListBase.new = function() {
    _CastListBase.__proto__.new.call(this);
    ;
  }).prototype = _CastListBase.prototype;
  dart.addTypeTests(_CastListBase);
  _CastListBase.prototype[_is__CastListBase_default] = true;
  dart.addTypeCaches(_CastListBase);
  dart.setMethodSignature(_CastListBase, () => ({
    __proto__: dart.getMethods(_CastListBase.__proto__),
    _get: dart.fnType(T, [core.int]),
    [$_get]: dart.fnType(T, [core.int]),
    _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)])
  }));
  dart.setSetterSignature(_CastListBase, () => ({
    __proto__: dart.getSetters(_CastListBase.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(_CastListBase, I[26]);
  dart.defineExtensionMethods(_CastListBase, [
    '_get',
    '_set',
    'add',
    'addAll',
    'sort',
    'shuffle',
    'insert',
    'insertAll',
    'setAll',
    'remove',
    'removeAt',
    'removeLast',
    'removeWhere',
    'retainWhere',
    'getRange',
    'setRange',
    'removeRange',
    'fillRange',
    'replaceRange'
  ]);
  dart.defineExtensionAccessors(_CastListBase, ['length']);
  return _CastListBase;
});
_internal._CastListBase = _internal._CastListBase$();
dart.addTypeTests(_internal._CastListBase, _is__CastListBase_default);
var _source$1 = dart.privateName(_internal, "CastList._source");
const _is_CastList_default = Symbol('_is_CastList_default');
_internal.CastList$ = dart.generic((S, T) => {
  class CastList extends _internal._CastListBase$(S, T) {
    get [_source$]() {
      return this[_source$1];
    }
    set [_source$](value) {
      super[_source$] = value;
    }
    cast(R) {
      return new (_internal.CastList$(S, R)).new(this[_source$]);
    }
  }
  (CastList.new = function(_source) {
    if (_source == null) dart.nullFailed(I[34], 174, 17, "_source");
    this[_source$1] = _source;
    CastList.__proto__.new.call(this);
    ;
  }).prototype = CastList.prototype;
  dart.addTypeTests(CastList);
  CastList.prototype[_is_CastList_default] = true;
  dart.addTypeCaches(CastList);
  dart.setMethodSignature(CastList, () => ({
    __proto__: dart.getMethods(CastList.__proto__),
    cast: dart.gFnType(R => [core.List$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.List$(R), []], R => [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(CastList, I[26]);
  dart.setFieldSignature(CastList, () => ({
    __proto__: dart.getFields(CastList.__proto__),
    [_source$]: dart.finalFieldType(core.List$(S))
  }));
  dart.defineExtensionMethods(CastList, ['cast']);
  return CastList;
});
_internal.CastList = _internal.CastList$();
dart.addTypeTests(_internal.CastList, _is_CastList_default);
var _source$2 = dart.privateName(_internal, "CastSet._source");
var _emptySet$ = dart.privateName(_internal, "_emptySet");
var _conditionalAdd = dart.privateName(_internal, "_conditionalAdd");
var _clone = dart.privateName(_internal, "_clone");
const _is_CastSet_default = Symbol('_is_CastSet_default');
_internal.CastSet$ = dart.generic((S, T) => {
  var __t$CastIterableOfT$S = () => (__t$CastIterableOfT$S = dart.constFn(_internal.CastIterable$(T, S)))();
  var __t$STobool = () => (__t$STobool = dart.constFn(dart.fnType(core.bool, [S])))();
  var __t$CastSetOfS$T = () => (__t$CastSetOfS$T = dart.constFn(_internal.CastSet$(S, T)))();
  var __t$IterableOfT = () => (__t$IterableOfT = dart.constFn(core.Iterable$(T)))();
  var __t$_HashSetOfT = () => (__t$_HashSetOfT = dart.constFn(collection._HashSet$(T)))();
  var __t$SetOfT = () => (__t$SetOfT = dart.constFn(core.Set$(T)))();
  class CastSet extends _internal._CastIterableBase$(S, T) {
    get [_source$]() {
      return this[_source$2];
    }
    set [_source$](value) {
      super[_source$] = value;
    }
    static _defaultEmptySet(R) {
      return new (collection._HashSet$(R)).new();
    }
    cast(R) {
      return new (_internal.CastSet$(S, R)).new(this[_source$], this[_emptySet$]);
    }
    add(value) {
      T.as(value);
      return this[_source$].add(S.as(value));
    }
    addAll(elements) {
      __t$IterableOfT().as(elements);
      if (elements == null) dart.nullFailed(I[34], 194, 27, "elements");
      this[_source$].addAll(__t$CastIterableOfT$S().new(elements));
    }
    remove(object) {
      return this[_source$].remove(object);
    }
    removeAll(objects) {
      if (objects == null) dart.nullFailed(I[34], 200, 36, "objects");
      this[_source$].removeAll(objects);
    }
    retainAll(objects) {
      if (objects == null) dart.nullFailed(I[34], 204, 36, "objects");
      this[_source$].retainAll(objects);
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[34], 208, 25, "test");
      this[_source$].removeWhere(dart.fn(element => test(T.as(element)), __t$STobool()));
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[34], 212, 25, "test");
      this[_source$].retainWhere(dart.fn(element => test(T.as(element)), __t$STobool()));
    }
    containsAll(objects) {
      if (objects == null) dart.nullFailed(I[34], 216, 38, "objects");
      return this[_source$].containsAll(objects);
    }
    intersection(other) {
      if (other == null) dart.nullFailed(I[34], 218, 36, "other");
      if (this[_emptySet$] != null) return this[_conditionalAdd](other, true);
      return new (__t$CastSetOfS$T()).new(this[_source$].intersection(other), null);
    }
    difference(other) {
      if (other == null) dart.nullFailed(I[34], 223, 34, "other");
      if (this[_emptySet$] != null) return this[_conditionalAdd](other, false);
      return new (__t$CastSetOfS$T()).new(this[_source$].difference(other), null);
    }
    [_conditionalAdd](other, otherContains) {
      if (other == null) dart.nullFailed(I[34], 228, 39, "other");
      if (otherContains == null) dart.nullFailed(I[34], 228, 51, "otherContains");
      let emptySet = this[_emptySet$];
      let result = emptySet == null ? new (__t$_HashSetOfT()).new() : emptySet(T);
      for (let element of this[_source$]) {
        let castElement = T.as(element);
        if (otherContains == other.contains(castElement)) result.add(castElement);
      }
      return result;
    }
    union(other) {
      let t76;
      __t$SetOfT().as(other);
      if (other == null) dart.nullFailed(I[34], 238, 23, "other");
      t76 = this[_clone]();
      return (() => {
        t76.addAll(other);
        return t76;
      })();
    }
    clear() {
      this[_source$].clear();
    }
    [_clone]() {
      let emptySet = this[_emptySet$];
      let result = emptySet == null ? new (__t$_HashSetOfT()).new() : emptySet(T);
      result.addAll(this);
      return result;
    }
    toSet() {
      return this[_clone]();
    }
    lookup(key) {
      return T.as(this[_source$].lookup(key));
    }
  }
  (CastSet.new = function(_source, _emptySet) {
    if (_source == null) dart.nullFailed(I[34], 187, 16, "_source");
    this[_source$2] = _source;
    this[_emptySet$] = _emptySet;
    CastSet.__proto__.new.call(this);
    ;
  }).prototype = CastSet.prototype;
  dart.addTypeTests(CastSet);
  CastSet.prototype[_is_CastSet_default] = true;
  dart.addTypeCaches(CastSet);
  CastSet[dart.implements] = () => [core.Set$(T)];
  dart.setMethodSignature(CastSet, () => ({
    __proto__: dart.getMethods(CastSet.__proto__),
    cast: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    removeAll: dart.fnType(dart.void, [core.Iterable$(dart.nullable(core.Object))]),
    retainAll: dart.fnType(dart.void, [core.Iterable$(dart.nullable(core.Object))]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [T])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [T])]),
    containsAll: dart.fnType(core.bool, [core.Iterable$(dart.nullable(core.Object))]),
    intersection: dart.fnType(core.Set$(T), [core.Set$(dart.nullable(core.Object))]),
    difference: dart.fnType(core.Set$(T), [core.Set$(dart.nullable(core.Object))]),
    [_conditionalAdd]: dart.fnType(core.Set$(T), [core.Set$(dart.nullable(core.Object)), core.bool]),
    union: dart.fnType(core.Set$(T), [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [_clone]: dart.fnType(core.Set$(T), []),
    lookup: dart.fnType(T, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(CastSet, I[26]);
  dart.setFieldSignature(CastSet, () => ({
    __proto__: dart.getFields(CastSet.__proto__),
    [_source$]: dart.finalFieldType(core.Set$(S)),
    [_emptySet$]: dart.finalFieldType(dart.nullable(dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)])))
  }));
  dart.defineExtensionMethods(CastSet, ['cast', 'toSet']);
  return CastSet;
});
_internal.CastSet = _internal.CastSet$();
dart.addTypeTests(_internal.CastSet, _is_CastSet_default);
const _is_MapMixin_default = Symbol('_is_MapMixin_default');
collection.MapMixin$ = dart.generic((K, V) => {
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$KAndVToV = () => (__t$KAndVToV = dart.constFn(dart.fnType(V, [K, V])))();
  var __t$MapEntryOfK$V = () => (__t$MapEntryOfK$V = dart.constFn(core.MapEntry$(K, V)))();
  var __t$KToMapEntryOfK$V = () => (__t$KToMapEntryOfK$V = dart.constFn(dart.fnType(__t$MapEntryOfK$V(), [K])))();
  var __t$IterableOfMapEntryOfK$V = () => (__t$IterableOfMapEntryOfK$V = dart.constFn(core.Iterable$(__t$MapEntryOfK$V())))();
  var __t$JSArrayOfK = () => (__t$JSArrayOfK = dart.constFn(_interceptors.JSArray$(K)))();
  var __t$_MapBaseValueIterableOfK$V = () => (__t$_MapBaseValueIterableOfK$V = dart.constFn(collection._MapBaseValueIterable$(K, V)))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  var __t$VToV = () => (__t$VToV = dart.constFn(dart.fnType(V, [V])))();
  var __t$VoidToNV = () => (__t$VoidToNV = dart.constFn(dart.nullable(__t$VoidToV())))();
  class MapMixin extends core.Object {
    cast(RK, RV) {
      return core.Map.castFrom(K, V, RK, RV, this);
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[36], 121, 21, "action");
      for (let key of this[$keys]) {
        action(key, V.as(this[$_get](key)));
      }
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[36], 127, 25, "other");
      for (let key of other[$keys]) {
        this[$_set](key, V.as(other[$_get](key)));
      }
    }
    containsValue(value) {
      for (let key of this[$keys]) {
        if (dart.equals(this[$_get](key), value)) return true;
      }
      return false;
    }
    putIfAbsent(key, ifAbsent) {
      let t77, t76;
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[36], 140, 26, "ifAbsent");
      if (dart.test(this[$containsKey](key))) {
        return V.as(this[$_get](key));
      }
      t76 = key;
      t77 = ifAbsent();
      this[$_set](t76, t77);
      return t77;
    }
    update(key, update, opts) {
      let t77, t76, t77$, t76$;
      K.as(key);
      __t$VToV().as(update);
      if (update == null) dart.nullFailed(I[36], 147, 21, "update");
      let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
      __t$VoidToNV().as(ifAbsent);
      if (dart.test(this[$containsKey](key))) {
        t76 = key;
        t77 = update(V.as(this[$_get](key)));
        this[$_set](t76, t77);
        return t77;
      }
      if (ifAbsent != null) {
        t76$ = key;
        t77$ = ifAbsent();
        this[$_set](t76$, t77$);
        return t77$;
      }
      dart.throw(new core.ArgumentError.value(key, "key", "Key not in map."));
    }
    updateAll(update) {
      __t$KAndVToV().as(update);
      if (update == null) dart.nullFailed(I[36], 157, 20, "update");
      for (let key of this[$keys]) {
        this[$_set](key, update(key, V.as(this[$_get](key))));
      }
    }
    get entries() {
      return this[$keys][$map](__t$MapEntryOfK$V(), dart.fn(key => new (__t$MapEntryOfK$V()).__(key, V.as(this[$_get](key))), __t$KToMapEntryOfK$V()));
    }
    map(K2, V2, transform) {
      if (transform == null) dart.nullFailed(I[36], 167, 44, "transform");
      let result = new (_js_helper.LinkedMap$(K2, V2)).new();
      for (let key of this[$keys]) {
        let entry = transform(key, V.as(this[$_get](key)));
        result[$_set](entry.key, entry.value);
      }
      return result;
    }
    addEntries(newEntries) {
      __t$IterableOfMapEntryOfK$V().as(newEntries);
      if (newEntries == null) dart.nullFailed(I[36], 176, 44, "newEntries");
      for (let entry of newEntries) {
        this[$_set](entry.key, entry.value);
      }
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[36], 182, 25, "test");
      let keysToRemove = __t$JSArrayOfK().of([]);
      for (let key of this[$keys]) {
        if (dart.test(test(key, V.as(this[$_get](key))))) keysToRemove[$add](key);
      }
      for (let key of keysToRemove) {
        this[$remove](key);
      }
    }
    containsKey(key) {
      return this[$keys][$contains](key);
    }
    get length() {
      return this[$keys][$length];
    }
    get isEmpty() {
      return this[$keys][$isEmpty];
    }
    get isNotEmpty() {
      return this[$keys][$isNotEmpty];
    }
    get values() {
      return new (__t$_MapBaseValueIterableOfK$V()).new(this);
    }
    toString() {
      return collection.MapBase.mapToString(this);
    }
  }
  (MapMixin.new = function() {
    ;
  }).prototype = MapMixin.prototype;
  MapMixin.prototype[dart.isMap] = true;
  dart.addTypeTests(MapMixin);
  MapMixin.prototype[_is_MapMixin_default] = true;
  dart.addTypeCaches(MapMixin);
  MapMixin[dart.implements] = () => [core.Map$(K, V)];
  dart.setMethodSignature(MapMixin, () => ({
    __proto__: dart.getMethods(MapMixin.__proto__),
    cast: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$cast]: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [K, V])]),
    [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [K, V])]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    containsValue: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$containsValue]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    putIfAbsent: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$putIfAbsent]: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    update: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
    [$update]: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
    updateAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$updateAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    map: dart.gFnType((K2, V2) => [core.Map$(K2, V2), [dart.fnType(core.MapEntry$(K2, V2), [K, V])]], (K2, V2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$map]: dart.gFnType((K2, V2) => [core.Map$(K2, V2), [dart.fnType(core.MapEntry$(K2, V2), [K, V])]], (K2, V2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    addEntries: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addEntries]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [K, V])]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [K, V])]),
    containsKey: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$containsKey]: dart.fnType(core.bool, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(MapMixin, () => ({
    __proto__: dart.getGetters(MapMixin.__proto__),
    entries: core.Iterable$(core.MapEntry$(K, V)),
    [$entries]: core.Iterable$(core.MapEntry$(K, V)),
    length: core.int,
    [$length]: core.int,
    isEmpty: core.bool,
    [$isEmpty]: core.bool,
    isNotEmpty: core.bool,
    [$isNotEmpty]: core.bool,
    values: core.Iterable$(V),
    [$values]: core.Iterable$(V)
  }));
  dart.setLibraryUri(MapMixin, I[25]);
  dart.defineExtensionMethods(MapMixin, [
    'cast',
    'forEach',
    'addAll',
    'containsValue',
    'putIfAbsent',
    'update',
    'updateAll',
    'map',
    'addEntries',
    'removeWhere',
    'containsKey',
    'toString'
  ]);
  dart.defineExtensionAccessors(MapMixin, [
    'entries',
    'length',
    'isEmpty',
    'isNotEmpty',
    'values'
  ]);
  return MapMixin;
});
collection.MapMixin = collection.MapMixin$();
dart.addTypeTests(collection.MapMixin, _is_MapMixin_default);
const _is_MapBase_default = Symbol('_is_MapBase_default');
collection.MapBase$ = dart.generic((K, V) => {
  class MapBase extends collection.MapMixin$(K, V) {
    static mapToString(m) {
      if (m == null) dart.nullFailed(I[36], 22, 51, "m");
      if (dart.test(collection._isToStringVisiting(m))) {
        return "{...}";
      }
      let result = new core.StringBuffer.new();
      try {
        collection._toStringVisiting[$add](m);
        result.write("{");
        let first = true;
        m[$forEach](dart.fn((k, v) => {
          if (!first) {
            result.write(", ");
          }
          first = false;
          result.write(k);
          result.write(": ");
          result.write(v);
        }, T$.ObjectNAndObjectNTovoid()));
        result.write("}");
      } finally {
        if (!core.identical(collection._toStringVisiting[$last], m)) dart.assertFailed(null, I[36], 44, 14, "identical(_toStringVisiting.last, m)");
        collection._toStringVisiting[$removeLast]();
      }
      return result.toString();
    }
    static _id(x) {
      return x;
    }
    static _fillMapWithMappedIterable(map, iterable, key, value) {
      if (map == null) dart.nullFailed(I[36], 58, 29, "map");
      if (iterable == null) dart.nullFailed(I[36], 59, 25, "iterable");
      key == null ? key = C[20] || CT.C20 : null;
      value == null ? value = C[20] || CT.C20 : null;
      if (key == null) dart.throw("!");
      if (value == null) dart.throw("!");
      for (let element of iterable) {
        map[$_set](key(element), value(element));
      }
    }
    static _fillMapWithIterables(map, keys, values) {
      if (map == null) dart.nullFailed(I[36], 77, 59, "map");
      if (keys == null) dart.nullFailed(I[36], 78, 25, "keys");
      if (values == null) dart.nullFailed(I[36], 78, 49, "values");
      let keyIterator = keys[$iterator];
      let valueIterator = values[$iterator];
      let hasNextKey = keyIterator.moveNext();
      let hasNextValue = valueIterator.moveNext();
      while (dart.test(hasNextKey) && dart.test(hasNextValue)) {
        map[$_set](keyIterator.current, valueIterator.current);
        hasNextKey = keyIterator.moveNext();
        hasNextValue = valueIterator.moveNext();
      }
      if (dart.test(hasNextKey) || dart.test(hasNextValue)) {
        dart.throw(new core.ArgumentError.new("Iterables do not have same length."));
      }
    }
  }
  (MapBase.new = function() {
    ;
  }).prototype = MapBase.prototype;
  dart.addTypeTests(MapBase);
  MapBase.prototype[_is_MapBase_default] = true;
  dart.addTypeCaches(MapBase);
  dart.setLibraryUri(MapBase, I[25]);
  return MapBase;
});
collection.MapBase = collection.MapBase$();
dart.addTypeTests(collection.MapBase, _is_MapBase_default);
const _is_CastMap_default = Symbol('_is_CastMap_default');
_internal.CastMap$ = dart.generic((SK, SV, K, V) => {
  var __t$CastMapOfK$V$SK$SV = () => (__t$CastMapOfK$V$SK$SV = dart.constFn(_internal.CastMap$(K, V, SK, SV)))();
  var __t$SKAndSVTovoid = () => (__t$SKAndSVTovoid = dart.constFn(dart.fnType(dart.void, [SK, SV])))();
  var __t$CastIterableOfSK$K = () => (__t$CastIterableOfSK$K = dart.constFn(_internal.CastIterable$(SK, K)))();
  var __t$SKAndSVToSV = () => (__t$SKAndSVToSV = dart.constFn(dart.fnType(SV, [SK, SV])))();
  var __t$MapEntryOfSK$SV = () => (__t$MapEntryOfSK$SV = dart.constFn(core.MapEntry$(SK, SV)))();
  var __t$MapEntryOfSK$SVToMapEntryOfK$V = () => (__t$MapEntryOfSK$SVToMapEntryOfK$V = dart.constFn(dart.fnType(__t$MapEntryOfK$V(), [__t$MapEntryOfSK$SV()])))();
  var __t$SKAndSVTobool = () => (__t$SKAndSVTobool = dart.constFn(dart.fnType(core.bool, [SK, SV])))();
  var __t$VoidToSV = () => (__t$VoidToSV = dart.constFn(dart.fnType(SV, [])))();
  var __t$CastIterableOfSV$V = () => (__t$CastIterableOfSV$V = dart.constFn(_internal.CastIterable$(SV, V)))();
  var __t$SVToSV = () => (__t$SVToSV = dart.constFn(dart.fnType(SV, [SV])))();
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$KAndVToV = () => (__t$KAndVToV = dart.constFn(dart.fnType(V, [K, V])))();
  var __t$MapEntryOfK$V = () => (__t$MapEntryOfK$V = dart.constFn(core.MapEntry$(K, V)))();
  var __t$IterableOfMapEntryOfK$V = () => (__t$IterableOfMapEntryOfK$V = dart.constFn(core.Iterable$(__t$MapEntryOfK$V())))();
  var __t$VN = () => (__t$VN = dart.constFn(dart.nullable(V)))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  var __t$VToV = () => (__t$VToV = dart.constFn(dart.fnType(V, [V])))();
  var __t$VoidToNV = () => (__t$VoidToNV = dart.constFn(dart.nullable(__t$VoidToV())))();
  class CastMap extends collection.MapBase$(K, V) {
    cast(RK, RV) {
      return new (_internal.CastMap$(SK, SV, RK, RV)).new(this[_source$]);
    }
    containsValue(value) {
      return this[_source$][$containsValue](value);
    }
    containsKey(key) {
      return this[_source$][$containsKey](key);
    }
    _get(key) {
      return __t$VN().as(this[_source$][$_get](key));
    }
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      this[_source$][$_set](SK.as(key), SV.as(value));
      return value$;
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[34], 273, 37, "ifAbsent");
      return V.as(this[_source$][$putIfAbsent](SK.as(key), dart.fn(() => SV.as(ifAbsent()), __t$VoidToSV())));
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[34], 276, 25, "other");
      this[_source$][$addAll](new (__t$CastMapOfK$V$SK$SV()).new(other));
    }
    remove(key) {
      return __t$VN().as(this[_source$][$remove](key));
    }
    clear() {
      this[_source$][$clear]();
    }
    forEach(f) {
      if (f == null) dart.nullFailed(I[34], 286, 21, "f");
      this[_source$][$forEach](dart.fn((key, value) => {
        f(K.as(key), V.as(value));
      }, __t$SKAndSVTovoid()));
    }
    get keys() {
      return __t$CastIterableOfSK$K().new(this[_source$][$keys]);
    }
    get values() {
      return __t$CastIterableOfSV$V().new(this[_source$][$values]);
    }
    get length() {
      return this[_source$][$length];
    }
    get isEmpty() {
      return this[_source$][$isEmpty];
    }
    get isNotEmpty() {
      return this[_source$][$isNotEmpty];
    }
    update(key, update, opts) {
      K.as(key);
      __t$VToV().as(update);
      if (update == null) dart.nullFailed(I[34], 302, 21, "update");
      let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
      __t$VoidToNV().as(ifAbsent);
      return V.as(this[_source$][$update](SK.as(key), dart.fn(value => SV.as(update(V.as(value))), __t$SVToSV()), {ifAbsent: ifAbsent == null ? null : dart.fn(() => SV.as(ifAbsent()), __t$VoidToSV())}));
    }
    updateAll(update) {
      __t$KAndVToV().as(update);
      if (update == null) dart.nullFailed(I[34], 307, 20, "update");
      this[_source$][$updateAll](dart.fn((key, value) => SV.as(update(K.as(key), V.as(value))), __t$SKAndSVToSV()));
    }
    get entries() {
      return this[_source$][$entries][$map](__t$MapEntryOfK$V(), dart.fn(e => {
        if (e == null) dart.nullFailed(I[34], 313, 27, "e");
        return new (__t$MapEntryOfK$V()).__(K.as(e.key), V.as(e.value));
      }, __t$MapEntryOfSK$SVToMapEntryOfK$V()));
    }
    addEntries(entries) {
      __t$IterableOfMapEntryOfK$V().as(entries);
      if (entries == null) dart.nullFailed(I[34], 316, 44, "entries");
      for (let entry of entries) {
        this[_source$][$_set](SK.as(entry.key), SV.as(entry.value));
      }
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[34], 322, 25, "test");
      this[_source$][$removeWhere](dart.fn((key, value) => test(K.as(key), V.as(value)), __t$SKAndSVTobool()));
    }
  }
  (CastMap.new = function(_source) {
    if (_source == null) dart.nullFailed(I[34], 259, 16, "_source");
    this[_source$] = _source;
    ;
  }).prototype = CastMap.prototype;
  dart.addTypeTests(CastMap);
  CastMap.prototype[_is_CastMap_default] = true;
  dart.addTypeCaches(CastMap);
  dart.setMethodSignature(CastMap, () => ({
    __proto__: dart.getMethods(CastMap.__proto__),
    cast: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$cast]: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    _get: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(CastMap, () => ({
    __proto__: dart.getGetters(CastMap.__proto__),
    keys: core.Iterable$(K),
    [$keys]: core.Iterable$(K)
  }));
  dart.setLibraryUri(CastMap, I[26]);
  dart.setFieldSignature(CastMap, () => ({
    __proto__: dart.getFields(CastMap.__proto__),
    [_source$]: dart.finalFieldType(core.Map$(SK, SV))
  }));
  dart.defineExtensionMethods(CastMap, [
    'cast',
    'containsValue',
    'containsKey',
    '_get',
    '_set',
    'putIfAbsent',
    'addAll',
    'remove',
    'clear',
    'forEach',
    'update',
    'updateAll',
    'addEntries',
    'removeWhere'
  ]);
  dart.defineExtensionAccessors(CastMap, [
    'keys',
    'values',
    'length',
    'isEmpty',
    'isNotEmpty',
    'entries'
  ]);
  return CastMap;
});
_internal.CastMap = _internal.CastMap$();
dart.addTypeTests(_internal.CastMap, _is_CastMap_default);
var _source$3 = dart.privateName(_internal, "CastQueue._source");
const _is_CastQueue_default = Symbol('_is_CastQueue_default');
_internal.CastQueue$ = dart.generic((S, T) => {
  var __t$CastIterableOfT$S = () => (__t$CastIterableOfT$S = dart.constFn(_internal.CastIterable$(T, S)))();
  var __t$STobool = () => (__t$STobool = dart.constFn(dart.fnType(core.bool, [S])))();
  var __t$IterableOfT = () => (__t$IterableOfT = dart.constFn(core.Iterable$(T)))();
  class CastQueue extends _internal._CastIterableBase$(S, T) {
    get [_source$]() {
      return this[_source$3];
    }
    set [_source$](value) {
      super[_source$] = value;
    }
    cast(R) {
      return new (_internal.CastQueue$(S, R)).new(this[_source$]);
    }
    removeFirst() {
      return T.as(this[_source$].removeFirst());
    }
    removeLast() {
      return T.as(this[_source$].removeLast());
    }
    add(value) {
      T.as(value);
      this[_source$].add(S.as(value));
    }
    addFirst(value) {
      T.as(value);
      this[_source$].addFirst(S.as(value));
    }
    addLast(value) {
      T.as(value);
      this[_source$].addLast(S.as(value));
    }
    remove(other) {
      return this[_source$].remove(other);
    }
    addAll(elements) {
      __t$IterableOfT().as(elements);
      if (elements == null) dart.nullFailed(I[34], 348, 27, "elements");
      this[_source$].addAll(__t$CastIterableOfT$S().new(elements));
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[34], 352, 25, "test");
      this[_source$].removeWhere(dart.fn(element => test(T.as(element)), __t$STobool()));
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[34], 356, 25, "test");
      this[_source$].retainWhere(dart.fn(element => test(T.as(element)), __t$STobool()));
    }
    clear() {
      this[_source$].clear();
    }
  }
  (CastQueue.new = function(_source) {
    if (_source == null) dart.nullFailed(I[34], 329, 18, "_source");
    this[_source$3] = _source;
    CastQueue.__proto__.new.call(this);
    ;
  }).prototype = CastQueue.prototype;
  dart.addTypeTests(CastQueue);
  CastQueue.prototype[_is_CastQueue_default] = true;
  dart.addTypeCaches(CastQueue);
  CastQueue[dart.implements] = () => [collection.Queue$(T)];
  dart.setMethodSignature(CastQueue, () => ({
    __proto__: dart.getMethods(CastQueue.__proto__),
    cast: dart.gFnType(R => [collection.Queue$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [collection.Queue$(R), []], R => [dart.nullable(core.Object)]),
    removeFirst: dart.fnType(T, []),
    removeLast: dart.fnType(T, []),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addFirst: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addLast: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [T])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [T])]),
    clear: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(CastQueue, I[26]);
  dart.setFieldSignature(CastQueue, () => ({
    __proto__: dart.getFields(CastQueue.__proto__),
    [_source$]: dart.finalFieldType(collection.Queue$(S))
  }));
  dart.defineExtensionMethods(CastQueue, ['cast']);
  return CastQueue;
});
_internal.CastQueue = _internal.CastQueue$();
dart.addTypeTests(_internal.CastQueue, _is_CastQueue_default);
var _message$ = dart.privateName(_internal, "_message");
_internal.LateError = class LateError extends core.Error {
  toString() {
    let message = this[_message$];
    return message != null ? "LateInitializationError: " + dart.str(message) : "LateInitializationError";
  }
};
(_internal.LateError.new = function(_message = null) {
  this[_message$] = _message;
  _internal.LateError.__proto__.new.call(this);
  ;
}).prototype = _internal.LateError.prototype;
(_internal.LateError.fieldADI = function(fieldName) {
  if (fieldName == null) dart.nullFailed(I[37], 16, 29, "fieldName");
  this[_message$] = "Field '" + dart.str(fieldName) + "' has been assigned during initialization.";
  _internal.LateError.__proto__.new.call(this);
  ;
}).prototype = _internal.LateError.prototype;
(_internal.LateError.localADI = function(localName) {
  if (localName == null) dart.nullFailed(I[37], 20, 29, "localName");
  this[_message$] = "Local '" + dart.str(localName) + "' has been assigned during initialization.";
  _internal.LateError.__proto__.new.call(this);
  ;
}).prototype = _internal.LateError.prototype;
(_internal.LateError.fieldNI = function(fieldName) {
  if (fieldName == null) dart.nullFailed(I[37], 25, 28, "fieldName");
  this[_message$] = "Field '" + dart.str(fieldName) + "' has not been initialized.";
  _internal.LateError.__proto__.new.call(this);
  ;
}).prototype = _internal.LateError.prototype;
(_internal.LateError.localNI = function(localName) {
  if (localName == null) dart.nullFailed(I[37], 28, 28, "localName");
  this[_message$] = "Local '" + dart.str(localName) + "' has not been initialized.";
  _internal.LateError.__proto__.new.call(this);
  ;
}).prototype = _internal.LateError.prototype;
(_internal.LateError.fieldAI = function(fieldName) {
  if (fieldName == null) dart.nullFailed(I[37], 31, 28, "fieldName");
  this[_message$] = "Field '" + dart.str(fieldName) + "' has already been initialized.";
  _internal.LateError.__proto__.new.call(this);
  ;
}).prototype = _internal.LateError.prototype;
(_internal.LateError.localAI = function(localName) {
  if (localName == null) dart.nullFailed(I[37], 34, 28, "localName");
  this[_message$] = "Local '" + dart.str(localName) + "' has already been initialized.";
  _internal.LateError.__proto__.new.call(this);
  ;
}).prototype = _internal.LateError.prototype;
dart.addTypeTests(_internal.LateError);
dart.addTypeCaches(_internal.LateError);
dart.setLibraryUri(_internal.LateError, I[26]);
dart.setFieldSignature(_internal.LateError, () => ({
  __proto__: dart.getFields(_internal.LateError.__proto__),
  [_message$]: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(_internal.LateError, ['toString']);
_internal.ReachabilityError = class ReachabilityError extends core.Error {
  toString() {
    let message = this[_message$];
    return message != null ? "ReachabilityError: " + dart.str(message) : "ReachabilityError";
  }
};
(_internal.ReachabilityError.new = function(_message = null) {
  this[_message$] = _message;
  _internal.ReachabilityError.__proto__.new.call(this);
  ;
}).prototype = _internal.ReachabilityError.prototype;
dart.addTypeTests(_internal.ReachabilityError);
dart.addTypeCaches(_internal.ReachabilityError);
dart.setLibraryUri(_internal.ReachabilityError, I[26]);
dart.setFieldSignature(_internal.ReachabilityError, () => ({
  __proto__: dart.getFields(_internal.ReachabilityError.__proto__),
  [_message$]: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(_internal.ReachabilityError, ['toString']);
const _is_EfficientLengthIterable_default = Symbol('_is_EfficientLengthIterable_default');
_internal.EfficientLengthIterable$ = dart.generic(T => {
  class EfficientLengthIterable extends core.Iterable$(T) {}
  (EfficientLengthIterable.new = function() {
    EfficientLengthIterable.__proto__.new.call(this);
    ;
  }).prototype = EfficientLengthIterable.prototype;
  dart.addTypeTests(EfficientLengthIterable);
  EfficientLengthIterable.prototype[_is_EfficientLengthIterable_default] = true;
  dart.addTypeCaches(EfficientLengthIterable);
  dart.setLibraryUri(EfficientLengthIterable, I[26]);
  return EfficientLengthIterable;
});
_internal.EfficientLengthIterable = _internal.EfficientLengthIterable$();
dart.addTypeTests(_internal.EfficientLengthIterable, _is_EfficientLengthIterable_default);
const _is_ListIterable_default = Symbol('_is_ListIterable_default');
_internal.ListIterable$ = dart.generic(E => {
  var __t$ListIteratorOfE = () => (__t$ListIteratorOfE = dart.constFn(_internal.ListIterator$(E)))();
  var __t$VoidToE = () => (__t$VoidToE = dart.constFn(dart.fnType(E, [])))();
  var __t$VoidToNE = () => (__t$VoidToNE = dart.constFn(dart.nullable(__t$VoidToE())))();
  var __t$ETodynamic = () => (__t$ETodynamic = dart.constFn(dart.fnType(dart.dynamic, [E])))();
  var __t$EAndEToE = () => (__t$EAndEToE = dart.constFn(dart.fnType(E, [E, E])))();
  var __t$SubListIterableOfE = () => (__t$SubListIterableOfE = dart.constFn(_internal.SubListIterable$(E)))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$_HashSetOfE = () => (__t$_HashSetOfE = dart.constFn(collection._HashSet$(E)))();
  class ListIterable extends _internal.EfficientLengthIterable$(E) {
    get iterator() {
      return new (__t$ListIteratorOfE()).new(this);
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[38], 36, 21, "action");
      let length = this.length;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        action(this.elementAt(i));
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
    }
    get isEmpty() {
      return this.length === 0;
    }
    get first() {
      if (this.length === 0) dart.throw(_internal.IterableElementError.noElement());
      return this.elementAt(0);
    }
    get last() {
      if (this.length === 0) dart.throw(_internal.IterableElementError.noElement());
      return this.elementAt(dart.notNull(this.length) - 1);
    }
    get single() {
      if (this.length === 0) dart.throw(_internal.IterableElementError.noElement());
      if (dart.notNull(this.length) > 1) dart.throw(_internal.IterableElementError.tooMany());
      return this.elementAt(0);
    }
    contains(element) {
      let length = this.length;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        if (dart.equals(this.elementAt(i), element)) return true;
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return false;
    }
    every(test) {
      if (test == null) dart.nullFailed(I[38], 75, 19, "test");
      let length = this.length;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        if (!dart.test(test(this.elementAt(i)))) return false;
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return true;
    }
    any(test) {
      if (test == null) dart.nullFailed(I[38], 86, 17, "test");
      let length = this.length;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        if (dart.test(test(this.elementAt(i)))) return true;
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return false;
    }
    firstWhere(test, opts) {
      if (test == null) dart.nullFailed(I[38], 97, 21, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this.length;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        let element = this.elementAt(i);
        if (dart.test(test(element))) return element;
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[38], 110, 20, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this.length;
      for (let i = dart.notNull(length) - 1; i >= 0; i = i - 1) {
        let element = this.elementAt(i);
        if (dart.test(test(element))) return element;
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    singleWhere(test, opts) {
      if (test == null) dart.nullFailed(I[38], 123, 22, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let length = this.length;
      let match = null;
      let match$35isSet = false;
      function match$35get() {
        return match$35isSet ? match : dart.throw(new _internal.LateError.localNI("match"));
      }
      dart.fn(match$35get, __t$VoidToE());
      function match$35set(t79) {
        match$35isSet = true;
        return match = t79;
      }
      dart.fn(match$35set, __t$ETodynamic());
      let matchFound = false;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        let element = this.elementAt(i);
        if (dart.test(test(element))) {
          if (matchFound) {
            dart.throw(_internal.IterableElementError.tooMany());
          }
          matchFound = true;
          match$35set(element);
        }
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      if (matchFound) return match$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    join(separator = "") {
      if (separator == null) dart.nullFailed(I[38], 145, 23, "separator");
      let length = this.length;
      if (!separator[$isEmpty]) {
        if (length === 0) return "";
        let first = dart.str(this.elementAt(0));
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        let buffer = new core.StringBuffer.new(first);
        for (let i = 1; i < dart.notNull(length); i = i + 1) {
          buffer.write(separator);
          buffer.write(this.elementAt(i));
          if (length != this.length) {
            dart.throw(new core.ConcurrentModificationError.new(this));
          }
        }
        return buffer.toString();
      } else {
        let buffer = new core.StringBuffer.new();
        for (let i = 0; i < dart.notNull(length); i = i + 1) {
          buffer.write(this.elementAt(i));
          if (length != this.length) {
            dart.throw(new core.ConcurrentModificationError.new(this));
          }
        }
        return buffer.toString();
      }
    }
    where(test) {
      if (test == null) dart.nullFailed(I[38], 174, 26, "test");
      return super[$where](test);
    }
    map(T, toElement) {
      if (toElement == null) dart.nullFailed(I[38], 176, 24, "toElement");
      return new (_internal.MappedListIterable$(E, T)).new(this, toElement);
    }
    reduce(combine) {
      __t$EAndEToE().as(combine);
      if (combine == null) dart.nullFailed(I[38], 179, 14, "combine");
      let length = this.length;
      if (length === 0) dart.throw(_internal.IterableElementError.noElement());
      let value = this.elementAt(0);
      for (let i = 1; i < dart.notNull(length); i = i + 1) {
        value = combine(value, this.elementAt(i));
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return value;
    }
    fold(T, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[38], 192, 31, "combine");
      let value = initialValue;
      let length = this.length;
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        value = combine(value, this.elementAt(i));
        if (length != this.length) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
      return value;
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[38], 204, 24, "count");
      return new (__t$SubListIterableOfE()).new(this, count, null);
    }
    skipWhile(test) {
      if (test == null) dart.nullFailed(I[38], 206, 30, "test");
      return super[$skipWhile](test);
    }
    take(count) {
      if (count == null) dart.nullFailed(I[38], 208, 24, "count");
      return new (__t$SubListIterableOfE()).new(this, 0, _internal.checkNotNullable(core.int, count, "count"));
    }
    takeWhile(test) {
      if (test == null) dart.nullFailed(I[38], 211, 30, "test");
      return super[$takeWhile](test);
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[38], 213, 24, "growable");
      return __t$ListOfE().of(this, {growable: growable});
    }
    toSet() {
      let result = new (__t$_HashSetOfE()).new();
      for (let i = 0; i < dart.notNull(this.length); i = i + 1) {
        result.add(this.elementAt(i));
      }
      return result;
    }
  }
  (ListIterable.new = function() {
    ListIterable.__proto__.new.call(this);
    ;
  }).prototype = ListIterable.prototype;
  dart.addTypeTests(ListIterable);
  ListIterable.prototype[_is_ListIterable_default] = true;
  dart.addTypeCaches(ListIterable);
  dart.setMethodSignature(ListIterable, () => ({
    __proto__: dart.getMethods(ListIterable.__proto__),
    map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    fold: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(ListIterable, () => ({
    __proto__: dart.getGetters(ListIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(ListIterable, I[26]);
  dart.defineExtensionMethods(ListIterable, [
    'forEach',
    'contains',
    'every',
    'any',
    'firstWhere',
    'lastWhere',
    'singleWhere',
    'join',
    'where',
    'map',
    'reduce',
    'fold',
    'skip',
    'skipWhile',
    'take',
    'takeWhile',
    'toList',
    'toSet'
  ]);
  dart.defineExtensionAccessors(ListIterable, [
    'iterator',
    'isEmpty',
    'first',
    'last',
    'single'
  ]);
  return ListIterable;
});
_internal.ListIterable = _internal.ListIterable$();
dart.addTypeTests(_internal.ListIterable, _is_ListIterable_default);
var _iterable$ = dart.privateName(_internal, "_iterable");
var _start$ = dart.privateName(_internal, "_start");
var _endOrLength$ = dart.privateName(_internal, "_endOrLength");
var _endIndex = dart.privateName(_internal, "_endIndex");
var _startIndex = dart.privateName(_internal, "_startIndex");
const _is_SubListIterable_default = Symbol('_is_SubListIterable_default');
_internal.SubListIterable$ = dart.generic(E => {
  var __t$EmptyIterableOfE = () => (__t$EmptyIterableOfE = dart.constFn(_internal.EmptyIterable$(E)))();
  var __t$SubListIterableOfE = () => (__t$SubListIterableOfE = dart.constFn(_internal.SubListIterable$(E)))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  class SubListIterable extends _internal.ListIterable$(E) {
    get [_endIndex]() {
      let length = this[_iterable$][$length];
      let endOrLength = this[_endOrLength$];
      if (endOrLength == null || dart.notNull(endOrLength) > dart.notNull(length)) return length;
      return endOrLength;
    }
    get [_startIndex]() {
      let length = this[_iterable$][$length];
      if (dart.notNull(this[_start$]) > dart.notNull(length)) return length;
      return this[_start$];
    }
    get length() {
      let length = this[_iterable$][$length];
      if (dart.notNull(this[_start$]) >= dart.notNull(length)) return 0;
      let endOrLength = this[_endOrLength$];
      if (endOrLength == null || dart.notNull(endOrLength) >= dart.notNull(length)) {
        return dart.notNull(length) - dart.notNull(this[_start$]);
      }
      return dart.notNull(endOrLength) - dart.notNull(this[_start$]);
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[38], 264, 19, "index");
      let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index);
      if (dart.notNull(index) < 0 || realIndex >= dart.notNull(this[_endIndex])) {
        dart.throw(new core.IndexError.new(index, this, "index"));
      }
      return this[_iterable$][$elementAt](realIndex);
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[38], 272, 24, "count");
      core.RangeError.checkNotNegative(count, "count");
      let newStart = dart.notNull(this[_start$]) + dart.notNull(count);
      let endOrLength = this[_endOrLength$];
      if (endOrLength != null && newStart >= dart.notNull(endOrLength)) {
        return new (__t$EmptyIterableOfE()).new();
      }
      return new (__t$SubListIterableOfE()).new(this[_iterable$], newStart, this[_endOrLength$]);
    }
    take(count) {
      if (count == null) dart.nullFailed(I[38], 282, 24, "count");
      core.RangeError.checkNotNegative(count, "count");
      let endOrLength = this[_endOrLength$];
      if (endOrLength == null) {
        return new (__t$SubListIterableOfE()).new(this[_iterable$], this[_start$], dart.notNull(this[_start$]) + dart.notNull(count));
      } else {
        let newEnd = dart.notNull(this[_start$]) + dart.notNull(count);
        if (dart.notNull(endOrLength) < newEnd) return this;
        return new (__t$SubListIterableOfE()).new(this[_iterable$], this[_start$], newEnd);
      }
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[38], 294, 24, "growable");
      let start = this[_start$];
      let end = this[_iterable$][$length];
      let endOrLength = this[_endOrLength$];
      if (endOrLength != null && dart.notNull(endOrLength) < dart.notNull(end)) end = endOrLength;
      let length = dart.notNull(end) - dart.notNull(start);
      if (length <= 0) return __t$ListOfE().empty({growable: growable});
      let result = __t$ListOfE().filled(length, this[_iterable$][$elementAt](start), {growable: growable});
      for (let i = 1; i < length; i = i + 1) {
        result[$_set](i, this[_iterable$][$elementAt](dart.notNull(start) + i));
        if (dart.notNull(this[_iterable$][$length]) < dart.notNull(end)) dart.throw(new core.ConcurrentModificationError.new(this));
      }
      return result;
    }
  }
  (SubListIterable.new = function(_iterable, _start, _endOrLength) {
    if (_iterable == null) dart.nullFailed(I[38], 230, 24, "_iterable");
    if (_start == null) dart.nullFailed(I[38], 230, 40, "_start");
    this[_iterable$] = _iterable;
    this[_start$] = _start;
    this[_endOrLength$] = _endOrLength;
    SubListIterable.__proto__.new.call(this);
    core.RangeError.checkNotNegative(this[_start$], "start");
    let endOrLength = this[_endOrLength$];
    if (endOrLength != null) {
      core.RangeError.checkNotNegative(endOrLength, "end");
      if (dart.notNull(this[_start$]) > dart.notNull(endOrLength)) {
        dart.throw(new core.RangeError.range(this[_start$], 0, endOrLength, "start"));
      }
    }
  }).prototype = SubListIterable.prototype;
  dart.addTypeTests(SubListIterable);
  SubListIterable.prototype[_is_SubListIterable_default] = true;
  dart.addTypeCaches(SubListIterable);
  dart.setGetterSignature(SubListIterable, () => ({
    __proto__: dart.getGetters(SubListIterable.__proto__),
    [_endIndex]: core.int,
    [_startIndex]: core.int
  }));
  dart.setLibraryUri(SubListIterable, I[26]);
  dart.setFieldSignature(SubListIterable, () => ({
    __proto__: dart.getFields(SubListIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(E)),
    [_start$]: dart.finalFieldType(core.int),
    [_endOrLength$]: dart.finalFieldType(dart.nullable(core.int))
  }));
  dart.defineExtensionMethods(SubListIterable, ['elementAt', 'skip', 'take', 'toList']);
  dart.defineExtensionAccessors(SubListIterable, ['length']);
  return SubListIterable;
});
_internal.SubListIterable = _internal.SubListIterable$();
dart.addTypeTests(_internal.SubListIterable, _is_SubListIterable_default);
var _current$ = dart.privateName(_internal, "_current");
var _index$ = dart.privateName(_internal, "_index");
const _is_ListIterator_default = Symbol('_is_ListIterator_default');
_internal.ListIterator$ = dart.generic(E => {
  class ListIterator extends core.Object {
    get current() {
      return E.as(this[_current$]);
    }
    moveNext() {
      let length = this[_iterable$][$length];
      if (this[_length$] != length) {
        dart.throw(new core.ConcurrentModificationError.new(this[_iterable$]));
      }
      if (dart.notNull(this[_index$]) >= dart.notNull(length)) {
        this[_current$] = null;
        return false;
      }
      this[_current$] = this[_iterable$][$elementAt](this[_index$]);
      this[_index$] = dart.notNull(this[_index$]) + 1;
      return true;
    }
  }
  (ListIterator.new = function(iterable) {
    if (iterable == null) dart.nullFailed(I[38], 325, 28, "iterable");
    this[_current$] = null;
    this[_iterable$] = iterable;
    this[_length$] = iterable[$length];
    this[_index$] = 0;
    ;
  }).prototype = ListIterator.prototype;
  dart.addTypeTests(ListIterator);
  ListIterator.prototype[_is_ListIterator_default] = true;
  dart.addTypeCaches(ListIterator);
  ListIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(ListIterator, () => ({
    __proto__: dart.getMethods(ListIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(ListIterator, () => ({
    __proto__: dart.getGetters(ListIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(ListIterator, I[26]);
  dart.setFieldSignature(ListIterator, () => ({
    __proto__: dart.getFields(ListIterator.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(E)),
    [_length$]: dart.finalFieldType(core.int),
    [_index$]: dart.fieldType(core.int),
    [_current$]: dart.fieldType(dart.nullable(E))
  }));
  return ListIterator;
});
_internal.ListIterator = _internal.ListIterator$();
dart.addTypeTests(_internal.ListIterator, _is_ListIterator_default);
var _f$ = dart.privateName(_internal, "_f");
const _is_MappedIterable_default = Symbol('_is_MappedIterable_default');
_internal.MappedIterable$ = dart.generic((S, T) => {
  var __t$MappedIteratorOfS$T = () => (__t$MappedIteratorOfS$T = dart.constFn(_internal.MappedIterator$(S, T)))();
  class MappedIterable extends core.Iterable$(T) {
    static new(iterable, $function) {
      if (iterable == null) dart.nullFailed(I[38], 354, 38, "iterable");
      if ($function == null) dart.nullFailed(I[38], 354, 50, "function");
      if (_internal.EfficientLengthIterable.is(iterable)) {
        return new (_internal.EfficientLengthMappedIterable$(S, T)).new(iterable, $function);
      }
      return new (_internal.MappedIterable$(S, T)).__(iterable, $function);
    }
    get iterator() {
      return new (__t$MappedIteratorOfS$T()).new(this[_iterable$][$iterator], this[_f$]);
    }
    get length() {
      return this[_iterable$][$length];
    }
    get isEmpty() {
      return this[_iterable$][$isEmpty];
    }
    get first() {
      let t81;
      t81 = this[_iterable$][$first];
      return this[_f$](t81);
    }
    get last() {
      let t81;
      t81 = this[_iterable$][$last];
      return this[_f$](t81);
    }
    get single() {
      let t81;
      t81 = this[_iterable$][$single];
      return this[_f$](t81);
    }
    elementAt(index) {
      let t81;
      if (index == null) dart.nullFailed(I[38], 373, 19, "index");
      t81 = this[_iterable$][$elementAt](index);
      return this[_f$](t81);
    }
  }
  (MappedIterable.__ = function(_iterable, _f) {
    if (_iterable == null) dart.nullFailed(I[38], 361, 25, "_iterable");
    if (_f == null) dart.nullFailed(I[38], 361, 41, "_f");
    this[_iterable$] = _iterable;
    this[_f$] = _f;
    MappedIterable.__proto__.new.call(this);
    ;
  }).prototype = MappedIterable.prototype;
  dart.addTypeTests(MappedIterable);
  MappedIterable.prototype[_is_MappedIterable_default] = true;
  dart.addTypeCaches(MappedIterable);
  dart.setGetterSignature(MappedIterable, () => ({
    __proto__: dart.getGetters(MappedIterable.__proto__),
    iterator: core.Iterator$(T),
    [$iterator]: core.Iterator$(T)
  }));
  dart.setLibraryUri(MappedIterable, I[26]);
  dart.setFieldSignature(MappedIterable, () => ({
    __proto__: dart.getFields(MappedIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(S)),
    [_f$]: dart.finalFieldType(dart.fnType(T, [S]))
  }));
  dart.defineExtensionMethods(MappedIterable, ['elementAt']);
  dart.defineExtensionAccessors(MappedIterable, [
    'iterator',
    'length',
    'isEmpty',
    'first',
    'last',
    'single'
  ]);
  return MappedIterable;
});
_internal.MappedIterable = _internal.MappedIterable$();
dart.addTypeTests(_internal.MappedIterable, _is_MappedIterable_default);
const _is_EfficientLengthMappedIterable_default = Symbol('_is_EfficientLengthMappedIterable_default');
_internal.EfficientLengthMappedIterable$ = dart.generic((S, T) => {
  class EfficientLengthMappedIterable extends _internal.MappedIterable$(S, T) {}
  (EfficientLengthMappedIterable.new = function(iterable, $function) {
    if (iterable == null) dart.nullFailed(I[38], 378, 45, "iterable");
    if ($function == null) dart.nullFailed(I[38], 378, 57, "function");
    EfficientLengthMappedIterable.__proto__.__.call(this, iterable, $function);
    ;
  }).prototype = EfficientLengthMappedIterable.prototype;
  dart.addTypeTests(EfficientLengthMappedIterable);
  EfficientLengthMappedIterable.prototype[_is_EfficientLengthMappedIterable_default] = true;
  dart.addTypeCaches(EfficientLengthMappedIterable);
  EfficientLengthMappedIterable[dart.implements] = () => [_internal.EfficientLengthIterable$(T)];
  dart.setLibraryUri(EfficientLengthMappedIterable, I[26]);
  return EfficientLengthMappedIterable;
});
_internal.EfficientLengthMappedIterable = _internal.EfficientLengthMappedIterable$();
dart.addTypeTests(_internal.EfficientLengthMappedIterable, _is_EfficientLengthMappedIterable_default);
var _iterator$ = dart.privateName(_internal, "_iterator");
const _is_Iterator_default = Symbol('_is_Iterator_default');
core.Iterator$ = dart.generic(E => {
  class Iterator extends core.Object {}
  (Iterator.new = function() {
    ;
  }).prototype = Iterator.prototype;
  dart.addTypeTests(Iterator);
  Iterator.prototype[_is_Iterator_default] = true;
  dart.addTypeCaches(Iterator);
  dart.setLibraryUri(Iterator, I[9]);
  return Iterator;
});
core.Iterator = core.Iterator$();
dart.addTypeTests(core.Iterator, _is_Iterator_default);
const _is_MappedIterator_default = Symbol('_is_MappedIterator_default');
_internal.MappedIterator$ = dart.generic((S, T) => {
  class MappedIterator extends core.Iterator$(T) {
    moveNext() {
      let t81;
      if (dart.test(this[_iterator$].moveNext())) {
        this[_current$] = (t81 = this[_iterator$].current, this[_f$](t81));
        return true;
      }
      this[_current$] = null;
      return false;
    }
    get current() {
      return T.as(this[_current$]);
    }
  }
  (MappedIterator.new = function(_iterator, _f) {
    if (_iterator == null) dart.nullFailed(I[38], 387, 23, "_iterator");
    if (_f == null) dart.nullFailed(I[38], 387, 39, "_f");
    this[_current$] = null;
    this[_iterator$] = _iterator;
    this[_f$] = _f;
    ;
  }).prototype = MappedIterator.prototype;
  dart.addTypeTests(MappedIterator);
  MappedIterator.prototype[_is_MappedIterator_default] = true;
  dart.addTypeCaches(MappedIterator);
  dart.setMethodSignature(MappedIterator, () => ({
    __proto__: dart.getMethods(MappedIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(MappedIterator, () => ({
    __proto__: dart.getGetters(MappedIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(MappedIterator, I[26]);
  dart.setFieldSignature(MappedIterator, () => ({
    __proto__: dart.getFields(MappedIterator.__proto__),
    [_current$]: dart.fieldType(dart.nullable(T)),
    [_iterator$]: dart.finalFieldType(core.Iterator$(S)),
    [_f$]: dart.finalFieldType(dart.fnType(T, [S]))
  }));
  return MappedIterator;
});
_internal.MappedIterator = _internal.MappedIterator$();
dart.addTypeTests(_internal.MappedIterator, _is_MappedIterator_default);
const _is_MappedListIterable_default = Symbol('_is_MappedListIterable_default');
_internal.MappedListIterable$ = dart.generic((S, T) => {
  class MappedListIterable extends _internal.ListIterable$(T) {
    get length() {
      return this[_source$][$length];
    }
    elementAt(index) {
      let t81;
      if (index == null) dart.nullFailed(I[38], 413, 19, "index");
      t81 = this[_source$][$elementAt](index);
      return this[_f$](t81);
    }
  }
  (MappedListIterable.new = function(_source, _f) {
    if (_source == null) dart.nullFailed(I[38], 410, 27, "_source");
    if (_f == null) dart.nullFailed(I[38], 410, 41, "_f");
    this[_source$] = _source;
    this[_f$] = _f;
    MappedListIterable.__proto__.new.call(this);
    ;
  }).prototype = MappedListIterable.prototype;
  dart.addTypeTests(MappedListIterable);
  MappedListIterable.prototype[_is_MappedListIterable_default] = true;
  dart.addTypeCaches(MappedListIterable);
  dart.setLibraryUri(MappedListIterable, I[26]);
  dart.setFieldSignature(MappedListIterable, () => ({
    __proto__: dart.getFields(MappedListIterable.__proto__),
    [_source$]: dart.finalFieldType(core.Iterable$(S)),
    [_f$]: dart.finalFieldType(dart.fnType(T, [S]))
  }));
  dart.defineExtensionMethods(MappedListIterable, ['elementAt']);
  dart.defineExtensionAccessors(MappedListIterable, ['length']);
  return MappedListIterable;
});
_internal.MappedListIterable = _internal.MappedListIterable$();
dart.addTypeTests(_internal.MappedListIterable, _is_MappedListIterable_default);
const _is_WhereIterable_default = Symbol('_is_WhereIterable_default');
_internal.WhereIterable$ = dart.generic(E => {
  var __t$WhereIteratorOfE = () => (__t$WhereIteratorOfE = dart.constFn(_internal.WhereIterator$(E)))();
  class WhereIterable extends core.Iterable$(E) {
    get iterator() {
      return new (__t$WhereIteratorOfE()).new(this[_iterable$][$iterator], this[_f$]);
    }
    map(T, toElement) {
      if (toElement == null) dart.nullFailed(I[38], 427, 24, "toElement");
      return new (_internal.MappedIterable$(E, T)).__(this, toElement);
    }
  }
  (WhereIterable.new = function(_iterable, _f) {
    if (_iterable == null) dart.nullFailed(I[38], 422, 22, "_iterable");
    if (_f == null) dart.nullFailed(I[38], 422, 38, "_f");
    this[_iterable$] = _iterable;
    this[_f$] = _f;
    WhereIterable.__proto__.new.call(this);
    ;
  }).prototype = WhereIterable.prototype;
  dart.addTypeTests(WhereIterable);
  WhereIterable.prototype[_is_WhereIterable_default] = true;
  dart.addTypeCaches(WhereIterable);
  dart.setMethodSignature(WhereIterable, () => ({
    __proto__: dart.getMethods(WhereIterable.__proto__),
    map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(WhereIterable, () => ({
    __proto__: dart.getGetters(WhereIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(WhereIterable, I[26]);
  dart.setFieldSignature(WhereIterable, () => ({
    __proto__: dart.getFields(WhereIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(E)),
    [_f$]: dart.finalFieldType(dart.fnType(core.bool, [E]))
  }));
  dart.defineExtensionMethods(WhereIterable, ['map']);
  dart.defineExtensionAccessors(WhereIterable, ['iterator']);
  return WhereIterable;
});
_internal.WhereIterable = _internal.WhereIterable$();
dart.addTypeTests(_internal.WhereIterable, _is_WhereIterable_default);
const _is_WhereIterator_default = Symbol('_is_WhereIterator_default');
_internal.WhereIterator$ = dart.generic(E => {
  class WhereIterator extends core.Iterator$(E) {
    moveNext() {
      let t81;
      while (dart.test(this[_iterator$].moveNext())) {
        if (dart.test((t81 = this[_iterator$].current, this[_f$](t81)))) {
          return true;
        }
      }
      return false;
    }
    get current() {
      return this[_iterator$].current;
    }
  }
  (WhereIterator.new = function(_iterator, _f) {
    if (_iterator == null) dart.nullFailed(I[38], 435, 22, "_iterator");
    if (_f == null) dart.nullFailed(I[38], 435, 38, "_f");
    this[_iterator$] = _iterator;
    this[_f$] = _f;
    ;
  }).prototype = WhereIterator.prototype;
  dart.addTypeTests(WhereIterator);
  WhereIterator.prototype[_is_WhereIterator_default] = true;
  dart.addTypeCaches(WhereIterator);
  dart.setMethodSignature(WhereIterator, () => ({
    __proto__: dart.getMethods(WhereIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(WhereIterator, () => ({
    __proto__: dart.getGetters(WhereIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(WhereIterator, I[26]);
  dart.setFieldSignature(WhereIterator, () => ({
    __proto__: dart.getFields(WhereIterator.__proto__),
    [_iterator$]: dart.finalFieldType(core.Iterator$(E)),
    [_f$]: dart.finalFieldType(dart.fnType(core.bool, [E]))
  }));
  return WhereIterator;
});
_internal.WhereIterator = _internal.WhereIterator$();
dart.addTypeTests(_internal.WhereIterator, _is_WhereIterator_default);
const _is_ExpandIterable_default = Symbol('_is_ExpandIterable_default');
_internal.ExpandIterable$ = dart.generic((S, T) => {
  var __t$ExpandIteratorOfS$T = () => (__t$ExpandIteratorOfS$T = dart.constFn(_internal.ExpandIterator$(S, T)))();
  class ExpandIterable extends core.Iterable$(T) {
    get iterator() {
      return new (__t$ExpandIteratorOfS$T()).new(this[_iterable$][$iterator], this[_f$]);
    }
  }
  (ExpandIterable.new = function(_iterable, _f) {
    if (_iterable == null) dart.nullFailed(I[38], 455, 23, "_iterable");
    if (_f == null) dart.nullFailed(I[38], 455, 39, "_f");
    this[_iterable$] = _iterable;
    this[_f$] = _f;
    ExpandIterable.__proto__.new.call(this);
    ;
  }).prototype = ExpandIterable.prototype;
  dart.addTypeTests(ExpandIterable);
  ExpandIterable.prototype[_is_ExpandIterable_default] = true;
  dart.addTypeCaches(ExpandIterable);
  dart.setGetterSignature(ExpandIterable, () => ({
    __proto__: dart.getGetters(ExpandIterable.__proto__),
    iterator: core.Iterator$(T),
    [$iterator]: core.Iterator$(T)
  }));
  dart.setLibraryUri(ExpandIterable, I[26]);
  dart.setFieldSignature(ExpandIterable, () => ({
    __proto__: dart.getFields(ExpandIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(S)),
    [_f$]: dart.finalFieldType(dart.fnType(core.Iterable$(T), [S]))
  }));
  dart.defineExtensionAccessors(ExpandIterable, ['iterator']);
  return ExpandIterable;
});
_internal.ExpandIterable = _internal.ExpandIterable$();
dart.addTypeTests(_internal.ExpandIterable, _is_ExpandIterable_default);
var _currentExpansion = dart.privateName(_internal, "_currentExpansion");
const _is_ExpandIterator_default = Symbol('_is_ExpandIterator_default');
_internal.ExpandIterator$ = dart.generic((S, T) => {
  class ExpandIterator extends core.Object {
    get current() {
      return T.as(this[_current$]);
    }
    moveNext() {
      let t81;
      if (this[_currentExpansion] == null) return false;
      while (!dart.test(dart.nullCheck(this[_currentExpansion]).moveNext())) {
        this[_current$] = null;
        if (dart.test(this[_iterator$].moveNext())) {
          this[_currentExpansion] = null;
          this[_currentExpansion] = (t81 = this[_iterator$].current, this[_f$](t81))[$iterator];
        } else {
          return false;
        }
      }
      this[_current$] = dart.nullCheck(this[_currentExpansion]).current;
      return true;
    }
  }
  (ExpandIterator.new = function(_iterator, _f) {
    if (_iterator == null) dart.nullFailed(I[38], 469, 23, "_iterator");
    if (_f == null) dart.nullFailed(I[38], 469, 39, "_f");
    this[_currentExpansion] = C[21] || CT.C21;
    this[_current$] = null;
    this[_iterator$] = _iterator;
    this[_f$] = _f;
    ;
  }).prototype = ExpandIterator.prototype;
  dart.addTypeTests(ExpandIterator);
  ExpandIterator.prototype[_is_ExpandIterator_default] = true;
  dart.addTypeCaches(ExpandIterator);
  ExpandIterator[dart.implements] = () => [core.Iterator$(T)];
  dart.setMethodSignature(ExpandIterator, () => ({
    __proto__: dart.getMethods(ExpandIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(ExpandIterator, () => ({
    __proto__: dart.getGetters(ExpandIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(ExpandIterator, I[26]);
  dart.setFieldSignature(ExpandIterator, () => ({
    __proto__: dart.getFields(ExpandIterator.__proto__),
    [_iterator$]: dart.finalFieldType(core.Iterator$(S)),
    [_f$]: dart.finalFieldType(dart.fnType(core.Iterable$(T), [S])),
    [_currentExpansion]: dart.fieldType(dart.nullable(core.Iterator$(T))),
    [_current$]: dart.fieldType(dart.nullable(T))
  }));
  return ExpandIterator;
});
_internal.ExpandIterator = _internal.ExpandIterator$();
dart.addTypeTests(_internal.ExpandIterator, _is_ExpandIterator_default);
var _takeCount$ = dart.privateName(_internal, "_takeCount");
const _is_TakeIterable_default = Symbol('_is_TakeIterable_default');
_internal.TakeIterable$ = dart.generic(E => {
  var __t$TakeIteratorOfE = () => (__t$TakeIteratorOfE = dart.constFn(_internal.TakeIterator$(E)))();
  class TakeIterable extends core.Iterable$(E) {
    static new(iterable, takeCount) {
      if (iterable == null) dart.nullFailed(I[38], 495, 36, "iterable");
      if (takeCount == null) dart.nullFailed(I[38], 495, 50, "takeCount");
      core.ArgumentError.checkNotNull(core.int, takeCount, "takeCount");
      core.RangeError.checkNotNegative(takeCount, "takeCount");
      if (_internal.EfficientLengthIterable.is(iterable)) {
        return new (_internal.EfficientLengthTakeIterable$(E)).new(iterable, takeCount);
      }
      return new (_internal.TakeIterable$(E)).__(iterable, takeCount);
    }
    get iterator() {
      return new (__t$TakeIteratorOfE()).new(this[_iterable$][$iterator], this[_takeCount$]);
    }
  }
  (TakeIterable.__ = function(_iterable, _takeCount) {
    if (_iterable == null) dart.nullFailed(I[38], 504, 23, "_iterable");
    if (_takeCount == null) dart.nullFailed(I[38], 504, 39, "_takeCount");
    this[_iterable$] = _iterable;
    this[_takeCount$] = _takeCount;
    TakeIterable.__proto__.new.call(this);
    ;
  }).prototype = TakeIterable.prototype;
  dart.addTypeTests(TakeIterable);
  TakeIterable.prototype[_is_TakeIterable_default] = true;
  dart.addTypeCaches(TakeIterable);
  dart.setGetterSignature(TakeIterable, () => ({
    __proto__: dart.getGetters(TakeIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(TakeIterable, I[26]);
  dart.setFieldSignature(TakeIterable, () => ({
    __proto__: dart.getFields(TakeIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(E)),
    [_takeCount$]: dart.finalFieldType(core.int)
  }));
  dart.defineExtensionAccessors(TakeIterable, ['iterator']);
  return TakeIterable;
});
_internal.TakeIterable = _internal.TakeIterable$();
dart.addTypeTests(_internal.TakeIterable, _is_TakeIterable_default);
const _is_EfficientLengthTakeIterable_default = Symbol('_is_EfficientLengthTakeIterable_default');
_internal.EfficientLengthTakeIterable$ = dart.generic(E => {
  class EfficientLengthTakeIterable extends _internal.TakeIterable$(E) {
    get length() {
      let iterableLength = this[_iterable$][$length];
      if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount$])) return this[_takeCount$];
      return iterableLength;
    }
  }
  (EfficientLengthTakeIterable.new = function(iterable, takeCount) {
    if (iterable == null) dart.nullFailed(I[38], 513, 43, "iterable");
    if (takeCount == null) dart.nullFailed(I[38], 513, 57, "takeCount");
    EfficientLengthTakeIterable.__proto__.__.call(this, iterable, takeCount);
    ;
  }).prototype = EfficientLengthTakeIterable.prototype;
  dart.addTypeTests(EfficientLengthTakeIterable);
  EfficientLengthTakeIterable.prototype[_is_EfficientLengthTakeIterable_default] = true;
  dart.addTypeCaches(EfficientLengthTakeIterable);
  EfficientLengthTakeIterable[dart.implements] = () => [_internal.EfficientLengthIterable$(E)];
  dart.setLibraryUri(EfficientLengthTakeIterable, I[26]);
  dart.defineExtensionAccessors(EfficientLengthTakeIterable, ['length']);
  return EfficientLengthTakeIterable;
});
_internal.EfficientLengthTakeIterable = _internal.EfficientLengthTakeIterable$();
dart.addTypeTests(_internal.EfficientLengthTakeIterable, _is_EfficientLengthTakeIterable_default);
var _remaining$ = dart.privateName(_internal, "_remaining");
const _is_TakeIterator_default = Symbol('_is_TakeIterator_default');
_internal.TakeIterator$ = dart.generic(E => {
  class TakeIterator extends core.Iterator$(E) {
    moveNext() {
      this[_remaining$] = dart.notNull(this[_remaining$]) - 1;
      if (dart.notNull(this[_remaining$]) >= 0) {
        return this[_iterator$].moveNext();
      }
      this[_remaining$] = -1;
      return false;
    }
    get current() {
      if (dart.notNull(this[_remaining$]) < 0) return E.as(null);
      return this[_iterator$].current;
    }
  }
  (TakeIterator.new = function(_iterator, _remaining) {
    if (_iterator == null) dart.nullFailed(I[38], 527, 21, "_iterator");
    if (_remaining == null) dart.nullFailed(I[38], 527, 37, "_remaining");
    this[_iterator$] = _iterator;
    this[_remaining$] = _remaining;
    if (!(dart.notNull(this[_remaining$]) >= 0)) dart.assertFailed(null, I[38], 528, 12, "_remaining >= 0");
  }).prototype = TakeIterator.prototype;
  dart.addTypeTests(TakeIterator);
  TakeIterator.prototype[_is_TakeIterator_default] = true;
  dart.addTypeCaches(TakeIterator);
  dart.setMethodSignature(TakeIterator, () => ({
    __proto__: dart.getMethods(TakeIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(TakeIterator, () => ({
    __proto__: dart.getGetters(TakeIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(TakeIterator, I[26]);
  dart.setFieldSignature(TakeIterator, () => ({
    __proto__: dart.getFields(TakeIterator.__proto__),
    [_iterator$]: dart.finalFieldType(core.Iterator$(E)),
    [_remaining$]: dart.fieldType(core.int)
  }));
  return TakeIterator;
});
_internal.TakeIterator = _internal.TakeIterator$();
dart.addTypeTests(_internal.TakeIterator, _is_TakeIterator_default);
const _is_TakeWhileIterable_default = Symbol('_is_TakeWhileIterable_default');
_internal.TakeWhileIterable$ = dart.generic(E => {
  var __t$TakeWhileIteratorOfE = () => (__t$TakeWhileIteratorOfE = dart.constFn(_internal.TakeWhileIterator$(E)))();
  class TakeWhileIterable extends core.Iterable$(E) {
    get iterator() {
      return new (__t$TakeWhileIteratorOfE()).new(this[_iterable$][$iterator], this[_f$]);
    }
  }
  (TakeWhileIterable.new = function(_iterable, _f) {
    if (_iterable == null) dart.nullFailed(I[38], 554, 26, "_iterable");
    if (_f == null) dart.nullFailed(I[38], 554, 42, "_f");
    this[_iterable$] = _iterable;
    this[_f$] = _f;
    TakeWhileIterable.__proto__.new.call(this);
    ;
  }).prototype = TakeWhileIterable.prototype;
  dart.addTypeTests(TakeWhileIterable);
  TakeWhileIterable.prototype[_is_TakeWhileIterable_default] = true;
  dart.addTypeCaches(TakeWhileIterable);
  dart.setGetterSignature(TakeWhileIterable, () => ({
    __proto__: dart.getGetters(TakeWhileIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(TakeWhileIterable, I[26]);
  dart.setFieldSignature(TakeWhileIterable, () => ({
    __proto__: dart.getFields(TakeWhileIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(E)),
    [_f$]: dart.finalFieldType(dart.fnType(core.bool, [E]))
  }));
  dart.defineExtensionAccessors(TakeWhileIterable, ['iterator']);
  return TakeWhileIterable;
});
_internal.TakeWhileIterable = _internal.TakeWhileIterable$();
dart.addTypeTests(_internal.TakeWhileIterable, _is_TakeWhileIterable_default);
var _isFinished = dart.privateName(_internal, "_isFinished");
const _is_TakeWhileIterator_default = Symbol('_is_TakeWhileIterator_default');
_internal.TakeWhileIterator$ = dart.generic(E => {
  class TakeWhileIterator extends core.Iterator$(E) {
    moveNext() {
      let t81;
      if (dart.test(this[_isFinished])) return false;
      if (!dart.test(this[_iterator$].moveNext()) || !dart.test((t81 = this[_iterator$].current, this[_f$](t81)))) {
        this[_isFinished] = true;
        return false;
      }
      return true;
    }
    get current() {
      if (dart.test(this[_isFinished])) return E.as(null);
      return this[_iterator$].current;
    }
  }
  (TakeWhileIterator.new = function(_iterator, _f) {
    if (_iterator == null) dart.nullFailed(I[38], 566, 26, "_iterator");
    if (_f == null) dart.nullFailed(I[38], 566, 42, "_f");
    this[_isFinished] = false;
    this[_iterator$] = _iterator;
    this[_f$] = _f;
    ;
  }).prototype = TakeWhileIterator.prototype;
  dart.addTypeTests(TakeWhileIterator);
  TakeWhileIterator.prototype[_is_TakeWhileIterator_default] = true;
  dart.addTypeCaches(TakeWhileIterator);
  dart.setMethodSignature(TakeWhileIterator, () => ({
    __proto__: dart.getMethods(TakeWhileIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(TakeWhileIterator, () => ({
    __proto__: dart.getGetters(TakeWhileIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(TakeWhileIterator, I[26]);
  dart.setFieldSignature(TakeWhileIterator, () => ({
    __proto__: dart.getFields(TakeWhileIterator.__proto__),
    [_iterator$]: dart.finalFieldType(core.Iterator$(E)),
    [_f$]: dart.finalFieldType(dart.fnType(core.bool, [E])),
    [_isFinished]: dart.fieldType(core.bool)
  }));
  return TakeWhileIterator;
});
_internal.TakeWhileIterator = _internal.TakeWhileIterator$();
dart.addTypeTests(_internal.TakeWhileIterator, _is_TakeWhileIterator_default);
var _skipCount$ = dart.privateName(_internal, "_skipCount");
const _is_SkipIterable_default = Symbol('_is_SkipIterable_default');
_internal.SkipIterable$ = dart.generic(E => {
  var __t$SkipIterableOfE = () => (__t$SkipIterableOfE = dart.constFn(_internal.SkipIterable$(E)))();
  var __t$SkipIteratorOfE = () => (__t$SkipIteratorOfE = dart.constFn(_internal.SkipIterator$(E)))();
  class SkipIterable extends core.Iterable$(E) {
    static new(iterable, count) {
      if (iterable == null) dart.nullFailed(I[38], 587, 36, "iterable");
      if (count == null) dart.nullFailed(I[38], 587, 50, "count");
      if (_internal.EfficientLengthIterable.is(iterable)) {
        return _internal.EfficientLengthSkipIterable$(E).new(iterable, count);
      }
      return new (_internal.SkipIterable$(E)).__(iterable, _internal._checkCount(count));
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[38], 596, 24, "count");
      return new (__t$SkipIterableOfE()).__(this[_iterable$], dart.notNull(this[_skipCount$]) + dart.notNull(_internal._checkCount(count)));
    }
    get iterator() {
      return new (__t$SkipIteratorOfE()).new(this[_iterable$][$iterator], this[_skipCount$]);
    }
  }
  (SkipIterable.__ = function(_iterable, _skipCount) {
    if (_iterable == null) dart.nullFailed(I[38], 594, 23, "_iterable");
    if (_skipCount == null) dart.nullFailed(I[38], 594, 39, "_skipCount");
    this[_iterable$] = _iterable;
    this[_skipCount$] = _skipCount;
    SkipIterable.__proto__.new.call(this);
    ;
  }).prototype = SkipIterable.prototype;
  dart.addTypeTests(SkipIterable);
  SkipIterable.prototype[_is_SkipIterable_default] = true;
  dart.addTypeCaches(SkipIterable);
  dart.setGetterSignature(SkipIterable, () => ({
    __proto__: dart.getGetters(SkipIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(SkipIterable, I[26]);
  dart.setFieldSignature(SkipIterable, () => ({
    __proto__: dart.getFields(SkipIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(E)),
    [_skipCount$]: dart.finalFieldType(core.int)
  }));
  dart.defineExtensionMethods(SkipIterable, ['skip']);
  dart.defineExtensionAccessors(SkipIterable, ['iterator']);
  return SkipIterable;
});
_internal.SkipIterable = _internal.SkipIterable$();
dart.addTypeTests(_internal.SkipIterable, _is_SkipIterable_default);
const _is_EfficientLengthSkipIterable_default = Symbol('_is_EfficientLengthSkipIterable_default');
_internal.EfficientLengthSkipIterable$ = dart.generic(E => {
  var __t$EfficientLengthSkipIterableOfE = () => (__t$EfficientLengthSkipIterableOfE = dart.constFn(_internal.EfficientLengthSkipIterable$(E)))();
  class EfficientLengthSkipIterable extends _internal.SkipIterable$(E) {
    static new(iterable, count) {
      if (iterable == null) dart.nullFailed(I[38], 607, 51, "iterable");
      if (count == null) dart.nullFailed(I[38], 607, 65, "count");
      return new (_internal.EfficientLengthSkipIterable$(E)).__(iterable, _internal._checkCount(count));
    }
    get length() {
      let length = dart.notNull(this[_iterable$][$length]) - dart.notNull(this[_skipCount$]);
      if (length >= 0) return length;
      return 0;
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[38], 620, 24, "count");
      return new (__t$EfficientLengthSkipIterableOfE()).__(this[_iterable$], dart.notNull(this[_skipCount$]) + dart.notNull(_internal._checkCount(count)));
    }
  }
  (EfficientLengthSkipIterable.__ = function(iterable, count) {
    if (iterable == null) dart.nullFailed(I[38], 611, 45, "iterable");
    if (count == null) dart.nullFailed(I[38], 611, 59, "count");
    EfficientLengthSkipIterable.__proto__.__.call(this, iterable, count);
    ;
  }).prototype = EfficientLengthSkipIterable.prototype;
  dart.addTypeTests(EfficientLengthSkipIterable);
  EfficientLengthSkipIterable.prototype[_is_EfficientLengthSkipIterable_default] = true;
  dart.addTypeCaches(EfficientLengthSkipIterable);
  EfficientLengthSkipIterable[dart.implements] = () => [_internal.EfficientLengthIterable$(E)];
  dart.setLibraryUri(EfficientLengthSkipIterable, I[26]);
  dart.defineExtensionMethods(EfficientLengthSkipIterable, ['skip']);
  dart.defineExtensionAccessors(EfficientLengthSkipIterable, ['length']);
  return EfficientLengthSkipIterable;
});
_internal.EfficientLengthSkipIterable = _internal.EfficientLengthSkipIterable$();
dart.addTypeTests(_internal.EfficientLengthSkipIterable, _is_EfficientLengthSkipIterable_default);
const _is_SkipIterator_default = Symbol('_is_SkipIterator_default');
_internal.SkipIterator$ = dart.generic(E => {
  class SkipIterator extends core.Iterator$(E) {
    moveNext() {
      for (let i = 0; i < dart.notNull(this[_skipCount$]); i = i + 1)
        this[_iterator$].moveNext();
      this[_skipCount$] = 0;
      return this[_iterator$].moveNext();
    }
    get current() {
      return this[_iterator$].current;
    }
  }
  (SkipIterator.new = function(_iterator, _skipCount) {
    if (_iterator == null) dart.nullFailed(I[38], 636, 21, "_iterator");
    if (_skipCount == null) dart.nullFailed(I[38], 636, 37, "_skipCount");
    this[_iterator$] = _iterator;
    this[_skipCount$] = _skipCount;
    if (!(dart.notNull(this[_skipCount$]) >= 0)) dart.assertFailed(null, I[38], 637, 12, "_skipCount >= 0");
  }).prototype = SkipIterator.prototype;
  dart.addTypeTests(SkipIterator);
  SkipIterator.prototype[_is_SkipIterator_default] = true;
  dart.addTypeCaches(SkipIterator);
  dart.setMethodSignature(SkipIterator, () => ({
    __proto__: dart.getMethods(SkipIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(SkipIterator, () => ({
    __proto__: dart.getGetters(SkipIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(SkipIterator, I[26]);
  dart.setFieldSignature(SkipIterator, () => ({
    __proto__: dart.getFields(SkipIterator.__proto__),
    [_iterator$]: dart.finalFieldType(core.Iterator$(E)),
    [_skipCount$]: dart.fieldType(core.int)
  }));
  return SkipIterator;
});
_internal.SkipIterator = _internal.SkipIterator$();
dart.addTypeTests(_internal.SkipIterator, _is_SkipIterator_default);
const _is_SkipWhileIterable_default = Symbol('_is_SkipWhileIterable_default');
_internal.SkipWhileIterable$ = dart.generic(E => {
  var __t$SkipWhileIteratorOfE = () => (__t$SkipWhileIteratorOfE = dart.constFn(_internal.SkipWhileIterator$(E)))();
  class SkipWhileIterable extends core.Iterable$(E) {
    get iterator() {
      return new (__t$SkipWhileIteratorOfE()).new(this[_iterable$][$iterator], this[_f$]);
    }
  }
  (SkipWhileIterable.new = function(_iterable, _f) {
    if (_iterable == null) dart.nullFailed(I[38], 653, 26, "_iterable");
    if (_f == null) dart.nullFailed(I[38], 653, 42, "_f");
    this[_iterable$] = _iterable;
    this[_f$] = _f;
    SkipWhileIterable.__proto__.new.call(this);
    ;
  }).prototype = SkipWhileIterable.prototype;
  dart.addTypeTests(SkipWhileIterable);
  SkipWhileIterable.prototype[_is_SkipWhileIterable_default] = true;
  dart.addTypeCaches(SkipWhileIterable);
  dart.setGetterSignature(SkipWhileIterable, () => ({
    __proto__: dart.getGetters(SkipWhileIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(SkipWhileIterable, I[26]);
  dart.setFieldSignature(SkipWhileIterable, () => ({
    __proto__: dart.getFields(SkipWhileIterable.__proto__),
    [_iterable$]: dart.finalFieldType(core.Iterable$(E)),
    [_f$]: dart.finalFieldType(dart.fnType(core.bool, [E]))
  }));
  dart.defineExtensionAccessors(SkipWhileIterable, ['iterator']);
  return SkipWhileIterable;
});
_internal.SkipWhileIterable = _internal.SkipWhileIterable$();
dart.addTypeTests(_internal.SkipWhileIterable, _is_SkipWhileIterable_default);
var _hasSkipped = dart.privateName(_internal, "_hasSkipped");
const _is_SkipWhileIterator_default = Symbol('_is_SkipWhileIterator_default');
_internal.SkipWhileIterator$ = dart.generic(E => {
  class SkipWhileIterator extends core.Iterator$(E) {
    moveNext() {
      let t81;
      if (!dart.test(this[_hasSkipped])) {
        this[_hasSkipped] = true;
        while (dart.test(this[_iterator$].moveNext())) {
          if (!dart.test((t81 = this[_iterator$].current, this[_f$](t81)))) return true;
        }
      }
      return this[_iterator$].moveNext();
    }
    get current() {
      return this[_iterator$].current;
    }
  }
  (SkipWhileIterator.new = function(_iterator, _f) {
    if (_iterator == null) dart.nullFailed(I[38], 665, 26, "_iterator");
    if (_f == null) dart.nullFailed(I[38], 665, 42, "_f");
    this[_hasSkipped] = false;
    this[_iterator$] = _iterator;
    this[_f$] = _f;
    ;
  }).prototype = SkipWhileIterator.prototype;
  dart.addTypeTests(SkipWhileIterator);
  SkipWhileIterator.prototype[_is_SkipWhileIterator_default] = true;
  dart.addTypeCaches(SkipWhileIterator);
  dart.setMethodSignature(SkipWhileIterator, () => ({
    __proto__: dart.getMethods(SkipWhileIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(SkipWhileIterator, () => ({
    __proto__: dart.getGetters(SkipWhileIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(SkipWhileIterator, I[26]);
  dart.setFieldSignature(SkipWhileIterator, () => ({
    __proto__: dart.getFields(SkipWhileIterator.__proto__),
    [_iterator$]: dart.finalFieldType(core.Iterator$(E)),
    [_f$]: dart.finalFieldType(dart.fnType(core.bool, [E])),
    [_hasSkipped]: dart.fieldType(core.bool)
  }));
  return SkipWhileIterator;
});
_internal.SkipWhileIterator = _internal.SkipWhileIterator$();
dart.addTypeTests(_internal.SkipWhileIterator, _is_SkipWhileIterator_default);
const _is_EmptyIterable_default = Symbol('_is_EmptyIterable_default');
_internal.EmptyIterable$ = dart.generic(E => {
  var __t$VoidToE = () => (__t$VoidToE = dart.constFn(dart.fnType(E, [])))();
  var __t$VoidToNE = () => (__t$VoidToNE = dart.constFn(dart.nullable(__t$VoidToE())))();
  var __t$EAndEToE = () => (__t$EAndEToE = dart.constFn(dart.fnType(E, [E, E])))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$_HashSetOfE = () => (__t$_HashSetOfE = dart.constFn(collection._HashSet$(E)))();
  class EmptyIterable extends _internal.EfficientLengthIterable$(E) {
    get iterator() {
      return C[21] || CT.C21;
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[38], 688, 21, "action");
    }
    get isEmpty() {
      return true;
    }
    get length() {
      return 0;
    }
    get first() {
      dart.throw(_internal.IterableElementError.noElement());
    }
    get last() {
      dart.throw(_internal.IterableElementError.noElement());
    }
    get single() {
      dart.throw(_internal.IterableElementError.noElement());
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[38], 706, 19, "index");
      dart.throw(new core.RangeError.range(index, 0, 0, "index"));
    }
    contains(element) {
      return false;
    }
    every(test) {
      if (test == null) dart.nullFailed(I[38], 712, 19, "test");
      return true;
    }
    any(test) {
      if (test == null) dart.nullFailed(I[38], 714, 17, "test");
      return false;
    }
    firstWhere(test, opts) {
      if (test == null) dart.nullFailed(I[38], 716, 21, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[38], 721, 20, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    singleWhere(test, opts) {
      if (test == null) dart.nullFailed(I[38], 726, 22, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    join(separator = "") {
      if (separator == null) dart.nullFailed(I[38], 731, 23, "separator");
      return "";
    }
    where(test) {
      if (test == null) dart.nullFailed(I[38], 733, 26, "test");
      return this;
    }
    map(T, toElement) {
      if (toElement == null) dart.nullFailed(I[38], 735, 24, "toElement");
      return new (_internal.EmptyIterable$(T)).new();
    }
    reduce(combine) {
      __t$EAndEToE().as(combine);
      if (combine == null) dart.nullFailed(I[38], 737, 14, "combine");
      dart.throw(_internal.IterableElementError.noElement());
    }
    fold(T, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[38], 741, 31, "combine");
      return initialValue;
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[38], 745, 24, "count");
      core.RangeError.checkNotNegative(count, "count");
      return this;
    }
    skipWhile(test) {
      if (test == null) dart.nullFailed(I[38], 750, 30, "test");
      return this;
    }
    take(count) {
      if (count == null) dart.nullFailed(I[38], 752, 24, "count");
      core.RangeError.checkNotNegative(count, "count");
      return this;
    }
    takeWhile(test) {
      if (test == null) dart.nullFailed(I[38], 757, 30, "test");
      return this;
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[38], 759, 24, "growable");
      return __t$ListOfE().empty({growable: growable});
    }
    toSet() {
      return new (__t$_HashSetOfE()).new();
    }
  }
  (EmptyIterable.new = function() {
    EmptyIterable.__proto__.new.call(this);
    ;
  }).prototype = EmptyIterable.prototype;
  dart.addTypeTests(EmptyIterable);
  EmptyIterable.prototype[_is_EmptyIterable_default] = true;
  dart.addTypeCaches(EmptyIterable);
  dart.setMethodSignature(EmptyIterable, () => ({
    __proto__: dart.getMethods(EmptyIterable.__proto__),
    map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    fold: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(EmptyIterable, () => ({
    __proto__: dart.getGetters(EmptyIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(EmptyIterable, I[26]);
  dart.defineExtensionMethods(EmptyIterable, [
    'forEach',
    'elementAt',
    'contains',
    'every',
    'any',
    'firstWhere',
    'lastWhere',
    'singleWhere',
    'join',
    'where',
    'map',
    'reduce',
    'fold',
    'skip',
    'skipWhile',
    'take',
    'takeWhile',
    'toList',
    'toSet'
  ]);
  dart.defineExtensionAccessors(EmptyIterable, [
    'iterator',
    'isEmpty',
    'length',
    'first',
    'last',
    'single'
  ]);
  return EmptyIterable;
});
_internal.EmptyIterable = _internal.EmptyIterable$();
dart.addTypeTests(_internal.EmptyIterable, _is_EmptyIterable_default);
const _is_EmptyIterator_default = Symbol('_is_EmptyIterator_default');
_internal.EmptyIterator$ = dart.generic(E => {
  class EmptyIterator extends core.Object {
    moveNext() {
      return false;
    }
    get current() {
      dart.throw(_internal.IterableElementError.noElement());
    }
  }
  (EmptyIterator.new = function() {
    ;
  }).prototype = EmptyIterator.prototype;
  dart.addTypeTests(EmptyIterator);
  EmptyIterator.prototype[_is_EmptyIterator_default] = true;
  dart.addTypeCaches(EmptyIterator);
  EmptyIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(EmptyIterator, () => ({
    __proto__: dart.getMethods(EmptyIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(EmptyIterator, () => ({
    __proto__: dart.getGetters(EmptyIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(EmptyIterator, I[26]);
  return EmptyIterator;
});
_internal.EmptyIterator = _internal.EmptyIterator$();
dart.addTypeTests(_internal.EmptyIterator, _is_EmptyIterator_default);
var _first$ = dart.privateName(_internal, "_first");
var _second$ = dart.privateName(_internal, "_second");
const _is_FollowedByIterable_default = Symbol('_is_FollowedByIterable_default');
_internal.FollowedByIterable$ = dart.generic(E => {
  var __t$FollowedByIteratorOfE = () => (__t$FollowedByIteratorOfE = dart.constFn(_internal.FollowedByIterator$(E)))();
  class FollowedByIterable extends core.Iterable$(E) {
    static firstEfficient(first, second) {
      if (first == null) dart.nullFailed(I[38], 779, 34, "first");
      if (second == null) dart.nullFailed(I[38], 779, 53, "second");
      if (_internal.EfficientLengthIterable$(E).is(second)) {
        return new (_internal.EfficientLengthFollowedByIterable$(E)).new(first, second);
      }
      return new (_internal.FollowedByIterable$(E)).new(first, second);
    }
    get iterator() {
      return new (__t$FollowedByIteratorOfE()).new(this[_first$], this[_second$]);
    }
    get length() {
      return dart.notNull(this[_first$][$length]) + dart.notNull(this[_second$][$length]);
    }
    get isEmpty() {
      return dart.test(this[_first$][$isEmpty]) && dart.test(this[_second$][$isEmpty]);
    }
    get isNotEmpty() {
      return dart.test(this[_first$][$isNotEmpty]) || dart.test(this[_second$][$isNotEmpty]);
    }
    contains(value) {
      return dart.test(this[_first$][$contains](value)) || dart.test(this[_second$][$contains](value));
    }
    get first() {
      let iterator = this[_first$][$iterator];
      if (dart.test(iterator.moveNext())) return iterator.current;
      return this[_second$][$first];
    }
    get last() {
      let iterator = this[_second$][$iterator];
      if (dart.test(iterator.moveNext())) {
        let last = iterator.current;
        while (dart.test(iterator.moveNext()))
          last = iterator.current;
        return last;
      }
      return this[_first$][$last];
    }
  }
  (FollowedByIterable.new = function(_first, _second) {
    if (_first == null) dart.nullFailed(I[38], 776, 27, "_first");
    if (_second == null) dart.nullFailed(I[38], 776, 40, "_second");
    this[_first$] = _first;
    this[_second$] = _second;
    FollowedByIterable.__proto__.new.call(this);
    ;
  }).prototype = FollowedByIterable.prototype;
  dart.addTypeTests(FollowedByIterable);
  FollowedByIterable.prototype[_is_FollowedByIterable_default] = true;
  dart.addTypeCaches(FollowedByIterable);
  dart.setGetterSignature(FollowedByIterable, () => ({
    __proto__: dart.getGetters(FollowedByIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(FollowedByIterable, I[26]);
  dart.setFieldSignature(FollowedByIterable, () => ({
    __proto__: dart.getFields(FollowedByIterable.__proto__),
    [_first$]: dart.finalFieldType(core.Iterable$(E)),
    [_second$]: dart.finalFieldType(core.Iterable$(E))
  }));
  dart.defineExtensionMethods(FollowedByIterable, ['contains']);
  dart.defineExtensionAccessors(FollowedByIterable, [
    'iterator',
    'length',
    'isEmpty',
    'isNotEmpty',
    'first',
    'last'
  ]);
  return FollowedByIterable;
});
_internal.FollowedByIterable = _internal.FollowedByIterable$();
dart.addTypeTests(_internal.FollowedByIterable, _is_FollowedByIterable_default);
const _is_EfficientLengthFollowedByIterable_default = Symbol('_is_EfficientLengthFollowedByIterable_default');
_internal.EfficientLengthFollowedByIterable$ = dart.generic(E => {
  class EfficientLengthFollowedByIterable extends _internal.FollowedByIterable$(E) {
    elementAt(index) {
      if (index == null) dart.nullFailed(I[38], 822, 19, "index");
      let firstLength = this[_first$][$length];
      if (dart.notNull(index) < dart.notNull(firstLength)) return this[_first$][$elementAt](index);
      return this[_second$][$elementAt](dart.notNull(index) - dart.notNull(firstLength));
    }
    get first() {
      if (dart.test(this[_first$][$isNotEmpty])) return this[_first$][$first];
      return this[_second$][$first];
    }
    get last() {
      if (dart.test(this[_second$][$isNotEmpty])) return this[_second$][$last];
      return this[_first$][$last];
    }
  }
  (EfficientLengthFollowedByIterable.new = function(first, second) {
    if (first == null) dart.nullFailed(I[38], 819, 34, "first");
    if (second == null) dart.nullFailed(I[38], 819, 68, "second");
    EfficientLengthFollowedByIterable.__proto__.new.call(this, first, second);
    ;
  }).prototype = EfficientLengthFollowedByIterable.prototype;
  dart.addTypeTests(EfficientLengthFollowedByIterable);
  EfficientLengthFollowedByIterable.prototype[_is_EfficientLengthFollowedByIterable_default] = true;
  dart.addTypeCaches(EfficientLengthFollowedByIterable);
  EfficientLengthFollowedByIterable[dart.implements] = () => [_internal.EfficientLengthIterable$(E)];
  dart.setLibraryUri(EfficientLengthFollowedByIterable, I[26]);
  dart.defineExtensionMethods(EfficientLengthFollowedByIterable, ['elementAt']);
  dart.defineExtensionAccessors(EfficientLengthFollowedByIterable, ['first', 'last']);
  return EfficientLengthFollowedByIterable;
});
_internal.EfficientLengthFollowedByIterable = _internal.EfficientLengthFollowedByIterable$();
dart.addTypeTests(_internal.EfficientLengthFollowedByIterable, _is_EfficientLengthFollowedByIterable_default);
var _nextIterable$ = dart.privateName(_internal, "_nextIterable");
var _currentIterator = dart.privateName(_internal, "_currentIterator");
const _is_FollowedByIterator_default = Symbol('_is_FollowedByIterator_default');
_internal.FollowedByIterator$ = dart.generic(E => {
  class FollowedByIterator extends core.Object {
    moveNext() {
      if (dart.test(this[_currentIterator].moveNext())) return true;
      if (this[_nextIterable$] != null) {
        this[_currentIterator] = dart.nullCheck(this[_nextIterable$])[$iterator];
        this[_nextIterable$] = null;
        return this[_currentIterator].moveNext();
      }
      return false;
    }
    get current() {
      return this[_currentIterator].current;
    }
  }
  (FollowedByIterator.new = function(first, _nextIterable) {
    if (first == null) dart.nullFailed(I[38], 843, 34, "first");
    this[_nextIterable$] = _nextIterable;
    this[_currentIterator] = first[$iterator];
    ;
  }).prototype = FollowedByIterator.prototype;
  dart.addTypeTests(FollowedByIterator);
  FollowedByIterator.prototype[_is_FollowedByIterator_default] = true;
  dart.addTypeCaches(FollowedByIterator);
  FollowedByIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(FollowedByIterator, () => ({
    __proto__: dart.getMethods(FollowedByIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(FollowedByIterator, () => ({
    __proto__: dart.getGetters(FollowedByIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(FollowedByIterator, I[26]);
  dart.setFieldSignature(FollowedByIterator, () => ({
    __proto__: dart.getFields(FollowedByIterator.__proto__),
    [_currentIterator]: dart.fieldType(core.Iterator$(E)),
    [_nextIterable$]: dart.fieldType(dart.nullable(core.Iterable$(E)))
  }));
  return FollowedByIterator;
});
_internal.FollowedByIterator = _internal.FollowedByIterator$();
dart.addTypeTests(_internal.FollowedByIterator, _is_FollowedByIterator_default);
const _is_WhereTypeIterable_default = Symbol('_is_WhereTypeIterable_default');
_internal.WhereTypeIterable$ = dart.generic(T => {
  var __t$WhereTypeIteratorOfT = () => (__t$WhereTypeIteratorOfT = dart.constFn(_internal.WhereTypeIterator$(T)))();
  class WhereTypeIterable extends core.Iterable$(T) {
    get iterator() {
      return new (__t$WhereTypeIteratorOfT()).new(this[_source$][$iterator]);
    }
  }
  (WhereTypeIterable.new = function(_source) {
    if (_source == null) dart.nullFailed(I[38], 861, 26, "_source");
    this[_source$] = _source;
    WhereTypeIterable.__proto__.new.call(this);
    ;
  }).prototype = WhereTypeIterable.prototype;
  dart.addTypeTests(WhereTypeIterable);
  WhereTypeIterable.prototype[_is_WhereTypeIterable_default] = true;
  dart.addTypeCaches(WhereTypeIterable);
  dart.setGetterSignature(WhereTypeIterable, () => ({
    __proto__: dart.getGetters(WhereTypeIterable.__proto__),
    iterator: core.Iterator$(T),
    [$iterator]: core.Iterator$(T)
  }));
  dart.setLibraryUri(WhereTypeIterable, I[26]);
  dart.setFieldSignature(WhereTypeIterable, () => ({
    __proto__: dart.getFields(WhereTypeIterable.__proto__),
    [_source$]: dart.finalFieldType(core.Iterable$(dart.nullable(core.Object)))
  }));
  dart.defineExtensionAccessors(WhereTypeIterable, ['iterator']);
  return WhereTypeIterable;
});
_internal.WhereTypeIterable = _internal.WhereTypeIterable$();
dart.addTypeTests(_internal.WhereTypeIterable, _is_WhereTypeIterable_default);
const _is_WhereTypeIterator_default = Symbol('_is_WhereTypeIterator_default');
_internal.WhereTypeIterator$ = dart.generic(T => {
  class WhereTypeIterator extends core.Object {
    moveNext() {
      while (dart.test(this[_source$].moveNext())) {
        if (T.is(this[_source$].current)) return true;
      }
      return false;
    }
    get current() {
      return T.as(this[_source$].current);
    }
  }
  (WhereTypeIterator.new = function(_source) {
    if (_source == null) dart.nullFailed(I[38], 867, 26, "_source");
    this[_source$] = _source;
    ;
  }).prototype = WhereTypeIterator.prototype;
  dart.addTypeTests(WhereTypeIterator);
  WhereTypeIterator.prototype[_is_WhereTypeIterator_default] = true;
  dart.addTypeCaches(WhereTypeIterator);
  WhereTypeIterator[dart.implements] = () => [core.Iterator$(T)];
  dart.setMethodSignature(WhereTypeIterator, () => ({
    __proto__: dart.getMethods(WhereTypeIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(WhereTypeIterator, () => ({
    __proto__: dart.getGetters(WhereTypeIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(WhereTypeIterator, I[26]);
  dart.setFieldSignature(WhereTypeIterator, () => ({
    __proto__: dart.getFields(WhereTypeIterator.__proto__),
    [_source$]: dart.finalFieldType(core.Iterator$(dart.nullable(core.Object)))
  }));
  return WhereTypeIterator;
});
_internal.WhereTypeIterator = _internal.WhereTypeIterator$();
dart.addTypeTests(_internal.WhereTypeIterator, _is_WhereTypeIterator_default);
_internal.IterableElementError = class IterableElementError extends core.Object {
  static noElement() {
    return new core.StateError.new("No element");
  }
  static tooMany() {
    return new core.StateError.new("Too many elements");
  }
  static tooFew() {
    return new core.StateError.new("Too few elements");
  }
};
(_internal.IterableElementError.new = function() {
  ;
}).prototype = _internal.IterableElementError.prototype;
dart.addTypeTests(_internal.IterableElementError);
dart.addTypeCaches(_internal.IterableElementError);
dart.setLibraryUri(_internal.IterableElementError, I[26]);
const _is_FixedLengthListMixin_default = Symbol('_is_FixedLengthListMixin_default');
_internal.FixedLengthListMixin$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  class FixedLengthListMixin extends core.Object {
    set length(newLength) {
      if (newLength == null) dart.nullFailed(I[23], 14, 18, "newLength");
      dart.throw(new core.UnsupportedError.new("Cannot change the length of a fixed-length list"));
    }
    add(value) {
      E.as(value);
      dart.throw(new core.UnsupportedError.new("Cannot add to a fixed-length list"));
    }
    insert(index, value) {
      if (index == null) dart.nullFailed(I[23], 25, 19, "index");
      E.as(value);
      dart.throw(new core.UnsupportedError.new("Cannot add to a fixed-length list"));
    }
    insertAll(at, iterable) {
      if (at == null) dart.nullFailed(I[23], 30, 22, "at");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 30, 38, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot add to a fixed-length list"));
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 35, 27, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot add to a fixed-length list"));
    }
    remove(element) {
      dart.throw(new core.UnsupportedError.new("Cannot remove from a fixed-length list"));
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[23], 45, 25, "test");
      dart.throw(new core.UnsupportedError.new("Cannot remove from a fixed-length list"));
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[23], 50, 25, "test");
      dart.throw(new core.UnsupportedError.new("Cannot remove from a fixed-length list"));
    }
    clear() {
      dart.throw(new core.UnsupportedError.new("Cannot clear a fixed-length list"));
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[23], 60, 18, "index");
      dart.throw(new core.UnsupportedError.new("Cannot remove from a fixed-length list"));
    }
    removeLast() {
      dart.throw(new core.UnsupportedError.new("Cannot remove from a fixed-length list"));
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[23], 70, 24, "start");
      if (end == null) dart.nullFailed(I[23], 70, 35, "end");
      dart.throw(new core.UnsupportedError.new("Cannot remove from a fixed-length list"));
    }
    replaceRange(start, end, iterable) {
      if (start == null) dart.nullFailed(I[23], 75, 25, "start");
      if (end == null) dart.nullFailed(I[23], 75, 36, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 75, 53, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot remove from a fixed-length list"));
    }
  }
  (FixedLengthListMixin.new = function() {
    ;
  }).prototype = FixedLengthListMixin.prototype;
  dart.addTypeTests(FixedLengthListMixin);
  FixedLengthListMixin.prototype[_is_FixedLengthListMixin_default] = true;
  dart.addTypeCaches(FixedLengthListMixin);
  dart.setMethodSignature(FixedLengthListMixin, () => ({
    __proto__: dart.getMethods(FixedLengthListMixin.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$add]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    insert: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insert]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    insertAll: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insertAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$retainWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    removeAt: dart.fnType(E, [core.int]),
    [$removeAt]: dart.fnType(E, [core.int]),
    removeLast: dart.fnType(E, []),
    [$removeLast]: dart.fnType(E, []),
    removeRange: dart.fnType(dart.void, [core.int, core.int]),
    [$removeRange]: dart.fnType(dart.void, [core.int, core.int]),
    replaceRange: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    [$replaceRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)])
  }));
  dart.setSetterSignature(FixedLengthListMixin, () => ({
    __proto__: dart.getSetters(FixedLengthListMixin.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(FixedLengthListMixin, I[26]);
  dart.defineExtensionMethods(FixedLengthListMixin, [
    'add',
    'insert',
    'insertAll',
    'addAll',
    'remove',
    'removeWhere',
    'retainWhere',
    'clear',
    'removeAt',
    'removeLast',
    'removeRange',
    'replaceRange'
  ]);
  dart.defineExtensionAccessors(FixedLengthListMixin, ['length']);
  return FixedLengthListMixin;
});
_internal.FixedLengthListMixin = _internal.FixedLengthListMixin$();
dart.addTypeTests(_internal.FixedLengthListMixin, _is_FixedLengthListMixin_default);
const _is_FixedLengthListBase_default = Symbol('_is_FixedLengthListBase_default');
_internal.FixedLengthListBase$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  const ListBase_FixedLengthListMixin$36 = class ListBase_FixedLengthListMixin extends collection.ListBase$(E) {};
  (ListBase_FixedLengthListMixin$36.new = function() {
  }).prototype = ListBase_FixedLengthListMixin$36.prototype;
  dart.applyMixin(ListBase_FixedLengthListMixin$36, _internal.FixedLengthListMixin$(E));
  class FixedLengthListBase extends ListBase_FixedLengthListMixin$36 {
    set length(newLength) {
      if (newLength == null) dart.nullFailed(I[23], 199, 16, "newLength");
      return super[$length] = newLength;
    }
    add(value) {
      E.as(value);
      return super[$add](value);
    }
    insert(index, value) {
      if (index == null) dart.nullFailed(I[23], 199, 16, "index");
      E.as(value);
      return super[$insert](index, value);
    }
    insertAll(at, iterable) {
      if (at == null) dart.nullFailed(I[23], 199, 16, "at");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 199, 16, "iterable");
      return super[$insertAll](at, iterable);
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 199, 16, "iterable");
      return super[$addAll](iterable);
    }
    remove(element) {
      return super[$remove](element);
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[23], 199, 16, "test");
      return super[$removeWhere](test);
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[23], 199, 16, "test");
      return super[$retainWhere](test);
    }
    clear() {
      return super[$clear]();
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[23], 199, 16, "index");
      return super[$removeAt](index);
    }
    removeLast() {
      return super[$removeLast]();
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[23], 199, 16, "start");
      if (end == null) dart.nullFailed(I[23], 199, 16, "end");
      return super[$removeRange](start, end);
    }
    replaceRange(start, end, iterable) {
      if (start == null) dart.nullFailed(I[23], 199, 16, "start");
      if (end == null) dart.nullFailed(I[23], 199, 16, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[23], 199, 16, "iterable");
      return super[$replaceRange](start, end, iterable);
    }
  }
  (FixedLengthListBase.new = function() {
    ;
  }).prototype = FixedLengthListBase.prototype;
  dart.addTypeTests(FixedLengthListBase);
  FixedLengthListBase.prototype[_is_FixedLengthListBase_default] = true;
  dart.addTypeCaches(FixedLengthListBase);
  dart.setSetterSignature(FixedLengthListBase, () => ({
    __proto__: dart.getSetters(FixedLengthListBase.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(FixedLengthListBase, I[26]);
  dart.defineExtensionMethods(FixedLengthListBase, [
    'add',
    'insert',
    'insertAll',
    'addAll',
    'remove',
    'removeWhere',
    'retainWhere',
    'clear',
    'removeAt',
    'removeLast',
    'removeRange',
    'replaceRange'
  ]);
  dart.defineExtensionAccessors(FixedLengthListBase, ['length']);
  return FixedLengthListBase;
});
_internal.FixedLengthListBase = _internal.FixedLengthListBase$();
dart.addTypeTests(_internal.FixedLengthListBase, _is_FixedLengthListBase_default);
var _backedList$ = dart.privateName(_internal, "_backedList");
_internal._ListIndicesIterable = class _ListIndicesIterable extends _internal.ListIterable$(core.int) {
  get length() {
    return this[_backedList$][$length];
  }
  elementAt(index) {
    if (index == null) dart.nullFailed(I[23], 217, 21, "index");
    core.RangeError.checkValidIndex(index, this);
    return index;
  }
};
(_internal._ListIndicesIterable.new = function(_backedList) {
  if (_backedList == null) dart.nullFailed(I[23], 214, 29, "_backedList");
  this[_backedList$] = _backedList;
  _internal._ListIndicesIterable.__proto__.new.call(this);
  ;
}).prototype = _internal._ListIndicesIterable.prototype;
dart.addTypeTests(_internal._ListIndicesIterable);
dart.addTypeCaches(_internal._ListIndicesIterable);
dart.setLibraryUri(_internal._ListIndicesIterable, I[26]);
dart.setFieldSignature(_internal._ListIndicesIterable, () => ({
  __proto__: dart.getFields(_internal._ListIndicesIterable.__proto__),
  [_backedList$]: dart.fieldType(core.List)
}));
dart.defineExtensionMethods(_internal._ListIndicesIterable, ['elementAt']);
dart.defineExtensionAccessors(_internal._ListIndicesIterable, ['length']);
var _values$ = dart.privateName(_internal, "_values");
const _is__UnmodifiableMapMixin_default = Symbol('_is__UnmodifiableMapMixin_default');
collection._UnmodifiableMapMixin$ = dart.generic((K, V) => {
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$MapEntryOfK$V = () => (__t$MapEntryOfK$V = dart.constFn(core.MapEntry$(K, V)))();
  var __t$IterableOfMapEntryOfK$V = () => (__t$IterableOfMapEntryOfK$V = dart.constFn(core.Iterable$(__t$MapEntryOfK$V())))();
  var __t$KAndVToV = () => (__t$KAndVToV = dart.constFn(dart.fnType(V, [K, V])))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  var __t$VToV = () => (__t$VToV = dart.constFn(dart.fnType(V, [V])))();
  var __t$VoidToNV = () => (__t$VoidToNV = dart.constFn(dart.nullable(__t$VoidToV())))();
  class _UnmodifiableMapMixin extends core.Object {
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
      return value$;
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[36], 273, 25, "other");
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
    addEntries(entries) {
      __t$IterableOfMapEntryOfK$V().as(entries);
      if (entries == null) dart.nullFailed(I[36], 278, 44, "entries");
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
    clear() {
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
    remove(key) {
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[36], 293, 25, "test");
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[36], 298, 26, "ifAbsent");
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
    update(key, update, opts) {
      K.as(key);
      __t$VToV().as(update);
      if (update == null) dart.nullFailed(I[36], 303, 21, "update");
      let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
      __t$VoidToNV().as(ifAbsent);
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
    updateAll(update) {
      __t$KAndVToV().as(update);
      if (update == null) dart.nullFailed(I[36], 308, 20, "update");
      dart.throw(new core.UnsupportedError.new("Cannot modify unmodifiable map"));
    }
  }
  (_UnmodifiableMapMixin.new = function() {
    ;
  }).prototype = _UnmodifiableMapMixin.prototype;
  _UnmodifiableMapMixin.prototype[dart.isMap] = true;
  dart.addTypeTests(_UnmodifiableMapMixin);
  _UnmodifiableMapMixin.prototype[_is__UnmodifiableMapMixin_default] = true;
  dart.addTypeCaches(_UnmodifiableMapMixin);
  _UnmodifiableMapMixin[dart.implements] = () => [core.Map$(K, V)];
  dart.setMethodSignature(_UnmodifiableMapMixin, () => ({
    __proto__: dart.getMethods(_UnmodifiableMapMixin.__proto__),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addEntries: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addEntries]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [K, V])]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [K, V])]),
    putIfAbsent: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$putIfAbsent]: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    update: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
    [$update]: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
    updateAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$updateAll]: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_UnmodifiableMapMixin, I[25]);
  dart.defineExtensionMethods(_UnmodifiableMapMixin, [
    '_set',
    'addAll',
    'addEntries',
    'clear',
    'remove',
    'removeWhere',
    'putIfAbsent',
    'update',
    'updateAll'
  ]);
  return _UnmodifiableMapMixin;
});
collection._UnmodifiableMapMixin = collection._UnmodifiableMapMixin$();
dart.addTypeTests(collection._UnmodifiableMapMixin, _is__UnmodifiableMapMixin_default);
const _is_UnmodifiableMapBase_default = Symbol('_is_UnmodifiableMapBase_default');
collection.UnmodifiableMapBase$ = dart.generic((K, V) => {
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$MapEntryOfK$V = () => (__t$MapEntryOfK$V = dart.constFn(core.MapEntry$(K, V)))();
  var __t$IterableOfMapEntryOfK$V = () => (__t$IterableOfMapEntryOfK$V = dart.constFn(core.Iterable$(__t$MapEntryOfK$V())))();
  var __t$KAndVToV = () => (__t$KAndVToV = dart.constFn(dart.fnType(V, [K, V])))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  var __t$VToV = () => (__t$VToV = dart.constFn(dart.fnType(V, [V])))();
  var __t$VoidToNV = () => (__t$VoidToNV = dart.constFn(dart.nullable(__t$VoidToV())))();
  const MapBase__UnmodifiableMapMixin$36 = class MapBase__UnmodifiableMapMixin extends collection.MapBase$(K, V) {};
  (MapBase__UnmodifiableMapMixin$36.new = function() {
  }).prototype = MapBase__UnmodifiableMapMixin$36.prototype;
  dart.applyMixin(MapBase__UnmodifiableMapMixin$36, collection._UnmodifiableMapMixin$(K, V));
  class UnmodifiableMapBase extends MapBase__UnmodifiableMapMixin$36 {
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      super._set(key, value);
      return value$;
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[36], 217, 16, "other");
      return super.addAll(other);
    }
    addEntries(entries) {
      __t$IterableOfMapEntryOfK$V().as(entries);
      if (entries == null) dart.nullFailed(I[36], 217, 16, "entries");
      return super.addEntries(entries);
    }
    clear() {
      return super.clear();
    }
    remove(key) {
      return super.remove(key);
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[36], 217, 16, "test");
      return super.removeWhere(test);
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[36], 217, 16, "ifAbsent");
      return super.putIfAbsent(key, ifAbsent);
    }
    update(key, update, opts) {
      K.as(key);
      __t$VToV().as(update);
      if (update == null) dart.nullFailed(I[36], 217, 16, "update");
      let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
      __t$VoidToNV().as(ifAbsent);
      return super.update(key, update, {ifAbsent: ifAbsent});
    }
    updateAll(update) {
      __t$KAndVToV().as(update);
      if (update == null) dart.nullFailed(I[36], 217, 16, "update");
      return super.updateAll(update);
    }
  }
  (UnmodifiableMapBase.new = function() {
    ;
  }).prototype = UnmodifiableMapBase.prototype;
  dart.addTypeTests(UnmodifiableMapBase);
  UnmodifiableMapBase.prototype[_is_UnmodifiableMapBase_default] = true;
  dart.addTypeCaches(UnmodifiableMapBase);
  dart.setMethodSignature(UnmodifiableMapBase, () => ({
    __proto__: dart.getMethods(UnmodifiableMapBase.__proto__),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(UnmodifiableMapBase, I[25]);
  dart.defineExtensionMethods(UnmodifiableMapBase, [
    '_set',
    'addAll',
    'addEntries',
    'clear',
    'remove',
    'removeWhere',
    'putIfAbsent',
    'update',
    'updateAll'
  ]);
  return UnmodifiableMapBase;
});
collection.UnmodifiableMapBase = collection.UnmodifiableMapBase$();
dart.addTypeTests(collection.UnmodifiableMapBase, _is_UnmodifiableMapBase_default);
const _is_ListMapView_default = Symbol('_is_ListMapView_default');
_internal.ListMapView$ = dart.generic(E => {
  var __t$SubListIterableOfE = () => (__t$SubListIterableOfE = dart.constFn(_internal.SubListIterable$(E)))();
  class ListMapView extends collection.UnmodifiableMapBase$(core.int, E) {
    _get(key) {
      return dart.test(this.containsKey(key)) ? this[_values$][$_get](core.int.as(key)) : null;
    }
    get length() {
      return this[_values$][$length];
    }
    get values() {
      return new (__t$SubListIterableOfE()).new(this[_values$], 0, null);
    }
    get keys() {
      return new _internal._ListIndicesIterable.new(this[_values$]);
    }
    get isEmpty() {
      return this[_values$][$isEmpty];
    }
    get isNotEmpty() {
      return this[_values$][$isNotEmpty];
    }
    containsValue(value) {
      return this[_values$][$contains](value);
    }
    containsKey(key) {
      return core.int.is(key) && dart.notNull(key) >= 0 && dart.notNull(key) < dart.notNull(this.length);
    }
    forEach(f) {
      if (f == null) dart.nullFailed(I[23], 239, 21, "f");
      let length = this[_values$][$length];
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        f(i, this[_values$][$_get](i));
        if (length != this[_values$][$length]) {
          dart.throw(new core.ConcurrentModificationError.new(this[_values$]));
        }
      }
    }
  }
  (ListMapView.new = function(_values) {
    if (_values == null) dart.nullFailed(I[23], 226, 20, "_values");
    this[_values$] = _values;
    ;
  }).prototype = ListMapView.prototype;
  dart.addTypeTests(ListMapView);
  ListMapView.prototype[_is_ListMapView_default] = true;
  dart.addTypeCaches(ListMapView);
  dart.setMethodSignature(ListMapView, () => ({
    __proto__: dart.getMethods(ListMapView.__proto__),
    _get: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(ListMapView, () => ({
    __proto__: dart.getGetters(ListMapView.__proto__),
    keys: core.Iterable$(core.int),
    [$keys]: core.Iterable$(core.int)
  }));
  dart.setLibraryUri(ListMapView, I[26]);
  dart.setFieldSignature(ListMapView, () => ({
    __proto__: dart.getFields(ListMapView.__proto__),
    [_values$]: dart.fieldType(core.List$(E))
  }));
  dart.defineExtensionMethods(ListMapView, ['_get', 'containsValue', 'containsKey', 'forEach']);
  dart.defineExtensionAccessors(ListMapView, [
    'length',
    'values',
    'keys',
    'isEmpty',
    'isNotEmpty'
  ]);
  return ListMapView;
});
_internal.ListMapView = _internal.ListMapView$();
dart.addTypeTests(_internal.ListMapView, _is_ListMapView_default);
const _is_ReversedListIterable_default = Symbol('_is_ReversedListIterable_default');
_internal.ReversedListIterable$ = dart.generic(E => {
  class ReversedListIterable extends _internal.ListIterable$(E) {
    get length() {
      return this[_source$][$length];
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[23], 256, 19, "index");
      return this[_source$][$elementAt](dart.notNull(this[_source$][$length]) - 1 - dart.notNull(index));
    }
  }
  (ReversedListIterable.new = function(_source) {
    if (_source == null) dart.nullFailed(I[23], 252, 29, "_source");
    this[_source$] = _source;
    ReversedListIterable.__proto__.new.call(this);
    ;
  }).prototype = ReversedListIterable.prototype;
  dart.addTypeTests(ReversedListIterable);
  ReversedListIterable.prototype[_is_ReversedListIterable_default] = true;
  dart.addTypeCaches(ReversedListIterable);
  dart.setLibraryUri(ReversedListIterable, I[26]);
  dart.setFieldSignature(ReversedListIterable, () => ({
    __proto__: dart.getFields(ReversedListIterable.__proto__),
    [_source$]: dart.fieldType(core.Iterable$(E))
  }));
  dart.defineExtensionMethods(ReversedListIterable, ['elementAt']);
  dart.defineExtensionAccessors(ReversedListIterable, ['length']);
  return ReversedListIterable;
});
_internal.ReversedListIterable = _internal.ReversedListIterable$();
dart.addTypeTests(_internal.ReversedListIterable, _is_ReversedListIterable_default);
_internal.UnmodifiableListError = class UnmodifiableListError extends core.Object {
  static add() {
    return new core.UnsupportedError.new("Cannot add to unmodifiable List");
  }
  static change() {
    return new core.UnsupportedError.new("Cannot change the content of an unmodifiable List");
  }
  static length() {
    return new core.UnsupportedError.new("Cannot change length of unmodifiable List");
  }
  static remove() {
    return new core.UnsupportedError.new("Cannot remove from unmodifiable List");
  }
};
(_internal.UnmodifiableListError.new = function() {
  ;
}).prototype = _internal.UnmodifiableListError.prototype;
dart.addTypeTests(_internal.UnmodifiableListError);
dart.addTypeCaches(_internal.UnmodifiableListError);
dart.setLibraryUri(_internal.UnmodifiableListError, I[26]);
_internal.NonGrowableListError = class NonGrowableListError extends core.Object {
  static add() {
    return new core.UnsupportedError.new("Cannot add to non-growable List");
  }
  static length() {
    return new core.UnsupportedError.new("Cannot change length of non-growable List");
  }
  static remove() {
    return new core.UnsupportedError.new("Cannot remove from non-growable List");
  }
};
(_internal.NonGrowableListError.new = function() {
  ;
}).prototype = _internal.NonGrowableListError.prototype;
dart.addTypeTests(_internal.NonGrowableListError);
dart.addTypeCaches(_internal.NonGrowableListError);
dart.setLibraryUri(_internal.NonGrowableListError, I[26]);
var length = dart.privateName(_internal, "LinkedList.length");
var _last = dart.privateName(_internal, "_last");
var _next = dart.privateName(_internal, "_next");
var _previous = dart.privateName(_internal, "_previous");
var _list = dart.privateName(_internal, "_list");
const _is_IterableBase_default = Symbol('_is_IterableBase_default');
collection.IterableBase$ = dart.generic(E => {
  class IterableBase extends core.Iterable$(E) {
    static iterableToShortString(iterable, leftDelimiter = "(", rightDelimiter = ")") {
      let t81;
      if (iterable == null) dart.nullFailed(I[40], 227, 48, "iterable");
      if (leftDelimiter == null) dart.nullFailed(I[40], 228, 15, "leftDelimiter");
      if (rightDelimiter == null) dart.nullFailed(I[40], 228, 43, "rightDelimiter");
      if (dart.test(collection._isToStringVisiting(iterable))) {
        if (leftDelimiter === "(" && rightDelimiter === ")") {
          return "(...)";
        }
        return dart.str(leftDelimiter) + "..." + dart.str(rightDelimiter);
      }
      let parts = T$.JSArrayOfString().of([]);
      collection._toStringVisiting[$add](iterable);
      try {
        collection._iterablePartsToStrings(iterable, parts);
      } finally {
        if (!core.identical(collection._toStringVisiting[$last], iterable)) dart.assertFailed(null, I[40], 241, 14, "identical(_toStringVisiting.last, iterable)");
        collection._toStringVisiting[$removeLast]();
      }
      return (t81 = new core.StringBuffer.new(leftDelimiter), (() => {
        t81.writeAll(parts, ", ");
        t81.write(rightDelimiter);
        return t81;
      })()).toString();
    }
    static iterableToFullString(iterable, leftDelimiter = "(", rightDelimiter = ")") {
      if (iterable == null) dart.nullFailed(I[40], 260, 47, "iterable");
      if (leftDelimiter == null) dart.nullFailed(I[40], 261, 15, "leftDelimiter");
      if (rightDelimiter == null) dart.nullFailed(I[40], 261, 43, "rightDelimiter");
      if (dart.test(collection._isToStringVisiting(iterable))) {
        return dart.str(leftDelimiter) + "..." + dart.str(rightDelimiter);
      }
      let buffer = new core.StringBuffer.new(leftDelimiter);
      collection._toStringVisiting[$add](iterable);
      try {
        buffer.writeAll(iterable, ", ");
      } finally {
        if (!core.identical(collection._toStringVisiting[$last], iterable)) dart.assertFailed(null, I[40], 270, 14, "identical(_toStringVisiting.last, iterable)");
        collection._toStringVisiting[$removeLast]();
      }
      buffer.write(rightDelimiter);
      return buffer.toString();
    }
  }
  (IterableBase.new = function() {
    IterableBase.__proto__.new.call(this);
    ;
  }).prototype = IterableBase.prototype;
  dart.addTypeTests(IterableBase);
  IterableBase.prototype[_is_IterableBase_default] = true;
  dart.addTypeCaches(IterableBase);
  dart.setLibraryUri(IterableBase, I[25]);
  return IterableBase;
});
collection.IterableBase = collection.IterableBase$();
dart.addTypeTests(collection.IterableBase, _is_IterableBase_default);
const _is_LinkedList_default = Symbol('_is_LinkedList_default');
_internal.LinkedList$ = dart.generic(T => {
  var __t$_LinkedListIteratorOfT = () => (__t$_LinkedListIteratorOfT = dart.constFn(_internal._LinkedListIterator$(T)))();
  class LinkedList extends collection.IterableBase$(T) {
    get length() {
      return this[length];
    }
    set length(value) {
      this[length] = value;
    }
    get first() {
      return dart.nullCast(this[_first$], T);
    }
    get last() {
      return dart.nullCast(this[_last], T);
    }
    get isEmpty() {
      return this.length === 0;
    }
    add(newLast) {
      T.as(newLast);
      if (newLast == null) dart.nullFailed(I[39], 22, 14, "newLast");
      if (!(newLast[_next] == null && newLast[_previous] == null)) dart.assertFailed(null, I[39], 23, 12, "newLast._next == null && newLast._previous == null");
      if (this[_last] != null) {
        if (!(dart.nullCheck(this[_last])[_next] == null)) dart.assertFailed(null, I[39], 25, 14, "_last!._next == null");
        dart.nullCheck(this[_last])[_next] = newLast;
      } else {
        this[_first$] = newLast;
      }
      newLast[_previous] = this[_last];
      this[_last] = newLast;
      dart.nullCheck(this[_last])[_list] = this;
      this.length = dart.notNull(this.length) + 1;
    }
    addFirst(newFirst) {
      T.as(newFirst);
      if (newFirst == null) dart.nullFailed(I[39], 39, 19, "newFirst");
      if (this[_first$] != null) {
        if (!(dart.nullCheck(this[_first$])[_previous] == null)) dart.assertFailed(null, I[39], 41, 14, "_first!._previous == null");
        dart.nullCheck(this[_first$])[_previous] = newFirst;
      } else {
        this[_last] = newFirst;
      }
      newFirst[_next] = this[_first$];
      this[_first$] = newFirst;
      dart.nullCheck(this[_first$])[_list] = this;
      this.length = dart.notNull(this.length) + 1;
    }
    remove(node) {
      T.as(node);
      if (node == null) dart.nullFailed(I[39], 59, 17, "node");
      if (!dart.equals(node[_list], this)) return;
      this.length = dart.notNull(this.length) - 1;
      if (node[_previous] == null) {
        if (!(node == this[_first$])) dart.assertFailed(null, I[39], 63, 14, "identical(node, _first)");
        this[_first$] = node[_next];
      } else {
        dart.nullCheck(node[_previous])[_next] = node[_next];
      }
      if (node[_next] == null) {
        if (!(node == this[_last])) dart.assertFailed(null, I[39], 69, 14, "identical(node, _last)");
        this[_last] = node[_previous];
      } else {
        dart.nullCheck(node[_next])[_previous] = node[_previous];
      }
      node[_next] = node[_previous] = null;
      node[_list] = null;
    }
    get iterator() {
      return new (__t$_LinkedListIteratorOfT()).new(this);
    }
  }
  (LinkedList.new = function() {
    this[_first$] = null;
    this[_last] = null;
    this[length] = 0;
    LinkedList.__proto__.new.call(this);
    ;
  }).prototype = LinkedList.prototype;
  dart.addTypeTests(LinkedList);
  LinkedList.prototype[_is_LinkedList_default] = true;
  dart.addTypeCaches(LinkedList);
  dart.setMethodSignature(LinkedList, () => ({
    __proto__: dart.getMethods(LinkedList.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addFirst: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(LinkedList, () => ({
    __proto__: dart.getGetters(LinkedList.__proto__),
    iterator: core.Iterator$(T),
    [$iterator]: core.Iterator$(T)
  }));
  dart.setLibraryUri(LinkedList, I[26]);
  dart.setFieldSignature(LinkedList, () => ({
    __proto__: dart.getFields(LinkedList.__proto__),
    [_first$]: dart.fieldType(dart.nullable(T)),
    [_last]: dart.fieldType(dart.nullable(T)),
    length: dart.fieldType(core.int)
  }));
  dart.defineExtensionAccessors(LinkedList, [
    'length',
    'first',
    'last',
    'isEmpty',
    'iterator'
  ]);
  return LinkedList;
});
_internal.LinkedList = _internal.LinkedList$();
dart.addTypeTests(_internal.LinkedList, _is_LinkedList_default);
var _next$ = dart.privateName(_internal, "LinkedListEntry._next");
var _previous$ = dart.privateName(_internal, "LinkedListEntry._previous");
var _list$ = dart.privateName(_internal, "LinkedListEntry._list");
const _is_LinkedListEntry_default = Symbol('_is_LinkedListEntry_default');
_internal.LinkedListEntry$ = dart.generic(T => {
  var __t$TN = () => (__t$TN = dart.constFn(dart.nullable(T)))();
  var __t$LinkedListOfT = () => (__t$LinkedListOfT = dart.constFn(_internal.LinkedList$(T)))();
  var __t$LinkedListNOfT = () => (__t$LinkedListNOfT = dart.constFn(dart.nullable(__t$LinkedListOfT())))();
  class LinkedListEntry extends core.Object {
    get [_next]() {
      return this[_next$];
    }
    set [_next](value) {
      this[_next$] = __t$TN().as(value);
    }
    get [_previous]() {
      return this[_previous$];
    }
    set [_previous](value) {
      this[_previous$] = __t$TN().as(value);
    }
    get [_list]() {
      return this[_list$];
    }
    set [_list](value) {
      this[_list$] = __t$LinkedListNOfT().as(value);
    }
    unlink() {
      let t81;
      t81 = this[_list];
      t81 == null ? null : t81.remove(T.as(this));
    }
  }
  (LinkedListEntry.new = function() {
    this[_next$] = null;
    this[_previous$] = null;
    this[_list$] = null;
    ;
  }).prototype = LinkedListEntry.prototype;
  dart.addTypeTests(LinkedListEntry);
  LinkedListEntry.prototype[_is_LinkedListEntry_default] = true;
  dart.addTypeCaches(LinkedListEntry);
  dart.setMethodSignature(LinkedListEntry, () => ({
    __proto__: dart.getMethods(LinkedListEntry.__proto__),
    unlink: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(LinkedListEntry, I[26]);
  dart.setFieldSignature(LinkedListEntry, () => ({
    __proto__: dart.getFields(LinkedListEntry.__proto__),
    [_next]: dart.fieldType(dart.nullable(T)),
    [_previous]: dart.fieldType(dart.nullable(T)),
    [_list]: dart.fieldType(dart.nullable(_internal.LinkedList$(T)))
  }));
  return LinkedListEntry;
});
_internal.LinkedListEntry = _internal.LinkedListEntry$();
dart.addTypeTests(_internal.LinkedListEntry, _is_LinkedListEntry_default);
const _is__LinkedListIterator_default = Symbol('_is__LinkedListIterator_default');
_internal._LinkedListIterator$ = dart.generic(T => {
  class _LinkedListIterator extends core.Object {
    get current() {
      return dart.nullCast(this[_current$], T);
    }
    moveNext() {
      if (this[_current$] == null) {
        let list = this[_list];
        if (list == null) return false;
        if (!(dart.notNull(list.length) > 0)) dart.assertFailed(null, I[39], 123, 14, "list.length > 0");
        this[_current$] = list.first;
        this[_list] = null;
        return true;
      }
      this[_current$] = dart.nullCheck(this[_current$])[_next];
      return this[_current$] != null;
    }
  }
  (_LinkedListIterator.new = function(list) {
    if (list == null) dart.nullFailed(I[39], 113, 37, "list");
    this[_current$] = null;
    this[_list] = list;
    if (list.length === 0) this[_list] = null;
  }).prototype = _LinkedListIterator.prototype;
  dart.addTypeTests(_LinkedListIterator);
  _LinkedListIterator.prototype[_is__LinkedListIterator_default] = true;
  dart.addTypeCaches(_LinkedListIterator);
  _LinkedListIterator[dart.implements] = () => [core.Iterator$(T)];
  dart.setMethodSignature(_LinkedListIterator, () => ({
    __proto__: dart.getMethods(_LinkedListIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_LinkedListIterator, () => ({
    __proto__: dart.getGetters(_LinkedListIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(_LinkedListIterator, I[26]);
  dart.setFieldSignature(_LinkedListIterator, () => ({
    __proto__: dart.getFields(_LinkedListIterator.__proto__),
    [_current$]: dart.fieldType(dart.nullable(T)),
    [_list]: dart.fieldType(dart.nullable(_internal.LinkedList$(T)))
  }));
  return _LinkedListIterator;
});
_internal._LinkedListIterator = _internal._LinkedListIterator$();
dart.addTypeTests(_internal._LinkedListIterator, _is__LinkedListIterator_default);
_internal.Sort = class Sort extends core.Object {
  static sort(E, a, compare) {
    if (a == null) dart.nullFailed(I[41], 32, 31, "a");
    if (compare == null) dart.nullFailed(I[41], 32, 38, "compare");
    _internal.Sort._doSort(E, a, 0, dart.notNull(a[$length]) - 1, compare);
  }
  static sortRange(E, a, from, to, compare) {
    if (a == null) dart.nullFailed(I[41], 45, 36, "a");
    if (from == null) dart.nullFailed(I[41], 45, 43, "from");
    if (to == null) dart.nullFailed(I[41], 45, 53, "to");
    if (compare == null) dart.nullFailed(I[41], 45, 61, "compare");
    if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a[$length]) || dart.notNull(to) < dart.notNull(from)) {
      dart.throw("OutOfRange");
    }
    _internal.Sort._doSort(E, a, from, dart.notNull(to) - 1, compare);
  }
  static _doSort(E, a, left, right, compare) {
    if (a == null) dart.nullFailed(I[41], 56, 15, "a");
    if (left == null) dart.nullFailed(I[41], 56, 22, "left");
    if (right == null) dart.nullFailed(I[41], 56, 32, "right");
    if (compare == null) dart.nullFailed(I[41], 56, 43, "compare");
    if (dart.notNull(right) - dart.notNull(left) <= 32) {
      _internal.Sort._insertionSort(E, a, left, right, compare);
    } else {
      _internal.Sort._dualPivotQuicksort(E, a, left, right, compare);
    }
  }
  static _insertionSort(E, a, left, right, compare) {
    if (a == null) dart.nullFailed(I[41], 65, 15, "a");
    if (left == null) dart.nullFailed(I[41], 65, 22, "left");
    if (right == null) dart.nullFailed(I[41], 65, 32, "right");
    if (compare == null) dart.nullFailed(I[41], 65, 43, "compare");
    for (let i = dart.notNull(left) + 1; i <= dart.notNull(right); i = i + 1) {
      let el = a[$_get](i);
      let j = i;
      while (j > dart.notNull(left) && dart.notNull(compare(a[$_get](j - 1), el)) > 0) {
        a[$_set](j, a[$_get](j - 1));
        j = j - 1;
      }
      a[$_set](j, el);
    }
  }
  static _dualPivotQuicksort(E, a, left, right, compare) {
    let t81, t81$, t81$0, t81$1, t81$2, t81$3, t81$4, t81$5, t81$6;
    if (a == null) dart.nullFailed(I[41], 78, 15, "a");
    if (left == null) dart.nullFailed(I[41], 78, 22, "left");
    if (right == null) dart.nullFailed(I[41], 78, 32, "right");
    if (compare == null) dart.nullFailed(I[41], 78, 43, "compare");
    if (!(dart.notNull(right) - dart.notNull(left) > 32)) dart.assertFailed(null, I[41], 79, 12, "right - left > _INSERTION_SORT_THRESHOLD");
    let sixth = ((dart.notNull(right) - dart.notNull(left) + 1) / 6)[$truncate]();
    let index1 = dart.notNull(left) + sixth;
    let index5 = dart.notNull(right) - sixth;
    let index3 = ((dart.notNull(left) + dart.notNull(right)) / 2)[$truncate]();
    let index2 = index3 - sixth;
    let index4 = index3 + sixth;
    let el1 = a[$_get](index1);
    let el2 = a[$_get](index2);
    let el3 = a[$_get](index3);
    let el4 = a[$_get](index4);
    let el5 = a[$_get](index5);
    if (dart.notNull(compare(el1, el2)) > 0) {
      let t = el1;
      el1 = el2;
      el2 = t;
    }
    if (dart.notNull(compare(el4, el5)) > 0) {
      let t = el4;
      el4 = el5;
      el5 = t;
    }
    if (dart.notNull(compare(el1, el3)) > 0) {
      let t = el1;
      el1 = el3;
      el3 = t;
    }
    if (dart.notNull(compare(el2, el3)) > 0) {
      let t = el2;
      el2 = el3;
      el3 = t;
    }
    if (dart.notNull(compare(el1, el4)) > 0) {
      let t = el1;
      el1 = el4;
      el4 = t;
    }
    if (dart.notNull(compare(el3, el4)) > 0) {
      let t = el3;
      el3 = el4;
      el4 = t;
    }
    if (dart.notNull(compare(el2, el5)) > 0) {
      let t = el2;
      el2 = el5;
      el5 = t;
    }
    if (dart.notNull(compare(el2, el3)) > 0) {
      let t = el2;
      el2 = el3;
      el3 = t;
    }
    if (dart.notNull(compare(el4, el5)) > 0) {
      let t = el4;
      el4 = el5;
      el5 = t;
    }
    let pivot1 = el2;
    let pivot2 = el4;
    a[$_set](index1, el1);
    a[$_set](index3, el3);
    a[$_set](index5, el5);
    a[$_set](index2, a[$_get](left));
    a[$_set](index4, a[$_get](right));
    let less = dart.notNull(left) + 1;
    let great = dart.notNull(right) - 1;
    let pivots_are_equal = compare(pivot1, pivot2) === 0;
    if (pivots_are_equal) {
      let pivot = pivot1;
      for (let k = less; k <= great; k = k + 1) {
        let ak = a[$_get](k);
        let comp = compare(ak, pivot);
        if (comp === 0) continue;
        if (dart.notNull(comp) < 0) {
          if (k !== less) {
            a[$_set](k, a[$_get](less));
            a[$_set](less, ak);
          }
          less = less + 1;
        } else {
          while (true) {
            comp = compare(a[$_get](great), pivot);
            if (dart.notNull(comp) > 0) {
              great = great - 1;
              continue;
            } else if (dart.notNull(comp) < 0) {
              a[$_set](k, a[$_get](less));
              a[$_set]((t81 = less, less = t81 + 1, t81), a[$_get](great));
              a[$_set]((t81$ = great, great = t81$ - 1, t81$), ak);
              break;
            } else {
              a[$_set](k, a[$_get](great));
              a[$_set]((t81$0 = great, great = t81$0 - 1, t81$0), ak);
              break;
            }
          }
        }
      }
    } else {
      for (let k = less; k <= great; k = k + 1) {
        let ak = a[$_get](k);
        let comp_pivot1 = compare(ak, pivot1);
        if (dart.notNull(comp_pivot1) < 0) {
          if (k !== less) {
            a[$_set](k, a[$_get](less));
            a[$_set](less, ak);
          }
          less = less + 1;
        } else {
          let comp_pivot2 = compare(ak, pivot2);
          if (dart.notNull(comp_pivot2) > 0) {
            while (true) {
              let comp = compare(a[$_get](great), pivot2);
              if (dart.notNull(comp) > 0) {
                great = great - 1;
                if (great < k) break;
                continue;
              } else {
                comp = compare(a[$_get](great), pivot1);
                if (dart.notNull(comp) < 0) {
                  a[$_set](k, a[$_get](less));
                  a[$_set]((t81$1 = less, less = t81$1 + 1, t81$1), a[$_get](great));
                  a[$_set]((t81$2 = great, great = t81$2 - 1, t81$2), ak);
                } else {
                  a[$_set](k, a[$_get](great));
                  a[$_set]((t81$3 = great, great = t81$3 - 1, t81$3), ak);
                }
                break;
              }
            }
          }
        }
      }
    }
    a[$_set](left, a[$_get](less - 1));
    a[$_set](less - 1, pivot1);
    a[$_set](right, a[$_get](great + 1));
    a[$_set](great + 1, pivot2);
    _internal.Sort._doSort(E, a, left, less - 2, compare);
    _internal.Sort._doSort(E, a, great + 2, right, compare);
    if (pivots_are_equal) {
      return;
    }
    if (less < index1 && great > index5) {
      while (compare(a[$_get](less), pivot1) === 0) {
        less = less + 1;
      }
      while (compare(a[$_get](great), pivot2) === 0) {
        great = great - 1;
      }
      for (let k = less; k <= great; k = k + 1) {
        let ak = a[$_get](k);
        let comp_pivot1 = compare(ak, pivot1);
        if (comp_pivot1 === 0) {
          if (k !== less) {
            a[$_set](k, a[$_get](less));
            a[$_set](less, ak);
          }
          less = less + 1;
        } else {
          let comp_pivot2 = compare(ak, pivot2);
          if (comp_pivot2 === 0) {
            while (true) {
              let comp = compare(a[$_get](great), pivot2);
              if (comp === 0) {
                great = great - 1;
                if (great < k) break;
                continue;
              } else {
                comp = compare(a[$_get](great), pivot1);
                if (dart.notNull(comp) < 0) {
                  a[$_set](k, a[$_get](less));
                  a[$_set]((t81$4 = less, less = t81$4 + 1, t81$4), a[$_get](great));
                  a[$_set]((t81$5 = great, great = t81$5 - 1, t81$5), ak);
                } else {
                  a[$_set](k, a[$_get](great));
                  a[$_set]((t81$6 = great, great = t81$6 - 1, t81$6), ak);
                }
                break;
              }
            }
          }
        }
      }
      _internal.Sort._doSort(E, a, less, great, compare);
    } else {
      _internal.Sort._doSort(E, a, less, great, compare);
    }
  }
};
(_internal.Sort.new = function() {
  ;
}).prototype = _internal.Sort.prototype;
dart.addTypeTests(_internal.Sort);
dart.addTypeCaches(_internal.Sort);
dart.setLibraryUri(_internal.Sort, I[26]);
dart.defineLazy(_internal.Sort, {
  /*_internal.Sort._INSERTION_SORT_THRESHOLD*/get _INSERTION_SORT_THRESHOLD() {
    return 32;
  }
}, false);
var _name$0 = dart.privateName(_internal, "Symbol._name");
_internal.Symbol = class Symbol extends core.Object {
  get [_name$]() {
    return this[_name$0];
  }
  set [_name$](value) {
    super[_name$] = value;
  }
  _equals(other) {
    if (other == null) return false;
    return _internal.Symbol.is(other) && this[_name$] == other[_name$];
  }
  get hashCode() {
    let hash = this._hashCode;
    if (hash != null) return hash;
    hash = 536870911 & 664597 * dart.hashCode(this[_name$]);
    this._hashCode = hash;
    return hash;
  }
  toString() {
    return "Symbol(\"" + dart.str(this[_name$]) + "\")";
  }
  static getName(symbol) {
    if (symbol == null) dart.nullFailed(I[43], 35, 32, "symbol");
    return symbol[_name$];
  }
  static computeUnmangledName(symbol) {
    if (symbol == null) dart.nullFailed(I[42], 36, 45, "symbol");
    return symbol[_name$];
  }
};
(_internal.Symbol.new = function(name) {
  if (name == null) dart.nullFailed(I[42], 20, 23, "name");
  this[_name$0] = name;
  ;
}).prototype = _internal.Symbol.prototype;
(_internal.Symbol.unvalidated = function(_name) {
  if (_name == null) dart.nullFailed(I[43], 26, 33, "_name");
  this[_name$0] = _name;
  ;
}).prototype = _internal.Symbol.prototype;
dart.addTypeTests(_internal.Symbol);
dart.addTypeCaches(_internal.Symbol);
_internal.Symbol[dart.implements] = () => [core.Symbol];
dart.setMethodSignature(_internal.Symbol, () => ({
  __proto__: dart.getMethods(_internal.Symbol.__proto__),
  toString: dart.fnType(dart.dynamic, []),
  [$toString]: dart.fnType(dart.dynamic, [])
}));
dart.setLibraryUri(_internal.Symbol, I[26]);
dart.setFieldSignature(_internal.Symbol, () => ({
  __proto__: dart.getFields(_internal.Symbol.__proto__),
  [_name$]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_internal.Symbol, ['_equals', 'toString']);
dart.defineExtensionAccessors(_internal.Symbol, ['hashCode']);
_internal.createSentinel = function createSentinel(T) {
  return dart.throw(new core.UnsupportedError.new("createSentinel"));
};
_internal.isSentinel = function isSentinel(value) {
  return dart.throw(new core.UnsupportedError.new("isSentinel"));
};
_internal.typeAcceptsNull = function typeAcceptsNull(T) {
  return !false || T.is(null);
};
_internal.hexDigitValue = function hexDigitValue(char) {
  if (char == null) dart.nullFailed(I[22], 100, 23, "char");
  if (!(dart.notNull(char) >= 0 && dart.notNull(char) <= 65535)) dart.assertFailed(null, I[22], 101, 10, "char >= 0 && char <= 0xFFFF");
  let digit = (dart.notNull(char) ^ 48) >>> 0;
  if (digit <= 9) return digit;
  let letter = (dart.notNull(char) | 32) >>> 0;
  if (97 <= letter && letter <= 102) return letter - (97 - 10);
  return -1;
};
_internal.parseHexByte = function parseHexByte(source, index) {
  if (source == null) dart.nullFailed(I[22], 115, 25, "source");
  if (index == null) dart.nullFailed(I[22], 115, 37, "index");
  if (!(dart.notNull(index) + 2 <= source.length)) dart.assertFailed(null, I[22], 116, 10, "index + 2 <= source.length");
  let digit1 = _internal.hexDigitValue(source[$codeUnitAt](index));
  let digit2 = _internal.hexDigitValue(source[$codeUnitAt](dart.notNull(index) + 1));
  return dart.notNull(digit1) * 16 + dart.notNull(digit2) - (dart.notNull(digit2) & 256);
};
_internal.extractTypeArguments = function extractTypeArguments$(T, instance, extract) {
  if (extract == null) dart.nullFailed(I[42], 57, 54, "extract");
  return dart.extractTypeArguments(T, instance, extract);
};
_internal.checkNotNullable = function checkNotNullable(T, value, name) {
  if (value == null) dart.nullFailed(I[22], 741, 40, "value");
  if (name == null) dart.nullFailed(I[22], 741, 54, "name");
  if (value == null) {
    dart.throw(new (_internal.NotNullableError$(T)).new(name));
  }
  return value;
};
_internal.valueOfNonNullableParamWithDefault = function valueOfNonNullableParamWithDefault(T, value, defaultVal) {
  if (value == null) dart.nullFailed(I[22], 766, 58, "value");
  if (defaultVal == null) dart.nullFailed(I[22], 766, 67, "defaultVal");
  if (value == null) {
    return defaultVal;
  } else {
    return value;
  }
};
_internal._checkCount = function _checkCount(count) {
  if (count == null) dart.nullFailed(I[38], 626, 21, "count");
  core.ArgumentError.checkNotNull(core.int, count, "count");
  core.RangeError.checkNotNegative(count, "count");
  return count;
};
_internal.makeListFixedLength = function makeListFixedLength(T, growableList) {
  if (growableList == null) dart.nullFailed(I[42], 45, 40, "growableList");
  _interceptors.JSArray.markFixedList(growableList);
  return growableList;
};
_internal.makeFixedListUnmodifiable = function makeFixedListUnmodifiable(T, fixedLengthList) {
  if (fixedLengthList == null) dart.nullFailed(I[42], 51, 46, "fixedLengthList");
  _interceptors.JSArray.markUnmodifiableList(fixedLengthList);
  return fixedLengthList;
};
_internal.printToConsole = function printToConsole(line) {
  if (line == null) dart.nullFailed(I[42], 40, 28, "line");
  _js_primitives.printString(dart.str(line));
};
dart.defineLazy(_internal, {
  /*_internal.POWERS_OF_TEN*/get POWERS_OF_TEN() {
    return C[22] || CT.C22;
  },
  /*_internal.nullFuture*/get nullFuture() {
    return async.Zone.root.run(T$.FutureOfNull(), dart.fn(() => T$.FutureOfNull().value(null), T$.VoidToFutureOfNull()));
  },
  /*_internal.sentinelValue*/get sentinelValue() {
    return C[0] || CT.C0;
  },
  /*_internal.printToZone*/get printToZone() {
    return null;
  },
  set printToZone(_) {}
}, false);
var _handle = dart.privateName(_isolate_helper, "_handle");
var _tick = dart.privateName(_isolate_helper, "_tick");
var _once = dart.privateName(_isolate_helper, "_once");
_isolate_helper.TimerImpl = class TimerImpl extends core.Object {
  get tick() {
    return this[_tick];
  }
  cancel() {
    if (dart.test(_isolate_helper.hasTimer())) {
      if (this[_handle] == null) return;
      dart.removeAsyncCallback();
      if (dart.test(this[_once])) {
        _isolate_helper.global.clearTimeout(this[_handle]);
      } else {
        _isolate_helper.global.clearInterval(this[_handle]);
      }
      this[_handle] = null;
    } else {
      dart.throw(new core.UnsupportedError.new("Canceling a timer."));
    }
  }
  get isActive() {
    return this[_handle] != null;
  }
};
(_isolate_helper.TimerImpl.new = function(milliseconds, callback) {
  if (milliseconds == null) dart.nullFailed(I[44], 40, 17, "milliseconds");
  if (callback == null) dart.nullFailed(I[44], 40, 36, "callback");
  this[_handle] = null;
  this[_tick] = 0;
  this[_once] = true;
  if (dart.test(_isolate_helper.hasTimer())) {
    let currentHotRestartIteration = dart.hotRestartIteration;
    const internalCallback = () => {
      this[_handle] = null;
      dart.removeAsyncCallback();
      this[_tick] = 1;
      if (currentHotRestartIteration == dart.hotRestartIteration) {
        callback();
      }
    };
    dart.fn(internalCallback, T$.VoidTovoid());
    dart.addAsyncCallback();
    this[_handle] = _isolate_helper.global.setTimeout(internalCallback, milliseconds);
  } else {
    dart.throw(new core.UnsupportedError.new("`setTimeout()` not found."));
  }
}).prototype = _isolate_helper.TimerImpl.prototype;
(_isolate_helper.TimerImpl.periodic = function(milliseconds, callback) {
  if (milliseconds == null) dart.nullFailed(I[44], 61, 26, "milliseconds");
  if (callback == null) dart.nullFailed(I[44], 61, 45, "callback");
  this[_handle] = null;
  this[_tick] = 0;
  this[_once] = false;
  if (dart.test(_isolate_helper.hasTimer())) {
    dart.addAsyncCallback();
    let start = Date.now();
    let currentHotRestartIteration = dart.hotRestartIteration;
    this[_handle] = _isolate_helper.global.setInterval(dart.fn(() => {
      if (currentHotRestartIteration != dart.hotRestartIteration) {
        this.cancel();
        return;
      }
      let tick = dart.notNull(this[_tick]) + 1;
      if (dart.notNull(milliseconds) > 0) {
        let duration = Date.now() - start;
        if (duration > (tick + 1) * dart.notNull(milliseconds)) {
          tick = (duration / dart.notNull(milliseconds))[$truncate]();
        }
      }
      this[_tick] = tick;
      callback(this);
    }, T$.VoidToNull()), milliseconds);
  } else {
    dart.throw(new core.UnsupportedError.new("Periodic timer."));
  }
}).prototype = _isolate_helper.TimerImpl.prototype;
dart.addTypeTests(_isolate_helper.TimerImpl);
dart.addTypeCaches(_isolate_helper.TimerImpl);
_isolate_helper.TimerImpl[dart.implements] = () => [async.Timer];
dart.setMethodSignature(_isolate_helper.TimerImpl, () => ({
  __proto__: dart.getMethods(_isolate_helper.TimerImpl.__proto__),
  cancel: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(_isolate_helper.TimerImpl, () => ({
  __proto__: dart.getGetters(_isolate_helper.TimerImpl.__proto__),
  tick: core.int,
  isActive: core.bool
}));
dart.setLibraryUri(_isolate_helper.TimerImpl, I[45]);
dart.setFieldSignature(_isolate_helper.TimerImpl, () => ({
  __proto__: dart.getFields(_isolate_helper.TimerImpl.__proto__),
  [_once]: dart.finalFieldType(core.bool),
  [_handle]: dart.fieldType(dart.nullable(core.int)),
  [_tick]: dart.fieldType(core.int)
}));
_isolate_helper.startRootIsolate = function startRootIsolate(main, args) {
  if (args == null) args = T$.JSArrayOfString().of([]);
  if (core.List.is(args)) {
    if (!T$.ListOfString().is(args)) args = T$.ListOfString().from(args);
    if (typeof main == "function") {
      main(args, null);
    } else {
      dart.dcall(main, [args]);
    }
  } else {
    dart.throw(new core.ArgumentError.new("Arguments to main must be a List: " + dart.str(args)));
  }
};
_isolate_helper.hasTimer = function hasTimer() {
  return _isolate_helper.global.setTimeout != null;
};
dart.defineLazy(_isolate_helper, {
  /*_isolate_helper.global*/get global() {
    return dart.global;
  }
}, false);
_js_helper._Patch = class _Patch extends core.Object {};
(_js_helper._Patch.new = function() {
  ;
}).prototype = _js_helper._Patch.prototype;
dart.addTypeTests(_js_helper._Patch);
dart.addTypeCaches(_js_helper._Patch);
dart.setLibraryUri(_js_helper._Patch, I[46]);
var _current$0 = dart.privateName(_js_helper, "_current");
var _jsIterator$ = dart.privateName(_js_helper, "_jsIterator");
const _is_DartIterator_default = Symbol('_is_DartIterator_default');
_js_helper.DartIterator$ = dart.generic(E => {
  class DartIterator extends core.Object {
    get current() {
      return E.as(this[_current$0]);
    }
    moveNext() {
      let ret = this[_jsIterator$].next();
      this[_current$0] = ret.value;
      return !ret.done;
    }
  }
  (DartIterator.new = function(_jsIterator) {
    this[_current$0] = null;
    this[_jsIterator$] = _jsIterator;
    ;
  }).prototype = DartIterator.prototype;
  dart.addTypeTests(DartIterator);
  DartIterator.prototype[_is_DartIterator_default] = true;
  dart.addTypeCaches(DartIterator);
  DartIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(DartIterator, () => ({
    __proto__: dart.getMethods(DartIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(DartIterator, () => ({
    __proto__: dart.getGetters(DartIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(DartIterator, I[46]);
  dart.setFieldSignature(DartIterator, () => ({
    __proto__: dart.getFields(DartIterator.__proto__),
    [_jsIterator$]: dart.finalFieldType(dart.dynamic),
    [_current$0]: dart.fieldType(dart.nullable(E))
  }));
  return DartIterator;
});
_js_helper.DartIterator = _js_helper.DartIterator$();
dart.addTypeTests(_js_helper.DartIterator, _is_DartIterator_default);
var _initGenerator$ = dart.privateName(_js_helper, "_initGenerator");
const _is_SyncIterable_default = Symbol('_is_SyncIterable_default');
_js_helper.SyncIterable$ = dart.generic(E => {
  var __t$DartIteratorOfE = () => (__t$DartIteratorOfE = dart.constFn(_js_helper.DartIterator$(E)))();
  class SyncIterable extends collection.IterableBase$(E) {
    [Symbol.iterator]() {
      return this[_initGenerator$]();
    }
    get iterator() {
      return new (__t$DartIteratorOfE()).new(this[_initGenerator$]());
    }
  }
  (SyncIterable.new = function(_initGenerator) {
    if (_initGenerator == null) dart.nullFailed(I[47], 62, 21, "_initGenerator");
    this[_initGenerator$] = _initGenerator;
    SyncIterable.__proto__.new.call(this);
    ;
  }).prototype = SyncIterable.prototype;
  dart.addTypeTests(SyncIterable);
  SyncIterable.prototype[_is_SyncIterable_default] = true;
  dart.addTypeCaches(SyncIterable);
  dart.setMethodSignature(SyncIterable, () => ({
    __proto__: dart.getMethods(SyncIterable.__proto__),
    [Symbol.iterator]: dart.fnType(dart.dynamic, [])
  }));
  dart.setGetterSignature(SyncIterable, () => ({
    __proto__: dart.getGetters(SyncIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(SyncIterable, I[46]);
  dart.setFieldSignature(SyncIterable, () => ({
    __proto__: dart.getFields(SyncIterable.__proto__),
    [_initGenerator$]: dart.finalFieldType(dart.fnType(dart.dynamic, []))
  }));
  dart.defineExtensionAccessors(SyncIterable, ['iterator']);
  return SyncIterable;
});
_js_helper.SyncIterable = _js_helper.SyncIterable$();
dart.addTypeTests(_js_helper.SyncIterable, _is_SyncIterable_default);
_js_helper.Primitives = class Primitives extends core.Object {
  static parseInt(source, _radix) {
    if (source == null) dart.argumentError(source);
    let re = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i;
    let match = re.exec(source);
    let digitsIndex = 1;
    let hexIndex = 2;
    let decimalIndex = 3;
    if (match == null) {
      return null;
    }
    let decimalMatch = match[$_get](decimalIndex);
    if (_radix == null) {
      if (decimalMatch != null) {
        return parseInt(source, 10);
      }
      if (match[$_get](hexIndex) != null) {
        return parseInt(source, 16);
      }
      return null;
    }
    let radix = _radix;
    if (radix < 2 || radix > 36) {
      dart.throw(new core.RangeError.range(radix, 2, 36, "radix"));
    }
    if (radix === 10 && decimalMatch != null) {
      return parseInt(source, 10);
    }
    if (radix < 10 || decimalMatch == null) {
      let maxCharCode = null;
      if (radix <= 10) {
        maxCharCode = 48 - 1 + radix;
      } else {
        maxCharCode = 97 - 10 - 1 + radix;
      }
      if (!(typeof match[$_get](digitsIndex) == 'string')) dart.assertFailed(null, I[47], 127, 14, "match[digitsIndex] is String");
      let digitsPart = match[digitsIndex];
      for (let i = 0; i < digitsPart.length; i = i + 1) {
        let characterCode = (digitsPart[$codeUnitAt](i) | 32) >>> 0;
        if (characterCode > dart.notNull(maxCharCode)) {
          return null;
        }
      }
    }
    return parseInt(source, radix);
  }
  static parseDouble(source) {
    if (source == null) dart.argumentError(source);
    if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source)) {
      return null;
    }
    let result = parseFloat(source);
    if (result[$isNaN]) {
      let trimmed = source[$trim]();
      if (trimmed === "NaN" || trimmed === "+NaN" || trimmed === "-NaN") {
        return result;
      }
      return null;
    }
    return result;
  }
  static dateNow() {
    return Date.now();
  }
  static initTicker() {
    if (_js_helper.Primitives.timerFrequency !== 0) return;
    _js_helper.Primitives.timerFrequency = 1000;
    if (typeof window == "undefined") return;
    let jsWindow = window;
    if (jsWindow == null) return;
    let performance = jsWindow.performance;
    if (performance == null) return;
    if (typeof performance.now != "function") return;
    _js_helper.Primitives.timerFrequency = 1000000;
    _js_helper.Primitives.timerTicks = dart.fn(() => (1000 * performance.now())[$floor](), T$.VoidToint());
  }
  static get isD8() {
    return typeof version == "function" && typeof os == "object" && "system" in os;
  }
  static get isJsshell() {
    return typeof version == "function" && typeof system == "function";
  }
  static currentUri() {
    if (!!dart.global.location) {
      return dart.global.location.href;
    }
    return "";
  }
  static _fromCharCodeApply(array) {
    if (array == null) dart.nullFailed(I[47], 214, 46, "array");
    let end = dart.notNull(array[$length]);
    if (end <= 500) {
      return String.fromCharCode.apply(null, array);
    }
    let result = "";
    for (let i = 0; i < end; i = i + 500) {
      let chunkEnd = i + 500 < end ? i + 500 : end;
      result = result + String.fromCharCode.apply(null, array.slice(i, chunkEnd));
    }
    return result;
  }
  static stringFromCodePoints(codePoints) {
    if (codePoints == null) dart.nullFailed(I[47], 236, 51, "codePoints");
    let a = T$.JSArrayOfint().of([]);
    for (let i of codePoints) {
      if (i == null) dart.argumentError(i);
      {
        if (i <= 65535) {
          a[$add](i);
        } else if (i <= 1114111) {
          a[$add](55296 + (i - 65536 >> 10 & 1023));
          a[$add](56320 + (i & 1023));
        } else {
          dart.throw(_js_helper.argumentErrorValue(i));
        }
      }
    }
    return _js_helper.Primitives._fromCharCodeApply(a);
  }
  static stringFromCharCodes(charCodes) {
    if (charCodes == null) dart.nullFailed(I[47], 252, 50, "charCodes");
    for (let i of charCodes) {
      if (i == null) dart.argumentError(i);
      {
        if (i < 0) dart.throw(_js_helper.argumentErrorValue(i));
        if (i > 65535) return _js_helper.Primitives.stringFromCodePoints(charCodes);
      }
    }
    return _js_helper.Primitives._fromCharCodeApply(charCodes);
  }
  static stringFromNativeUint8List(charCodes, start, end) {
    if (charCodes == null) dart.nullFailed(I[47], 263, 23, "charCodes");
    if (start == null) dart.argumentError(start);
    if (end == null) dart.argumentError(end);
    if (end <= 500 && start === 0 && end === charCodes[$length]) {
      return String.fromCharCode.apply(null, charCodes);
    }
    let result = "";
    for (let i = start; i < end; i = i + 500) {
      let chunkEnd = i + 500 < end ? i + 500 : end;
      result = result + String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd));
    }
    return result;
  }
  static stringFromCharCode(charCode) {
    if (charCode == null) dart.argumentError(charCode);
    if (0 <= charCode) {
      if (charCode <= 65535) {
        return String.fromCharCode(charCode);
      }
      if (charCode <= 1114111) {
        let bits = charCode - 65536;
        let low = 56320 | bits & 1023;
        let high = (55296 | bits[$rightShift](10)) >>> 0;
        return String.fromCharCode(high, low);
      }
    }
    dart.throw(new core.RangeError.range(charCode, 0, 1114111));
  }
  static flattenString(str) {
    if (str == null) dart.nullFailed(I[47], 298, 38, "str");
    return str.charCodeAt(0) == 0 ? str : str;
  }
  static getTimeZoneName(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 302, 42, "receiver");
    let d = _js_helper.Primitives.lazyAsJsDate(receiver);
    let match = /\((.*)\)/.exec(d.toString());
    if (match != null) return match[$_get](1);
    match = /^[A-Z,a-z]{3}\s[A-Z,a-z]{3}\s\d+\s\d{2}:\d{2}:\d{2}\s([A-Z]{3,5})\s\d{4}$/.exec(d.toString());
    if (match != null) return match[$_get](1);
    match = /(?:GMT|UTC)[+-]\d{4}/.exec(d.toString());
    if (match != null) return match[$_get](0);
    return "";
  }
  static getTimeZoneOffsetInMinutes(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 342, 50, "receiver");
    return -_js_helper.Primitives.lazyAsJsDate(receiver).getTimezoneOffset();
  }
  static valueFromDecomposedDate(years, month, day, hours, minutes, seconds, milliseconds, isUtc) {
    if (years == null) dart.argumentError(years);
    if (month == null) dart.argumentError(month);
    if (day == null) dart.argumentError(day);
    if (hours == null) dart.argumentError(hours);
    if (minutes == null) dart.argumentError(minutes);
    if (seconds == null) dart.argumentError(seconds);
    if (milliseconds == null) dart.argumentError(milliseconds);
    if (isUtc == null) dart.argumentError(isUtc);
    let MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000;
    let jsMonth = month - 1;
    if (0 <= years && years < 100) {
      years = years + 400;
      jsMonth = jsMonth - 400 * 12;
    }
    let value = null;
    if (isUtc) {
      value = Date.UTC(years, jsMonth, day, hours, minutes, seconds, milliseconds);
    } else {
      value = new Date(years, jsMonth, day, hours, minutes, seconds, milliseconds).valueOf();
    }
    if (value[$isNaN] || dart.notNull(value) < -MAX_MILLISECONDS_SINCE_EPOCH || dart.notNull(value) > MAX_MILLISECONDS_SINCE_EPOCH) {
      return null;
    }
    if (years <= 0 || years < 100) return _js_helper.Primitives.patchUpY2K(value, years, isUtc);
    return value;
  }
  static patchUpY2K(value, years, isUtc) {
    let date = new Date(value);
    if (dart.dtest(isUtc)) {
      date.setUTCFullYear(years);
    } else {
      date.setFullYear(years);
    }
    return date.valueOf();
  }
  static lazyAsJsDate(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 394, 32, "receiver");
    if (receiver.date === void 0) {
      receiver.date = new Date(receiver.millisecondsSinceEpoch);
    }
    return receiver.date;
  }
  static getYear(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 406, 31, "receiver");
    return dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCFullYear() + 0 : _js_helper.Primitives.lazyAsJsDate(receiver).getFullYear() + 0;
  }
  static getMonth(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 412, 32, "receiver");
    return dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCMonth() + 1 : _js_helper.Primitives.lazyAsJsDate(receiver).getMonth() + 1;
  }
  static getDay(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 418, 30, "receiver");
    return dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCDate() + 0 : _js_helper.Primitives.lazyAsJsDate(receiver).getDate() + 0;
  }
  static getHours(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 424, 32, "receiver");
    return dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCHours() + 0 : _js_helper.Primitives.lazyAsJsDate(receiver).getHours() + 0;
  }
  static getMinutes(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 430, 34, "receiver");
    return dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCMinutes() + 0 : _js_helper.Primitives.lazyAsJsDate(receiver).getMinutes() + 0;
  }
  static getSeconds(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 436, 34, "receiver");
    return dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCSeconds() + 0 : _js_helper.Primitives.lazyAsJsDate(receiver).getSeconds() + 0;
  }
  static getMilliseconds(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 442, 39, "receiver");
    return dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : _js_helper.Primitives.lazyAsJsDate(receiver).getMilliseconds() + 0;
  }
  static getWeekday(receiver) {
    if (receiver == null) dart.nullFailed(I[47], 448, 34, "receiver");
    let weekday = dart.test(receiver.isUtc) ? _js_helper.Primitives.lazyAsJsDate(receiver).getUTCDay() + 0 : _js_helper.Primitives.lazyAsJsDate(receiver).getDay() + 0;
    return (weekday + 6)[$modulo](7) + 1;
  }
  static valueFromDateString(str) {
    if (!(typeof str == 'string')) dart.throw(_js_helper.argumentErrorValue(str));
    let value = Date.parse(str);
    if (value[$isNaN]) dart.throw(_js_helper.argumentErrorValue(str));
    return value;
  }
  static getProperty(object, key) {
    if (key == null) dart.nullFailed(I[47], 463, 53, "key");
    if (object == null || typeof object == 'boolean' || typeof object == 'number' || typeof object == 'string') {
      dart.throw(_js_helper.argumentErrorValue(object));
    }
    return object[key];
  }
  static setProperty(object, key, value) {
    if (object == null || typeof object == 'boolean' || typeof object == 'number' || typeof object == 'string') {
      dart.throw(_js_helper.argumentErrorValue(object));
    }
    object[key] = value;
  }
};
(_js_helper.Primitives.new = function() {
  ;
}).prototype = _js_helper.Primitives.prototype;
dart.addTypeTests(_js_helper.Primitives);
dart.addTypeCaches(_js_helper.Primitives);
dart.setLibraryUri(_js_helper.Primitives, I[46]);
dart.defineLazy(_js_helper.Primitives, {
  /*_js_helper.Primitives.DOLLAR_CHAR_VALUE*/get DOLLAR_CHAR_VALUE() {
    return 36;
  },
  /*_js_helper.Primitives.timerFrequency*/get timerFrequency() {
    return 0;
  },
  set timerFrequency(_) {},
  /*_js_helper.Primitives.timerTicks*/get timerTicks() {
    return C[23] || CT.C23;
  },
  set timerTicks(_) {}
}, false);
var _receiver$0 = dart.privateName(_js_helper, "JsNoSuchMethodError._receiver");
var _message$0 = dart.privateName(_js_helper, "_message");
var _method = dart.privateName(_js_helper, "_method");
var _receiver$1 = dart.privateName(_js_helper, "_receiver");
var _arguments$0 = dart.privateName(_js_helper, "_arguments");
var _memberName$0 = dart.privateName(_js_helper, "_memberName");
var _invocation$0 = dart.privateName(_js_helper, "_invocation");
var _namedArguments$0 = dart.privateName(_js_helper, "_namedArguments");
_js_helper.JsNoSuchMethodError = class JsNoSuchMethodError extends core.Error {
  get [_receiver$1]() {
    return this[_receiver$0];
  }
  set [_receiver$1](value) {
    super[_receiver$1] = value;
  }
  toString() {
    if (this[_method] == null) return "NoSuchMethodError: " + dart.str(this[_message$0]);
    if (this[_receiver$1] == null) {
      return "NoSuchMethodError: method not found: '" + dart.str(this[_method]) + "' (" + dart.str(this[_message$0]) + ")";
    }
    return "NoSuchMethodError: " + "method not found: '" + dart.str(this[_method]) + "' on '" + dart.str(this[_receiver$1]) + "' (" + dart.str(this[_message$0]) + ")";
  }
  get [_receiver$]() {
    return this[$noSuchMethod](new core._Invocation.getter(C[24] || CT.C24));
  }
  get [_arguments$]() {
    return T$.ListN().as(this[$noSuchMethod](new core._Invocation.getter(C[25] || CT.C25)));
  }
  get [_memberName$]() {
    return core.Symbol.as(this[$noSuchMethod](new core._Invocation.getter(C[26] || CT.C26)));
  }
  get [_invocation$]() {
    return T$.InvocationN().as(this[$noSuchMethod](new core._Invocation.getter(C[27] || CT.C27)));
  }
  get [_namedArguments$]() {
    return T$.MapNOfSymbol$dynamic().as(this[$noSuchMethod](new core._Invocation.getter(C[28] || CT.C28)));
  }
};
(_js_helper.JsNoSuchMethodError.new = function(_message, match) {
  this[_message$0] = _message;
  this[_method] = match == null ? null : match.method;
  this[_receiver$0] = match == null ? null : match.receiver;
  _js_helper.JsNoSuchMethodError.__proto__.new.call(this);
  ;
}).prototype = _js_helper.JsNoSuchMethodError.prototype;
dart.addTypeTests(_js_helper.JsNoSuchMethodError);
dart.addTypeCaches(_js_helper.JsNoSuchMethodError);
_js_helper.JsNoSuchMethodError[dart.implements] = () => [core.NoSuchMethodError];
dart.setGetterSignature(_js_helper.JsNoSuchMethodError, () => ({
  __proto__: dart.getGetters(_js_helper.JsNoSuchMethodError.__proto__),
  [_receiver$]: dart.nullable(core.Object),
  [_arguments$]: dart.nullable(core.List),
  [_memberName$]: core.Symbol,
  [_invocation$]: dart.nullable(core.Invocation),
  [_namedArguments$]: dart.nullable(core.Map$(core.Symbol, dart.dynamic))
}));
dart.setLibraryUri(_js_helper.JsNoSuchMethodError, I[46]);
dart.setFieldSignature(_js_helper.JsNoSuchMethodError, () => ({
  __proto__: dart.getFields(_js_helper.JsNoSuchMethodError.__proto__),
  [_message$0]: dart.finalFieldType(dart.nullable(core.String)),
  [_method]: dart.finalFieldType(dart.nullable(core.String)),
  [_receiver$1]: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(_js_helper.JsNoSuchMethodError, ['toString']);
_js_helper.UnknownJsTypeError = class UnknownJsTypeError extends core.Error {
  toString() {
    return this[_message$0][$isEmpty] ? "Error" : "Error: " + dart.str(this[_message$0]);
  }
};
(_js_helper.UnknownJsTypeError.new = function(_message) {
  if (_message == null) dart.nullFailed(I[47], 570, 27, "_message");
  this[_message$0] = _message;
  _js_helper.UnknownJsTypeError.__proto__.new.call(this);
  ;
}).prototype = _js_helper.UnknownJsTypeError.prototype;
dart.addTypeTests(_js_helper.UnknownJsTypeError);
dart.addTypeCaches(_js_helper.UnknownJsTypeError);
dart.setLibraryUri(_js_helper.UnknownJsTypeError, I[46]);
dart.setFieldSignature(_js_helper.UnknownJsTypeError, () => ({
  __proto__: dart.getFields(_js_helper.UnknownJsTypeError.__proto__),
  [_message$0]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_js_helper.UnknownJsTypeError, ['toString']);
var types$0 = dart.privateName(_js_helper, "Creates.types");
_js_helper.Creates = class Creates extends core.Object {
  get types() {
    return this[types$0];
  }
  set types(value) {
    super.types = value;
  }
};
(_js_helper.Creates.new = function(types) {
  if (types == null) dart.nullFailed(I[47], 644, 22, "types");
  this[types$0] = types;
  ;
}).prototype = _js_helper.Creates.prototype;
dart.addTypeTests(_js_helper.Creates);
dart.addTypeCaches(_js_helper.Creates);
dart.setLibraryUri(_js_helper.Creates, I[46]);
dart.setFieldSignature(_js_helper.Creates, () => ({
  __proto__: dart.getFields(_js_helper.Creates.__proto__),
  types: dart.finalFieldType(core.String)
}));
var types$1 = dart.privateName(_js_helper, "Returns.types");
_js_helper.Returns = class Returns extends core.Object {
  get types() {
    return this[types$1];
  }
  set types(value) {
    super.types = value;
  }
};
(_js_helper.Returns.new = function(types) {
  if (types == null) dart.nullFailed(I[47], 670, 22, "types");
  this[types$1] = types;
  ;
}).prototype = _js_helper.Returns.prototype;
dart.addTypeTests(_js_helper.Returns);
dart.addTypeCaches(_js_helper.Returns);
dart.setLibraryUri(_js_helper.Returns, I[46]);
dart.setFieldSignature(_js_helper.Returns, () => ({
  __proto__: dart.getFields(_js_helper.Returns.__proto__),
  types: dart.finalFieldType(core.String)
}));
var name$6 = dart.privateName(_js_helper, "JSName.name");
_js_helper.JSName = class JSName extends core.Object {
  get name() {
    return this[name$6];
  }
  set name(value) {
    super.name = value;
  }
};
(_js_helper.JSName.new = function(name) {
  if (name == null) dart.nullFailed(I[47], 687, 21, "name");
  this[name$6] = name;
  ;
}).prototype = _js_helper.JSName.prototype;
dart.addTypeTests(_js_helper.JSName);
dart.addTypeCaches(_js_helper.JSName);
dart.setLibraryUri(_js_helper.JSName, I[46]);
dart.setFieldSignature(_js_helper.JSName, () => ({
  __proto__: dart.getFields(_js_helper.JSName.__proto__),
  name: dart.finalFieldType(core.String)
}));
const _is_JavaScriptIndexingBehavior_default = Symbol('_is_JavaScriptIndexingBehavior_default');
_js_helper.JavaScriptIndexingBehavior$ = dart.generic(E => {
  class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable$(E) {}
  (JavaScriptIndexingBehavior.new = function() {
    ;
  }).prototype = JavaScriptIndexingBehavior.prototype;
  dart.addTypeTests(JavaScriptIndexingBehavior);
  JavaScriptIndexingBehavior.prototype[_is_JavaScriptIndexingBehavior_default] = true;
  dart.addTypeCaches(JavaScriptIndexingBehavior);
  dart.setLibraryUri(JavaScriptIndexingBehavior, I[46]);
  return JavaScriptIndexingBehavior;
});
_js_helper.JavaScriptIndexingBehavior = _js_helper.JavaScriptIndexingBehavior$();
dart.addTypeTests(_js_helper.JavaScriptIndexingBehavior, _is_JavaScriptIndexingBehavior_default);
_js_helper.TypeErrorImpl = class TypeErrorImpl extends core.Error {
  toString() {
    return this[_message$0];
  }
};
(_js_helper.TypeErrorImpl.new = function(_message) {
  if (_message == null) dart.nullFailed(I[47], 701, 22, "_message");
  this[_message$0] = _message;
  _js_helper.TypeErrorImpl.__proto__.new.call(this);
  ;
}).prototype = _js_helper.TypeErrorImpl.prototype;
dart.addTypeTests(_js_helper.TypeErrorImpl);
dart.addTypeCaches(_js_helper.TypeErrorImpl);
_js_helper.TypeErrorImpl[dart.implements] = () => [core.TypeError, core.CastError];
dart.setLibraryUri(_js_helper.TypeErrorImpl, I[46]);
dart.setFieldSignature(_js_helper.TypeErrorImpl, () => ({
  __proto__: dart.getFields(_js_helper.TypeErrorImpl.__proto__),
  [_message$0]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_js_helper.TypeErrorImpl, ['toString']);
_js_helper.CastErrorImpl = class CastErrorImpl extends core.Error {
  toString() {
    return this[_message$0];
  }
};
(_js_helper.CastErrorImpl.new = function(_message) {
  if (_message == null) dart.nullFailed(I[47], 710, 22, "_message");
  this[_message$0] = _message;
  _js_helper.CastErrorImpl.__proto__.new.call(this);
  ;
}).prototype = _js_helper.CastErrorImpl.prototype;
dart.addTypeTests(_js_helper.CastErrorImpl);
dart.addTypeCaches(_js_helper.CastErrorImpl);
_js_helper.CastErrorImpl[dart.implements] = () => [core.CastError, core.TypeError];
dart.setLibraryUri(_js_helper.CastErrorImpl, I[46]);
dart.setFieldSignature(_js_helper.CastErrorImpl, () => ({
  __proto__: dart.getFields(_js_helper.CastErrorImpl.__proto__),
  [_message$0]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_js_helper.CastErrorImpl, ['toString']);
core.FallThroughError = class FallThroughError extends core.Error {
  toString() {
    return super[$toString]();
  }
};
(core.FallThroughError.new = function() {
  core.FallThroughError.__proto__.new.call(this);
  ;
}).prototype = core.FallThroughError.prototype;
(core.FallThroughError._create = function(url, line) {
  if (url == null) dart.nullFailed(I[7], 291, 35, "url");
  if (line == null) dart.nullFailed(I[7], 291, 44, "line");
  core.FallThroughError.__proto__.new.call(this);
  ;
}).prototype = core.FallThroughError.prototype;
dart.addTypeTests(core.FallThroughError);
dart.addTypeCaches(core.FallThroughError);
dart.setLibraryUri(core.FallThroughError, I[9]);
dart.defineExtensionMethods(core.FallThroughError, ['toString']);
_js_helper.FallThroughErrorImplementation = class FallThroughErrorImplementation extends core.FallThroughError {
  toString() {
    return "Switch case fall-through.";
  }
};
(_js_helper.FallThroughErrorImplementation.new = function() {
  _js_helper.FallThroughErrorImplementation.__proto__.new.call(this);
  ;
}).prototype = _js_helper.FallThroughErrorImplementation.prototype;
dart.addTypeTests(_js_helper.FallThroughErrorImplementation);
dart.addTypeCaches(_js_helper.FallThroughErrorImplementation);
dart.setLibraryUri(_js_helper.FallThroughErrorImplementation, I[46]);
dart.defineExtensionMethods(_js_helper.FallThroughErrorImplementation, ['toString']);
var message$ = dart.privateName(_js_helper, "RuntimeError.message");
_js_helper.RuntimeError = class RuntimeError extends core.Error {
  get message() {
    return this[message$];
  }
  set message(value) {
    super.message = value;
  }
  toString() {
    return "RuntimeError: " + dart.str(this.message);
  }
};
(_js_helper.RuntimeError.new = function(message) {
  this[message$] = message;
  _js_helper.RuntimeError.__proto__.new.call(this);
  ;
}).prototype = _js_helper.RuntimeError.prototype;
dart.addTypeTests(_js_helper.RuntimeError);
dart.addTypeCaches(_js_helper.RuntimeError);
dart.setLibraryUri(_js_helper.RuntimeError, I[46]);
dart.setFieldSignature(_js_helper.RuntimeError, () => ({
  __proto__: dart.getFields(_js_helper.RuntimeError.__proto__),
  message: dart.finalFieldType(dart.dynamic)
}));
dart.defineExtensionMethods(_js_helper.RuntimeError, ['toString']);
var enclosingLibrary$ = dart.privateName(_js_helper, "DeferredNotLoadedError.enclosingLibrary");
var importPrefix$ = dart.privateName(_js_helper, "DeferredNotLoadedError.importPrefix");
_js_helper.DeferredNotLoadedError = class DeferredNotLoadedError extends core.Error {
  get enclosingLibrary() {
    return this[enclosingLibrary$];
  }
  set enclosingLibrary(value) {
    this[enclosingLibrary$] = value;
  }
  get importPrefix() {
    return this[importPrefix$];
  }
  set importPrefix(value) {
    this[importPrefix$] = value;
  }
  toString() {
    return "Deferred import " + dart.str(this.importPrefix) + " (from " + dart.str(this.enclosingLibrary) + ") was not loaded.";
  }
  get [_receiver$]() {
    return this[$noSuchMethod](new core._Invocation.getter(C[24] || CT.C24));
  }
  get [_arguments$]() {
    return T$.ListN().as(this[$noSuchMethod](new core._Invocation.getter(C[25] || CT.C25)));
  }
  get [_memberName$]() {
    return core.Symbol.as(this[$noSuchMethod](new core._Invocation.getter(C[26] || CT.C26)));
  }
  get [_invocation$]() {
    return T$.InvocationN().as(this[$noSuchMethod](new core._Invocation.getter(C[27] || CT.C27)));
  }
  get [_namedArguments$]() {
    return T$.MapNOfSymbol$dynamic().as(this[$noSuchMethod](new core._Invocation.getter(C[28] || CT.C28)));
  }
};
(_js_helper.DeferredNotLoadedError.new = function(enclosingLibrary, importPrefix) {
  if (enclosingLibrary == null) dart.nullFailed(I[47], 732, 31, "enclosingLibrary");
  if (importPrefix == null) dart.nullFailed(I[47], 732, 54, "importPrefix");
  this[enclosingLibrary$] = enclosingLibrary;
  this[importPrefix$] = importPrefix;
  _js_helper.DeferredNotLoadedError.__proto__.new.call(this);
  ;
}).prototype = _js_helper.DeferredNotLoadedError.prototype;
dart.addTypeTests(_js_helper.DeferredNotLoadedError);
dart.addTypeCaches(_js_helper.DeferredNotLoadedError);
_js_helper.DeferredNotLoadedError[dart.implements] = () => [core.NoSuchMethodError];
dart.setGetterSignature(_js_helper.DeferredNotLoadedError, () => ({
  __proto__: dart.getGetters(_js_helper.DeferredNotLoadedError.__proto__),
  [_receiver$]: dart.nullable(core.Object),
  [_arguments$]: dart.nullable(core.List),
  [_memberName$]: core.Symbol,
  [_invocation$]: dart.nullable(core.Invocation),
  [_namedArguments$]: dart.nullable(core.Map$(core.Symbol, dart.dynamic))
}));
dart.setLibraryUri(_js_helper.DeferredNotLoadedError, I[46]);
dart.setFieldSignature(_js_helper.DeferredNotLoadedError, () => ({
  __proto__: dart.getFields(_js_helper.DeferredNotLoadedError.__proto__),
  enclosingLibrary: dart.fieldType(core.String),
  importPrefix: dart.fieldType(core.String)
}));
dart.defineExtensionMethods(_js_helper.DeferredNotLoadedError, ['toString']);
var _fileUri$ = dart.privateName(_js_helper, "_fileUri");
var _line$ = dart.privateName(_js_helper, "_line");
var _column$ = dart.privateName(_js_helper, "_column");
var _conditionSource$ = dart.privateName(_js_helper, "_conditionSource");
var message$0 = dart.privateName(core, "AssertionError.message");
core.AssertionError = class AssertionError extends core.Error {
  get message() {
    return this[message$0];
  }
  set message(value) {
    super.message = value;
  }
  toString() {
    if (this.message != null) {
      return "Assertion failed: " + dart.str(core.Error.safeToString(this.message));
    }
    return "Assertion failed";
  }
};
(core.AssertionError.new = function(message = null) {
  this[message$0] = message;
  core.AssertionError.__proto__.new.call(this);
  ;
}).prototype = core.AssertionError.prototype;
dart.addTypeTests(core.AssertionError);
dart.addTypeCaches(core.AssertionError);
dart.setLibraryUri(core.AssertionError, I[9]);
dart.setFieldSignature(core.AssertionError, () => ({
  __proto__: dart.getFields(core.AssertionError.__proto__),
  message: dart.finalFieldType(dart.nullable(core.Object))
}));
dart.defineExtensionMethods(core.AssertionError, ['toString']);
_js_helper.AssertionErrorImpl = class AssertionErrorImpl extends core.AssertionError {
  toString() {
    let failureMessage = "";
    if (this[_fileUri$] != null && this[_line$] != null && this[_column$] != null && this[_conditionSource$] != null) {
      failureMessage = failureMessage + (dart.str(this[_fileUri$]) + ":" + dart.str(this[_line$]) + ":" + dart.str(this[_column$]) + "\n" + dart.str(this[_conditionSource$]) + "\n");
    }
    failureMessage = failureMessage + dart.notNull(this.message != null ? core.Error.safeToString(this.message) : "is not true");
    return "Assertion failed: " + failureMessage;
  }
};
(_js_helper.AssertionErrorImpl.new = function(message, _fileUri = null, _line = null, _column = null, _conditionSource = null) {
  this[_fileUri$] = _fileUri;
  this[_line$] = _line;
  this[_column$] = _column;
  this[_conditionSource$] = _conditionSource;
  _js_helper.AssertionErrorImpl.__proto__.new.call(this, message);
  ;
}).prototype = _js_helper.AssertionErrorImpl.prototype;
dart.addTypeTests(_js_helper.AssertionErrorImpl);
dart.addTypeCaches(_js_helper.AssertionErrorImpl);
dart.setLibraryUri(_js_helper.AssertionErrorImpl, I[46]);
dart.setFieldSignature(_js_helper.AssertionErrorImpl, () => ({
  __proto__: dart.getFields(_js_helper.AssertionErrorImpl.__proto__),
  [_fileUri$]: dart.finalFieldType(dart.nullable(core.String)),
  [_line$]: dart.finalFieldType(dart.nullable(core.int)),
  [_column$]: dart.finalFieldType(dart.nullable(core.int)),
  [_conditionSource$]: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(_js_helper.AssertionErrorImpl, ['toString']);
_js_helper.BooleanConversionAssertionError = class BooleanConversionAssertionError extends core.AssertionError {
  toString() {
    return "Failed assertion: boolean expression must not be null";
  }
};
(_js_helper.BooleanConversionAssertionError.new = function() {
  _js_helper.BooleanConversionAssertionError.__proto__.new.call(this);
  ;
}).prototype = _js_helper.BooleanConversionAssertionError.prototype;
dart.addTypeTests(_js_helper.BooleanConversionAssertionError);
dart.addTypeCaches(_js_helper.BooleanConversionAssertionError);
dart.setLibraryUri(_js_helper.BooleanConversionAssertionError, I[46]);
dart.defineExtensionMethods(_js_helper.BooleanConversionAssertionError, ['toString']);
var _name$1 = dart.privateName(_js_helper, "PrivateSymbol._name");
var _nativeSymbol$ = dart.privateName(_js_helper, "PrivateSymbol._nativeSymbol");
var _name = dart.privateName(_js_helper, "_name");
var _nativeSymbol = dart.privateName(_js_helper, "_nativeSymbol");
_js_helper.PrivateSymbol = class PrivateSymbol extends core.Object {
  get [_name]() {
    return this[_name$1];
  }
  set [_name](value) {
    super[_name] = value;
  }
  get [_nativeSymbol]() {
    return this[_nativeSymbol$];
  }
  set [_nativeSymbol](value) {
    super[_nativeSymbol] = value;
  }
  static getName(symbol) {
    if (symbol == null) dart.nullFailed(I[47], 815, 32, "symbol");
    return _js_helper.PrivateSymbol.as(symbol)[_name];
  }
  static getNativeSymbol(symbol) {
    if (symbol == null) dart.nullFailed(I[47], 817, 41, "symbol");
    if (_js_helper.PrivateSymbol.is(symbol)) return symbol[_nativeSymbol];
    return null;
  }
  _equals(other) {
    if (other == null) return false;
    return _js_helper.PrivateSymbol.is(other) && this[_name] == other[_name] && core.identical(this[_nativeSymbol], other[_nativeSymbol]);
  }
  get hashCode() {
    return dart.hashCode(this[_name]);
  }
  toString() {
    return "Symbol(\"" + dart.str(this[_name]) + "\")";
  }
};
(_js_helper.PrivateSymbol.new = function(_name, _nativeSymbol) {
  if (_name == null) dart.nullFailed(I[47], 813, 28, "_name");
  if (_nativeSymbol == null) dart.nullFailed(I[47], 813, 40, "_nativeSymbol");
  this[_name$1] = _name;
  this[_nativeSymbol$] = _nativeSymbol;
  ;
}).prototype = _js_helper.PrivateSymbol.prototype;
dart.addTypeTests(_js_helper.PrivateSymbol);
dart.addTypeCaches(_js_helper.PrivateSymbol);
_js_helper.PrivateSymbol[dart.implements] = () => [core.Symbol];
dart.setLibraryUri(_js_helper.PrivateSymbol, I[46]);
dart.setFieldSignature(_js_helper.PrivateSymbol, () => ({
  __proto__: dart.getFields(_js_helper.PrivateSymbol.__proto__),
  [_name]: dart.finalFieldType(core.String),
  [_nativeSymbol]: dart.finalFieldType(core.Object)
}));
dart.defineExtensionMethods(_js_helper.PrivateSymbol, ['_equals', 'toString']);
dart.defineExtensionAccessors(_js_helper.PrivateSymbol, ['hashCode']);
_js_helper.ForceInline = class ForceInline extends core.Object {};
(_js_helper.ForceInline.new = function() {
  ;
}).prototype = _js_helper.ForceInline.prototype;
dart.addTypeTests(_js_helper.ForceInline);
dart.addTypeCaches(_js_helper.ForceInline);
dart.setLibraryUri(_js_helper.ForceInline, I[46]);
_js_helper._NotNull = class _NotNull extends core.Object {};
(_js_helper._NotNull.new = function() {
  ;
}).prototype = _js_helper._NotNull.prototype;
dart.addTypeTests(_js_helper._NotNull);
dart.addTypeCaches(_js_helper._NotNull);
dart.setLibraryUri(_js_helper._NotNull, I[46]);
_js_helper.NoReifyGeneric = class NoReifyGeneric extends core.Object {};
(_js_helper.NoReifyGeneric.new = function() {
  ;
}).prototype = _js_helper.NoReifyGeneric.prototype;
dart.addTypeTests(_js_helper.NoReifyGeneric);
dart.addTypeCaches(_js_helper.NoReifyGeneric);
dart.setLibraryUri(_js_helper.NoReifyGeneric, I[46]);
var value$1 = dart.privateName(_js_helper, "ReifyFunctionTypes.value");
_js_helper.ReifyFunctionTypes = class ReifyFunctionTypes extends core.Object {
  get value() {
    return this[value$1];
  }
  set value(value) {
    super.value = value;
  }
};
(_js_helper.ReifyFunctionTypes.new = function(value) {
  if (value == null) dart.nullFailed(I[48], 39, 33, "value");
  this[value$1] = value;
  ;
}).prototype = _js_helper.ReifyFunctionTypes.prototype;
dart.addTypeTests(_js_helper.ReifyFunctionTypes);
dart.addTypeCaches(_js_helper.ReifyFunctionTypes);
dart.setLibraryUri(_js_helper.ReifyFunctionTypes, I[46]);
dart.setFieldSignature(_js_helper.ReifyFunctionTypes, () => ({
  __proto__: dart.getFields(_js_helper.ReifyFunctionTypes.__proto__),
  value: dart.finalFieldType(core.bool)
}));
_js_helper._NullCheck = class _NullCheck extends core.Object {};
(_js_helper._NullCheck.new = function() {
  ;
}).prototype = _js_helper._NullCheck.prototype;
dart.addTypeTests(_js_helper._NullCheck);
dart.addTypeCaches(_js_helper._NullCheck);
dart.setLibraryUri(_js_helper._NullCheck, I[46]);
_js_helper._Undefined = class _Undefined extends core.Object {};
(_js_helper._Undefined.new = function() {
  ;
}).prototype = _js_helper._Undefined.prototype;
dart.addTypeTests(_js_helper._Undefined);
dart.addTypeCaches(_js_helper._Undefined);
dart.setLibraryUri(_js_helper._Undefined, I[46]);
_js_helper.NoThrows = class NoThrows extends core.Object {};
(_js_helper.NoThrows.new = function() {
  ;
}).prototype = _js_helper.NoThrows.prototype;
dart.addTypeTests(_js_helper.NoThrows);
dart.addTypeCaches(_js_helper.NoThrows);
dart.setLibraryUri(_js_helper.NoThrows, I[46]);
_js_helper.NoInline = class NoInline extends core.Object {};
(_js_helper.NoInline.new = function() {
  ;
}).prototype = _js_helper.NoInline.prototype;
dart.addTypeTests(_js_helper.NoInline);
dart.addTypeCaches(_js_helper.NoInline);
dart.setLibraryUri(_js_helper.NoInline, I[46]);
var name$7 = dart.privateName(_js_helper, "Native.name");
_js_helper.Native = class Native extends core.Object {
  get name() {
    return this[name$7];
  }
  set name(value) {
    super.name = value;
  }
};
(_js_helper.Native.new = function(name) {
  if (name == null) dart.nullFailed(I[48], 76, 21, "name");
  this[name$7] = name;
  ;
}).prototype = _js_helper.Native.prototype;
dart.addTypeTests(_js_helper.Native);
dart.addTypeCaches(_js_helper.Native);
dart.setLibraryUri(_js_helper.Native, I[46]);
dart.setFieldSignature(_js_helper.Native, () => ({
  __proto__: dart.getFields(_js_helper.Native.__proto__),
  name: dart.finalFieldType(core.String)
}));
var name$8 = dart.privateName(_js_helper, "JsPeerInterface.name");
_js_helper.JsPeerInterface = class JsPeerInterface extends core.Object {
  get name() {
    return this[name$8];
  }
  set name(value) {
    super.name = value;
  }
};
(_js_helper.JsPeerInterface.new = function(opts) {
  let name = opts && 'name' in opts ? opts.name : null;
  if (name == null) dart.nullFailed(I[48], 84, 40, "name");
  this[name$8] = name;
  ;
}).prototype = _js_helper.JsPeerInterface.prototype;
dart.addTypeTests(_js_helper.JsPeerInterface);
dart.addTypeCaches(_js_helper.JsPeerInterface);
dart.setLibraryUri(_js_helper.JsPeerInterface, I[46]);
dart.setFieldSignature(_js_helper.JsPeerInterface, () => ({
  __proto__: dart.getFields(_js_helper.JsPeerInterface.__proto__),
  name: dart.finalFieldType(core.String)
}));
_js_helper.SupportJsExtensionMethods = class SupportJsExtensionMethods extends core.Object {};
(_js_helper.SupportJsExtensionMethods.new = function() {
  ;
}).prototype = _js_helper.SupportJsExtensionMethods.prototype;
dart.addTypeTests(_js_helper.SupportJsExtensionMethods);
dart.addTypeCaches(_js_helper.SupportJsExtensionMethods);
dart.setLibraryUri(_js_helper.SupportJsExtensionMethods, I[46]);
var _modifications = dart.privateName(_js_helper, "_modifications");
var _map$ = dart.privateName(_js_helper, "_map");
const _is_InternalMap_default = Symbol('_is_InternalMap_default');
_js_helper.InternalMap$ = dart.generic((K, V) => {
  class InternalMap extends collection.MapBase$(K, V) {
    forEach(action) {
      if (action == null) dart.nullFailed(I[49], 18, 21, "action");
      let modifications = this[_modifications];
      for (let entry of this[_map$].entries()) {
        action(entry[0], entry[1]);
        if (modifications !== this[_modifications]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
      }
    }
  }
  (InternalMap.new = function() {
    ;
  }).prototype = InternalMap.prototype;
  dart.addTypeTests(InternalMap);
  InternalMap.prototype[_is_InternalMap_default] = true;
  dart.addTypeCaches(InternalMap);
  InternalMap[dart.implements] = () => [collection.LinkedHashMap$(K, V), collection.HashMap$(K, V)];
  dart.setLibraryUri(InternalMap, I[46]);
  dart.defineExtensionMethods(InternalMap, ['forEach']);
  return InternalMap;
});
_js_helper.InternalMap = _js_helper.InternalMap$();
dart.addTypeTests(_js_helper.InternalMap, _is_InternalMap_default);
var _map = dart.privateName(_js_helper, "LinkedMap._map");
var _modifications$ = dart.privateName(_js_helper, "LinkedMap._modifications");
var _keyMap = dart.privateName(_js_helper, "_keyMap");
const _is_LinkedMap_default = Symbol('_is_LinkedMap_default');
_js_helper.LinkedMap$ = dart.generic((K, V) => {
  var __t$_JSMapIterableOfK = () => (__t$_JSMapIterableOfK = dart.constFn(_js_helper._JSMapIterable$(K)))();
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$KAndVTovoid = () => (__t$KAndVTovoid = dart.constFn(dart.fnType(dart.void, [K, V])))();
  var __t$_JSMapIterableOfV = () => (__t$_JSMapIterableOfV = dart.constFn(_js_helper._JSMapIterable$(V)))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  class LinkedMap extends _js_helper.InternalMap$(K, V) {
    get [_map$]() {
      return this[_map];
    }
    set [_map$](value) {
      super[_map$] = value;
    }
    get [_modifications]() {
      return this[_modifications$];
    }
    set [_modifications](value) {
      this[_modifications$] = value;
    }
    get length() {
      return this[_map$].size;
    }
    get isEmpty() {
      return this[_map$].size == 0;
    }
    get isNotEmpty() {
      return this[_map$].size != 0;
    }
    get keys() {
      return new (__t$_JSMapIterableOfK()).new(this, true);
    }
    get values() {
      return new (__t$_JSMapIterableOfV()).new(this, false);
    }
    containsKey(key) {
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        let buckets = this[_keyMap].get(dart.hashCode(key) & 0x3ffffff);
        if (buckets != null) {
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            let k = buckets[i];
            if (dart.equals(k, key)) return true;
          }
        }
        return false;
      }
      return this[_map$].has(key);
    }
    containsValue(value) {
      for (let v of this[_map$].values()) {
        if (dart.equals(v, value)) return true;
      }
      return false;
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[49], 121, 25, "other");
      let map = this[_map$];
      let length = map.size;
      other[$forEach](dart.fn((key, value) => {
        if (key == null) {
          key = null;
        } else if (key[$_equals] !== dart.identityEquals) {
          key = _js_helper.putLinkedMapKey(key, this[_keyMap]);
        }
        this[_map$].set(key, value);
      }, __t$KAndVTovoid()));
      if (length !== map.size) {
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
    }
    _get(key) {
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        let buckets = this[_keyMap].get(dart.hashCode(key) & 0x3ffffff);
        if (buckets != null) {
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            let k = buckets[i];
            if (dart.equals(k, key)) return this[_map$].get(k);
          }
        }
        return null;
      }
      let value = this[_map$].get(key);
      return value == null ? null : value;
    }
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        key = _js_helper.putLinkedMapKey(key, this[_keyMap]);
      }
      let map = this[_map$];
      let length = map.size;
      map.set(key, value);
      if (length !== map.size) {
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
      return value$;
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[49], 171, 26, "ifAbsent");
      let map = this[_map$];
      if (key == null) {
        key = null;
        if (map.has(null)) return map.get(null);
      } else if (key[$_equals] !== dart.identityEquals) {
        let k = key;
        let hash = dart.hashCode(k) & 0x3ffffff;
        let buckets = this[_keyMap].get(hash);
        if (buckets == null) {
          this[_keyMap].set(hash, [key]);
        } else {
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            k = buckets[i];
            if (dart.equals(k, key)) return map.get(k);
          }
          buckets.push(key);
        }
      } else if (map.has(key)) {
        return map.get(key);
      }
      let value = ifAbsent();
      if (value == null) {
        value = null;
      }
      map.set(key, value);
      this[_modifications] = this[_modifications] + 1 & 67108863;
      return value;
    }
    remove(key) {
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        let hash = dart.hashCode(key) & 0x3ffffff;
        let buckets = this[_keyMap].get(hash);
        if (buckets == null) return null;
        for (let i = 0, n = buckets.length;;) {
          let k = buckets[i];
          if (dart.equals(k, key)) {
            key = k;
            if (n === 1) {
              this[_keyMap].delete(hash);
            } else {
              buckets.splice(i, 1);
            }
            break;
          }
          if ((i = i + 1) >= n) return null;
        }
      }
      let map = this[_map$];
      let value = map.get(key);
      if (map.delete(key)) {
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
      return value == null ? null : value;
    }
    clear() {
      let map = this[_map$];
      if (map.size > 0) {
        map.clear();
        this[_keyMap].clear();
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
    }
  }
  (LinkedMap.new = function() {
    this[_map] = new Map();
    this[_keyMap] = new Map();
    this[_modifications$] = 0;
    ;
  }).prototype = LinkedMap.prototype;
  (LinkedMap.from = function(entries) {
    if (entries == null) dart.nullFailed(I[49], 68, 26, "entries");
    this[_map] = new Map();
    this[_keyMap] = new Map();
    this[_modifications$] = 0;
    let map = this[_map$];
    let keyMap = this[_keyMap];
    for (let i = 0, n = entries.length; i < n; i = i + 2) {
      let key = entries[i];
      let value = entries[i + 1];
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        key = _js_helper.putLinkedMapKey(key, keyMap);
      }
      map.set(key, value);
    }
  }).prototype = LinkedMap.prototype;
  dart.addTypeTests(LinkedMap);
  LinkedMap.prototype[_is_LinkedMap_default] = true;
  dart.addTypeCaches(LinkedMap);
  dart.setMethodSignature(LinkedMap, () => ({
    __proto__: dart.getMethods(LinkedMap.__proto__),
    _get: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(LinkedMap, () => ({
    __proto__: dart.getGetters(LinkedMap.__proto__),
    keys: core.Iterable$(K),
    [$keys]: core.Iterable$(K)
  }));
  dart.setLibraryUri(LinkedMap, I[46]);
  dart.setFieldSignature(LinkedMap, () => ({
    __proto__: dart.getFields(LinkedMap.__proto__),
    [_map$]: dart.finalFieldType(dart.dynamic),
    [_keyMap]: dart.finalFieldType(dart.nullable(core.Object)),
    [_modifications]: dart.fieldType(core.int)
  }));
  dart.defineExtensionMethods(LinkedMap, [
    'containsKey',
    'containsValue',
    'addAll',
    '_get',
    '_set',
    'putIfAbsent',
    'remove',
    'clear'
  ]);
  dart.defineExtensionAccessors(LinkedMap, [
    'length',
    'isEmpty',
    'isNotEmpty',
    'keys',
    'values'
  ]);
  return LinkedMap;
});
_js_helper.LinkedMap = _js_helper.LinkedMap$();
dart.addTypeTests(_js_helper.LinkedMap, _is_LinkedMap_default);
const _is_ImmutableMap_default = Symbol('_is_ImmutableMap_default');
_js_helper.ImmutableMap$ = dart.generic((K, V) => {
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  class ImmutableMap extends _js_helper.LinkedMap$(K, V) {
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      dart.throw(_js_helper.ImmutableMap._unsupported());
      return value$;
    }
    addAll(other) {
      core.Object.as(other);
      if (other == null) dart.nullFailed(I[49], 268, 22, "other");
      return dart.throw(_js_helper.ImmutableMap._unsupported());
    }
    clear() {
      return dart.throw(_js_helper.ImmutableMap._unsupported());
    }
    remove(key) {
      return dart.throw(_js_helper.ImmutableMap._unsupported());
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[49], 271, 26, "ifAbsent");
      return dart.throw(_js_helper.ImmutableMap._unsupported());
    }
    static _unsupported() {
      return new core.UnsupportedError.new("Cannot modify unmodifiable map");
    }
  }
  (ImmutableMap.from = function(entries) {
    if (entries == null) dart.nullFailed(I[49], 262, 29, "entries");
    ImmutableMap.__proto__.from.call(this, entries);
    ;
  }).prototype = ImmutableMap.prototype;
  dart.addTypeTests(ImmutableMap);
  ImmutableMap.prototype[_is_ImmutableMap_default] = true;
  dart.addTypeCaches(ImmutableMap);
  dart.setLibraryUri(ImmutableMap, I[46]);
  dart.defineExtensionMethods(ImmutableMap, [
    '_set',
    'addAll',
    'clear',
    'remove',
    'putIfAbsent'
  ]);
  return ImmutableMap;
});
_js_helper.ImmutableMap = _js_helper.ImmutableMap$();
dart.addTypeTests(_js_helper.ImmutableMap, _is_ImmutableMap_default);
var _map$0 = dart.privateName(_js_helper, "IdentityMap._map");
var _modifications$0 = dart.privateName(_js_helper, "IdentityMap._modifications");
const _is_IdentityMap_default = Symbol('_is_IdentityMap_default');
_js_helper.IdentityMap$ = dart.generic((K, V) => {
  var __t$_JSMapIterableOfK = () => (__t$_JSMapIterableOfK = dart.constFn(_js_helper._JSMapIterable$(K)))();
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$KAndVTovoid = () => (__t$KAndVTovoid = dart.constFn(dart.fnType(dart.void, [K, V])))();
  var __t$_JSMapIterableOfV = () => (__t$_JSMapIterableOfV = dart.constFn(_js_helper._JSMapIterable$(V)))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  class IdentityMap extends _js_helper.InternalMap$(K, V) {
    get [_map$]() {
      return this[_map$0];
    }
    set [_map$](value) {
      super[_map$] = value;
    }
    get [_modifications]() {
      return this[_modifications$0];
    }
    set [_modifications](value) {
      this[_modifications$0] = value;
    }
    get length() {
      return this[_map$].size;
    }
    get isEmpty() {
      return this[_map$].size == 0;
    }
    get isNotEmpty() {
      return this[_map$].size != 0;
    }
    get keys() {
      return new (__t$_JSMapIterableOfK()).new(this, true);
    }
    get values() {
      return new (__t$_JSMapIterableOfV()).new(this, false);
    }
    containsKey(key) {
      return this[_map$].has(key);
    }
    containsValue(value) {
      for (let v of this[_map$].values()) {
        if (dart.equals(v, value)) return true;
      }
      return false;
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[50], 47, 25, "other");
      if (dart.test(other[$isNotEmpty])) {
        let map = this[_map$];
        other[$forEach](dart.fn((key, value) => {
          map.set(key, value);
        }, __t$KAndVTovoid()));
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
    }
    _get(key) {
      let value = this[_map$].get(key);
      return value == null ? null : value;
    }
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      let map = this[_map$];
      let length = map.size;
      map.set(key, value);
      if (length !== map.size) {
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
      return value$;
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[50], 71, 26, "ifAbsent");
      if (this[_map$].has(key)) {
        return this[_map$].get(key);
      }
      let value = ifAbsent();
      if (value == null) value = null;
      this[_map$].set(key, value);
      this[_modifications] = this[_modifications] + 1 & 67108863;
      return value;
    }
    remove(key) {
      let value = this[_map$].get(key);
      if (this[_map$].delete(key)) {
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
      return value == null ? null : value;
    }
    clear() {
      if (this[_map$].size > 0) {
        this[_map$].clear();
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
    }
  }
  (IdentityMap.new = function() {
    this[_map$0] = new Map();
    this[_modifications$0] = 0;
    ;
  }).prototype = IdentityMap.prototype;
  (IdentityMap.from = function(entries) {
    if (entries == null) dart.nullFailed(I[50], 22, 28, "entries");
    this[_map$0] = new Map();
    this[_modifications$0] = 0;
    let map = this[_map$];
    for (let i = 0, n = entries.length; i < n; i = i + 2) {
      map.set(entries[i], entries[i + 1]);
    }
  }).prototype = IdentityMap.prototype;
  dart.addTypeTests(IdentityMap);
  IdentityMap.prototype[_is_IdentityMap_default] = true;
  dart.addTypeCaches(IdentityMap);
  dart.setMethodSignature(IdentityMap, () => ({
    __proto__: dart.getMethods(IdentityMap.__proto__),
    _get: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(IdentityMap, () => ({
    __proto__: dart.getGetters(IdentityMap.__proto__),
    keys: core.Iterable$(K),
    [$keys]: core.Iterable$(K)
  }));
  dart.setLibraryUri(IdentityMap, I[46]);
  dart.setFieldSignature(IdentityMap, () => ({
    __proto__: dart.getFields(IdentityMap.__proto__),
    [_map$]: dart.finalFieldType(dart.dynamic),
    [_modifications]: dart.fieldType(core.int)
  }));
  dart.defineExtensionMethods(IdentityMap, [
    'containsKey',
    'containsValue',
    'addAll',
    '_get',
    '_set',
    'putIfAbsent',
    'remove',
    'clear'
  ]);
  dart.defineExtensionAccessors(IdentityMap, [
    'length',
    'isEmpty',
    'isNotEmpty',
    'keys',
    'values'
  ]);
  return IdentityMap;
});
_js_helper.IdentityMap = _js_helper.IdentityMap$();
dart.addTypeTests(_js_helper.IdentityMap, _is_IdentityMap_default);
var _isKeys$ = dart.privateName(_js_helper, "_isKeys");
const _is__JSMapIterable_default = Symbol('_is__JSMapIterable_default');
_js_helper._JSMapIterable$ = dart.generic(E => {
  var __t$DartIteratorOfE = () => (__t$DartIteratorOfE = dart.constFn(_js_helper.DartIterator$(E)))();
  class _JSMapIterable extends _internal.EfficientLengthIterable$(E) {
    get length() {
      return this[_map$][$length];
    }
    get isEmpty() {
      return this[_map$][$isEmpty];
    }
    [Symbol.iterator]() {
      let map = this[_map$];
      let iterator = this[_isKeys$] ? map[_map$].keys() : map[_map$].values();
      let modifications = map[_modifications];
      return {
        next() {
          if (modifications != map[_modifications]) {
            throw new core.ConcurrentModificationError.new(map);
          }
          return iterator.next();
        }
      };
    }
    get iterator() {
      return new (__t$DartIteratorOfE()).new(this[Symbol.iterator]());
    }
    contains(element) {
      return this[_isKeys$] ? this[_map$][$containsKey](element) : this[_map$][$containsValue](element);
    }
    forEach(f) {
      if (f == null) dart.nullFailed(I[50], 134, 33, "f");
      for (let entry of this)
        f(entry);
    }
  }
  (_JSMapIterable.new = function(_map, _isKeys) {
    if (_map == null) dart.nullFailed(I[50], 102, 23, "_map");
    if (_isKeys == null) dart.nullFailed(I[50], 102, 34, "_isKeys");
    this[_map$] = _map;
    this[_isKeys$] = _isKeys;
    _JSMapIterable.__proto__.new.call(this);
    ;
  }).prototype = _JSMapIterable.prototype;
  dart.addTypeTests(_JSMapIterable);
  _JSMapIterable.prototype[_is__JSMapIterable_default] = true;
  dart.addTypeCaches(_JSMapIterable);
  dart.setMethodSignature(_JSMapIterable, () => ({
    __proto__: dart.getMethods(_JSMapIterable.__proto__),
    [Symbol.iterator]: dart.fnType(dart.dynamic, [])
  }));
  dart.setGetterSignature(_JSMapIterable, () => ({
    __proto__: dart.getGetters(_JSMapIterable.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(_JSMapIterable, I[46]);
  dart.setFieldSignature(_JSMapIterable, () => ({
    __proto__: dart.getFields(_JSMapIterable.__proto__),
    [_map$]: dart.finalFieldType(_js_helper.InternalMap),
    [_isKeys$]: dart.finalFieldType(core.bool)
  }));
  dart.defineExtensionMethods(_JSMapIterable, ['contains', 'forEach']);
  dart.defineExtensionAccessors(_JSMapIterable, ['length', 'isEmpty', 'iterator']);
  return _JSMapIterable;
});
_js_helper._JSMapIterable = _js_helper._JSMapIterable$();
dart.addTypeTests(_js_helper._JSMapIterable, _is__JSMapIterable_default);
var _validKey$ = dart.privateName(_js_helper, "_validKey");
var _map$1 = dart.privateName(_js_helper, "CustomHashMap._map");
var _modifications$1 = dart.privateName(_js_helper, "CustomHashMap._modifications");
var _equals$ = dart.privateName(_js_helper, "_equals");
var _hashCode$ = dart.privateName(_js_helper, "_hashCode");
const _is_CustomHashMap_default = Symbol('_is_CustomHashMap_default');
_js_helper.CustomHashMap$ = dart.generic((K, V) => {
  var __t$_JSMapIterableOfK = () => (__t$_JSMapIterableOfK = dart.constFn(_js_helper._JSMapIterable$(K)))();
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$KAndVTovoid = () => (__t$KAndVTovoid = dart.constFn(dart.fnType(dart.void, [K, V])))();
  var __t$_JSMapIterableOfV = () => (__t$_JSMapIterableOfV = dart.constFn(_js_helper._JSMapIterable$(V)))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  class CustomHashMap extends _js_helper.InternalMap$(K, V) {
    get [_map$]() {
      return this[_map$1];
    }
    set [_map$](value) {
      super[_map$] = value;
    }
    get [_modifications]() {
      return this[_modifications$1];
    }
    set [_modifications](value) {
      this[_modifications$1] = value;
    }
    get length() {
      return this[_map$].size;
    }
    get isEmpty() {
      return this[_map$].size == 0;
    }
    get isNotEmpty() {
      return this[_map$].size != 0;
    }
    get keys() {
      return new (__t$_JSMapIterableOfK()).new(this, true);
    }
    get values() {
      return new (__t$_JSMapIterableOfV()).new(this, false);
    }
    containsKey(key) {
      let t81;
      if (K.is(key)) {
        let buckets = this[_keyMap].get((t81 = key, this[_hashCode$](t81)) & 0x3ffffff);
        if (buckets != null) {
          let equals = this[_equals$];
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            let k = buckets[i];
            if (dart.test(equals(k, key))) return true;
          }
        }
      }
      return false;
    }
    containsValue(value) {
      for (let v of this[_map$].values()) {
        if (dart.equals(value, v)) return true;
      }
      return false;
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[51], 91, 25, "other");
      other[$forEach](dart.fn((key, value) => {
        this._set(key, value);
      }, __t$KAndVTovoid()));
    }
    _get(key) {
      let t81;
      if (K.is(key)) {
        let buckets = this[_keyMap].get((t81 = key, this[_hashCode$](t81)) & 0x3ffffff);
        if (buckets != null) {
          let equals = this[_equals$];
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            let k = buckets[i];
            if (dart.test(equals(k, key))) {
              let value = this[_map$].get(k);
              return value == null ? null : value;
            }
          }
        }
      }
      return null;
    }
    _set(key, value$) {
      let value = value$;
      let t81;
      K.as(key);
      V.as(value);
      let keyMap = this[_keyMap];
      let hash = (t81 = key, this[_hashCode$](t81)) & 0x3ffffff;
      let buckets = keyMap.get(hash);
      if (buckets == null) {
        keyMap.set(hash, [key]);
      } else {
        let equals = this[_equals$];
        for (let i = 0, n = buckets.length;;) {
          let k = buckets[i];
          if (dart.test(equals(k, key))) {
            key = k;
            break;
          }
          if ((i = i + 1) >= n) {
            buckets.push(key);
            break;
          }
        }
      }
      this[_map$].set(key, value);
      this[_modifications] = this[_modifications] + 1 & 67108863;
      return value$;
    }
    putIfAbsent(key, ifAbsent) {
      let t81;
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[51], 138, 26, "ifAbsent");
      let keyMap = this[_keyMap];
      let hash = (t81 = key, this[_hashCode$](t81)) & 0x3ffffff;
      let buckets = keyMap.get(hash);
      if (buckets == null) {
        keyMap.set(hash, [key]);
      } else {
        let equals = this[_equals$];
        for (let i = 0, n = buckets.length; i < n; i = i + 1) {
          let k = buckets[i];
          if (dart.test(equals(k, key))) return this[_map$].get(k);
        }
        buckets.push(key);
      }
      let value = ifAbsent();
      if (value == null) value = null;
      this[_map$].set(key, value);
      this[_modifications] = this[_modifications] + 1 & 67108863;
      return value;
    }
    remove(key) {
      let t81;
      if (K.is(key)) {
        let hash = (t81 = key, this[_hashCode$](t81)) & 0x3ffffff;
        let keyMap = this[_keyMap];
        let buckets = keyMap.get(hash);
        if (buckets == null) return null;
        let equals = this[_equals$];
        for (let i = 0, n = buckets.length; i < n; i = i + 1) {
          let k = buckets[i];
          if (dart.test(equals(k, key))) {
            if (n === 1) {
              keyMap.delete(hash);
            } else {
              buckets.splice(i, 1);
            }
            let map = this[_map$];
            let value = map.get(k);
            map.delete(k);
            this[_modifications] = this[_modifications] + 1 & 67108863;
            return value == null ? null : value;
          }
        }
      }
      return null;
    }
    clear() {
      let map = this[_map$];
      if (map.size > 0) {
        map.clear();
        this[_keyMap].clear();
        this[_modifications] = this[_modifications] + 1 & 67108863;
      }
    }
  }
  (CustomHashMap.new = function(_equals, _hashCode) {
    if (_equals == null) dart.nullFailed(I[51], 55, 22, "_equals");
    if (_hashCode == null) dart.nullFailed(I[51], 55, 36, "_hashCode");
    this[_map$1] = new Map();
    this[_keyMap] = new Map();
    this[_modifications$1] = 0;
    this[_equals$] = _equals;
    this[_hashCode$] = _hashCode;
    ;
  }).prototype = CustomHashMap.prototype;
  dart.addTypeTests(CustomHashMap);
  CustomHashMap.prototype[_is_CustomHashMap_default] = true;
  dart.addTypeCaches(CustomHashMap);
  dart.setMethodSignature(CustomHashMap, () => ({
    __proto__: dart.getMethods(CustomHashMap.__proto__),
    _get: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(CustomHashMap, () => ({
    __proto__: dart.getGetters(CustomHashMap.__proto__),
    keys: core.Iterable$(K),
    [$keys]: core.Iterable$(K)
  }));
  dart.setLibraryUri(CustomHashMap, I[46]);
  dart.setFieldSignature(CustomHashMap, () => ({
    __proto__: dart.getFields(CustomHashMap.__proto__),
    [_map$]: dart.finalFieldType(dart.dynamic),
    [_keyMap]: dart.finalFieldType(dart.nullable(core.Object)),
    [_modifications]: dart.fieldType(core.int),
    [_equals$]: dart.finalFieldType(dart.fnType(core.bool, [K, K])),
    [_hashCode$]: dart.finalFieldType(dart.fnType(core.int, [K]))
  }));
  dart.defineExtensionMethods(CustomHashMap, [
    'containsKey',
    'containsValue',
    'addAll',
    '_get',
    '_set',
    'putIfAbsent',
    'remove',
    'clear'
  ]);
  dart.defineExtensionAccessors(CustomHashMap, [
    'length',
    'isEmpty',
    'isNotEmpty',
    'keys',
    'values'
  ]);
  return CustomHashMap;
});
_js_helper.CustomHashMap = _js_helper.CustomHashMap$();
dart.addTypeTests(_js_helper.CustomHashMap, _is_CustomHashMap_default);
const _is_CustomKeyHashMap_default = Symbol('_is_CustomKeyHashMap_default');
_js_helper.CustomKeyHashMap$ = dart.generic((K, V) => {
  class CustomKeyHashMap extends _js_helper.CustomHashMap$(K, V) {
    containsKey(key) {
      let t81;
      if (!dart.test((t81 = key, this[_validKey$](t81)))) return false;
      return super.containsKey(key);
    }
    _get(key) {
      let t81;
      if (!dart.test((t81 = key, this[_validKey$](t81)))) return null;
      return super._get(key);
    }
    remove(key) {
      let t81;
      if (!dart.test((t81 = key, this[_validKey$](t81)))) return null;
      return super.remove(key);
    }
  }
  (CustomKeyHashMap.new = function(equals, hashCode, _validKey) {
    if (equals == null) dart.nullFailed(I[51], 9, 33, "equals");
    if (hashCode == null) dart.nullFailed(I[51], 9, 52, "hashCode");
    if (_validKey == null) dart.nullFailed(I[51], 9, 67, "_validKey");
    this[_validKey$] = _validKey;
    CustomKeyHashMap.__proto__.new.call(this, equals, hashCode);
    ;
  }).prototype = CustomKeyHashMap.prototype;
  dart.addTypeTests(CustomKeyHashMap);
  CustomKeyHashMap.prototype[_is_CustomKeyHashMap_default] = true;
  dart.addTypeCaches(CustomKeyHashMap);
  dart.setLibraryUri(CustomKeyHashMap, I[46]);
  dart.setFieldSignature(CustomKeyHashMap, () => ({
    __proto__: dart.getFields(CustomKeyHashMap.__proto__),
    [_validKey$]: dart.finalFieldType(dart.fnType(core.bool, [dart.nullable(core.Object)]))
  }));
  dart.defineExtensionMethods(CustomKeyHashMap, ['containsKey', '_get', 'remove']);
  return CustomKeyHashMap;
});
_js_helper.CustomKeyHashMap = _js_helper.CustomKeyHashMap$();
dart.addTypeTests(_js_helper.CustomKeyHashMap, _is_CustomKeyHashMap_default);
var pattern = dart.privateName(_js_helper, "JSSyntaxRegExp.pattern");
var _nativeGlobalRegExp = dart.privateName(_js_helper, "_nativeGlobalRegExp");
var _nativeAnchoredRegExp = dart.privateName(_js_helper, "_nativeAnchoredRegExp");
var _nativeRegExp = dart.privateName(_js_helper, "_nativeRegExp");
var _isMultiLine = dart.privateName(_js_helper, "_isMultiLine");
var _isCaseSensitive = dart.privateName(_js_helper, "_isCaseSensitive");
var _isUnicode = dart.privateName(_js_helper, "_isUnicode");
var _isDotAll = dart.privateName(_js_helper, "_isDotAll");
var _nativeGlobalVersion = dart.privateName(_js_helper, "_nativeGlobalVersion");
var _nativeAnchoredVersion = dart.privateName(_js_helper, "_nativeAnchoredVersion");
var _execGlobal = dart.privateName(_js_helper, "_execGlobal");
var _execAnchored = dart.privateName(_js_helper, "_execAnchored");
_js_helper.JSSyntaxRegExp = class JSSyntaxRegExp extends core.Object {
  get pattern() {
    return this[pattern];
  }
  set pattern(value) {
    super.pattern = value;
  }
  toString() {
    return "RegExp/" + dart.str(this.pattern) + "/" + this[_nativeRegExp].flags;
  }
  get [_nativeGlobalVersion]() {
    if (this[_nativeGlobalRegExp] != null) return this[_nativeGlobalRegExp];
    return this[_nativeGlobalRegExp] = _js_helper.JSSyntaxRegExp.makeNative(this.pattern, this[_isMultiLine], this[_isCaseSensitive], this[_isUnicode], this[_isDotAll], true);
  }
  get [_nativeAnchoredVersion]() {
    if (this[_nativeAnchoredRegExp] != null) return this[_nativeAnchoredRegExp];
    return this[_nativeAnchoredRegExp] = _js_helper.JSSyntaxRegExp.makeNative(dart.str(this.pattern) + "|()", this[_isMultiLine], this[_isCaseSensitive], this[_isUnicode], this[_isDotAll], true);
  }
  get [_isMultiLine]() {
    return this[_nativeRegExp].multiline;
  }
  get [_isCaseSensitive]() {
    return !this[_nativeRegExp].ignoreCase;
  }
  get [_isUnicode]() {
    return this[_nativeRegExp].unicode;
  }
  get [_isDotAll]() {
    return this[_nativeRegExp].dotAll == true;
  }
  static makeNative(source, multiLine, caseSensitive, unicode, dotAll, global) {
    if (source == null) dart.argumentError(source);
    if (multiLine == null) dart.nullFailed(I[52], 86, 52, "multiLine");
    if (caseSensitive == null) dart.nullFailed(I[52], 87, 12, "caseSensitive");
    if (unicode == null) dart.nullFailed(I[52], 87, 32, "unicode");
    if (dotAll == null) dart.nullFailed(I[52], 87, 46, "dotAll");
    if (global == null) dart.nullFailed(I[52], 87, 59, "global");
    let m = dart.test(multiLine) ? "m" : "";
    let i = dart.test(caseSensitive) ? "" : "i";
    let u = dart.test(unicode) ? "u" : "";
    let s = dart.test(dotAll) ? "s" : "";
    let g = dart.test(global) ? "g" : "";
    let regexp = (function() {
      try {
        return new RegExp(source, m + i + u + s + g);
      } catch (e) {
        return e;
      }
    })();
    if (regexp instanceof RegExp) return regexp;
    let errorMessage = String(regexp);
    dart.throw(new core.FormatException.new("Illegal RegExp pattern: " + source + ", " + errorMessage));
  }
  firstMatch(string) {
    if (string == null) dart.argumentError(string);
    let m = this[_nativeRegExp].exec(string);
    if (m == null) return null;
    return new _js_helper._MatchImplementation.new(this, m);
  }
  hasMatch(string) {
    if (string == null) dart.argumentError(string);
    return this[_nativeRegExp].test(string);
  }
  stringMatch(string) {
    if (string == null) dart.nullFailed(I[52], 131, 30, "string");
    let match = this.firstMatch(string);
    if (match != null) return match.group(0);
    return null;
  }
  allMatches(string, start = 0) {
    if (string == null) dart.argumentError(string);
    if (start == null) dart.argumentError(start);
    if (start < 0 || start > string.length) {
      dart.throw(new core.RangeError.range(start, 0, string.length));
    }
    return new _js_helper._AllMatchesIterable.new(this, string, start);
  }
  [_execGlobal](string, start) {
    if (string == null) dart.nullFailed(I[52], 145, 35, "string");
    if (start == null) dart.nullFailed(I[52], 145, 47, "start");
    let regexp = core.Object.as(this[_nativeGlobalVersion]);
    regexp.lastIndex = start;
    let match = regexp.exec(string);
    if (match == null) return null;
    return new _js_helper._MatchImplementation.new(this, match);
  }
  [_execAnchored](string, start) {
    let t81;
    if (string == null) dart.nullFailed(I[52], 155, 37, "string");
    if (start == null) dart.nullFailed(I[52], 155, 49, "start");
    let regexp = core.Object.as(this[_nativeAnchoredVersion]);
    regexp.lastIndex = start;
    let match = regexp.exec(string);
    if (match == null) return null;
    if (match[$_get](dart.notNull(match[$length]) - 1) != null) return null;
    t81 = match;
    t81[$length] = dart.notNull(t81[$length]) - 1;
    return new _js_helper._MatchImplementation.new(this, match);
  }
  matchAsPrefix(string, start = 0) {
    if (string == null) dart.nullFailed(I[52], 169, 31, "string");
    if (start == null) dart.nullFailed(I[52], 169, 44, "start");
    if (dart.notNull(start) < 0 || dart.notNull(start) > string.length) {
      dart.throw(new core.RangeError.range(start, 0, string.length));
    }
    return this[_execAnchored](string, start);
  }
  get isMultiLine() {
    return this[_isMultiLine];
  }
  get isCaseSensitive() {
    return this[_isCaseSensitive];
  }
  get isUnicode() {
    return this[_isUnicode];
  }
  get isDotAll() {
    return this[_isDotAll];
  }
};
(_js_helper.JSSyntaxRegExp.new = function(source, opts) {
  if (source == null) dart.nullFailed(I[52], 53, 25, "source");
  let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false;
  if (multiLine == null) dart.nullFailed(I[52], 54, 13, "multiLine");
  let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive : true;
  if (caseSensitive == null) dart.nullFailed(I[52], 55, 12, "caseSensitive");
  let unicode = opts && 'unicode' in opts ? opts.unicode : false;
  if (unicode == null) dart.nullFailed(I[52], 56, 12, "unicode");
  let dotAll = opts && 'dotAll' in opts ? opts.dotAll : false;
  if (dotAll == null) dart.nullFailed(I[52], 57, 12, "dotAll");
  this[_nativeGlobalRegExp] = null;
  this[_nativeAnchoredRegExp] = null;
  this[pattern] = source;
  this[_nativeRegExp] = _js_helper.JSSyntaxRegExp.makeNative(source, multiLine, caseSensitive, unicode, dotAll, false);
  ;
}).prototype = _js_helper.JSSyntaxRegExp.prototype;
dart.addTypeTests(_js_helper.JSSyntaxRegExp);
dart.addTypeCaches(_js_helper.JSSyntaxRegExp);
_js_helper.JSSyntaxRegExp[dart.implements] = () => [core.RegExp];
dart.setMethodSignature(_js_helper.JSSyntaxRegExp, () => ({
  __proto__: dart.getMethods(_js_helper.JSSyntaxRegExp.__proto__),
  firstMatch: dart.fnType(dart.nullable(core.RegExpMatch), [core.String]),
  hasMatch: dart.fnType(core.bool, [core.String]),
  stringMatch: dart.fnType(dart.nullable(core.String), [core.String]),
  allMatches: dart.fnType(core.Iterable$(core.RegExpMatch), [core.String], [core.int]),
  [$allMatches]: dart.fnType(core.Iterable$(core.RegExpMatch), [core.String], [core.int]),
  [_execGlobal]: dart.fnType(dart.nullable(core.RegExpMatch), [core.String, core.int]),
  [_execAnchored]: dart.fnType(dart.nullable(core.RegExpMatch), [core.String, core.int]),
  matchAsPrefix: dart.fnType(dart.nullable(core.Match), [core.String], [core.int]),
  [$matchAsPrefix]: dart.fnType(dart.nullable(core.Match), [core.String], [core.int])
}));
dart.setGetterSignature(_js_helper.JSSyntaxRegExp, () => ({
  __proto__: dart.getGetters(_js_helper.JSSyntaxRegExp.__proto__),
  [_nativeGlobalVersion]: dart.dynamic,
  [_nativeAnchoredVersion]: dart.dynamic,
  [_isMultiLine]: core.bool,
  [_isCaseSensitive]: core.bool,
  [_isUnicode]: core.bool,
  [_isDotAll]: core.bool,
  isMultiLine: core.bool,
  isCaseSensitive: core.bool,
  isUnicode: core.bool,
  isDotAll: core.bool
}));
dart.setLibraryUri(_js_helper.JSSyntaxRegExp, I[46]);
dart.setFieldSignature(_js_helper.JSSyntaxRegExp, () => ({
  __proto__: dart.getFields(_js_helper.JSSyntaxRegExp.__proto__),
  pattern: dart.finalFieldType(core.String),
  [_nativeRegExp]: dart.finalFieldType(dart.dynamic),
  [_nativeGlobalRegExp]: dart.fieldType(dart.dynamic),
  [_nativeAnchoredRegExp]: dart.fieldType(dart.dynamic)
}));
dart.defineExtensionMethods(_js_helper.JSSyntaxRegExp, ['toString', 'allMatches', 'matchAsPrefix']);
var _match$ = dart.privateName(_js_helper, "_match");
_js_helper._MatchImplementation = class _MatchImplementation extends core.Object {
  get input() {
    return this[_match$].input;
  }
  get start() {
    return this[_match$].index;
  }
  get end() {
    return dart.notNull(this.start) + dart.nullCheck(this[_match$][$_get](0)).length;
  }
  group(index) {
    if (index == null) dart.nullFailed(I[52], 200, 21, "index");
    return this[_match$][$_get](index);
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[52], 201, 27, "index");
    return this.group(index);
  }
  get groupCount() {
    return dart.notNull(this[_match$][$length]) - 1;
  }
  groups(groups) {
    if (groups == null) dart.nullFailed(I[52], 204, 34, "groups");
    let out = T$.JSArrayOfStringN().of([]);
    for (let i of groups) {
      out[$add](this.group(i));
    }
    return out;
  }
  namedGroup(name) {
    if (name == null) dart.nullFailed(I[52], 212, 29, "name");
    let groups = this[_match$].groups;
    if (groups != null) {
      let result = groups[name];
      if (result != null || name in groups) {
        return result;
      }
    }
    dart.throw(new core.ArgumentError.value(name, "name", "Not a capture group name"));
  }
  get groupNames() {
    let groups = this[_match$].groups;
    if (groups != null) {
      let keys = T$.JSArrayOfString().of(Object.keys(groups));
      return new (T$.SubListIterableOfString()).new(keys, 0, null);
    }
    return new (T$.EmptyIterableOfString()).new();
  }
};
(_js_helper._MatchImplementation.new = function(pattern, _match) {
  if (pattern == null) dart.nullFailed(I[52], 191, 29, "pattern");
  if (_match == null) dart.nullFailed(I[52], 191, 43, "_match");
  this.pattern = pattern;
  this[_match$] = _match;
  if (!(typeof this[_match$].input == 'string')) dart.assertFailed(null, I[52], 192, 12, "JS(\"var\", \"#.input\", _match) is String");
  if (!core.int.is(this[_match$].index)) dart.assertFailed(null, I[52], 193, 12, "JS(\"var\", \"#.index\", _match) is int");
}).prototype = _js_helper._MatchImplementation.prototype;
dart.addTypeTests(_js_helper._MatchImplementation);
dart.addTypeCaches(_js_helper._MatchImplementation);
_js_helper._MatchImplementation[dart.implements] = () => [core.RegExpMatch];
dart.setMethodSignature(_js_helper._MatchImplementation, () => ({
  __proto__: dart.getMethods(_js_helper._MatchImplementation.__proto__),
  group: dart.fnType(dart.nullable(core.String), [core.int]),
  _get: dart.fnType(dart.nullable(core.String), [core.int]),
  groups: dart.fnType(core.List$(dart.nullable(core.String)), [core.List$(core.int)]),
  namedGroup: dart.fnType(dart.nullable(core.String), [core.String])
}));
dart.setGetterSignature(_js_helper._MatchImplementation, () => ({
  __proto__: dart.getGetters(_js_helper._MatchImplementation.__proto__),
  input: core.String,
  start: core.int,
  end: core.int,
  groupCount: core.int,
  groupNames: core.Iterable$(core.String)
}));
dart.setLibraryUri(_js_helper._MatchImplementation, I[46]);
dart.setFieldSignature(_js_helper._MatchImplementation, () => ({
  __proto__: dart.getFields(_js_helper._MatchImplementation.__proto__),
  pattern: dart.finalFieldType(core.Pattern),
  [_match$]: dart.finalFieldType(core.List$(dart.nullable(core.String)))
}));
var _re$ = dart.privateName(_js_helper, "_re");
var _string$0 = dart.privateName(_js_helper, "_string");
var _start$0 = dart.privateName(_js_helper, "_start");
core.RegExpMatch = class RegExpMatch extends core.Object {};
(core.RegExpMatch.new = function() {
  ;
}).prototype = core.RegExpMatch.prototype;
dart.addTypeTests(core.RegExpMatch);
dart.addTypeCaches(core.RegExpMatch);
core.RegExpMatch[dart.implements] = () => [core.Match];
dart.setLibraryUri(core.RegExpMatch, I[9]);
_js_helper._AllMatchesIterable = class _AllMatchesIterable extends collection.IterableBase$(core.RegExpMatch) {
  get iterator() {
    return new _js_helper._AllMatchesIterator.new(this[_re$], this[_string$0], this[_start$0]);
  }
};
(_js_helper._AllMatchesIterable.new = function(_re, _string, _start) {
  if (_re == null) dart.nullFailed(I[52], 238, 28, "_re");
  if (_string == null) dart.nullFailed(I[52], 238, 38, "_string");
  if (_start == null) dart.nullFailed(I[52], 238, 52, "_start");
  this[_re$] = _re;
  this[_string$0] = _string;
  this[_start$0] = _start;
  _js_helper._AllMatchesIterable.__proto__.new.call(this);
  ;
}).prototype = _js_helper._AllMatchesIterable.prototype;
dart.addTypeTests(_js_helper._AllMatchesIterable);
dart.addTypeCaches(_js_helper._AllMatchesIterable);
dart.setGetterSignature(_js_helper._AllMatchesIterable, () => ({
  __proto__: dart.getGetters(_js_helper._AllMatchesIterable.__proto__),
  iterator: core.Iterator$(core.RegExpMatch),
  [$iterator]: core.Iterator$(core.RegExpMatch)
}));
dart.setLibraryUri(_js_helper._AllMatchesIterable, I[46]);
dart.setFieldSignature(_js_helper._AllMatchesIterable, () => ({
  __proto__: dart.getFields(_js_helper._AllMatchesIterable.__proto__),
  [_re$]: dart.finalFieldType(_js_helper.JSSyntaxRegExp),
  [_string$0]: dart.finalFieldType(core.String),
  [_start$0]: dart.finalFieldType(core.int)
}));
dart.defineExtensionAccessors(_js_helper._AllMatchesIterable, ['iterator']);
var _regExp$ = dart.privateName(_js_helper, "_regExp");
var _nextIndex$ = dart.privateName(_js_helper, "_nextIndex");
_js_helper._AllMatchesIterator = class _AllMatchesIterator extends core.Object {
  get current() {
    return dart.nullCast(this[_current$0], core.RegExpMatch);
  }
  static _isLeadSurrogate(c) {
    if (c == null) dart.nullFailed(I[52], 254, 36, "c");
    return dart.notNull(c) >= 55296 && dart.notNull(c) <= 56319;
  }
  static _isTrailSurrogate(c) {
    if (c == null) dart.nullFailed(I[52], 258, 37, "c");
    return dart.notNull(c) >= 56320 && dart.notNull(c) <= 57343;
  }
  moveNext() {
    let string = this[_string$0];
    if (string == null) return false;
    if (dart.notNull(this[_nextIndex$]) <= string.length) {
      let match = this[_regExp$][_execGlobal](string, this[_nextIndex$]);
      if (match != null) {
        this[_current$0] = match;
        let nextIndex = match.end;
        if (match.start == nextIndex) {
          if (dart.test(this[_regExp$].isUnicode) && dart.notNull(this[_nextIndex$]) + 1 < string.length && dart.test(_js_helper._AllMatchesIterator._isLeadSurrogate(string[$codeUnitAt](this[_nextIndex$]))) && dart.test(_js_helper._AllMatchesIterator._isTrailSurrogate(string[$codeUnitAt](dart.notNull(this[_nextIndex$]) + 1)))) {
            nextIndex = dart.notNull(nextIndex) + 1;
          }
          nextIndex = dart.notNull(nextIndex) + 1;
        }
        this[_nextIndex$] = nextIndex;
        return true;
      }
    }
    this[_current$0] = null;
    this[_string$0] = null;
    return false;
  }
};
(_js_helper._AllMatchesIterator.new = function(_regExp, _string, _nextIndex) {
  if (_regExp == null) dart.nullFailed(I[52], 250, 28, "_regExp");
  if (_nextIndex == null) dart.nullFailed(I[52], 250, 56, "_nextIndex");
  this[_current$0] = null;
  this[_regExp$] = _regExp;
  this[_string$0] = _string;
  this[_nextIndex$] = _nextIndex;
  ;
}).prototype = _js_helper._AllMatchesIterator.prototype;
dart.addTypeTests(_js_helper._AllMatchesIterator);
dart.addTypeCaches(_js_helper._AllMatchesIterator);
_js_helper._AllMatchesIterator[dart.implements] = () => [core.Iterator$(core.RegExpMatch)];
dart.setMethodSignature(_js_helper._AllMatchesIterator, () => ({
  __proto__: dart.getMethods(_js_helper._AllMatchesIterator.__proto__),
  moveNext: dart.fnType(core.bool, [])
}));
dart.setGetterSignature(_js_helper._AllMatchesIterator, () => ({
  __proto__: dart.getGetters(_js_helper._AllMatchesIterator.__proto__),
  current: core.RegExpMatch
}));
dart.setLibraryUri(_js_helper._AllMatchesIterator, I[46]);
dart.setFieldSignature(_js_helper._AllMatchesIterator, () => ({
  __proto__: dart.getFields(_js_helper._AllMatchesIterator.__proto__),
  [_regExp$]: dart.finalFieldType(_js_helper.JSSyntaxRegExp),
  [_string$0]: dart.fieldType(dart.nullable(core.String)),
  [_nextIndex$]: dart.fieldType(core.int),
  [_current$0]: dart.fieldType(dart.nullable(core.RegExpMatch))
}));
var start$0 = dart.privateName(_js_helper, "StringMatch.start");
var input$ = dart.privateName(_js_helper, "StringMatch.input");
var pattern$ = dart.privateName(_js_helper, "StringMatch.pattern");
_js_helper.StringMatch = class StringMatch extends core.Object {
  get start() {
    return this[start$0];
  }
  set start(value) {
    super.start = value;
  }
  get input() {
    return this[input$];
  }
  set input(value) {
    super.input = value;
  }
  get pattern() {
    return this[pattern$];
  }
  set pattern(value) {
    super.pattern = value;
  }
  get end() {
    return dart.notNull(this.start) + this.pattern.length;
  }
  _get(g) {
    if (g == null) dart.nullFailed(I[53], 31, 26, "g");
    return this.group(g);
  }
  get groupCount() {
    return 0;
  }
  group(group_) {
    if (group_ == null) dart.nullFailed(I[53], 34, 20, "group_");
    if (group_ !== 0) {
      dart.throw(new core.RangeError.value(group_));
    }
    return this.pattern;
  }
  groups(groups_) {
    if (groups_ == null) dart.nullFailed(I[53], 41, 33, "groups_");
    let result = T$.JSArrayOfString().of([]);
    for (let g of groups_) {
      result[$add](this.group(g));
    }
    return result;
  }
};
(_js_helper.StringMatch.new = function(start, input, pattern) {
  if (start == null) dart.nullFailed(I[53], 28, 30, "start");
  if (input == null) dart.nullFailed(I[53], 28, 49, "input");
  if (pattern == null) dart.nullFailed(I[53], 28, 68, "pattern");
  this[start$0] = start;
  this[input$] = input;
  this[pattern$] = pattern;
  ;
}).prototype = _js_helper.StringMatch.prototype;
dart.addTypeTests(_js_helper.StringMatch);
dart.addTypeCaches(_js_helper.StringMatch);
_js_helper.StringMatch[dart.implements] = () => [core.Match];
dart.setMethodSignature(_js_helper.StringMatch, () => ({
  __proto__: dart.getMethods(_js_helper.StringMatch.__proto__),
  _get: dart.fnType(core.String, [core.int]),
  group: dart.fnType(core.String, [core.int]),
  groups: dart.fnType(core.List$(core.String), [core.List$(core.int)])
}));
dart.setGetterSignature(_js_helper.StringMatch, () => ({
  __proto__: dart.getGetters(_js_helper.StringMatch.__proto__),
  end: core.int,
  groupCount: core.int
}));
dart.setLibraryUri(_js_helper.StringMatch, I[46]);
dart.setFieldSignature(_js_helper.StringMatch, () => ({
  __proto__: dart.getFields(_js_helper.StringMatch.__proto__),
  start: dart.finalFieldType(core.int),
  input: dart.finalFieldType(core.String),
  pattern: dart.finalFieldType(core.String)
}));
var _input$ = dart.privateName(_js_helper, "_input");
var _pattern$ = dart.privateName(_js_helper, "_pattern");
var _index$0 = dart.privateName(_js_helper, "_index");
core.Match = class Match extends core.Object {};
(core.Match.new = function() {
  ;
}).prototype = core.Match.prototype;
dart.addTypeTests(core.Match);
dart.addTypeCaches(core.Match);
dart.setLibraryUri(core.Match, I[9]);
_js_helper._StringAllMatchesIterable = class _StringAllMatchesIterable extends core.Iterable$(core.Match) {
  get iterator() {
    return new _js_helper._StringAllMatchesIterator.new(this[_input$], this[_pattern$], this[_index$0]);
  }
  get first() {
    let index = _js_helper.stringIndexOfStringUnchecked(this[_input$], this[_pattern$], this[_index$0]);
    if (index >= 0) {
      return new _js_helper.StringMatch.new(index, this[_input$], this[_pattern$]);
    }
    dart.throw(_internal.IterableElementError.noElement());
  }
};
(_js_helper._StringAllMatchesIterable.new = function(_input, _pattern, _index) {
  if (_input == null) dart.nullFailed(I[53], 64, 34, "_input");
  if (_pattern == null) dart.nullFailed(I[53], 64, 47, "_pattern");
  if (_index == null) dart.nullFailed(I[53], 64, 62, "_index");
  this[_input$] = _input;
  this[_pattern$] = _pattern;
  this[_index$0] = _index;
  _js_helper._StringAllMatchesIterable.__proto__.new.call(this);
  ;
}).prototype = _js_helper._StringAllMatchesIterable.prototype;
dart.addTypeTests(_js_helper._StringAllMatchesIterable);
dart.addTypeCaches(_js_helper._StringAllMatchesIterable);
dart.setGetterSignature(_js_helper._StringAllMatchesIterable, () => ({
  __proto__: dart.getGetters(_js_helper._StringAllMatchesIterable.__proto__),
  iterator: core.Iterator$(core.Match),
  [$iterator]: core.Iterator$(core.Match)
}));
dart.setLibraryUri(_js_helper._StringAllMatchesIterable, I[46]);
dart.setFieldSignature(_js_helper._StringAllMatchesIterable, () => ({
  __proto__: dart.getFields(_js_helper._StringAllMatchesIterable.__proto__),
  [_input$]: dart.finalFieldType(core.String),
  [_pattern$]: dart.finalFieldType(core.String),
  [_index$0]: dart.finalFieldType(core.int)
}));
dart.defineExtensionAccessors(_js_helper._StringAllMatchesIterable, ['iterator', 'first']);
_js_helper._StringAllMatchesIterator = class _StringAllMatchesIterator extends core.Object {
  moveNext() {
    if (dart.notNull(this[_index$0]) + this[_pattern$].length > this[_input$].length) {
      this[_current$0] = null;
      return false;
    }
    let index = _js_helper.stringIndexOfStringUnchecked(this[_input$], this[_pattern$], this[_index$0]);
    if (index < 0) {
      this[_index$0] = this[_input$].length + 1;
      this[_current$0] = null;
      return false;
    }
    let end = index + this[_pattern$].length;
    this[_current$0] = new _js_helper.StringMatch.new(index, this[_input$], this[_pattern$]);
    if (end === this[_index$0]) end = end + 1;
    this[_index$0] = end;
    return true;
  }
  get current() {
    return dart.nullCheck(this[_current$0]);
  }
};
(_js_helper._StringAllMatchesIterator.new = function(_input, _pattern, _index) {
  if (_input == null) dart.nullFailed(I[53], 84, 34, "_input");
  if (_pattern == null) dart.nullFailed(I[53], 84, 47, "_pattern");
  if (_index == null) dart.nullFailed(I[53], 84, 62, "_index");
  this[_current$0] = null;
  this[_input$] = _input;
  this[_pattern$] = _pattern;
  this[_index$0] = _index;
  ;
}).prototype = _js_helper._StringAllMatchesIterator.prototype;
dart.addTypeTests(_js_helper._StringAllMatchesIterator);
dart.addTypeCaches(_js_helper._StringAllMatchesIterator);
_js_helper._StringAllMatchesIterator[dart.implements] = () => [core.Iterator$(core.Match)];
dart.setMethodSignature(_js_helper._StringAllMatchesIterator, () => ({
  __proto__: dart.getMethods(_js_helper._StringAllMatchesIterator.__proto__),
  moveNext: dart.fnType(core.bool, [])
}));
dart.setGetterSignature(_js_helper._StringAllMatchesIterator, () => ({
  __proto__: dart.getGetters(_js_helper._StringAllMatchesIterator.__proto__),
  current: core.Match
}));
dart.setLibraryUri(_js_helper._StringAllMatchesIterator, I[46]);
dart.setFieldSignature(_js_helper._StringAllMatchesIterator, () => ({
  __proto__: dart.getFields(_js_helper._StringAllMatchesIterator.__proto__),
  [_input$]: dart.finalFieldType(core.String),
  [_pattern$]: dart.finalFieldType(core.String),
  [_index$0]: dart.fieldType(core.int),
  [_current$0]: dart.fieldType(dart.nullable(core.Match))
}));
_js_helper.diagnoseIndexError = function diagnoseIndexError(indexable, index) {
  if (index == null) dart.nullFailed(I[47], 483, 41, "index");
  let length = core.int.as(dart.dload(indexable, 'length'));
  if (dart.notNull(index) < 0 || dart.notNull(index) >= dart.notNull(length)) {
    return new core.IndexError.new(index, indexable, "index", null, length);
  }
  return new core.RangeError.value(index, "index");
};
_js_helper.diagnoseRangeError = function diagnoseRangeError(start, end, length) {
  if (length == null) dart.nullFailed(I[47], 499, 52, "length");
  if (start == null) {
    return new core.ArgumentError.value(start, "start");
  }
  if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(length)) {
    return new core.RangeError.range(start, 0, length, "start");
  }
  if (end != null) {
    if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(length)) {
      return new core.RangeError.range(end, start, length, "end");
    }
  }
  return new core.ArgumentError.value(end, "end");
};
_js_helper.stringLastIndexOfUnchecked = function stringLastIndexOfUnchecked(receiver, element, start) {
  return receiver.lastIndexOf(element, start);
};
_js_helper.argumentErrorValue = function argumentErrorValue(object) {
  return new core.ArgumentError.value(object);
};
_js_helper.throwArgumentErrorValue = function throwArgumentErrorValue(value) {
  dart.throw(_js_helper.argumentErrorValue(value));
};
_js_helper.checkInt = function checkInt(value) {
  if (!core.int.is(value)) dart.throw(_js_helper.argumentErrorValue(value));
  return value;
};
_js_helper.throwRuntimeError = function throwRuntimeError(message) {
  dart.throw(new _js_helper.RuntimeError.new(message));
};
_js_helper.throwAbstractClassInstantiationError = function throwAbstractClassInstantiationError(className) {
  dart.throw(new core.AbstractClassInstantiationError.new(core.String.as(className)));
};
_js_helper.throwConcurrentModificationError = function throwConcurrentModificationError(collection) {
  dart.throw(new core.ConcurrentModificationError.new(collection));
};
_js_helper.fillLiteralMap = function fillLiteralMap(keyValuePairs, result) {
  let t81, t81$;
  if (result == null) dart.nullFailed(I[47], 579, 35, "result");
  let index = 0;
  let length = _js_helper.getLength(keyValuePairs);
  while (index < dart.notNull(length)) {
    let key = _js_helper.getIndex(keyValuePairs, (t81 = index, index = t81 + 1, t81));
    let value = _js_helper.getIndex(keyValuePairs, (t81$ = index, index = t81$ + 1, t81$));
    result[$_set](key, value);
  }
  return result;
};
_js_helper.jsHasOwnProperty = function jsHasOwnProperty(jsObject, property) {
  if (property == null) dart.nullFailed(I[47], 592, 40, "property");
  return jsObject.hasOwnProperty(property);
};
_js_helper.jsPropertyAccess = function jsPropertyAccess(jsObject, property) {
  if (property == null) dart.nullFailed(I[47], 596, 35, "property");
  return jsObject[property];
};
_js_helper.getFallThroughError = function getFallThroughError() {
  return new _js_helper.FallThroughErrorImplementation.new();
};
_js_helper.random64 = function random64() {
  let int32a = Math.random() * 0x100000000 >>> 0;
  let int32b = Math.random() * 0x100000000 >>> 0;
  return int32a + int32b * 4294967296;
};
_js_helper.registerGlobalObject = function registerGlobalObject(object) {
  try {
    if (dart.test(dart.polyfill(object))) {
      dart.applyAllExtensions(object);
    }
  } catch (e$) {
    let e = dart.getThrown(e$);
    if (core.Object.is(e)) {
    } else
      throw e$;
  }
};
_js_helper.applyExtension = function applyExtension$(name, nativeObject) {
  dart.applyExtension(name, nativeObject);
};
_js_helper.applyTestExtensions = function applyTestExtensions(names) {
  if (names == null) dart.nullFailed(I[47], 802, 39, "names");
  names[$forEach](C[29] || CT.C29);
};
_js_helper.assertInterop = function assertInterop$(value) {
  if (core.Function.is(value)) dart.assertInterop(value);
};
_js_helper.assertInteropArgs = function assertInteropArgs(args) {
  if (args == null) dart.nullFailed(I[47], 843, 38, "args");
  return args[$forEach](C[30] || CT.C30);
};
_js_helper.getRuntimeType = function getRuntimeType(object) {
  return dart.getReifiedType(object);
};
_js_helper.getIndex = function getIndex(array, index) {
  if (index == null) dart.nullFailed(I[54], 13, 21, "index");
  if (!dart.test(_js_helper.isJsArray(array))) dart.assertFailed(null, I[54], 14, 10, "isJsArray(array)");
  return array[index];
};
_js_helper.getLength = function getLength(array) {
  if (!dart.test(_js_helper.isJsArray(array))) dart.assertFailed(null, I[54], 20, 10, "isJsArray(array)");
  return array.length;
};
_js_helper.isJsArray = function isJsArray(value) {
  return _interceptors.JSArray.is(value);
};
_js_helper.putLinkedMapKey = function putLinkedMapKey(key, keyMap) {
  let hash = key[$hashCode] & 0x3ffffff;
  let buckets = keyMap.get(hash);
  if (buckets == null) {
    keyMap.set(hash, [key]);
    return key;
  }
  for (let i = 0, n = buckets.length; i < n; i = i + 1) {
    let k = buckets[i];
    if (k[$_equals](key)) return k;
  }
  buckets.push(key);
  return key;
};
_js_helper.convertDartClosureToJS = function convertDartClosureToJS(F, closure, arity) {
  if (arity == null) dart.nullFailed(I[55], 9, 44, "arity");
  return closure;
};
_js_helper.setNativeSubclassDispatchRecord = function setNativeSubclassDispatchRecord(proto, interceptor) {
};
_js_helper.findDispatchTagForInterceptorClass = function findDispatchTagForInterceptorClass(interceptorClassConstructor) {
};
_js_helper.makeLeafDispatchRecord = function makeLeafDispatchRecord(interceptor) {
};
_js_helper.regExpGetNative = function regExpGetNative(regexp) {
  if (regexp == null) dart.nullFailed(I[52], 8, 32, "regexp");
  return regexp[_nativeRegExp];
};
_js_helper.regExpGetGlobalNative = function regExpGetGlobalNative(regexp) {
  if (regexp == null) dart.nullFailed(I[52], 19, 38, "regexp");
  let nativeRegexp = regexp[_nativeGlobalVersion];
  nativeRegexp.lastIndex = 0;
  return nativeRegexp;
};
_js_helper.regExpCaptureCount = function regExpCaptureCount(regexp) {
  if (regexp == null) dart.nullFailed(I[52], 35, 39, "regexp");
  let nativeAnchoredRegExp = regexp[_nativeAnchoredVersion];
  let match = nativeAnchoredRegExp.exec('');
  return match[$length] - 2;
};
_js_helper.firstMatchAfter = function firstMatchAfter(regExp, string, start) {
  if (regExp == null) dart.nullFailed(I[52], 293, 45, "regExp");
  if (string == null) dart.nullFailed(I[52], 293, 60, "string");
  if (start == null) dart.nullFailed(I[52], 293, 72, "start");
  return regExp[_execGlobal](string, start);
};
_js_helper.stringIndexOfStringUnchecked = function stringIndexOfStringUnchecked(receiver, other, startIndex) {
  return receiver.indexOf(other, startIndex);
};
_js_helper.substring1Unchecked = function substring1Unchecked(receiver, startIndex) {
  return receiver.substring(startIndex);
};
_js_helper.substring2Unchecked = function substring2Unchecked(receiver, startIndex, endIndex) {
  return receiver.substring(startIndex, endIndex);
};
_js_helper.stringContainsStringUnchecked = function stringContainsStringUnchecked(receiver, other, startIndex) {
  return _js_helper.stringIndexOfStringUnchecked(receiver, other, startIndex) >= 0;
};
_js_helper.allMatchesInStringUnchecked = function allMatchesInStringUnchecked(pattern, string, startIndex) {
  if (pattern == null) dart.nullFailed(I[53], 55, 12, "pattern");
  if (string == null) dart.nullFailed(I[53], 55, 28, "string");
  if (startIndex == null) dart.nullFailed(I[53], 55, 40, "startIndex");
  return new _js_helper._StringAllMatchesIterable.new(string, pattern, startIndex);
};
_js_helper.stringContainsUnchecked = function stringContainsUnchecked(receiver, other, startIndex) {
  if (startIndex == null) dart.nullFailed(I[53], 110, 51, "startIndex");
  if (typeof other == 'string') {
    return _js_helper.stringContainsStringUnchecked(receiver, other, startIndex);
  } else if (_js_helper.JSSyntaxRegExp.is(other)) {
    return other.hasMatch(receiver[$substring](startIndex));
  } else {
    let substr = receiver[$substring](startIndex);
    return core.bool.as(dart.dload(dart.dsend(other, 'allMatches', [substr]), 'isNotEmpty'));
  }
};
_js_helper.stringReplaceJS = function stringReplaceJS(receiver, replacer, replacement) {
  if (receiver == null) dart.nullFailed(I[53], 122, 31, "receiver");
  if (replacement == null) dart.nullFailed(I[53], 122, 58, "replacement");
  replacement = replacement.replace(/\$/g, "$$$$");
  return receiver.replace(replacer, replacement);
};
_js_helper.stringReplaceFirstRE = function stringReplaceFirstRE(receiver, regexp, replacement, startIndex) {
  if (regexp == null) dart.nullFailed(I[53], 131, 70, "regexp");
  if (replacement == null) dart.nullFailed(I[53], 132, 12, "replacement");
  if (startIndex == null) dart.nullFailed(I[53], 132, 29, "startIndex");
  let match = regexp[_execGlobal](receiver, startIndex);
  if (match == null) return receiver;
  let start = match.start;
  let end = match.end;
  return _js_helper.stringReplaceRangeUnchecked(receiver, start, end, replacement);
};
_js_helper.quoteStringForRegExp = function quoteStringForRegExp(string) {
  return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
};
_js_helper.stringReplaceAllUnchecked = function stringReplaceAllUnchecked(receiver, pattern, replacement) {
  if (pattern == null) dart.argumentError(pattern);
  if (replacement == null) dart.argumentError(replacement);
  if (typeof pattern == 'string') {
    if (pattern === "") {
      if (receiver === "") {
        return replacement;
      } else {
        let result = new core.StringBuffer.new();
        let length = receiver.length;
        result.write(replacement);
        for (let i = 0; i < length; i = i + 1) {
          result.write(receiver[$_get](i));
          result.write(replacement);
        }
        return result.toString();
      }
    } else {
      return receiver.split(pattern).join(replacement);
    }
  } else if (_js_helper.JSSyntaxRegExp.is(pattern)) {
    let re = _js_helper.regExpGetGlobalNative(pattern);
    return _js_helper.stringReplaceJS(receiver, re, replacement);
  } else {
    dart.throw("String.replaceAll(Pattern) UNIMPLEMENTED");
  }
};
_js_helper._matchString = function _matchString(match) {
  if (match == null) dart.nullFailed(I[53], 177, 27, "match");
  return dart.nullCheck(match._get(0));
};
_js_helper._stringIdentity = function _stringIdentity(string) {
  if (string == null) dart.nullFailed(I[53], 178, 31, "string");
  return string;
};
_js_helper.stringReplaceAllFuncUnchecked = function stringReplaceAllFuncUnchecked(receiver, pattern, onMatch, onNonMatch) {
  if (receiver == null) dart.nullFailed(I[53], 182, 12, "receiver");
  if (pattern == null) dart.argumentError(pattern);
  if (onMatch == null) onMatch = C[31] || CT.C31;
  if (onNonMatch == null) onNonMatch = C[32] || CT.C32;
  if (typeof pattern == 'string') {
    return _js_helper.stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onNonMatch);
  }
  let buffer = new core.StringBuffer.new();
  let startIndex = 0;
  for (let match of pattern[$allMatches](receiver)) {
    buffer.write(onNonMatch(receiver[$substring](startIndex, match.start)));
    buffer.write(onMatch(match));
    startIndex = match.end;
  }
  buffer.write(onNonMatch(receiver[$substring](startIndex)));
  return buffer.toString();
};
_js_helper.stringReplaceAllEmptyFuncUnchecked = function stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch) {
  if (receiver == null) dart.nullFailed(I[53], 204, 50, "receiver");
  if (onMatch == null) dart.nullFailed(I[53], 205, 12, "onMatch");
  if (onNonMatch == null) dart.nullFailed(I[53], 205, 41, "onNonMatch");
  let buffer = new core.StringBuffer.new();
  let length = receiver.length;
  let i = 0;
  buffer.write(onNonMatch(""));
  while (i < length) {
    buffer.write(onMatch(new _js_helper.StringMatch.new(i, receiver, "")));
    let code = receiver[$codeUnitAt](i);
    if ((code & ~1023 >>> 0) === 55296 && length > i + 1) {
      code = receiver[$codeUnitAt](i + 1);
      if ((code & ~1023 >>> 0) === 56320) {
        buffer.write(onNonMatch(receiver[$substring](i, i + 2)));
        i = i + 2;
        continue;
      }
    }
    buffer.write(onNonMatch(receiver[$_get](i)));
    i = i + 1;
  }
  buffer.write(onMatch(new _js_helper.StringMatch.new(i, receiver, "")));
  buffer.write(onNonMatch(""));
  return buffer.toString();
};
_js_helper.stringReplaceAllStringFuncUnchecked = function stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onNonMatch) {
  if (receiver == null) dart.nullFailed(I[53], 234, 51, "receiver");
  if (pattern == null) dart.nullFailed(I[53], 234, 68, "pattern");
  if (onMatch == null) dart.nullFailed(I[53], 235, 12, "onMatch");
  if (onNonMatch == null) dart.nullFailed(I[53], 235, 41, "onNonMatch");
  let patternLength = pattern.length;
  if (patternLength === 0) {
    return _js_helper.stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch);
  }
  let length = receiver.length;
  let buffer = new core.StringBuffer.new();
  let startIndex = 0;
  while (startIndex < length) {
    let position = _js_helper.stringIndexOfStringUnchecked(receiver, pattern, startIndex);
    if (position === -1) {
      break;
    }
    buffer.write(onNonMatch(receiver[$substring](startIndex, position)));
    buffer.write(onMatch(new _js_helper.StringMatch.new(position, receiver, pattern)));
    startIndex = position + patternLength;
  }
  buffer.write(onNonMatch(receiver[$substring](startIndex)));
  return buffer.toString();
};
_js_helper.stringReplaceFirstUnchecked = function stringReplaceFirstUnchecked(receiver, pattern, replacement, startIndex) {
  if (pattern == null) dart.argumentError(pattern);
  if (replacement == null) dart.nullFailed(I[53], 258, 40, "replacement");
  if (startIndex == null) dart.nullFailed(I[53], 258, 57, "startIndex");
  if (typeof pattern == 'string') {
    let index = _js_helper.stringIndexOfStringUnchecked(receiver, pattern, startIndex);
    if (index < 0) return receiver;
    let end = index + pattern.length;
    return _js_helper.stringReplaceRangeUnchecked(receiver, index, end, replacement);
  }
  if (_js_helper.JSSyntaxRegExp.is(pattern)) {
    return startIndex === 0 ? _js_helper.stringReplaceJS(receiver, _js_helper.regExpGetNative(pattern), replacement) : _js_helper.stringReplaceFirstRE(receiver, pattern, replacement, startIndex);
  }
  let matches = pattern[$allMatches](receiver, startIndex)[$iterator];
  if (!dart.test(matches.moveNext())) return receiver;
  let match = matches.current;
  return receiver[$replaceRange](match.start, match.end, replacement);
};
_js_helper.stringReplaceFirstMappedUnchecked = function stringReplaceFirstMappedUnchecked(receiver, pattern, replace, startIndex) {
  if (receiver == null) dart.nullFailed(I[53], 277, 49, "receiver");
  if (pattern == null) dart.nullFailed(I[53], 277, 67, "pattern");
  if (replace == null) dart.nullFailed(I[53], 278, 12, "replace");
  if (startIndex == null) dart.nullFailed(I[53], 278, 40, "startIndex");
  let matches = pattern[$allMatches](receiver, startIndex)[$iterator];
  if (!dart.test(matches.moveNext())) return receiver;
  let match = matches.current;
  let replacement = dart.str(replace(match));
  return receiver[$replaceRange](match.start, match.end, replacement);
};
_js_helper.stringJoinUnchecked = function stringJoinUnchecked(array, separator) {
  return array.join(separator);
};
_js_helper.stringReplaceRangeUnchecked = function stringReplaceRangeUnchecked(receiver, start, end, replacement) {
  if (receiver == null) dart.nullFailed(I[53], 293, 12, "receiver");
  if (start == null) dart.nullFailed(I[53], 293, 26, "start");
  if (end == null) dart.nullFailed(I[53], 293, 37, "end");
  if (replacement == null) dart.nullFailed(I[53], 293, 49, "replacement");
  let prefix = receiver.substring(0, start);
  let suffix = receiver.substring(end);
  return prefix + dart.str(replacement) + suffix;
};
dart.defineLazy(_js_helper, {
  /*_js_helper.patch*/get patch() {
    return C[33] || CT.C33;
  },
  /*_js_helper.notNull*/get notNull() {
    return C[34] || CT.C34;
  },
  /*_js_helper.undefined*/get undefined() {
    return C[35] || CT.C35;
  },
  /*_js_helper.nullCheck*/get nullCheck() {
    return C[36] || CT.C36;
  }
}, false);
_js_primitives.printString = function printString(string) {
  if (string == null) dart.nullFailed(I[56], 20, 25, "string");
  if (typeof dartPrint == "function") {
    dartPrint(string);
    return;
  }
  if (typeof console == "object" && typeof console.log != "undefined") {
    console.log(string);
    return;
  }
  if (typeof window == "object") {
    return;
  }
  if (typeof print == "function") {
    print(string);
    return;
  }
  throw "Unable to print message: " + String(string);
};
var browserName$ = dart.privateName(_metadata, "SupportedBrowser.browserName");
var minimumVersion$ = dart.privateName(_metadata, "SupportedBrowser.minimumVersion");
_metadata.SupportedBrowser = class SupportedBrowser extends core.Object {
  get browserName() {
    return this[browserName$];
  }
  set browserName(value) {
    super.browserName = value;
  }
  get minimumVersion() {
    return this[minimumVersion$];
  }
  set minimumVersion(value) {
    super.minimumVersion = value;
  }
};
(_metadata.SupportedBrowser.new = function(browserName, minimumVersion = null) {
  if (browserName == null) dart.nullFailed(I[57], 28, 31, "browserName");
  this[browserName$] = browserName;
  this[minimumVersion$] = minimumVersion;
  ;
}).prototype = _metadata.SupportedBrowser.prototype;
dart.addTypeTests(_metadata.SupportedBrowser);
dart.addTypeCaches(_metadata.SupportedBrowser);
dart.setLibraryUri(_metadata.SupportedBrowser, I[58]);
dart.setFieldSignature(_metadata.SupportedBrowser, () => ({
  __proto__: dart.getFields(_metadata.SupportedBrowser.__proto__),
  browserName: dart.finalFieldType(core.String),
  minimumVersion: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineLazy(_metadata.SupportedBrowser, {
  /*_metadata.SupportedBrowser.CHROME*/get CHROME() {
    return "Chrome";
  },
  /*_metadata.SupportedBrowser.FIREFOX*/get FIREFOX() {
    return "Firefox";
  },
  /*_metadata.SupportedBrowser.IE*/get IE() {
    return "Internet Explorer";
  },
  /*_metadata.SupportedBrowser.OPERA*/get OPERA() {
    return "Opera";
  },
  /*_metadata.SupportedBrowser.SAFARI*/get SAFARI() {
    return "Safari";
  }
}, false);
_metadata.Experimental = class Experimental extends core.Object {};
(_metadata.Experimental.new = function() {
  ;
}).prototype = _metadata.Experimental.prototype;
dart.addTypeTests(_metadata.Experimental);
dart.addTypeCaches(_metadata.Experimental);
dart.setLibraryUri(_metadata.Experimental, I[58]);
var name$9 = dart.privateName(_metadata, "DomName.name");
_metadata.DomName = class DomName extends core.Object {
  get name() {
    return this[name$9];
  }
  set name(value) {
    super.name = value;
  }
};
(_metadata.DomName.new = function(name) {
  if (name == null) dart.nullFailed(I[57], 54, 22, "name");
  this[name$9] = name;
  ;
}).prototype = _metadata.DomName.prototype;
dart.addTypeTests(_metadata.DomName);
dart.addTypeCaches(_metadata.DomName);
dart.setLibraryUri(_metadata.DomName, I[58]);
dart.setFieldSignature(_metadata.DomName, () => ({
  __proto__: dart.getFields(_metadata.DomName.__proto__),
  name: dart.finalFieldType(core.String)
}));
_metadata.DocsEditable = class DocsEditable extends core.Object {};
(_metadata.DocsEditable.new = function() {
  ;
}).prototype = _metadata.DocsEditable.prototype;
dart.addTypeTests(_metadata.DocsEditable);
dart.addTypeCaches(_metadata.DocsEditable);
dart.setLibraryUri(_metadata.DocsEditable, I[58]);
_metadata.Unstable = class Unstable extends core.Object {};
(_metadata.Unstable.new = function() {
  ;
}).prototype = _metadata.Unstable.prototype;
dart.addTypeTests(_metadata.Unstable);
dart.addTypeCaches(_metadata.Unstable);
dart.setLibraryUri(_metadata.Unstable, I[58]);
_native_typed_data.NativeByteBuffer = class NativeByteBuffer extends core.Object {
  get [$lengthInBytes]() {
    return this.byteLength;
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.ByteBuffer);
  }
  [$asUint8List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 33, 30, "offsetInBytes");
    return _native_typed_data.NativeUint8List.view(this, offsetInBytes, length);
  }
  [$asInt8List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 37, 28, "offsetInBytes");
    return _native_typed_data.NativeInt8List.view(this, offsetInBytes, length);
  }
  [$asUint8ClampedList](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 41, 44, "offsetInBytes");
    return _native_typed_data.NativeUint8ClampedList.view(this, offsetInBytes, length);
  }
  [$asUint16List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 45, 32, "offsetInBytes");
    return _native_typed_data.NativeUint16List.view(this, offsetInBytes, length);
  }
  [$asInt16List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 49, 30, "offsetInBytes");
    return _native_typed_data.NativeInt16List.view(this, offsetInBytes, length);
  }
  [$asUint32List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 53, 32, "offsetInBytes");
    return _native_typed_data.NativeUint32List.view(this, offsetInBytes, length);
  }
  [$asInt32List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 57, 30, "offsetInBytes");
    return _native_typed_data.NativeInt32List.view(this, offsetInBytes, length);
  }
  [$asUint64List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 61, 32, "offsetInBytes");
    dart.throw(new core.UnsupportedError.new("Uint64List not supported by dart2js."));
  }
  [$asInt64List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 65, 30, "offsetInBytes");
    dart.throw(new core.UnsupportedError.new("Int64List not supported by dart2js."));
  }
  [$asInt32x4List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 69, 34, "offsetInBytes");
    length == null ? length = ((dart.notNull(this[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 16)[$truncate]() : null;
    let storage = this[$asInt32List](offsetInBytes, dart.notNull(length) * 4);
    return new _native_typed_data.NativeInt32x4List._externalStorage(storage);
  }
  [$asFloat32List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 75, 34, "offsetInBytes");
    return _native_typed_data.NativeFloat32List.view(this, offsetInBytes, length);
  }
  [$asFloat64List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 79, 34, "offsetInBytes");
    return _native_typed_data.NativeFloat64List.view(this, offsetInBytes, length);
  }
  [$asFloat32x4List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 83, 38, "offsetInBytes");
    length == null ? length = ((dart.notNull(this[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 16)[$truncate]() : null;
    let storage = this[$asFloat32List](offsetInBytes, dart.notNull(length) * 4);
    return new _native_typed_data.NativeFloat32x4List._externalStorage(storage);
  }
  [$asFloat64x2List](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 89, 38, "offsetInBytes");
    length == null ? length = ((dart.notNull(this[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 16)[$truncate]() : null;
    let storage = this[$asFloat64List](offsetInBytes, dart.notNull(length) * 2);
    return new _native_typed_data.NativeFloat64x2List._externalStorage(storage);
  }
  [$asByteData](offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[59], 95, 28, "offsetInBytes");
    return _native_typed_data.NativeByteData.view(this, offsetInBytes, length);
  }
};
(_native_typed_data.NativeByteBuffer.new = function() {
  ;
}).prototype = _native_typed_data.NativeByteBuffer.prototype;
dart.addTypeTests(_native_typed_data.NativeByteBuffer);
dart.addTypeCaches(_native_typed_data.NativeByteBuffer);
_native_typed_data.NativeByteBuffer[dart.implements] = () => [typed_data.ByteBuffer];
dart.setMethodSignature(_native_typed_data.NativeByteBuffer, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeByteBuffer.__proto__),
  [$asUint8List]: dart.fnType(typed_data.Uint8List, [], [core.int, dart.nullable(core.int)]),
  [$asInt8List]: dart.fnType(typed_data.Int8List, [], [core.int, dart.nullable(core.int)]),
  [$asUint8ClampedList]: dart.fnType(typed_data.Uint8ClampedList, [], [core.int, dart.nullable(core.int)]),
  [$asUint16List]: dart.fnType(typed_data.Uint16List, [], [core.int, dart.nullable(core.int)]),
  [$asInt16List]: dart.fnType(typed_data.Int16List, [], [core.int, dart.nullable(core.int)]),
  [$asUint32List]: dart.fnType(typed_data.Uint32List, [], [core.int, dart.nullable(core.int)]),
  [$asInt32List]: dart.fnType(typed_data.Int32List, [], [core.int, dart.nullable(core.int)]),
  [$asUint64List]: dart.fnType(typed_data.Uint64List, [], [core.int, dart.nullable(core.int)]),
  [$asInt64List]: dart.fnType(typed_data.Int64List, [], [core.int, dart.nullable(core.int)]),
  [$asInt32x4List]: dart.fnType(typed_data.Int32x4List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat32List]: dart.fnType(typed_data.Float32List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat64List]: dart.fnType(typed_data.Float64List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat32x4List]: dart.fnType(typed_data.Float32x4List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat64x2List]: dart.fnType(typed_data.Float64x2List, [], [core.int, dart.nullable(core.int)]),
  [$asByteData]: dart.fnType(typed_data.ByteData, [], [core.int, dart.nullable(core.int)])
}));
dart.setGetterSignature(_native_typed_data.NativeByteBuffer, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeByteBuffer.__proto__),
  [$lengthInBytes]: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeByteBuffer, I[60]);
dart.registerExtension("ArrayBuffer", _native_typed_data.NativeByteBuffer);
var _storage$ = dart.privateName(_native_typed_data, "_storage");
typed_data.Float32x4 = class Float32x4 extends core.Object {};
(typed_data.Float32x4[dart.mixinNew] = function() {
}).prototype = typed_data.Float32x4.prototype;
dart.addTypeTests(typed_data.Float32x4);
dart.addTypeCaches(typed_data.Float32x4);
dart.setLibraryUri(typed_data.Float32x4, I[61]);
dart.defineLazy(typed_data.Float32x4, {
  /*typed_data.Float32x4.xxxx*/get xxxx() {
    return 0;
  },
  /*typed_data.Float32x4.xxxy*/get xxxy() {
    return 64;
  },
  /*typed_data.Float32x4.xxxz*/get xxxz() {
    return 128;
  },
  /*typed_data.Float32x4.xxxw*/get xxxw() {
    return 192;
  },
  /*typed_data.Float32x4.xxyx*/get xxyx() {
    return 16;
  },
  /*typed_data.Float32x4.xxyy*/get xxyy() {
    return 80;
  },
  /*typed_data.Float32x4.xxyz*/get xxyz() {
    return 144;
  },
  /*typed_data.Float32x4.xxyw*/get xxyw() {
    return 208;
  },
  /*typed_data.Float32x4.xxzx*/get xxzx() {
    return 32;
  },
  /*typed_data.Float32x4.xxzy*/get xxzy() {
    return 96;
  },
  /*typed_data.Float32x4.xxzz*/get xxzz() {
    return 160;
  },
  /*typed_data.Float32x4.xxzw*/get xxzw() {
    return 224;
  },
  /*typed_data.Float32x4.xxwx*/get xxwx() {
    return 48;
  },
  /*typed_data.Float32x4.xxwy*/get xxwy() {
    return 112;
  },
  /*typed_data.Float32x4.xxwz*/get xxwz() {
    return 176;
  },
  /*typed_data.Float32x4.xxww*/get xxww() {
    return 240;
  },
  /*typed_data.Float32x4.xyxx*/get xyxx() {
    return 4;
  },
  /*typed_data.Float32x4.xyxy*/get xyxy() {
    return 68;
  },
  /*typed_data.Float32x4.xyxz*/get xyxz() {
    return 132;
  },
  /*typed_data.Float32x4.xyxw*/get xyxw() {
    return 196;
  },
  /*typed_data.Float32x4.xyyx*/get xyyx() {
    return 20;
  },
  /*typed_data.Float32x4.xyyy*/get xyyy() {
    return 84;
  },
  /*typed_data.Float32x4.xyyz*/get xyyz() {
    return 148;
  },
  /*typed_data.Float32x4.xyyw*/get xyyw() {
    return 212;
  },
  /*typed_data.Float32x4.xyzx*/get xyzx() {
    return 36;
  },
  /*typed_data.Float32x4.xyzy*/get xyzy() {
    return 100;
  },
  /*typed_data.Float32x4.xyzz*/get xyzz() {
    return 164;
  },
  /*typed_data.Float32x4.xyzw*/get xyzw() {
    return 228;
  },
  /*typed_data.Float32x4.xywx*/get xywx() {
    return 52;
  },
  /*typed_data.Float32x4.xywy*/get xywy() {
    return 116;
  },
  /*typed_data.Float32x4.xywz*/get xywz() {
    return 180;
  },
  /*typed_data.Float32x4.xyww*/get xyww() {
    return 244;
  },
  /*typed_data.Float32x4.xzxx*/get xzxx() {
    return 8;
  },
  /*typed_data.Float32x4.xzxy*/get xzxy() {
    return 72;
  },
  /*typed_data.Float32x4.xzxz*/get xzxz() {
    return 136;
  },
  /*typed_data.Float32x4.xzxw*/get xzxw() {
    return 200;
  },
  /*typed_data.Float32x4.xzyx*/get xzyx() {
    return 24;
  },
  /*typed_data.Float32x4.xzyy*/get xzyy() {
    return 88;
  },
  /*typed_data.Float32x4.xzyz*/get xzyz() {
    return 152;
  },
  /*typed_data.Float32x4.xzyw*/get xzyw() {
    return 216;
  },
  /*typed_data.Float32x4.xzzx*/get xzzx() {
    return 40;
  },
  /*typed_data.Float32x4.xzzy*/get xzzy() {
    return 104;
  },
  /*typed_data.Float32x4.xzzz*/get xzzz() {
    return 168;
  },
  /*typed_data.Float32x4.xzzw*/get xzzw() {
    return 232;
  },
  /*typed_data.Float32x4.xzwx*/get xzwx() {
    return 56;
  },
  /*typed_data.Float32x4.xzwy*/get xzwy() {
    return 120;
  },
  /*typed_data.Float32x4.xzwz*/get xzwz() {
    return 184;
  },
  /*typed_data.Float32x4.xzww*/get xzww() {
    return 248;
  },
  /*typed_data.Float32x4.xwxx*/get xwxx() {
    return 12;
  },
  /*typed_data.Float32x4.xwxy*/get xwxy() {
    return 76;
  },
  /*typed_data.Float32x4.xwxz*/get xwxz() {
    return 140;
  },
  /*typed_data.Float32x4.xwxw*/get xwxw() {
    return 204;
  },
  /*typed_data.Float32x4.xwyx*/get xwyx() {
    return 28;
  },
  /*typed_data.Float32x4.xwyy*/get xwyy() {
    return 92;
  },
  /*typed_data.Float32x4.xwyz*/get xwyz() {
    return 156;
  },
  /*typed_data.Float32x4.xwyw*/get xwyw() {
    return 220;
  },
  /*typed_data.Float32x4.xwzx*/get xwzx() {
    return 44;
  },
  /*typed_data.Float32x4.xwzy*/get xwzy() {
    return 108;
  },
  /*typed_data.Float32x4.xwzz*/get xwzz() {
    return 172;
  },
  /*typed_data.Float32x4.xwzw*/get xwzw() {
    return 236;
  },
  /*typed_data.Float32x4.xwwx*/get xwwx() {
    return 60;
  },
  /*typed_data.Float32x4.xwwy*/get xwwy() {
    return 124;
  },
  /*typed_data.Float32x4.xwwz*/get xwwz() {
    return 188;
  },
  /*typed_data.Float32x4.xwww*/get xwww() {
    return 252;
  },
  /*typed_data.Float32x4.yxxx*/get yxxx() {
    return 1;
  },
  /*typed_data.Float32x4.yxxy*/get yxxy() {
    return 65;
  },
  /*typed_data.Float32x4.yxxz*/get yxxz() {
    return 129;
  },
  /*typed_data.Float32x4.yxxw*/get yxxw() {
    return 193;
  },
  /*typed_data.Float32x4.yxyx*/get yxyx() {
    return 17;
  },
  /*typed_data.Float32x4.yxyy*/get yxyy() {
    return 81;
  },
  /*typed_data.Float32x4.yxyz*/get yxyz() {
    return 145;
  },
  /*typed_data.Float32x4.yxyw*/get yxyw() {
    return 209;
  },
  /*typed_data.Float32x4.yxzx*/get yxzx() {
    return 33;
  },
  /*typed_data.Float32x4.yxzy*/get yxzy() {
    return 97;
  },
  /*typed_data.Float32x4.yxzz*/get yxzz() {
    return 161;
  },
  /*typed_data.Float32x4.yxzw*/get yxzw() {
    return 225;
  },
  /*typed_data.Float32x4.yxwx*/get yxwx() {
    return 49;
  },
  /*typed_data.Float32x4.yxwy*/get yxwy() {
    return 113;
  },
  /*typed_data.Float32x4.yxwz*/get yxwz() {
    return 177;
  },
  /*typed_data.Float32x4.yxww*/get yxww() {
    return 241;
  },
  /*typed_data.Float32x4.yyxx*/get yyxx() {
    return 5;
  },
  /*typed_data.Float32x4.yyxy*/get yyxy() {
    return 69;
  },
  /*typed_data.Float32x4.yyxz*/get yyxz() {
    return 133;
  },
  /*typed_data.Float32x4.yyxw*/get yyxw() {
    return 197;
  },
  /*typed_data.Float32x4.yyyx*/get yyyx() {
    return 21;
  },
  /*typed_data.Float32x4.yyyy*/get yyyy() {
    return 85;
  },
  /*typed_data.Float32x4.yyyz*/get yyyz() {
    return 149;
  },
  /*typed_data.Float32x4.yyyw*/get yyyw() {
    return 213;
  },
  /*typed_data.Float32x4.yyzx*/get yyzx() {
    return 37;
  },
  /*typed_data.Float32x4.yyzy*/get yyzy() {
    return 101;
  },
  /*typed_data.Float32x4.yyzz*/get yyzz() {
    return 165;
  },
  /*typed_data.Float32x4.yyzw*/get yyzw() {
    return 229;
  },
  /*typed_data.Float32x4.yywx*/get yywx() {
    return 53;
  },
  /*typed_data.Float32x4.yywy*/get yywy() {
    return 117;
  },
  /*typed_data.Float32x4.yywz*/get yywz() {
    return 181;
  },
  /*typed_data.Float32x4.yyww*/get yyww() {
    return 245;
  },
  /*typed_data.Float32x4.yzxx*/get yzxx() {
    return 9;
  },
  /*typed_data.Float32x4.yzxy*/get yzxy() {
    return 73;
  },
  /*typed_data.Float32x4.yzxz*/get yzxz() {
    return 137;
  },
  /*typed_data.Float32x4.yzxw*/get yzxw() {
    return 201;
  },
  /*typed_data.Float32x4.yzyx*/get yzyx() {
    return 25;
  },
  /*typed_data.Float32x4.yzyy*/get yzyy() {
    return 89;
  },
  /*typed_data.Float32x4.yzyz*/get yzyz() {
    return 153;
  },
  /*typed_data.Float32x4.yzyw*/get yzyw() {
    return 217;
  },
  /*typed_data.Float32x4.yzzx*/get yzzx() {
    return 41;
  },
  /*typed_data.Float32x4.yzzy*/get yzzy() {
    return 105;
  },
  /*typed_data.Float32x4.yzzz*/get yzzz() {
    return 169;
  },
  /*typed_data.Float32x4.yzzw*/get yzzw() {
    return 233;
  },
  /*typed_data.Float32x4.yzwx*/get yzwx() {
    return 57;
  },
  /*typed_data.Float32x4.yzwy*/get yzwy() {
    return 121;
  },
  /*typed_data.Float32x4.yzwz*/get yzwz() {
    return 185;
  },
  /*typed_data.Float32x4.yzww*/get yzww() {
    return 249;
  },
  /*typed_data.Float32x4.ywxx*/get ywxx() {
    return 13;
  },
  /*typed_data.Float32x4.ywxy*/get ywxy() {
    return 77;
  },
  /*typed_data.Float32x4.ywxz*/get ywxz() {
    return 141;
  },
  /*typed_data.Float32x4.ywxw*/get ywxw() {
    return 205;
  },
  /*typed_data.Float32x4.ywyx*/get ywyx() {
    return 29;
  },
  /*typed_data.Float32x4.ywyy*/get ywyy() {
    return 93;
  },
  /*typed_data.Float32x4.ywyz*/get ywyz() {
    return 157;
  },
  /*typed_data.Float32x4.ywyw*/get ywyw() {
    return 221;
  },
  /*typed_data.Float32x4.ywzx*/get ywzx() {
    return 45;
  },
  /*typed_data.Float32x4.ywzy*/get ywzy() {
    return 109;
  },
  /*typed_data.Float32x4.ywzz*/get ywzz() {
    return 173;
  },
  /*typed_data.Float32x4.ywzw*/get ywzw() {
    return 237;
  },
  /*typed_data.Float32x4.ywwx*/get ywwx() {
    return 61;
  },
  /*typed_data.Float32x4.ywwy*/get ywwy() {
    return 125;
  },
  /*typed_data.Float32x4.ywwz*/get ywwz() {
    return 189;
  },
  /*typed_data.Float32x4.ywww*/get ywww() {
    return 253;
  },
  /*typed_data.Float32x4.zxxx*/get zxxx() {
    return 2;
  },
  /*typed_data.Float32x4.zxxy*/get zxxy() {
    return 66;
  },
  /*typed_data.Float32x4.zxxz*/get zxxz() {
    return 130;
  },
  /*typed_data.Float32x4.zxxw*/get zxxw() {
    return 194;
  },
  /*typed_data.Float32x4.zxyx*/get zxyx() {
    return 18;
  },
  /*typed_data.Float32x4.zxyy*/get zxyy() {
    return 82;
  },
  /*typed_data.Float32x4.zxyz*/get zxyz() {
    return 146;
  },
  /*typed_data.Float32x4.zxyw*/get zxyw() {
    return 210;
  },
  /*typed_data.Float32x4.zxzx*/get zxzx() {
    return 34;
  },
  /*typed_data.Float32x4.zxzy*/get zxzy() {
    return 98;
  },
  /*typed_data.Float32x4.zxzz*/get zxzz() {
    return 162;
  },
  /*typed_data.Float32x4.zxzw*/get zxzw() {
    return 226;
  },
  /*typed_data.Float32x4.zxwx*/get zxwx() {
    return 50;
  },
  /*typed_data.Float32x4.zxwy*/get zxwy() {
    return 114;
  },
  /*typed_data.Float32x4.zxwz*/get zxwz() {
    return 178;
  },
  /*typed_data.Float32x4.zxww*/get zxww() {
    return 242;
  },
  /*typed_data.Float32x4.zyxx*/get zyxx() {
    return 6;
  },
  /*typed_data.Float32x4.zyxy*/get zyxy() {
    return 70;
  },
  /*typed_data.Float32x4.zyxz*/get zyxz() {
    return 134;
  },
  /*typed_data.Float32x4.zyxw*/get zyxw() {
    return 198;
  },
  /*typed_data.Float32x4.zyyx*/get zyyx() {
    return 22;
  },
  /*typed_data.Float32x4.zyyy*/get zyyy() {
    return 86;
  },
  /*typed_data.Float32x4.zyyz*/get zyyz() {
    return 150;
  },
  /*typed_data.Float32x4.zyyw*/get zyyw() {
    return 214;
  },
  /*typed_data.Float32x4.zyzx*/get zyzx() {
    return 38;
  },
  /*typed_data.Float32x4.zyzy*/get zyzy() {
    return 102;
  },
  /*typed_data.Float32x4.zyzz*/get zyzz() {
    return 166;
  },
  /*typed_data.Float32x4.zyzw*/get zyzw() {
    return 230;
  },
  /*typed_data.Float32x4.zywx*/get zywx() {
    return 54;
  },
  /*typed_data.Float32x4.zywy*/get zywy() {
    return 118;
  },
  /*typed_data.Float32x4.zywz*/get zywz() {
    return 182;
  },
  /*typed_data.Float32x4.zyww*/get zyww() {
    return 246;
  },
  /*typed_data.Float32x4.zzxx*/get zzxx() {
    return 10;
  },
  /*typed_data.Float32x4.zzxy*/get zzxy() {
    return 74;
  },
  /*typed_data.Float32x4.zzxz*/get zzxz() {
    return 138;
  },
  /*typed_data.Float32x4.zzxw*/get zzxw() {
    return 202;
  },
  /*typed_data.Float32x4.zzyx*/get zzyx() {
    return 26;
  },
  /*typed_data.Float32x4.zzyy*/get zzyy() {
    return 90;
  },
  /*typed_data.Float32x4.zzyz*/get zzyz() {
    return 154;
  },
  /*typed_data.Float32x4.zzyw*/get zzyw() {
    return 218;
  },
  /*typed_data.Float32x4.zzzx*/get zzzx() {
    return 42;
  },
  /*typed_data.Float32x4.zzzy*/get zzzy() {
    return 106;
  },
  /*typed_data.Float32x4.zzzz*/get zzzz() {
    return 170;
  },
  /*typed_data.Float32x4.zzzw*/get zzzw() {
    return 234;
  },
  /*typed_data.Float32x4.zzwx*/get zzwx() {
    return 58;
  },
  /*typed_data.Float32x4.zzwy*/get zzwy() {
    return 122;
  },
  /*typed_data.Float32x4.zzwz*/get zzwz() {
    return 186;
  },
  /*typed_data.Float32x4.zzww*/get zzww() {
    return 250;
  },
  /*typed_data.Float32x4.zwxx*/get zwxx() {
    return 14;
  },
  /*typed_data.Float32x4.zwxy*/get zwxy() {
    return 78;
  },
  /*typed_data.Float32x4.zwxz*/get zwxz() {
    return 142;
  },
  /*typed_data.Float32x4.zwxw*/get zwxw() {
    return 206;
  },
  /*typed_data.Float32x4.zwyx*/get zwyx() {
    return 30;
  },
  /*typed_data.Float32x4.zwyy*/get zwyy() {
    return 94;
  },
  /*typed_data.Float32x4.zwyz*/get zwyz() {
    return 158;
  },
  /*typed_data.Float32x4.zwyw*/get zwyw() {
    return 222;
  },
  /*typed_data.Float32x4.zwzx*/get zwzx() {
    return 46;
  },
  /*typed_data.Float32x4.zwzy*/get zwzy() {
    return 110;
  },
  /*typed_data.Float32x4.zwzz*/get zwzz() {
    return 174;
  },
  /*typed_data.Float32x4.zwzw*/get zwzw() {
    return 238;
  },
  /*typed_data.Float32x4.zwwx*/get zwwx() {
    return 62;
  },
  /*typed_data.Float32x4.zwwy*/get zwwy() {
    return 126;
  },
  /*typed_data.Float32x4.zwwz*/get zwwz() {
    return 190;
  },
  /*typed_data.Float32x4.zwww*/get zwww() {
    return 254;
  },
  /*typed_data.Float32x4.wxxx*/get wxxx() {
    return 3;
  },
  /*typed_data.Float32x4.wxxy*/get wxxy() {
    return 67;
  },
  /*typed_data.Float32x4.wxxz*/get wxxz() {
    return 131;
  },
  /*typed_data.Float32x4.wxxw*/get wxxw() {
    return 195;
  },
  /*typed_data.Float32x4.wxyx*/get wxyx() {
    return 19;
  },
  /*typed_data.Float32x4.wxyy*/get wxyy() {
    return 83;
  },
  /*typed_data.Float32x4.wxyz*/get wxyz() {
    return 147;
  },
  /*typed_data.Float32x4.wxyw*/get wxyw() {
    return 211;
  },
  /*typed_data.Float32x4.wxzx*/get wxzx() {
    return 35;
  },
  /*typed_data.Float32x4.wxzy*/get wxzy() {
    return 99;
  },
  /*typed_data.Float32x4.wxzz*/get wxzz() {
    return 163;
  },
  /*typed_data.Float32x4.wxzw*/get wxzw() {
    return 227;
  },
  /*typed_data.Float32x4.wxwx*/get wxwx() {
    return 51;
  },
  /*typed_data.Float32x4.wxwy*/get wxwy() {
    return 115;
  },
  /*typed_data.Float32x4.wxwz*/get wxwz() {
    return 179;
  },
  /*typed_data.Float32x4.wxww*/get wxww() {
    return 243;
  },
  /*typed_data.Float32x4.wyxx*/get wyxx() {
    return 7;
  },
  /*typed_data.Float32x4.wyxy*/get wyxy() {
    return 71;
  },
  /*typed_data.Float32x4.wyxz*/get wyxz() {
    return 135;
  },
  /*typed_data.Float32x4.wyxw*/get wyxw() {
    return 199;
  },
  /*typed_data.Float32x4.wyyx*/get wyyx() {
    return 23;
  },
  /*typed_data.Float32x4.wyyy*/get wyyy() {
    return 87;
  },
  /*typed_data.Float32x4.wyyz*/get wyyz() {
    return 151;
  },
  /*typed_data.Float32x4.wyyw*/get wyyw() {
    return 215;
  },
  /*typed_data.Float32x4.wyzx*/get wyzx() {
    return 39;
  },
  /*typed_data.Float32x4.wyzy*/get wyzy() {
    return 103;
  },
  /*typed_data.Float32x4.wyzz*/get wyzz() {
    return 167;
  },
  /*typed_data.Float32x4.wyzw*/get wyzw() {
    return 231;
  },
  /*typed_data.Float32x4.wywx*/get wywx() {
    return 55;
  },
  /*typed_data.Float32x4.wywy*/get wywy() {
    return 119;
  },
  /*typed_data.Float32x4.wywz*/get wywz() {
    return 183;
  },
  /*typed_data.Float32x4.wyww*/get wyww() {
    return 247;
  },
  /*typed_data.Float32x4.wzxx*/get wzxx() {
    return 11;
  },
  /*typed_data.Float32x4.wzxy*/get wzxy() {
    return 75;
  },
  /*typed_data.Float32x4.wzxz*/get wzxz() {
    return 139;
  },
  /*typed_data.Float32x4.wzxw*/get wzxw() {
    return 203;
  },
  /*typed_data.Float32x4.wzyx*/get wzyx() {
    return 27;
  },
  /*typed_data.Float32x4.wzyy*/get wzyy() {
    return 91;
  },
  /*typed_data.Float32x4.wzyz*/get wzyz() {
    return 155;
  },
  /*typed_data.Float32x4.wzyw*/get wzyw() {
    return 219;
  },
  /*typed_data.Float32x4.wzzx*/get wzzx() {
    return 43;
  },
  /*typed_data.Float32x4.wzzy*/get wzzy() {
    return 107;
  },
  /*typed_data.Float32x4.wzzz*/get wzzz() {
    return 171;
  },
  /*typed_data.Float32x4.wzzw*/get wzzw() {
    return 235;
  },
  /*typed_data.Float32x4.wzwx*/get wzwx() {
    return 59;
  },
  /*typed_data.Float32x4.wzwy*/get wzwy() {
    return 123;
  },
  /*typed_data.Float32x4.wzwz*/get wzwz() {
    return 187;
  },
  /*typed_data.Float32x4.wzww*/get wzww() {
    return 251;
  },
  /*typed_data.Float32x4.wwxx*/get wwxx() {
    return 15;
  },
  /*typed_data.Float32x4.wwxy*/get wwxy() {
    return 79;
  },
  /*typed_data.Float32x4.wwxz*/get wwxz() {
    return 143;
  },
  /*typed_data.Float32x4.wwxw*/get wwxw() {
    return 207;
  },
  /*typed_data.Float32x4.wwyx*/get wwyx() {
    return 31;
  },
  /*typed_data.Float32x4.wwyy*/get wwyy() {
    return 95;
  },
  /*typed_data.Float32x4.wwyz*/get wwyz() {
    return 159;
  },
  /*typed_data.Float32x4.wwyw*/get wwyw() {
    return 223;
  },
  /*typed_data.Float32x4.wwzx*/get wwzx() {
    return 47;
  },
  /*typed_data.Float32x4.wwzy*/get wwzy() {
    return 111;
  },
  /*typed_data.Float32x4.wwzz*/get wwzz() {
    return 175;
  },
  /*typed_data.Float32x4.wwzw*/get wwzw() {
    return 239;
  },
  /*typed_data.Float32x4.wwwx*/get wwwx() {
    return 63;
  },
  /*typed_data.Float32x4.wwwy*/get wwwy() {
    return 127;
  },
  /*typed_data.Float32x4.wwwz*/get wwwz() {
    return 191;
  },
  /*typed_data.Float32x4.wwww*/get wwww() {
    return 255;
  }
}, false);
const Object_ListMixin$36 = class Object_ListMixin extends core.Object {};
(Object_ListMixin$36.new = function() {
}).prototype = Object_ListMixin$36.prototype;
dart.applyMixin(Object_ListMixin$36, collection.ListMixin$(typed_data.Float32x4));
const Object_FixedLengthListMixin$36 = class Object_FixedLengthListMixin extends Object_ListMixin$36 {};
(Object_FixedLengthListMixin$36.new = function() {
}).prototype = Object_FixedLengthListMixin$36.prototype;
dart.applyMixin(Object_FixedLengthListMixin$36, _internal.FixedLengthListMixin$(typed_data.Float32x4));
_native_typed_data.NativeFloat32x4List = class NativeFloat32x4List extends Object_FixedLengthListMixin$36 {
  get runtimeType() {
    return dart.wrapType(typed_data.Float32x4List);
  }
  static fromList(list) {
    if (list == null) dart.nullFailed(I[59], 129, 56, "list");
    if (_native_typed_data.NativeFloat32x4List.is(list)) {
      return new _native_typed_data.NativeFloat32x4List._externalStorage(_native_typed_data.NativeFloat32List.fromList(list[_storage$]));
    } else {
      return new _native_typed_data.NativeFloat32x4List._slowFromList(list);
    }
  }
  get buffer() {
    return this[_storage$][$buffer];
  }
  get lengthInBytes() {
    return this[_storage$][$lengthInBytes];
  }
  get offsetInBytes() {
    return this[_storage$][$offsetInBytes];
  }
  get elementSizeInBytes() {
    return 16;
  }
  get length() {
    return (dart.notNull(this[_storage$][$length]) / 4)[$truncate]();
  }
  set length(value) {
    super.length = value;
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[59], 148, 29, "index");
    _native_typed_data._checkValidIndex(index, this, this.length);
    let _x = this[_storage$][$_get](dart.notNull(index) * 4 + 0);
    let _y = this[_storage$][$_get](dart.notNull(index) * 4 + 1);
    let _z = this[_storage$][$_get](dart.notNull(index) * 4 + 2);
    let _w = this[_storage$][$_get](dart.notNull(index) * 4 + 3);
    return new _native_typed_data.NativeFloat32x4._truncated(_x, _y, _z, _w);
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[59], 157, 25, "index");
    typed_data.Float32x4.as(value);
    if (value == null) dart.nullFailed(I[59], 157, 42, "value");
    _native_typed_data._checkValidIndex(index, this, this.length);
    this[_storage$][$_set](dart.notNull(index) * 4 + 0, value.x);
    this[_storage$][$_set](dart.notNull(index) * 4 + 1, value.y);
    this[_storage$][$_set](dart.notNull(index) * 4 + 2, value.z);
    this[_storage$][$_set](dart.notNull(index) * 4 + 3, value.w);
    return value$;
  }
  sublist(start, end = null) {
    if (start == null) dart.nullFailed(I[59], 165, 29, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this.length);
    return new _native_typed_data.NativeFloat32x4List._externalStorage(this[_storage$][$sublist](dart.notNull(start) * 4, dart.notNull(stop) * 4));
  }
};
(_native_typed_data.NativeFloat32x4List.new = function(length) {
  if (length == null) dart.nullFailed(I[59], 110, 27, "length");
  this[_storage$] = _native_typed_data.NativeFloat32List.new(dart.notNull(length) * 4);
  ;
}).prototype = _native_typed_data.NativeFloat32x4List.prototype;
(_native_typed_data.NativeFloat32x4List._externalStorage = function(_storage) {
  if (_storage == null) dart.nullFailed(I[59], 112, 45, "_storage");
  this[_storage$] = _storage;
  ;
}).prototype = _native_typed_data.NativeFloat32x4List.prototype;
(_native_typed_data.NativeFloat32x4List._slowFromList = function(list) {
  if (list == null) dart.nullFailed(I[59], 114, 53, "list");
  this[_storage$] = _native_typed_data.NativeFloat32List.new(dart.notNull(list[$length]) * 4);
  for (let i = 0; i < dart.notNull(list[$length]); i = i + 1) {
    let e = list[$_get](i);
    this[_storage$][$_set](i * 4 + 0, e.x);
    this[_storage$][$_set](i * 4 + 1, e.y);
    this[_storage$][$_set](i * 4 + 2, e.z);
    this[_storage$][$_set](i * 4 + 3, e.w);
  }
}).prototype = _native_typed_data.NativeFloat32x4List.prototype;
dart.addTypeTests(_native_typed_data.NativeFloat32x4List);
dart.addTypeCaches(_native_typed_data.NativeFloat32x4List);
_native_typed_data.NativeFloat32x4List[dart.implements] = () => [typed_data.Float32x4List];
dart.setMethodSignature(_native_typed_data.NativeFloat32x4List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeFloat32x4List.__proto__),
  _get: dart.fnType(typed_data.Float32x4, [core.int]),
  [$_get]: dart.fnType(typed_data.Float32x4, [core.int]),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  sublist: dart.fnType(typed_data.Float32x4List, [core.int], [dart.nullable(core.int)]),
  [$sublist]: dart.fnType(typed_data.Float32x4List, [core.int], [dart.nullable(core.int)])
}));
dart.setGetterSignature(_native_typed_data.NativeFloat32x4List, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeFloat32x4List.__proto__),
  buffer: typed_data.ByteBuffer,
  [$buffer]: typed_data.ByteBuffer,
  lengthInBytes: core.int,
  [$lengthInBytes]: core.int,
  offsetInBytes: core.int,
  [$offsetInBytes]: core.int,
  elementSizeInBytes: core.int,
  [$elementSizeInBytes]: core.int,
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeFloat32x4List, I[60]);
dart.setFieldSignature(_native_typed_data.NativeFloat32x4List, () => ({
  __proto__: dart.getFields(_native_typed_data.NativeFloat32x4List.__proto__),
  [_storage$]: dart.finalFieldType(typed_data.Float32List)
}));
dart.defineExtensionMethods(_native_typed_data.NativeFloat32x4List, ['_get', '_set', 'sublist']);
dart.defineExtensionAccessors(_native_typed_data.NativeFloat32x4List, [
  'runtimeType',
  'buffer',
  'lengthInBytes',
  'offsetInBytes',
  'elementSizeInBytes',
  'length'
]);
typed_data.Int32x4 = class Int32x4 extends core.Object {};
(typed_data.Int32x4[dart.mixinNew] = function() {
}).prototype = typed_data.Int32x4.prototype;
dart.addTypeTests(typed_data.Int32x4);
dart.addTypeCaches(typed_data.Int32x4);
dart.setLibraryUri(typed_data.Int32x4, I[61]);
dart.defineLazy(typed_data.Int32x4, {
  /*typed_data.Int32x4.xxxx*/get xxxx() {
    return 0;
  },
  /*typed_data.Int32x4.xxxy*/get xxxy() {
    return 64;
  },
  /*typed_data.Int32x4.xxxz*/get xxxz() {
    return 128;
  },
  /*typed_data.Int32x4.xxxw*/get xxxw() {
    return 192;
  },
  /*typed_data.Int32x4.xxyx*/get xxyx() {
    return 16;
  },
  /*typed_data.Int32x4.xxyy*/get xxyy() {
    return 80;
  },
  /*typed_data.Int32x4.xxyz*/get xxyz() {
    return 144;
  },
  /*typed_data.Int32x4.xxyw*/get xxyw() {
    return 208;
  },
  /*typed_data.Int32x4.xxzx*/get xxzx() {
    return 32;
  },
  /*typed_data.Int32x4.xxzy*/get xxzy() {
    return 96;
  },
  /*typed_data.Int32x4.xxzz*/get xxzz() {
    return 160;
  },
  /*typed_data.Int32x4.xxzw*/get xxzw() {
    return 224;
  },
  /*typed_data.Int32x4.xxwx*/get xxwx() {
    return 48;
  },
  /*typed_data.Int32x4.xxwy*/get xxwy() {
    return 112;
  },
  /*typed_data.Int32x4.xxwz*/get xxwz() {
    return 176;
  },
  /*typed_data.Int32x4.xxww*/get xxww() {
    return 240;
  },
  /*typed_data.Int32x4.xyxx*/get xyxx() {
    return 4;
  },
  /*typed_data.Int32x4.xyxy*/get xyxy() {
    return 68;
  },
  /*typed_data.Int32x4.xyxz*/get xyxz() {
    return 132;
  },
  /*typed_data.Int32x4.xyxw*/get xyxw() {
    return 196;
  },
  /*typed_data.Int32x4.xyyx*/get xyyx() {
    return 20;
  },
  /*typed_data.Int32x4.xyyy*/get xyyy() {
    return 84;
  },
  /*typed_data.Int32x4.xyyz*/get xyyz() {
    return 148;
  },
  /*typed_data.Int32x4.xyyw*/get xyyw() {
    return 212;
  },
  /*typed_data.Int32x4.xyzx*/get xyzx() {
    return 36;
  },
  /*typed_data.Int32x4.xyzy*/get xyzy() {
    return 100;
  },
  /*typed_data.Int32x4.xyzz*/get xyzz() {
    return 164;
  },
  /*typed_data.Int32x4.xyzw*/get xyzw() {
    return 228;
  },
  /*typed_data.Int32x4.xywx*/get xywx() {
    return 52;
  },
  /*typed_data.Int32x4.xywy*/get xywy() {
    return 116;
  },
  /*typed_data.Int32x4.xywz*/get xywz() {
    return 180;
  },
  /*typed_data.Int32x4.xyww*/get xyww() {
    return 244;
  },
  /*typed_data.Int32x4.xzxx*/get xzxx() {
    return 8;
  },
  /*typed_data.Int32x4.xzxy*/get xzxy() {
    return 72;
  },
  /*typed_data.Int32x4.xzxz*/get xzxz() {
    return 136;
  },
  /*typed_data.Int32x4.xzxw*/get xzxw() {
    return 200;
  },
  /*typed_data.Int32x4.xzyx*/get xzyx() {
    return 24;
  },
  /*typed_data.Int32x4.xzyy*/get xzyy() {
    return 88;
  },
  /*typed_data.Int32x4.xzyz*/get xzyz() {
    return 152;
  },
  /*typed_data.Int32x4.xzyw*/get xzyw() {
    return 216;
  },
  /*typed_data.Int32x4.xzzx*/get xzzx() {
    return 40;
  },
  /*typed_data.Int32x4.xzzy*/get xzzy() {
    return 104;
  },
  /*typed_data.Int32x4.xzzz*/get xzzz() {
    return 168;
  },
  /*typed_data.Int32x4.xzzw*/get xzzw() {
    return 232;
  },
  /*typed_data.Int32x4.xzwx*/get xzwx() {
    return 56;
  },
  /*typed_data.Int32x4.xzwy*/get xzwy() {
    return 120;
  },
  /*typed_data.Int32x4.xzwz*/get xzwz() {
    return 184;
  },
  /*typed_data.Int32x4.xzww*/get xzww() {
    return 248;
  },
  /*typed_data.Int32x4.xwxx*/get xwxx() {
    return 12;
  },
  /*typed_data.Int32x4.xwxy*/get xwxy() {
    return 76;
  },
  /*typed_data.Int32x4.xwxz*/get xwxz() {
    return 140;
  },
  /*typed_data.Int32x4.xwxw*/get xwxw() {
    return 204;
  },
  /*typed_data.Int32x4.xwyx*/get xwyx() {
    return 28;
  },
  /*typed_data.Int32x4.xwyy*/get xwyy() {
    return 92;
  },
  /*typed_data.Int32x4.xwyz*/get xwyz() {
    return 156;
  },
  /*typed_data.Int32x4.xwyw*/get xwyw() {
    return 220;
  },
  /*typed_data.Int32x4.xwzx*/get xwzx() {
    return 44;
  },
  /*typed_data.Int32x4.xwzy*/get xwzy() {
    return 108;
  },
  /*typed_data.Int32x4.xwzz*/get xwzz() {
    return 172;
  },
  /*typed_data.Int32x4.xwzw*/get xwzw() {
    return 236;
  },
  /*typed_data.Int32x4.xwwx*/get xwwx() {
    return 60;
  },
  /*typed_data.Int32x4.xwwy*/get xwwy() {
    return 124;
  },
  /*typed_data.Int32x4.xwwz*/get xwwz() {
    return 188;
  },
  /*typed_data.Int32x4.xwww*/get xwww() {
    return 252;
  },
  /*typed_data.Int32x4.yxxx*/get yxxx() {
    return 1;
  },
  /*typed_data.Int32x4.yxxy*/get yxxy() {
    return 65;
  },
  /*typed_data.Int32x4.yxxz*/get yxxz() {
    return 129;
  },
  /*typed_data.Int32x4.yxxw*/get yxxw() {
    return 193;
  },
  /*typed_data.Int32x4.yxyx*/get yxyx() {
    return 17;
  },
  /*typed_data.Int32x4.yxyy*/get yxyy() {
    return 81;
  },
  /*typed_data.Int32x4.yxyz*/get yxyz() {
    return 145;
  },
  /*typed_data.Int32x4.yxyw*/get yxyw() {
    return 209;
  },
  /*typed_data.Int32x4.yxzx*/get yxzx() {
    return 33;
  },
  /*typed_data.Int32x4.yxzy*/get yxzy() {
    return 97;
  },
  /*typed_data.Int32x4.yxzz*/get yxzz() {
    return 161;
  },
  /*typed_data.Int32x4.yxzw*/get yxzw() {
    return 225;
  },
  /*typed_data.Int32x4.yxwx*/get yxwx() {
    return 49;
  },
  /*typed_data.Int32x4.yxwy*/get yxwy() {
    return 113;
  },
  /*typed_data.Int32x4.yxwz*/get yxwz() {
    return 177;
  },
  /*typed_data.Int32x4.yxww*/get yxww() {
    return 241;
  },
  /*typed_data.Int32x4.yyxx*/get yyxx() {
    return 5;
  },
  /*typed_data.Int32x4.yyxy*/get yyxy() {
    return 69;
  },
  /*typed_data.Int32x4.yyxz*/get yyxz() {
    return 133;
  },
  /*typed_data.Int32x4.yyxw*/get yyxw() {
    return 197;
  },
  /*typed_data.Int32x4.yyyx*/get yyyx() {
    return 21;
  },
  /*typed_data.Int32x4.yyyy*/get yyyy() {
    return 85;
  },
  /*typed_data.Int32x4.yyyz*/get yyyz() {
    return 149;
  },
  /*typed_data.Int32x4.yyyw*/get yyyw() {
    return 213;
  },
  /*typed_data.Int32x4.yyzx*/get yyzx() {
    return 37;
  },
  /*typed_data.Int32x4.yyzy*/get yyzy() {
    return 101;
  },
  /*typed_data.Int32x4.yyzz*/get yyzz() {
    return 165;
  },
  /*typed_data.Int32x4.yyzw*/get yyzw() {
    return 229;
  },
  /*typed_data.Int32x4.yywx*/get yywx() {
    return 53;
  },
  /*typed_data.Int32x4.yywy*/get yywy() {
    return 117;
  },
  /*typed_data.Int32x4.yywz*/get yywz() {
    return 181;
  },
  /*typed_data.Int32x4.yyww*/get yyww() {
    return 245;
  },
  /*typed_data.Int32x4.yzxx*/get yzxx() {
    return 9;
  },
  /*typed_data.Int32x4.yzxy*/get yzxy() {
    return 73;
  },
  /*typed_data.Int32x4.yzxz*/get yzxz() {
    return 137;
  },
  /*typed_data.Int32x4.yzxw*/get yzxw() {
    return 201;
  },
  /*typed_data.Int32x4.yzyx*/get yzyx() {
    return 25;
  },
  /*typed_data.Int32x4.yzyy*/get yzyy() {
    return 89;
  },
  /*typed_data.Int32x4.yzyz*/get yzyz() {
    return 153;
  },
  /*typed_data.Int32x4.yzyw*/get yzyw() {
    return 217;
  },
  /*typed_data.Int32x4.yzzx*/get yzzx() {
    return 41;
  },
  /*typed_data.Int32x4.yzzy*/get yzzy() {
    return 105;
  },
  /*typed_data.Int32x4.yzzz*/get yzzz() {
    return 169;
  },
  /*typed_data.Int32x4.yzzw*/get yzzw() {
    return 233;
  },
  /*typed_data.Int32x4.yzwx*/get yzwx() {
    return 57;
  },
  /*typed_data.Int32x4.yzwy*/get yzwy() {
    return 121;
  },
  /*typed_data.Int32x4.yzwz*/get yzwz() {
    return 185;
  },
  /*typed_data.Int32x4.yzww*/get yzww() {
    return 249;
  },
  /*typed_data.Int32x4.ywxx*/get ywxx() {
    return 13;
  },
  /*typed_data.Int32x4.ywxy*/get ywxy() {
    return 77;
  },
  /*typed_data.Int32x4.ywxz*/get ywxz() {
    return 141;
  },
  /*typed_data.Int32x4.ywxw*/get ywxw() {
    return 205;
  },
  /*typed_data.Int32x4.ywyx*/get ywyx() {
    return 29;
  },
  /*typed_data.Int32x4.ywyy*/get ywyy() {
    return 93;
  },
  /*typed_data.Int32x4.ywyz*/get ywyz() {
    return 157;
  },
  /*typed_data.Int32x4.ywyw*/get ywyw() {
    return 221;
  },
  /*typed_data.Int32x4.ywzx*/get ywzx() {
    return 45;
  },
  /*typed_data.Int32x4.ywzy*/get ywzy() {
    return 109;
  },
  /*typed_data.Int32x4.ywzz*/get ywzz() {
    return 173;
  },
  /*typed_data.Int32x4.ywzw*/get ywzw() {
    return 237;
  },
  /*typed_data.Int32x4.ywwx*/get ywwx() {
    return 61;
  },
  /*typed_data.Int32x4.ywwy*/get ywwy() {
    return 125;
  },
  /*typed_data.Int32x4.ywwz*/get ywwz() {
    return 189;
  },
  /*typed_data.Int32x4.ywww*/get ywww() {
    return 253;
  },
  /*typed_data.Int32x4.zxxx*/get zxxx() {
    return 2;
  },
  /*typed_data.Int32x4.zxxy*/get zxxy() {
    return 66;
  },
  /*typed_data.Int32x4.zxxz*/get zxxz() {
    return 130;
  },
  /*typed_data.Int32x4.zxxw*/get zxxw() {
    return 194;
  },
  /*typed_data.Int32x4.zxyx*/get zxyx() {
    return 18;
  },
  /*typed_data.Int32x4.zxyy*/get zxyy() {
    return 82;
  },
  /*typed_data.Int32x4.zxyz*/get zxyz() {
    return 146;
  },
  /*typed_data.Int32x4.zxyw*/get zxyw() {
    return 210;
  },
  /*typed_data.Int32x4.zxzx*/get zxzx() {
    return 34;
  },
  /*typed_data.Int32x4.zxzy*/get zxzy() {
    return 98;
  },
  /*typed_data.Int32x4.zxzz*/get zxzz() {
    return 162;
  },
  /*typed_data.Int32x4.zxzw*/get zxzw() {
    return 226;
  },
  /*typed_data.Int32x4.zxwx*/get zxwx() {
    return 50;
  },
  /*typed_data.Int32x4.zxwy*/get zxwy() {
    return 114;
  },
  /*typed_data.Int32x4.zxwz*/get zxwz() {
    return 178;
  },
  /*typed_data.Int32x4.zxww*/get zxww() {
    return 242;
  },
  /*typed_data.Int32x4.zyxx*/get zyxx() {
    return 6;
  },
  /*typed_data.Int32x4.zyxy*/get zyxy() {
    return 70;
  },
  /*typed_data.Int32x4.zyxz*/get zyxz() {
    return 134;
  },
  /*typed_data.Int32x4.zyxw*/get zyxw() {
    return 198;
  },
  /*typed_data.Int32x4.zyyx*/get zyyx() {
    return 22;
  },
  /*typed_data.Int32x4.zyyy*/get zyyy() {
    return 86;
  },
  /*typed_data.Int32x4.zyyz*/get zyyz() {
    return 150;
  },
  /*typed_data.Int32x4.zyyw*/get zyyw() {
    return 214;
  },
  /*typed_data.Int32x4.zyzx*/get zyzx() {
    return 38;
  },
  /*typed_data.Int32x4.zyzy*/get zyzy() {
    return 102;
  },
  /*typed_data.Int32x4.zyzz*/get zyzz() {
    return 166;
  },
  /*typed_data.Int32x4.zyzw*/get zyzw() {
    return 230;
  },
  /*typed_data.Int32x4.zywx*/get zywx() {
    return 54;
  },
  /*typed_data.Int32x4.zywy*/get zywy() {
    return 118;
  },
  /*typed_data.Int32x4.zywz*/get zywz() {
    return 182;
  },
  /*typed_data.Int32x4.zyww*/get zyww() {
    return 246;
  },
  /*typed_data.Int32x4.zzxx*/get zzxx() {
    return 10;
  },
  /*typed_data.Int32x4.zzxy*/get zzxy() {
    return 74;
  },
  /*typed_data.Int32x4.zzxz*/get zzxz() {
    return 138;
  },
  /*typed_data.Int32x4.zzxw*/get zzxw() {
    return 202;
  },
  /*typed_data.Int32x4.zzyx*/get zzyx() {
    return 26;
  },
  /*typed_data.Int32x4.zzyy*/get zzyy() {
    return 90;
  },
  /*typed_data.Int32x4.zzyz*/get zzyz() {
    return 154;
  },
  /*typed_data.Int32x4.zzyw*/get zzyw() {
    return 218;
  },
  /*typed_data.Int32x4.zzzx*/get zzzx() {
    return 42;
  },
  /*typed_data.Int32x4.zzzy*/get zzzy() {
    return 106;
  },
  /*typed_data.Int32x4.zzzz*/get zzzz() {
    return 170;
  },
  /*typed_data.Int32x4.zzzw*/get zzzw() {
    return 234;
  },
  /*typed_data.Int32x4.zzwx*/get zzwx() {
    return 58;
  },
  /*typed_data.Int32x4.zzwy*/get zzwy() {
    return 122;
  },
  /*typed_data.Int32x4.zzwz*/get zzwz() {
    return 186;
  },
  /*typed_data.Int32x4.zzww*/get zzww() {
    return 250;
  },
  /*typed_data.Int32x4.zwxx*/get zwxx() {
    return 14;
  },
  /*typed_data.Int32x4.zwxy*/get zwxy() {
    return 78;
  },
  /*typed_data.Int32x4.zwxz*/get zwxz() {
    return 142;
  },
  /*typed_data.Int32x4.zwxw*/get zwxw() {
    return 206;
  },
  /*typed_data.Int32x4.zwyx*/get zwyx() {
    return 30;
  },
  /*typed_data.Int32x4.zwyy*/get zwyy() {
    return 94;
  },
  /*typed_data.Int32x4.zwyz*/get zwyz() {
    return 158;
  },
  /*typed_data.Int32x4.zwyw*/get zwyw() {
    return 222;
  },
  /*typed_data.Int32x4.zwzx*/get zwzx() {
    return 46;
  },
  /*typed_data.Int32x4.zwzy*/get zwzy() {
    return 110;
  },
  /*typed_data.Int32x4.zwzz*/get zwzz() {
    return 174;
  },
  /*typed_data.Int32x4.zwzw*/get zwzw() {
    return 238;
  },
  /*typed_data.Int32x4.zwwx*/get zwwx() {
    return 62;
  },
  /*typed_data.Int32x4.zwwy*/get zwwy() {
    return 126;
  },
  /*typed_data.Int32x4.zwwz*/get zwwz() {
    return 190;
  },
  /*typed_data.Int32x4.zwww*/get zwww() {
    return 254;
  },
  /*typed_data.Int32x4.wxxx*/get wxxx() {
    return 3;
  },
  /*typed_data.Int32x4.wxxy*/get wxxy() {
    return 67;
  },
  /*typed_data.Int32x4.wxxz*/get wxxz() {
    return 131;
  },
  /*typed_data.Int32x4.wxxw*/get wxxw() {
    return 195;
  },
  /*typed_data.Int32x4.wxyx*/get wxyx() {
    return 19;
  },
  /*typed_data.Int32x4.wxyy*/get wxyy() {
    return 83;
  },
  /*typed_data.Int32x4.wxyz*/get wxyz() {
    return 147;
  },
  /*typed_data.Int32x4.wxyw*/get wxyw() {
    return 211;
  },
  /*typed_data.Int32x4.wxzx*/get wxzx() {
    return 35;
  },
  /*typed_data.Int32x4.wxzy*/get wxzy() {
    return 99;
  },
  /*typed_data.Int32x4.wxzz*/get wxzz() {
    return 163;
  },
  /*typed_data.Int32x4.wxzw*/get wxzw() {
    return 227;
  },
  /*typed_data.Int32x4.wxwx*/get wxwx() {
    return 51;
  },
  /*typed_data.Int32x4.wxwy*/get wxwy() {
    return 115;
  },
  /*typed_data.Int32x4.wxwz*/get wxwz() {
    return 179;
  },
  /*typed_data.Int32x4.wxww*/get wxww() {
    return 243;
  },
  /*typed_data.Int32x4.wyxx*/get wyxx() {
    return 7;
  },
  /*typed_data.Int32x4.wyxy*/get wyxy() {
    return 71;
  },
  /*typed_data.Int32x4.wyxz*/get wyxz() {
    return 135;
  },
  /*typed_data.Int32x4.wyxw*/get wyxw() {
    return 199;
  },
  /*typed_data.Int32x4.wyyx*/get wyyx() {
    return 23;
  },
  /*typed_data.Int32x4.wyyy*/get wyyy() {
    return 87;
  },
  /*typed_data.Int32x4.wyyz*/get wyyz() {
    return 151;
  },
  /*typed_data.Int32x4.wyyw*/get wyyw() {
    return 215;
  },
  /*typed_data.Int32x4.wyzx*/get wyzx() {
    return 39;
  },
  /*typed_data.Int32x4.wyzy*/get wyzy() {
    return 103;
  },
  /*typed_data.Int32x4.wyzz*/get wyzz() {
    return 167;
  },
  /*typed_data.Int32x4.wyzw*/get wyzw() {
    return 231;
  },
  /*typed_data.Int32x4.wywx*/get wywx() {
    return 55;
  },
  /*typed_data.Int32x4.wywy*/get wywy() {
    return 119;
  },
  /*typed_data.Int32x4.wywz*/get wywz() {
    return 183;
  },
  /*typed_data.Int32x4.wyww*/get wyww() {
    return 247;
  },
  /*typed_data.Int32x4.wzxx*/get wzxx() {
    return 11;
  },
  /*typed_data.Int32x4.wzxy*/get wzxy() {
    return 75;
  },
  /*typed_data.Int32x4.wzxz*/get wzxz() {
    return 139;
  },
  /*typed_data.Int32x4.wzxw*/get wzxw() {
    return 203;
  },
  /*typed_data.Int32x4.wzyx*/get wzyx() {
    return 27;
  },
  /*typed_data.Int32x4.wzyy*/get wzyy() {
    return 91;
  },
  /*typed_data.Int32x4.wzyz*/get wzyz() {
    return 155;
  },
  /*typed_data.Int32x4.wzyw*/get wzyw() {
    return 219;
  },
  /*typed_data.Int32x4.wzzx*/get wzzx() {
    return 43;
  },
  /*typed_data.Int32x4.wzzy*/get wzzy() {
    return 107;
  },
  /*typed_data.Int32x4.wzzz*/get wzzz() {
    return 171;
  },
  /*typed_data.Int32x4.wzzw*/get wzzw() {
    return 235;
  },
  /*typed_data.Int32x4.wzwx*/get wzwx() {
    return 59;
  },
  /*typed_data.Int32x4.wzwy*/get wzwy() {
    return 123;
  },
  /*typed_data.Int32x4.wzwz*/get wzwz() {
    return 187;
  },
  /*typed_data.Int32x4.wzww*/get wzww() {
    return 251;
  },
  /*typed_data.Int32x4.wwxx*/get wwxx() {
    return 15;
  },
  /*typed_data.Int32x4.wwxy*/get wwxy() {
    return 79;
  },
  /*typed_data.Int32x4.wwxz*/get wwxz() {
    return 143;
  },
  /*typed_data.Int32x4.wwxw*/get wwxw() {
    return 207;
  },
  /*typed_data.Int32x4.wwyx*/get wwyx() {
    return 31;
  },
  /*typed_data.Int32x4.wwyy*/get wwyy() {
    return 95;
  },
  /*typed_data.Int32x4.wwyz*/get wwyz() {
    return 159;
  },
  /*typed_data.Int32x4.wwyw*/get wwyw() {
    return 223;
  },
  /*typed_data.Int32x4.wwzx*/get wwzx() {
    return 47;
  },
  /*typed_data.Int32x4.wwzy*/get wwzy() {
    return 111;
  },
  /*typed_data.Int32x4.wwzz*/get wwzz() {
    return 175;
  },
  /*typed_data.Int32x4.wwzw*/get wwzw() {
    return 239;
  },
  /*typed_data.Int32x4.wwwx*/get wwwx() {
    return 63;
  },
  /*typed_data.Int32x4.wwwy*/get wwwy() {
    return 127;
  },
  /*typed_data.Int32x4.wwwz*/get wwwz() {
    return 191;
  },
  /*typed_data.Int32x4.wwww*/get wwww() {
    return 255;
  }
}, false);
const Object_ListMixin$36$ = class Object_ListMixin extends core.Object {};
(Object_ListMixin$36$.new = function() {
}).prototype = Object_ListMixin$36$.prototype;
dart.applyMixin(Object_ListMixin$36$, collection.ListMixin$(typed_data.Int32x4));
const Object_FixedLengthListMixin$36$ = class Object_FixedLengthListMixin extends Object_ListMixin$36$ {};
(Object_FixedLengthListMixin$36$.new = function() {
}).prototype = Object_FixedLengthListMixin$36$.prototype;
dart.applyMixin(Object_FixedLengthListMixin$36$, _internal.FixedLengthListMixin$(typed_data.Int32x4));
_native_typed_data.NativeInt32x4List = class NativeInt32x4List extends Object_FixedLengthListMixin$36$ {
  get runtimeType() {
    return dart.wrapType(typed_data.Int32x4List);
  }
  static fromList(list) {
    if (list == null) dart.nullFailed(I[59], 201, 52, "list");
    if (_native_typed_data.NativeInt32x4List.is(list)) {
      return new _native_typed_data.NativeInt32x4List._externalStorage(_native_typed_data.NativeInt32List.fromList(list[_storage$]));
    } else {
      return new _native_typed_data.NativeInt32x4List._slowFromList(list);
    }
  }
  get buffer() {
    return this[_storage$][$buffer];
  }
  get lengthInBytes() {
    return this[_storage$][$lengthInBytes];
  }
  get offsetInBytes() {
    return this[_storage$][$offsetInBytes];
  }
  get elementSizeInBytes() {
    return 16;
  }
  get length() {
    return (dart.notNull(this[_storage$][$length]) / 4)[$truncate]();
  }
  set length(value) {
    super.length = value;
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[59], 220, 27, "index");
    _native_typed_data._checkValidIndex(index, this, this.length);
    let _x = this[_storage$][$_get](dart.notNull(index) * 4 + 0);
    let _y = this[_storage$][$_get](dart.notNull(index) * 4 + 1);
    let _z = this[_storage$][$_get](dart.notNull(index) * 4 + 2);
    let _w = this[_storage$][$_get](dart.notNull(index) * 4 + 3);
    return new _native_typed_data.NativeInt32x4._truncated(_x, _y, _z, _w);
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[59], 229, 25, "index");
    typed_data.Int32x4.as(value);
    if (value == null) dart.nullFailed(I[59], 229, 40, "value");
    _native_typed_data._checkValidIndex(index, this, this.length);
    this[_storage$][$_set](dart.notNull(index) * 4 + 0, value.x);
    this[_storage$][$_set](dart.notNull(index) * 4 + 1, value.y);
    this[_storage$][$_set](dart.notNull(index) * 4 + 2, value.z);
    this[_storage$][$_set](dart.notNull(index) * 4 + 3, value.w);
    return value$;
  }
  sublist(start, end = null) {
    if (start == null) dart.nullFailed(I[59], 237, 27, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this.length);
    return new _native_typed_data.NativeInt32x4List._externalStorage(this[_storage$][$sublist](dart.notNull(start) * 4, dart.notNull(stop) * 4));
  }
};
(_native_typed_data.NativeInt32x4List.new = function(length) {
  if (length == null) dart.nullFailed(I[59], 182, 25, "length");
  this[_storage$] = _native_typed_data.NativeInt32List.new(dart.notNull(length) * 4);
  ;
}).prototype = _native_typed_data.NativeInt32x4List.prototype;
(_native_typed_data.NativeInt32x4List._externalStorage = function(storage) {
  if (storage == null) dart.nullFailed(I[59], 184, 48, "storage");
  this[_storage$] = storage;
  ;
}).prototype = _native_typed_data.NativeInt32x4List.prototype;
(_native_typed_data.NativeInt32x4List._slowFromList = function(list) {
  if (list == null) dart.nullFailed(I[59], 186, 49, "list");
  this[_storage$] = _native_typed_data.NativeInt32List.new(dart.notNull(list[$length]) * 4);
  for (let i = 0; i < dart.notNull(list[$length]); i = i + 1) {
    let e = list[$_get](i);
    this[_storage$][$_set](i * 4 + 0, e.x);
    this[_storage$][$_set](i * 4 + 1, e.y);
    this[_storage$][$_set](i * 4 + 2, e.z);
    this[_storage$][$_set](i * 4 + 3, e.w);
  }
}).prototype = _native_typed_data.NativeInt32x4List.prototype;
dart.addTypeTests(_native_typed_data.NativeInt32x4List);
dart.addTypeCaches(_native_typed_data.NativeInt32x4List);
_native_typed_data.NativeInt32x4List[dart.implements] = () => [typed_data.Int32x4List];
dart.setMethodSignature(_native_typed_data.NativeInt32x4List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeInt32x4List.__proto__),
  _get: dart.fnType(typed_data.Int32x4, [core.int]),
  [$_get]: dart.fnType(typed_data.Int32x4, [core.int]),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  sublist: dart.fnType(typed_data.Int32x4List, [core.int], [dart.nullable(core.int)]),
  [$sublist]: dart.fnType(typed_data.Int32x4List, [core.int], [dart.nullable(core.int)])
}));
dart.setGetterSignature(_native_typed_data.NativeInt32x4List, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeInt32x4List.__proto__),
  buffer: typed_data.ByteBuffer,
  [$buffer]: typed_data.ByteBuffer,
  lengthInBytes: core.int,
  [$lengthInBytes]: core.int,
  offsetInBytes: core.int,
  [$offsetInBytes]: core.int,
  elementSizeInBytes: core.int,
  [$elementSizeInBytes]: core.int,
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeInt32x4List, I[60]);
dart.setFieldSignature(_native_typed_data.NativeInt32x4List, () => ({
  __proto__: dart.getFields(_native_typed_data.NativeInt32x4List.__proto__),
  [_storage$]: dart.finalFieldType(typed_data.Int32List)
}));
dart.defineExtensionMethods(_native_typed_data.NativeInt32x4List, ['_get', '_set', 'sublist']);
dart.defineExtensionAccessors(_native_typed_data.NativeInt32x4List, [
  'runtimeType',
  'buffer',
  'lengthInBytes',
  'offsetInBytes',
  'elementSizeInBytes',
  'length'
]);
typed_data.Float64x2 = class Float64x2 extends core.Object {};
(typed_data.Float64x2[dart.mixinNew] = function() {
}).prototype = typed_data.Float64x2.prototype;
dart.addTypeTests(typed_data.Float64x2);
dart.addTypeCaches(typed_data.Float64x2);
dart.setLibraryUri(typed_data.Float64x2, I[61]);
const Object_ListMixin$36$0 = class Object_ListMixin extends core.Object {};
(Object_ListMixin$36$0.new = function() {
}).prototype = Object_ListMixin$36$0.prototype;
dart.applyMixin(Object_ListMixin$36$0, collection.ListMixin$(typed_data.Float64x2));
const Object_FixedLengthListMixin$36$0 = class Object_FixedLengthListMixin extends Object_ListMixin$36$0 {};
(Object_FixedLengthListMixin$36$0.new = function() {
}).prototype = Object_FixedLengthListMixin$36$0.prototype;
dart.applyMixin(Object_FixedLengthListMixin$36$0, _internal.FixedLengthListMixin$(typed_data.Float64x2));
_native_typed_data.NativeFloat64x2List = class NativeFloat64x2List extends Object_FixedLengthListMixin$36$0 {
  static fromList(list) {
    if (list == null) dart.nullFailed(I[59], 269, 56, "list");
    if (_native_typed_data.NativeFloat64x2List.is(list)) {
      return new _native_typed_data.NativeFloat64x2List._externalStorage(_native_typed_data.NativeFloat64List.fromList(list[_storage$]));
    } else {
      return new _native_typed_data.NativeFloat64x2List._slowFromList(list);
    }
  }
  get runtimeType() {
    return dart.wrapType(typed_data.Float64x2List);
  }
  get buffer() {
    return this[_storage$][$buffer];
  }
  get lengthInBytes() {
    return this[_storage$][$lengthInBytes];
  }
  get offsetInBytes() {
    return this[_storage$][$offsetInBytes];
  }
  get elementSizeInBytes() {
    return 16;
  }
  get length() {
    return (dart.notNull(this[_storage$][$length]) / 2)[$truncate]();
  }
  set length(value) {
    super.length = value;
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[59], 290, 29, "index");
    _native_typed_data._checkValidIndex(index, this, this.length);
    let _x = this[_storage$][$_get](dart.notNull(index) * 2 + 0);
    let _y = this[_storage$][$_get](dart.notNull(index) * 2 + 1);
    return new _native_typed_data.NativeFloat64x2.new(_x, _y);
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[59], 297, 25, "index");
    typed_data.Float64x2.as(value);
    if (value == null) dart.nullFailed(I[59], 297, 42, "value");
    _native_typed_data._checkValidIndex(index, this, this.length);
    this[_storage$][$_set](dart.notNull(index) * 2 + 0, value.x);
    this[_storage$][$_set](dart.notNull(index) * 2 + 1, value.y);
    return value$;
  }
  sublist(start, end = null) {
    if (start == null) dart.nullFailed(I[59], 303, 29, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this.length);
    return new _native_typed_data.NativeFloat64x2List._externalStorage(this[_storage$][$sublist](dart.notNull(start) * 2, dart.notNull(stop) * 2));
  }
};
(_native_typed_data.NativeFloat64x2List.new = function(length) {
  if (length == null) dart.nullFailed(I[59], 254, 27, "length");
  this[_storage$] = _native_typed_data.NativeFloat64List.new(dart.notNull(length) * 2);
  ;
}).prototype = _native_typed_data.NativeFloat64x2List.prototype;
(_native_typed_data.NativeFloat64x2List._externalStorage = function(_storage) {
  if (_storage == null) dart.nullFailed(I[59], 256, 45, "_storage");
  this[_storage$] = _storage;
  ;
}).prototype = _native_typed_data.NativeFloat64x2List.prototype;
(_native_typed_data.NativeFloat64x2List._slowFromList = function(list) {
  if (list == null) dart.nullFailed(I[59], 258, 53, "list");
  this[_storage$] = _native_typed_data.NativeFloat64List.new(dart.notNull(list[$length]) * 2);
  for (let i = 0; i < dart.notNull(list[$length]); i = i + 1) {
    let e = list[$_get](i);
    this[_storage$][$_set](i * 2 + 0, e.x);
    this[_storage$][$_set](i * 2 + 1, e.y);
  }
}).prototype = _native_typed_data.NativeFloat64x2List.prototype;
dart.addTypeTests(_native_typed_data.NativeFloat64x2List);
dart.addTypeCaches(_native_typed_data.NativeFloat64x2List);
_native_typed_data.NativeFloat64x2List[dart.implements] = () => [typed_data.Float64x2List];
dart.setMethodSignature(_native_typed_data.NativeFloat64x2List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeFloat64x2List.__proto__),
  _get: dart.fnType(typed_data.Float64x2, [core.int]),
  [$_get]: dart.fnType(typed_data.Float64x2, [core.int]),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  sublist: dart.fnType(typed_data.Float64x2List, [core.int], [dart.nullable(core.int)]),
  [$sublist]: dart.fnType(typed_data.Float64x2List, [core.int], [dart.nullable(core.int)])
}));
dart.setGetterSignature(_native_typed_data.NativeFloat64x2List, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeFloat64x2List.__proto__),
  buffer: typed_data.ByteBuffer,
  [$buffer]: typed_data.ByteBuffer,
  lengthInBytes: core.int,
  [$lengthInBytes]: core.int,
  offsetInBytes: core.int,
  [$offsetInBytes]: core.int,
  elementSizeInBytes: core.int,
  [$elementSizeInBytes]: core.int,
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeFloat64x2List, I[60]);
dart.setFieldSignature(_native_typed_data.NativeFloat64x2List, () => ({
  __proto__: dart.getFields(_native_typed_data.NativeFloat64x2List.__proto__),
  [_storage$]: dart.finalFieldType(typed_data.Float64List)
}));
dart.defineExtensionMethods(_native_typed_data.NativeFloat64x2List, ['_get', '_set', 'sublist']);
dart.defineExtensionAccessors(_native_typed_data.NativeFloat64x2List, [
  'runtimeType',
  'buffer',
  'lengthInBytes',
  'offsetInBytes',
  'elementSizeInBytes',
  'length'
]);
var _invalidPosition = dart.privateName(_native_typed_data, "_invalidPosition");
var _checkPosition = dart.privateName(_native_typed_data, "_checkPosition");
_native_typed_data.NativeTypedData = class NativeTypedData extends core.Object {
  get [$buffer]() {
    return this.buffer;
  }
  get [$lengthInBytes]() {
    return this.byteLength;
  }
  get [$offsetInBytes]() {
    return this.byteOffset;
  }
  get [$elementSizeInBytes]() {
    return this.BYTES_PER_ELEMENT;
  }
  [_invalidPosition](position, length, name) {
    if (position == null) dart.nullFailed(I[59], 330, 29, "position");
    if (length == null) dart.nullFailed(I[59], 330, 43, "length");
    if (name == null) dart.nullFailed(I[59], 330, 58, "name");
    if (!core.int.is(position)) {
      dart.throw(new core.ArgumentError.value(position, name, "Invalid list position"));
    } else {
      dart.throw(new core.RangeError.range(position, 0, length, name));
    }
  }
  [_checkPosition](position, length, name) {
    if (position == null) dart.nullFailed(I[59], 338, 27, "position");
    if (length == null) dart.nullFailed(I[59], 338, 41, "length");
    if (name == null) dart.nullFailed(I[59], 338, 56, "name");
    if (position >>> 0 !== position || position > dart.notNull(length)) {
      this[_invalidPosition](position, length, name);
    }
  }
};
(_native_typed_data.NativeTypedData.new = function() {
  ;
}).prototype = _native_typed_data.NativeTypedData.prototype;
dart.addTypeTests(_native_typed_data.NativeTypedData);
dart.addTypeCaches(_native_typed_data.NativeTypedData);
_native_typed_data.NativeTypedData[dart.implements] = () => [typed_data.TypedData];
dart.setMethodSignature(_native_typed_data.NativeTypedData, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeTypedData.__proto__),
  [_invalidPosition]: dart.fnType(dart.void, [core.int, core.int, core.String]),
  [_checkPosition]: dart.fnType(dart.void, [core.int, core.int, core.String])
}));
dart.setGetterSignature(_native_typed_data.NativeTypedData, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeTypedData.__proto__),
  [$buffer]: typed_data.ByteBuffer,
  [$lengthInBytes]: core.int,
  [$offsetInBytes]: core.int,
  [$elementSizeInBytes]: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeTypedData, I[60]);
dart.registerExtension("ArrayBufferView", _native_typed_data.NativeTypedData);
var Endian__littleEndian = dart.privateName(typed_data, "Endian._littleEndian");
var _getFloat32 = dart.privateName(_native_typed_data, "_getFloat32");
var _getFloat64 = dart.privateName(_native_typed_data, "_getFloat64");
var _getInt16 = dart.privateName(_native_typed_data, "_getInt16");
var _getInt32 = dart.privateName(_native_typed_data, "_getInt32");
var _getUint16 = dart.privateName(_native_typed_data, "_getUint16");
var _getUint32 = dart.privateName(_native_typed_data, "_getUint32");
var _setFloat32 = dart.privateName(_native_typed_data, "_setFloat32");
var _setFloat64 = dart.privateName(_native_typed_data, "_setFloat64");
var _setInt16 = dart.privateName(_native_typed_data, "_setInt16");
var _setInt32 = dart.privateName(_native_typed_data, "_setInt32");
var _setUint16 = dart.privateName(_native_typed_data, "_setUint16");
var _setUint32 = dart.privateName(_native_typed_data, "_setUint32");
_native_typed_data.NativeByteData = class NativeByteData extends _native_typed_data.NativeTypedData {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 386, 30, "length");
    return _native_typed_data.NativeByteData._create1(_native_typed_data._checkLength(length));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 399, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 399, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    return length == null ? _native_typed_data.NativeByteData._create2(buffer, offsetInBytes) : _native_typed_data.NativeByteData._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.ByteData);
  }
  get [$elementSizeInBytes]() {
    return 1;
  }
  [$getFloat32](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 416, 25, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 416, 45, "endian");
    return this[_getFloat32](byteOffset, dart.equals(typed_data.Endian.little, endian));
  }
  [_getFloat32](...args) {
    return this.getFloat32.apply(this, args);
  }
  [$getFloat64](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 429, 25, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 429, 45, "endian");
    return this[_getFloat64](byteOffset, dart.equals(typed_data.Endian.little, endian));
  }
  [_getFloat64](...args) {
    return this.getFloat64.apply(this, args);
  }
  [$getInt16](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 444, 20, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 444, 40, "endian");
    return this[_getInt16](byteOffset, dart.equals(typed_data.Endian.little, endian));
  }
  [_getInt16](...args) {
    return this.getInt16.apply(this, args);
  }
  [$getInt32](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 459, 20, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 459, 40, "endian");
    return this[_getInt32](byteOffset, dart.equals(typed_data.Endian.little, endian));
  }
  [_getInt32](...args) {
    return this.getInt32.apply(this, args);
  }
  [$getInt64](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 474, 20, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 474, 40, "endian");
    dart.throw(new core.UnsupportedError.new("Int64 accessor not supported by dart2js."));
  }
  [$getInt8](...args) {
    return this.getInt8.apply(this, args);
  }
  [$getUint16](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 493, 21, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 493, 41, "endian");
    return this[_getUint16](byteOffset, dart.equals(typed_data.Endian.little, endian));
  }
  [_getUint16](...args) {
    return this.getUint16.apply(this, args);
  }
  [$getUint32](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 507, 21, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 507, 41, "endian");
    return this[_getUint32](byteOffset, dart.equals(typed_data.Endian.little, endian));
  }
  [_getUint32](...args) {
    return this.getUint32.apply(this, args);
  }
  [$getUint64](byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 521, 21, "byteOffset");
    if (endian == null) dart.nullFailed(I[59], 521, 41, "endian");
    dart.throw(new core.UnsupportedError.new("Uint64 accessor not supported by dart2js."));
  }
  [$getUint8](...args) {
    return this.getUint8.apply(this, args);
  }
  [$setFloat32](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 548, 23, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 548, 39, "value");
    if (endian == null) dart.nullFailed(I[59], 548, 54, "endian");
    return this[_setFloat32](byteOffset, value, dart.equals(typed_data.Endian.little, endian));
  }
  [_setFloat32](...args) {
    return this.setFloat32.apply(this, args);
  }
  [$setFloat64](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 560, 23, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 560, 39, "value");
    if (endian == null) dart.nullFailed(I[59], 560, 54, "endian");
    return this[_setFloat64](byteOffset, value, dart.equals(typed_data.Endian.little, endian));
  }
  [_setFloat64](...args) {
    return this.setFloat64.apply(this, args);
  }
  [$setInt16](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 573, 21, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 573, 37, "value");
    if (endian == null) dart.nullFailed(I[59], 573, 52, "endian");
    return this[_setInt16](byteOffset, value, dart.equals(typed_data.Endian.little, endian));
  }
  [_setInt16](...args) {
    return this.setInt16.apply(this, args);
  }
  [$setInt32](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 586, 21, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 586, 37, "value");
    if (endian == null) dart.nullFailed(I[59], 586, 52, "endian");
    return this[_setInt32](byteOffset, value, dart.equals(typed_data.Endian.little, endian));
  }
  [_setInt32](...args) {
    return this.setInt32.apply(this, args);
  }
  [$setInt64](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 599, 21, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 599, 37, "value");
    if (endian == null) dart.nullFailed(I[59], 599, 52, "endian");
    dart.throw(new core.UnsupportedError.new("Int64 accessor not supported by dart2js."));
  }
  [$setInt8](...args) {
    return this.setInt8.apply(this, args);
  }
  [$setUint16](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 619, 22, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 619, 38, "value");
    if (endian == null) dart.nullFailed(I[59], 619, 53, "endian");
    return this[_setUint16](byteOffset, value, dart.equals(typed_data.Endian.little, endian));
  }
  [_setUint16](...args) {
    return this.setUint16.apply(this, args);
  }
  [$setUint32](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 632, 22, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 632, 38, "value");
    if (endian == null) dart.nullFailed(I[59], 632, 53, "endian");
    return this[_setUint32](byteOffset, value, dart.equals(typed_data.Endian.little, endian));
  }
  [_setUint32](...args) {
    return this.setUint32.apply(this, args);
  }
  [$setUint64](byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[59], 645, 22, "byteOffset");
    if (value == null) dart.nullFailed(I[59], 645, 38, "value");
    if (endian == null) dart.nullFailed(I[59], 645, 53, "endian");
    dart.throw(new core.UnsupportedError.new("Uint64 accessor not supported by dart2js."));
  }
  [$setUint8](...args) {
    return this.setUint8.apply(this, args);
  }
  static _create1(arg) {
    return new DataView(new ArrayBuffer(arg));
  }
  static _create2(arg1, arg2) {
    return new DataView(arg1, arg2);
  }
  static _create3(arg1, arg2, arg3) {
    return new DataView(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeByteData);
dart.addTypeCaches(_native_typed_data.NativeByteData);
_native_typed_data.NativeByteData[dart.implements] = () => [typed_data.ByteData];
dart.setMethodSignature(_native_typed_data.NativeByteData, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeByteData.__proto__),
  [$getFloat32]: dart.fnType(core.double, [core.int], [typed_data.Endian]),
  [_getFloat32]: dart.fnType(core.double, [core.int], [dart.nullable(core.bool)]),
  [$getFloat64]: dart.fnType(core.double, [core.int], [typed_data.Endian]),
  [_getFloat64]: dart.fnType(core.double, [core.int], [dart.nullable(core.bool)]),
  [$getInt16]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [_getInt16]: dart.fnType(core.int, [core.int], [dart.nullable(core.bool)]),
  [$getInt32]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [_getInt32]: dart.fnType(core.int, [core.int], [dart.nullable(core.bool)]),
  [$getInt64]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getInt8]: dart.fnType(core.int, [core.int]),
  [$getUint16]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [_getUint16]: dart.fnType(core.int, [core.int], [dart.nullable(core.bool)]),
  [$getUint32]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [_getUint32]: dart.fnType(core.int, [core.int], [dart.nullable(core.bool)]),
  [$getUint64]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getUint8]: dart.fnType(core.int, [core.int]),
  [$setFloat32]: dart.fnType(dart.void, [core.int, core.num], [typed_data.Endian]),
  [_setFloat32]: dart.fnType(dart.void, [core.int, core.num], [dart.nullable(core.bool)]),
  [$setFloat64]: dart.fnType(dart.void, [core.int, core.num], [typed_data.Endian]),
  [_setFloat64]: dart.fnType(dart.void, [core.int, core.num], [dart.nullable(core.bool)]),
  [$setInt16]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [_setInt16]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.bool)]),
  [$setInt32]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [_setInt32]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.bool)]),
  [$setInt64]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setInt8]: dart.fnType(dart.void, [core.int, core.int]),
  [$setUint16]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [_setUint16]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.bool)]),
  [$setUint32]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [_setUint32]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.bool)]),
  [$setUint64]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setUint8]: dart.fnType(dart.void, [core.int, core.int])
}));
dart.setLibraryUri(_native_typed_data.NativeByteData, I[60]);
dart.registerExtension("DataView", _native_typed_data.NativeByteData);
var _setRangeFast = dart.privateName(_native_typed_data, "_setRangeFast");
const _is_NativeTypedArray_default = Symbol('_is_NativeTypedArray_default');
_native_typed_data.NativeTypedArray$ = dart.generic(E => {
  class NativeTypedArray extends _native_typed_data.NativeTypedData {
    [_setRangeFast](start, end, source, skipCount) {
      if (start == null) dart.nullFailed(I[59], 673, 11, "start");
      if (end == null) dart.nullFailed(I[59], 673, 22, "end");
      if (source == null) dart.nullFailed(I[59], 673, 44, "source");
      if (skipCount == null) dart.nullFailed(I[59], 673, 56, "skipCount");
      let targetLength = this[$length];
      this[_checkPosition](start, targetLength, "start");
      this[_checkPosition](end, targetLength, "end");
      if (dart.notNull(start) > dart.notNull(end)) dart.throw(new core.RangeError.range(start, 0, end));
      let count = dart.notNull(end) - dart.notNull(start);
      if (dart.notNull(skipCount) < 0) dart.throw(new core.ArgumentError.new(skipCount));
      let sourceLength = source[$length];
      if (dart.notNull(sourceLength) - dart.notNull(skipCount) < count) {
        dart.throw(new core.StateError.new("Not enough elements"));
      }
      if (skipCount !== 0 || sourceLength !== count) {
        source = source.subarray(skipCount, dart.notNull(skipCount) + count);
      }
      this.set(source, start);
    }
  }
  (NativeTypedArray.new = function() {
    ;
  }).prototype = NativeTypedArray.prototype;
  dart.addTypeTests(NativeTypedArray);
  NativeTypedArray.prototype[_is_NativeTypedArray_default] = true;
  dart.addTypeCaches(NativeTypedArray);
  NativeTypedArray[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(E)];
  dart.setMethodSignature(NativeTypedArray, () => ({
    __proto__: dart.getMethods(NativeTypedArray.__proto__),
    [_setRangeFast]: dart.fnType(dart.void, [core.int, core.int, _native_typed_data.NativeTypedArray, core.int])
  }));
  dart.setLibraryUri(NativeTypedArray, I[60]);
  return NativeTypedArray;
});
_native_typed_data.NativeTypedArray = _native_typed_data.NativeTypedArray$();
dart.addTypeTests(_native_typed_data.NativeTypedArray, _is_NativeTypedArray_default);
core.double = class double extends core.num {
  static is(o) {
    return typeof o == "number";
  }
  static as(o) {
    if (typeof o == "number") return o;
    return dart.as(o, core.double);
  }
  static parse(source, onError = null) {
    if (source == null) dart.nullFailed(I[7], 210, 30, "source");
    let value = core.double.tryParse(source);
    if (value != null) return value;
    if (onError != null) return onError(source);
    dart.throw(new core.FormatException.new("Invalid double", source));
  }
  static tryParse(source) {
    if (source == null) dart.nullFailed(I[7], 219, 34, "source");
    return _js_helper.Primitives.parseDouble(source);
  }
};
(core.double.new = function() {
  ;
}).prototype = core.double.prototype;
dart.addTypeCaches(core.double);
dart.setLibraryUri(core.double, I[9]);
dart.defineLazy(core.double, {
  /*core.double.nan*/get nan() {
    return 0 / 0;
  },
  /*core.double.infinity*/get infinity() {
    return 1 / 0;
  },
  /*core.double.negativeInfinity*/get negativeInfinity() {
    return -1 / 0;
  },
  /*core.double.minPositive*/get minPositive() {
    return 5e-324;
  },
  /*core.double.maxFinite*/get maxFinite() {
    return 1.7976931348623157e+308;
  }
}, false);
const NativeTypedArray_ListMixin$36 = class NativeTypedArray_ListMixin extends _native_typed_data.NativeTypedArray$(core.double) {};
(NativeTypedArray_ListMixin$36.new = function() {
}).prototype = NativeTypedArray_ListMixin$36.prototype;
dart.applyMixin(NativeTypedArray_ListMixin$36, collection.ListMixin$(core.double));
const NativeTypedArray_FixedLengthListMixin$36 = class NativeTypedArray_FixedLengthListMixin extends NativeTypedArray_ListMixin$36 {};
(NativeTypedArray_FixedLengthListMixin$36.new = function() {
}).prototype = NativeTypedArray_FixedLengthListMixin$36.prototype;
dart.applyMixin(NativeTypedArray_FixedLengthListMixin$36, _internal.FixedLengthListMixin$(core.double));
_native_typed_data.NativeTypedArrayOfDouble = class NativeTypedArrayOfDouble extends NativeTypedArray_FixedLengthListMixin$36 {
  get length() {
    return this.length;
  }
  set length(value) {
    super.length = value;
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[59], 699, 26, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[59], 704, 25, "index");
    core.num.as(value);
    if (value == null) dart.nullFailed(I[59], 704, 36, "value");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    this[index] = value;
    return value$;
  }
  setRange(start, end, iterable, skipCount = 0) {
    if (start == null) dart.nullFailed(I[59], 709, 21, "start");
    if (end == null) dart.nullFailed(I[59], 709, 32, "end");
    T$.IterableOfdouble().as(iterable);
    if (iterable == null) dart.nullFailed(I[59], 709, 54, "iterable");
    if (skipCount == null) dart.nullFailed(I[59], 710, 12, "skipCount");
    if (_native_typed_data.NativeTypedArrayOfDouble.is(iterable)) {
      this[_setRangeFast](start, end, iterable, skipCount);
      return;
    }
    super[$setRange](start, end, iterable, skipCount);
  }
};
(_native_typed_data.NativeTypedArrayOfDouble.new = function() {
  ;
}).prototype = _native_typed_data.NativeTypedArrayOfDouble.prototype;
dart.addTypeTests(_native_typed_data.NativeTypedArrayOfDouble);
dart.addTypeCaches(_native_typed_data.NativeTypedArrayOfDouble);
dart.setMethodSignature(_native_typed_data.NativeTypedArrayOfDouble, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeTypedArrayOfDouble.__proto__),
  _get: dart.fnType(core.double, [core.int]),
  [$_get]: dart.fnType(core.double, [core.int]),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)])
}));
dart.setGetterSignature(_native_typed_data.NativeTypedArrayOfDouble, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeTypedArrayOfDouble.__proto__),
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeTypedArrayOfDouble, I[60]);
dart.defineExtensionMethods(_native_typed_data.NativeTypedArrayOfDouble, ['_get', '_set', 'setRange']);
dart.defineExtensionAccessors(_native_typed_data.NativeTypedArrayOfDouble, ['length']);
const NativeTypedArray_ListMixin$36$ = class NativeTypedArray_ListMixin extends _native_typed_data.NativeTypedArray$(core.int) {};
(NativeTypedArray_ListMixin$36$.new = function() {
}).prototype = NativeTypedArray_ListMixin$36$.prototype;
dart.applyMixin(NativeTypedArray_ListMixin$36$, collection.ListMixin$(core.int));
const NativeTypedArray_FixedLengthListMixin$36$ = class NativeTypedArray_FixedLengthListMixin extends NativeTypedArray_ListMixin$36$ {};
(NativeTypedArray_FixedLengthListMixin$36$.new = function() {
}).prototype = NativeTypedArray_FixedLengthListMixin$36$.prototype;
dart.applyMixin(NativeTypedArray_FixedLengthListMixin$36$, _internal.FixedLengthListMixin$(core.int));
_native_typed_data.NativeTypedArrayOfInt = class NativeTypedArrayOfInt extends NativeTypedArray_FixedLengthListMixin$36$ {
  get length() {
    return this.length;
  }
  set length(value) {
    super.length = value;
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[59], 727, 25, "index");
    core.int.as(value);
    if (value == null) dart.nullFailed(I[59], 727, 36, "value");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    this[index] = value;
    return value$;
  }
  setRange(start, end, iterable, skipCount = 0) {
    if (start == null) dart.nullFailed(I[59], 732, 21, "start");
    if (end == null) dart.nullFailed(I[59], 732, 32, "end");
    T$.IterableOfint().as(iterable);
    if (iterable == null) dart.nullFailed(I[59], 732, 51, "iterable");
    if (skipCount == null) dart.nullFailed(I[59], 733, 12, "skipCount");
    if (_native_typed_data.NativeTypedArrayOfInt.is(iterable)) {
      this[_setRangeFast](start, end, iterable, skipCount);
      return;
    }
    super[$setRange](start, end, iterable, skipCount);
  }
};
(_native_typed_data.NativeTypedArrayOfInt.new = function() {
  ;
}).prototype = _native_typed_data.NativeTypedArrayOfInt.prototype;
_native_typed_data.NativeTypedArrayOfInt.prototype[dart.isList] = true;
dart.addTypeTests(_native_typed_data.NativeTypedArrayOfInt);
dart.addTypeCaches(_native_typed_data.NativeTypedArrayOfInt);
_native_typed_data.NativeTypedArrayOfInt[dart.implements] = () => [core.List$(core.int)];
dart.setMethodSignature(_native_typed_data.NativeTypedArrayOfInt, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeTypedArrayOfInt.__proto__),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)])
}));
dart.setGetterSignature(_native_typed_data.NativeTypedArrayOfInt, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeTypedArrayOfInt.__proto__),
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeTypedArrayOfInt, I[60]);
dart.defineExtensionMethods(_native_typed_data.NativeTypedArrayOfInt, ['_set', 'setRange']);
dart.defineExtensionAccessors(_native_typed_data.NativeTypedArrayOfInt, ['length']);
_native_typed_data.NativeFloat32List = class NativeFloat32List extends _native_typed_data.NativeTypedArrayOfDouble {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 745, 33, "length");
    return _native_typed_data.NativeFloat32List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 747, 51, "elements");
    return _native_typed_data.NativeFloat32List._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 751, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 751, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    length == null ? length = ((dart.notNull(buffer[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 4)[$truncate]() : null;
    return _native_typed_data.NativeFloat32List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Float32List);
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 760, 27, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeFloat32List._create1(source);
  }
  static _create1(arg) {
    return new Float32Array(arg);
  }
  static _create3(arg1, arg2, arg3) {
    return new Float32Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeFloat32List);
dart.addTypeCaches(_native_typed_data.NativeFloat32List);
_native_typed_data.NativeFloat32List[dart.implements] = () => [typed_data.Float32List];
dart.setMethodSignature(_native_typed_data.NativeFloat32List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeFloat32List.__proto__),
  [$sublist]: dart.fnType(typed_data.Float32List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeFloat32List, I[60]);
dart.registerExtension("Float32Array", _native_typed_data.NativeFloat32List);
_native_typed_data.NativeFloat64List = class NativeFloat64List extends _native_typed_data.NativeTypedArrayOfDouble {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 777, 33, "length");
    return _native_typed_data.NativeFloat64List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 779, 51, "elements");
    return _native_typed_data.NativeFloat64List._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 783, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 783, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    length == null ? length = ((dart.notNull(buffer[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 8)[$truncate]() : null;
    return _native_typed_data.NativeFloat64List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Float64List);
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 792, 27, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeFloat64List._create1(source);
  }
  static _create1(arg) {
    return new Float64Array(arg);
  }
  static _create3(arg1, arg2, arg3) {
    return new Float64Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeFloat64List);
dart.addTypeCaches(_native_typed_data.NativeFloat64List);
_native_typed_data.NativeFloat64List[dart.implements] = () => [typed_data.Float64List];
dart.setMethodSignature(_native_typed_data.NativeFloat64List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeFloat64List.__proto__),
  [$sublist]: dart.fnType(typed_data.Float64List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeFloat64List, I[60]);
dart.registerExtension("Float64Array", _native_typed_data.NativeFloat64List);
_native_typed_data.NativeInt16List = class NativeInt16List extends _native_typed_data.NativeTypedArrayOfInt {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 807, 31, "length");
    return _native_typed_data.NativeInt16List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 809, 46, "elements");
    return _native_typed_data.NativeInt16List._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 813, 24, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 813, 36, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    length == null ? length = ((dart.notNull(buffer[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 2)[$truncate]() : null;
    return _native_typed_data.NativeInt16List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Int16List);
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[59], 822, 23, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 827, 25, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeInt16List._create1(source);
  }
  static _create1(arg) {
    return new Int16Array(arg);
  }
  static _create3(arg1, arg2, arg3) {
    return new Int16Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeInt16List);
dart.addTypeCaches(_native_typed_data.NativeInt16List);
_native_typed_data.NativeInt16List[dart.implements] = () => [typed_data.Int16List];
dart.setMethodSignature(_native_typed_data.NativeInt16List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeInt16List.__proto__),
  [$_get]: dart.fnType(core.int, [core.int]),
  [$sublist]: dart.fnType(typed_data.Int16List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeInt16List, I[60]);
dart.registerExtension("Int16Array", _native_typed_data.NativeInt16List);
_native_typed_data.NativeInt32List = class NativeInt32List extends _native_typed_data.NativeTypedArrayOfInt {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 842, 31, "length");
    return _native_typed_data.NativeInt32List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 844, 46, "elements");
    return _native_typed_data.NativeInt32List._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 848, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 848, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    length == null ? length = ((dart.notNull(buffer[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 4)[$truncate]() : null;
    return _native_typed_data.NativeInt32List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Int32List);
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[59], 857, 23, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 862, 25, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeInt32List._create1(source);
  }
  static _create1(arg) {
    return new Int32Array(arg);
  }
  static _create3(arg1, arg2, arg3) {
    return new Int32Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeInt32List);
dart.addTypeCaches(_native_typed_data.NativeInt32List);
_native_typed_data.NativeInt32List[dart.implements] = () => [typed_data.Int32List];
dart.setMethodSignature(_native_typed_data.NativeInt32List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeInt32List.__proto__),
  [$_get]: dart.fnType(core.int, [core.int]),
  [$sublist]: dart.fnType(typed_data.Int32List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeInt32List, I[60]);
dart.registerExtension("Int32Array", _native_typed_data.NativeInt32List);
_native_typed_data.NativeInt8List = class NativeInt8List extends _native_typed_data.NativeTypedArrayOfInt {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 878, 30, "length");
    return _native_typed_data.NativeInt8List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 880, 45, "elements");
    return _native_typed_data.NativeInt8List._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 884, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 884, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    return length == null ? _native_typed_data.NativeInt8List._create2(buffer, offsetInBytes) : _native_typed_data.NativeInt8List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Int8List);
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[59], 893, 23, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 898, 24, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeInt8List._create1(source);
  }
  static _create1(arg) {
    return new Int8Array(arg);
  }
  static _create2(arg1, arg2) {
    return new Int8Array(arg1, arg2);
  }
  static _create3(arg1, arg2, arg3) {
    return new Int8Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeInt8List);
dart.addTypeCaches(_native_typed_data.NativeInt8List);
_native_typed_data.NativeInt8List[dart.implements] = () => [typed_data.Int8List];
dart.setMethodSignature(_native_typed_data.NativeInt8List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeInt8List.__proto__),
  [$_get]: dart.fnType(core.int, [core.int]),
  [$sublist]: dart.fnType(typed_data.Int8List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeInt8List, I[60]);
dart.registerExtension("Int8Array", _native_typed_data.NativeInt8List);
_native_typed_data.NativeUint16List = class NativeUint16List extends _native_typed_data.NativeTypedArrayOfInt {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 916, 32, "length");
    return _native_typed_data.NativeUint16List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(list) {
    if (list == null) dart.nullFailed(I[59], 918, 47, "list");
    return _native_typed_data.NativeUint16List._create1(_native_typed_data._ensureNativeList(list));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 922, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 922, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    length == null ? length = ((dart.notNull(buffer[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 2)[$truncate]() : null;
    return _native_typed_data.NativeUint16List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Uint16List);
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[59], 931, 23, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 936, 26, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeUint16List._create1(source);
  }
  static _create1(arg) {
    return new Uint16Array(arg);
  }
  static _create3(arg1, arg2, arg3) {
    return new Uint16Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeUint16List);
dart.addTypeCaches(_native_typed_data.NativeUint16List);
_native_typed_data.NativeUint16List[dart.implements] = () => [typed_data.Uint16List];
dart.setMethodSignature(_native_typed_data.NativeUint16List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeUint16List.__proto__),
  [$_get]: dart.fnType(core.int, [core.int]),
  [$sublist]: dart.fnType(typed_data.Uint16List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeUint16List, I[60]);
dart.registerExtension("Uint16Array", _native_typed_data.NativeUint16List);
_native_typed_data.NativeUint32List = class NativeUint32List extends _native_typed_data.NativeTypedArrayOfInt {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 952, 32, "length");
    return _native_typed_data.NativeUint32List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 954, 47, "elements");
    return _native_typed_data.NativeUint32List._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 958, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 958, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    length == null ? length = ((dart.notNull(buffer[$lengthInBytes]) - dart.notNull(offsetInBytes)) / 4)[$truncate]() : null;
    return _native_typed_data.NativeUint32List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Uint32List);
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[59], 967, 23, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 972, 26, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeUint32List._create1(source);
  }
  static _create1(arg) {
    return new Uint32Array(arg);
  }
  static _create3(arg1, arg2, arg3) {
    return new Uint32Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeUint32List);
dart.addTypeCaches(_native_typed_data.NativeUint32List);
_native_typed_data.NativeUint32List[dart.implements] = () => [typed_data.Uint32List];
dart.setMethodSignature(_native_typed_data.NativeUint32List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeUint32List.__proto__),
  [$_get]: dart.fnType(core.int, [core.int]),
  [$sublist]: dart.fnType(typed_data.Uint32List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeUint32List, I[60]);
dart.registerExtension("Uint32Array", _native_typed_data.NativeUint32List);
_native_typed_data.NativeUint8ClampedList = class NativeUint8ClampedList extends _native_typed_data.NativeTypedArrayOfInt {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 989, 38, "length");
    return _native_typed_data.NativeUint8ClampedList._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 991, 53, "elements");
    return _native_typed_data.NativeUint8ClampedList._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 995, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 995, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    return length == null ? _native_typed_data.NativeUint8ClampedList._create2(buffer, offsetInBytes) : _native_typed_data.NativeUint8ClampedList._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Uint8ClampedList);
  }
  get [$length]() {
    return this.length;
  }
  set [$length](value) {
    super[$length] = value;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[59], 1006, 23, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 1011, 32, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeUint8ClampedList._create1(source);
  }
  static _create1(arg) {
    return new Uint8ClampedArray(arg);
  }
  static _create2(arg1, arg2) {
    return new Uint8ClampedArray(arg1, arg2);
  }
  static _create3(arg1, arg2, arg3) {
    return new Uint8ClampedArray(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeUint8ClampedList);
dart.addTypeCaches(_native_typed_data.NativeUint8ClampedList);
_native_typed_data.NativeUint8ClampedList[dart.implements] = () => [typed_data.Uint8ClampedList];
dart.setMethodSignature(_native_typed_data.NativeUint8ClampedList, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeUint8ClampedList.__proto__),
  [$_get]: dart.fnType(core.int, [core.int]),
  [$sublist]: dart.fnType(typed_data.Uint8ClampedList, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeUint8ClampedList, I[60]);
dart.registerExtension("Uint8ClampedArray", _native_typed_data.NativeUint8ClampedList);
dart.registerExtension("CanvasPixelArray", _native_typed_data.NativeUint8ClampedList);
_native_typed_data.NativeUint8List = class NativeUint8List extends _native_typed_data.NativeTypedArrayOfInt {
  static new(length) {
    if (length == null) dart.nullFailed(I[59], 1039, 31, "length");
    return _native_typed_data.NativeUint8List._create1(_native_typed_data._checkLength(length));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[59], 1041, 46, "elements");
    return _native_typed_data.NativeUint8List._create1(_native_typed_data._ensureNativeList(elements));
  }
  static view(buffer, offsetInBytes, length) {
    if (buffer == null) dart.nullFailed(I[59], 1045, 18, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[59], 1045, 30, "offsetInBytes");
    _native_typed_data._checkViewArguments(buffer, offsetInBytes, length);
    return length == null ? _native_typed_data.NativeUint8List._create2(buffer, offsetInBytes) : _native_typed_data.NativeUint8List._create3(buffer, offsetInBytes, length);
  }
  get [$runtimeType]() {
    return dart.wrapType(typed_data.Uint8List);
  }
  get [$length]() {
    return this.length;
  }
  set [$length](value) {
    super[$length] = value;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[59], 1056, 23, "index");
    _native_typed_data._checkValidIndex(index, this, this[$length]);
    return this[index];
  }
  [$sublist](start, end = null) {
    if (start == null) dart.nullFailed(I[59], 1061, 25, "start");
    let stop = _native_typed_data._checkValidRange(start, end, this[$length]);
    let source = this.subarray(start, stop);
    return _native_typed_data.NativeUint8List._create1(source);
  }
  static _create1(arg) {
    return new Uint8Array(arg);
  }
  static _create2(arg1, arg2) {
    return new Uint8Array(arg1, arg2);
  }
  static _create3(arg1, arg2, arg3) {
    return new Uint8Array(arg1, arg2, arg3);
  }
};
dart.addTypeTests(_native_typed_data.NativeUint8List);
dart.addTypeCaches(_native_typed_data.NativeUint8List);
_native_typed_data.NativeUint8List[dart.implements] = () => [typed_data.Uint8List];
dart.setMethodSignature(_native_typed_data.NativeUint8List, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeUint8List.__proto__),
  [$_get]: dart.fnType(core.int, [core.int]),
  [$sublist]: dart.fnType(typed_data.Uint8List, [core.int], [dart.nullable(core.int)])
}));
dart.setLibraryUri(_native_typed_data.NativeUint8List, I[60]);
dart.registerExtension("Uint8Array", _native_typed_data.NativeUint8List);
var x$ = dart.privateName(_native_typed_data, "NativeFloat32x4.x");
var y$ = dart.privateName(_native_typed_data, "NativeFloat32x4.y");
var z$ = dart.privateName(_native_typed_data, "NativeFloat32x4.z");
var w$ = dart.privateName(_native_typed_data, "NativeFloat32x4.w");
_native_typed_data.NativeFloat32x4 = class NativeFloat32x4 extends core.Object {
  get x() {
    return this[x$];
  }
  set x(value) {
    super.x = value;
  }
  get y() {
    return this[y$];
  }
  set y(value) {
    super.y = value;
  }
  get z() {
    return this[z$];
  }
  set z(value) {
    super.z = value;
  }
  get w() {
    return this[w$];
  }
  set w(value) {
    super.w = value;
  }
  static _truncate(x) {
    _native_typed_data.NativeFloat32x4._list[$_set](0, core.num.as(x));
    return _native_typed_data.NativeFloat32x4._list[$_get](0);
  }
  static fromInt32x4Bits(i) {
    if (i == null) dart.nullFailed(I[59], 1112, 51, "i");
    _native_typed_data.NativeFloat32x4._uint32view[$_set](0, i.x);
    _native_typed_data.NativeFloat32x4._uint32view[$_set](1, i.y);
    _native_typed_data.NativeFloat32x4._uint32view[$_set](2, i.z);
    _native_typed_data.NativeFloat32x4._uint32view[$_set](3, i.w);
    return new _native_typed_data.NativeFloat32x4._truncated(_native_typed_data.NativeFloat32x4._list[$_get](0), _native_typed_data.NativeFloat32x4._list[$_get](1), _native_typed_data.NativeFloat32x4._list[$_get](2), _native_typed_data.NativeFloat32x4._list[$_get](3));
  }
  toString() {
    return "[" + dart.str(this.x) + ", " + dart.str(this.y) + ", " + dart.str(this.z) + ", " + dart.str(this.w) + "]";
  }
  ['+'](other) {
    if (other == null) dart.nullFailed(I[59], 1144, 34, "other");
    let _x = dart.notNull(this.x) + dart.notNull(other.x);
    let _y = dart.notNull(this.y) + dart.notNull(other.y);
    let _z = dart.notNull(this.z) + dart.notNull(other.z);
    let _w = dart.notNull(this.w) + dart.notNull(other.w);
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
  _negate() {
    return new _native_typed_data.NativeFloat32x4._truncated(-dart.notNull(this.x), -dart.notNull(this.y), -dart.notNull(this.z), -dart.notNull(this.w));
  }
  ['-'](other) {
    if (other == null) dart.nullFailed(I[59], 1158, 34, "other");
    let _x = dart.notNull(this.x) - dart.notNull(other.x);
    let _y = dart.notNull(this.y) - dart.notNull(other.y);
    let _z = dart.notNull(this.z) - dart.notNull(other.z);
    let _w = dart.notNull(this.w) - dart.notNull(other.w);
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
  ['*'](other) {
    if (other == null) dart.nullFailed(I[59], 1167, 34, "other");
    let _x = dart.notNull(this.x) * dart.notNull(other.x);
    let _y = dart.notNull(this.y) * dart.notNull(other.y);
    let _z = dart.notNull(this.z) * dart.notNull(other.z);
    let _w = dart.notNull(this.w) * dart.notNull(other.w);
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
  ['/'](other) {
    if (other == null) dart.nullFailed(I[59], 1176, 34, "other");
    let _x = dart.notNull(this.x) / dart.notNull(other.x);
    let _y = dart.notNull(this.y) / dart.notNull(other.y);
    let _z = dart.notNull(this.z) / dart.notNull(other.z);
    let _w = dart.notNull(this.w) / dart.notNull(other.w);
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
  lessThan(other) {
    if (other == null) dart.nullFailed(I[59], 1185, 30, "other");
    let _cx = dart.notNull(this.x) < dart.notNull(other.x);
    let _cy = dart.notNull(this.y) < dart.notNull(other.y);
    let _cz = dart.notNull(this.z) < dart.notNull(other.z);
    let _cw = dart.notNull(this.w) < dart.notNull(other.w);
    return new _native_typed_data.NativeInt32x4._truncated(_cx ? -1 : 0, _cy ? -1 : 0, _cz ? -1 : 0, _cw ? -1 : 0);
  }
  lessThanOrEqual(other) {
    if (other == null) dart.nullFailed(I[59], 1195, 37, "other");
    let _cx = dart.notNull(this.x) <= dart.notNull(other.x);
    let _cy = dart.notNull(this.y) <= dart.notNull(other.y);
    let _cz = dart.notNull(this.z) <= dart.notNull(other.z);
    let _cw = dart.notNull(this.w) <= dart.notNull(other.w);
    return new _native_typed_data.NativeInt32x4._truncated(_cx ? -1 : 0, _cy ? -1 : 0, _cz ? -1 : 0, _cw ? -1 : 0);
  }
  greaterThan(other) {
    if (other == null) dart.nullFailed(I[59], 1205, 33, "other");
    let _cx = dart.notNull(this.x) > dart.notNull(other.x);
    let _cy = dart.notNull(this.y) > dart.notNull(other.y);
    let _cz = dart.notNull(this.z) > dart.notNull(other.z);
    let _cw = dart.notNull(this.w) > dart.notNull(other.w);
    return new _native_typed_data.NativeInt32x4._truncated(_cx ? -1 : 0, _cy ? -1 : 0, _cz ? -1 : 0, _cw ? -1 : 0);
  }
  greaterThanOrEqual(other) {
    if (other == null) dart.nullFailed(I[59], 1215, 40, "other");
    let _cx = dart.notNull(this.x) >= dart.notNull(other.x);
    let _cy = dart.notNull(this.y) >= dart.notNull(other.y);
    let _cz = dart.notNull(this.z) >= dart.notNull(other.z);
    let _cw = dart.notNull(this.w) >= dart.notNull(other.w);
    return new _native_typed_data.NativeInt32x4._truncated(_cx ? -1 : 0, _cy ? -1 : 0, _cz ? -1 : 0, _cw ? -1 : 0);
  }
  equal(other) {
    if (other == null) dart.nullFailed(I[59], 1225, 27, "other");
    let _cx = this.x == other.x;
    let _cy = this.y == other.y;
    let _cz = this.z == other.z;
    let _cw = this.w == other.w;
    return new _native_typed_data.NativeInt32x4._truncated(_cx ? -1 : 0, _cy ? -1 : 0, _cz ? -1 : 0, _cw ? -1 : 0);
  }
  notEqual(other) {
    if (other == null) dart.nullFailed(I[59], 1235, 30, "other");
    let _cx = this.x != other.x;
    let _cy = this.y != other.y;
    let _cz = this.z != other.z;
    let _cw = this.w != other.w;
    return new _native_typed_data.NativeInt32x4._truncated(_cx ? -1 : 0, _cy ? -1 : 0, _cz ? -1 : 0, _cw ? -1 : 0);
  }
  scale(s) {
    if (s == null) dart.nullFailed(I[59], 1245, 26, "s");
    let _x = dart.notNull(s) * dart.notNull(this.x);
    let _y = dart.notNull(s) * dart.notNull(this.y);
    let _z = dart.notNull(s) * dart.notNull(this.z);
    let _w = dart.notNull(s) * dart.notNull(this.w);
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
  abs() {
    let _x = this.x[$abs]();
    let _y = this.y[$abs]();
    let _z = this.z[$abs]();
    let _w = this.w[$abs]();
    return new _native_typed_data.NativeFloat32x4._truncated(_x, _y, _z, _w);
  }
  clamp(lowerLimit, upperLimit) {
    if (lowerLimit == null) dart.nullFailed(I[59], 1263, 29, "lowerLimit");
    if (upperLimit == null) dart.nullFailed(I[59], 1263, 51, "upperLimit");
    let _lx = lowerLimit.x;
    let _ly = lowerLimit.y;
    let _lz = lowerLimit.z;
    let _lw = lowerLimit.w;
    let _ux = upperLimit.x;
    let _uy = upperLimit.y;
    let _uz = upperLimit.z;
    let _uw = upperLimit.w;
    let _x = this.x;
    let _y = this.y;
    let _z = this.z;
    let _w = this.w;
    _x = dart.notNull(_x) > dart.notNull(_ux) ? _ux : _x;
    _y = dart.notNull(_y) > dart.notNull(_uy) ? _uy : _y;
    _z = dart.notNull(_z) > dart.notNull(_uz) ? _uz : _z;
    _w = dart.notNull(_w) > dart.notNull(_uw) ? _uw : _w;
    _x = dart.notNull(_x) < dart.notNull(_lx) ? _lx : _x;
    _y = dart.notNull(_y) < dart.notNull(_ly) ? _ly : _y;
    _z = dart.notNull(_z) < dart.notNull(_lz) ? _lz : _z;
    _w = dart.notNull(_w) < dart.notNull(_lw) ? _lw : _w;
    return new _native_typed_data.NativeFloat32x4._truncated(_x, _y, _z, _w);
  }
  get signMask() {
    let view = _native_typed_data.NativeFloat32x4._uint32view;
    let mx = null;
    let my = null;
    let mz = null;
    let mw = null;
    _native_typed_data.NativeFloat32x4._list[$_set](0, this.x);
    _native_typed_data.NativeFloat32x4._list[$_set](1, this.y);
    _native_typed_data.NativeFloat32x4._list[$_set](2, this.z);
    _native_typed_data.NativeFloat32x4._list[$_set](3, this.w);
    mx = (dart.notNull(view[$_get](0)) & 2147483648) >>> 31;
    my = (dart.notNull(view[$_get](1)) & 2147483648) >>> 30;
    mz = (dart.notNull(view[$_get](2)) & 2147483648) >>> 29;
    mw = (dart.notNull(view[$_get](3)) & 2147483648) >>> 28;
    return core.int.as(dart.dsend(dart.dsend(dart.dsend(mx, '|', [my]), '|', [mz]), '|', [mw]));
  }
  shuffle(mask) {
    if (mask == null) dart.nullFailed(I[59], 1305, 25, "mask");
    if (dart.notNull(mask) < 0 || dart.notNull(mask) > 255) {
      dart.throw(new core.RangeError.range(mask, 0, 255, "mask"));
    }
    _native_typed_data.NativeFloat32x4._list[$_set](0, this.x);
    _native_typed_data.NativeFloat32x4._list[$_set](1, this.y);
    _native_typed_data.NativeFloat32x4._list[$_set](2, this.z);
    _native_typed_data.NativeFloat32x4._list[$_set](3, this.w);
    let _x = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) & 3);
    let _y = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) >> 2 & 3);
    let _z = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) >> 4 & 3);
    let _w = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) >> 6 & 3);
    return new _native_typed_data.NativeFloat32x4._truncated(_x, _y, _z, _w);
  }
  shuffleMix(other, mask) {
    if (other == null) dart.nullFailed(I[59], 1324, 34, "other");
    if (mask == null) dart.nullFailed(I[59], 1324, 45, "mask");
    if (dart.notNull(mask) < 0 || dart.notNull(mask) > 255) {
      dart.throw(new core.RangeError.range(mask, 0, 255, "mask"));
    }
    _native_typed_data.NativeFloat32x4._list[$_set](0, this.x);
    _native_typed_data.NativeFloat32x4._list[$_set](1, this.y);
    _native_typed_data.NativeFloat32x4._list[$_set](2, this.z);
    _native_typed_data.NativeFloat32x4._list[$_set](3, this.w);
    let _x = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) & 3);
    let _y = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) >> 2 & 3);
    _native_typed_data.NativeFloat32x4._list[$_set](0, other.x);
    _native_typed_data.NativeFloat32x4._list[$_set](1, other.y);
    _native_typed_data.NativeFloat32x4._list[$_set](2, other.z);
    _native_typed_data.NativeFloat32x4._list[$_set](3, other.w);
    let _z = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) >> 4 & 3);
    let _w = _native_typed_data.NativeFloat32x4._list[$_get](dart.notNull(mask) >> 6 & 3);
    return new _native_typed_data.NativeFloat32x4._truncated(_x, _y, _z, _w);
  }
  withX(newX) {
    if (newX == null) dart.nullFailed(I[59], 1345, 26, "newX");
    core.ArgumentError.checkNotNull(core.double, newX);
    return new _native_typed_data.NativeFloat32x4._truncated(core.double.as(_native_typed_data.NativeFloat32x4._truncate(newX)), this.y, this.z, this.w);
  }
  withY(newY) {
    if (newY == null) dart.nullFailed(I[59], 1351, 26, "newY");
    core.ArgumentError.checkNotNull(core.double, newY);
    return new _native_typed_data.NativeFloat32x4._truncated(this.x, core.double.as(_native_typed_data.NativeFloat32x4._truncate(newY)), this.z, this.w);
  }
  withZ(newZ) {
    if (newZ == null) dart.nullFailed(I[59], 1357, 26, "newZ");
    core.ArgumentError.checkNotNull(core.double, newZ);
    return new _native_typed_data.NativeFloat32x4._truncated(this.x, this.y, core.double.as(_native_typed_data.NativeFloat32x4._truncate(newZ)), this.w);
  }
  withW(newW) {
    if (newW == null) dart.nullFailed(I[59], 1363, 26, "newW");
    core.ArgumentError.checkNotNull(core.double, newW);
    return new _native_typed_data.NativeFloat32x4._truncated(this.x, this.y, this.z, core.double.as(_native_typed_data.NativeFloat32x4._truncate(newW)));
  }
  min(other) {
    if (other == null) dart.nullFailed(I[59], 1369, 27, "other");
    let _x = dart.notNull(this.x) < dart.notNull(other.x) ? this.x : other.x;
    let _y = dart.notNull(this.y) < dart.notNull(other.y) ? this.y : other.y;
    let _z = dart.notNull(this.z) < dart.notNull(other.z) ? this.z : other.z;
    let _w = dart.notNull(this.w) < dart.notNull(other.w) ? this.w : other.w;
    return new _native_typed_data.NativeFloat32x4._truncated(_x, _y, _z, _w);
  }
  max(other) {
    if (other == null) dart.nullFailed(I[59], 1378, 27, "other");
    let _x = dart.notNull(this.x) > dart.notNull(other.x) ? this.x : other.x;
    let _y = dart.notNull(this.y) > dart.notNull(other.y) ? this.y : other.y;
    let _z = dart.notNull(this.z) > dart.notNull(other.z) ? this.z : other.z;
    let _w = dart.notNull(this.w) > dart.notNull(other.w) ? this.w : other.w;
    return new _native_typed_data.NativeFloat32x4._truncated(_x, _y, _z, _w);
  }
  sqrt() {
    let _x = math.sqrt(this.x);
    let _y = math.sqrt(this.y);
    let _z = math.sqrt(this.z);
    let _w = math.sqrt(this.w);
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
  reciprocal() {
    let _x = 1.0 / dart.notNull(this.x);
    let _y = 1.0 / dart.notNull(this.y);
    let _z = 1.0 / dart.notNull(this.z);
    let _w = 1.0 / dart.notNull(this.w);
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
  reciprocalSqrt() {
    let _x = math.sqrt(1.0 / dart.notNull(this.x));
    let _y = math.sqrt(1.0 / dart.notNull(this.y));
    let _z = math.sqrt(1.0 / dart.notNull(this.z));
    let _w = math.sqrt(1.0 / dart.notNull(this.w));
    return new _native_typed_data.NativeFloat32x4._doubles(_x, _y, _z, _w);
  }
};
(_native_typed_data.NativeFloat32x4.new = function(x, y, z, w) {
  if (x == null) dart.nullFailed(I[59], 1095, 26, "x");
  if (y == null) dart.nullFailed(I[59], 1095, 36, "y");
  if (z == null) dart.nullFailed(I[59], 1095, 46, "z");
  if (w == null) dart.nullFailed(I[59], 1095, 56, "w");
  this[x$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(x));
  this[y$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(y));
  this[z$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(z));
  this[w$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(w));
  if (!(typeof x == 'number')) dart.throw(new core.ArgumentError.new(x));
  if (!(typeof y == 'number')) dart.throw(new core.ArgumentError.new(y));
  if (!(typeof z == 'number')) dart.throw(new core.ArgumentError.new(z));
  if (!(typeof w == 'number')) dart.throw(new core.ArgumentError.new(w));
}).prototype = _native_typed_data.NativeFloat32x4.prototype;
(_native_typed_data.NativeFloat32x4.splat = function(v) {
  if (v == null) dart.nullFailed(I[59], 1108, 32, "v");
  _native_typed_data.NativeFloat32x4.new.call(this, v, v, v, v);
}).prototype = _native_typed_data.NativeFloat32x4.prototype;
(_native_typed_data.NativeFloat32x4.zero = function() {
  _native_typed_data.NativeFloat32x4._truncated.call(this, 0.0, 0.0, 0.0, 0.0);
}).prototype = _native_typed_data.NativeFloat32x4.prototype;
(_native_typed_data.NativeFloat32x4.fromFloat64x2 = function(v) {
  if (v == null) dart.nullFailed(I[59], 1120, 43, "v");
  _native_typed_data.NativeFloat32x4._truncated.call(this, core.double.as(_native_typed_data.NativeFloat32x4._truncate(v.x)), core.double.as(_native_typed_data.NativeFloat32x4._truncate(v.y)), 0.0, 0.0);
}).prototype = _native_typed_data.NativeFloat32x4.prototype;
(_native_typed_data.NativeFloat32x4._doubles = function(x, y, z, w) {
  if (x == null) dart.nullFailed(I[59], 1126, 35, "x");
  if (y == null) dart.nullFailed(I[59], 1126, 45, "y");
  if (z == null) dart.nullFailed(I[59], 1126, 55, "z");
  if (w == null) dart.nullFailed(I[59], 1126, 65, "w");
  this[x$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(x));
  this[y$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(y));
  this[z$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(z));
  this[w$] = core.double.as(_native_typed_data.NativeFloat32x4._truncate(w));
  ;
}).prototype = _native_typed_data.NativeFloat32x4.prototype;
(_native_typed_data.NativeFloat32x4._truncated = function(x, y, z, w) {
  if (x == null) dart.nullFailed(I[59], 1137, 35, "x");
  if (y == null) dart.nullFailed(I[59], 1137, 43, "y");
  if (z == null) dart.nullFailed(I[59], 1137, 51, "z");
  if (w == null) dart.nullFailed(I[59], 1137, 59, "w");
  this[x$] = x;
  this[y$] = y;
  this[z$] = z;
  this[w$] = w;
  ;
}).prototype = _native_typed_data.NativeFloat32x4.prototype;
dart.addTypeTests(_native_typed_data.NativeFloat32x4);
dart.addTypeCaches(_native_typed_data.NativeFloat32x4);
_native_typed_data.NativeFloat32x4[dart.implements] = () => [typed_data.Float32x4];
dart.setMethodSignature(_native_typed_data.NativeFloat32x4, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeFloat32x4.__proto__),
  '+': dart.fnType(typed_data.Float32x4, [typed_data.Float32x4]),
  _negate: dart.fnType(typed_data.Float32x4, []),
  '-': dart.fnType(typed_data.Float32x4, [typed_data.Float32x4]),
  '*': dart.fnType(typed_data.Float32x4, [typed_data.Float32x4]),
  '/': dart.fnType(typed_data.Float32x4, [typed_data.Float32x4]),
  lessThan: dart.fnType(typed_data.Int32x4, [typed_data.Float32x4]),
  lessThanOrEqual: dart.fnType(typed_data.Int32x4, [typed_data.Float32x4]),
  greaterThan: dart.fnType(typed_data.Int32x4, [typed_data.Float32x4]),
  greaterThanOrEqual: dart.fnType(typed_data.Int32x4, [typed_data.Float32x4]),
  equal: dart.fnType(typed_data.Int32x4, [typed_data.Float32x4]),
  notEqual: dart.fnType(typed_data.Int32x4, [typed_data.Float32x4]),
  scale: dart.fnType(typed_data.Float32x4, [core.double]),
  abs: dart.fnType(typed_data.Float32x4, []),
  clamp: dart.fnType(typed_data.Float32x4, [typed_data.Float32x4, typed_data.Float32x4]),
  shuffle: dart.fnType(typed_data.Float32x4, [core.int]),
  shuffleMix: dart.fnType(typed_data.Float32x4, [typed_data.Float32x4, core.int]),
  withX: dart.fnType(typed_data.Float32x4, [core.double]),
  withY: dart.fnType(typed_data.Float32x4, [core.double]),
  withZ: dart.fnType(typed_data.Float32x4, [core.double]),
  withW: dart.fnType(typed_data.Float32x4, [core.double]),
  min: dart.fnType(typed_data.Float32x4, [typed_data.Float32x4]),
  max: dart.fnType(typed_data.Float32x4, [typed_data.Float32x4]),
  sqrt: dart.fnType(typed_data.Float32x4, []),
  reciprocal: dart.fnType(typed_data.Float32x4, []),
  reciprocalSqrt: dart.fnType(typed_data.Float32x4, [])
}));
dart.setGetterSignature(_native_typed_data.NativeFloat32x4, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeFloat32x4.__proto__),
  signMask: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeFloat32x4, I[60]);
dart.setFieldSignature(_native_typed_data.NativeFloat32x4, () => ({
  __proto__: dart.getFields(_native_typed_data.NativeFloat32x4.__proto__),
  x: dart.finalFieldType(core.double),
  y: dart.finalFieldType(core.double),
  z: dart.finalFieldType(core.double),
  w: dart.finalFieldType(core.double)
}));
dart.defineExtensionMethods(_native_typed_data.NativeFloat32x4, ['toString']);
dart.defineLazy(_native_typed_data.NativeFloat32x4, {
  /*_native_typed_data.NativeFloat32x4._list*/get _list() {
    return _native_typed_data.NativeFloat32List.new(4);
  },
  /*_native_typed_data.NativeFloat32x4._uint32view*/get _uint32view() {
    return _native_typed_data.NativeFloat32x4._list.buffer[$asUint32List]();
  }
}, false);
var x$0 = dart.privateName(_native_typed_data, "NativeInt32x4.x");
var y$0 = dart.privateName(_native_typed_data, "NativeInt32x4.y");
var z$0 = dart.privateName(_native_typed_data, "NativeInt32x4.z");
var w$0 = dart.privateName(_native_typed_data, "NativeInt32x4.w");
_native_typed_data.NativeInt32x4 = class NativeInt32x4 extends core.Object {
  get x() {
    return this[x$0];
  }
  set x(value) {
    super.x = value;
  }
  get y() {
    return this[y$0];
  }
  set y(value) {
    super.y = value;
  }
  get z() {
    return this[z$0];
  }
  set z(value) {
    super.z = value;
  }
  get w() {
    return this[w$0];
  }
  set w(value) {
    super.w = value;
  }
  static _truncate(x) {
    _native_typed_data.NativeInt32x4._list[$_set](0, core.int.as(x));
    return _native_typed_data.NativeInt32x4._list[$_get](0);
  }
  static fromFloat32x4Bits(f) {
    if (f == null) dart.nullFailed(I[59], 1448, 53, "f");
    let floatList = _native_typed_data.NativeFloat32x4._list;
    floatList[$_set](0, f.x);
    floatList[$_set](1, f.y);
    floatList[$_set](2, f.z);
    floatList[$_set](3, f.w);
    let view = floatList.buffer[$asInt32List]();
    return new _native_typed_data.NativeInt32x4._truncated(view[$_get](0), view[$_get](1), view[$_get](2), view[$_get](3));
  }
  toString() {
    return "[" + dart.str(this.x) + ", " + dart.str(this.y) + ", " + dart.str(this.z) + ", " + dart.str(this.w) + "]";
  }
  ['|'](other) {
    if (other == null) dart.nullFailed(I[59], 1463, 30, "other");
    return new _native_typed_data.NativeInt32x4._truncated(this.x | other.x, this.y | other.y, this.z | other.z, this.w | other.w);
  }
  ['&'](other) {
    if (other == null) dart.nullFailed(I[59], 1474, 30, "other");
    return new _native_typed_data.NativeInt32x4._truncated(this.x & other.x, this.y & other.y, this.z & other.z, this.w & other.w);
  }
  ['^'](other) {
    if (other == null) dart.nullFailed(I[59], 1485, 30, "other");
    return new _native_typed_data.NativeInt32x4._truncated(this.x ^ other.x, this.y ^ other.y, this.z ^ other.z, this.w ^ other.w);
  }
  ['+'](other) {
    if (other == null) dart.nullFailed(I[59], 1495, 30, "other");
    return new _native_typed_data.NativeInt32x4._truncated(this.x + other.x | 0, this.y + other.y | 0, this.z + other.z | 0, this.w + other.w | 0);
  }
  ['-'](other) {
    if (other == null) dart.nullFailed(I[59], 1504, 30, "other");
    return new _native_typed_data.NativeInt32x4._truncated(this.x - other.x | 0, this.y - other.y | 0, this.z - other.z | 0, this.w - other.w | 0);
  }
  _negate() {
    return new _native_typed_data.NativeInt32x4._truncated(-this.x | 0, -this.y | 0, -this.z | 0, -this.w | 0);
  }
  get signMask() {
    let mx = (dart.notNull(this.x) & 2147483648) >>> 31;
    let my = (dart.notNull(this.y) & 2147483648) >>> 31;
    let mz = (dart.notNull(this.z) & 2147483648) >>> 31;
    let mw = (dart.notNull(this.w) & 2147483648) >>> 31;
    return (mx | my << 1 >>> 0 | mz << 2 >>> 0 | mw << 3 >>> 0) >>> 0;
  }
  shuffle(mask) {
    if (mask == null) dart.nullFailed(I[59], 1532, 23, "mask");
    if (dart.notNull(mask) < 0 || dart.notNull(mask) > 255) {
      dart.throw(new core.RangeError.range(mask, 0, 255, "mask"));
    }
    _native_typed_data.NativeInt32x4._list[$_set](0, this.x);
    _native_typed_data.NativeInt32x4._list[$_set](1, this.y);
    _native_typed_data.NativeInt32x4._list[$_set](2, this.z);
    _native_typed_data.NativeInt32x4._list[$_set](3, this.w);
    let _x = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) & 3);
    let _y = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) >> 2 & 3);
    let _z = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) >> 4 & 3);
    let _w = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) >> 6 & 3);
    return new _native_typed_data.NativeInt32x4._truncated(_x, _y, _z, _w);
  }
  shuffleMix(other, mask) {
    if (other == null) dart.nullFailed(I[59], 1550, 30, "other");
    if (mask == null) dart.nullFailed(I[59], 1550, 41, "mask");
    if (dart.notNull(mask) < 0 || dart.notNull(mask) > 255) {
      dart.throw(new core.RangeError.range(mask, 0, 255, "mask"));
    }
    _native_typed_data.NativeInt32x4._list[$_set](0, this.x);
    _native_typed_data.NativeInt32x4._list[$_set](1, this.y);
    _native_typed_data.NativeInt32x4._list[$_set](2, this.z);
    _native_typed_data.NativeInt32x4._list[$_set](3, this.w);
    let _x = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) & 3);
    let _y = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) >> 2 & 3);
    _native_typed_data.NativeInt32x4._list[$_set](0, other.x);
    _native_typed_data.NativeInt32x4._list[$_set](1, other.y);
    _native_typed_data.NativeInt32x4._list[$_set](2, other.z);
    _native_typed_data.NativeInt32x4._list[$_set](3, other.w);
    let _z = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) >> 4 & 3);
    let _w = _native_typed_data.NativeInt32x4._list[$_get](dart.notNull(mask) >> 6 & 3);
    return new _native_typed_data.NativeInt32x4._truncated(_x, _y, _z, _w);
  }
  withX(x) {
    if (x == null) dart.nullFailed(I[59], 1571, 21, "x");
    core.ArgumentError.checkNotNull(core.int, x);
    let _x = core.int.as(_native_typed_data.NativeInt32x4._truncate(x));
    return new _native_typed_data.NativeInt32x4._truncated(_x, this.y, this.z, this.w);
  }
  withY(y) {
    if (y == null) dart.nullFailed(I[59], 1578, 21, "y");
    core.ArgumentError.checkNotNull(core.int, y);
    let _y = core.int.as(_native_typed_data.NativeInt32x4._truncate(y));
    return new _native_typed_data.NativeInt32x4._truncated(this.x, _y, this.z, this.w);
  }
  withZ(z) {
    if (z == null) dart.nullFailed(I[59], 1585, 21, "z");
    core.ArgumentError.checkNotNull(core.int, z);
    let _z = core.int.as(_native_typed_data.NativeInt32x4._truncate(z));
    return new _native_typed_data.NativeInt32x4._truncated(this.x, this.y, _z, this.w);
  }
  withW(w) {
    if (w == null) dart.nullFailed(I[59], 1592, 21, "w");
    core.ArgumentError.checkNotNull(core.int, w);
    let _w = core.int.as(_native_typed_data.NativeInt32x4._truncate(w));
    return new _native_typed_data.NativeInt32x4._truncated(this.x, this.y, this.z, _w);
  }
  get flagX() {
    return this.x !== 0;
  }
  get flagY() {
    return this.y !== 0;
  }
  get flagZ() {
    return this.z !== 0;
  }
  get flagW() {
    return this.w !== 0;
  }
  withFlagX(flagX) {
    if (flagX == null) dart.nullFailed(I[59], 1611, 26, "flagX");
    let _x = dart.test(flagX) ? -1 : 0;
    return new _native_typed_data.NativeInt32x4._truncated(_x, this.y, this.z, this.w);
  }
  withFlagY(flagY) {
    if (flagY == null) dart.nullFailed(I[59], 1617, 26, "flagY");
    let _y = dart.test(flagY) ? -1 : 0;
    return new _native_typed_data.NativeInt32x4._truncated(this.x, _y, this.z, this.w);
  }
  withFlagZ(flagZ) {
    if (flagZ == null) dart.nullFailed(I[59], 1623, 26, "flagZ");
    let _z = dart.test(flagZ) ? -1 : 0;
    return new _native_typed_data.NativeInt32x4._truncated(this.x, this.y, _z, this.w);
  }
  withFlagW(flagW) {
    if (flagW == null) dart.nullFailed(I[59], 1629, 26, "flagW");
    let _w = dart.test(flagW) ? -1 : 0;
    return new _native_typed_data.NativeInt32x4._truncated(this.x, this.y, this.z, _w);
  }
  select(trueValue, falseValue) {
    if (trueValue == null) dart.nullFailed(I[59], 1637, 30, "trueValue");
    if (falseValue == null) dart.nullFailed(I[59], 1637, 51, "falseValue");
    let floatList = _native_typed_data.NativeFloat32x4._list;
    let intView = _native_typed_data.NativeFloat32x4._uint32view;
    floatList[$_set](0, trueValue.x);
    floatList[$_set](1, trueValue.y);
    floatList[$_set](2, trueValue.z);
    floatList[$_set](3, trueValue.w);
    let stx = intView[$_get](0);
    let sty = intView[$_get](1);
    let stz = intView[$_get](2);
    let stw = intView[$_get](3);
    floatList[$_set](0, falseValue.x);
    floatList[$_set](1, falseValue.y);
    floatList[$_set](2, falseValue.z);
    floatList[$_set](3, falseValue.w);
    let sfx = intView[$_get](0);
    let sfy = intView[$_get](1);
    let sfz = intView[$_get](2);
    let sfw = intView[$_get](3);
    let _x = (dart.notNull(this.x) & dart.notNull(stx) | (~dart.notNull(this.x) & dart.notNull(sfx)) >>> 0) >>> 0;
    let _y = (dart.notNull(this.y) & dart.notNull(sty) | (~dart.notNull(this.y) & dart.notNull(sfy)) >>> 0) >>> 0;
    let _z = (dart.notNull(this.z) & dart.notNull(stz) | (~dart.notNull(this.z) & dart.notNull(sfz)) >>> 0) >>> 0;
    let _w = (dart.notNull(this.w) & dart.notNull(stw) | (~dart.notNull(this.w) & dart.notNull(sfw)) >>> 0) >>> 0;
    intView[$_set](0, _x);
    intView[$_set](1, _y);
    intView[$_set](2, _z);
    intView[$_set](3, _w);
    return new _native_typed_data.NativeFloat32x4._truncated(floatList[$_get](0), floatList[$_get](1), floatList[$_get](2), floatList[$_get](3));
  }
};
(_native_typed_data.NativeInt32x4.new = function(x, y, z, w) {
  if (x == null) dart.nullFailed(I[59], 1430, 21, "x");
  if (y == null) dart.nullFailed(I[59], 1430, 28, "y");
  if (z == null) dart.nullFailed(I[59], 1430, 35, "z");
  if (w == null) dart.nullFailed(I[59], 1430, 42, "w");
  this[x$0] = core.int.as(_native_typed_data.NativeInt32x4._truncate(x));
  this[y$0] = core.int.as(_native_typed_data.NativeInt32x4._truncate(y));
  this[z$0] = core.int.as(_native_typed_data.NativeInt32x4._truncate(z));
  this[w$0] = core.int.as(_native_typed_data.NativeInt32x4._truncate(w));
  if (x != this.x && !core.int.is(x)) dart.throw(new core.ArgumentError.new(x));
  if (y != this.y && !core.int.is(y)) dart.throw(new core.ArgumentError.new(y));
  if (z != this.z && !core.int.is(z)) dart.throw(new core.ArgumentError.new(z));
  if (w != this.w && !core.int.is(w)) dart.throw(new core.ArgumentError.new(w));
}).prototype = _native_typed_data.NativeInt32x4.prototype;
(_native_typed_data.NativeInt32x4.bool = function(x, y, z, w) {
  if (x == null) dart.nullFailed(I[59], 1441, 27, "x");
  if (y == null) dart.nullFailed(I[59], 1441, 35, "y");
  if (z == null) dart.nullFailed(I[59], 1441, 43, "z");
  if (w == null) dart.nullFailed(I[59], 1441, 51, "w");
  this[x$0] = dart.test(x) ? -1 : 0;
  this[y$0] = dart.test(y) ? -1 : 0;
  this[z$0] = dart.test(z) ? -1 : 0;
  this[w$0] = dart.test(w) ? -1 : 0;
  ;
}).prototype = _native_typed_data.NativeInt32x4.prototype;
(_native_typed_data.NativeInt32x4._truncated = function(x, y, z, w) {
  if (x == null) dart.nullFailed(I[59], 1458, 33, "x");
  if (y == null) dart.nullFailed(I[59], 1458, 41, "y");
  if (z == null) dart.nullFailed(I[59], 1458, 49, "z");
  if (w == null) dart.nullFailed(I[59], 1458, 57, "w");
  this[x$0] = x;
  this[y$0] = y;
  this[z$0] = z;
  this[w$0] = w;
  ;
}).prototype = _native_typed_data.NativeInt32x4.prototype;
dart.addTypeTests(_native_typed_data.NativeInt32x4);
dart.addTypeCaches(_native_typed_data.NativeInt32x4);
_native_typed_data.NativeInt32x4[dart.implements] = () => [typed_data.Int32x4];
dart.setMethodSignature(_native_typed_data.NativeInt32x4, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeInt32x4.__proto__),
  '|': dart.fnType(typed_data.Int32x4, [typed_data.Int32x4]),
  '&': dart.fnType(typed_data.Int32x4, [typed_data.Int32x4]),
  '^': dart.fnType(typed_data.Int32x4, [typed_data.Int32x4]),
  '+': dart.fnType(typed_data.Int32x4, [typed_data.Int32x4]),
  '-': dart.fnType(typed_data.Int32x4, [typed_data.Int32x4]),
  _negate: dart.fnType(typed_data.Int32x4, []),
  shuffle: dart.fnType(typed_data.Int32x4, [core.int]),
  shuffleMix: dart.fnType(typed_data.Int32x4, [typed_data.Int32x4, core.int]),
  withX: dart.fnType(typed_data.Int32x4, [core.int]),
  withY: dart.fnType(typed_data.Int32x4, [core.int]),
  withZ: dart.fnType(typed_data.Int32x4, [core.int]),
  withW: dart.fnType(typed_data.Int32x4, [core.int]),
  withFlagX: dart.fnType(typed_data.Int32x4, [core.bool]),
  withFlagY: dart.fnType(typed_data.Int32x4, [core.bool]),
  withFlagZ: dart.fnType(typed_data.Int32x4, [core.bool]),
  withFlagW: dart.fnType(typed_data.Int32x4, [core.bool]),
  select: dart.fnType(typed_data.Float32x4, [typed_data.Float32x4, typed_data.Float32x4])
}));
dart.setGetterSignature(_native_typed_data.NativeInt32x4, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeInt32x4.__proto__),
  signMask: core.int,
  flagX: core.bool,
  flagY: core.bool,
  flagZ: core.bool,
  flagW: core.bool
}));
dart.setLibraryUri(_native_typed_data.NativeInt32x4, I[60]);
dart.setFieldSignature(_native_typed_data.NativeInt32x4, () => ({
  __proto__: dart.getFields(_native_typed_data.NativeInt32x4.__proto__),
  x: dart.finalFieldType(core.int),
  y: dart.finalFieldType(core.int),
  z: dart.finalFieldType(core.int),
  w: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(_native_typed_data.NativeInt32x4, ['toString']);
dart.defineLazy(_native_typed_data.NativeInt32x4, {
  /*_native_typed_data.NativeInt32x4._list*/get _list() {
    return _native_typed_data.NativeInt32List.new(4);
  }
}, false);
var x$1 = dart.privateName(_native_typed_data, "NativeFloat64x2.x");
var y$1 = dart.privateName(_native_typed_data, "NativeFloat64x2.y");
_native_typed_data.NativeFloat64x2 = class NativeFloat64x2 extends core.Object {
  get x() {
    return this[x$1];
  }
  set x(value) {
    super.x = value;
  }
  get y() {
    return this[y$1];
  }
  set y(value) {
    super.y = value;
  }
  toString() {
    return "[" + dart.str(this.x) + ", " + dart.str(this.y) + "]";
  }
  ['+'](other) {
    if (other == null) dart.nullFailed(I[59], 1695, 34, "other");
    return new _native_typed_data.NativeFloat64x2._doubles(dart.notNull(this.x) + dart.notNull(other.x), dart.notNull(this.y) + dart.notNull(other.y));
  }
  _negate() {
    return new _native_typed_data.NativeFloat64x2._doubles(-dart.notNull(this.x), -dart.notNull(this.y));
  }
  ['-'](other) {
    if (other == null) dart.nullFailed(I[59], 1705, 34, "other");
    return new _native_typed_data.NativeFloat64x2._doubles(dart.notNull(this.x) - dart.notNull(other.x), dart.notNull(this.y) - dart.notNull(other.y));
  }
  ['*'](other) {
    if (other == null) dart.nullFailed(I[59], 1710, 34, "other");
    return new _native_typed_data.NativeFloat64x2._doubles(dart.notNull(this.x) * dart.notNull(other.x), dart.notNull(this.y) * dart.notNull(other.y));
  }
  ['/'](other) {
    if (other == null) dart.nullFailed(I[59], 1715, 34, "other");
    return new _native_typed_data.NativeFloat64x2._doubles(dart.notNull(this.x) / dart.notNull(other.x), dart.notNull(this.y) / dart.notNull(other.y));
  }
  scale(s) {
    if (s == null) dart.nullFailed(I[59], 1720, 26, "s");
    return new _native_typed_data.NativeFloat64x2._doubles(dart.notNull(this.x) * dart.notNull(s), dart.notNull(this.y) * dart.notNull(s));
  }
  abs() {
    return new _native_typed_data.NativeFloat64x2._doubles(this.x[$abs](), this.y[$abs]());
  }
  clamp(lowerLimit, upperLimit) {
    if (lowerLimit == null) dart.nullFailed(I[59], 1730, 29, "lowerLimit");
    if (upperLimit == null) dart.nullFailed(I[59], 1730, 51, "upperLimit");
    let _lx = lowerLimit.x;
    let _ly = lowerLimit.y;
    let _ux = upperLimit.x;
    let _uy = upperLimit.y;
    let _x = this.x;
    let _y = this.y;
    _x = dart.notNull(_x) > dart.notNull(_ux) ? _ux : _x;
    _y = dart.notNull(_y) > dart.notNull(_uy) ? _uy : _y;
    _x = dart.notNull(_x) < dart.notNull(_lx) ? _lx : _x;
    _y = dart.notNull(_y) < dart.notNull(_ly) ? _ly : _y;
    return new _native_typed_data.NativeFloat64x2._doubles(_x, _y);
  }
  get signMask() {
    let view = _native_typed_data.NativeFloat64x2._uint32View;
    _native_typed_data.NativeFloat64x2._list[$_set](0, this.x);
    _native_typed_data.NativeFloat64x2._list[$_set](1, this.y);
    let mx = (dart.notNull(view[$_get](1)) & 2147483648) >>> 31;
    let my = (dart.notNull(view[$_get](3)) & 2147483648) >>> 31;
    return (mx | my << 1 >>> 0) >>> 0;
  }
  withX(x) {
    if (x == null) dart.nullFailed(I[59], 1756, 26, "x");
    if (!(typeof x == 'number')) dart.throw(new core.ArgumentError.new(x));
    return new _native_typed_data.NativeFloat64x2._doubles(x, this.y);
  }
  withY(y) {
    if (y == null) dart.nullFailed(I[59], 1762, 26, "y");
    if (!(typeof y == 'number')) dart.throw(new core.ArgumentError.new(y));
    return new _native_typed_data.NativeFloat64x2._doubles(this.x, y);
  }
  min(other) {
    if (other == null) dart.nullFailed(I[59], 1768, 27, "other");
    return new _native_typed_data.NativeFloat64x2._doubles(dart.notNull(this.x) < dart.notNull(other.x) ? this.x : other.x, dart.notNull(this.y) < dart.notNull(other.y) ? this.y : other.y);
  }
  max(other) {
    if (other == null) dart.nullFailed(I[59], 1774, 27, "other");
    return new _native_typed_data.NativeFloat64x2._doubles(dart.notNull(this.x) > dart.notNull(other.x) ? this.x : other.x, dart.notNull(this.y) > dart.notNull(other.y) ? this.y : other.y);
  }
  sqrt() {
    return new _native_typed_data.NativeFloat64x2._doubles(math.sqrt(this.x), math.sqrt(this.y));
  }
};
(_native_typed_data.NativeFloat64x2.new = function(x, y) {
  if (x == null) dart.nullFailed(I[59], 1678, 24, "x");
  if (y == null) dart.nullFailed(I[59], 1678, 32, "y");
  this[x$1] = x;
  this[y$1] = y;
  if (!(typeof this.x == 'number')) dart.throw(new core.ArgumentError.new(this.x));
  if (!(typeof this.y == 'number')) dart.throw(new core.ArgumentError.new(this.y));
}).prototype = _native_typed_data.NativeFloat64x2.prototype;
(_native_typed_data.NativeFloat64x2.splat = function(v) {
  if (v == null) dart.nullFailed(I[59], 1683, 32, "v");
  _native_typed_data.NativeFloat64x2.new.call(this, v, v);
}).prototype = _native_typed_data.NativeFloat64x2.prototype;
(_native_typed_data.NativeFloat64x2.zero = function() {
  _native_typed_data.NativeFloat64x2.splat.call(this, 0.0);
}).prototype = _native_typed_data.NativeFloat64x2.prototype;
(_native_typed_data.NativeFloat64x2.fromFloat32x4 = function(v) {
  if (v == null) dart.nullFailed(I[59], 1687, 43, "v");
  _native_typed_data.NativeFloat64x2.new.call(this, v.x, v.y);
}).prototype = _native_typed_data.NativeFloat64x2.prototype;
(_native_typed_data.NativeFloat64x2._doubles = function(x, y) {
  if (x == null) dart.nullFailed(I[59], 1690, 33, "x");
  if (y == null) dart.nullFailed(I[59], 1690, 41, "y");
  this[x$1] = x;
  this[y$1] = y;
  ;
}).prototype = _native_typed_data.NativeFloat64x2.prototype;
dart.addTypeTests(_native_typed_data.NativeFloat64x2);
dart.addTypeCaches(_native_typed_data.NativeFloat64x2);
_native_typed_data.NativeFloat64x2[dart.implements] = () => [typed_data.Float64x2];
dart.setMethodSignature(_native_typed_data.NativeFloat64x2, () => ({
  __proto__: dart.getMethods(_native_typed_data.NativeFloat64x2.__proto__),
  '+': dart.fnType(typed_data.Float64x2, [typed_data.Float64x2]),
  _negate: dart.fnType(typed_data.Float64x2, []),
  '-': dart.fnType(typed_data.Float64x2, [typed_data.Float64x2]),
  '*': dart.fnType(typed_data.Float64x2, [typed_data.Float64x2]),
  '/': dart.fnType(typed_data.Float64x2, [typed_data.Float64x2]),
  scale: dart.fnType(typed_data.Float64x2, [core.double]),
  abs: dart.fnType(typed_data.Float64x2, []),
  clamp: dart.fnType(typed_data.Float64x2, [typed_data.Float64x2, typed_data.Float64x2]),
  withX: dart.fnType(typed_data.Float64x2, [core.double]),
  withY: dart.fnType(typed_data.Float64x2, [core.double]),
  min: dart.fnType(typed_data.Float64x2, [typed_data.Float64x2]),
  max: dart.fnType(typed_data.Float64x2, [typed_data.Float64x2]),
  sqrt: dart.fnType(typed_data.Float64x2, [])
}));
dart.setGetterSignature(_native_typed_data.NativeFloat64x2, () => ({
  __proto__: dart.getGetters(_native_typed_data.NativeFloat64x2.__proto__),
  signMask: core.int
}));
dart.setLibraryUri(_native_typed_data.NativeFloat64x2, I[60]);
dart.setFieldSignature(_native_typed_data.NativeFloat64x2, () => ({
  __proto__: dart.getFields(_native_typed_data.NativeFloat64x2.__proto__),
  x: dart.finalFieldType(core.double),
  y: dart.finalFieldType(core.double)
}));
dart.defineExtensionMethods(_native_typed_data.NativeFloat64x2, ['toString']);
dart.defineLazy(_native_typed_data.NativeFloat64x2, {
  /*_native_typed_data.NativeFloat64x2._list*/get _list() {
    return _native_typed_data.NativeFloat64List.new(2);
  },
  set _list(_) {},
  /*_native_typed_data.NativeFloat64x2._uint32View*/get _uint32View() {
    return _native_typed_data.NativeFloat64x2._list.buffer[$asUint32List]();
  },
  set _uint32View(_) {}
}, false);
_native_typed_data._checkLength = function _checkLength(length) {
  if (!core.int.is(length)) dart.throw(new core.ArgumentError.new("Invalid length " + dart.str(length)));
  return length;
};
_native_typed_data._checkViewArguments = function _checkViewArguments(buffer, offsetInBytes, length) {
  if (!_native_typed_data.NativeByteBuffer.is(buffer)) {
    dart.throw(new core.ArgumentError.new("Invalid view buffer"));
  }
  if (!core.int.is(offsetInBytes)) {
    dart.throw(new core.ArgumentError.new("Invalid view offsetInBytes " + dart.str(offsetInBytes)));
  }
  if (!T$.intN().is(length)) {
    dart.throw(new core.ArgumentError.new("Invalid view length " + dart.str(length)));
  }
};
_native_typed_data._ensureNativeList = function _ensureNativeList(list) {
  if (list == null) dart.nullFailed(I[59], 373, 29, "list");
  if (_interceptors.JSIndexable.is(list)) return list;
  let result = core.List.filled(list[$length], null);
  for (let i = 0; i < dart.notNull(list[$length]); i = i + 1) {
    result[$_set](i, list[$_get](i));
  }
  return result;
};
_native_typed_data._isInvalidArrayIndex = function _isInvalidArrayIndex(index) {
  if (index == null) dart.nullFailed(I[59], 1787, 31, "index");
  return index >>> 0 !== index;
};
_native_typed_data._checkValidIndex = function _checkValidIndex(index, list, length) {
  if (index == null) dart.nullFailed(I[59], 1794, 27, "index");
  if (list == null) dart.nullFailed(I[59], 1794, 39, "list");
  if (length == null) dart.nullFailed(I[59], 1794, 49, "length");
  if (dart.test(_native_typed_data._isInvalidArrayIndex(index)) || index >= dart.notNull(length)) {
    dart.throw(_js_helper.diagnoseIndexError(list, index));
  }
};
_native_typed_data._checkValidRange = function _checkValidRange(start, end, length) {
  if (start == null) dart.nullFailed(I[59], 1807, 26, "start");
  if (length == null) dart.nullFailed(I[59], 1807, 47, "length");
  if (dart.test(_native_typed_data._isInvalidArrayIndex(start)) || (end == null ? dart.notNull(start) > dart.notNull(length) : dart.test(_native_typed_data._isInvalidArrayIndex(end)) || dart.notNull(start) > dart.notNull(end) || dart.notNull(end) > dart.notNull(length))) {
    dart.throw(_js_helper.diagnoseRangeError(start, end, length));
  }
  if (end == null) return length;
  return end;
};
var ___AsyncStarImpl_controller = dart.privateName(async, "_#_AsyncStarImpl#controller");
var ___AsyncStarImpl_controller_isSet = dart.privateName(async, "_#_AsyncStarImpl#controller#isSet");
var ___AsyncStarImpl_jsIterator = dart.privateName(async, "_#_AsyncStarImpl#jsIterator");
var ___AsyncStarImpl_jsIterator_isSet = dart.privateName(async, "_#_AsyncStarImpl#jsIterator#isSet");
var _handleErrorCallback = dart.privateName(async, "_handleErrorCallback");
var _runBodyCallback = dart.privateName(async, "_runBodyCallback");
var _chainForeignFuture = dart.privateName(async, "_chainForeignFuture");
var _thenAwait = dart.privateName(async, "_thenAwait");
var _fatal = dart.privateName(async, "_fatal");
const _is__AsyncStarImpl_default = Symbol('_is__AsyncStarImpl_default');
async._AsyncStarImpl$ = dart.generic(T => {
  var __t$StreamControllerOfT = () => (__t$StreamControllerOfT = dart.constFn(async.StreamController$(T)))();
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  class _AsyncStarImpl extends core.Object {
    get controller() {
      let t82;
      return dart.test(this[___AsyncStarImpl_controller_isSet]) ? (t82 = this[___AsyncStarImpl_controller], t82) : dart.throw(new _internal.LateError.fieldNI("controller"));
    }
    set controller(t82) {
      __t$StreamControllerOfT().as(t82);
      if (t82 == null) dart.nullFailed(I[62], 229, 28, "null");
      this[___AsyncStarImpl_controller_isSet] = true;
      this[___AsyncStarImpl_controller] = t82;
    }
    get jsIterator() {
      let t83;
      return dart.test(this[___AsyncStarImpl_jsIterator_isSet]) ? (t83 = this[___AsyncStarImpl_jsIterator], t83) : dart.throw(new _internal.LateError.fieldNI("jsIterator"));
    }
    set jsIterator(t83) {
      if (t83 == null) dart.nullFailed(I[62], 245, 15, "null");
      this[___AsyncStarImpl_jsIterator_isSet] = true;
      this[___AsyncStarImpl_jsIterator] = t83;
    }
    get stream() {
      return this.controller.stream;
    }
    get handleError() {
      if (this[_handleErrorCallback] == null) {
        this[_handleErrorCallback] = dart.fn((error, stackTrace) => {
          if (error == null) dart.nullFailed(I[62], 282, 31, "error");
          if (stackTrace == null) dart.nullFailed(I[62], 282, 49, "stackTrace");
          try {
            this.jsIterator.throw(dart.createErrorWithStack(error, stackTrace));
          } catch (e$) {
            let e = dart.getThrown(e$);
            let newStack = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              this.addError(e, newStack);
            } else
              throw e$;
          }
        }, T$.ObjectAndStackTraceToNull());
        let zone = async.Zone.current;
        if (zone != async.Zone.root) {
          this[_handleErrorCallback] = zone.bindBinaryCallback(core.Null, core.Object, core.StackTrace, dart.nullCheck(this[_handleErrorCallback]));
        }
      }
      return dart.nullCheck(this[_handleErrorCallback]);
    }
    scheduleGenerator() {
      if (this.isScheduled || dart.test(this.controller.isPaused) || this.isSuspendedAtYieldStar) {
        return;
      }
      this.isScheduled = true;
      let zone = async.Zone.current;
      if (this[_runBodyCallback] == null) {
        this[_runBodyCallback] = this.runBody.bind(this);
        if (zone != async.Zone.root) {
          let registered = zone.registerUnaryCallback(dart.void, T$.ObjectN(), dart.nullCheck(this[_runBodyCallback]));
          this[_runBodyCallback] = dart.fn((arg = null) => zone.runUnaryGuarded(T$.ObjectN(), registered, arg), T$.ObjectNTovoid$1());
        }
      }
      zone.scheduleMicrotask(dart.nullCheck(this[_runBodyCallback]));
    }
    runBody(awaitValue) {
      this.isScheduled = false;
      this.isSuspendedAtYield = false;
      this.isSuspendedAtAwait = false;
      let iterResult = null;
      try {
        iterResult = this.jsIterator.next(awaitValue);
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          this.addError(e, s);
          return;
        } else
          throw e$;
      }
      if (iterResult.done) {
        this.close();
        return;
      }
      if (this.isSuspendedAtYield || this.isSuspendedAtYieldStar) return;
      this.isSuspendedAtAwait = true;
      let value = iterResult.value;
      let f = null;
      if (async._Future.is(value)) {
        f = value;
      } else if (async.Future.is(value)) {
        f = new (T$._FutureOfObjectN()).new();
        f[_chainForeignFuture](value);
      } else {
        f = new (T$._FutureOfObjectN()).value(value);
      }
      f[_thenAwait](dart.void, dart.nullCheck(this[_runBodyCallback]), this.handleError);
    }
    add(event) {
      T.as(event);
      if (!this.onListenReceived) this[_fatal]("yield before stream is listened to");
      if (this.isSuspendedAtYield) this[_fatal]("unexpected yield");
      if (!dart.test(this.controller.hasListener)) {
        return true;
      }
      this.controller.add(event);
      this.scheduleGenerator();
      this.isSuspendedAtYield = true;
      return false;
    }
    addStream(stream) {
      __t$StreamOfT().as(stream);
      if (stream == null) dart.nullFailed(I[62], 402, 28, "stream");
      if (!this.onListenReceived) this[_fatal]("yield* before stream is listened to");
      if (!dart.test(this.controller.hasListener)) return true;
      this.isSuspendedAtYieldStar = true;
      let whenDoneAdding = this.controller.addStream(stream, {cancelOnError: false});
      whenDoneAdding.then(core.Null, dart.fn(_ => {
        this.isSuspendedAtYieldStar = false;
        this.scheduleGenerator();
        if (!this.isScheduled) this.isSuspendedAtYield = true;
      }, T$.dynamicToNull()), {onError: this.handleError});
      return false;
    }
    addError(error, stackTrace) {
      if (error == null) dart.nullFailed(I[62], 416, 24, "error");
      if (stackTrace == null) dart.nullFailed(I[62], 416, 42, "stackTrace");
      core.ArgumentError.checkNotNull(core.Object, error, "error");
      let completer = this.cancellationCompleter;
      if (completer != null && !dart.test(completer.isCompleted)) {
        completer.completeError(error, stackTrace);
      } else if (dart.test(this.controller.hasListener)) {
        this.controller.addError(error, stackTrace);
      }
      this.close();
    }
    close() {
      let completer = this.cancellationCompleter;
      if (completer != null && !dart.test(completer.isCompleted)) {
        completer.complete();
      }
      this.controller.close();
    }
    onListen() {
      if (!!this.onListenReceived) dart.assertFailed(null, I[62], 444, 12, "!onListenReceived");
      this.onListenReceived = true;
      this.scheduleGenerator();
    }
    onResume() {
      if (this.isSuspendedAtYield) {
        this.scheduleGenerator();
      }
    }
    onCancel() {
      if (dart.test(this.controller.isClosed)) {
        return null;
      }
      if (this.cancellationCompleter == null) {
        this.cancellationCompleter = async.Completer.new();
        if (this.isSuspendedAtYield) {
          this.scheduleGenerator();
        }
      }
      return dart.nullCheck(this.cancellationCompleter).future;
    }
    [_fatal](message) {
      if (message == null) dart.nullFailed(I[62], 471, 17, "message");
      return dart.throw(new core.StateError.new(message));
    }
  }
  (_AsyncStarImpl.new = function(initGenerator) {
    if (initGenerator == null) dart.nullFailed(I[62], 250, 23, "initGenerator");
    this[___AsyncStarImpl_controller] = null;
    this[___AsyncStarImpl_controller_isSet] = false;
    this.isSuspendedAtYieldStar = false;
    this.onListenReceived = false;
    this.isScheduled = false;
    this.isSuspendedAtYield = false;
    this.isSuspendedAtAwait = false;
    this.cancellationCompleter = null;
    this[___AsyncStarImpl_jsIterator] = null;
    this[___AsyncStarImpl_jsIterator_isSet] = false;
    this[_handleErrorCallback] = null;
    this[_runBodyCallback] = null;
    this.initGenerator = initGenerator;
    this.controller = __t$StreamControllerOfT().new({onListen: this.onListen.bind(this), onResume: this.onResume.bind(this), onCancel: this.onCancel.bind(this)});
    this.jsIterator = this.initGenerator(this)[Symbol.iterator]();
  }).prototype = _AsyncStarImpl.prototype;
  dart.addTypeTests(_AsyncStarImpl);
  _AsyncStarImpl.prototype[_is__AsyncStarImpl_default] = true;
  dart.addTypeCaches(_AsyncStarImpl);
  dart.setMethodSignature(_AsyncStarImpl, () => ({
    __proto__: dart.getMethods(_AsyncStarImpl.__proto__),
    scheduleGenerator: dart.fnType(dart.void, []),
    runBody: dart.fnType(dart.void, [dart.dynamic]),
    add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    addStream: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    close: dart.fnType(dart.void, []),
    onListen: dart.fnType(dart.dynamic, []),
    onResume: dart.fnType(dart.dynamic, []),
    onCancel: dart.fnType(dart.dynamic, []),
    [_fatal]: dart.fnType(dart.dynamic, [core.String])
  }));
  dart.setGetterSignature(_AsyncStarImpl, () => ({
    __proto__: dart.getGetters(_AsyncStarImpl.__proto__),
    controller: async.StreamController$(T),
    jsIterator: core.Object,
    stream: async.Stream$(T),
    handleError: dart.fnType(core.Null, [core.Object, core.StackTrace])
  }));
  dart.setSetterSignature(_AsyncStarImpl, () => ({
    __proto__: dart.getSetters(_AsyncStarImpl.__proto__),
    controller: dart.nullable(core.Object),
    jsIterator: core.Object
  }));
  dart.setLibraryUri(_AsyncStarImpl, I[30]);
  dart.setFieldSignature(_AsyncStarImpl, () => ({
    __proto__: dart.getFields(_AsyncStarImpl.__proto__),
    [___AsyncStarImpl_controller]: dart.fieldType(dart.nullable(async.StreamController$(T))),
    [___AsyncStarImpl_controller_isSet]: dart.fieldType(core.bool),
    initGenerator: dart.fieldType(dart.fnType(core.Object, [async._AsyncStarImpl$(T)])),
    isSuspendedAtYieldStar: dart.fieldType(core.bool),
    onListenReceived: dart.fieldType(core.bool),
    isScheduled: dart.fieldType(core.bool),
    isSuspendedAtYield: dart.fieldType(core.bool),
    isSuspendedAtAwait: dart.fieldType(core.bool),
    cancellationCompleter: dart.fieldType(dart.nullable(async.Completer)),
    [___AsyncStarImpl_jsIterator]: dart.fieldType(dart.nullable(core.Object)),
    [___AsyncStarImpl_jsIterator_isSet]: dart.fieldType(core.bool),
    [_handleErrorCallback]: dart.fieldType(dart.nullable(dart.fnType(core.Null, [core.Object, core.StackTrace]))),
    [_runBodyCallback]: dart.fieldType(dart.nullable(dart.fnType(dart.void, [], [dart.nullable(core.Object)])))
  }));
  return _AsyncStarImpl;
});
async._AsyncStarImpl = async._AsyncStarImpl$();
dart.addTypeTests(async._AsyncStarImpl, _is__AsyncStarImpl_default);
var error$ = dart.privateName(async, "AsyncError.error");
var stackTrace$ = dart.privateName(async, "AsyncError.stackTrace");
async.AsyncError = class AsyncError extends core.Object {
  get error() {
    return this[error$];
  }
  set error(value) {
    super.error = value;
  }
  get stackTrace() {
    return this[stackTrace$];
  }
  set stackTrace(value) {
    super.stackTrace = value;
  }
  static defaultStackTrace(error) {
    if (error == null) dart.nullFailed(I[63], 24, 46, "error");
    if (core.Error.is(error)) {
      let stackTrace = error[$stackTrace];
      if (stackTrace != null) return stackTrace;
    }
    return core.StackTrace.empty;
  }
  toString() {
    return dart.str(this.error);
  }
};
(async.AsyncError.new = function(error, stackTrace) {
  let t86;
  if (error == null) dart.nullFailed(I[63], 15, 21, "error");
  this[error$] = _internal.checkNotNullable(core.Object, error, "error");
  this[stackTrace$] = (t86 = stackTrace, t86 == null ? async.AsyncError.defaultStackTrace(error) : t86);
  ;
}).prototype = async.AsyncError.prototype;
dart.addTypeTests(async.AsyncError);
dart.addTypeCaches(async.AsyncError);
async.AsyncError[dart.implements] = () => [core.Error];
dart.setLibraryUri(async.AsyncError, I[30]);
dart.setFieldSignature(async.AsyncError, () => ({
  __proto__: dart.getFields(async.AsyncError.__proto__),
  error: dart.finalFieldType(core.Object),
  stackTrace: dart.finalFieldType(core.StackTrace)
}));
dart.defineExtensionMethods(async.AsyncError, ['toString']);
dart.defineExtensionAccessors(async.AsyncError, ['stackTrace']);
var _controller$ = dart.privateName(async, "_controller");
var _subscribe = dart.privateName(async, "_subscribe");
var _createSubscription = dart.privateName(async, "_createSubscription");
var _onListen$ = dart.privateName(async, "_onListen");
const _is__StreamImpl_default = Symbol('_is__StreamImpl_default');
async._StreamImpl$ = dart.generic(T => {
  var __t$_BufferingStreamSubscriptionOfT = () => (__t$_BufferingStreamSubscriptionOfT = dart.constFn(async._BufferingStreamSubscription$(T)))();
  class _StreamImpl extends async.Stream$(T) {
    listen(onData, opts) {
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      cancelOnError == null ? cancelOnError = false : null;
      let subscription = this[_createSubscription](onData, onError, onDone, cancelOnError);
      this[_onListen$](subscription);
      return subscription;
    }
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[66], 481, 47, "cancelOnError");
      return new (__t$_BufferingStreamSubscriptionOfT()).new(onData, onError, onDone, cancelOnError);
    }
    [_onListen$](subscription) {
      if (subscription == null) dart.nullFailed(I[66], 487, 37, "subscription");
    }
  }
  (_StreamImpl.new = function() {
    _StreamImpl.__proto__.new.call(this);
    ;
  }).prototype = _StreamImpl.prototype;
  dart.addTypeTests(_StreamImpl);
  _StreamImpl.prototype[_is__StreamImpl_default] = true;
  dart.addTypeCaches(_StreamImpl);
  dart.setMethodSignature(_StreamImpl, () => ({
    __proto__: dart.getMethods(_StreamImpl.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
    [_createSubscription]: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T])), dart.nullable(core.Function), dart.nullable(dart.fnType(dart.void, [])), core.bool]),
    [_onListen$]: dart.fnType(dart.void, [async.StreamSubscription])
  }));
  dart.setLibraryUri(_StreamImpl, I[30]);
  return _StreamImpl;
});
async._StreamImpl = async._StreamImpl$();
dart.addTypeTests(async._StreamImpl, _is__StreamImpl_default);
const _is__ControllerStream_default = Symbol('_is__ControllerStream_default');
async._ControllerStream$ = dart.generic(T => {
  class _ControllerStream extends async._StreamImpl$(T) {
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[65], 785, 51, "cancelOnError");
      return this[_controller$][_subscribe](onData, onError, onDone, cancelOnError);
    }
    get hashCode() {
      return (dart.notNull(dart.hashCode(this[_controller$])) ^ 892482866) >>> 0;
    }
    _equals(other) {
      if (other == null) return false;
      if (this === other) return true;
      return async._ControllerStream.is(other) && other[_controller$] == this[_controller$];
    }
  }
  (_ControllerStream.new = function(_controller) {
    if (_controller == null) dart.nullFailed(I[65], 782, 26, "_controller");
    this[_controller$] = _controller;
    _ControllerStream.__proto__.new.call(this);
    ;
  }).prototype = _ControllerStream.prototype;
  dart.addTypeTests(_ControllerStream);
  _ControllerStream.prototype[_is__ControllerStream_default] = true;
  dart.addTypeCaches(_ControllerStream);
  dart.setLibraryUri(_ControllerStream, I[30]);
  dart.setFieldSignature(_ControllerStream, () => ({
    __proto__: dart.getFields(_ControllerStream.__proto__),
    [_controller$]: dart.fieldType(async._StreamControllerLifecycle$(T))
  }));
  dart.defineExtensionMethods(_ControllerStream, ['_equals']);
  dart.defineExtensionAccessors(_ControllerStream, ['hashCode']);
  return _ControllerStream;
});
async._ControllerStream = async._ControllerStream$();
dart.addTypeTests(async._ControllerStream, _is__ControllerStream_default);
const _is__BroadcastStream_default = Symbol('_is__BroadcastStream_default');
async._BroadcastStream$ = dart.generic(T => {
  class _BroadcastStream extends async._ControllerStream$(T) {
    get isBroadcast() {
      return true;
    }
  }
  (_BroadcastStream.new = function(controller) {
    if (controller == null) dart.nullFailed(I[64], 8, 50, "controller");
    _BroadcastStream.__proto__.new.call(this, controller);
    ;
  }).prototype = _BroadcastStream.prototype;
  dart.addTypeTests(_BroadcastStream);
  _BroadcastStream.prototype[_is__BroadcastStream_default] = true;
  dart.addTypeCaches(_BroadcastStream);
  dart.setLibraryUri(_BroadcastStream, I[30]);
  return _BroadcastStream;
});
async._BroadcastStream = async._BroadcastStream$();
dart.addTypeTests(async._BroadcastStream, _is__BroadcastStream_default);
var _next$0 = dart.privateName(async, "_BroadcastSubscription._next");
var _previous$0 = dart.privateName(async, "_BroadcastSubscription._previous");
var _eventState = dart.privateName(async, "_eventState");
var _next$1 = dart.privateName(async, "_next");
var _previous$1 = dart.privateName(async, "_previous");
var _expectsEvent = dart.privateName(async, "_expectsEvent");
var _toggleEventId = dart.privateName(async, "_toggleEventId");
var _isFiring = dart.privateName(async, "_isFiring");
var _setRemoveAfterFiring = dart.privateName(async, "_setRemoveAfterFiring");
var _removeAfterFiring = dart.privateName(async, "_removeAfterFiring");
var _onPause = dart.privateName(async, "_onPause");
var _onResume = dart.privateName(async, "_onResume");
var _recordCancel = dart.privateName(async, "_recordCancel");
var _onCancel = dart.privateName(async, "_onCancel");
var _recordPause = dart.privateName(async, "_recordPause");
var _recordResume = dart.privateName(async, "_recordResume");
var _cancelFuture = dart.privateName(async, "_cancelFuture");
var _pending$ = dart.privateName(async, "_pending");
var _zone$ = dart.privateName(async, "_zone");
var _state = dart.privateName(async, "_state");
var _onData$ = dart.privateName(async, "_onData");
var _onError$ = dart.privateName(async, "_onError");
var _onDone$ = dart.privateName(async, "_onDone");
var _setPendingEvents = dart.privateName(async, "_setPendingEvents");
var _isCanceled = dart.privateName(async, "_isCanceled");
var _isPaused = dart.privateName(async, "_isPaused");
var _isInputPaused = dart.privateName(async, "_isInputPaused");
var _inCallback = dart.privateName(async, "_inCallback");
var _guardCallback = dart.privateName(async, "_guardCallback");
var _decrementPauseCount = dart.privateName(async, "_decrementPauseCount");
var _hasPending = dart.privateName(async, "_hasPending");
var _mayResumeInput = dart.privateName(async, "_mayResumeInput");
var _cancel = dart.privateName(async, "_cancel");
var _isClosed = dart.privateName(async, "_isClosed");
var _waitsForCancel = dart.privateName(async, "_waitsForCancel");
var _canFire = dart.privateName(async, "_canFire");
var _cancelOnError = dart.privateName(async, "_cancelOnError");
var _sendData = dart.privateName(async, "_sendData");
var _addPending = dart.privateName(async, "_addPending");
var _sendError = dart.privateName(async, "_sendError");
var _sendDone = dart.privateName(async, "_sendDone");
var _close = dart.privateName(async, "_close");
var _checkState = dart.privateName(async, "_checkState");
const _is__BufferingStreamSubscription_default = Symbol('_is__BufferingStreamSubscription_default');
async._BufferingStreamSubscription$ = dart.generic(T => {
  var __t$_PendingEventsOfT = () => (__t$_PendingEventsOfT = dart.constFn(async._PendingEvents$(T)))();
  var __t$_PendingEventsNOfT = () => (__t$_PendingEventsNOfT = dart.constFn(dart.nullable(__t$_PendingEventsOfT())))();
  var __t$_DelayedDataOfT = () => (__t$_DelayedDataOfT = dart.constFn(async._DelayedData$(T)))();
  var __t$_StreamImplEventsOfT = () => (__t$_StreamImplEventsOfT = dart.constFn(async._StreamImplEvents$(T)))();
  var __t$_StreamImplEventsNOfT = () => (__t$_StreamImplEventsNOfT = dart.constFn(dart.nullable(__t$_StreamImplEventsOfT())))();
  class _BufferingStreamSubscription extends core.Object {
    [_setPendingEvents](pendingEvents) {
      __t$_PendingEventsNOfT().as(pendingEvents);
      if (!(this[_pending$] == null)) dart.assertFailed(null, I[66], 117, 12, "_pending == null");
      if (pendingEvents == null) return;
      this[_pending$] = pendingEvents;
      if (!dart.test(pendingEvents.isEmpty)) {
        this[_state] = (dart.notNull(this[_state]) | 64) >>> 0;
        pendingEvents.schedule(this);
      }
    }
    onData(handleData) {
      this[_onData$] = async._BufferingStreamSubscription._registerDataHandler(T, this[_zone$], handleData);
    }
    static _registerDataHandler(T, zone, handleData) {
      let t86;
      if (zone == null) dart.nullFailed(I[66], 133, 12, "zone");
      return zone.registerUnaryCallback(dart.void, T, (t86 = handleData, t86 == null ? C[38] || CT.C38 : t86));
    }
    onError(handleError) {
      this[_onError$] = async._BufferingStreamSubscription._registerErrorHandler(this[_zone$], handleError);
    }
    static _registerErrorHandler(zone, handleError) {
      if (zone == null) dart.nullFailed(I[66], 141, 46, "zone");
      handleError == null ? handleError = C[39] || CT.C39 : null;
      if (T$.ObjectAndStackTraceTovoid().is(handleError)) {
        return zone.registerBinaryCallback(dart.dynamic, core.Object, core.StackTrace, handleError);
      }
      if (T$.ObjectTovoid().is(handleError)) {
        return zone.registerUnaryCallback(dart.dynamic, core.Object, handleError);
      }
      dart.throw(new core.ArgumentError.new("handleError callback must take either an Object " + "(the error), or both an Object (the error) and a StackTrace."));
    }
    onDone(handleDone) {
      this[_onDone$] = async._BufferingStreamSubscription._registerDoneHandler(this[_zone$], handleDone);
    }
    static _registerDoneHandler(zone, handleDone) {
      let t86;
      if (zone == null) dart.nullFailed(I[66], 160, 12, "zone");
      return zone.registerCallback(dart.void, (t86 = handleDone, t86 == null ? C[40] || CT.C40 : t86));
    }
    pause(resumeSignal = null) {
      let t86, t86$;
      if (dart.test(this[_isCanceled])) return;
      let wasPaused = this[_isPaused];
      let wasInputPaused = this[_isInputPaused];
      this[_state] = (dart.notNull(this[_state]) + 128 | 4) >>> 0;
      t86 = resumeSignal;
      t86 == null ? null : t86.whenComplete(dart.bind(this, 'resume'));
      if (!dart.test(wasPaused)) {
        t86$ = this[_pending$];
        t86$ == null ? null : t86$.cancelSchedule();
      }
      if (!dart.test(wasInputPaused) && !dart.test(this[_inCallback])) this[_guardCallback](dart.bind(this, _onPause));
    }
    resume() {
      if (dart.test(this[_isCanceled])) return;
      if (dart.test(this[_isPaused])) {
        this[_decrementPauseCount]();
        if (!dart.test(this[_isPaused])) {
          if (dart.test(this[_hasPending]) && !dart.test(dart.nullCheck(this[_pending$]).isEmpty)) {
            dart.nullCheck(this[_pending$]).schedule(this);
          } else {
            if (!dart.test(this[_mayResumeInput])) dart.assertFailed(null, I[66], 184, 18, "_mayResumeInput");
            this[_state] = (dart.notNull(this[_state]) & ~4 >>> 0) >>> 0;
            if (!dart.test(this[_inCallback])) this[_guardCallback](dart.bind(this, _onResume));
          }
        }
      }
    }
    cancel() {
      let t86;
      this[_state] = (dart.notNull(this[_state]) & ~16 >>> 0) >>> 0;
      if (!dart.test(this[_isCanceled])) {
        this[_cancel]();
      }
      t86 = this[_cancelFuture];
      return t86 == null ? async.Future._nullFuture : t86;
    }
    asFuture(E, futureValue = null) {
      let resultValue = null;
      if (futureValue == null) {
        if (!dart.test(_internal.typeAcceptsNull(E))) {
          dart.throw(new core.ArgumentError.notNull("futureValue"));
        }
        resultValue = E.as(futureValue);
      } else {
        resultValue = futureValue;
      }
      let result = new (async._Future$(E)).new();
      this[_onDone$] = dart.fn(() => {
        result[_complete](resultValue);
      }, T$.VoidTovoid());
      this[_onError$] = dart.fn((error, stackTrace) => {
        if (error == null) dart.nullFailed(I[66], 218, 24, "error");
        if (stackTrace == null) dart.nullFailed(I[66], 218, 42, "stackTrace");
        let cancelFuture = this.cancel();
        if (cancelFuture != async.Future._nullFuture) {
          cancelFuture.whenComplete(dart.fn(() => {
            result[_completeError](error, stackTrace);
          }, T$.VoidToNull()));
        } else {
          result[_completeError](error, stackTrace);
        }
      }, T$.ObjectAndStackTraceToNull());
      return result;
    }
    get [_isInputPaused]() {
      return (dart.notNull(this[_state]) & 4) !== 0;
    }
    get [_isClosed]() {
      return (dart.notNull(this[_state]) & 2) !== 0;
    }
    get [_isCanceled]() {
      return (dart.notNull(this[_state]) & 8) !== 0;
    }
    get [_waitsForCancel]() {
      return (dart.notNull(this[_state]) & 16) !== 0;
    }
    get [_inCallback]() {
      return (dart.notNull(this[_state]) & 32) !== 0;
    }
    get [_hasPending]() {
      return (dart.notNull(this[_state]) & 64) !== 0;
    }
    get [_isPaused]() {
      return dart.notNull(this[_state]) >= 128;
    }
    get [_canFire]() {
      return dart.notNull(this[_state]) < 32;
    }
    get [_mayResumeInput]() {
      let t86, t86$;
      return !dart.test(this[_isPaused]) && dart.test((t86$ = (t86 = this[_pending$], t86 == null ? null : t86.isEmpty), t86$ == null ? true : t86$));
    }
    get [_cancelOnError]() {
      return (dart.notNull(this[_state]) & 1) !== 0;
    }
    get isPaused() {
      return this[_isPaused];
    }
    [_cancel]() {
      this[_state] = (dart.notNull(this[_state]) | 8) >>> 0;
      if (dart.test(this[_hasPending])) {
        dart.nullCheck(this[_pending$]).cancelSchedule();
      }
      if (!dart.test(this[_inCallback])) this[_pending$] = null;
      this[_cancelFuture] = this[_onCancel]();
    }
    [_decrementPauseCount]() {
      if (!dart.test(this[_isPaused])) dart.assertFailed(null, I[66], 261, 12, "_isPaused");
      this[_state] = dart.notNull(this[_state]) - 128;
    }
    [_add](data) {
      T.as(data);
      if (!!dart.test(this[_isClosed])) dart.assertFailed(null, I[66], 268, 12, "!_isClosed");
      if (dart.test(this[_isCanceled])) return;
      if (dart.test(this[_canFire])) {
        this[_sendData](data);
      } else {
        this[_addPending](new (__t$_DelayedDataOfT()).new(data));
      }
    }
    [_addError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[66], 277, 25, "error");
      if (stackTrace == null) dart.nullFailed(I[66], 277, 43, "stackTrace");
      if (dart.test(this[_isCanceled])) return;
      if (dart.test(this[_canFire])) {
        this[_sendError](error, stackTrace);
      } else {
        this[_addPending](new async._DelayedError.new(error, stackTrace));
      }
    }
    [_close]() {
      if (!!dart.test(this[_isClosed])) dart.assertFailed(null, I[66], 287, 12, "!_isClosed");
      if (dart.test(this[_isCanceled])) return;
      this[_state] = (dart.notNull(this[_state]) | 2) >>> 0;
      if (dart.test(this[_canFire])) {
        this[_sendDone]();
      } else {
        this[_addPending](C[41] || CT.C41);
      }
    }
    [_onPause]() {
      if (!dart.test(this[_isInputPaused])) dart.assertFailed(null, I[66], 302, 12, "_isInputPaused");
    }
    [_onResume]() {
      if (!!dart.test(this[_isInputPaused])) dart.assertFailed(null, I[66], 306, 12, "!_isInputPaused");
    }
    [_onCancel]() {
      if (!dart.test(this[_isCanceled])) dart.assertFailed(null, I[66], 310, 12, "_isCanceled");
      return null;
    }
    [_addPending](event) {
      if (event == null) dart.nullFailed(I[66], 320, 34, "event");
      let pending = __t$_StreamImplEventsNOfT().as(this[_pending$]);
      pending == null ? pending = new (__t$_StreamImplEventsOfT()).new() : null;
      this[_pending$] = pending;
      pending.add(event);
      if (!dart.test(this[_hasPending])) {
        this[_state] = (dart.notNull(this[_state]) | 64) >>> 0;
        if (!dart.test(this[_isPaused])) {
          pending.schedule(this);
        }
      }
    }
    [_sendData](data) {
      if (!!dart.test(this[_isCanceled])) dart.assertFailed(null, I[66], 336, 12, "!_isCanceled");
      if (!!dart.test(this[_isPaused])) dart.assertFailed(null, I[66], 337, 12, "!_isPaused");
      if (!!dart.test(this[_inCallback])) dart.assertFailed(null, I[66], 338, 12, "!_inCallback");
      let wasInputPaused = this[_isInputPaused];
      this[_state] = (dart.notNull(this[_state]) | 32) >>> 0;
      this[_zone$].runUnaryGuarded(T, this[_onData$], data);
      this[_state] = (dart.notNull(this[_state]) & ~32 >>> 0) >>> 0;
      this[_checkState](wasInputPaused);
    }
    [_sendError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[66], 346, 26, "error");
      if (stackTrace == null) dart.nullFailed(I[66], 346, 44, "stackTrace");
      if (!!dart.test(this[_isCanceled])) dart.assertFailed(null, I[66], 347, 12, "!_isCanceled");
      if (!!dart.test(this[_isPaused])) dart.assertFailed(null, I[66], 348, 12, "!_isPaused");
      if (!!dart.test(this[_inCallback])) dart.assertFailed(null, I[66], 349, 12, "!_inCallback");
      let wasInputPaused = this[_isInputPaused];
      const sendError = () => {
        if (dart.test(this[_isCanceled]) && !dart.test(this[_waitsForCancel])) return;
        this[_state] = (dart.notNull(this[_state]) | 32) >>> 0;
        let onError = this[_onError$];
        if (T$.ObjectAndStackTraceTovoid().is(onError)) {
          this[_zone$].runBinaryGuarded(core.Object, core.StackTrace, onError, error, stackTrace);
        } else {
          this[_zone$].runUnaryGuarded(core.Object, T$.ObjectTovoid().as(this[_onError$]), error);
        }
        this[_state] = (dart.notNull(this[_state]) & ~32 >>> 0) >>> 0;
      };
      dart.fn(sendError, T$.VoidTovoid());
      if (dart.test(this[_cancelOnError])) {
        this[_state] = (dart.notNull(this[_state]) | 16) >>> 0;
        this[_cancel]();
        let cancelFuture = this[_cancelFuture];
        if (cancelFuture != null && cancelFuture != async.Future._nullFuture) {
          cancelFuture.whenComplete(sendError);
        } else {
          sendError();
        }
      } else {
        sendError();
        this[_checkState](wasInputPaused);
      }
    }
    [_sendDone]() {
      if (!!dart.test(this[_isCanceled])) dart.assertFailed(null, I[66], 385, 12, "!_isCanceled");
      if (!!dart.test(this[_isPaused])) dart.assertFailed(null, I[66], 386, 12, "!_isPaused");
      if (!!dart.test(this[_inCallback])) dart.assertFailed(null, I[66], 387, 12, "!_inCallback");
      const sendDone = () => {
        if (!dart.test(this[_waitsForCancel])) return;
        this[_state] = (dart.notNull(this[_state]) | (8 | 2 | 32) >>> 0) >>> 0;
        this[_zone$].runGuarded(this[_onDone$]);
        this[_state] = (dart.notNull(this[_state]) & ~32 >>> 0) >>> 0;
      };
      dart.fn(sendDone, T$.VoidTovoid());
      this[_cancel]();
      this[_state] = (dart.notNull(this[_state]) | 16) >>> 0;
      let cancelFuture = this[_cancelFuture];
      if (cancelFuture != null && cancelFuture != async.Future._nullFuture) {
        cancelFuture.whenComplete(sendDone);
      } else {
        sendDone();
      }
    }
    [_guardCallback](callback) {
      if (callback == null) dart.nullFailed(I[66], 413, 39, "callback");
      if (!!dart.test(this[_inCallback])) dart.assertFailed(null, I[66], 414, 12, "!_inCallback");
      let wasInputPaused = this[_isInputPaused];
      this[_state] = (dart.notNull(this[_state]) | 32) >>> 0;
      callback();
      this[_state] = (dart.notNull(this[_state]) & ~32 >>> 0) >>> 0;
      this[_checkState](wasInputPaused);
    }
    [_checkState](wasInputPaused) {
      if (wasInputPaused == null) dart.nullFailed(I[66], 430, 25, "wasInputPaused");
      if (!!dart.test(this[_inCallback])) dart.assertFailed(null, I[66], 431, 12, "!_inCallback");
      if (dart.test(this[_hasPending]) && dart.test(dart.nullCheck(this[_pending$]).isEmpty)) {
        this[_state] = (dart.notNull(this[_state]) & ~64 >>> 0) >>> 0;
        if (dart.test(this[_isInputPaused]) && dart.test(this[_mayResumeInput])) {
          this[_state] = (dart.notNull(this[_state]) & ~4 >>> 0) >>> 0;
        }
      }
      while (true) {
        if (dart.test(this[_isCanceled])) {
          this[_pending$] = null;
          return;
        }
        let isInputPaused = this[_isInputPaused];
        if (wasInputPaused == isInputPaused) break;
        this[_state] = (dart.notNull(this[_state]) ^ 32) >>> 0;
        if (dart.test(isInputPaused)) {
          this[_onPause]();
        } else {
          this[_onResume]();
        }
        this[_state] = (dart.notNull(this[_state]) & ~32 >>> 0) >>> 0;
        wasInputPaused = isInputPaused;
      }
      if (dart.test(this[_hasPending]) && !dart.test(this[_isPaused])) {
        dart.nullCheck(this[_pending$]).schedule(this);
      }
    }
  }
  (_BufferingStreamSubscription.new = function(onData, onError, onDone, cancelOnError) {
    if (cancelOnError == null) dart.nullFailed(I[66], 102, 28, "cancelOnError");
    _BufferingStreamSubscription.zoned.call(this, async.Zone.current, onData, onError, onDone, cancelOnError);
  }).prototype = _BufferingStreamSubscription.prototype;
  (_BufferingStreamSubscription.zoned = function(_zone, onData, onError, onDone, cancelOnError) {
    if (_zone == null) dart.nullFailed(I[66], 105, 43, "_zone");
    if (cancelOnError == null) dart.nullFailed(I[66], 106, 47, "cancelOnError");
    this[_cancelFuture] = null;
    this[_pending$] = null;
    this[_zone$] = _zone;
    this[_state] = dart.test(cancelOnError) ? 1 : 0;
    this[_onData$] = async._BufferingStreamSubscription._registerDataHandler(T, _zone, onData);
    this[_onError$] = async._BufferingStreamSubscription._registerErrorHandler(_zone, onError);
    this[_onDone$] = async._BufferingStreamSubscription._registerDoneHandler(_zone, onDone);
    ;
  }).prototype = _BufferingStreamSubscription.prototype;
  _BufferingStreamSubscription.prototype[dart.isStreamSubscription] = true;
  dart.addTypeTests(_BufferingStreamSubscription);
  _BufferingStreamSubscription.prototype[_is__BufferingStreamSubscription_default] = true;
  dart.addTypeCaches(_BufferingStreamSubscription);
  _BufferingStreamSubscription[dart.implements] = () => [async.StreamSubscription$(T), async._EventSink$(T), async._EventDispatch$(T)];
  dart.setMethodSignature(_BufferingStreamSubscription, () => ({
    __proto__: dart.getMethods(_BufferingStreamSubscription.__proto__),
    [_setPendingEvents]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    onData: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, [T]))]),
    onError: dart.fnType(dart.void, [dart.nullable(core.Function)]),
    onDone: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, []))]),
    pause: dart.fnType(dart.void, [], [dart.nullable(async.Future$(dart.void))]),
    resume: dart.fnType(dart.void, []),
    cancel: dart.fnType(async.Future, []),
    asFuture: dart.gFnType(E => [async.Future$(E), [], [dart.nullable(E)]], E => [dart.nullable(core.Object)]),
    [_cancel]: dart.fnType(dart.void, []),
    [_decrementPauseCount]: dart.fnType(dart.void, []),
    [_add]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_addError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_close]: dart.fnType(dart.void, []),
    [_onPause]: dart.fnType(dart.void, []),
    [_onResume]: dart.fnType(dart.void, []),
    [_onCancel]: dart.fnType(dart.nullable(async.Future$(dart.void)), []),
    [_addPending]: dart.fnType(dart.void, [async._DelayedEvent]),
    [_sendData]: dart.fnType(dart.void, [T]),
    [_sendError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_sendDone]: dart.fnType(dart.void, []),
    [_guardCallback]: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
    [_checkState]: dart.fnType(dart.void, [core.bool])
  }));
  dart.setGetterSignature(_BufferingStreamSubscription, () => ({
    __proto__: dart.getGetters(_BufferingStreamSubscription.__proto__),
    [_isInputPaused]: core.bool,
    [_isClosed]: core.bool,
    [_isCanceled]: core.bool,
    [_waitsForCancel]: core.bool,
    [_inCallback]: core.bool,
    [_hasPending]: core.bool,
    [_isPaused]: core.bool,
    [_canFire]: core.bool,
    [_mayResumeInput]: core.bool,
    [_cancelOnError]: core.bool,
    isPaused: core.bool
  }));
  dart.setLibraryUri(_BufferingStreamSubscription, I[30]);
  dart.setFieldSignature(_BufferingStreamSubscription, () => ({
    __proto__: dart.getFields(_BufferingStreamSubscription.__proto__),
    [_onData$]: dart.fieldType(dart.fnType(dart.void, [T])),
    [_onError$]: dart.fieldType(core.Function),
    [_onDone$]: dart.fieldType(dart.fnType(dart.void, [])),
    [_zone$]: dart.finalFieldType(async.Zone),
    [_state]: dart.fieldType(core.int),
    [_cancelFuture]: dart.fieldType(dart.nullable(async.Future)),
    [_pending$]: dart.fieldType(dart.nullable(async._PendingEvents$(T)))
  }));
  return _BufferingStreamSubscription;
});
async._BufferingStreamSubscription = async._BufferingStreamSubscription$();
dart.defineLazy(async._BufferingStreamSubscription, {
  /*async._BufferingStreamSubscription._STATE_CANCEL_ON_ERROR*/get _STATE_CANCEL_ON_ERROR() {
    return 1;
  },
  /*async._BufferingStreamSubscription._STATE_CLOSED*/get _STATE_CLOSED() {
    return 2;
  },
  /*async._BufferingStreamSubscription._STATE_INPUT_PAUSED*/get _STATE_INPUT_PAUSED() {
    return 4;
  },
  /*async._BufferingStreamSubscription._STATE_CANCELED*/get _STATE_CANCELED() {
    return 8;
  },
  /*async._BufferingStreamSubscription._STATE_WAIT_FOR_CANCEL*/get _STATE_WAIT_FOR_CANCEL() {
    return 16;
  },
  /*async._BufferingStreamSubscription._STATE_IN_CALLBACK*/get _STATE_IN_CALLBACK() {
    return 32;
  },
  /*async._BufferingStreamSubscription._STATE_HAS_PENDING*/get _STATE_HAS_PENDING() {
    return 64;
  },
  /*async._BufferingStreamSubscription._STATE_PAUSE_COUNT*/get _STATE_PAUSE_COUNT() {
    return 128;
  }
}, false);
dart.addTypeTests(async._BufferingStreamSubscription, _is__BufferingStreamSubscription_default);
const _is__ControllerSubscription_default = Symbol('_is__ControllerSubscription_default');
async._ControllerSubscription$ = dart.generic(T => {
  class _ControllerSubscription extends async._BufferingStreamSubscription$(T) {
    [_onCancel]() {
      return this[_controller$][_recordCancel](this);
    }
    [_onPause]() {
      this[_controller$][_recordPause](this);
    }
    [_onResume]() {
      this[_controller$][_recordResume](this);
    }
  }
  (_ControllerSubscription.new = function(_controller, onData, onError, onDone, cancelOnError) {
    if (_controller == null) dart.nullFailed(I[65], 804, 32, "_controller");
    if (cancelOnError == null) dart.nullFailed(I[65], 805, 47, "cancelOnError");
    this[_controller$] = _controller;
    _ControllerSubscription.__proto__.new.call(this, onData, onError, onDone, cancelOnError);
    ;
  }).prototype = _ControllerSubscription.prototype;
  dart.addTypeTests(_ControllerSubscription);
  _ControllerSubscription.prototype[_is__ControllerSubscription_default] = true;
  dart.addTypeCaches(_ControllerSubscription);
  dart.setLibraryUri(_ControllerSubscription, I[30]);
  dart.setFieldSignature(_ControllerSubscription, () => ({
    __proto__: dart.getFields(_ControllerSubscription.__proto__),
    [_controller$]: dart.finalFieldType(async._StreamControllerLifecycle$(T))
  }));
  return _ControllerSubscription;
});
async._ControllerSubscription = async._ControllerSubscription$();
dart.addTypeTests(async._ControllerSubscription, _is__ControllerSubscription_default);
const _is__BroadcastSubscription_default = Symbol('_is__BroadcastSubscription_default');
async._BroadcastSubscription$ = dart.generic(T => {
  var __t$_BroadcastSubscriptionOfT = () => (__t$_BroadcastSubscriptionOfT = dart.constFn(async._BroadcastSubscription$(T)))();
  var __t$_BroadcastSubscriptionNOfT = () => (__t$_BroadcastSubscriptionNOfT = dart.constFn(dart.nullable(__t$_BroadcastSubscriptionOfT())))();
  class _BroadcastSubscription extends async._ControllerSubscription$(T) {
    get [_next$1]() {
      return this[_next$0];
    }
    set [_next$1](value) {
      this[_next$0] = __t$_BroadcastSubscriptionNOfT().as(value);
    }
    get [_previous$1]() {
      return this[_previous$0];
    }
    set [_previous$1](value) {
      this[_previous$0] = __t$_BroadcastSubscriptionNOfT().as(value);
    }
    [_expectsEvent](eventId) {
      if (eventId == null) dart.nullFailed(I[64], 36, 26, "eventId");
      return (dart.notNull(this[_eventState]) & 1) >>> 0 === eventId;
    }
    [_toggleEventId]() {
      this[_eventState] = (dart.notNull(this[_eventState]) ^ 1) >>> 0;
    }
    get [_isFiring]() {
      return (dart.notNull(this[_eventState]) & 2) !== 0;
    }
    [_setRemoveAfterFiring]() {
      if (!dart.test(this[_isFiring])) dart.assertFailed(null, I[64], 45, 12, "_isFiring");
      this[_eventState] = (dart.notNull(this[_eventState]) | 4) >>> 0;
    }
    get [_removeAfterFiring]() {
      return (dart.notNull(this[_eventState]) & 4) !== 0;
    }
    [_onPause]() {
    }
    [_onResume]() {
    }
  }
  (_BroadcastSubscription.new = function(controller, onData, onError, onDone, cancelOnError) {
    if (controller == null) dart.nullFailed(I[64], 27, 37, "controller");
    if (cancelOnError == null) dart.nullFailed(I[64], 31, 12, "cancelOnError");
    this[_eventState] = 0;
    this[_next$0] = null;
    this[_previous$0] = null;
    _BroadcastSubscription.__proto__.new.call(this, controller, onData, onError, onDone, cancelOnError);
    this[_next$1] = this[_previous$1] = this;
  }).prototype = _BroadcastSubscription.prototype;
  dart.addTypeTests(_BroadcastSubscription);
  _BroadcastSubscription.prototype[_is__BroadcastSubscription_default] = true;
  dart.addTypeCaches(_BroadcastSubscription);
  dart.setMethodSignature(_BroadcastSubscription, () => ({
    __proto__: dart.getMethods(_BroadcastSubscription.__proto__),
    [_expectsEvent]: dart.fnType(core.bool, [core.int]),
    [_toggleEventId]: dart.fnType(dart.void, []),
    [_setRemoveAfterFiring]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_BroadcastSubscription, () => ({
    __proto__: dart.getGetters(_BroadcastSubscription.__proto__),
    [_isFiring]: core.bool,
    [_removeAfterFiring]: core.bool
  }));
  dart.setLibraryUri(_BroadcastSubscription, I[30]);
  dart.setFieldSignature(_BroadcastSubscription, () => ({
    __proto__: dart.getFields(_BroadcastSubscription.__proto__),
    [_eventState]: dart.fieldType(core.int),
    [_next$1]: dart.fieldType(dart.nullable(async._BroadcastSubscription$(T))),
    [_previous$1]: dart.fieldType(dart.nullable(async._BroadcastSubscription$(T)))
  }));
  return _BroadcastSubscription;
});
async._BroadcastSubscription = async._BroadcastSubscription$();
dart.defineLazy(async._BroadcastSubscription, {
  /*async._BroadcastSubscription._STATE_EVENT_ID*/get _STATE_EVENT_ID() {
    return 1;
  },
  /*async._BroadcastSubscription._STATE_FIRING*/get _STATE_FIRING() {
    return 2;
  },
  /*async._BroadcastSubscription._STATE_REMOVE_AFTER_FIRING*/get _STATE_REMOVE_AFTER_FIRING() {
    return 4;
  }
}, false);
dart.addTypeTests(async._BroadcastSubscription, _is__BroadcastSubscription_default);
var _firstSubscription = dart.privateName(async, "_firstSubscription");
var _lastSubscription = dart.privateName(async, "_lastSubscription");
var _addStreamState = dart.privateName(async, "_addStreamState");
var _doneFuture = dart.privateName(async, "_doneFuture");
var _isEmpty = dart.privateName(async, "_isEmpty");
var _hasOneListener = dart.privateName(async, "_hasOneListener");
var _isAddingStream = dart.privateName(async, "_isAddingStream");
var _mayAddEvent = dart.privateName(async, "_mayAddEvent");
var _ensureDoneFuture = dart.privateName(async, "_ensureDoneFuture");
var _addListener = dart.privateName(async, "_addListener");
var _removeListener = dart.privateName(async, "_removeListener");
var _callOnCancel = dart.privateName(async, "_callOnCancel");
var _addEventError = dart.privateName(async, "_addEventError");
var _forEachListener = dart.privateName(async, "_forEachListener");
var _mayComplete = dart.privateName(async, "_mayComplete");
var _asyncComplete = dart.privateName(async, "_asyncComplete");
const _is__BroadcastStreamController_default = Symbol('_is__BroadcastStreamController_default');
async._BroadcastStreamController$ = dart.generic(T => {
  var __t$_BroadcastStreamOfT = () => (__t$_BroadcastStreamOfT = dart.constFn(async._BroadcastStream$(T)))();
  var __t$_StreamSinkWrapperOfT = () => (__t$_StreamSinkWrapperOfT = dart.constFn(async._StreamSinkWrapper$(T)))();
  var __t$_DoneStreamSubscriptionOfT = () => (__t$_DoneStreamSubscriptionOfT = dart.constFn(async._DoneStreamSubscription$(T)))();
  var __t$_BroadcastSubscriptionOfT = () => (__t$_BroadcastSubscriptionOfT = dart.constFn(async._BroadcastSubscription$(T)))();
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  var __t$_AddStreamStateOfT = () => (__t$_AddStreamStateOfT = dart.constFn(async._AddStreamState$(T)))();
  class _BroadcastStreamController extends core.Object {
    get onPause() {
      dart.throw(new core.UnsupportedError.new("Broadcast stream controllers do not support pause callbacks"));
    }
    set onPause(onPauseHandler) {
      dart.throw(new core.UnsupportedError.new("Broadcast stream controllers do not support pause callbacks"));
    }
    get onResume() {
      dart.throw(new core.UnsupportedError.new("Broadcast stream controllers do not support pause callbacks"));
    }
    set onResume(onResumeHandler) {
      dart.throw(new core.UnsupportedError.new("Broadcast stream controllers do not support pause callbacks"));
    }
    get stream() {
      return new (__t$_BroadcastStreamOfT()).new(this);
    }
    get sink() {
      return new (__t$_StreamSinkWrapperOfT()).new(this);
    }
    get isClosed() {
      return (dart.notNull(this[_state]) & 4) !== 0;
    }
    get isPaused() {
      return false;
    }
    get hasListener() {
      return !dart.test(this[_isEmpty]);
    }
    get [_hasOneListener]() {
      if (!!dart.test(this[_isEmpty])) dart.assertFailed(null, I[64], 141, 12, "!_isEmpty");
      return this[_firstSubscription] == this[_lastSubscription];
    }
    get [_isFiring]() {
      return (dart.notNull(this[_state]) & 2) !== 0;
    }
    get [_isAddingStream]() {
      return (dart.notNull(this[_state]) & 8) !== 0;
    }
    get [_mayAddEvent]() {
      return dart.notNull(this[_state]) < 4;
    }
    [_ensureDoneFuture]() {
      let t86;
      t86 = this[_doneFuture];
      return t86 == null ? this[_doneFuture] = new (T$._FutureOfvoid()).new() : t86;
    }
    get [_isEmpty]() {
      return this[_firstSubscription] == null;
    }
    [_addListener](subscription) {
      if (subscription == null) dart.nullFailed(I[64], 159, 47, "subscription");
      if (!(subscription[_next$1] == subscription)) dart.assertFailed(null, I[64], 160, 12, "identical(subscription._next, subscription)");
      subscription[_eventState] = (dart.notNull(this[_state]) & 1) >>> 0;
      let oldLast = this[_lastSubscription];
      this[_lastSubscription] = subscription;
      subscription[_next$1] = null;
      subscription[_previous$1] = oldLast;
      if (oldLast == null) {
        this[_firstSubscription] = subscription;
      } else {
        oldLast[_next$1] = subscription;
      }
    }
    [_removeListener](subscription) {
      if (subscription == null) dart.nullFailed(I[64], 174, 50, "subscription");
      if (!(subscription[_controller$] === this)) dart.assertFailed(null, I[64], 175, 12, "identical(subscription._controller, this)");
      if (!(subscription[_next$1] != subscription)) dart.assertFailed(null, I[64], 176, 12, "!identical(subscription._next, subscription)");
      let previous = subscription[_previous$1];
      let next = subscription[_next$1];
      if (previous == null) {
        this[_firstSubscription] = next;
      } else {
        previous[_next$1] = next;
      }
      if (next == null) {
        this[_lastSubscription] = previous;
      } else {
        next[_previous$1] = previous;
      }
      subscription[_next$1] = subscription[_previous$1] = subscription;
    }
    [_subscribe](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[64], 198, 28, "cancelOnError");
      if (dart.test(this.isClosed)) {
        return new (__t$_DoneStreamSubscriptionOfT()).new(onDone);
      }
      let subscription = new (__t$_BroadcastSubscriptionOfT()).new(this, onData, onError, onDone, cancelOnError);
      this[_addListener](subscription);
      if (this[_firstSubscription] == this[_lastSubscription]) {
        async._runGuarded(this.onListen);
      }
      return subscription;
    }
    [_recordCancel](sub) {
      if (sub == null) dart.nullFailed(I[64], 212, 53, "sub");
      let subscription = __t$_BroadcastSubscriptionOfT().as(sub);
      if (subscription[_next$1] == subscription) return null;
      if (dart.test(subscription[_isFiring])) {
        subscription[_setRemoveAfterFiring]();
      } else {
        this[_removeListener](subscription);
        if (!dart.test(this[_isFiring]) && dart.test(this[_isEmpty])) {
          this[_callOnCancel]();
        }
      }
      return null;
    }
    [_recordPause](subscription) {
      if (subscription == null) dart.nullFailed(I[64], 229, 43, "subscription");
    }
    [_recordResume](subscription) {
      if (subscription == null) dart.nullFailed(I[64], 230, 44, "subscription");
    }
    [_addEventError]() {
      if (dart.test(this.isClosed)) {
        return new core.StateError.new("Cannot add new events after calling close");
      }
      if (!dart.test(this[_isAddingStream])) dart.assertFailed(null, I[64], 238, 12, "_isAddingStream");
      return new core.StateError.new("Cannot add new events while doing an addStream");
    }
    add(data) {
      T.as(data);
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_addEventError]());
      this[_sendData](data);
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[64], 247, 24, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_addEventError]());
      let replacement = async.Zone.current.errorCallback(error, stackTrace);
      if (replacement != null) {
        error = replacement.error;
        stackTrace = replacement.stackTrace;
      } else {
        stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
      }
      if (stackTrace == null) dart.throw("unreachable");
      this[_sendError](error, stackTrace);
    }
    close() {
      if (dart.test(this.isClosed)) {
        if (!(this[_doneFuture] != null)) dart.assertFailed(null, I[64], 263, 14, "_doneFuture != null");
        return dart.nullCheck(this[_doneFuture]);
      }
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_addEventError]());
      this[_state] = (dart.notNull(this[_state]) | 4) >>> 0;
      let doneFuture = this[_ensureDoneFuture]();
      this[_sendDone]();
      return doneFuture;
    }
    get done() {
      return this[_ensureDoneFuture]();
    }
    addStream(stream, opts) {
      let t86;
      __t$StreamOfT().as(stream);
      if (stream == null) dart.nullFailed(I[64], 275, 30, "stream");
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_addEventError]());
      this[_state] = (dart.notNull(this[_state]) | 8) >>> 0;
      let addStreamState = new (__t$_AddStreamStateOfT()).new(this, stream, (t86 = cancelOnError, t86 == null ? false : t86));
      this[_addStreamState] = addStreamState;
      return addStreamState.addStreamFuture;
    }
    [_add](data) {
      this[_sendData](data);
    }
    [_addError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[64], 289, 25, "error");
      if (stackTrace == null) dart.nullFailed(I[64], 289, 43, "stackTrace");
      this[_sendError](error, stackTrace);
    }
    [_close]() {
      if (!dart.test(this[_isAddingStream])) dart.assertFailed(null, I[64], 294, 12, "_isAddingStream");
      let addState = dart.nullCheck(this[_addStreamState]);
      this[_addStreamState] = null;
      this[_state] = (dart.notNull(this[_state]) & ~8 >>> 0) >>> 0;
      addState.complete();
    }
    [_forEachListener](action) {
      let t86, t86$;
      if (action == null) dart.nullFailed(I[64], 303, 12, "action");
      if (dart.test(this[_isFiring])) {
        dart.throw(new core.StateError.new("Cannot fire new event. Controller is already firing an event"));
      }
      if (dart.test(this[_isEmpty])) return;
      let id = (dart.notNull(this[_state]) & 1) >>> 0;
      this[_state] = (dart.notNull(this[_state]) ^ (1 | 2) >>> 0) >>> 0;
      let subscription = this[_firstSubscription];
      while (subscription != null) {
        if (dart.test(subscription[_expectsEvent](id))) {
          t86 = subscription;
          t86[_eventState] = (dart.notNull(t86[_eventState]) | 2) >>> 0;
          action(subscription);
          subscription[_toggleEventId]();
          let next = subscription[_next$1];
          if (dart.test(subscription[_removeAfterFiring])) {
            this[_removeListener](subscription);
          }
          t86$ = subscription;
          t86$[_eventState] = (dart.notNull(t86$[_eventState]) & ~2 >>> 0) >>> 0;
          subscription = next;
        } else {
          subscription = subscription[_next$1];
        }
      }
      this[_state] = (dart.notNull(this[_state]) & ~2 >>> 0) >>> 0;
      if (dart.test(this[_isEmpty])) {
        this[_callOnCancel]();
      }
    }
    [_callOnCancel]() {
      if (!dart.test(this[_isEmpty])) dart.assertFailed(null, I[64], 343, 12, "_isEmpty");
      if (dart.test(this.isClosed)) {
        let doneFuture = dart.nullCheck(this[_doneFuture]);
        if (dart.test(doneFuture[_mayComplete])) {
          doneFuture[_asyncComplete](null);
        }
      }
      async._runGuarded(this.onCancel);
    }
  }
  (_BroadcastStreamController.new = function(onListen, onCancel) {
    this[_firstSubscription] = null;
    this[_lastSubscription] = null;
    this[_addStreamState] = null;
    this[_doneFuture] = null;
    this.onListen = onListen;
    this.onCancel = onCancel;
    this[_state] = 0;
    ;
  }).prototype = _BroadcastStreamController.prototype;
  dart.addTypeTests(_BroadcastStreamController);
  _BroadcastStreamController.prototype[_is__BroadcastStreamController_default] = true;
  dart.addTypeCaches(_BroadcastStreamController);
  _BroadcastStreamController[dart.implements] = () => [async._StreamControllerBase$(T)];
  dart.setMethodSignature(_BroadcastStreamController, () => ({
    __proto__: dart.getMethods(_BroadcastStreamController.__proto__),
    [_ensureDoneFuture]: dart.fnType(async._Future$(dart.void), []),
    [_addListener]: dart.fnType(dart.void, [async._BroadcastSubscription$(T)]),
    [_removeListener]: dart.fnType(dart.void, [async._BroadcastSubscription$(T)]),
    [_subscribe]: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T])), dart.nullable(core.Function), dart.nullable(dart.fnType(dart.void, [])), core.bool]),
    [_recordCancel]: dart.fnType(dart.nullable(async.Future$(dart.void)), [async.StreamSubscription$(T)]),
    [_recordPause]: dart.fnType(dart.void, [async.StreamSubscription$(T)]),
    [_recordResume]: dart.fnType(dart.void, [async.StreamSubscription$(T)]),
    [_addEventError]: dart.fnType(core.Error, []),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    close: dart.fnType(async.Future, []),
    addStream: dart.fnType(async.Future, [dart.nullable(core.Object)], {cancelOnError: dart.nullable(core.bool)}, {}),
    [_add]: dart.fnType(dart.void, [T]),
    [_addError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_close]: dart.fnType(dart.void, []),
    [_forEachListener]: dart.fnType(dart.void, [dart.fnType(dart.void, [async._BufferingStreamSubscription$(T)])]),
    [_callOnCancel]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_BroadcastStreamController, () => ({
    __proto__: dart.getGetters(_BroadcastStreamController.__proto__),
    onPause: dart.fnType(dart.void, []),
    onResume: dart.fnType(dart.void, []),
    stream: async.Stream$(T),
    sink: async.StreamSink$(T),
    isClosed: core.bool,
    isPaused: core.bool,
    hasListener: core.bool,
    [_hasOneListener]: core.bool,
    [_isFiring]: core.bool,
    [_isAddingStream]: core.bool,
    [_mayAddEvent]: core.bool,
    [_isEmpty]: core.bool,
    done: async.Future$(dart.void)
  }));
  dart.setSetterSignature(_BroadcastStreamController, () => ({
    __proto__: dart.getSetters(_BroadcastStreamController.__proto__),
    onPause: dart.nullable(dart.fnType(dart.void, [])),
    onResume: dart.nullable(dart.fnType(dart.void, []))
  }));
  dart.setLibraryUri(_BroadcastStreamController, I[30]);
  dart.setFieldSignature(_BroadcastStreamController, () => ({
    __proto__: dart.getFields(_BroadcastStreamController.__proto__),
    onListen: dart.fieldType(dart.nullable(dart.fnType(dart.void, []))),
    onCancel: dart.fieldType(dart.nullable(dart.fnType(dart.void, []))),
    [_state]: dart.fieldType(core.int),
    [_firstSubscription]: dart.fieldType(dart.nullable(async._BroadcastSubscription$(T))),
    [_lastSubscription]: dart.fieldType(dart.nullable(async._BroadcastSubscription$(T))),
    [_addStreamState]: dart.fieldType(dart.nullable(async._AddStreamState$(T))),
    [_doneFuture]: dart.fieldType(dart.nullable(async._Future$(dart.void)))
  }));
  return _BroadcastStreamController;
});
async._BroadcastStreamController = async._BroadcastStreamController$();
dart.defineLazy(async._BroadcastStreamController, {
  /*async._BroadcastStreamController._STATE_INITIAL*/get _STATE_INITIAL() {
    return 0;
  },
  /*async._BroadcastStreamController._STATE_EVENT_ID*/get _STATE_EVENT_ID() {
    return 1;
  },
  /*async._BroadcastStreamController._STATE_FIRING*/get _STATE_FIRING() {
    return 2;
  },
  /*async._BroadcastStreamController._STATE_CLOSED*/get _STATE_CLOSED() {
    return 4;
  },
  /*async._BroadcastStreamController._STATE_ADDSTREAM*/get _STATE_ADDSTREAM() {
    return 8;
  }
}, false);
dart.addTypeTests(async._BroadcastStreamController, _is__BroadcastStreamController_default);
const _is__SyncBroadcastStreamController_default = Symbol('_is__SyncBroadcastStreamController_default');
async._SyncBroadcastStreamController$ = dart.generic(T => {
  var __t$_BroadcastSubscriptionOfT = () => (__t$_BroadcastSubscriptionOfT = dart.constFn(async._BroadcastSubscription$(T)))();
  var __t$_BufferingStreamSubscriptionOfT = () => (__t$_BufferingStreamSubscriptionOfT = dart.constFn(async._BufferingStreamSubscription$(T)))();
  var __t$_BufferingStreamSubscriptionOfTTovoid = () => (__t$_BufferingStreamSubscriptionOfTTovoid = dart.constFn(dart.fnType(dart.void, [__t$_BufferingStreamSubscriptionOfT()])))();
  class _SyncBroadcastStreamController extends async._BroadcastStreamController$(T) {
    get [_mayAddEvent]() {
      return dart.test(super[_mayAddEvent]) && !dart.test(this[_isFiring]);
    }
    [_addEventError]() {
      if (dart.test(this[_isFiring])) {
        return new core.StateError.new("Cannot fire new event. Controller is already firing an event");
      }
      return super[_addEventError]();
    }
    [_sendData](data) {
      if (dart.test(this[_isEmpty])) return;
      if (dart.test(this[_hasOneListener])) {
        this[_state] = (dart.notNull(this[_state]) | 2) >>> 0;
        let firstSubscription = __t$_BroadcastSubscriptionOfT().as(this[_firstSubscription]);
        firstSubscription[_add](data);
        this[_state] = (dart.notNull(this[_state]) & ~2 >>> 0) >>> 0;
        if (dart.test(this[_isEmpty])) {
          this[_callOnCancel]();
        }
        return;
      }
      this[_forEachListener](dart.fn(subscription => {
        if (subscription == null) dart.nullFailed(I[64], 385, 55, "subscription");
        subscription[_add](data);
      }, __t$_BufferingStreamSubscriptionOfTTovoid()));
    }
    [_sendError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[64], 390, 26, "error");
      if (stackTrace == null) dart.nullFailed(I[64], 390, 44, "stackTrace");
      if (dart.test(this[_isEmpty])) return;
      this[_forEachListener](dart.fn(subscription => {
        if (subscription == null) dart.nullFailed(I[64], 392, 55, "subscription");
        subscription[_addError](error, stackTrace);
      }, __t$_BufferingStreamSubscriptionOfTTovoid()));
    }
    [_sendDone]() {
      if (!dart.test(this[_isEmpty])) {
        this[_forEachListener](dart.fn(subscription => {
          if (subscription == null) dart.nullFailed(I[64], 399, 57, "subscription");
          subscription[_close]();
        }, __t$_BufferingStreamSubscriptionOfTTovoid()));
      } else {
        if (!(this[_doneFuture] != null && dart.test(dart.nullCheck(this[_doneFuture])[_mayComplete]))) dart.assertFailed(null, I[64], 403, 14, "_doneFuture != null && _doneFuture!._mayComplete");
        dart.nullCheck(this[_doneFuture])[_asyncComplete](null);
      }
    }
  }
  (_SyncBroadcastStreamController.new = function(onListen, onCancel) {
    _SyncBroadcastStreamController.__proto__.new.call(this, onListen, onCancel);
    ;
  }).prototype = _SyncBroadcastStreamController.prototype;
  dart.addTypeTests(_SyncBroadcastStreamController);
  _SyncBroadcastStreamController.prototype[_is__SyncBroadcastStreamController_default] = true;
  dart.addTypeCaches(_SyncBroadcastStreamController);
  _SyncBroadcastStreamController[dart.implements] = () => [async.SynchronousStreamController$(T)];
  dart.setMethodSignature(_SyncBroadcastStreamController, () => ({
    __proto__: dart.getMethods(_SyncBroadcastStreamController.__proto__),
    [_sendData]: dart.fnType(dart.void, [T]),
    [_sendError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_sendDone]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_SyncBroadcastStreamController, I[30]);
  return _SyncBroadcastStreamController;
});
async._SyncBroadcastStreamController = async._SyncBroadcastStreamController$();
dart.addTypeTests(async._SyncBroadcastStreamController, _is__SyncBroadcastStreamController_default);
const _is__AsyncBroadcastStreamController_default = Symbol('_is__AsyncBroadcastStreamController_default');
async._AsyncBroadcastStreamController$ = dart.generic(T => {
  var __t$_DelayedDataOfT = () => (__t$_DelayedDataOfT = dart.constFn(async._DelayedData$(T)))();
  class _AsyncBroadcastStreamController extends async._BroadcastStreamController$(T) {
    [_sendData](data) {
      for (let subscription = this[_firstSubscription]; subscription != null; subscription = subscription[_next$1]) {
        subscription[_addPending](new (__t$_DelayedDataOfT()).new(data));
      }
    }
    [_sendError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[64], 423, 26, "error");
      if (stackTrace == null) dart.nullFailed(I[64], 423, 44, "stackTrace");
      for (let subscription = this[_firstSubscription]; subscription != null; subscription = subscription[_next$1]) {
        subscription[_addPending](new async._DelayedError.new(error, stackTrace));
      }
    }
    [_sendDone]() {
      if (!dart.test(this[_isEmpty])) {
        for (let subscription = this[_firstSubscription]; subscription != null; subscription = subscription[_next$1]) {
          subscription[_addPending](C[41] || CT.C41);
        }
      } else {
        if (!(this[_doneFuture] != null && dart.test(dart.nullCheck(this[_doneFuture])[_mayComplete]))) dart.assertFailed(null, I[64], 439, 14, "_doneFuture != null && _doneFuture!._mayComplete");
        dart.nullCheck(this[_doneFuture])[_asyncComplete](null);
      }
    }
  }
  (_AsyncBroadcastStreamController.new = function(onListen, onCancel) {
    _AsyncBroadcastStreamController.__proto__.new.call(this, onListen, onCancel);
    ;
  }).prototype = _AsyncBroadcastStreamController.prototype;
  dart.addTypeTests(_AsyncBroadcastStreamController);
  _AsyncBroadcastStreamController.prototype[_is__AsyncBroadcastStreamController_default] = true;
  dart.addTypeCaches(_AsyncBroadcastStreamController);
  dart.setMethodSignature(_AsyncBroadcastStreamController, () => ({
    __proto__: dart.getMethods(_AsyncBroadcastStreamController.__proto__),
    [_sendData]: dart.fnType(dart.void, [T]),
    [_sendError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_sendDone]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_AsyncBroadcastStreamController, I[30]);
  return _AsyncBroadcastStreamController;
});
async._AsyncBroadcastStreamController = async._AsyncBroadcastStreamController$();
dart.addTypeTests(async._AsyncBroadcastStreamController, _is__AsyncBroadcastStreamController_default);
var _addPendingEvent = dart.privateName(async, "_addPendingEvent");
var _flushPending = dart.privateName(async, "_flushPending");
const _is__AsBroadcastStreamController_default = Symbol('_is__AsBroadcastStreamController_default');
async._AsBroadcastStreamController$ = dart.generic(T => {
  var __t$_StreamImplEventsOfT = () => (__t$_StreamImplEventsOfT = dart.constFn(async._StreamImplEvents$(T)))();
  var __t$_DelayedDataOfT = () => (__t$_DelayedDataOfT = dart.constFn(async._DelayedData$(T)))();
  class _AsBroadcastStreamController extends async._SyncBroadcastStreamController$(T) {
    get [_hasPending]() {
      let pending = this[_pending$];
      return pending != null && !dart.test(pending.isEmpty);
    }
    [_addPendingEvent](event) {
      let t86;
      if (event == null) dart.nullFailed(I[64], 466, 39, "event");
      (t86 = this[_pending$], t86 == null ? this[_pending$] = new (__t$_StreamImplEventsOfT()).new() : t86).add(event);
    }
    add(data) {
      T.as(data);
      if (!dart.test(this.isClosed) && dart.test(this[_isFiring])) {
        this[_addPendingEvent](new (__t$_DelayedDataOfT()).new(data));
        return;
      }
      super.add(data);
      this[_flushPending]();
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[64], 479, 24, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
      if (!dart.test(this.isClosed) && dart.test(this[_isFiring])) {
        this[_addPendingEvent](new async._DelayedError.new(error, stackTrace));
        return;
      }
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_addEventError]());
      this[_sendError](error, stackTrace);
      this[_flushPending]();
    }
    [_flushPending]() {
      let pending = this[_pending$];
      while (pending != null && !dart.test(pending.isEmpty)) {
        pending.handleNext(this);
        pending = this[_pending$];
      }
    }
    close() {
      if (!dart.test(this.isClosed) && dart.test(this[_isFiring])) {
        this[_addPendingEvent](C[41] || CT.C41);
        this[_state] = (dart.notNull(this[_state]) | 4) >>> 0;
        return super.done;
      }
      let result = super.close();
      if (!!dart.test(this[_hasPending])) dart.assertFailed(null, I[64], 506, 12, "!_hasPending");
      return result;
    }
    [_callOnCancel]() {
      let pending = this[_pending$];
      if (pending != null) {
        pending.clear();
        this[_pending$] = null;
      }
      super[_callOnCancel]();
    }
  }
  (_AsBroadcastStreamController.new = function(onListen, onCancel) {
    this[_pending$] = null;
    _AsBroadcastStreamController.__proto__.new.call(this, onListen, onCancel);
    ;
  }).prototype = _AsBroadcastStreamController.prototype;
  dart.addTypeTests(_AsBroadcastStreamController);
  _AsBroadcastStreamController.prototype[_is__AsBroadcastStreamController_default] = true;
  dart.addTypeCaches(_AsBroadcastStreamController);
  _AsBroadcastStreamController[dart.implements] = () => [async._EventDispatch$(T)];
  dart.setMethodSignature(_AsBroadcastStreamController, () => ({
    __proto__: dart.getMethods(_AsBroadcastStreamController.__proto__),
    [_addPendingEvent]: dart.fnType(dart.void, [async._DelayedEvent]),
    [_flushPending]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_AsBroadcastStreamController, () => ({
    __proto__: dart.getGetters(_AsBroadcastStreamController.__proto__),
    [_hasPending]: core.bool
  }));
  dart.setLibraryUri(_AsBroadcastStreamController, I[30]);
  dart.setFieldSignature(_AsBroadcastStreamController, () => ({
    __proto__: dart.getFields(_AsBroadcastStreamController.__proto__),
    [_pending$]: dart.fieldType(dart.nullable(async._StreamImplEvents$(T)))
  }));
  return _AsBroadcastStreamController;
});
async._AsBroadcastStreamController = async._AsBroadcastStreamController$();
dart.addTypeTests(async._AsBroadcastStreamController, _is__AsBroadcastStreamController_default);
var libraryName$ = dart.privateName(async, "DeferredLibrary.libraryName");
var uri$ = dart.privateName(async, "DeferredLibrary.uri");
async.DeferredLibrary = class DeferredLibrary extends core.Object {
  get libraryName() {
    return this[libraryName$];
  }
  set libraryName(value) {
    super.libraryName = value;
  }
  get uri() {
    return this[uri$];
  }
  set uri(value) {
    super.uri = value;
  }
  load() {
    dart.throw("DeferredLibrary not supported. " + "please use the `import \"lib.dart\" deferred as lib` syntax.");
  }
};
(async.DeferredLibrary.new = function(libraryName, opts) {
  if (libraryName == null) dart.nullFailed(I[67], 18, 30, "libraryName");
  let uri = opts && 'uri' in opts ? opts.uri : null;
  this[libraryName$] = libraryName;
  this[uri$] = uri;
  ;
}).prototype = async.DeferredLibrary.prototype;
dart.addTypeTests(async.DeferredLibrary);
dart.addTypeCaches(async.DeferredLibrary);
dart.setMethodSignature(async.DeferredLibrary, () => ({
  __proto__: dart.getMethods(async.DeferredLibrary.__proto__),
  load: dart.fnType(async.Future$(core.Null), [])
}));
dart.setLibraryUri(async.DeferredLibrary, I[30]);
dart.setFieldSignature(async.DeferredLibrary, () => ({
  __proto__: dart.getFields(async.DeferredLibrary.__proto__),
  libraryName: dart.finalFieldType(core.String),
  uri: dart.finalFieldType(dart.nullable(core.String))
}));
var _s = dart.privateName(async, "_s");
async.DeferredLoadException = class DeferredLoadException extends core.Object {
  toString() {
    return "DeferredLoadException: '" + dart.str(this[_s]) + "'";
  }
};
(async.DeferredLoadException.new = function(message) {
  if (message == null) dart.nullFailed(I[67], 29, 32, "message");
  this[_s] = message;
  ;
}).prototype = async.DeferredLoadException.prototype;
dart.addTypeTests(async.DeferredLoadException);
dart.addTypeCaches(async.DeferredLoadException);
async.DeferredLoadException[dart.implements] = () => [core.Exception];
dart.setLibraryUri(async.DeferredLoadException, I[30]);
dart.setFieldSignature(async.DeferredLoadException, () => ({
  __proto__: dart.getFields(async.DeferredLoadException.__proto__),
  [_s]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(async.DeferredLoadException, ['toString']);
async.FutureOr$ = dart.normalizeFutureOr(T => {
  class FutureOr extends core.Object {}
  (FutureOr.__ = function() {
    dart.throw(new core.UnsupportedError.new("FutureOr can't be instantiated"));
  }).prototype = FutureOr.prototype;
  dart.addTypeCaches(FutureOr);
  dart.setLibraryUri(FutureOr, I[30]);
  return FutureOr;
});
async.FutureOr = async.FutureOr$();
var _asyncCompleteError = dart.privateName(async, "_asyncCompleteError");
var _completeWithValue = dart.privateName(async, "_completeWithValue");
async.Future$ = dart.generic(T => {
  class Future extends core.Object {
    static new(computation) {
      if (computation == null) dart.nullFailed(I[68], 170, 30, "computation");
      let result = new (async._Future$(T)).new();
      async.Timer.run(dart.fn(() => {
        try {
          result[_complete](computation());
        } catch (e$) {
          let e = dart.getThrown(e$);
          let s = dart.stackTrace(e$);
          if (core.Object.is(e)) {
            async._completeWithErrorCallback(result, e, s);
          } else
            throw e$;
        }
      }, T$.VoidTovoid()));
      return result;
    }
    static microtask(computation) {
      if (computation == null) dart.nullFailed(I[68], 194, 40, "computation");
      let result = new (async._Future$(T)).new();
      async.scheduleMicrotask(dart.fn(() => {
        try {
          result[_complete](computation());
        } catch (e$) {
          let e = dart.getThrown(e$);
          let s = dart.stackTrace(e$);
          if (core.Object.is(e)) {
            async._completeWithErrorCallback(result, e, s);
          } else
            throw e$;
        }
      }, T$.VoidTovoid()));
      return result;
    }
    static sync(computation) {
      if (computation == null) dart.nullFailed(I[68], 216, 35, "computation");
      try {
        let result = computation();
        if (async.Future$(T).is(result)) {
          return result;
        } else {
          return new (async._Future$(T)).value(T.as(result));
        }
      } catch (e) {
        let error = dart.getThrown(e);
        let stackTrace = dart.stackTrace(e);
        if (core.Object.is(error)) {
          let future = new (async._Future$(T)).new();
          let replacement = async.Zone.current.errorCallback(error, stackTrace);
          if (replacement != null) {
            future[_asyncCompleteError](replacement.error, replacement.stackTrace);
          } else {
            future[_asyncCompleteError](error, stackTrace);
          }
          return future;
        } else
          throw e;
      }
    }
    static value(value = null) {
      return new (async._Future$(T)).immediate(value == null ? T.as(value) : value);
    }
    static error(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[68], 267, 31, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      if (async.Zone.current != async._rootZone) {
        let replacement = async.Zone.current.errorCallback(error, stackTrace);
        if (replacement != null) {
          error = replacement.error;
          stackTrace = replacement.stackTrace;
        }
      }
      stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
      return new (async._Future$(T)).immediateError(error, stackTrace);
    }
    static delayed(duration, computation = null) {
      if (duration == null) dart.nullFailed(I[68], 304, 35, "duration");
      if (computation == null && !dart.test(_internal.typeAcceptsNull(T))) {
        dart.throw(new core.ArgumentError.value(null, "computation", "The type parameter is not nullable"));
      }
      let result = new (async._Future$(T)).new();
      async.Timer.new(duration, dart.fn(() => {
        if (computation == null) {
          result[_complete](T.as(null));
        } else {
          try {
            result[_complete](computation());
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              async._completeWithErrorCallback(result, e, s);
            } else
              throw e$;
          }
        }
      }, T$.VoidTovoid()));
      return result;
    }
    static wait(T, futures, opts) {
      let t100;
      if (futures == null) dart.nullFailed(I[68], 352, 54, "futures");
      let eagerError = opts && 'eagerError' in opts ? opts.eagerError : false;
      if (eagerError == null) dart.nullFailed(I[68], 353, 13, "eagerError");
      let cleanUp = opts && 'cleanUp' in opts ? opts.cleanUp : null;
      let _future = new (async._Future$(core.List$(T))).new();
      let values = null;
      let remaining = 0;
      let error = null;
      let error$35isSet = false;
      function error$35get() {
        return error$35isSet ? error : dart.throw(new _internal.LateError.localNI("error"));
      }
      dart.fn(error$35get, T$.VoidToObject());
      function error$35set(t93) {
        if (t93 == null) dart.nullFailed(I[68], 359, 17, "null");
        error$35isSet = true;
        return error = t93;
      }
      dart.fn(error$35set, T$.ObjectTodynamic());
      let stackTrace = null;
      let stackTrace$35isSet = false;
      function stackTrace$35get() {
        return stackTrace$35isSet ? stackTrace : dart.throw(new _internal.LateError.localNI("stackTrace"));
      }
      dart.fn(stackTrace$35get, T$.VoidToStackTrace());
      function stackTrace$35set(t98) {
        if (t98 == null) dart.nullFailed(I[68], 360, 21, "null");
        stackTrace$35isSet = true;
        return stackTrace = t98;
      }
      dart.fn(stackTrace$35set, T$.StackTraceTodynamic());
      function handleError(theError, theStackTrace) {
        if (theError == null) dart.nullFailed(I[68], 363, 29, "theError");
        if (theStackTrace == null) dart.nullFailed(I[68], 363, 50, "theStackTrace");
        remaining = remaining - 1;
        let valueList = values;
        if (valueList != null) {
          if (cleanUp != null) {
            for (let value of valueList) {
              if (value != null) {
                let cleanUpValue = value;
                T$.FutureOfNull().sync(dart.fn(() => {
                  cleanUp(cleanUpValue);
                }, T$.VoidToNull()));
              }
            }
          }
          values = null;
          if (remaining === 0 || dart.test(eagerError)) {
            _future[_completeError](theError, theStackTrace);
          } else {
            error$35set(theError);
            stackTrace$35set(theStackTrace);
          }
        } else if (remaining === 0 && !dart.test(eagerError)) {
          _future[_completeError](error$35get(), stackTrace$35get());
        }
      }
      dart.fn(handleError, T$.ObjectAndStackTraceTovoid());
      try {
        for (let future of futures) {
          let pos = remaining;
          future.then(core.Null, dart.fn(value => {
            remaining = remaining - 1;
            let valueList = values;
            if (valueList != null) {
              valueList[$_set](pos, value);
              if (remaining === 0) {
                _future[_completeWithValue](core.List$(T).from(valueList));
              }
            } else {
              if (cleanUp != null && value != null) {
                T$.FutureOfNull().sync(dart.fn(() => {
                  cleanUp(value);
                }, T$.VoidToNull()));
              }
              if (remaining === 0 && !dart.test(eagerError)) {
                _future[_completeError](error$35get(), stackTrace$35get());
              }
            }
          }, dart.fnType(core.Null, [T])), {onError: handleError});
          remaining = remaining + 1;
        }
        if (remaining === 0) {
          t100 = _future;
          return (() => {
            t100[_completeWithValue](_interceptors.JSArray$(T).of([]));
            return t100;
          })();
        }
        values = core.List$(dart.nullable(T)).filled(remaining, null);
      } catch (e$) {
        let e = dart.getThrown(e$);
        let st = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          if (remaining === 0 || dart.test(eagerError)) {
            return async.Future$(core.List$(T)).error(e, st);
          } else {
            error$35set(e);
            stackTrace$35set(st);
          }
        } else
          throw e$;
      }
      return _future;
    }
    static any(T, futures) {
      if (futures == null) dart.nullFailed(I[68], 459, 47, "futures");
      let completer = async.Completer$(T).sync();
      function onValue(value) {
        if (!dart.test(completer.isCompleted)) completer.complete(value);
      }
      dart.fn(onValue, dart.fnType(dart.void, [T]));
      function onError(error, stack) {
        if (error == null) dart.nullFailed(I[68], 465, 25, "error");
        if (stack == null) dart.nullFailed(I[68], 465, 43, "stack");
        if (!dart.test(completer.isCompleted)) completer.completeError(error, stack);
      }
      dart.fn(onError, T$.ObjectAndStackTraceTovoid());
      for (let future of futures) {
        future.then(dart.void, onValue, {onError: onError});
      }
      return completer.future;
    }
    static forEach(T, elements, action) {
      if (elements == null) dart.nullFailed(I[68], 491, 40, "elements");
      if (action == null) dart.nullFailed(I[68], 491, 59, "action");
      let iterator = elements[$iterator];
      return async.Future.doWhile(dart.fn(() => {
        if (!dart.test(iterator.moveNext())) return false;
        let result = action(iterator.current);
        if (async.Future.is(result)) return result.then(core.bool, C[42] || CT.C42);
        return true;
      }, T$.VoidToFutureOrOfbool()));
    }
    static _kTrue(_) {
      return true;
    }
    static doWhile(action) {
      if (action == null) dart.nullFailed(I[68], 524, 40, "action");
      let doneSignal = new (T$._FutureOfvoid()).new();
      let nextIteration = null;
      let nextIteration$35isSet = false;
      function nextIteration$35get() {
        return nextIteration$35isSet ? nextIteration : dart.throw(new _internal.LateError.localNI("nextIteration"));
      }
      dart.fn(nextIteration$35get, T$.VoidToFn());
      function nextIteration$35set(t104) {
        if (t104 == null) dart.nullFailed(I[68], 526, 30, "null");
        nextIteration$35isSet = true;
        return nextIteration = t104;
      }
      dart.fn(nextIteration$35set, T$.FnTodynamic());
      nextIteration$35set(async.Zone.current.bindUnaryCallbackGuarded(core.bool, dart.fn(keepGoing => {
        if (keepGoing == null) dart.nullFailed(I[68], 531, 65, "keepGoing");
        while (dart.test(keepGoing)) {
          let result = null;
          try {
            result = action();
          } catch (e) {
            let error = dart.getThrown(e);
            let stackTrace = dart.stackTrace(e);
            if (core.Object.is(error)) {
              async._asyncCompleteWithErrorCallback(doneSignal, error, stackTrace);
              return;
            } else
              throw e;
          }
          if (T$.FutureOfbool().is(result)) {
            result.then(dart.void, nextIteration$35get(), {onError: dart.bind(doneSignal, _completeError)});
            return;
          }
          keepGoing = result;
        }
        doneSignal[_complete](null);
      }, T$.boolTovoid())));
      nextIteration$35get()(true);
      return doneSignal;
    }
  }
  (Future[dart.mixinNew] = function() {
  }).prototype = Future.prototype;
  dart.addTypeTests(Future);
  Future.prototype[dart.isFuture] = true;
  dart.addTypeCaches(Future);
  dart.setLibraryUri(Future, I[30]);
  return Future;
});
async.Future = async.Future$();
dart.defineLazy(async.Future, {
  /*async.Future._nullFuture*/get _nullFuture() {
    return T$._FutureOfNull().as(_internal.nullFuture);
  },
  /*async.Future._falseFuture*/get _falseFuture() {
    return new (T$._FutureOfbool()).zoneValue(false, async._rootZone);
  }
}, false);
dart.addTypeTests(async.Future, dart.isFuture);
var message$1 = dart.privateName(async, "TimeoutException.message");
var duration$ = dart.privateName(async, "TimeoutException.duration");
async.TimeoutException = class TimeoutException extends core.Object {
  get message() {
    return this[message$1];
  }
  set message(value) {
    super.message = value;
  }
  get duration() {
    return this[duration$];
  }
  set duration(value) {
    super.duration = value;
  }
  toString() {
    let result = "TimeoutException";
    if (this.duration != null) result = "TimeoutException after " + dart.str(this.duration);
    if (this.message != null) result = result + ": " + dart.str(this.message);
    return result;
  }
};
(async.TimeoutException.new = function(message, duration = null) {
  this[message$1] = message;
  this[duration$] = duration;
  ;
}).prototype = async.TimeoutException.prototype;
dart.addTypeTests(async.TimeoutException);
dart.addTypeCaches(async.TimeoutException);
async.TimeoutException[dart.implements] = () => [core.Exception];
dart.setLibraryUri(async.TimeoutException, I[30]);
dart.setFieldSignature(async.TimeoutException, () => ({
  __proto__: dart.getFields(async.TimeoutException.__proto__),
  message: dart.finalFieldType(dart.nullable(core.String)),
  duration: dart.finalFieldType(dart.nullable(core.Duration))
}));
dart.defineExtensionMethods(async.TimeoutException, ['toString']);
const _is_Completer_default = Symbol('_is_Completer_default');
async.Completer$ = dart.generic(T => {
  class Completer extends core.Object {
    static new() {
      return new (async._AsyncCompleter$(T)).new();
    }
    static sync() {
      return new (async._SyncCompleter$(T)).new();
    }
  }
  (Completer[dart.mixinNew] = function() {
  }).prototype = Completer.prototype;
  dart.addTypeTests(Completer);
  Completer.prototype[_is_Completer_default] = true;
  dart.addTypeCaches(Completer);
  dart.setLibraryUri(Completer, I[30]);
  return Completer;
});
async.Completer = async.Completer$();
dart.addTypeTests(async.Completer, _is_Completer_default);
const _is__Completer_default = Symbol('_is__Completer_default');
async._Completer$ = dart.generic(T => {
  var __t$_FutureOfT = () => (__t$_FutureOfT = dart.constFn(async._Future$(T)))();
  class _Completer extends core.Object {
    completeError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[69], 21, 29, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      if (!dart.test(this.future[_mayComplete])) dart.throw(new core.StateError.new("Future already completed"));
      let replacement = async.Zone.current.errorCallback(error, stackTrace);
      if (replacement != null) {
        error = replacement.error;
        stackTrace = replacement.stackTrace;
      } else {
        stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
      }
      if (stackTrace == null) dart.throw("unreachable");
      this[_completeError](error, stackTrace);
    }
    get isCompleted() {
      return !dart.test(this.future[_mayComplete]);
    }
  }
  (_Completer.new = function() {
    this.future = new (__t$_FutureOfT()).new();
    ;
  }).prototype = _Completer.prototype;
  dart.addTypeTests(_Completer);
  _Completer.prototype[_is__Completer_default] = true;
  dart.addTypeCaches(_Completer);
  _Completer[dart.implements] = () => [async.Completer$(T)];
  dart.setMethodSignature(_Completer, () => ({
    __proto__: dart.getMethods(_Completer.__proto__),
    completeError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)])
  }));
  dart.setGetterSignature(_Completer, () => ({
    __proto__: dart.getGetters(_Completer.__proto__),
    isCompleted: core.bool
  }));
  dart.setLibraryUri(_Completer, I[30]);
  dart.setFieldSignature(_Completer, () => ({
    __proto__: dart.getFields(_Completer.__proto__),
    future: dart.finalFieldType(async._Future$(T))
  }));
  return _Completer;
});
async._Completer = async._Completer$();
dart.addTypeTests(async._Completer, _is__Completer_default);
const _is__AsyncCompleter_default = Symbol('_is__AsyncCompleter_default');
async._AsyncCompleter$ = dart.generic(T => {
  var __t$FutureOrOfT = () => (__t$FutureOrOfT = dart.constFn(async.FutureOr$(T)))();
  var __t$FutureOrNOfT = () => (__t$FutureOrNOfT = dart.constFn(dart.nullable(__t$FutureOrOfT())))();
  class _AsyncCompleter extends async._Completer$(T) {
    complete(value = null) {
      __t$FutureOrNOfT().as(value);
      if (!dart.test(this.future[_mayComplete])) dart.throw(new core.StateError.new("Future already completed"));
      this.future[_asyncComplete](__t$FutureOrOfT().as(value == null ? value : value));
    }
    [_completeError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[69], 49, 30, "error");
      if (stackTrace == null) dart.nullFailed(I[69], 49, 48, "stackTrace");
      this.future[_asyncCompleteError](error, stackTrace);
    }
  }
  (_AsyncCompleter.new = function() {
    _AsyncCompleter.__proto__.new.call(this);
    ;
  }).prototype = _AsyncCompleter.prototype;
  dart.addTypeTests(_AsyncCompleter);
  _AsyncCompleter.prototype[_is__AsyncCompleter_default] = true;
  dart.addTypeCaches(_AsyncCompleter);
  dart.setMethodSignature(_AsyncCompleter, () => ({
    __proto__: dart.getMethods(_AsyncCompleter.__proto__),
    complete: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
    [_completeError]: dart.fnType(dart.void, [core.Object, core.StackTrace])
  }));
  dart.setLibraryUri(_AsyncCompleter, I[30]);
  return _AsyncCompleter;
});
async._AsyncCompleter = async._AsyncCompleter$();
dart.addTypeTests(async._AsyncCompleter, _is__AsyncCompleter_default);
const _is__SyncCompleter_default = Symbol('_is__SyncCompleter_default');
async._SyncCompleter$ = dart.generic(T => {
  var __t$FutureOrOfT = () => (__t$FutureOrOfT = dart.constFn(async.FutureOr$(T)))();
  var __t$FutureOrNOfT = () => (__t$FutureOrNOfT = dart.constFn(dart.nullable(__t$FutureOrOfT())))();
  class _SyncCompleter extends async._Completer$(T) {
    complete(value = null) {
      __t$FutureOrNOfT().as(value);
      if (!dart.test(this.future[_mayComplete])) dart.throw(new core.StateError.new("Future already completed"));
      this.future[_complete](__t$FutureOrOfT().as(value == null ? value : value));
    }
    [_completeError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[69], 60, 30, "error");
      if (stackTrace == null) dart.nullFailed(I[69], 60, 48, "stackTrace");
      this.future[_completeError](error, stackTrace);
    }
  }
  (_SyncCompleter.new = function() {
    _SyncCompleter.__proto__.new.call(this);
    ;
  }).prototype = _SyncCompleter.prototype;
  dart.addTypeTests(_SyncCompleter);
  _SyncCompleter.prototype[_is__SyncCompleter_default] = true;
  dart.addTypeCaches(_SyncCompleter);
  dart.setMethodSignature(_SyncCompleter, () => ({
    __proto__: dart.getMethods(_SyncCompleter.__proto__),
    complete: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
    [_completeError]: dart.fnType(dart.void, [core.Object, core.StackTrace])
  }));
  dart.setLibraryUri(_SyncCompleter, I[30]);
  return _SyncCompleter;
});
async._SyncCompleter = async._SyncCompleter$();
dart.addTypeTests(async._SyncCompleter, _is__SyncCompleter_default);
var _nextListener = dart.privateName(async, "_nextListener");
var _onValue = dart.privateName(async, "_onValue");
var _errorTest = dart.privateName(async, "_errorTest");
var _whenCompleteAction = dart.privateName(async, "_whenCompleteAction");
const _is__FutureListener_default = Symbol('_is__FutureListener_default');
async._FutureListener$ = dart.generic((S, T) => {
  var __t$SToFutureOrOfT = () => (__t$SToFutureOrOfT = dart.constFn(dart.fnType(__t$FutureOrOfT(), [S])))();
  var __t$FutureOrOfT = () => (__t$FutureOrOfT = dart.constFn(async.FutureOr$(T)))();
  var __t$FutureOfT = () => (__t$FutureOfT = dart.constFn(async.Future$(T)))();
  class _FutureListener extends core.Object {
    get [_zone$]() {
      return this.result[_zone$];
    }
    get handlesValue() {
      return (dart.notNull(this.state) & 1) !== 0;
    }
    get handlesError() {
      return (dart.notNull(this.state) & 2) !== 0;
    }
    get hasErrorTest() {
      return (dart.notNull(this.state) & 15) >>> 0 === 6;
    }
    get handlesComplete() {
      return (dart.notNull(this.state) & 15) >>> 0 === 8;
    }
    get isAwait() {
      return (dart.notNull(this.state) & 16) !== 0;
    }
    get [_onValue]() {
      if (!dart.test(this.handlesValue)) dart.assertFailed(null, I[69], 133, 12, "handlesValue");
      return __t$SToFutureOrOfT().as(this.callback);
    }
    get [_onError$]() {
      return this.errorCallback;
    }
    get [_errorTest]() {
      if (!dart.test(this.hasErrorTest)) dart.assertFailed(null, I[69], 140, 12, "hasErrorTest");
      return T$.ObjectTobool().as(this.callback);
    }
    get [_whenCompleteAction]() {
      if (!dart.test(this.handlesComplete)) dart.assertFailed(null, I[69], 145, 12, "handlesComplete");
      return T$.VoidTodynamic().as(this.callback);
    }
    get hasErrorCallback() {
      if (!dart.test(this.handlesError)) dart.assertFailed(null, I[69], 153, 12, "handlesError");
      return this[_onError$] != null;
    }
    handleValue(sourceResult) {
      S.as(sourceResult);
      return this[_zone$].runUnary(__t$FutureOrOfT(), S, this[_onValue], sourceResult);
    }
    matchesErrorTest(asyncError) {
      if (asyncError == null) dart.nullFailed(I[69], 163, 36, "asyncError");
      if (!dart.test(this.hasErrorTest)) return true;
      return this[_zone$].runUnary(core.bool, core.Object, this[_errorTest], asyncError.error);
    }
    handleError(asyncError) {
      if (asyncError == null) dart.nullFailed(I[69], 168, 38, "asyncError");
      if (!(dart.test(this.handlesError) && dart.test(this.hasErrorCallback))) dart.assertFailed(null, I[69], 169, 12, "handlesError && hasErrorCallback");
      let errorCallback = this.errorCallback;
      let result = null;
      if (T$.ObjectAndStackTraceTodynamic().is(errorCallback)) {
        result = this[_zone$].runBinary(dart.dynamic, core.Object, core.StackTrace, errorCallback, asyncError.error, asyncError.stackTrace);
      } else {
        result = this[_zone$].runUnary(dart.dynamic, core.Object, T$.ObjectTodynamic().as(errorCallback), asyncError.error);
      }
      try {
        return __t$FutureOrOfT().as(result);
      } catch (e) {
        let ex = dart.getThrown(e);
        if (core.TypeError.is(ex)) {
          if (dart.test(this.handlesValue)) {
            dart.throw(new core.ArgumentError.new("The error handler of Future.then" + " must return a value of the returned future's type", "onError"));
          }
          dart.throw(new core.ArgumentError.new("The error handler of " + "Future.catchError must return a value of the future's type", "onError"));
        } else
          throw e;
      }
    }
    handleWhenComplete() {
      if (!!dart.test(this.handlesError)) dart.assertFailed(null, I[69], 202, 12, "!handlesError");
      return this[_zone$].run(dart.dynamic, this[_whenCompleteAction]);
    }
    shouldChain(value) {
      if (value == null) dart.nullFailed(I[69], 209, 36, "value");
      return __t$FutureOfT().is(value) || !T.is(value);
    }
  }
  (_FutureListener.then = function(result, onValue, errorCallback) {
    if (result == null) dart.nullFailed(I[69], 105, 12, "result");
    if (onValue == null) dart.nullFailed(I[69], 105, 44, "onValue");
    this[_nextListener] = null;
    this.result = result;
    this.callback = onValue;
    this.errorCallback = errorCallback;
    this.state = errorCallback == null ? 1 : 3;
    ;
  }).prototype = _FutureListener.prototype;
  (_FutureListener.thenAwait = function(result, onValue, errorCallback) {
    if (result == null) dart.nullFailed(I[69], 111, 12, "result");
    if (onValue == null) dart.nullFailed(I[69], 111, 41, "onValue");
    if (errorCallback == null) dart.nullFailed(I[69], 111, 59, "errorCallback");
    this[_nextListener] = null;
    this.result = result;
    this.callback = onValue;
    this.errorCallback = errorCallback;
    this.state = ((errorCallback == null ? 1 : 3) | 16) >>> 0;
    ;
  }).prototype = _FutureListener.prototype;
  (_FutureListener.catchError = function(result, errorCallback, callback) {
    if (result == null) dart.nullFailed(I[69], 117, 35, "result");
    this[_nextListener] = null;
    this.result = result;
    this.errorCallback = errorCallback;
    this.callback = callback;
    this.state = callback == null ? 2 : 6;
    ;
  }).prototype = _FutureListener.prototype;
  (_FutureListener.whenComplete = function(result, callback) {
    if (result == null) dart.nullFailed(I[69], 120, 37, "result");
    this[_nextListener] = null;
    this.result = result;
    this.callback = callback;
    this.errorCallback = null;
    this.state = 8;
    ;
  }).prototype = _FutureListener.prototype;
  dart.addTypeTests(_FutureListener);
  _FutureListener.prototype[_is__FutureListener_default] = true;
  dart.addTypeCaches(_FutureListener);
  dart.setMethodSignature(_FutureListener, () => ({
    __proto__: dart.getMethods(_FutureListener.__proto__),
    handleValue: dart.fnType(async.FutureOr$(T), [dart.nullable(core.Object)]),
    matchesErrorTest: dart.fnType(core.bool, [async.AsyncError]),
    handleError: dart.fnType(async.FutureOr$(T), [async.AsyncError]),
    handleWhenComplete: dart.fnType(dart.dynamic, []),
    shouldChain: dart.fnType(core.bool, [async.Future])
  }));
  dart.setGetterSignature(_FutureListener, () => ({
    __proto__: dart.getGetters(_FutureListener.__proto__),
    [_zone$]: async._Zone,
    handlesValue: core.bool,
    handlesError: core.bool,
    hasErrorTest: core.bool,
    handlesComplete: core.bool,
    isAwait: core.bool,
    [_onValue]: dart.fnType(async.FutureOr$(T), [S]),
    [_onError$]: dart.nullable(core.Function),
    [_errorTest]: dart.fnType(core.bool, [core.Object]),
    [_whenCompleteAction]: dart.fnType(dart.dynamic, []),
    hasErrorCallback: core.bool
  }));
  dart.setLibraryUri(_FutureListener, I[30]);
  dart.setFieldSignature(_FutureListener, () => ({
    __proto__: dart.getFields(_FutureListener.__proto__),
    [_nextListener]: dart.fieldType(dart.nullable(async._FutureListener)),
    result: dart.finalFieldType(async._Future$(T)),
    state: dart.finalFieldType(core.int),
    callback: dart.finalFieldType(dart.nullable(core.Function)),
    errorCallback: dart.finalFieldType(dart.nullable(core.Function))
  }));
  return _FutureListener;
});
async._FutureListener = async._FutureListener$();
dart.defineLazy(async._FutureListener, {
  /*async._FutureListener.maskValue*/get maskValue() {
    return 1;
  },
  /*async._FutureListener.maskError*/get maskError() {
    return 2;
  },
  /*async._FutureListener.maskTestError*/get maskTestError() {
    return 4;
  },
  /*async._FutureListener.maskWhenComplete*/get maskWhenComplete() {
    return 8;
  },
  /*async._FutureListener.stateChain*/get stateChain() {
    return 0;
  },
  /*async._FutureListener.stateThen*/get stateThen() {
    return 1;
  },
  /*async._FutureListener.stateThenOnerror*/get stateThenOnerror() {
    return 3;
  },
  /*async._FutureListener.stateCatchError*/get stateCatchError() {
    return 2;
  },
  /*async._FutureListener.stateCatchErrorTest*/get stateCatchErrorTest() {
    return 6;
  },
  /*async._FutureListener.stateWhenComplete*/get stateWhenComplete() {
    return 8;
  },
  /*async._FutureListener.maskType*/get maskType() {
    return 15;
  },
  /*async._FutureListener.stateIsAwait*/get stateIsAwait() {
    return 16;
  }
}, false);
dart.addTypeTests(async._FutureListener, _is__FutureListener_default);
var _resultOrListeners = dart.privateName(async, "_resultOrListeners");
var _setValue = dart.privateName(async, "_setValue");
var _isPendingComplete = dart.privateName(async, "_isPendingComplete");
var _mayAddListener = dart.privateName(async, "_mayAddListener");
var _isChained = dart.privateName(async, "_isChained");
var _isComplete = dart.privateName(async, "_isComplete");
var _hasError = dart.privateName(async, "_hasError");
var _ignoreError = dart.privateName(async, "_ignoreError");
var _setChained = dart.privateName(async, "_setChained");
var _ignore = dart.privateName(async, "_ignore");
var _setPendingComplete = dart.privateName(async, "_setPendingComplete");
var _clearPendingComplete = dart.privateName(async, "_clearPendingComplete");
var _error = dart.privateName(async, "_error");
var _chainSource = dart.privateName(async, "_chainSource");
var _setErrorObject = dart.privateName(async, "_setErrorObject");
var _setError = dart.privateName(async, "_setError");
var _cloneResult = dart.privateName(async, "_cloneResult");
var _prependListeners = dart.privateName(async, "_prependListeners");
var _reverseListeners = dart.privateName(async, "_reverseListeners");
var _removeListeners = dart.privateName(async, "_removeListeners");
var _chainFuture = dart.privateName(async, "_chainFuture");
var _asyncCompleteWithValue = dart.privateName(async, "_asyncCompleteWithValue");
const _is__Future_default = Symbol('_is__Future_default');
async._Future$ = dart.generic(T => {
  var __t$_FutureOfT = () => (__t$_FutureOfT = dart.constFn(async._Future$(T)))();
  var __t$_FutureListenerOfT$T = () => (__t$_FutureListenerOfT$T = dart.constFn(async._FutureListener$(T, T)))();
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  var __t$FutureOrOfT = () => (__t$FutureOrOfT = dart.constFn(async.FutureOr$(T)))();
  var __t$FutureOfT = () => (__t$FutureOfT = dart.constFn(async.Future$(T)))();
  var __t$VoidToFutureOrOfT = () => (__t$VoidToFutureOrOfT = dart.constFn(dart.fnType(__t$FutureOrOfT(), [])))();
  var __t$VoidToNFutureOrOfT = () => (__t$VoidToNFutureOrOfT = dart.constFn(dart.nullable(__t$VoidToFutureOrOfT())))();
  var __t$TToNull = () => (__t$TToNull = dart.constFn(dart.fnType(core.Null, [T])))();
  class _Future extends core.Object {
    get [_mayComplete]() {
      return (dart.notNull(this[_state]) & 30) >>> 0 === 0;
    }
    get [_isPendingComplete]() {
      return (dart.notNull(this[_state]) & 2) !== 0;
    }
    get [_mayAddListener]() {
      return dart.notNull(this[_state]) <= (2 | 1) >>> 0;
    }
    get [_isChained]() {
      return (dart.notNull(this[_state]) & 4) !== 0;
    }
    get [_isComplete]() {
      return (dart.notNull(this[_state]) & (8 | 16) >>> 0) !== 0;
    }
    get [_hasError]() {
      return (dart.notNull(this[_state]) & 16) !== 0;
    }
    get [_ignoreError]() {
      return (dart.notNull(this[_state]) & 1) !== 0;
    }
    static _continuationFunctions(future) {
      let t109;
      if (future == null) dart.nullFailed(I[69], 308, 65, "future");
      let result = null;
      while (true) {
        if (dart.test(future[_mayAddListener])) return result;
        if (!!dart.test(future[_isComplete])) dart.assertFailed(null, I[69], 312, 14, "!future._isComplete");
        if (!!dart.test(future[_isChained])) dart.assertFailed(null, I[69], 313, 14, "!future._isChained");
        let listener = T$._FutureListenerNOfObject$Object().as(future[_resultOrListeners]);
        if (listener != null && listener[_nextListener] == null && dart.test(listener.isAwait)) {
          (t109 = result, t109 == null ? result = T$.JSArrayOfFunction().of([]) : t109)[$add](dart.bind(listener, 'handleValue'));
          future = listener.result;
          if (!!dart.test(future[_isComplete])) dart.assertFailed(null, I[69], 321, 16, "!future._isComplete");
        } else {
          break;
        }
      }
      return result;
    }
    [_setChained](source) {
      if (source == null) dart.nullFailed(I[69], 329, 28, "source");
      if (!dart.test(this[_mayAddListener])) dart.assertFailed(null, I[69], 330, 12, "_mayAddListener");
      this[_state] = (4 | (dart.notNull(this[_state]) & 1) >>> 0) >>> 0;
      this[_resultOrListeners] = source;
    }
    then(R, f, opts) {
      if (f == null) dart.nullFailed(I[69], 335, 33, "f");
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let currentZone = async.Zone.current;
      if (currentZone == async._rootZone) {
        if (onError != null && !T$.ObjectAndStackTraceTodynamic().is(onError) && !T$.ObjectTodynamic().is(onError)) {
          dart.throw(new core.ArgumentError.value(onError, "onError", "Error handler must accept one Object or one Object and a StackTrace" + " as arguments, and return a value of the returned future's type"));
        }
      } else {
        f = currentZone.registerUnaryCallback(async.FutureOr$(R), T, f);
        if (onError != null) {
          onError = async._registerErrorHandler(onError, currentZone);
        }
      }
      let result = new (async._Future$(R)).new();
      this[_addListener](new (async._FutureListener$(T, R)).then(result, f, onError));
      return result;
    }
    [_thenAwait](E, f, onError) {
      if (f == null) dart.nullFailed(I[69], 367, 39, "f");
      if (onError == null) dart.nullFailed(I[69], 367, 60, "onError");
      let result = new (async._Future$(E)).new();
      this[_addListener](new (async._FutureListener$(T, E)).thenAwait(result, f, onError));
      return result;
    }
    [_ignore]() {
      this[_state] = (dart.notNull(this[_state]) | 1) >>> 0;
    }
    catchError(onError, opts) {
      if (onError == null) dart.nullFailed(I[69], 377, 33, "onError");
      let test = opts && 'test' in opts ? opts.test : null;
      let result = new (__t$_FutureOfT()).new();
      if (result[_zone$] != async._rootZone) {
        onError = async._registerErrorHandler(onError, result[_zone$]);
        if (test != null) test = result[_zone$].registerUnaryCallback(core.bool, core.Object, test);
      }
      this[_addListener](new (__t$_FutureListenerOfT$T()).catchError(result, onError, test));
      return result;
    }
    whenComplete(action) {
      if (action == null) dart.nullFailed(I[69], 387, 34, "action");
      let result = new (__t$_FutureOfT()).new();
      if (result[_zone$] != async._rootZone) {
        action = result[_zone$].registerCallback(dart.dynamic, action);
      }
      this[_addListener](new (__t$_FutureListenerOfT$T()).whenComplete(result, action));
      return result;
    }
    asStream() {
      return __t$StreamOfT().fromFuture(this);
    }
    [_setPendingComplete]() {
      if (!dart.test(this[_mayComplete])) dart.assertFailed(null, I[69], 399, 12, "_mayComplete");
      this[_state] = (dart.notNull(this[_state]) ^ (0 ^ 2) >>> 0) >>> 0;
    }
    [_clearPendingComplete]() {
      if (!dart.test(this[_isPendingComplete])) dart.assertFailed(null, I[69], 404, 12, "_isPendingComplete");
      this[_state] = (dart.notNull(this[_state]) ^ (2 ^ 0) >>> 0) >>> 0;
    }
    get [_error]() {
      if (!dart.test(this[_hasError])) dart.assertFailed(null, I[69], 409, 12, "_hasError");
      return async.AsyncError.as(this[_resultOrListeners]);
    }
    get [_chainSource]() {
      if (!dart.test(this[_isChained])) dart.assertFailed(null, I[69], 414, 12, "_isChained");
      return async._Future.as(this[_resultOrListeners]);
    }
    [_setValue](value) {
      T.as(value);
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 420, 12, "!_isComplete");
      this[_state] = 8;
      this[_resultOrListeners] = value;
    }
    [_setErrorObject](error) {
      if (error == null) dart.nullFailed(I[69], 425, 35, "error");
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 426, 12, "!_isComplete");
      this[_state] = (16 | (dart.notNull(this[_state]) & 1) >>> 0) >>> 0;
      this[_resultOrListeners] = error;
    }
    [_setError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[69], 431, 25, "error");
      if (stackTrace == null) dart.nullFailed(I[69], 431, 43, "stackTrace");
      this[_setErrorObject](new async.AsyncError.new(error, stackTrace));
    }
    [_cloneResult](source) {
      if (source == null) dart.nullFailed(I[69], 438, 29, "source");
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 439, 12, "!_isComplete");
      if (!dart.test(source[_isComplete])) dart.assertFailed(null, I[69], 440, 12, "source._isComplete");
      this[_state] = (dart.notNull(source[_state]) & 30 | (dart.notNull(this[_state]) & 1) >>> 0) >>> 0;
      this[_resultOrListeners] = source[_resultOrListeners];
    }
    [_addListener](listener) {
      if (listener == null) dart.nullFailed(I[69], 446, 37, "listener");
      if (!(listener[_nextListener] == null)) dart.assertFailed(null, I[69], 447, 12, "listener._nextListener == null");
      if (dart.test(this[_mayAddListener])) {
        listener[_nextListener] = T$._FutureListenerN().as(this[_resultOrListeners]);
        this[_resultOrListeners] = listener;
      } else {
        if (dart.test(this[_isChained])) {
          let source = this[_chainSource];
          if (!dart.test(source[_isComplete])) {
            source[_addListener](listener);
            return;
          }
          this[_cloneResult](source);
        }
        if (!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 463, 14, "_isComplete");
        this[_zone$].scheduleMicrotask(dart.fn(() => {
          async._Future._propagateToListeners(this, listener);
        }, T$.VoidTovoid()));
      }
    }
    [_prependListeners](listeners) {
      if (listeners == null) return;
      if (dart.test(this[_mayAddListener])) {
        let existingListeners = T$._FutureListenerN().as(this[_resultOrListeners]);
        this[_resultOrListeners] = listeners;
        if (existingListeners != null) {
          let cursor = listeners;
          let next = cursor[_nextListener];
          while (next != null) {
            cursor = next;
            next = cursor[_nextListener];
          }
          cursor[_nextListener] = existingListeners;
        }
      } else {
        if (dart.test(this[_isChained])) {
          let source = this[_chainSource];
          if (!dart.test(source[_isComplete])) {
            source[_prependListeners](listeners);
            return;
          }
          this[_cloneResult](source);
        }
        if (!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 497, 14, "_isComplete");
        listeners = this[_reverseListeners](listeners);
        this[_zone$].scheduleMicrotask(dart.fn(() => {
          async._Future._propagateToListeners(this, listeners);
        }, T$.VoidTovoid()));
      }
    }
    [_removeListeners]() {
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 508, 12, "!_isComplete");
      let current = T$._FutureListenerN().as(this[_resultOrListeners]);
      this[_resultOrListeners] = null;
      return this[_reverseListeners](current);
    }
    [_reverseListeners](listeners) {
      let prev = null;
      let current = listeners;
      while (current != null) {
        let next = current[_nextListener];
        current[_nextListener] = prev;
        prev = current;
        current = next;
      }
      return prev;
    }
    [_chainForeignFuture](source) {
      if (source == null) dart.nullFailed(I[69], 530, 35, "source");
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 531, 12, "!_isComplete");
      if (!!async._Future.is(source)) dart.assertFailed(null, I[69], 532, 12, "source is! _Future");
      this[_setPendingComplete]();
      try {
        source.then(core.Null, dart.fn(value => {
          if (!dart.test(this[_isPendingComplete])) dart.assertFailed(null, I[69], 538, 16, "_isPendingComplete");
          this[_clearPendingComplete]();
          try {
            this[_completeWithValue](T.as(value));
          } catch (e) {
            let error = dart.getThrown(e);
            let stackTrace = dart.stackTrace(e);
            if (core.Object.is(error)) {
              this[_completeError](error, stackTrace);
            } else
              throw e;
          }
        }, T$.dynamicToNull()), {onError: dart.fn((error, stackTrace) => {
            if (error == null) dart.nullFailed(I[69], 545, 27, "error");
            if (stackTrace == null) dart.nullFailed(I[69], 545, 45, "stackTrace");
            if (!dart.test(this[_isPendingComplete])) dart.assertFailed(null, I[69], 546, 16, "_isPendingComplete");
            this[_completeError](error, stackTrace);
          }, T$.ObjectAndStackTraceToNull())});
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          async.scheduleMicrotask(dart.fn(() => {
            this[_completeError](e, s);
          }, T$.VoidTovoid()));
        } else
          throw e$;
      }
    }
    static _chainCoreFuture(source, target) {
      if (source == null) dart.nullFailed(I[69], 562, 40, "source");
      if (target == null) dart.nullFailed(I[69], 562, 56, "target");
      if (!dart.test(target[_mayAddListener])) dart.assertFailed(null, I[69], 563, 12, "target._mayAddListener");
      while (dart.test(source[_isChained])) {
        source = source[_chainSource];
      }
      if (dart.test(source[_isComplete])) {
        let listeners = target[_removeListeners]();
        target[_cloneResult](source);
        async._Future._propagateToListeners(target, listeners);
      } else {
        let listeners = T$._FutureListenerN().as(target[_resultOrListeners]);
        target[_setChained](source);
        source[_prependListeners](listeners);
      }
    }
    [_complete](value) {
      __t$FutureOrOfT().as(value);
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 579, 12, "!_isComplete");
      if (__t$FutureOfT().is(value)) {
        if (__t$_FutureOfT().is(value)) {
          async._Future._chainCoreFuture(value, this);
        } else {
          this[_chainForeignFuture](value);
        }
      } else {
        let listeners = this[_removeListeners]();
        this[_setValue](T.as(value));
        async._Future._propagateToListeners(this, listeners);
      }
    }
    [_completeWithValue](value) {
      T.as(value);
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 598, 12, "!_isComplete");
      let listeners = this[_removeListeners]();
      this[_setValue](value);
      async._Future._propagateToListeners(this, listeners);
    }
    [_completeError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[69], 605, 30, "error");
      if (stackTrace == null) dart.nullFailed(I[69], 605, 48, "stackTrace");
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 606, 12, "!_isComplete");
      let listeners = this[_removeListeners]();
      this[_setError](error, stackTrace);
      async._Future._propagateToListeners(this, listeners);
    }
    [_asyncComplete](value) {
      __t$FutureOrOfT().as(value);
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 614, 12, "!_isComplete");
      if (__t$FutureOfT().is(value)) {
        this[_chainFuture](value);
        return;
      }
      this[_asyncCompleteWithValue](T.as(value));
    }
    [_asyncCompleteWithValue](value) {
      T.as(value);
      this[_setPendingComplete]();
      this[_zone$].scheduleMicrotask(dart.fn(() => {
        this[_completeWithValue](value);
      }, T$.VoidTovoid()));
    }
    [_chainFuture](value) {
      if (value == null) dart.nullFailed(I[69], 644, 31, "value");
      if (__t$_FutureOfT().is(value)) {
        if (dart.test(value[_hasError])) {
          this[_setPendingComplete]();
          this[_zone$].scheduleMicrotask(dart.fn(() => {
            async._Future._chainCoreFuture(value, this);
          }, T$.VoidTovoid()));
        } else {
          async._Future._chainCoreFuture(value, this);
        }
        return;
      }
      this[_chainForeignFuture](value);
    }
    [_asyncCompleteError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[69], 661, 35, "error");
      if (stackTrace == null) dart.nullFailed(I[69], 661, 53, "stackTrace");
      if (!!dart.test(this[_isComplete])) dart.assertFailed(null, I[69], 662, 12, "!_isComplete");
      this[_setPendingComplete]();
      this[_zone$].scheduleMicrotask(dart.fn(() => {
        this[_completeError](error, stackTrace);
      }, T$.VoidTovoid()));
    }
    static _propagateToListeners(source, listeners) {
      if (source == null) dart.nullFailed(I[69], 673, 15, "source");
      while (true) {
        if (!dart.test(source[_isComplete])) dart.assertFailed(null, I[69], 675, 14, "source._isComplete");
        let hasError = source[_hasError];
        if (listeners == null) {
          if (dart.test(hasError) && !dart.test(source[_ignoreError])) {
            let asyncError = source[_error];
            source[_zone$].handleUncaughtError(asyncError.error, asyncError.stackTrace);
          }
          return;
        }
        let listener = listeners;
        let nextListener = listener[_nextListener];
        while (nextListener != null) {
          listener[_nextListener] = null;
          async._Future._propagateToListeners(source, listener);
          listener = nextListener;
          nextListener = listener[_nextListener];
        }
        let sourceResult = source[_resultOrListeners];
        let listenerHasError = hasError;
        let listenerValueOrError = sourceResult;
        if (dart.test(hasError) || dart.test(listener.handlesValue) || dart.test(listener.handlesComplete)) {
          let zone = listener[_zone$];
          if (dart.test(hasError) && !dart.test(source[_zone$].inSameErrorZone(zone))) {
            let asyncError = source[_error];
            source[_zone$].handleUncaughtError(asyncError.error, asyncError.stackTrace);
            return;
          }
          let oldZone = null;
          if (async.Zone._current != zone) {
            oldZone = async.Zone._enter(zone);
          }
          function handleWhenCompleteCallback() {
            if (!!dart.test(listener.handlesValue)) dart.assertFailed(null, I[69], 733, 18, "!listener.handlesValue");
            if (!!dart.test(listener.handlesError)) dart.assertFailed(null, I[69], 734, 18, "!listener.handlesError");
            let completeResult = null;
            try {
              completeResult = listener.handleWhenComplete();
            } catch (e$) {
              let e = dart.getThrown(e$);
              let s = dart.stackTrace(e$);
              if (core.Object.is(e)) {
                if (dart.test(hasError) && core.identical(source[_error].error, e)) {
                  listenerValueOrError = source[_error];
                } else {
                  listenerValueOrError = new async.AsyncError.new(e, s);
                }
                listenerHasError = true;
                return;
              } else
                throw e$;
            }
            if (async._Future.is(completeResult) && dart.test(completeResult[_isComplete])) {
              if (dart.test(completeResult[_hasError])) {
                listenerValueOrError = completeResult[_error];
                listenerHasError = true;
              }
              return;
            }
            if (async.Future.is(completeResult)) {
              let originalSource = source;
              listenerValueOrError = completeResult.then(dart.dynamic, dart.fn(_ => originalSource, T$.dynamicTo_Future()));
              listenerHasError = false;
            }
          }
          dart.fn(handleWhenCompleteCallback, T$.VoidTovoid());
          function handleValueCallback() {
            try {
              listenerValueOrError = listener.handleValue(sourceResult);
            } catch (e$) {
              let e = dart.getThrown(e$);
              let s = dart.stackTrace(e$);
              if (core.Object.is(e)) {
                listenerValueOrError = new async.AsyncError.new(e, s);
                listenerHasError = true;
              } else
                throw e$;
            }
          }
          dart.fn(handleValueCallback, T$.VoidTovoid());
          function handleError() {
            try {
              let asyncError = source[_error];
              if (dart.test(listener.matchesErrorTest(asyncError)) && dart.test(listener.hasErrorCallback)) {
                listenerValueOrError = listener.handleError(asyncError);
                listenerHasError = false;
              }
            } catch (e$) {
              let e = dart.getThrown(e$);
              let s = dart.stackTrace(e$);
              if (core.Object.is(e)) {
                if (core.identical(source[_error].error, e)) {
                  listenerValueOrError = source[_error];
                } else {
                  listenerValueOrError = new async.AsyncError.new(e, s);
                }
                listenerHasError = true;
              } else
                throw e$;
            }
          }
          dart.fn(handleError, T$.VoidTovoid());
          if (dart.test(listener.handlesComplete)) {
            handleWhenCompleteCallback();
          } else if (!dart.test(hasError)) {
            if (dart.test(listener.handlesValue)) {
              handleValueCallback();
            }
          } else {
            if (dart.test(listener.handlesError)) {
              handleError();
            }
          }
          if (oldZone != null) async.Zone._leave(oldZone);
          if (async.Future.is(listenerValueOrError) && dart.test(listener.shouldChain(async.Future.as(listenerValueOrError)))) {
            let chainSource = async.Future.as(listenerValueOrError);
            let result = listener.result;
            if (async._Future.is(chainSource)) {
              if (dart.test(chainSource[_isComplete])) {
                listeners = result[_removeListeners]();
                result[_cloneResult](chainSource);
                source = chainSource;
                continue;
              } else {
                async._Future._chainCoreFuture(chainSource, result);
              }
            } else {
              result[_chainForeignFuture](chainSource);
            }
            return;
          }
        }
        let result = listener.result;
        listeners = result[_removeListeners]();
        if (!dart.test(listenerHasError)) {
          result[_setValue](listenerValueOrError);
        } else {
          let asyncError = async.AsyncError.as(listenerValueOrError);
          result[_setErrorObject](asyncError);
        }
        source = result;
      }
    }
    timeout(timeLimit, opts) {
      if (timeLimit == null) dart.nullFailed(I[69], 846, 30, "timeLimit");
      let onTimeout = opts && 'onTimeout' in opts ? opts.onTimeout : null;
      __t$VoidToNFutureOrOfT().as(onTimeout);
      if (dart.test(this[_isComplete])) return new (__t$_FutureOfT()).immediate(this);
      let _future = new (__t$_FutureOfT()).new();
      let timer = null;
      if (onTimeout == null) {
        timer = async.Timer.new(timeLimit, dart.fn(() => {
          _future[_completeError](new async.TimeoutException.new("Future not completed", timeLimit), core.StackTrace.empty);
        }, T$.VoidTovoid()));
      } else {
        let zone = async.Zone.current;
        let onTimeoutHandler = zone.registerCallback(__t$FutureOrOfT(), onTimeout);
        timer = async.Timer.new(timeLimit, dart.fn(() => {
          try {
            _future[_complete](zone.run(__t$FutureOrOfT(), onTimeoutHandler));
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              _future[_completeError](e, s);
            } else
              throw e$;
          }
        }, T$.VoidTovoid()));
      }
      this.then(core.Null, dart.fn(v => {
        if (dart.test(timer.isActive)) {
          timer.cancel();
          _future[_completeWithValue](v);
        }
      }, __t$TToNull()), {onError: dart.fn((e, s) => {
          if (e == null) dart.nullFailed(I[69], 876, 25, "e");
          if (s == null) dart.nullFailed(I[69], 876, 39, "s");
          if (dart.test(timer.isActive)) {
            timer.cancel();
            _future[_completeError](e, s);
          }
        }, T$.ObjectAndStackTraceToNull())});
      return _future;
    }
  }
  (_Future.new = function() {
    this[_state] = 0;
    this[_resultOrListeners] = null;
    this[_zone$] = async.Zone._current;
    ;
  }).prototype = _Future.prototype;
  (_Future.immediate = function(result) {
    this[_state] = 0;
    this[_resultOrListeners] = null;
    this[_zone$] = async.Zone._current;
    this[_asyncComplete](result);
  }).prototype = _Future.prototype;
  (_Future.zoneValue = function(value, _zone) {
    if (_zone == null) dart.nullFailed(I[69], 287, 35, "_zone");
    this[_state] = 0;
    this[_resultOrListeners] = null;
    this[_zone$] = _zone;
    this[_setValue](value);
  }).prototype = _Future.prototype;
  (_Future.immediateError = function(error, stackTrace) {
    if (stackTrace == null) dart.nullFailed(I[69], 291, 48, "stackTrace");
    this[_state] = 0;
    this[_resultOrListeners] = null;
    this[_zone$] = async.Zone._current;
    this[_asyncCompleteError](core.Object.as(error), stackTrace);
  }).prototype = _Future.prototype;
  (_Future.value = function(value) {
    _Future.zoneValue.call(this, value, async.Zone._current);
  }).prototype = _Future.prototype;
  _Future.prototype[dart.isFuture] = true;
  dart.addTypeTests(_Future);
  _Future.prototype[_is__Future_default] = true;
  dart.addTypeCaches(_Future);
  _Future[dart.implements] = () => [async.Future$(T)];
  dart.setMethodSignature(_Future, () => ({
    __proto__: dart.getMethods(_Future.__proto__),
    [_setChained]: dart.fnType(dart.void, [async._Future]),
    then: dart.gFnType(R => [async.Future$(R), [dart.fnType(async.FutureOr$(R), [T])], {onError: dart.nullable(core.Function)}, {}], R => [dart.nullable(core.Object)]),
    [_thenAwait]: dart.gFnType(E => [async.Future$(E), [dart.fnType(async.FutureOr$(E), [T]), core.Function]], E => [dart.nullable(core.Object)]),
    [_ignore]: dart.fnType(dart.void, []),
    catchError: dart.fnType(async.Future$(T), [core.Function], {test: dart.nullable(dart.fnType(core.bool, [core.Object]))}, {}),
    whenComplete: dart.fnType(async.Future$(T), [dart.fnType(dart.dynamic, [])]),
    asStream: dart.fnType(async.Stream$(T), []),
    [_setPendingComplete]: dart.fnType(dart.void, []),
    [_clearPendingComplete]: dart.fnType(dart.void, []),
    [_setValue]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_setErrorObject]: dart.fnType(dart.void, [async.AsyncError]),
    [_setError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_cloneResult]: dart.fnType(dart.void, [async._Future]),
    [_addListener]: dart.fnType(dart.void, [async._FutureListener]),
    [_prependListeners]: dart.fnType(dart.void, [dart.nullable(async._FutureListener)]),
    [_removeListeners]: dart.fnType(dart.nullable(async._FutureListener), []),
    [_reverseListeners]: dart.fnType(dart.nullable(async._FutureListener), [dart.nullable(async._FutureListener)]),
    [_chainForeignFuture]: dart.fnType(dart.void, [async.Future]),
    [_complete]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_completeWithValue]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_completeError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_asyncComplete]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_asyncCompleteWithValue]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_chainFuture]: dart.fnType(dart.void, [async.Future$(T)]),
    [_asyncCompleteError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    timeout: dart.fnType(async.Future$(T), [core.Duration], {onTimeout: dart.nullable(core.Object)}, {})
  }));
  dart.setGetterSignature(_Future, () => ({
    __proto__: dart.getGetters(_Future.__proto__),
    [_mayComplete]: core.bool,
    [_isPendingComplete]: core.bool,
    [_mayAddListener]: core.bool,
    [_isChained]: core.bool,
    [_isComplete]: core.bool,
    [_hasError]: core.bool,
    [_ignoreError]: core.bool,
    [_error]: async.AsyncError,
    [_chainSource]: async._Future
  }));
  dart.setLibraryUri(_Future, I[30]);
  dart.setFieldSignature(_Future, () => ({
    __proto__: dart.getFields(_Future.__proto__),
    [_state]: dart.fieldType(core.int),
    [_zone$]: dart.finalFieldType(async._Zone),
    [_resultOrListeners]: dart.fieldType(dart.dynamic)
  }));
  return _Future;
});
async._Future = async._Future$();
dart.defineLazy(async._Future, {
  /*async._Future._stateIncomplete*/get _stateIncomplete() {
    return 0;
  },
  /*async._Future._stateIgnoreError*/get _stateIgnoreError() {
    return 1;
  },
  /*async._Future._statePendingComplete*/get _statePendingComplete() {
    return 2;
  },
  /*async._Future._stateChained*/get _stateChained() {
    return 4;
  },
  /*async._Future._stateValue*/get _stateValue() {
    return 8;
  },
  /*async._Future._stateError*/get _stateError() {
    return 16;
  },
  /*async._Future._completionStateMask*/get _completionStateMask() {
    return 30;
  }
}, false);
dart.addTypeTests(async._Future, _is__Future_default);
async._AsyncCallbackEntry = class _AsyncCallbackEntry extends core.Object {};
(async._AsyncCallbackEntry.new = function(callback) {
  if (callback == null) dart.nullFailed(I[70], 12, 28, "callback");
  this.next = null;
  this.callback = callback;
  ;
}).prototype = async._AsyncCallbackEntry.prototype;
dart.addTypeTests(async._AsyncCallbackEntry);
dart.addTypeCaches(async._AsyncCallbackEntry);
dart.setLibraryUri(async._AsyncCallbackEntry, I[30]);
dart.setFieldSignature(async._AsyncCallbackEntry, () => ({
  __proto__: dart.getFields(async._AsyncCallbackEntry.__proto__),
  callback: dart.finalFieldType(dart.fnType(dart.void, [])),
  next: dart.fieldType(dart.nullable(async._AsyncCallbackEntry))
}));
async._AsyncRun = class _AsyncRun extends core.Object {
  static _initializeScheduleImmediate() {
    if (dart.global.scheduleImmediate != null) {
      return C[43] || CT.C43;
    }
    return C[44] || CT.C44;
  }
  static _scheduleImmediateJSOverride(callback) {
    if (callback == null) dart.nullFailed(I[62], 153, 60, "callback");
    dart.addAsyncCallback();
    dart.global.scheduleImmediate(() => {
      dart.removeAsyncCallback();
      callback();
    });
  }
  static _scheduleImmediateWithPromise(callback) {
    if (callback == null) dart.nullFailed(I[62], 162, 61, "callback");
    dart.addAsyncCallback();
    dart.global.Promise.resolve(null).then(() => {
      dart.removeAsyncCallback();
      callback();
    });
  }
  static _scheduleImmediate(callback) {
    if (callback == null) dart.nullFailed(I[62], 135, 50, "callback");
    async._AsyncRun._scheduleImmediateClosure(callback);
  }
};
(async._AsyncRun.new = function() {
  ;
}).prototype = async._AsyncRun.prototype;
dart.addTypeTests(async._AsyncRun);
dart.addTypeCaches(async._AsyncRun);
dart.setLibraryUri(async._AsyncRun, I[30]);
dart.defineLazy(async._AsyncRun, {
  /*async._AsyncRun._scheduleImmediateClosure*/get _scheduleImmediateClosure() {
    return async._AsyncRun._initializeScheduleImmediate();
  }
}, false);
async.StreamSubscription$ = dart.generic(T => {
  class StreamSubscription extends core.Object {}
  (StreamSubscription.new = function() {
    ;
  }).prototype = StreamSubscription.prototype;
  dart.addTypeTests(StreamSubscription);
  StreamSubscription.prototype[dart.isStreamSubscription] = true;
  dart.addTypeCaches(StreamSubscription);
  dart.setLibraryUri(StreamSubscription, I[30]);
  return StreamSubscription;
});
async.StreamSubscription = async.StreamSubscription$();
dart.addTypeTests(async.StreamSubscription, dart.isStreamSubscription);
const _is_EventSink_default = Symbol('_is_EventSink_default');
async.EventSink$ = dart.generic(T => {
  class EventSink extends core.Object {}
  (EventSink.new = function() {
    ;
  }).prototype = EventSink.prototype;
  dart.addTypeTests(EventSink);
  EventSink.prototype[_is_EventSink_default] = true;
  dart.addTypeCaches(EventSink);
  EventSink[dart.implements] = () => [core.Sink$(T)];
  dart.setLibraryUri(EventSink, I[30]);
  return EventSink;
});
async.EventSink = async.EventSink$();
dart.addTypeTests(async.EventSink, _is_EventSink_default);
var _stream = dart.privateName(async, "StreamView._stream");
var _stream$ = dart.privateName(async, "_stream");
const _is_StreamView_default = Symbol('_is_StreamView_default');
async.StreamView$ = dart.generic(T => {
  class StreamView extends async.Stream$(T) {
    get [_stream$]() {
      return this[_stream];
    }
    set [_stream$](value) {
      super[_stream$] = value;
    }
    get isBroadcast() {
      return this[_stream$].isBroadcast;
    }
    asBroadcastStream(opts) {
      let onListen = opts && 'onListen' in opts ? opts.onListen : null;
      let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
      return this[_stream$].asBroadcastStream({onListen: onListen, onCancel: onCancel});
    }
    listen(onData, opts) {
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      return this[_stream$].listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
    }
  }
  (StreamView.new = function(stream) {
    if (stream == null) dart.nullFailed(I[29], 1752, 30, "stream");
    this[_stream] = stream;
    StreamView.__proto__._internal.call(this);
    ;
  }).prototype = StreamView.prototype;
  dart.addTypeTests(StreamView);
  StreamView.prototype[_is_StreamView_default] = true;
  dart.addTypeCaches(StreamView);
  dart.setMethodSignature(StreamView, () => ({
    __proto__: dart.getMethods(StreamView.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
  }));
  dart.setLibraryUri(StreamView, I[30]);
  dart.setFieldSignature(StreamView, () => ({
    __proto__: dart.getFields(StreamView.__proto__),
    [_stream$]: dart.finalFieldType(async.Stream$(T))
  }));
  return StreamView;
});
async.StreamView = async.StreamView$();
dart.addTypeTests(async.StreamView, _is_StreamView_default);
const _is_StreamConsumer_default = Symbol('_is_StreamConsumer_default');
async.StreamConsumer$ = dart.generic(S => {
  class StreamConsumer extends core.Object {}
  (StreamConsumer.new = function() {
    ;
  }).prototype = StreamConsumer.prototype;
  dart.addTypeTests(StreamConsumer);
  StreamConsumer.prototype[_is_StreamConsumer_default] = true;
  dart.addTypeCaches(StreamConsumer);
  dart.setLibraryUri(StreamConsumer, I[30]);
  return StreamConsumer;
});
async.StreamConsumer = async.StreamConsumer$();
dart.addTypeTests(async.StreamConsumer, _is_StreamConsumer_default);
const _is_StreamSink_default = Symbol('_is_StreamSink_default');
async.StreamSink$ = dart.generic(S => {
  class StreamSink extends core.Object {}
  (StreamSink.new = function() {
    ;
  }).prototype = StreamSink.prototype;
  dart.addTypeTests(StreamSink);
  StreamSink.prototype[_is_StreamSink_default] = true;
  dart.addTypeCaches(StreamSink);
  StreamSink[dart.implements] = () => [async.EventSink$(S), async.StreamConsumer$(S)];
  dart.setLibraryUri(StreamSink, I[30]);
  return StreamSink;
});
async.StreamSink = async.StreamSink$();
dart.addTypeTests(async.StreamSink, _is_StreamSink_default);
const _is_StreamTransformer_default = Symbol('_is_StreamTransformer_default');
async.StreamTransformer$ = dart.generic((S, T) => {
  class StreamTransformer extends core.Object {
    static castFrom(SS, ST, TS, TT, source) {
      if (source == null) dart.nullFailed(I[29], 2027, 33, "source");
      return new (_internal.CastStreamTransformer$(SS, ST, TS, TT)).new(source);
    }
  }
  (StreamTransformer[dart.mixinNew] = function() {
  }).prototype = StreamTransformer.prototype;
  dart.addTypeTests(StreamTransformer);
  StreamTransformer.prototype[_is_StreamTransformer_default] = true;
  dart.addTypeCaches(StreamTransformer);
  dart.setLibraryUri(StreamTransformer, I[30]);
  return StreamTransformer;
});
async.StreamTransformer = async.StreamTransformer$();
dart.addTypeTests(async.StreamTransformer, _is_StreamTransformer_default);
const _is_StreamIterator_default = Symbol('_is_StreamIterator_default');
async.StreamIterator$ = dart.generic(T => {
  class StreamIterator extends core.Object {
    static new(stream) {
      if (stream == null) dart.nullFailed(I[29], 2091, 36, "stream");
      return new (async._StreamIterator$(T)).new(stream);
    }
  }
  (StreamIterator[dart.mixinNew] = function() {
  }).prototype = StreamIterator.prototype;
  dart.addTypeTests(StreamIterator);
  StreamIterator.prototype[_is_StreamIterator_default] = true;
  dart.addTypeCaches(StreamIterator);
  dart.setLibraryUri(StreamIterator, I[30]);
  return StreamIterator;
});
async.StreamIterator = async.StreamIterator$();
dart.addTypeTests(async.StreamIterator, _is_StreamIterator_default);
var _ensureSink = dart.privateName(async, "_ensureSink");
const _is__ControllerEventSinkWrapper_default = Symbol('_is__ControllerEventSinkWrapper_default');
async._ControllerEventSinkWrapper$ = dart.generic(T => {
  class _ControllerEventSinkWrapper extends core.Object {
    [_ensureSink]() {
      let sink = this[_sink$];
      if (sink == null) dart.throw(new core.StateError.new("Sink not available"));
      return sink;
    }
    add(data) {
      T.as(data);
      this[_ensureSink]().add(data);
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[29], 2158, 17, "error");
      this[_ensureSink]().addError(error, stackTrace);
    }
    close() {
      this[_ensureSink]().close();
    }
  }
  (_ControllerEventSinkWrapper.new = function(_sink) {
    this[_sink$] = _sink;
    ;
  }).prototype = _ControllerEventSinkWrapper.prototype;
  dart.addTypeTests(_ControllerEventSinkWrapper);
  _ControllerEventSinkWrapper.prototype[_is__ControllerEventSinkWrapper_default] = true;
  dart.addTypeCaches(_ControllerEventSinkWrapper);
  _ControllerEventSinkWrapper[dart.implements] = () => [async.EventSink$(T)];
  dart.setMethodSignature(_ControllerEventSinkWrapper, () => ({
    __proto__: dart.getMethods(_ControllerEventSinkWrapper.__proto__),
    [_ensureSink]: dart.fnType(async.EventSink, []),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    close: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_ControllerEventSinkWrapper, I[30]);
  dart.setFieldSignature(_ControllerEventSinkWrapper, () => ({
    __proto__: dart.getFields(_ControllerEventSinkWrapper.__proto__),
    [_sink$]: dart.fieldType(dart.nullable(async.EventSink))
  }));
  return _ControllerEventSinkWrapper;
});
async._ControllerEventSinkWrapper = async._ControllerEventSinkWrapper$();
dart.addTypeTests(async._ControllerEventSinkWrapper, _is__ControllerEventSinkWrapper_default);
const _is_MultiStreamController_default = Symbol('_is_MultiStreamController_default');
async.MultiStreamController$ = dart.generic(T => {
  class MultiStreamController extends core.Object {}
  (MultiStreamController.new = function() {
    ;
  }).prototype = MultiStreamController.prototype;
  dart.addTypeTests(MultiStreamController);
  MultiStreamController.prototype[_is_MultiStreamController_default] = true;
  dart.addTypeCaches(MultiStreamController);
  MultiStreamController[dart.implements] = () => [async.StreamController$(T)];
  dart.setLibraryUri(MultiStreamController, I[30]);
  return MultiStreamController;
});
async.MultiStreamController = async.MultiStreamController$();
dart.addTypeTests(async.MultiStreamController, _is_MultiStreamController_default);
const _is_StreamController_default = Symbol('_is_StreamController_default');
async.StreamController$ = dart.generic(T => {
  class StreamController extends core.Object {
    static new(opts) {
      let onListen = opts && 'onListen' in opts ? opts.onListen : null;
      let onPause = opts && 'onPause' in opts ? opts.onPause : null;
      let onResume = opts && 'onResume' in opts ? opts.onResume : null;
      let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
      let sync = opts && 'sync' in opts ? opts.sync : false;
      if (sync == null) dart.nullFailed(I[65], 73, 12, "sync");
      return dart.test(sync) ? new (async._SyncStreamController$(T)).new(onListen, onPause, onResume, onCancel) : new (async._AsyncStreamController$(T)).new(onListen, onPause, onResume, onCancel);
    }
    static broadcast(opts) {
      let onListen = opts && 'onListen' in opts ? opts.onListen : null;
      let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
      let sync = opts && 'sync' in opts ? opts.sync : false;
      if (sync == null) dart.nullFailed(I[65], 129, 49, "sync");
      return dart.test(sync) ? new (async._SyncBroadcastStreamController$(T)).new(onListen, onCancel) : new (async._AsyncBroadcastStreamController$(T)).new(onListen, onCancel);
    }
  }
  (StreamController[dart.mixinNew] = function() {
  }).prototype = StreamController.prototype;
  dart.addTypeTests(StreamController);
  StreamController.prototype[_is_StreamController_default] = true;
  dart.addTypeCaches(StreamController);
  StreamController[dart.implements] = () => [async.StreamSink$(T)];
  dart.setLibraryUri(StreamController, I[30]);
  return StreamController;
});
async.StreamController = async.StreamController$();
dart.addTypeTests(async.StreamController, _is_StreamController_default);
const _is_SynchronousStreamController_default = Symbol('_is_SynchronousStreamController_default');
async.SynchronousStreamController$ = dart.generic(T => {
  class SynchronousStreamController extends core.Object {}
  (SynchronousStreamController.new = function() {
    ;
  }).prototype = SynchronousStreamController.prototype;
  dart.addTypeTests(SynchronousStreamController);
  SynchronousStreamController.prototype[_is_SynchronousStreamController_default] = true;
  dart.addTypeCaches(SynchronousStreamController);
  SynchronousStreamController[dart.implements] = () => [async.StreamController$(T)];
  dart.setLibraryUri(SynchronousStreamController, I[30]);
  return SynchronousStreamController;
});
async.SynchronousStreamController = async.SynchronousStreamController$();
dart.addTypeTests(async.SynchronousStreamController, _is_SynchronousStreamController_default);
const _is__StreamControllerLifecycle_default = Symbol('_is__StreamControllerLifecycle_default');
async._StreamControllerLifecycle$ = dart.generic(T => {
  var __t$StreamSubscriptionOfT = () => (__t$StreamSubscriptionOfT = dart.constFn(async.StreamSubscription$(T)))();
  class _StreamControllerLifecycle extends core.Object {
    [_recordPause](subscription) {
      __t$StreamSubscriptionOfT().as(subscription);
      if (subscription == null) dart.nullFailed(I[65], 352, 43, "subscription");
    }
    [_recordResume](subscription) {
      __t$StreamSubscriptionOfT().as(subscription);
      if (subscription == null) dart.nullFailed(I[65], 353, 44, "subscription");
    }
    [_recordCancel](subscription) {
      __t$StreamSubscriptionOfT().as(subscription);
      if (subscription == null) dart.nullFailed(I[65], 354, 53, "subscription");
      return null;
    }
  }
  (_StreamControllerLifecycle.new = function() {
    ;
  }).prototype = _StreamControllerLifecycle.prototype;
  dart.addTypeTests(_StreamControllerLifecycle);
  _StreamControllerLifecycle.prototype[_is__StreamControllerLifecycle_default] = true;
  dart.addTypeCaches(_StreamControllerLifecycle);
  dart.setMethodSignature(_StreamControllerLifecycle, () => ({
    __proto__: dart.getMethods(_StreamControllerLifecycle.__proto__),
    [_recordPause]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_recordResume]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_recordCancel]: dart.fnType(dart.nullable(async.Future$(dart.void)), [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_StreamControllerLifecycle, I[30]);
  return _StreamControllerLifecycle;
});
async._StreamControllerLifecycle = async._StreamControllerLifecycle$();
dart.addTypeTests(async._StreamControllerLifecycle, _is__StreamControllerLifecycle_default);
const _is__StreamControllerBase_default = Symbol('_is__StreamControllerBase_default');
async._StreamControllerBase$ = dart.generic(T => {
  class _StreamControllerBase extends core.Object {}
  (_StreamControllerBase.new = function() {
    ;
  }).prototype = _StreamControllerBase.prototype;
  dart.addTypeTests(_StreamControllerBase);
  _StreamControllerBase.prototype[_is__StreamControllerBase_default] = true;
  dart.addTypeCaches(_StreamControllerBase);
  _StreamControllerBase[dart.implements] = () => [async.StreamController$(T), async._StreamControllerLifecycle$(T), async._EventSink$(T), async._EventDispatch$(T)];
  dart.setLibraryUri(_StreamControllerBase, I[30]);
  return _StreamControllerBase;
});
async._StreamControllerBase = async._StreamControllerBase$();
dart.addTypeTests(async._StreamControllerBase, _is__StreamControllerBase_default);
var _varData = dart.privateName(async, "_varData");
var _isInitialState = dart.privateName(async, "_isInitialState");
var _subscription = dart.privateName(async, "_subscription");
var _pendingEvents = dart.privateName(async, "_pendingEvents");
var _ensurePendingEvents = dart.privateName(async, "_ensurePendingEvents");
var _badEventState = dart.privateName(async, "_badEventState");
const _is__StreamController_default = Symbol('_is__StreamController_default');
async._StreamController$ = dart.generic(T => {
  var __t$_ControllerStreamOfT = () => (__t$_ControllerStreamOfT = dart.constFn(async._ControllerStream$(T)))();
  var __t$_StreamSinkWrapperOfT = () => (__t$_StreamSinkWrapperOfT = dart.constFn(async._StreamSinkWrapper$(T)))();
  var __t$_PendingEventsOfT = () => (__t$_PendingEventsOfT = dart.constFn(async._PendingEvents$(T)))();
  var __t$_PendingEventsNOfT = () => (__t$_PendingEventsNOfT = dart.constFn(dart.nullable(__t$_PendingEventsOfT())))();
  var __t$_StreamControllerAddStreamStateOfT = () => (__t$_StreamControllerAddStreamStateOfT = dart.constFn(async._StreamControllerAddStreamState$(T)))();
  var __t$_StreamImplEventsOfT = () => (__t$_StreamImplEventsOfT = dart.constFn(async._StreamImplEvents$(T)))();
  var __t$_ControllerSubscriptionOfT = () => (__t$_ControllerSubscriptionOfT = dart.constFn(async._ControllerSubscription$(T)))();
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  var __t$_DelayedDataOfT = () => (__t$_DelayedDataOfT = dart.constFn(async._DelayedData$(T)))();
  class _StreamController extends core.Object {
    get stream() {
      return new (__t$_ControllerStreamOfT()).new(this);
    }
    get sink() {
      return new (__t$_StreamSinkWrapperOfT()).new(this);
    }
    get [_isCanceled]() {
      return (dart.notNull(this[_state]) & 2) !== 0;
    }
    get hasListener() {
      return (dart.notNull(this[_state]) & 1) !== 0;
    }
    get [_isInitialState]() {
      return (dart.notNull(this[_state]) & 3) >>> 0 === 0;
    }
    get isClosed() {
      return (dart.notNull(this[_state]) & 4) !== 0;
    }
    get isPaused() {
      return dart.test(this.hasListener) ? this[_subscription][_isInputPaused] : !dart.test(this[_isCanceled]);
    }
    get [_isAddingStream]() {
      return (dart.notNull(this[_state]) & 8) !== 0;
    }
    get [_mayAddEvent]() {
      return dart.notNull(this[_state]) < 4;
    }
    get [_pendingEvents]() {
      if (!dart.test(this[_isInitialState])) dart.assertFailed(null, I[65], 479, 12, "_isInitialState");
      if (!dart.test(this[_isAddingStream])) {
        return __t$_PendingEventsNOfT().as(this[_varData]);
      }
      let state = __t$_StreamControllerAddStreamStateOfT().as(this[_varData]);
      return __t$_PendingEventsNOfT().as(state.varData);
    }
    [_ensurePendingEvents]() {
      if (!dart.test(this[_isInitialState])) dart.assertFailed(null, I[65], 489, 12, "_isInitialState");
      if (!dart.test(this[_isAddingStream])) {
        let events = this[_varData];
        if (events == null) {
          this[_varData] = events = new (__t$_StreamImplEventsOfT()).new();
        }
        return __t$_StreamImplEventsOfT().as(events);
      }
      let state = __t$_StreamControllerAddStreamStateOfT().as(this[_varData]);
      let events = state.varData;
      if (events == null) {
        state.varData = events = new (__t$_StreamImplEventsOfT()).new();
      }
      return __t$_StreamImplEventsOfT().as(events);
    }
    get [_subscription]() {
      if (!dart.test(this.hasListener)) dart.assertFailed(null, I[65], 509, 12, "hasListener");
      let varData = this[_varData];
      if (dart.test(this[_isAddingStream])) {
        let streamState = T$._StreamControllerAddStreamStateOfObjectN().as(varData);
        varData = streamState.varData;
      }
      return __t$_ControllerSubscriptionOfT().as(varData);
    }
    [_badEventState]() {
      if (dart.test(this.isClosed)) {
        return new core.StateError.new("Cannot add event after closing");
      }
      if (!dart.test(this[_isAddingStream])) dart.assertFailed(null, I[65], 525, 12, "_isAddingStream");
      return new core.StateError.new("Cannot add event while adding a stream");
    }
    addStream(source, opts) {
      let t115;
      __t$StreamOfT().as(source);
      if (source == null) dart.nullFailed(I[65], 530, 30, "source");
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_badEventState]());
      if (dart.test(this[_isCanceled])) return new async._Future.immediate(null);
      let addState = new (__t$_StreamControllerAddStreamStateOfT()).new(this, this[_varData], source, (t115 = cancelOnError, t115 == null ? false : t115));
      this[_varData] = addState;
      this[_state] = (dart.notNull(this[_state]) | 8) >>> 0;
      return addState.addStreamFuture;
    }
    get done() {
      return this[_ensureDoneFuture]();
    }
    [_ensureDoneFuture]() {
      let t115;
      t115 = this[_doneFuture];
      return t115 == null ? this[_doneFuture] = dart.test(this[_isCanceled]) ? async.Future._nullFuture : new (T$._FutureOfvoid()).new() : t115;
    }
    add(value) {
      T.as(value);
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_badEventState]());
      this[_add](value);
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[65], 558, 24, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_badEventState]());
      let replacement = async.Zone.current.errorCallback(error, stackTrace);
      if (replacement != null) {
        error = replacement.error;
        stackTrace = replacement.stackTrace;
      } else {
        stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
      }
      if (stackTrace == null) dart.throw("unreachable");
      this[_addError](error, stackTrace);
    }
    close() {
      if (dart.test(this.isClosed)) {
        return this[_ensureDoneFuture]();
      }
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_badEventState]());
      this[_closeUnchecked]();
      return this[_ensureDoneFuture]();
    }
    [_closeUnchecked]() {
      this[_state] = (dart.notNull(this[_state]) | 4) >>> 0;
      if (dart.test(this.hasListener)) {
        this[_sendDone]();
      } else if (dart.test(this[_isInitialState])) {
        this[_ensurePendingEvents]().add(C[41] || CT.C41);
      }
    }
    [_add](value) {
      T.as(value);
      if (dart.test(this.hasListener)) {
        this[_sendData](value);
      } else if (dart.test(this[_isInitialState])) {
        this[_ensurePendingEvents]().add(new (__t$_DelayedDataOfT()).new(value));
      }
    }
    [_addError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[65], 613, 25, "error");
      if (stackTrace == null) dart.nullFailed(I[65], 613, 43, "stackTrace");
      if (dart.test(this.hasListener)) {
        this[_sendError](error, stackTrace);
      } else if (dart.test(this[_isInitialState])) {
        this[_ensurePendingEvents]().add(new async._DelayedError.new(error, stackTrace));
      }
    }
    [_close]() {
      if (!dart.test(this[_isAddingStream])) dart.assertFailed(null, I[65], 623, 12, "_isAddingStream");
      let addState = __t$_StreamControllerAddStreamStateOfT().as(this[_varData]);
      this[_varData] = addState.varData;
      this[_state] = (dart.notNull(this[_state]) & ~8 >>> 0) >>> 0;
      addState.complete();
    }
    [_subscribe](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[65], 633, 28, "cancelOnError");
      if (!dart.test(this[_isInitialState])) {
        dart.throw(new core.StateError.new("Stream has already been listened to."));
      }
      let subscription = new (__t$_ControllerSubscriptionOfT()).new(this, onData, onError, onDone, cancelOnError);
      let pendingEvents = this[_pendingEvents];
      this[_state] = (dart.notNull(this[_state]) | 1) >>> 0;
      if (dart.test(this[_isAddingStream])) {
        let addState = __t$_StreamControllerAddStreamStateOfT().as(this[_varData]);
        addState.varData = subscription;
        addState.resume();
      } else {
        this[_varData] = subscription;
      }
      subscription[_setPendingEvents](pendingEvents);
      subscription[_guardCallback](dart.fn(() => {
        async._runGuarded(this.onListen);
      }, T$.VoidTovoid()));
      return subscription;
    }
    [_recordCancel](subscription) {
      let t116;
      if (subscription == null) dart.nullFailed(I[65], 657, 53, "subscription");
      let result = null;
      if (dart.test(this[_isAddingStream])) {
        let addState = __t$_StreamControllerAddStreamStateOfT().as(this[_varData]);
        result = addState.cancel();
      }
      this[_varData] = null;
      this[_state] = (dart.notNull(this[_state]) & ~(1 | 8) >>> 0 | 2) >>> 0;
      let onCancel = this.onCancel;
      if (onCancel != null) {
        if (result == null) {
          try {
            let cancelResult = onCancel();
            if (T$.FutureOfvoid().is(cancelResult)) {
              result = cancelResult;
            }
          } catch (e$) {
            let e = dart.getThrown(e$);
            let s = dart.stackTrace(e$);
            if (core.Object.is(e)) {
              result = (t116 = new (T$._FutureOfvoid()).new(), (() => {
                t116[_asyncCompleteError](e, s);
                return t116;
              })());
            } else
              throw e$;
          }
        } else {
          result = result.whenComplete(onCancel);
        }
      }
      const complete = () => {
        let doneFuture = this[_doneFuture];
        if (doneFuture != null && dart.test(doneFuture[_mayComplete])) {
          doneFuture[_asyncComplete](null);
        }
      };
      dart.fn(complete, T$.VoidTovoid());
      if (result != null) {
        result = result.whenComplete(complete);
      } else {
        complete();
      }
      return result;
    }
    [_recordPause](subscription) {
      if (subscription == null) dart.nullFailed(I[65], 713, 43, "subscription");
      if (dart.test(this[_isAddingStream])) {
        let addState = __t$_StreamControllerAddStreamStateOfT().as(this[_varData]);
        addState.pause();
      }
      async._runGuarded(this.onPause);
    }
    [_recordResume](subscription) {
      if (subscription == null) dart.nullFailed(I[65], 721, 44, "subscription");
      if (dart.test(this[_isAddingStream])) {
        let addState = __t$_StreamControllerAddStreamStateOfT().as(this[_varData]);
        addState.resume();
      }
      async._runGuarded(this.onResume);
    }
  }
  (_StreamController.new = function(onListen, onPause, onResume, onCancel) {
    this[_varData] = null;
    this[_state] = 0;
    this[_doneFuture] = null;
    this.onListen = onListen;
    this.onPause = onPause;
    this.onResume = onResume;
    this.onCancel = onCancel;
    ;
  }).prototype = _StreamController.prototype;
  dart.addTypeTests(_StreamController);
  _StreamController.prototype[_is__StreamController_default] = true;
  dart.addTypeCaches(_StreamController);
  _StreamController[dart.implements] = () => [async._StreamControllerBase$(T)];
  dart.setMethodSignature(_StreamController, () => ({
    __proto__: dart.getMethods(_StreamController.__proto__),
    [_ensurePendingEvents]: dart.fnType(async._StreamImplEvents$(T), []),
    [_badEventState]: dart.fnType(core.Error, []),
    addStream: dart.fnType(async.Future, [dart.nullable(core.Object)], {cancelOnError: dart.nullable(core.bool)}, {}),
    [_ensureDoneFuture]: dart.fnType(async.Future$(dart.void), []),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    close: dart.fnType(async.Future, []),
    [_closeUnchecked]: dart.fnType(dart.void, []),
    [_add]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_addError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_close]: dart.fnType(dart.void, []),
    [_subscribe]: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T])), dart.nullable(core.Function), dart.nullable(dart.fnType(dart.void, [])), core.bool]),
    [_recordCancel]: dart.fnType(dart.nullable(async.Future$(dart.void)), [async.StreamSubscription$(T)]),
    [_recordPause]: dart.fnType(dart.void, [async.StreamSubscription$(T)]),
    [_recordResume]: dart.fnType(dart.void, [async.StreamSubscription$(T)])
  }));
  dart.setGetterSignature(_StreamController, () => ({
    __proto__: dart.getGetters(_StreamController.__proto__),
    stream: async.Stream$(T),
    sink: async.StreamSink$(T),
    [_isCanceled]: core.bool,
    hasListener: core.bool,
    [_isInitialState]: core.bool,
    isClosed: core.bool,
    isPaused: core.bool,
    [_isAddingStream]: core.bool,
    [_mayAddEvent]: core.bool,
    [_pendingEvents]: dart.nullable(async._PendingEvents$(T)),
    [_subscription]: async._ControllerSubscription$(T),
    done: async.Future$(dart.void)
  }));
  dart.setLibraryUri(_StreamController, I[30]);
  dart.setFieldSignature(_StreamController, () => ({
    __proto__: dart.getFields(_StreamController.__proto__),
    [_varData]: dart.fieldType(dart.nullable(core.Object)),
    [_state]: dart.fieldType(core.int),
    [_doneFuture]: dart.fieldType(dart.nullable(async._Future$(dart.void))),
    onListen: dart.fieldType(dart.nullable(dart.fnType(dart.void, []))),
    onPause: dart.fieldType(dart.nullable(dart.fnType(dart.void, []))),
    onResume: dart.fieldType(dart.nullable(dart.fnType(dart.void, []))),
    onCancel: dart.fieldType(dart.nullable(dart.fnType(dart.void, [])))
  }));
  return _StreamController;
});
async._StreamController = async._StreamController$();
dart.defineLazy(async._StreamController, {
  /*async._StreamController._STATE_INITIAL*/get _STATE_INITIAL() {
    return 0;
  },
  /*async._StreamController._STATE_SUBSCRIBED*/get _STATE_SUBSCRIBED() {
    return 1;
  },
  /*async._StreamController._STATE_CANCELED*/get _STATE_CANCELED() {
    return 2;
  },
  /*async._StreamController._STATE_SUBSCRIPTION_MASK*/get _STATE_SUBSCRIPTION_MASK() {
    return 3;
  },
  /*async._StreamController._STATE_CLOSED*/get _STATE_CLOSED() {
    return 4;
  },
  /*async._StreamController._STATE_ADDSTREAM*/get _STATE_ADDSTREAM() {
    return 8;
  }
}, false);
dart.addTypeTests(async._StreamController, _is__StreamController_default);
const _is__SyncStreamControllerDispatch_default = Symbol('_is__SyncStreamControllerDispatch_default');
async._SyncStreamControllerDispatch$ = dart.generic(T => {
  class _SyncStreamControllerDispatch extends core.Object {
    [_sendData](data) {
      this[_subscription][_add](data);
    }
    [_sendError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[65], 736, 26, "error");
      if (stackTrace == null) dart.nullFailed(I[65], 736, 44, "stackTrace");
      this[_subscription][_addError](error, stackTrace);
    }
    [_sendDone]() {
      this[_subscription][_close]();
    }
  }
  (_SyncStreamControllerDispatch.new = function() {
    ;
  }).prototype = _SyncStreamControllerDispatch.prototype;
  dart.addTypeTests(_SyncStreamControllerDispatch);
  _SyncStreamControllerDispatch.prototype[_is__SyncStreamControllerDispatch_default] = true;
  dart.addTypeCaches(_SyncStreamControllerDispatch);
  _SyncStreamControllerDispatch[dart.implements] = () => [async._StreamController$(T), async.SynchronousStreamController$(T)];
  dart.setMethodSignature(_SyncStreamControllerDispatch, () => ({
    __proto__: dart.getMethods(_SyncStreamControllerDispatch.__proto__),
    [_sendData]: dart.fnType(dart.void, [T]),
    [_sendError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_sendDone]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_SyncStreamControllerDispatch, I[30]);
  return _SyncStreamControllerDispatch;
});
async._SyncStreamControllerDispatch = async._SyncStreamControllerDispatch$();
dart.addTypeTests(async._SyncStreamControllerDispatch, _is__SyncStreamControllerDispatch_default);
const _is__AsyncStreamControllerDispatch_default = Symbol('_is__AsyncStreamControllerDispatch_default');
async._AsyncStreamControllerDispatch$ = dart.generic(T => {
  var __t$_DelayedDataOfT = () => (__t$_DelayedDataOfT = dart.constFn(async._DelayedData$(T)))();
  class _AsyncStreamControllerDispatch extends core.Object {
    [_sendData](data) {
      this[_subscription][_addPending](new (__t$_DelayedDataOfT()).new(data));
    }
    [_sendError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[65], 751, 26, "error");
      if (stackTrace == null) dart.nullFailed(I[65], 751, 44, "stackTrace");
      this[_subscription][_addPending](new async._DelayedError.new(error, stackTrace));
    }
    [_sendDone]() {
      this[_subscription][_addPending](C[41] || CT.C41);
    }
  }
  (_AsyncStreamControllerDispatch.new = function() {
    ;
  }).prototype = _AsyncStreamControllerDispatch.prototype;
  dart.addTypeTests(_AsyncStreamControllerDispatch);
  _AsyncStreamControllerDispatch.prototype[_is__AsyncStreamControllerDispatch_default] = true;
  dart.addTypeCaches(_AsyncStreamControllerDispatch);
  _AsyncStreamControllerDispatch[dart.implements] = () => [async._StreamController$(T)];
  dart.setMethodSignature(_AsyncStreamControllerDispatch, () => ({
    __proto__: dart.getMethods(_AsyncStreamControllerDispatch.__proto__),
    [_sendData]: dart.fnType(dart.void, [T]),
    [_sendError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_sendDone]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_AsyncStreamControllerDispatch, I[30]);
  return _AsyncStreamControllerDispatch;
});
async._AsyncStreamControllerDispatch = async._AsyncStreamControllerDispatch$();
dart.addTypeTests(async._AsyncStreamControllerDispatch, _is__AsyncStreamControllerDispatch_default);
const _is__AsyncStreamController_default = Symbol('_is__AsyncStreamController_default');
async._AsyncStreamController$ = dart.generic(T => {
  const _StreamController__AsyncStreamControllerDispatch$36 = class _StreamController__AsyncStreamControllerDispatch extends async._StreamController$(T) {};
  (_StreamController__AsyncStreamControllerDispatch$36.new = function(onListen, onPause, onResume, onCancel) {
    _StreamController__AsyncStreamControllerDispatch$36.__proto__.new.call(this, onListen, onPause, onResume, onCancel);
  }).prototype = _StreamController__AsyncStreamControllerDispatch$36.prototype;
  dart.applyMixin(_StreamController__AsyncStreamControllerDispatch$36, async._AsyncStreamControllerDispatch$(T));
  class _AsyncStreamController extends _StreamController__AsyncStreamControllerDispatch$36 {
    [_sendData](data) {
      return super[_sendData](data);
    }
    [_sendError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[65], 764, 7, "error");
      if (stackTrace == null) dart.nullFailed(I[65], 764, 7, "stackTrace");
      return super[_sendError](error, stackTrace);
    }
    [_sendDone]() {
      return super[_sendDone]();
    }
  }
  (_AsyncStreamController.new = function(onListen, onPause, onResume, onCancel) {
    _AsyncStreamController.__proto__.new.call(this, onListen, onPause, onResume, onCancel);
    ;
  }).prototype = _AsyncStreamController.prototype;
  dart.addTypeTests(_AsyncStreamController);
  _AsyncStreamController.prototype[_is__AsyncStreamController_default] = true;
  dart.addTypeCaches(_AsyncStreamController);
  dart.setMethodSignature(_AsyncStreamController, () => ({
    __proto__: dart.getMethods(_AsyncStreamController.__proto__),
    [_sendData]: dart.fnType(dart.void, [T]),
    [_sendError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_sendDone]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_AsyncStreamController, I[30]);
  return _AsyncStreamController;
});
async._AsyncStreamController = async._AsyncStreamController$();
dart.addTypeTests(async._AsyncStreamController, _is__AsyncStreamController_default);
const _is__SyncStreamController_default = Symbol('_is__SyncStreamController_default');
async._SyncStreamController$ = dart.generic(T => {
  const _StreamController__SyncStreamControllerDispatch$36 = class _StreamController__SyncStreamControllerDispatch extends async._StreamController$(T) {};
  (_StreamController__SyncStreamControllerDispatch$36.new = function(onListen, onPause, onResume, onCancel) {
    _StreamController__SyncStreamControllerDispatch$36.__proto__.new.call(this, onListen, onPause, onResume, onCancel);
  }).prototype = _StreamController__SyncStreamControllerDispatch$36.prototype;
  dart.applyMixin(_StreamController__SyncStreamControllerDispatch$36, async._SyncStreamControllerDispatch$(T));
  class _SyncStreamController extends _StreamController__SyncStreamControllerDispatch$36 {
    [_sendData](data) {
      return super[_sendData](data);
    }
    [_sendError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[65], 767, 7, "error");
      if (stackTrace == null) dart.nullFailed(I[65], 767, 7, "stackTrace");
      return super[_sendError](error, stackTrace);
    }
    [_sendDone]() {
      return super[_sendDone]();
    }
  }
  (_SyncStreamController.new = function(onListen, onPause, onResume, onCancel) {
    _SyncStreamController.__proto__.new.call(this, onListen, onPause, onResume, onCancel);
    ;
  }).prototype = _SyncStreamController.prototype;
  dart.addTypeTests(_SyncStreamController);
  _SyncStreamController.prototype[_is__SyncStreamController_default] = true;
  dart.addTypeCaches(_SyncStreamController);
  dart.setMethodSignature(_SyncStreamController, () => ({
    __proto__: dart.getMethods(_SyncStreamController.__proto__),
    [_sendData]: dart.fnType(dart.void, [T]),
    [_sendError]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_sendDone]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_SyncStreamController, I[30]);
  return _SyncStreamController;
});
async._SyncStreamController = async._SyncStreamController$();
dart.addTypeTests(async._SyncStreamController, _is__SyncStreamController_default);
var _target$ = dart.privateName(async, "_target");
const _is__StreamSinkWrapper_default = Symbol('_is__StreamSinkWrapper_default');
async._StreamSinkWrapper$ = dart.generic(T => {
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  class _StreamSinkWrapper extends core.Object {
    add(data) {
      T.as(data);
      this[_target$].add(data);
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[65], 829, 24, "error");
      this[_target$].addError(error, stackTrace);
    }
    close() {
      return this[_target$].close();
    }
    addStream(source) {
      __t$StreamOfT().as(source);
      if (source == null) dart.nullFailed(I[65], 835, 30, "source");
      return this[_target$].addStream(source);
    }
    get done() {
      return this[_target$].done;
    }
  }
  (_StreamSinkWrapper.new = function(_target) {
    if (_target == null) dart.nullFailed(I[65], 824, 27, "_target");
    this[_target$] = _target;
    ;
  }).prototype = _StreamSinkWrapper.prototype;
  dart.addTypeTests(_StreamSinkWrapper);
  _StreamSinkWrapper.prototype[_is__StreamSinkWrapper_default] = true;
  dart.addTypeCaches(_StreamSinkWrapper);
  _StreamSinkWrapper[dart.implements] = () => [async.StreamSink$(T)];
  dart.setMethodSignature(_StreamSinkWrapper, () => ({
    __proto__: dart.getMethods(_StreamSinkWrapper.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    close: dart.fnType(async.Future, []),
    addStream: dart.fnType(async.Future, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_StreamSinkWrapper, () => ({
    __proto__: dart.getGetters(_StreamSinkWrapper.__proto__),
    done: async.Future
  }));
  dart.setLibraryUri(_StreamSinkWrapper, I[30]);
  dart.setFieldSignature(_StreamSinkWrapper, () => ({
    __proto__: dart.getFields(_StreamSinkWrapper.__proto__),
    [_target$]: dart.finalFieldType(async.StreamController)
  }));
  return _StreamSinkWrapper;
});
async._StreamSinkWrapper = async._StreamSinkWrapper$();
dart.addTypeTests(async._StreamSinkWrapper, _is__StreamSinkWrapper_default);
const _is__AddStreamState_default = Symbol('_is__AddStreamState_default');
async._AddStreamState$ = dart.generic(T => {
  class _AddStreamState extends core.Object {
    static makeErrorHandler(controller) {
      if (controller == null) dart.nullFailed(I[65], 858, 38, "controller");
      return dart.fn((e, s) => {
        if (e == null) dart.nullFailed(I[65], 858, 61, "e");
        if (s == null) dart.nullFailed(I[65], 858, 75, "s");
        controller[_addError](e, s);
        controller[_close]();
      }, T$.ObjectAndStackTraceToNull());
    }
    pause() {
      this.addSubscription.pause();
    }
    resume() {
      this.addSubscription.resume();
    }
    cancel() {
      let cancel = this.addSubscription.cancel();
      if (cancel == null) {
        this.addStreamFuture[_asyncComplete](null);
        return async.Future._nullFuture;
      }
      return cancel.whenComplete(dart.fn(() => {
        this.addStreamFuture[_asyncComplete](null);
      }, T$.VoidToNull()));
    }
    complete() {
      this.addStreamFuture[_asyncComplete](null);
    }
  }
  (_AddStreamState.new = function(controller, source, cancelOnError) {
    if (controller == null) dart.nullFailed(I[65], 849, 21, "controller");
    if (source == null) dart.nullFailed(I[65], 849, 43, "source");
    if (cancelOnError == null) dart.nullFailed(I[65], 849, 56, "cancelOnError");
    this.addStreamFuture = new async._Future.new();
    this.addSubscription = source.listen(dart.bind(controller, _add), {onError: T$.FunctionN().as(dart.test(cancelOnError) ? async._AddStreamState.makeErrorHandler(controller) : dart.bind(controller, _addError)), onDone: dart.bind(controller, _close), cancelOnError: cancelOnError});
    ;
  }).prototype = _AddStreamState.prototype;
  dart.addTypeTests(_AddStreamState);
  _AddStreamState.prototype[_is__AddStreamState_default] = true;
  dart.addTypeCaches(_AddStreamState);
  dart.setMethodSignature(_AddStreamState, () => ({
    __proto__: dart.getMethods(_AddStreamState.__proto__),
    pause: dart.fnType(dart.void, []),
    resume: dart.fnType(dart.void, []),
    cancel: dart.fnType(async.Future$(dart.void), []),
    complete: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_AddStreamState, I[30]);
  dart.setFieldSignature(_AddStreamState, () => ({
    __proto__: dart.getFields(_AddStreamState.__proto__),
    addStreamFuture: dart.finalFieldType(async._Future),
    addSubscription: dart.finalFieldType(async.StreamSubscription)
  }));
  return _AddStreamState;
});
async._AddStreamState = async._AddStreamState$();
dart.addTypeTests(async._AddStreamState, _is__AddStreamState_default);
const _is__StreamControllerAddStreamState_default = Symbol('_is__StreamControllerAddStreamState_default');
async._StreamControllerAddStreamState$ = dart.generic(T => {
  class _StreamControllerAddStreamState extends async._AddStreamState$(T) {}
  (_StreamControllerAddStreamState.new = function(controller, varData, source, cancelOnError) {
    if (controller == null) dart.nullFailed(I[65], 899, 56, "controller");
    if (source == null) dart.nullFailed(I[65], 900, 17, "source");
    if (cancelOnError == null) dart.nullFailed(I[65], 900, 30, "cancelOnError");
    this.varData = varData;
    _StreamControllerAddStreamState.__proto__.new.call(this, controller, source, cancelOnError);
    if (dart.test(controller.isPaused)) {
      this.addSubscription.pause();
    }
  }).prototype = _StreamControllerAddStreamState.prototype;
  dart.addTypeTests(_StreamControllerAddStreamState);
  _StreamControllerAddStreamState.prototype[_is__StreamControllerAddStreamState_default] = true;
  dart.addTypeCaches(_StreamControllerAddStreamState);
  dart.setLibraryUri(_StreamControllerAddStreamState, I[30]);
  dart.setFieldSignature(_StreamControllerAddStreamState, () => ({
    __proto__: dart.getFields(_StreamControllerAddStreamState.__proto__),
    varData: dart.fieldType(dart.dynamic)
  }));
  return _StreamControllerAddStreamState;
});
async._StreamControllerAddStreamState = async._StreamControllerAddStreamState$();
dart.addTypeTests(async._StreamControllerAddStreamState, _is__StreamControllerAddStreamState_default);
const _is__EventSink_default = Symbol('_is__EventSink_default');
async._EventSink$ = dart.generic(T => {
  class _EventSink extends core.Object {}
  (_EventSink.new = function() {
    ;
  }).prototype = _EventSink.prototype;
  dart.addTypeTests(_EventSink);
  _EventSink.prototype[_is__EventSink_default] = true;
  dart.addTypeCaches(_EventSink);
  dart.setLibraryUri(_EventSink, I[30]);
  return _EventSink;
});
async._EventSink = async._EventSink$();
dart.addTypeTests(async._EventSink, _is__EventSink_default);
const _is__EventDispatch_default = Symbol('_is__EventDispatch_default');
async._EventDispatch$ = dart.generic(T => {
  class _EventDispatch extends core.Object {}
  (_EventDispatch.new = function() {
    ;
  }).prototype = _EventDispatch.prototype;
  dart.addTypeTests(_EventDispatch);
  _EventDispatch.prototype[_is__EventDispatch_default] = true;
  dart.addTypeCaches(_EventDispatch);
  dart.setLibraryUri(_EventDispatch, I[30]);
  return _EventDispatch;
});
async._EventDispatch = async._EventDispatch$();
dart.addTypeTests(async._EventDispatch, _is__EventDispatch_default);
var _isUsed = dart.privateName(async, "_isUsed");
const _is__GeneratedStreamImpl_default = Symbol('_is__GeneratedStreamImpl_default');
async._GeneratedStreamImpl$ = dart.generic(T => {
  var __t$_BufferingStreamSubscriptionOfT = () => (__t$_BufferingStreamSubscriptionOfT = dart.constFn(async._BufferingStreamSubscription$(T)))();
  class _GeneratedStreamImpl extends async._StreamImpl$(T) {
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      let t116;
      if (cancelOnError == null) dart.nullFailed(I[66], 504, 47, "cancelOnError");
      if (dart.test(this[_isUsed])) dart.throw(new core.StateError.new("Stream has already been listened to."));
      this[_isUsed] = true;
      t116 = new (__t$_BufferingStreamSubscriptionOfT()).new(onData, onError, onDone, cancelOnError);
      return (() => {
        t116[_setPendingEvents](this[_pending$]());
        return t116;
      })();
    }
  }
  (_GeneratedStreamImpl.new = function(_pending) {
    if (_pending == null) dart.nullFailed(I[66], 501, 29, "_pending");
    this[_isUsed] = false;
    this[_pending$] = _pending;
    _GeneratedStreamImpl.__proto__.new.call(this);
    ;
  }).prototype = _GeneratedStreamImpl.prototype;
  dart.addTypeTests(_GeneratedStreamImpl);
  _GeneratedStreamImpl.prototype[_is__GeneratedStreamImpl_default] = true;
  dart.addTypeCaches(_GeneratedStreamImpl);
  dart.setLibraryUri(_GeneratedStreamImpl, I[30]);
  dart.setFieldSignature(_GeneratedStreamImpl, () => ({
    __proto__: dart.getFields(_GeneratedStreamImpl.__proto__),
    [_pending$]: dart.finalFieldType(dart.fnType(async._PendingEvents$(T), [])),
    [_isUsed]: dart.fieldType(core.bool)
  }));
  return _GeneratedStreamImpl;
});
async._GeneratedStreamImpl = async._GeneratedStreamImpl$();
dart.addTypeTests(async._GeneratedStreamImpl, _is__GeneratedStreamImpl_default);
var _iterator = dart.privateName(async, "_iterator");
var _eventScheduled = dart.privateName(async, "_eventScheduled");
const _is__PendingEvents_default = Symbol('_is__PendingEvents_default');
async._PendingEvents$ = dart.generic(T => {
  var __t$_EventDispatchOfT = () => (__t$_EventDispatchOfT = dart.constFn(async._EventDispatch$(T)))();
  class _PendingEvents extends core.Object {
    get isScheduled() {
      return this[_state] === 1;
    }
    get [_eventScheduled]() {
      return dart.notNull(this[_state]) >= 1;
    }
    schedule(dispatch) {
      __t$_EventDispatchOfT().as(dispatch);
      if (dispatch == null) dart.nullFailed(I[66], 651, 35, "dispatch");
      if (dart.test(this.isScheduled)) return;
      if (!!dart.test(this.isEmpty)) dart.assertFailed(null, I[66], 653, 12, "!isEmpty");
      if (dart.test(this[_eventScheduled])) {
        if (!(this[_state] === 3)) dart.assertFailed(null, I[66], 655, 14, "_state == _STATE_CANCELED");
        this[_state] = 1;
        return;
      }
      async.scheduleMicrotask(dart.fn(() => {
        let oldState = this[_state];
        this[_state] = 0;
        if (oldState === 3) return;
        this.handleNext(dispatch);
      }, T$.VoidTovoid()));
      this[_state] = 1;
    }
    cancelSchedule() {
      if (dart.test(this.isScheduled)) this[_state] = 3;
    }
  }
  (_PendingEvents.new = function() {
    this[_state] = 0;
    ;
  }).prototype = _PendingEvents.prototype;
  dart.addTypeTests(_PendingEvents);
  _PendingEvents.prototype[_is__PendingEvents_default] = true;
  dart.addTypeCaches(_PendingEvents);
  dart.setMethodSignature(_PendingEvents, () => ({
    __proto__: dart.getMethods(_PendingEvents.__proto__),
    schedule: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    cancelSchedule: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_PendingEvents, () => ({
    __proto__: dart.getGetters(_PendingEvents.__proto__),
    isScheduled: core.bool,
    [_eventScheduled]: core.bool
  }));
  dart.setLibraryUri(_PendingEvents, I[30]);
  dart.setFieldSignature(_PendingEvents, () => ({
    __proto__: dart.getFields(_PendingEvents.__proto__),
    [_state]: dart.fieldType(core.int)
  }));
  return _PendingEvents;
});
async._PendingEvents = async._PendingEvents$();
dart.defineLazy(async._PendingEvents, {
  /*async._PendingEvents._STATE_UNSCHEDULED*/get _STATE_UNSCHEDULED() {
    return 0;
  },
  /*async._PendingEvents._STATE_SCHEDULED*/get _STATE_SCHEDULED() {
    return 1;
  },
  /*async._PendingEvents._STATE_CANCELED*/get _STATE_CANCELED() {
    return 3;
  }
}, false);
dart.addTypeTests(async._PendingEvents, _is__PendingEvents_default);
const _is__IterablePendingEvents_default = Symbol('_is__IterablePendingEvents_default');
async._IterablePendingEvents$ = dart.generic(T => {
  var __t$_EventDispatchOfT = () => (__t$_EventDispatchOfT = dart.constFn(async._EventDispatch$(T)))();
  class _IterablePendingEvents extends async._PendingEvents$(T) {
    get isEmpty() {
      return this[_iterator] == null;
    }
    handleNext(dispatch) {
      __t$_EventDispatchOfT().as(dispatch);
      if (dispatch == null) dart.nullFailed(I[66], 523, 37, "dispatch");
      let iterator = this[_iterator];
      if (iterator == null) {
        dart.throw(new core.StateError.new("No events pending."));
      }
      let movedNext = false;
      try {
        if (dart.test(iterator.moveNext())) {
          movedNext = true;
          dispatch[_sendData](iterator.current);
        } else {
          this[_iterator] = null;
          dispatch[_sendDone]();
        }
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          if (!movedNext) {
            this[_iterator] = C[21] || CT.C21;
          }
          dispatch[_sendError](e, s);
        } else
          throw e$;
      }
    }
    clear() {
      if (dart.test(this.isScheduled)) this.cancelSchedule();
      this[_iterator] = null;
    }
  }
  (_IterablePendingEvents.new = function(data) {
    if (data == null) dart.nullFailed(I[66], 519, 38, "data");
    this[_iterator] = data[$iterator];
    _IterablePendingEvents.__proto__.new.call(this);
    ;
  }).prototype = _IterablePendingEvents.prototype;
  dart.addTypeTests(_IterablePendingEvents);
  _IterablePendingEvents.prototype[_is__IterablePendingEvents_default] = true;
  dart.addTypeCaches(_IterablePendingEvents);
  dart.setMethodSignature(_IterablePendingEvents, () => ({
    __proto__: dart.getMethods(_IterablePendingEvents.__proto__),
    handleNext: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_IterablePendingEvents, () => ({
    __proto__: dart.getGetters(_IterablePendingEvents.__proto__),
    isEmpty: core.bool
  }));
  dart.setLibraryUri(_IterablePendingEvents, I[30]);
  dart.setFieldSignature(_IterablePendingEvents, () => ({
    __proto__: dart.getFields(_IterablePendingEvents.__proto__),
    [_iterator]: dart.fieldType(dart.nullable(core.Iterator$(T)))
  }));
  return _IterablePendingEvents;
});
async._IterablePendingEvents = async._IterablePendingEvents$();
dart.addTypeTests(async._IterablePendingEvents, _is__IterablePendingEvents_default);
const _is__DelayedEvent_default = Symbol('_is__DelayedEvent_default');
async._DelayedEvent$ = dart.generic(T => {
  class _DelayedEvent extends core.Object {}
  (_DelayedEvent.new = function() {
    this.next = null;
    ;
  }).prototype = _DelayedEvent.prototype;
  dart.addTypeTests(_DelayedEvent);
  _DelayedEvent.prototype[_is__DelayedEvent_default] = true;
  dart.addTypeCaches(_DelayedEvent);
  dart.setLibraryUri(_DelayedEvent, I[30]);
  dart.setFieldSignature(_DelayedEvent, () => ({
    __proto__: dart.getFields(_DelayedEvent.__proto__),
    next: dart.fieldType(dart.nullable(async._DelayedEvent))
  }));
  return _DelayedEvent;
});
async._DelayedEvent = async._DelayedEvent$();
dart.addTypeTests(async._DelayedEvent, _is__DelayedEvent_default);
const _is__DelayedData_default = Symbol('_is__DelayedData_default');
async._DelayedData$ = dart.generic(T => {
  var __t$_EventDispatchOfT = () => (__t$_EventDispatchOfT = dart.constFn(async._EventDispatch$(T)))();
  class _DelayedData extends async._DelayedEvent$(T) {
    perform(dispatch) {
      __t$_EventDispatchOfT().as(dispatch);
      if (dispatch == null) dart.nullFailed(I[66], 590, 34, "dispatch");
      dispatch[_sendData](this.value);
    }
  }
  (_DelayedData.new = function(value) {
    this.value = value;
    _DelayedData.__proto__.new.call(this);
    ;
  }).prototype = _DelayedData.prototype;
  dart.addTypeTests(_DelayedData);
  _DelayedData.prototype[_is__DelayedData_default] = true;
  dart.addTypeCaches(_DelayedData);
  dart.setMethodSignature(_DelayedData, () => ({
    __proto__: dart.getMethods(_DelayedData.__proto__),
    perform: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_DelayedData, I[30]);
  dart.setFieldSignature(_DelayedData, () => ({
    __proto__: dart.getFields(_DelayedData.__proto__),
    value: dart.finalFieldType(T)
  }));
  return _DelayedData;
});
async._DelayedData = async._DelayedData$();
dart.addTypeTests(async._DelayedData, _is__DelayedData_default);
async._DelayedError = class _DelayedError extends async._DelayedEvent {
  perform(dispatch) {
    async._EventDispatch.as(dispatch);
    if (dispatch == null) dart.nullFailed(I[66], 601, 31, "dispatch");
    dispatch[_sendError](this.error, this.stackTrace);
  }
};
(async._DelayedError.new = function(error, stackTrace) {
  if (error == null) dart.nullFailed(I[66], 600, 22, "error");
  if (stackTrace == null) dart.nullFailed(I[66], 600, 34, "stackTrace");
  this.error = error;
  this.stackTrace = stackTrace;
  async._DelayedError.__proto__.new.call(this);
  ;
}).prototype = async._DelayedError.prototype;
dart.addTypeTests(async._DelayedError);
dart.addTypeCaches(async._DelayedError);
dart.setMethodSignature(async._DelayedError, () => ({
  __proto__: dart.getMethods(async._DelayedError.__proto__),
  perform: dart.fnType(dart.void, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(async._DelayedError, I[30]);
dart.setFieldSignature(async._DelayedError, () => ({
  __proto__: dart.getFields(async._DelayedError.__proto__),
  error: dart.finalFieldType(core.Object),
  stackTrace: dart.finalFieldType(core.StackTrace)
}));
async._DelayedDone = class _DelayedDone extends core.Object {
  perform(dispatch) {
    async._EventDispatch.as(dispatch);
    if (dispatch == null) dart.nullFailed(I[66], 609, 31, "dispatch");
    dispatch[_sendDone]();
  }
  get next() {
    return null;
  }
  set next(_) {
    dart.throw(new core.StateError.new("No events after a done."));
  }
};
(async._DelayedDone.new = function() {
  ;
}).prototype = async._DelayedDone.prototype;
dart.addTypeTests(async._DelayedDone);
dart.addTypeCaches(async._DelayedDone);
async._DelayedDone[dart.implements] = () => [async._DelayedEvent];
dart.setMethodSignature(async._DelayedDone, () => ({
  __proto__: dart.getMethods(async._DelayedDone.__proto__),
  perform: dart.fnType(dart.void, [dart.nullable(core.Object)])
}));
dart.setGetterSignature(async._DelayedDone, () => ({
  __proto__: dart.getGetters(async._DelayedDone.__proto__),
  next: dart.nullable(async._DelayedEvent)
}));
dart.setSetterSignature(async._DelayedDone, () => ({
  __proto__: dart.getSetters(async._DelayedDone.__proto__),
  next: dart.nullable(async._DelayedEvent)
}));
dart.setLibraryUri(async._DelayedDone, I[30]);
const _is__StreamImplEvents_default = Symbol('_is__StreamImplEvents_default');
async._StreamImplEvents$ = dart.generic(T => {
  var __t$_EventDispatchOfT = () => (__t$_EventDispatchOfT = dart.constFn(async._EventDispatch$(T)))();
  class _StreamImplEvents extends async._PendingEvents$(T) {
    get isEmpty() {
      return this.lastPendingEvent == null;
    }
    add(event) {
      if (event == null) dart.nullFailed(I[66], 688, 26, "event");
      let lastEvent = this.lastPendingEvent;
      if (lastEvent == null) {
        this.firstPendingEvent = this.lastPendingEvent = event;
      } else {
        this.lastPendingEvent = lastEvent.next = event;
      }
    }
    handleNext(dispatch) {
      __t$_EventDispatchOfT().as(dispatch);
      if (dispatch == null) dart.nullFailed(I[66], 697, 37, "dispatch");
      if (!!dart.test(this.isScheduled)) dart.assertFailed(null, I[66], 698, 12, "!isScheduled");
      if (!!dart.test(this.isEmpty)) dart.assertFailed(null, I[66], 699, 12, "!isEmpty");
      let event = dart.nullCheck(this.firstPendingEvent);
      let nextEvent = event.next;
      this.firstPendingEvent = nextEvent;
      if (nextEvent == null) {
        this.lastPendingEvent = null;
      }
      event.perform(dispatch);
    }
    clear() {
      if (dart.test(this.isScheduled)) this.cancelSchedule();
      this.firstPendingEvent = this.lastPendingEvent = null;
    }
  }
  (_StreamImplEvents.new = function() {
    this.firstPendingEvent = null;
    this.lastPendingEvent = null;
    _StreamImplEvents.__proto__.new.call(this);
    ;
  }).prototype = _StreamImplEvents.prototype;
  dart.addTypeTests(_StreamImplEvents);
  _StreamImplEvents.prototype[_is__StreamImplEvents_default] = true;
  dart.addTypeCaches(_StreamImplEvents);
  dart.setMethodSignature(_StreamImplEvents, () => ({
    __proto__: dart.getMethods(_StreamImplEvents.__proto__),
    add: dart.fnType(dart.void, [async._DelayedEvent]),
    handleNext: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_StreamImplEvents, () => ({
    __proto__: dart.getGetters(_StreamImplEvents.__proto__),
    isEmpty: core.bool
  }));
  dart.setLibraryUri(_StreamImplEvents, I[30]);
  dart.setFieldSignature(_StreamImplEvents, () => ({
    __proto__: dart.getFields(_StreamImplEvents.__proto__),
    firstPendingEvent: dart.fieldType(dart.nullable(async._DelayedEvent)),
    lastPendingEvent: dart.fieldType(dart.nullable(async._DelayedEvent))
  }));
  return _StreamImplEvents;
});
async._StreamImplEvents = async._StreamImplEvents$();
dart.addTypeTests(async._StreamImplEvents, _is__StreamImplEvents_default);
var _schedule = dart.privateName(async, "_schedule");
var _isSent = dart.privateName(async, "_isSent");
var _isScheduled = dart.privateName(async, "_isScheduled");
const _is__DoneStreamSubscription_default = Symbol('_is__DoneStreamSubscription_default');
async._DoneStreamSubscription$ = dart.generic(T => {
  class _DoneStreamSubscription extends core.Object {
    get [_isSent]() {
      return (dart.notNull(this[_state]) & 1) !== 0;
    }
    get [_isScheduled]() {
      return (dart.notNull(this[_state]) & 2) !== 0;
    }
    get isPaused() {
      return dart.notNull(this[_state]) >= 4;
    }
    [_schedule]() {
      if (dart.test(this[_isScheduled])) return;
      this[_zone$].scheduleMicrotask(dart.bind(this, _sendDone));
      this[_state] = (dart.notNull(this[_state]) | 2) >>> 0;
    }
    onData(handleData) {
    }
    onError(handleError) {
    }
    onDone(handleDone) {
      this[_onDone$] = handleDone;
    }
    pause(resumeSignal = null) {
      this[_state] = dart.notNull(this[_state]) + 4;
      if (resumeSignal != null) resumeSignal.whenComplete(dart.bind(this, 'resume'));
    }
    resume() {
      if (dart.test(this.isPaused)) {
        this[_state] = dart.notNull(this[_state]) - 4;
        if (!dart.test(this.isPaused) && !dart.test(this[_isSent])) {
          this[_schedule]();
        }
      }
    }
    cancel() {
      return async.Future._nullFuture;
    }
    asFuture(E, futureValue = null) {
      let resultValue = null;
      if (futureValue == null) {
        if (!dart.test(_internal.typeAcceptsNull(E))) {
          dart.throw(new core.ArgumentError.notNull("futureValue"));
        }
        resultValue = E.as(futureValue);
      } else {
        resultValue = futureValue;
      }
      let result = new (async._Future$(E)).new();
      this[_onDone$] = dart.fn(() => {
        result[_completeWithValue](resultValue);
      }, T$.VoidTovoid());
      return result;
    }
    [_sendDone]() {
      this[_state] = (dart.notNull(this[_state]) & ~2 >>> 0) >>> 0;
      if (dart.test(this.isPaused)) return;
      this[_state] = (dart.notNull(this[_state]) | 1) >>> 0;
      let doneHandler = this[_onDone$];
      if (doneHandler != null) this[_zone$].runGuarded(doneHandler);
    }
  }
  (_DoneStreamSubscription.new = function(_onDone) {
    this[_state] = 0;
    this[_onDone$] = _onDone;
    this[_zone$] = async.Zone.current;
    this[_schedule]();
  }).prototype = _DoneStreamSubscription.prototype;
  _DoneStreamSubscription.prototype[dart.isStreamSubscription] = true;
  dart.addTypeTests(_DoneStreamSubscription);
  _DoneStreamSubscription.prototype[_is__DoneStreamSubscription_default] = true;
  dart.addTypeCaches(_DoneStreamSubscription);
  _DoneStreamSubscription[dart.implements] = () => [async.StreamSubscription$(T)];
  dart.setMethodSignature(_DoneStreamSubscription, () => ({
    __proto__: dart.getMethods(_DoneStreamSubscription.__proto__),
    [_schedule]: dart.fnType(dart.void, []),
    onData: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, [T]))]),
    onError: dart.fnType(dart.void, [dart.nullable(core.Function)]),
    onDone: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, []))]),
    pause: dart.fnType(dart.void, [], [dart.nullable(async.Future$(dart.void))]),
    resume: dart.fnType(dart.void, []),
    cancel: dart.fnType(async.Future, []),
    asFuture: dart.gFnType(E => [async.Future$(E), [], [dart.nullable(E)]], E => [dart.nullable(core.Object)]),
    [_sendDone]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_DoneStreamSubscription, () => ({
    __proto__: dart.getGetters(_DoneStreamSubscription.__proto__),
    [_isSent]: core.bool,
    [_isScheduled]: core.bool,
    isPaused: core.bool
  }));
  dart.setLibraryUri(_DoneStreamSubscription, I[30]);
  dart.setFieldSignature(_DoneStreamSubscription, () => ({
    __proto__: dart.getFields(_DoneStreamSubscription.__proto__),
    [_zone$]: dart.finalFieldType(async.Zone),
    [_state]: dart.fieldType(core.int),
    [_onDone$]: dart.fieldType(dart.nullable(dart.fnType(dart.void, [])))
  }));
  return _DoneStreamSubscription;
});
async._DoneStreamSubscription = async._DoneStreamSubscription$();
dart.defineLazy(async._DoneStreamSubscription, {
  /*async._DoneStreamSubscription._DONE_SENT*/get _DONE_SENT() {
    return 1;
  },
  /*async._DoneStreamSubscription._SCHEDULED*/get _SCHEDULED() {
    return 2;
  },
  /*async._DoneStreamSubscription._PAUSED*/get _PAUSED() {
    return 4;
  }
}, false);
dart.addTypeTests(async._DoneStreamSubscription, _is__DoneStreamSubscription_default);
var _source$4 = dart.privateName(async, "_source");
var _onListenHandler = dart.privateName(async, "_onListenHandler");
var _onCancelHandler = dart.privateName(async, "_onCancelHandler");
var _cancelSubscription = dart.privateName(async, "_cancelSubscription");
var _pauseSubscription = dart.privateName(async, "_pauseSubscription");
var _resumeSubscription = dart.privateName(async, "_resumeSubscription");
var _isSubscriptionPaused = dart.privateName(async, "_isSubscriptionPaused");
const _is__AsBroadcastStream_default = Symbol('_is__AsBroadcastStream_default');
async._AsBroadcastStream$ = dart.generic(T => {
  var __t$StreamSubscriptionOfT = () => (__t$StreamSubscriptionOfT = dart.constFn(async.StreamSubscription$(T)))();
  var __t$_AsBroadcastStreamControllerOfT = () => (__t$_AsBroadcastStreamControllerOfT = dart.constFn(async._AsBroadcastStreamController$(T)))();
  var __t$_DoneStreamSubscriptionOfT = () => (__t$_DoneStreamSubscriptionOfT = dart.constFn(async._DoneStreamSubscription$(T)))();
  var __t$_BroadcastSubscriptionWrapperOfT = () => (__t$_BroadcastSubscriptionWrapperOfT = dart.constFn(async._BroadcastSubscriptionWrapper$(T)))();
  class _AsBroadcastStream extends async.Stream$(T) {
    get isBroadcast() {
      return true;
    }
    listen(onData, opts) {
      let t117;
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      let controller = this[_controller$];
      if (controller == null || dart.test(controller.isClosed)) {
        return new (__t$_DoneStreamSubscriptionOfT()).new(onDone);
      }
      this[_subscription] == null ? this[_subscription] = this[_source$4].listen(dart.bind(controller, 'add'), {onError: dart.bind(controller, 'addError'), onDone: dart.bind(controller, 'close')}) : null;
      return controller[_subscribe](onData, onError, onDone, (t117 = cancelOnError, t117 == null ? false : t117));
    }
    [_onCancel]() {
      let controller = this[_controller$];
      let shutdown = controller == null || dart.test(controller.isClosed);
      let cancelHandler = this[_onCancelHandler];
      if (cancelHandler != null) {
        this[_zone$].runUnary(dart.void, __t$_BroadcastSubscriptionWrapperOfT(), cancelHandler, new (__t$_BroadcastSubscriptionWrapperOfT()).new(this));
      }
      if (shutdown) {
        let subscription = this[_subscription];
        if (subscription != null) {
          subscription.cancel();
          this[_subscription] = null;
        }
      }
    }
    [_onListen$]() {
      let listenHandler = this[_onListenHandler];
      if (listenHandler != null) {
        this[_zone$].runUnary(dart.void, __t$_BroadcastSubscriptionWrapperOfT(), listenHandler, new (__t$_BroadcastSubscriptionWrapperOfT()).new(this));
      }
    }
    [_cancelSubscription]() {
      let subscription = this[_subscription];
      if (subscription != null) {
        this[_subscription] = null;
        this[_controller$] = null;
        subscription.cancel();
      }
    }
    [_pauseSubscription](resumeSignal) {
      let t117;
      t117 = this[_subscription];
      t117 == null ? null : t117.pause(resumeSignal);
    }
    [_resumeSubscription]() {
      let t117;
      t117 = this[_subscription];
      t117 == null ? null : t117.resume();
    }
    get [_isSubscriptionPaused]() {
      let t117, t117$;
      t117$ = (t117 = this[_subscription], t117 == null ? null : t117.isPaused);
      return t117$ == null ? false : t117$;
    }
  }
  (_AsBroadcastStream.new = function(_source, onListenHandler, onCancelHandler) {
    if (_source == null) dart.nullFailed(I[66], 799, 12, "_source");
    this[_controller$] = null;
    this[_subscription] = null;
    this[_source$4] = _source;
    this[_onListenHandler] = onListenHandler == null ? null : async.Zone.current.registerUnaryCallback(dart.void, __t$StreamSubscriptionOfT(), onListenHandler);
    this[_onCancelHandler] = onCancelHandler == null ? null : async.Zone.current.registerUnaryCallback(dart.void, __t$StreamSubscriptionOfT(), onCancelHandler);
    this[_zone$] = async.Zone.current;
    _AsBroadcastStream.__proto__.new.call(this);
    this[_controller$] = new (__t$_AsBroadcastStreamControllerOfT()).new(dart.bind(this, _onListen$), dart.bind(this, _onCancel));
  }).prototype = _AsBroadcastStream.prototype;
  dart.addTypeTests(_AsBroadcastStream);
  _AsBroadcastStream.prototype[_is__AsBroadcastStream_default] = true;
  dart.addTypeCaches(_AsBroadcastStream);
  dart.setMethodSignature(_AsBroadcastStream, () => ({
    __proto__: dart.getMethods(_AsBroadcastStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
    [_onCancel]: dart.fnType(dart.void, []),
    [_onListen$]: dart.fnType(dart.void, []),
    [_cancelSubscription]: dart.fnType(dart.void, []),
    [_pauseSubscription]: dart.fnType(dart.void, [dart.nullable(async.Future$(dart.void))]),
    [_resumeSubscription]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_AsBroadcastStream, () => ({
    __proto__: dart.getGetters(_AsBroadcastStream.__proto__),
    [_isSubscriptionPaused]: core.bool
  }));
  dart.setLibraryUri(_AsBroadcastStream, I[30]);
  dart.setFieldSignature(_AsBroadcastStream, () => ({
    __proto__: dart.getFields(_AsBroadcastStream.__proto__),
    [_source$4]: dart.finalFieldType(async.Stream$(T)),
    [_onListenHandler]: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [async.StreamSubscription$(T)]))),
    [_onCancelHandler]: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [async.StreamSubscription$(T)]))),
    [_zone$]: dart.finalFieldType(async.Zone),
    [_controller$]: dart.fieldType(dart.nullable(async._AsBroadcastStreamController$(T))),
    [_subscription]: dart.fieldType(dart.nullable(async.StreamSubscription$(T)))
  }));
  return _AsBroadcastStream;
});
async._AsBroadcastStream = async._AsBroadcastStream$();
dart.addTypeTests(async._AsBroadcastStream, _is__AsBroadcastStream_default);
const _is__BroadcastSubscriptionWrapper_default = Symbol('_is__BroadcastSubscriptionWrapper_default');
async._BroadcastSubscriptionWrapper$ = dart.generic(T => {
  class _BroadcastSubscriptionWrapper extends core.Object {
    onData(handleData) {
      dart.throw(new core.UnsupportedError.new("Cannot change handlers of asBroadcastStream source subscription."));
    }
    onError(handleError) {
      dart.throw(new core.UnsupportedError.new("Cannot change handlers of asBroadcastStream source subscription."));
    }
    onDone(handleDone) {
      dart.throw(new core.UnsupportedError.new("Cannot change handlers of asBroadcastStream source subscription."));
    }
    pause(resumeSignal = null) {
      this[_stream$][_pauseSubscription](resumeSignal);
    }
    resume() {
      this[_stream$][_resumeSubscription]();
    }
    cancel() {
      this[_stream$][_cancelSubscription]();
      return async.Future._nullFuture;
    }
    get isPaused() {
      return this[_stream$][_isSubscriptionPaused];
    }
    asFuture(E, futureValue = null) {
      dart.throw(new core.UnsupportedError.new("Cannot change handlers of asBroadcastStream source subscription."));
    }
  }
  (_BroadcastSubscriptionWrapper.new = function(_stream) {
    if (_stream == null) dart.nullFailed(I[66], 881, 38, "_stream");
    this[_stream$] = _stream;
    ;
  }).prototype = _BroadcastSubscriptionWrapper.prototype;
  _BroadcastSubscriptionWrapper.prototype[dart.isStreamSubscription] = true;
  dart.addTypeTests(_BroadcastSubscriptionWrapper);
  _BroadcastSubscriptionWrapper.prototype[_is__BroadcastSubscriptionWrapper_default] = true;
  dart.addTypeCaches(_BroadcastSubscriptionWrapper);
  _BroadcastSubscriptionWrapper[dart.implements] = () => [async.StreamSubscription$(T)];
  dart.setMethodSignature(_BroadcastSubscriptionWrapper, () => ({
    __proto__: dart.getMethods(_BroadcastSubscriptionWrapper.__proto__),
    onData: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, [T]))]),
    onError: dart.fnType(dart.void, [dart.nullable(core.Function)]),
    onDone: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, []))]),
    pause: dart.fnType(dart.void, [], [dart.nullable(async.Future$(dart.void))]),
    resume: dart.fnType(dart.void, []),
    cancel: dart.fnType(async.Future, []),
    asFuture: dart.gFnType(E => [async.Future$(E), [], [dart.nullable(E)]], E => [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_BroadcastSubscriptionWrapper, () => ({
    __proto__: dart.getGetters(_BroadcastSubscriptionWrapper.__proto__),
    isPaused: core.bool
  }));
  dart.setLibraryUri(_BroadcastSubscriptionWrapper, I[30]);
  dart.setFieldSignature(_BroadcastSubscriptionWrapper, () => ({
    __proto__: dart.getFields(_BroadcastSubscriptionWrapper.__proto__),
    [_stream$]: dart.finalFieldType(async._AsBroadcastStream)
  }));
  return _BroadcastSubscriptionWrapper;
});
async._BroadcastSubscriptionWrapper = async._BroadcastSubscriptionWrapper$();
dart.addTypeTests(async._BroadcastSubscriptionWrapper, _is__BroadcastSubscriptionWrapper_default);
var _hasValue$0 = dart.privateName(async, "_hasValue");
var _stateData = dart.privateName(async, "_stateData");
var _initializeOrDone = dart.privateName(async, "_initializeOrDone");
const _is__StreamIterator_default = Symbol('_is__StreamIterator_default');
async._StreamIterator$ = dart.generic(T => {
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  class _StreamIterator extends core.Object {
    get current() {
      if (dart.test(this[_hasValue$0])) return T.as(this[_stateData]);
      return T.as(null);
    }
    moveNext() {
      let subscription = this[_subscription];
      if (subscription != null) {
        if (dart.test(this[_hasValue$0])) {
          let future = new (T$._FutureOfbool()).new();
          this[_stateData] = future;
          this[_hasValue$0] = false;
          subscription.resume();
          return future;
        }
        dart.throw(new core.StateError.new("Already waiting for next."));
      }
      return this[_initializeOrDone]();
    }
    [_initializeOrDone]() {
      if (!(this[_subscription] == null)) dart.assertFailed(null, I[66], 1012, 12, "_subscription == null");
      let stateData = this[_stateData];
      if (stateData != null) {
        let stream = __t$StreamOfT().as(stateData);
        let future = new (T$._FutureOfbool()).new();
        this[_stateData] = future;
        let subscription = stream.listen(dart.bind(this, _onData$), {onError: dart.bind(this, _onError$), onDone: dart.bind(this, _onDone$), cancelOnError: true});
        if (this[_stateData] != null) {
          this[_subscription] = subscription;
        }
        return future;
      }
      return async.Future._falseFuture;
    }
    cancel() {
      let subscription = this[_subscription];
      let stateData = this[_stateData];
      this[_stateData] = null;
      if (subscription != null) {
        this[_subscription] = null;
        if (!dart.test(this[_hasValue$0])) {
          let future = T$._FutureOfbool().as(stateData);
          future[_asyncComplete](false);
        } else {
          this[_hasValue$0] = false;
        }
        return subscription.cancel();
      }
      return async.Future._nullFuture;
    }
    [_onData$](data) {
      let t117;
      T.as(data);
      if (this[_subscription] == null) return;
      let moveNextFuture = T$._FutureOfbool().as(this[_stateData]);
      this[_stateData] = data;
      this[_hasValue$0] = true;
      moveNextFuture[_complete](true);
      if (dart.test(this[_hasValue$0])) {
        t117 = this[_subscription];
        t117 == null ? null : t117.pause();
      }
    }
    [_onError$](error, stackTrace) {
      if (error == null) dart.nullFailed(I[66], 1066, 24, "error");
      if (stackTrace == null) dart.nullFailed(I[66], 1066, 42, "stackTrace");
      let subscription = this[_subscription];
      let moveNextFuture = T$._FutureOfbool().as(this[_stateData]);
      this[_subscription] = null;
      this[_stateData] = null;
      if (subscription != null) {
        moveNextFuture[_completeError](error, stackTrace);
      } else {
        moveNextFuture[_asyncCompleteError](error, stackTrace);
      }
    }
    [_onDone$]() {
      let subscription = this[_subscription];
      let moveNextFuture = T$._FutureOfbool().as(this[_stateData]);
      this[_subscription] = null;
      this[_stateData] = null;
      if (subscription != null) {
        moveNextFuture[_completeWithValue](false);
      } else {
        moveNextFuture[_asyncCompleteWithValue](false);
      }
    }
  }
  (_StreamIterator.new = function(stream) {
    if (stream == null) dart.nullFailed(I[66], 983, 35, "stream");
    this[_subscription] = null;
    this[_hasValue$0] = false;
    this[_stateData] = _internal.checkNotNullable(core.Object, stream, "stream");
    ;
  }).prototype = _StreamIterator.prototype;
  dart.addTypeTests(_StreamIterator);
  _StreamIterator.prototype[_is__StreamIterator_default] = true;
  dart.addTypeCaches(_StreamIterator);
  _StreamIterator[dart.implements] = () => [async.StreamIterator$(T)];
  dart.setMethodSignature(_StreamIterator, () => ({
    __proto__: dart.getMethods(_StreamIterator.__proto__),
    moveNext: dart.fnType(async.Future$(core.bool), []),
    [_initializeOrDone]: dart.fnType(async.Future$(core.bool), []),
    cancel: dart.fnType(async.Future, []),
    [_onData$]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_onError$]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_onDone$]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_StreamIterator, () => ({
    __proto__: dart.getGetters(_StreamIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(_StreamIterator, I[30]);
  dart.setFieldSignature(_StreamIterator, () => ({
    __proto__: dart.getFields(_StreamIterator.__proto__),
    [_subscription]: dart.fieldType(dart.nullable(async.StreamSubscription$(T))),
    [_stateData]: dart.fieldType(dart.nullable(core.Object)),
    [_hasValue$0]: dart.fieldType(core.bool)
  }));
  return _StreamIterator;
});
async._StreamIterator = async._StreamIterator$();
dart.addTypeTests(async._StreamIterator, _is__StreamIterator_default);
const _is__EmptyStream_default = Symbol('_is__EmptyStream_default');
async._EmptyStream$ = dart.generic(T => {
  var __t$_DoneStreamSubscriptionOfT = () => (__t$_DoneStreamSubscriptionOfT = dart.constFn(async._DoneStreamSubscription$(T)))();
  class _EmptyStream extends async.Stream$(T) {
    get isBroadcast() {
      return true;
    }
    listen(onData, opts) {
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      return new (__t$_DoneStreamSubscriptionOfT()).new(onDone);
    }
  }
  (_EmptyStream.new = function() {
    _EmptyStream.__proto__._internal.call(this);
    ;
  }).prototype = _EmptyStream.prototype;
  dart.addTypeTests(_EmptyStream);
  _EmptyStream.prototype[_is__EmptyStream_default] = true;
  dart.addTypeCaches(_EmptyStream);
  dart.setMethodSignature(_EmptyStream, () => ({
    __proto__: dart.getMethods(_EmptyStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
  }));
  dart.setLibraryUri(_EmptyStream, I[30]);
  return _EmptyStream;
});
async._EmptyStream = async._EmptyStream$();
dart.addTypeTests(async._EmptyStream, _is__EmptyStream_default);
var isBroadcast$ = dart.privateName(async, "_MultiStream.isBroadcast");
const _is__MultiStream_default = Symbol('_is__MultiStream_default');
async._MultiStream$ = dart.generic(T => {
  var __t$_MultiStreamControllerOfT = () => (__t$_MultiStreamControllerOfT = dart.constFn(async._MultiStreamController$(T)))();
  class _MultiStream extends async.Stream$(T) {
    get isBroadcast() {
      return this[isBroadcast$];
    }
    set isBroadcast(value) {
      super.isBroadcast = value;
    }
    listen(onData, opts) {
      let t117;
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      let controller = new (__t$_MultiStreamControllerOfT()).new();
      controller.onListen = dart.fn(() => {
        let t117;
        t117 = controller;
        this[_onListen$](t117);
      }, T$.VoidTovoid());
      return controller[_subscribe](onData, onError, onDone, (t117 = cancelOnError, t117 == null ? false : t117));
    }
  }
  (_MultiStream.new = function(_onListen, isBroadcast) {
    if (_onListen == null) dart.nullFailed(I[66], 1110, 21, "_onListen");
    if (isBroadcast == null) dart.nullFailed(I[66], 1110, 37, "isBroadcast");
    this[_onListen$] = _onListen;
    this[isBroadcast$] = isBroadcast;
    _MultiStream.__proto__.new.call(this);
    ;
  }).prototype = _MultiStream.prototype;
  dart.addTypeTests(_MultiStream);
  _MultiStream.prototype[_is__MultiStream_default] = true;
  dart.addTypeCaches(_MultiStream);
  dart.setMethodSignature(_MultiStream, () => ({
    __proto__: dart.getMethods(_MultiStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
  }));
  dart.setLibraryUri(_MultiStream, I[30]);
  dart.setFieldSignature(_MultiStream, () => ({
    __proto__: dart.getFields(_MultiStream.__proto__),
    isBroadcast: dart.finalFieldType(core.bool),
    [_onListen$]: dart.finalFieldType(dart.fnType(dart.void, [async.MultiStreamController$(T)]))
  }));
  return _MultiStream;
});
async._MultiStream = async._MultiStream$();
dart.addTypeTests(async._MultiStream, _is__MultiStream_default);
const _is__MultiStreamController_default = Symbol('_is__MultiStreamController_default');
async._MultiStreamController$ = dart.generic(T => {
  class _MultiStreamController extends async._AsyncStreamController$(T) {
    addSync(data) {
      T.as(data);
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_badEventState]());
      if (dart.test(this.hasListener)) this[_subscription][_add](data);
    }
    addErrorSync(error, stackTrace = null) {
      let t117;
      if (error == null) dart.nullFailed(I[66], 1132, 28, "error");
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_badEventState]());
      if (dart.test(this.hasListener)) {
        this[_subscription][_addError](error, (t117 = stackTrace, t117 == null ? core.StackTrace.empty : t117));
      }
    }
    closeSync() {
      if (dart.test(this.isClosed)) return;
      if (!dart.test(this[_mayAddEvent])) dart.throw(this[_badEventState]());
      this[_state] = (dart.notNull(this[_state]) | 4) >>> 0;
      if (dart.test(this.hasListener)) this[_subscription][_close]();
    }
    get stream() {
      dart.throw(new core.UnsupportedError.new("Not available"));
    }
  }
  (_MultiStreamController.new = function() {
    _MultiStreamController.__proto__.new.call(this, null, null, null, null);
    ;
  }).prototype = _MultiStreamController.prototype;
  dart.addTypeTests(_MultiStreamController);
  _MultiStreamController.prototype[_is__MultiStreamController_default] = true;
  dart.addTypeCaches(_MultiStreamController);
  _MultiStreamController[dart.implements] = () => [async.MultiStreamController$(T)];
  dart.setMethodSignature(_MultiStreamController, () => ({
    __proto__: dart.getMethods(_MultiStreamController.__proto__),
    addSync: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addErrorSync: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    closeSync: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_MultiStreamController, I[30]);
  return _MultiStreamController;
});
async._MultiStreamController = async._MultiStreamController$();
dart.addTypeTests(async._MultiStreamController, _is__MultiStreamController_default);
var _handleError$ = dart.privateName(async, "_handleError");
var _handleDone$ = dart.privateName(async, "_handleDone");
const _is__ForwardingStream_default = Symbol('_is__ForwardingStream_default');
async._ForwardingStream$ = dart.generic((S, T) => {
  var __t$_ForwardingStreamSubscriptionOfS$T = () => (__t$_ForwardingStreamSubscriptionOfS$T = dart.constFn(async._ForwardingStreamSubscription$(S, T)))();
  var __t$_EventSinkOfT = () => (__t$_EventSinkOfT = dart.constFn(async._EventSink$(T)))();
  class _ForwardingStream extends async.Stream$(T) {
    get isBroadcast() {
      return this[_source$4].isBroadcast;
    }
    listen(onData, opts) {
      let t117;
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      return this[_createSubscription](onData, onError, onDone, (t117 = cancelOnError, t117 == null ? false : t117));
    }
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[71], 85, 47, "cancelOnError");
      return new (__t$_ForwardingStreamSubscriptionOfS$T()).new(this, onData, onError, onDone, cancelOnError);
    }
    [_handleError$](error, stackTrace, sink) {
      if (error == null) dart.nullFailed(I[71], 94, 28, "error");
      if (stackTrace == null) dart.nullFailed(I[71], 94, 46, "stackTrace");
      __t$_EventSinkOfT().as(sink);
      if (sink == null) dart.nullFailed(I[71], 94, 72, "sink");
      sink[_addError](error, stackTrace);
    }
    [_handleDone$](sink) {
      __t$_EventSinkOfT().as(sink);
      if (sink == null) dart.nullFailed(I[71], 98, 34, "sink");
      sink[_close]();
    }
  }
  (_ForwardingStream.new = function(_source) {
    if (_source == null) dart.nullFailed(I[71], 75, 26, "_source");
    this[_source$4] = _source;
    _ForwardingStream.__proto__.new.call(this);
    ;
  }).prototype = _ForwardingStream.prototype;
  dart.addTypeTests(_ForwardingStream);
  _ForwardingStream.prototype[_is__ForwardingStream_default] = true;
  dart.addTypeCaches(_ForwardingStream);
  dart.setMethodSignature(_ForwardingStream, () => ({
    __proto__: dart.getMethods(_ForwardingStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
    [_createSubscription]: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T])), dart.nullable(core.Function), dart.nullable(dart.fnType(dart.void, [])), core.bool]),
    [_handleError$]: dart.fnType(dart.void, [core.Object, core.StackTrace, dart.nullable(core.Object)]),
    [_handleDone$]: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_ForwardingStream, I[30]);
  dart.setFieldSignature(_ForwardingStream, () => ({
    __proto__: dart.getFields(_ForwardingStream.__proto__),
    [_source$4]: dart.finalFieldType(async.Stream$(S))
  }));
  return _ForwardingStream;
});
async._ForwardingStream = async._ForwardingStream$();
dart.addTypeTests(async._ForwardingStream, _is__ForwardingStream_default);
var _handleData$ = dart.privateName(async, "_handleData");
const _is__ForwardingStreamSubscription_default = Symbol('_is__ForwardingStreamSubscription_default');
async._ForwardingStreamSubscription$ = dart.generic((S, T) => {
  class _ForwardingStreamSubscription extends async._BufferingStreamSubscription$(T) {
    [_add](data) {
      T.as(data);
      if (dart.test(this[_isClosed])) return;
      super[_add](data);
    }
    [_addError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[71], 126, 25, "error");
      if (stackTrace == null) dart.nullFailed(I[71], 126, 43, "stackTrace");
      if (dart.test(this[_isClosed])) return;
      super[_addError](error, stackTrace);
    }
    [_onPause]() {
      let t117;
      t117 = this[_subscription];
      t117 == null ? null : t117.pause();
    }
    [_onResume]() {
      let t117;
      t117 = this[_subscription];
      t117 == null ? null : t117.resume();
    }
    [_onCancel]() {
      let subscription = this[_subscription];
      if (subscription != null) {
        this[_subscription] = null;
        return subscription.cancel();
      }
      return null;
    }
    [_handleData$](data) {
      S.as(data);
      this[_stream$][_handleData$](data, this);
    }
    [_handleError$](error, stackTrace) {
      if (stackTrace == null) dart.nullFailed(I[71], 156, 39, "stackTrace");
      this[_stream$][_handleError$](core.Object.as(error), stackTrace, this);
    }
    [_handleDone$]() {
      this[_stream$][_handleDone$](this);
    }
  }
  (_ForwardingStreamSubscription.new = function(_stream, onData, onError, onDone, cancelOnError) {
    if (_stream == null) dart.nullFailed(I[71], 110, 38, "_stream");
    if (cancelOnError == null) dart.nullFailed(I[71], 111, 47, "cancelOnError");
    this[_subscription] = null;
    this[_stream$] = _stream;
    _ForwardingStreamSubscription.__proto__.new.call(this, onData, onError, onDone, cancelOnError);
    this[_subscription] = this[_stream$][_source$4].listen(dart.bind(this, _handleData$), {onError: dart.bind(this, _handleError$), onDone: dart.bind(this, _handleDone$)});
  }).prototype = _ForwardingStreamSubscription.prototype;
  dart.addTypeTests(_ForwardingStreamSubscription);
  _ForwardingStreamSubscription.prototype[_is__ForwardingStreamSubscription_default] = true;
  dart.addTypeCaches(_ForwardingStreamSubscription);
  dart.setMethodSignature(_ForwardingStreamSubscription, () => ({
    __proto__: dart.getMethods(_ForwardingStreamSubscription.__proto__),
    [_handleData$]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_handleError$]: dart.fnType(dart.void, [dart.dynamic, core.StackTrace]),
    [_handleDone$]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_ForwardingStreamSubscription, I[30]);
  dart.setFieldSignature(_ForwardingStreamSubscription, () => ({
    __proto__: dart.getFields(_ForwardingStreamSubscription.__proto__),
    [_stream$]: dart.finalFieldType(async._ForwardingStream$(S, T)),
    [_subscription]: dart.fieldType(dart.nullable(async.StreamSubscription$(S)))
  }));
  return _ForwardingStreamSubscription;
});
async._ForwardingStreamSubscription = async._ForwardingStreamSubscription$();
dart.addTypeTests(async._ForwardingStreamSubscription, _is__ForwardingStreamSubscription_default);
var _test$ = dart.privateName(async, "_test");
const _is__WhereStream_default = Symbol('_is__WhereStream_default');
async._WhereStream$ = dart.generic(T => {
  class _WhereStream extends async._ForwardingStream$(T, T) {
    [_handleData$](inputEvent, sink) {
      let t117;
      if (sink == null) dart.nullFailed(I[71], 186, 48, "sink");
      let satisfies = null;
      try {
        satisfies = (t117 = inputEvent, this[_test$](t117));
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          async._addErrorWithReplacement(sink, e, s);
          return;
        } else
          throw e$;
      }
      if (dart.test(satisfies)) {
        sink[_add](inputEvent);
      }
    }
  }
  (_WhereStream.new = function(source, test) {
    if (source == null) dart.nullFailed(I[71], 182, 26, "source");
    if (test == null) dart.nullFailed(I[71], 182, 39, "test");
    this[_test$] = test;
    _WhereStream.__proto__.new.call(this, source);
    ;
  }).prototype = _WhereStream.prototype;
  dart.addTypeTests(_WhereStream);
  _WhereStream.prototype[_is__WhereStream_default] = true;
  dart.addTypeCaches(_WhereStream);
  dart.setMethodSignature(_WhereStream, () => ({
    __proto__: dart.getMethods(_WhereStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [T, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_WhereStream, I[30]);
  dart.setFieldSignature(_WhereStream, () => ({
    __proto__: dart.getFields(_WhereStream.__proto__),
    [_test$]: dart.finalFieldType(dart.fnType(core.bool, [T]))
  }));
  return _WhereStream;
});
async._WhereStream = async._WhereStream$();
dart.addTypeTests(async._WhereStream, _is__WhereStream_default);
var _transform = dart.privateName(async, "_transform");
const _is__MapStream_default = Symbol('_is__MapStream_default');
async._MapStream$ = dart.generic((S, T) => {
  class _MapStream extends async._ForwardingStream$(S, T) {
    [_handleData$](inputEvent, sink) {
      let t118;
      if (sink == null) dart.nullFailed(I[71], 210, 48, "sink");
      let outputEvent = null;
      try {
        outputEvent = (t118 = inputEvent, this[_transform](t118));
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          async._addErrorWithReplacement(sink, e, s);
          return;
        } else
          throw e$;
      }
      sink[_add](outputEvent);
    }
  }
  (_MapStream.new = function(source, transform) {
    if (source == null) dart.nullFailed(I[71], 206, 24, "source");
    if (transform == null) dart.nullFailed(I[71], 206, 34, "transform");
    this[_transform] = transform;
    _MapStream.__proto__.new.call(this, source);
    ;
  }).prototype = _MapStream.prototype;
  dart.addTypeTests(_MapStream);
  _MapStream.prototype[_is__MapStream_default] = true;
  dart.addTypeCaches(_MapStream);
  dart.setMethodSignature(_MapStream, () => ({
    __proto__: dart.getMethods(_MapStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [S, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_MapStream, I[30]);
  dart.setFieldSignature(_MapStream, () => ({
    __proto__: dart.getFields(_MapStream.__proto__),
    [_transform]: dart.finalFieldType(dart.fnType(T, [S]))
  }));
  return _MapStream;
});
async._MapStream = async._MapStream$();
dart.addTypeTests(async._MapStream, _is__MapStream_default);
var _expand = dart.privateName(async, "_expand");
const _is__ExpandStream_default = Symbol('_is__ExpandStream_default');
async._ExpandStream$ = dart.generic((S, T) => {
  class _ExpandStream extends async._ForwardingStream$(S, T) {
    [_handleData$](inputEvent, sink) {
      let t119;
      if (sink == null) dart.nullFailed(I[71], 230, 48, "sink");
      try {
        for (let value of (t119 = inputEvent, this[_expand](t119))) {
          sink[_add](value);
        }
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          async._addErrorWithReplacement(sink, e, s);
        } else
          throw e$;
      }
    }
  }
  (_ExpandStream.new = function(source, expand) {
    if (source == null) dart.nullFailed(I[71], 226, 27, "source");
    if (expand == null) dart.nullFailed(I[71], 226, 47, "expand");
    this[_expand] = expand;
    _ExpandStream.__proto__.new.call(this, source);
    ;
  }).prototype = _ExpandStream.prototype;
  dart.addTypeTests(_ExpandStream);
  _ExpandStream.prototype[_is__ExpandStream_default] = true;
  dart.addTypeCaches(_ExpandStream);
  dart.setMethodSignature(_ExpandStream, () => ({
    __proto__: dart.getMethods(_ExpandStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [S, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_ExpandStream, I[30]);
  dart.setFieldSignature(_ExpandStream, () => ({
    __proto__: dart.getFields(_ExpandStream.__proto__),
    [_expand]: dart.finalFieldType(dart.fnType(core.Iterable$(T), [S]))
  }));
  return _ExpandStream;
});
async._ExpandStream = async._ExpandStream$();
dart.addTypeTests(async._ExpandStream, _is__ExpandStream_default);
const _is__HandleErrorStream_default = Symbol('_is__HandleErrorStream_default');
async._HandleErrorStream$ = dart.generic(T => {
  class _HandleErrorStream extends async._ForwardingStream$(T, T) {
    [_handleData$](data, sink) {
      if (sink == null) dart.nullFailed(I[71], 252, 42, "sink");
      sink[_add](data);
    }
    [_handleError$](error, stackTrace, sink) {
      if (error == null) dart.nullFailed(I[71], 256, 28, "error");
      if (stackTrace == null) dart.nullFailed(I[71], 256, 46, "stackTrace");
      if (sink == null) dart.nullFailed(I[71], 256, 72, "sink");
      let matches = true;
      let test = this[_test$];
      if (test != null) {
        try {
          matches = test(error);
        } catch (e$) {
          let e = dart.getThrown(e$);
          let s = dart.stackTrace(e$);
          if (core.Object.is(e)) {
            async._addErrorWithReplacement(sink, e, s);
            return;
          } else
            throw e$;
        }
      }
      if (dart.test(matches)) {
        try {
          async._invokeErrorHandler(this[_onError$], error, stackTrace);
        } catch (e$0) {
          let e = dart.getThrown(e$0);
          let s = dart.stackTrace(e$0);
          if (core.Object.is(e)) {
            if (core.identical(e, error)) {
              sink[_addError](error, stackTrace);
            } else {
              async._addErrorWithReplacement(sink, e, s);
            }
            return;
          } else
            throw e$0;
        }
      } else {
        sink[_addError](error, stackTrace);
      }
    }
  }
  (_HandleErrorStream.new = function(source, _onError, _test) {
    if (source == null) dart.nullFailed(I[71], 249, 32, "source");
    if (_onError == null) dart.nullFailed(I[71], 249, 45, "_onError");
    this[_onError$] = _onError;
    this[_test$] = _test;
    _HandleErrorStream.__proto__.new.call(this, source);
    ;
  }).prototype = _HandleErrorStream.prototype;
  dart.addTypeTests(_HandleErrorStream);
  _HandleErrorStream.prototype[_is__HandleErrorStream_default] = true;
  dart.addTypeCaches(_HandleErrorStream);
  dart.setMethodSignature(_HandleErrorStream, () => ({
    __proto__: dart.getMethods(_HandleErrorStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [T, async._EventSink$(T)]),
    [_handleError$]: dart.fnType(dart.void, [core.Object, core.StackTrace, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_HandleErrorStream, I[30]);
  dart.setFieldSignature(_HandleErrorStream, () => ({
    __proto__: dart.getFields(_HandleErrorStream.__proto__),
    [_onError$]: dart.finalFieldType(core.Function),
    [_test$]: dart.finalFieldType(dart.nullable(dart.fnType(core.bool, [core.Object])))
  }));
  return _HandleErrorStream;
});
async._HandleErrorStream = async._HandleErrorStream$();
dart.addTypeTests(async._HandleErrorStream, _is__HandleErrorStream_default);
var _count = dart.privateName(async, "_count");
var _subState = dart.privateName(async, "_subState");
const _is__TakeStream_default = Symbol('_is__TakeStream_default');
async._TakeStream$ = dart.generic(T => {
  var __t$_DoneStreamSubscriptionOfT = () => (__t$_DoneStreamSubscriptionOfT = dart.constFn(async._DoneStreamSubscription$(T)))();
  var __t$_StateStreamSubscriptionOfint$T = () => (__t$_StateStreamSubscriptionOfint$T = dart.constFn(async._StateStreamSubscription$(core.int, T)))();
  class _TakeStream extends async._ForwardingStream$(T, T) {
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[71], 292, 47, "cancelOnError");
      if (this[_count] === 0) {
        this[_source$4].listen(null).cancel();
        return new (__t$_DoneStreamSubscriptionOfT()).new(onDone);
      }
      return new (__t$_StateStreamSubscriptionOfint$T()).new(this, onData, onError, onDone, cancelOnError, this[_count]);
    }
    [_handleData$](inputEvent, sink) {
      if (sink == null) dart.nullFailed(I[71], 301, 48, "sink");
      let subscription = __t$_StateStreamSubscriptionOfint$T().as(sink);
      let count = subscription[_subState];
      if (dart.notNull(count) > 0) {
        sink[_add](inputEvent);
        count = dart.notNull(count) - 1;
        subscription[_subState] = count;
        if (count === 0) {
          sink[_close]();
        }
      }
    }
  }
  (_TakeStream.new = function(source, count) {
    if (source == null) dart.nullFailed(I[71], 287, 25, "source");
    if (count == null) dart.nullFailed(I[71], 287, 37, "count");
    this[_count] = count;
    _TakeStream.__proto__.new.call(this, source);
    ;
  }).prototype = _TakeStream.prototype;
  dart.addTypeTests(_TakeStream);
  _TakeStream.prototype[_is__TakeStream_default] = true;
  dart.addTypeCaches(_TakeStream);
  dart.setMethodSignature(_TakeStream, () => ({
    __proto__: dart.getMethods(_TakeStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [T, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_TakeStream, I[30]);
  dart.setFieldSignature(_TakeStream, () => ({
    __proto__: dart.getFields(_TakeStream.__proto__),
    [_count]: dart.finalFieldType(core.int)
  }));
  return _TakeStream;
});
async._TakeStream = async._TakeStream$();
dart.addTypeTests(async._TakeStream, _is__TakeStream_default);
var _subState$ = dart.privateName(async, "_StateStreamSubscription._subState");
const _is__StateStreamSubscription_default = Symbol('_is__StateStreamSubscription_default');
async._StateStreamSubscription$ = dart.generic((S, T) => {
  class _StateStreamSubscription extends async._ForwardingStreamSubscription$(T, T) {
    get [_subState]() {
      return this[_subState$];
    }
    set [_subState](value) {
      this[_subState$] = S.as(value);
    }
  }
  (_StateStreamSubscription.new = function(stream, onData, onError, onDone, cancelOnError, _subState) {
    if (stream == null) dart.nullFailed(I[71], 324, 52, "stream");
    if (cancelOnError == null) dart.nullFailed(I[71], 325, 47, "cancelOnError");
    this[_subState$] = _subState;
    _StateStreamSubscription.__proto__.new.call(this, stream, onData, onError, onDone, cancelOnError);
    ;
  }).prototype = _StateStreamSubscription.prototype;
  dart.addTypeTests(_StateStreamSubscription);
  _StateStreamSubscription.prototype[_is__StateStreamSubscription_default] = true;
  dart.addTypeCaches(_StateStreamSubscription);
  dart.setLibraryUri(_StateStreamSubscription, I[30]);
  dart.setFieldSignature(_StateStreamSubscription, () => ({
    __proto__: dart.getFields(_StateStreamSubscription.__proto__),
    [_subState]: dart.fieldType(S)
  }));
  return _StateStreamSubscription;
});
async._StateStreamSubscription = async._StateStreamSubscription$();
dart.addTypeTests(async._StateStreamSubscription, _is__StateStreamSubscription_default);
const _is__TakeWhileStream_default = Symbol('_is__TakeWhileStream_default');
async._TakeWhileStream$ = dart.generic(T => {
  class _TakeWhileStream extends async._ForwardingStream$(T, T) {
    [_handleData$](inputEvent, sink) {
      let t122;
      if (sink == null) dart.nullFailed(I[71], 336, 48, "sink");
      let satisfies = null;
      try {
        satisfies = (t122 = inputEvent, this[_test$](t122));
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          async._addErrorWithReplacement(sink, e, s);
          sink[_close]();
          return;
        } else
          throw e$;
      }
      if (dart.test(satisfies)) {
        sink[_add](inputEvent);
      } else {
        sink[_close]();
      }
    }
  }
  (_TakeWhileStream.new = function(source, test) {
    if (source == null) dart.nullFailed(I[71], 332, 30, "source");
    if (test == null) dart.nullFailed(I[71], 332, 43, "test");
    this[_test$] = test;
    _TakeWhileStream.__proto__.new.call(this, source);
    ;
  }).prototype = _TakeWhileStream.prototype;
  dart.addTypeTests(_TakeWhileStream);
  _TakeWhileStream.prototype[_is__TakeWhileStream_default] = true;
  dart.addTypeCaches(_TakeWhileStream);
  dart.setMethodSignature(_TakeWhileStream, () => ({
    __proto__: dart.getMethods(_TakeWhileStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [T, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_TakeWhileStream, I[30]);
  dart.setFieldSignature(_TakeWhileStream, () => ({
    __proto__: dart.getFields(_TakeWhileStream.__proto__),
    [_test$]: dart.finalFieldType(dart.fnType(core.bool, [T]))
  }));
  return _TakeWhileStream;
});
async._TakeWhileStream = async._TakeWhileStream$();
dart.addTypeTests(async._TakeWhileStream, _is__TakeWhileStream_default);
const _is__SkipStream_default = Symbol('_is__SkipStream_default');
async._SkipStream$ = dart.generic(T => {
  var __t$_StateStreamSubscriptionOfint$T = () => (__t$_StateStreamSubscriptionOfint$T = dart.constFn(async._StateStreamSubscription$(core.int, T)))();
  class _SkipStream extends async._ForwardingStream$(T, T) {
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[71], 366, 47, "cancelOnError");
      return new (__t$_StateStreamSubscriptionOfint$T()).new(this, onData, onError, onDone, cancelOnError, this[_count]);
    }
    [_handleData$](inputEvent, sink) {
      if (sink == null) dart.nullFailed(I[71], 371, 48, "sink");
      let subscription = __t$_StateStreamSubscriptionOfint$T().as(sink);
      let count = subscription[_subState];
      if (dart.notNull(count) > 0) {
        subscription[_subState] = dart.notNull(count) - 1;
        return;
      }
      sink[_add](inputEvent);
    }
  }
  (_SkipStream.new = function(source, count) {
    if (source == null) dart.nullFailed(I[71], 357, 25, "source");
    if (count == null) dart.nullFailed(I[71], 357, 37, "count");
    this[_count] = count;
    _SkipStream.__proto__.new.call(this, source);
    core.RangeError.checkNotNegative(count, "count");
  }).prototype = _SkipStream.prototype;
  dart.addTypeTests(_SkipStream);
  _SkipStream.prototype[_is__SkipStream_default] = true;
  dart.addTypeCaches(_SkipStream);
  dart.setMethodSignature(_SkipStream, () => ({
    __proto__: dart.getMethods(_SkipStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [T, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_SkipStream, I[30]);
  dart.setFieldSignature(_SkipStream, () => ({
    __proto__: dart.getFields(_SkipStream.__proto__),
    [_count]: dart.finalFieldType(core.int)
  }));
  return _SkipStream;
});
async._SkipStream = async._SkipStream$();
dart.addTypeTests(async._SkipStream, _is__SkipStream_default);
const _is__SkipWhileStream_default = Symbol('_is__SkipWhileStream_default');
async._SkipWhileStream$ = dart.generic(T => {
  var __t$_StateStreamSubscriptionOfbool$T = () => (__t$_StateStreamSubscriptionOfbool$T = dart.constFn(async._StateStreamSubscription$(core.bool, T)))();
  class _SkipWhileStream extends async._ForwardingStream$(T, T) {
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[71], 390, 47, "cancelOnError");
      return new (__t$_StateStreamSubscriptionOfbool$T()).new(this, onData, onError, onDone, cancelOnError, false);
    }
    [_handleData$](inputEvent, sink) {
      let t123;
      if (sink == null) dart.nullFailed(I[71], 395, 48, "sink");
      let subscription = __t$_StateStreamSubscriptionOfbool$T().as(sink);
      let hasFailed = subscription[_subState];
      if (dart.test(hasFailed)) {
        sink[_add](inputEvent);
        return;
      }
      let satisfies = null;
      try {
        satisfies = (t123 = inputEvent, this[_test$](t123));
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          async._addErrorWithReplacement(sink, e, s);
          subscription[_subState] = true;
          return;
        } else
          throw e$;
      }
      if (!dart.test(satisfies)) {
        subscription[_subState] = true;
        sink[_add](inputEvent);
      }
    }
  }
  (_SkipWhileStream.new = function(source, test) {
    if (source == null) dart.nullFailed(I[71], 385, 30, "source");
    if (test == null) dart.nullFailed(I[71], 385, 43, "test");
    this[_test$] = test;
    _SkipWhileStream.__proto__.new.call(this, source);
    ;
  }).prototype = _SkipWhileStream.prototype;
  dart.addTypeTests(_SkipWhileStream);
  _SkipWhileStream.prototype[_is__SkipWhileStream_default] = true;
  dart.addTypeCaches(_SkipWhileStream);
  dart.setMethodSignature(_SkipWhileStream, () => ({
    __proto__: dart.getMethods(_SkipWhileStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [T, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_SkipWhileStream, I[30]);
  dart.setFieldSignature(_SkipWhileStream, () => ({
    __proto__: dart.getFields(_SkipWhileStream.__proto__),
    [_test$]: dart.finalFieldType(dart.fnType(core.bool, [T]))
  }));
  return _SkipWhileStream;
});
async._SkipWhileStream = async._SkipWhileStream$();
dart.addTypeTests(async._SkipWhileStream, _is__SkipWhileStream_default);
var _equals = dart.privateName(async, "_equals");
const _is__DistinctStream_default = Symbol('_is__DistinctStream_default');
async._DistinctStream$ = dart.generic(T => {
  var __t$_StateStreamSubscriptionOfObjectN$T = () => (__t$_StateStreamSubscriptionOfObjectN$T = dart.constFn(async._StateStreamSubscription$(T$.ObjectN(), T)))();
  class _DistinctStream extends async._ForwardingStream$(T, T) {
    [_createSubscription](onData, onError, onDone, cancelOnError) {
      if (cancelOnError == null) dart.nullFailed(I[71], 428, 47, "cancelOnError");
      return new (__t$_StateStreamSubscriptionOfObjectN$T()).new(this, onData, onError, onDone, cancelOnError, async._DistinctStream._SENTINEL);
    }
    [_handleData$](inputEvent, sink) {
      if (sink == null) dart.nullFailed(I[71], 433, 48, "sink");
      let subscription = __t$_StateStreamSubscriptionOfObjectN$T().as(sink);
      let previous = subscription[_subState];
      if (core.identical(previous, async._DistinctStream._SENTINEL)) {
        subscription[_subState] = inputEvent;
        sink[_add](inputEvent);
      } else {
        let previousEvent = T.as(previous);
        let equals = this[_equals];
        let isEqual = null;
        try {
          if (equals == null) {
            isEqual = dart.equals(previousEvent, inputEvent);
          } else {
            isEqual = equals(previousEvent, inputEvent);
          }
        } catch (e$) {
          let e = dart.getThrown(e$);
          let s = dart.stackTrace(e$);
          if (core.Object.is(e)) {
            async._addErrorWithReplacement(sink, e, s);
            return;
          } else
            throw e$;
        }
        if (!dart.test(isEqual)) {
          sink[_add](inputEvent);
          subscription[_subState] = inputEvent;
        }
      }
    }
  }
  (_DistinctStream.new = function(source, equals) {
    if (source == null) dart.nullFailed(I[71], 423, 29, "source");
    this[_equals] = equals;
    _DistinctStream.__proto__.new.call(this, source);
    ;
  }).prototype = _DistinctStream.prototype;
  dart.addTypeTests(_DistinctStream);
  _DistinctStream.prototype[_is__DistinctStream_default] = true;
  dart.addTypeCaches(_DistinctStream);
  dart.setMethodSignature(_DistinctStream, () => ({
    __proto__: dart.getMethods(_DistinctStream.__proto__),
    [_handleData$]: dart.fnType(dart.void, [T, async._EventSink$(T)])
  }));
  dart.setLibraryUri(_DistinctStream, I[30]);
  dart.setFieldSignature(_DistinctStream, () => ({
    __proto__: dart.getFields(_DistinctStream.__proto__),
    [_equals]: dart.finalFieldType(dart.nullable(dart.fnType(core.bool, [T, T])))
  }));
  return _DistinctStream;
});
async._DistinctStream = async._DistinctStream$();
dart.defineLazy(async._DistinctStream, {
  /*async._DistinctStream._SENTINEL*/get _SENTINEL() {
    return new core.Object.new();
  }
}, false);
dart.addTypeTests(async._DistinctStream, _is__DistinctStream_default);
const _is__EventSinkWrapper_default = Symbol('_is__EventSinkWrapper_default');
async._EventSinkWrapper$ = dart.generic(T => {
  class _EventSinkWrapper extends core.Object {
    add(data) {
      T.as(data);
      this[_sink$][_add](data);
    }
    addError(error, stackTrace = null) {
      let t125;
      if (error == null) dart.nullFailed(I[72], 16, 24, "error");
      this[_sink$][_addError](error, (t125 = stackTrace, t125 == null ? async.AsyncError.defaultStackTrace(error) : t125));
    }
    close() {
      this[_sink$][_close]();
    }
  }
  (_EventSinkWrapper.new = function(_sink) {
    if (_sink == null) dart.nullFailed(I[72], 10, 26, "_sink");
    this[_sink$] = _sink;
    ;
  }).prototype = _EventSinkWrapper.prototype;
  dart.addTypeTests(_EventSinkWrapper);
  _EventSinkWrapper.prototype[_is__EventSinkWrapper_default] = true;
  dart.addTypeCaches(_EventSinkWrapper);
  _EventSinkWrapper[dart.implements] = () => [async.EventSink$(T)];
  dart.setMethodSignature(_EventSinkWrapper, () => ({
    __proto__: dart.getMethods(_EventSinkWrapper.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    close: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_EventSinkWrapper, I[30]);
  dart.setFieldSignature(_EventSinkWrapper, () => ({
    __proto__: dart.getFields(_EventSinkWrapper.__proto__),
    [_sink$]: dart.fieldType(async._EventSink$(T))
  }));
  return _EventSinkWrapper;
});
async._EventSinkWrapper = async._EventSinkWrapper$();
dart.addTypeTests(async._EventSinkWrapper, _is__EventSinkWrapper_default);
var ___SinkTransformerStreamSubscription__transformerSink = dart.privateName(async, "_#_SinkTransformerStreamSubscription#_transformerSink");
var ___SinkTransformerStreamSubscription__transformerSink_isSet = dart.privateName(async, "_#_SinkTransformerStreamSubscription#_transformerSink#isSet");
var _transformerSink = dart.privateName(async, "_transformerSink");
const _is__SinkTransformerStreamSubscription_default = Symbol('_is__SinkTransformerStreamSubscription_default');
async._SinkTransformerStreamSubscription$ = dart.generic((S, T) => {
  var __t$_EventSinkWrapperOfT = () => (__t$_EventSinkWrapperOfT = dart.constFn(async._EventSinkWrapper$(T)))();
  class _SinkTransformerStreamSubscription extends async._BufferingStreamSubscription$(T) {
    get [_transformerSink]() {
      let t125;
      return dart.test(this[___SinkTransformerStreamSubscription__transformerSink_isSet]) ? (t125 = this[___SinkTransformerStreamSubscription__transformerSink], t125) : dart.throw(new _internal.LateError.fieldNI("_transformerSink"));
    }
    set [_transformerSink](t125) {
      if (t125 == null) dart.nullFailed(I[72], 33, 21, "null");
      this[___SinkTransformerStreamSubscription__transformerSink_isSet] = true;
      this[___SinkTransformerStreamSubscription__transformerSink] = t125;
    }
    [_add](data) {
      if (dart.test(this[_isClosed])) {
        dart.throw(new core.StateError.new("Stream is already closed"));
      }
      super[_add](data);
    }
    [_addError](error, stackTrace) {
      if (error == null) dart.nullFailed(I[72], 71, 25, "error");
      if (stackTrace == null) dart.nullFailed(I[72], 71, 43, "stackTrace");
      if (dart.test(this[_isClosed])) {
        dart.throw(new core.StateError.new("Stream is already closed"));
      }
      super[_addError](error, stackTrace);
    }
    [_close]() {
      if (dart.test(this[_isClosed])) {
        dart.throw(new core.StateError.new("Stream is already closed"));
      }
      super[_close]();
    }
    [_onPause]() {
      let t126;
      t126 = this[_subscription];
      t126 == null ? null : t126.pause();
    }
    [_onResume]() {
      let t126;
      t126 = this[_subscription];
      t126 == null ? null : t126.resume();
    }
    [_onCancel]() {
      let subscription = this[_subscription];
      if (subscription != null) {
        this[_subscription] = null;
        return subscription.cancel();
      }
      return null;
    }
    [_handleData$](data) {
      S.as(data);
      try {
        this[_transformerSink].add(data);
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          this[_addError](e, s);
        } else
          throw e$;
      }
    }
    [_handleError$](error, stackTrace) {
      if (error == null) dart.nullFailed(I[72], 117, 28, "error");
      if (stackTrace == null) dart.nullFailed(I[72], 117, 46, "stackTrace");
      try {
        this[_transformerSink].addError(error, stackTrace);
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          if (core.identical(e, error)) {
            this[_addError](error, stackTrace);
          } else {
            this[_addError](e, s);
          }
        } else
          throw e$;
      }
    }
    [_handleDone$]() {
      try {
        this[_subscription] = null;
        this[_transformerSink].close();
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          this[_addError](e, s);
        } else
          throw e$;
      }
    }
  }
  (_SinkTransformerStreamSubscription.new = function(source, mapper, onData, onError, onDone, cancelOnError) {
    if (source == null) dart.nullFailed(I[72], 39, 17, "source");
    if (mapper == null) dart.nullFailed(I[72], 40, 25, "mapper");
    if (cancelOnError == null) dart.nullFailed(I[72], 44, 12, "cancelOnError");
    this[___SinkTransformerStreamSubscription__transformerSink] = null;
    this[___SinkTransformerStreamSubscription__transformerSink_isSet] = false;
    this[_subscription] = null;
    _SinkTransformerStreamSubscription.__proto__.new.call(this, onData, onError, onDone, cancelOnError);
    this[_transformerSink] = mapper(new (__t$_EventSinkWrapperOfT()).new(this));
    this[_subscription] = source.listen(dart.bind(this, _handleData$), {onError: dart.bind(this, _handleError$), onDone: dart.bind(this, _handleDone$)});
  }).prototype = _SinkTransformerStreamSubscription.prototype;
  dart.addTypeTests(_SinkTransformerStreamSubscription);
  _SinkTransformerStreamSubscription.prototype[_is__SinkTransformerStreamSubscription_default] = true;
  dart.addTypeCaches(_SinkTransformerStreamSubscription);
  dart.setMethodSignature(_SinkTransformerStreamSubscription, () => ({
    __proto__: dart.getMethods(_SinkTransformerStreamSubscription.__proto__),
    [_add]: dart.fnType(dart.void, [T]),
    [_handleData$]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_handleError$]: dart.fnType(dart.void, [core.Object, core.StackTrace]),
    [_handleDone$]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_SinkTransformerStreamSubscription, () => ({
    __proto__: dart.getGetters(_SinkTransformerStreamSubscription.__proto__),
    [_transformerSink]: async.EventSink$(S)
  }));
  dart.setSetterSignature(_SinkTransformerStreamSubscription, () => ({
    __proto__: dart.getSetters(_SinkTransformerStreamSubscription.__proto__),
    [_transformerSink]: async.EventSink$(S)
  }));
  dart.setLibraryUri(_SinkTransformerStreamSubscription, I[30]);
  dart.setFieldSignature(_SinkTransformerStreamSubscription, () => ({
    __proto__: dart.getFields(_SinkTransformerStreamSubscription.__proto__),
    [___SinkTransformerStreamSubscription__transformerSink]: dart.fieldType(dart.nullable(async.EventSink$(S))),
    [___SinkTransformerStreamSubscription__transformerSink_isSet]: dart.fieldType(core.bool),
    [_subscription]: dart.fieldType(dart.nullable(async.StreamSubscription$(S)))
  }));
  return _SinkTransformerStreamSubscription;
});
async._SinkTransformerStreamSubscription = async._SinkTransformerStreamSubscription$();
dart.addTypeTests(async._SinkTransformerStreamSubscription, _is__SinkTransformerStreamSubscription_default);
var _sinkMapper$ = dart.privateName(async, "_StreamSinkTransformer._sinkMapper");
var _sinkMapper$0 = dart.privateName(async, "_sinkMapper");
const _is__StreamSinkTransformer_default = Symbol('_is__StreamSinkTransformer_default');
async._StreamSinkTransformer$ = dart.generic((S, T) => {
  var __t$StreamOfS = () => (__t$StreamOfS = dart.constFn(async.Stream$(S)))();
  var __t$_BoundSinkStreamOfS$T = () => (__t$_BoundSinkStreamOfS$T = dart.constFn(async._BoundSinkStream$(S, T)))();
  class _StreamSinkTransformer extends async.StreamTransformerBase$(S, T) {
    get [_sinkMapper$0]() {
      return this[_sinkMapper$];
    }
    set [_sinkMapper$0](value) {
      super[_sinkMapper$0] = value;
    }
    bind(stream) {
      __t$StreamOfS().as(stream);
      if (stream == null) dart.nullFailed(I[72], 151, 28, "stream");
      return new (__t$_BoundSinkStreamOfS$T()).new(stream, this[_sinkMapper$0]);
    }
  }
  (_StreamSinkTransformer.new = function(_sinkMapper) {
    if (_sinkMapper == null) dart.nullFailed(I[72], 149, 37, "_sinkMapper");
    this[_sinkMapper$] = _sinkMapper;
    _StreamSinkTransformer.__proto__.new.call(this);
    ;
  }).prototype = _StreamSinkTransformer.prototype;
  dart.addTypeTests(_StreamSinkTransformer);
  _StreamSinkTransformer.prototype[_is__StreamSinkTransformer_default] = true;
  dart.addTypeCaches(_StreamSinkTransformer);
  dart.setMethodSignature(_StreamSinkTransformer, () => ({
    __proto__: dart.getMethods(_StreamSinkTransformer.__proto__),
    bind: dart.fnType(async.Stream$(T), [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_StreamSinkTransformer, I[30]);
  dart.setFieldSignature(_StreamSinkTransformer, () => ({
    __proto__: dart.getFields(_StreamSinkTransformer.__proto__),
    [_sinkMapper$0]: dart.finalFieldType(dart.fnType(async.EventSink$(S), [async.EventSink$(T)]))
  }));
  return _StreamSinkTransformer;
});
async._StreamSinkTransformer = async._StreamSinkTransformer$();
dart.addTypeTests(async._StreamSinkTransformer, _is__StreamSinkTransformer_default);
const _is__BoundSinkStream_default = Symbol('_is__BoundSinkStream_default');
async._BoundSinkStream$ = dart.generic((S, T) => {
  var __t$_SinkTransformerStreamSubscriptionOfS$T = () => (__t$_SinkTransformerStreamSubscriptionOfS$T = dart.constFn(async._SinkTransformerStreamSubscription$(S, T)))();
  class _BoundSinkStream extends async.Stream$(T) {
    get isBroadcast() {
      return this[_stream$].isBroadcast;
    }
    listen(onData, opts) {
      let t129;
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      let subscription = new (__t$_SinkTransformerStreamSubscriptionOfS$T()).new(this[_stream$], this[_sinkMapper$0], onData, onError, onDone, (t129 = cancelOnError, t129 == null ? false : t129));
      return subscription;
    }
  }
  (_BoundSinkStream.new = function(_stream, _sinkMapper) {
    if (_stream == null) dart.nullFailed(I[72], 166, 25, "_stream");
    if (_sinkMapper == null) dart.nullFailed(I[72], 166, 39, "_sinkMapper");
    this[_stream$] = _stream;
    this[_sinkMapper$0] = _sinkMapper;
    _BoundSinkStream.__proto__.new.call(this);
    ;
  }).prototype = _BoundSinkStream.prototype;
  dart.addTypeTests(_BoundSinkStream);
  _BoundSinkStream.prototype[_is__BoundSinkStream_default] = true;
  dart.addTypeCaches(_BoundSinkStream);
  dart.setMethodSignature(_BoundSinkStream, () => ({
    __proto__: dart.getMethods(_BoundSinkStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
  }));
  dart.setLibraryUri(_BoundSinkStream, I[30]);
  dart.setFieldSignature(_BoundSinkStream, () => ({
    __proto__: dart.getFields(_BoundSinkStream.__proto__),
    [_sinkMapper$0]: dart.finalFieldType(dart.fnType(async.EventSink$(S), [async.EventSink$(T)])),
    [_stream$]: dart.finalFieldType(async.Stream$(S))
  }));
  return _BoundSinkStream;
});
async._BoundSinkStream = async._BoundSinkStream$();
dart.addTypeTests(async._BoundSinkStream, _is__BoundSinkStream_default);
const _is__HandlerEventSink_default = Symbol('_is__HandlerEventSink_default');
async._HandlerEventSink$ = dart.generic((S, T) => {
  class _HandlerEventSink extends core.Object {
    add(data) {
      S.as(data);
      let sink = this[_sink$];
      if (sink == null) {
        dart.throw(new core.StateError.new("Sink is closed"));
      }
      let handleData = this[_handleData$];
      if (handleData != null) {
        handleData(data, sink);
      } else {
        sink.add(T.as(data));
      }
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[72], 215, 24, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      let sink = this[_sink$];
      if (sink == null) {
        dart.throw(new core.StateError.new("Sink is closed"));
      }
      let handleError = this[_handleError$];
      stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
      if (handleError != null) {
        handleError(error, stackTrace, sink);
      } else {
        sink.addError(error, stackTrace);
      }
    }
    close() {
      let sink = this[_sink$];
      if (sink == null) return;
      this[_sink$] = null;
      let handleDone = this[_handleDone$];
      if (handleDone != null) {
        handleDone(sink);
      } else {
        sink.close();
      }
    }
  }
  (_HandlerEventSink.new = function(_handleData, _handleError, _handleDone, _sink) {
    if (_sink == null) dart.nullFailed(I[72], 200, 25, "_sink");
    this[_handleData$] = _handleData;
    this[_handleError$] = _handleError;
    this[_handleDone$] = _handleDone;
    this[_sink$] = _sink;
    ;
  }).prototype = _HandlerEventSink.prototype;
  dart.addTypeTests(_HandlerEventSink);
  _HandlerEventSink.prototype[_is__HandlerEventSink_default] = true;
  dart.addTypeCaches(_HandlerEventSink);
  _HandlerEventSink[dart.implements] = () => [async.EventSink$(S)];
  dart.setMethodSignature(_HandlerEventSink, () => ({
    __proto__: dart.getMethods(_HandlerEventSink.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    close: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_HandlerEventSink, I[30]);
  dart.setFieldSignature(_HandlerEventSink, () => ({
    __proto__: dart.getFields(_HandlerEventSink.__proto__),
    [_handleData$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [S, async.EventSink$(T)]))),
    [_handleError$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [core.Object, core.StackTrace, async.EventSink$(T)]))),
    [_handleDone$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [async.EventSink$(T)]))),
    [_sink$]: dart.fieldType(dart.nullable(async.EventSink$(T)))
  }));
  return _HandlerEventSink;
});
async._HandlerEventSink = async._HandlerEventSink$();
dart.addTypeTests(async._HandlerEventSink, _is__HandlerEventSink_default);
const _is__StreamHandlerTransformer_default = Symbol('_is__StreamHandlerTransformer_default');
async._StreamHandlerTransformer$ = dart.generic((S, T) => {
  var __t$_HandlerEventSinkOfS$T = () => (__t$_HandlerEventSinkOfS$T = dart.constFn(async._HandlerEventSink$(S, T)))();
  var __t$EventSinkOfTTo_HandlerEventSinkOfS$T = () => (__t$EventSinkOfTTo_HandlerEventSinkOfS$T = dart.constFn(dart.fnType(__t$_HandlerEventSinkOfS$T(), [__t$EventSinkOfT()])))();
  var __t$StreamOfS = () => (__t$StreamOfS = dart.constFn(async.Stream$(S)))();
  var __t$EventSinkOfT = () => (__t$EventSinkOfT = dart.constFn(async.EventSink$(T)))();
  class _StreamHandlerTransformer extends async._StreamSinkTransformer$(S, T) {
    bind(stream) {
      __t$StreamOfS().as(stream);
      if (stream == null) dart.nullFailed(I[72], 256, 28, "stream");
      return super.bind(stream);
    }
  }
  (_StreamHandlerTransformer.new = function(opts) {
    let handleData = opts && 'handleData' in opts ? opts.handleData : null;
    let handleError = opts && 'handleError' in opts ? opts.handleError : null;
    let handleDone = opts && 'handleDone' in opts ? opts.handleDone : null;
    _StreamHandlerTransformer.__proto__.new.call(this, dart.fn(outputSink => {
      if (outputSink == null) dart.nullFailed(I[72], 251, 29, "outputSink");
      return new (__t$_HandlerEventSinkOfS$T()).new(handleData, handleError, handleDone, outputSink);
    }, __t$EventSinkOfTTo_HandlerEventSinkOfS$T()));
    ;
  }).prototype = _StreamHandlerTransformer.prototype;
  dart.addTypeTests(_StreamHandlerTransformer);
  _StreamHandlerTransformer.prototype[_is__StreamHandlerTransformer_default] = true;
  dart.addTypeCaches(_StreamHandlerTransformer);
  dart.setLibraryUri(_StreamHandlerTransformer, I[30]);
  return _StreamHandlerTransformer;
});
async._StreamHandlerTransformer = async._StreamHandlerTransformer$();
dart.addTypeTests(async._StreamHandlerTransformer, _is__StreamHandlerTransformer_default);
var _bind$ = dart.privateName(async, "_bind");
const _is__StreamBindTransformer_default = Symbol('_is__StreamBindTransformer_default');
async._StreamBindTransformer$ = dart.generic((S, T) => {
  var __t$StreamOfS = () => (__t$StreamOfS = dart.constFn(async.Stream$(S)))();
  class _StreamBindTransformer extends async.StreamTransformerBase$(S, T) {
    bind(stream) {
      let t129;
      __t$StreamOfS().as(stream);
      if (stream == null) dart.nullFailed(I[72], 266, 28, "stream");
      t129 = stream;
      return this[_bind$](t129);
    }
  }
  (_StreamBindTransformer.new = function(_bind) {
    if (_bind == null) dart.nullFailed(I[72], 264, 31, "_bind");
    this[_bind$] = _bind;
    _StreamBindTransformer.__proto__.new.call(this);
    ;
  }).prototype = _StreamBindTransformer.prototype;
  dart.addTypeTests(_StreamBindTransformer);
  _StreamBindTransformer.prototype[_is__StreamBindTransformer_default] = true;
  dart.addTypeCaches(_StreamBindTransformer);
  dart.setMethodSignature(_StreamBindTransformer, () => ({
    __proto__: dart.getMethods(_StreamBindTransformer.__proto__),
    bind: dart.fnType(async.Stream$(T), [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_StreamBindTransformer, I[30]);
  dart.setFieldSignature(_StreamBindTransformer, () => ({
    __proto__: dart.getFields(_StreamBindTransformer.__proto__),
    [_bind$]: dart.finalFieldType(dart.fnType(async.Stream$(T), [async.Stream$(S)]))
  }));
  return _StreamBindTransformer;
});
async._StreamBindTransformer = async._StreamBindTransformer$();
dart.addTypeTests(async._StreamBindTransformer, _is__StreamBindTransformer_default);
var _onListen$0 = dart.privateName(async, "_StreamSubscriptionTransformer._onListen");
const _is__StreamSubscriptionTransformer_default = Symbol('_is__StreamSubscriptionTransformer_default');
async._StreamSubscriptionTransformer$ = dart.generic((S, T) => {
  var __t$StreamOfS = () => (__t$StreamOfS = dart.constFn(async.Stream$(S)))();
  var __t$_BoundSubscriptionStreamOfS$T = () => (__t$_BoundSubscriptionStreamOfS$T = dart.constFn(async._BoundSubscriptionStream$(S, T)))();
  class _StreamSubscriptionTransformer extends async.StreamTransformerBase$(S, T) {
    get [_onListen$]() {
      return this[_onListen$0];
    }
    set [_onListen$](value) {
      super[_onListen$] = value;
    }
    bind(stream) {
      __t$StreamOfS().as(stream);
      if (stream == null) dart.nullFailed(I[72], 288, 28, "stream");
      return new (__t$_BoundSubscriptionStreamOfS$T()).new(stream, this[_onListen$]);
    }
  }
  (_StreamSubscriptionTransformer.new = function(_onListen) {
    if (_onListen == null) dart.nullFailed(I[72], 286, 45, "_onListen");
    this[_onListen$0] = _onListen;
    _StreamSubscriptionTransformer.__proto__.new.call(this);
    ;
  }).prototype = _StreamSubscriptionTransformer.prototype;
  dart.addTypeTests(_StreamSubscriptionTransformer);
  _StreamSubscriptionTransformer.prototype[_is__StreamSubscriptionTransformer_default] = true;
  dart.addTypeCaches(_StreamSubscriptionTransformer);
  dart.setMethodSignature(_StreamSubscriptionTransformer, () => ({
    __proto__: dart.getMethods(_StreamSubscriptionTransformer.__proto__),
    bind: dart.fnType(async.Stream$(T), [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_StreamSubscriptionTransformer, I[30]);
  dart.setFieldSignature(_StreamSubscriptionTransformer, () => ({
    __proto__: dart.getFields(_StreamSubscriptionTransformer.__proto__),
    [_onListen$]: dart.finalFieldType(dart.fnType(async.StreamSubscription$(T), [async.Stream$(S), core.bool]))
  }));
  return _StreamSubscriptionTransformer;
});
async._StreamSubscriptionTransformer = async._StreamSubscriptionTransformer$();
dart.addTypeTests(async._StreamSubscriptionTransformer, _is__StreamSubscriptionTransformer_default);
const _is__BoundSubscriptionStream_default = Symbol('_is__BoundSubscriptionStream_default');
async._BoundSubscriptionStream$ = dart.generic((S, T) => {
  class _BoundSubscriptionStream extends async.Stream$(T) {
    get isBroadcast() {
      return this[_stream$].isBroadcast;
    }
    listen(onData, opts) {
      let t129, t130, t129$;
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      let result = (t129$ = this[_stream$], t130 = (t129 = cancelOnError, t129 == null ? false : t129), this[_onListen$](t129$, t130));
      result.onData(onData);
      result.onError(onError);
      result.onDone(onDone);
      return result;
    }
  }
  (_BoundSubscriptionStream.new = function(_stream, _onListen) {
    if (_stream == null) dart.nullFailed(I[72], 303, 33, "_stream");
    if (_onListen == null) dart.nullFailed(I[72], 303, 47, "_onListen");
    this[_stream$] = _stream;
    this[_onListen$] = _onListen;
    _BoundSubscriptionStream.__proto__.new.call(this);
    ;
  }).prototype = _BoundSubscriptionStream.prototype;
  dart.addTypeTests(_BoundSubscriptionStream);
  _BoundSubscriptionStream.prototype[_is__BoundSubscriptionStream_default] = true;
  dart.addTypeCaches(_BoundSubscriptionStream);
  dart.setMethodSignature(_BoundSubscriptionStream, () => ({
    __proto__: dart.getMethods(_BoundSubscriptionStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
  }));
  dart.setLibraryUri(_BoundSubscriptionStream, I[30]);
  dart.setFieldSignature(_BoundSubscriptionStream, () => ({
    __proto__: dart.getFields(_BoundSubscriptionStream.__proto__),
    [_onListen$]: dart.finalFieldType(dart.fnType(async.StreamSubscription$(T), [async.Stream$(S), core.bool])),
    [_stream$]: dart.finalFieldType(async.Stream$(S))
  }));
  return _BoundSubscriptionStream;
});
async._BoundSubscriptionStream = async._BoundSubscriptionStream$();
dart.addTypeTests(async._BoundSubscriptionStream, _is__BoundSubscriptionStream_default);
async.Timer = class Timer extends core.Object {
  static new(duration, callback) {
    if (duration == null) dart.nullFailed(I[73], 41, 26, "duration");
    if (callback == null) dart.nullFailed(I[73], 41, 52, "callback");
    if (dart.equals(async.Zone.current, async.Zone.root)) {
      return async.Zone.current.createTimer(duration, callback);
    }
    return async.Zone.current.createTimer(duration, async.Zone.current.bindCallbackGuarded(callback));
  }
  static periodic(duration, callback) {
    if (duration == null) dart.nullFailed(I[73], 67, 35, "duration");
    if (callback == null) dart.nullFailed(I[73], 67, 50, "callback");
    if (dart.equals(async.Zone.current, async.Zone.root)) {
      return async.Zone.current.createPeriodicTimer(duration, callback);
    }
    let boundCallback = async.Zone.current.bindUnaryCallbackGuarded(async.Timer, callback);
    return async.Zone.current.createPeriodicTimer(duration, boundCallback);
  }
  static run(callback) {
    if (callback == null) dart.nullFailed(I[73], 80, 35, "callback");
    async.Timer.new(core.Duration.zero, callback);
  }
  static _createTimer(duration, callback) {
    if (duration == null) dart.nullFailed(I[62], 183, 38, "duration");
    if (callback == null) dart.nullFailed(I[62], 183, 64, "callback");
    let milliseconds = duration.inMilliseconds;
    if (dart.notNull(milliseconds) < 0) milliseconds = 0;
    return new _isolate_helper.TimerImpl.new(milliseconds, callback);
  }
  static _createPeriodicTimer(duration, callback) {
    if (duration == null) dart.nullFailed(I[62], 191, 16, "duration");
    if (callback == null) dart.nullFailed(I[62], 191, 31, "callback");
    let milliseconds = duration.inMilliseconds;
    if (dart.notNull(milliseconds) < 0) milliseconds = 0;
    return new _isolate_helper.TimerImpl.periodic(milliseconds, callback);
  }
};
(async.Timer[dart.mixinNew] = function() {
}).prototype = async.Timer.prototype;
dart.addTypeTests(async.Timer);
dart.addTypeCaches(async.Timer);
dart.setLibraryUri(async.Timer, I[30]);
var zone$ = dart.privateName(async, "_ZoneFunction.zone");
var $function$0 = dart.privateName(async, "_ZoneFunction.function");
const _is__ZoneFunction_default = Symbol('_is__ZoneFunction_default');
async._ZoneFunction$ = dart.generic(T => {
  class _ZoneFunction extends core.Object {
    get zone() {
      return this[zone$];
    }
    set zone(value) {
      super.zone = value;
    }
    get function() {
      return this[$function$0];
    }
    set function(value) {
      super.function = value;
    }
  }
  (_ZoneFunction.new = function(zone, $function) {
    if (zone == null) dart.nullFailed(I[74], 299, 28, "zone");
    if ($function == null) dart.nullFailed(I[74], 299, 39, "function");
    this[zone$] = zone;
    this[$function$0] = $function;
    ;
  }).prototype = _ZoneFunction.prototype;
  dart.addTypeTests(_ZoneFunction);
  _ZoneFunction.prototype[_is__ZoneFunction_default] = true;
  dart.addTypeCaches(_ZoneFunction);
  dart.setLibraryUri(_ZoneFunction, I[30]);
  dart.setFieldSignature(_ZoneFunction, () => ({
    __proto__: dart.getFields(_ZoneFunction.__proto__),
    zone: dart.finalFieldType(async._Zone),
    function: dart.finalFieldType(T)
  }));
  return _ZoneFunction;
});
async._ZoneFunction = async._ZoneFunction$();
dart.addTypeTests(async._ZoneFunction, _is__ZoneFunction_default);
var zone$0 = dart.privateName(async, "_RunNullaryZoneFunction.zone");
var $function$1 = dart.privateName(async, "_RunNullaryZoneFunction.function");
async._RunNullaryZoneFunction = class _RunNullaryZoneFunction extends core.Object {
  get zone() {
    return this[zone$0];
  }
  set zone(value) {
    super.zone = value;
  }
  get function() {
    return this[$function$1];
  }
  set function(value) {
    super.function = value;
  }
};
(async._RunNullaryZoneFunction.new = function(zone, $function) {
  if (zone == null) dart.nullFailed(I[74], 305, 38, "zone");
  if ($function == null) dart.nullFailed(I[74], 305, 49, "function");
  this[zone$0] = zone;
  this[$function$1] = $function;
  ;
}).prototype = async._RunNullaryZoneFunction.prototype;
dart.addTypeTests(async._RunNullaryZoneFunction);
dart.addTypeCaches(async._RunNullaryZoneFunction);
dart.setLibraryUri(async._RunNullaryZoneFunction, I[30]);
dart.setFieldSignature(async._RunNullaryZoneFunction, () => ({
  __proto__: dart.getFields(async._RunNullaryZoneFunction.__proto__),
  zone: dart.finalFieldType(async._Zone),
  function: dart.finalFieldType(dart.gFnType(R => [R, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [])]], R => [dart.nullable(core.Object)]))
}));
var zone$1 = dart.privateName(async, "_RunUnaryZoneFunction.zone");
var $function$2 = dart.privateName(async, "_RunUnaryZoneFunction.function");
async._RunUnaryZoneFunction = class _RunUnaryZoneFunction extends core.Object {
  get zone() {
    return this[zone$1];
  }
  set zone(value) {
    super.zone = value;
  }
  get function() {
    return this[$function$2];
  }
  set function(value) {
    super.function = value;
  }
};
(async._RunUnaryZoneFunction.new = function(zone, $function) {
  if (zone == null) dart.nullFailed(I[74], 311, 36, "zone");
  if ($function == null) dart.nullFailed(I[74], 311, 47, "function");
  this[zone$1] = zone;
  this[$function$2] = $function;
  ;
}).prototype = async._RunUnaryZoneFunction.prototype;
dart.addTypeTests(async._RunUnaryZoneFunction);
dart.addTypeCaches(async._RunUnaryZoneFunction);
dart.setLibraryUri(async._RunUnaryZoneFunction, I[30]);
dart.setFieldSignature(async._RunUnaryZoneFunction, () => ({
  __proto__: dart.getFields(async._RunUnaryZoneFunction.__proto__),
  zone: dart.finalFieldType(async._Zone),
  function: dart.finalFieldType(dart.gFnType((R, T) => [R, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T]), T]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]))
}));
var zone$2 = dart.privateName(async, "_RunBinaryZoneFunction.zone");
var $function$3 = dart.privateName(async, "_RunBinaryZoneFunction.function");
async._RunBinaryZoneFunction = class _RunBinaryZoneFunction extends core.Object {
  get zone() {
    return this[zone$2];
  }
  set zone(value) {
    super.zone = value;
  }
  get function() {
    return this[$function$3];
  }
  set function(value) {
    super.function = value;
  }
};
(async._RunBinaryZoneFunction.new = function(zone, $function) {
  if (zone == null) dart.nullFailed(I[74], 317, 37, "zone");
  if ($function == null) dart.nullFailed(I[74], 317, 48, "function");
  this[zone$2] = zone;
  this[$function$3] = $function;
  ;
}).prototype = async._RunBinaryZoneFunction.prototype;
dart.addTypeTests(async._RunBinaryZoneFunction);
dart.addTypeCaches(async._RunBinaryZoneFunction);
dart.setLibraryUri(async._RunBinaryZoneFunction, I[30]);
dart.setFieldSignature(async._RunBinaryZoneFunction, () => ({
  __proto__: dart.getFields(async._RunBinaryZoneFunction.__proto__),
  zone: dart.finalFieldType(async._Zone),
  function: dart.finalFieldType(dart.gFnType((R, T1, T2) => [R, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T1, T2]), T1, T2]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]))
}));
var zone$3 = dart.privateName(async, "_RegisterNullaryZoneFunction.zone");
var $function$4 = dart.privateName(async, "_RegisterNullaryZoneFunction.function");
async._RegisterNullaryZoneFunction = class _RegisterNullaryZoneFunction extends core.Object {
  get zone() {
    return this[zone$3];
  }
  set zone(value) {
    super.zone = value;
  }
  get function() {
    return this[$function$4];
  }
  set function(value) {
    super.function = value;
  }
};
(async._RegisterNullaryZoneFunction.new = function(zone, $function) {
  if (zone == null) dart.nullFailed(I[74], 323, 43, "zone");
  if ($function == null) dart.nullFailed(I[74], 323, 54, "function");
  this[zone$3] = zone;
  this[$function$4] = $function;
  ;
}).prototype = async._RegisterNullaryZoneFunction.prototype;
dart.addTypeTests(async._RegisterNullaryZoneFunction);
dart.addTypeCaches(async._RegisterNullaryZoneFunction);
dart.setLibraryUri(async._RegisterNullaryZoneFunction, I[30]);
dart.setFieldSignature(async._RegisterNullaryZoneFunction, () => ({
  __proto__: dart.getFields(async._RegisterNullaryZoneFunction.__proto__),
  zone: dart.finalFieldType(async._Zone),
  function: dart.finalFieldType(dart.gFnType(R => [dart.fnType(R, []), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [])]], R => [dart.nullable(core.Object)]))
}));
var zone$4 = dart.privateName(async, "_RegisterUnaryZoneFunction.zone");
var $function$5 = dart.privateName(async, "_RegisterUnaryZoneFunction.function");
async._RegisterUnaryZoneFunction = class _RegisterUnaryZoneFunction extends core.Object {
  get zone() {
    return this[zone$4];
  }
  set zone(value) {
    super.zone = value;
  }
  get function() {
    return this[$function$5];
  }
  set function(value) {
    super.function = value;
  }
};
(async._RegisterUnaryZoneFunction.new = function(zone, $function) {
  if (zone == null) dart.nullFailed(I[74], 329, 41, "zone");
  if ($function == null) dart.nullFailed(I[74], 329, 52, "function");
  this[zone$4] = zone;
  this[$function$5] = $function;
  ;
}).prototype = async._RegisterUnaryZoneFunction.prototype;
dart.addTypeTests(async._RegisterUnaryZoneFunction);
dart.addTypeCaches(async._RegisterUnaryZoneFunction);
dart.setLibraryUri(async._RegisterUnaryZoneFunction, I[30]);
dart.setFieldSignature(async._RegisterUnaryZoneFunction, () => ({
  __proto__: dart.getFields(async._RegisterUnaryZoneFunction.__proto__),
  zone: dart.finalFieldType(async._Zone),
  function: dart.finalFieldType(dart.gFnType((R, T) => [dart.fnType(R, [T]), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T])]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]))
}));
var zone$5 = dart.privateName(async, "_RegisterBinaryZoneFunction.zone");
var $function$6 = dart.privateName(async, "_RegisterBinaryZoneFunction.function");
async._RegisterBinaryZoneFunction = class _RegisterBinaryZoneFunction extends core.Object {
  get zone() {
    return this[zone$5];
  }
  set zone(value) {
    super.zone = value;
  }
  get function() {
    return this[$function$6];
  }
  set function(value) {
    super.function = value;
  }
};
(async._RegisterBinaryZoneFunction.new = function(zone, $function) {
  if (zone == null) dart.nullFailed(I[74], 335, 42, "zone");
  if ($function == null) dart.nullFailed(I[74], 335, 53, "function");
  this[zone$5] = zone;
  this[$function$6] = $function;
  ;
}).prototype = async._RegisterBinaryZoneFunction.prototype;
dart.addTypeTests(async._RegisterBinaryZoneFunction);
dart.addTypeCaches(async._RegisterBinaryZoneFunction);
dart.setLibraryUri(async._RegisterBinaryZoneFunction, I[30]);
dart.setFieldSignature(async._RegisterBinaryZoneFunction, () => ({
  __proto__: dart.getFields(async._RegisterBinaryZoneFunction.__proto__),
  zone: dart.finalFieldType(async._Zone),
  function: dart.finalFieldType(dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T1, T2])]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]))
}));
async.ZoneSpecification = class ZoneSpecification extends core.Object {
  static from(other, opts) {
    let t129, t129$, t129$0, t129$1, t129$2, t129$3, t129$4, t129$5, t129$6, t129$7, t129$8, t129$9, t129$10;
    if (other == null) dart.nullFailed(I[74], 386, 52, "other");
    let handleUncaughtError = opts && 'handleUncaughtError' in opts ? opts.handleUncaughtError : null;
    let run = opts && 'run' in opts ? opts.run : null;
    let runUnary = opts && 'runUnary' in opts ? opts.runUnary : null;
    let runBinary = opts && 'runBinary' in opts ? opts.runBinary : null;
    let registerCallback = opts && 'registerCallback' in opts ? opts.registerCallback : null;
    let registerUnaryCallback = opts && 'registerUnaryCallback' in opts ? opts.registerUnaryCallback : null;
    let registerBinaryCallback = opts && 'registerBinaryCallback' in opts ? opts.registerBinaryCallback : null;
    let errorCallback = opts && 'errorCallback' in opts ? opts.errorCallback : null;
    let scheduleMicrotask = opts && 'scheduleMicrotask' in opts ? opts.scheduleMicrotask : null;
    let createTimer = opts && 'createTimer' in opts ? opts.createTimer : null;
    let createPeriodicTimer = opts && 'createPeriodicTimer' in opts ? opts.createPeriodicTimer : null;
    let print = opts && 'print' in opts ? opts.print : null;
    let fork = opts && 'fork' in opts ? opts.fork : null;
    return new async._ZoneSpecification.new({handleUncaughtError: (t129 = handleUncaughtError, t129 == null ? other.handleUncaughtError : t129), run: (t129$ = run, t129$ == null ? other.run : t129$), runUnary: (t129$0 = runUnary, t129$0 == null ? other.runUnary : t129$0), runBinary: (t129$1 = runBinary, t129$1 == null ? other.runBinary : t129$1), registerCallback: (t129$2 = registerCallback, t129$2 == null ? other.registerCallback : t129$2), registerUnaryCallback: (t129$3 = registerUnaryCallback, t129$3 == null ? other.registerUnaryCallback : t129$3), registerBinaryCallback: (t129$4 = registerBinaryCallback, t129$4 == null ? other.registerBinaryCallback : t129$4), errorCallback: (t129$5 = errorCallback, t129$5 == null ? other.errorCallback : t129$5), scheduleMicrotask: (t129$6 = scheduleMicrotask, t129$6 == null ? other.scheduleMicrotask : t129$6), createTimer: (t129$7 = createTimer, t129$7 == null ? other.createTimer : t129$7), createPeriodicTimer: (t129$8 = createPeriodicTimer, t129$8 == null ? other.createPeriodicTimer : t129$8), print: (t129$9 = print, t129$9 == null ? other.print : t129$9), fork: (t129$10 = fork, t129$10 == null ? other.fork : t129$10)});
  }
};
(async.ZoneSpecification[dart.mixinNew] = function() {
}).prototype = async.ZoneSpecification.prototype;
dart.addTypeTests(async.ZoneSpecification);
dart.addTypeCaches(async.ZoneSpecification);
dart.setLibraryUri(async.ZoneSpecification, I[30]);
var handleUncaughtError$ = dart.privateName(async, "_ZoneSpecification.handleUncaughtError");
var run$ = dart.privateName(async, "_ZoneSpecification.run");
var runUnary$ = dart.privateName(async, "_ZoneSpecification.runUnary");
var runBinary$ = dart.privateName(async, "_ZoneSpecification.runBinary");
var registerCallback$ = dart.privateName(async, "_ZoneSpecification.registerCallback");
var registerUnaryCallback$ = dart.privateName(async, "_ZoneSpecification.registerUnaryCallback");
var registerBinaryCallback$ = dart.privateName(async, "_ZoneSpecification.registerBinaryCallback");
var errorCallback$ = dart.privateName(async, "_ZoneSpecification.errorCallback");
var scheduleMicrotask$ = dart.privateName(async, "_ZoneSpecification.scheduleMicrotask");
var createTimer$ = dart.privateName(async, "_ZoneSpecification.createTimer");
var createPeriodicTimer$ = dart.privateName(async, "_ZoneSpecification.createPeriodicTimer");
var print$ = dart.privateName(async, "_ZoneSpecification.print");
var fork$ = dart.privateName(async, "_ZoneSpecification.fork");
async._ZoneSpecification = class _ZoneSpecification extends core.Object {
  get handleUncaughtError() {
    return this[handleUncaughtError$];
  }
  set handleUncaughtError(value) {
    super.handleUncaughtError = value;
  }
  get run() {
    return this[run$];
  }
  set run(value) {
    super.run = value;
  }
  get runUnary() {
    return this[runUnary$];
  }
  set runUnary(value) {
    super.runUnary = value;
  }
  get runBinary() {
    return this[runBinary$];
  }
  set runBinary(value) {
    super.runBinary = value;
  }
  get registerCallback() {
    return this[registerCallback$];
  }
  set registerCallback(value) {
    super.registerCallback = value;
  }
  get registerUnaryCallback() {
    return this[registerUnaryCallback$];
  }
  set registerUnaryCallback(value) {
    super.registerUnaryCallback = value;
  }
  get registerBinaryCallback() {
    return this[registerBinaryCallback$];
  }
  set registerBinaryCallback(value) {
    super.registerBinaryCallback = value;
  }
  get errorCallback() {
    return this[errorCallback$];
  }
  set errorCallback(value) {
    super.errorCallback = value;
  }
  get scheduleMicrotask() {
    return this[scheduleMicrotask$];
  }
  set scheduleMicrotask(value) {
    super.scheduleMicrotask = value;
  }
  get createTimer() {
    return this[createTimer$];
  }
  set createTimer(value) {
    super.createTimer = value;
  }
  get createPeriodicTimer() {
    return this[createPeriodicTimer$];
  }
  set createPeriodicTimer(value) {
    super.createPeriodicTimer = value;
  }
  get print() {
    return this[print$];
  }
  set print(value) {
    super.print = value;
  }
  get fork() {
    return this[fork$];
  }
  set fork(value) {
    super.fork = value;
  }
};
(async._ZoneSpecification.new = function(opts) {
  let handleUncaughtError = opts && 'handleUncaughtError' in opts ? opts.handleUncaughtError : null;
  let run = opts && 'run' in opts ? opts.run : null;
  let runUnary = opts && 'runUnary' in opts ? opts.runUnary : null;
  let runBinary = opts && 'runBinary' in opts ? opts.runBinary : null;
  let registerCallback = opts && 'registerCallback' in opts ? opts.registerCallback : null;
  let registerUnaryCallback = opts && 'registerUnaryCallback' in opts ? opts.registerUnaryCallback : null;
  let registerBinaryCallback = opts && 'registerBinaryCallback' in opts ? opts.registerBinaryCallback : null;
  let errorCallback = opts && 'errorCallback' in opts ? opts.errorCallback : null;
  let scheduleMicrotask = opts && 'scheduleMicrotask' in opts ? opts.scheduleMicrotask : null;
  let createTimer = opts && 'createTimer' in opts ? opts.createTimer : null;
  let createPeriodicTimer = opts && 'createPeriodicTimer' in opts ? opts.createPeriodicTimer : null;
  let print = opts && 'print' in opts ? opts.print : null;
  let fork = opts && 'fork' in opts ? opts.fork : null;
  this[handleUncaughtError$] = handleUncaughtError;
  this[run$] = run;
  this[runUnary$] = runUnary;
  this[runBinary$] = runBinary;
  this[registerCallback$] = registerCallback;
  this[registerUnaryCallback$] = registerUnaryCallback;
  this[registerBinaryCallback$] = registerBinaryCallback;
  this[errorCallback$] = errorCallback;
  this[scheduleMicrotask$] = scheduleMicrotask;
  this[createTimer$] = createTimer;
  this[createPeriodicTimer$] = createPeriodicTimer;
  this[print$] = print;
  this[fork$] = fork;
  ;
}).prototype = async._ZoneSpecification.prototype;
dart.addTypeTests(async._ZoneSpecification);
dart.addTypeCaches(async._ZoneSpecification);
async._ZoneSpecification[dart.implements] = () => [async.ZoneSpecification];
dart.setLibraryUri(async._ZoneSpecification, I[30]);
dart.setFieldSignature(async._ZoneSpecification, () => ({
  __proto__: dart.getFields(async._ZoneSpecification.__proto__),
  handleUncaughtError: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.Object, core.StackTrace]))),
  run: dart.finalFieldType(dart.nullable(dart.gFnType(R => [R, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [])]], R => [dart.nullable(core.Object)]))),
  runUnary: dart.finalFieldType(dart.nullable(dart.gFnType((R, T) => [R, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T]), T]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]))),
  runBinary: dart.finalFieldType(dart.nullable(dart.gFnType((R, T1, T2) => [R, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T1, T2]), T1, T2]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]))),
  registerCallback: dart.finalFieldType(dart.nullable(dart.gFnType(R => [dart.fnType(R, []), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [])]], R => [dart.nullable(core.Object)]))),
  registerUnaryCallback: dart.finalFieldType(dart.nullable(dart.gFnType((R, T) => [dart.fnType(R, [T]), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T])]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]))),
  registerBinaryCallback: dart.finalFieldType(dart.nullable(dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(R, [T1, T2])]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]))),
  errorCallback: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(async.AsyncError), [async.Zone, async.ZoneDelegate, async.Zone, core.Object, dart.nullable(core.StackTrace)]))),
  scheduleMicrotask: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(dart.void, [])]))),
  createTimer: dart.finalFieldType(dart.nullable(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, dart.fnType(dart.void, [])]))),
  createPeriodicTimer: dart.finalFieldType(dart.nullable(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, dart.fnType(dart.void, [async.Timer])]))),
  print: dart.finalFieldType(dart.nullable(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.String]))),
  fork: dart.finalFieldType(dart.nullable(dart.fnType(async.Zone, [async.Zone, async.ZoneDelegate, async.Zone, dart.nullable(async.ZoneSpecification), dart.nullable(core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)))])))
}));
async.ZoneDelegate = class ZoneDelegate extends core.Object {};
(async.ZoneDelegate.new = function() {
  ;
}).prototype = async.ZoneDelegate.prototype;
dart.addTypeTests(async.ZoneDelegate);
dart.addTypeCaches(async.ZoneDelegate);
dart.setLibraryUri(async.ZoneDelegate, I[30]);
async.Zone = class Zone extends core.Object {
  static get current() {
    return async.Zone._current;
  }
  static _enter(zone) {
    if (zone == null) dart.nullFailed(I[74], 940, 29, "zone");
    if (!(zone != async.Zone._current)) dart.assertFailed(null, I[74], 941, 12, "!identical(zone, _current)");
    let previous = async.Zone._current;
    async.Zone._current = zone;
    return previous;
  }
  static _leave(previous) {
    if (previous == null) dart.nullFailed(I[74], 950, 28, "previous");
    if (!(previous != null)) dart.assertFailed(null, I[74], 951, 12, "previous != null");
    async.Zone._current = previous;
  }
};
(async.Zone.__ = function() {
  ;
}).prototype = async.Zone.prototype;
dart.addTypeTests(async.Zone);
dart.addTypeCaches(async.Zone);
dart.setLibraryUri(async.Zone, I[30]);
dart.defineLazy(async.Zone, {
  /*async.Zone.root*/get root() {
    return C[45] || CT.C45;
  },
  /*async.Zone._current*/get _current() {
    return async._rootZone;
  },
  set _current(_) {}
}, false);
var _delegationTarget$ = dart.privateName(async, "_delegationTarget");
var _processUncaughtError = dart.privateName(async, "_processUncaughtError");
var _run = dart.privateName(async, "_run");
var _parentDelegate = dart.privateName(async, "_parentDelegate");
var _runUnary = dart.privateName(async, "_runUnary");
var _runBinary = dart.privateName(async, "_runBinary");
var _registerCallback = dart.privateName(async, "_registerCallback");
var _registerUnaryCallback = dart.privateName(async, "_registerUnaryCallback");
var _registerBinaryCallback = dart.privateName(async, "_registerBinaryCallback");
var _errorCallback = dart.privateName(async, "_errorCallback");
var _scheduleMicrotask = dart.privateName(async, "_scheduleMicrotask");
var _createTimer = dart.privateName(async, "_createTimer");
var _createPeriodicTimer = dart.privateName(async, "_createPeriodicTimer");
var _print = dart.privateName(async, "_print");
var _fork = dart.privateName(async, "_fork");
async._ZoneDelegate = class _ZoneDelegate extends core.Object {
  handleUncaughtError(zone, error, stackTrace) {
    if (zone == null) dart.nullFailed(I[74], 972, 33, "zone");
    if (error == null) dart.nullFailed(I[74], 972, 46, "error");
    if (stackTrace == null) dart.nullFailed(I[74], 972, 64, "stackTrace");
    this[_delegationTarget$][_processUncaughtError](zone, error, stackTrace);
  }
  run(R, zone, f) {
    if (zone == null) dart.nullFailed(I[74], 976, 17, "zone");
    if (f == null) dart.nullFailed(I[74], 976, 25, "f");
    let implementation = this[_delegationTarget$][_run];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(R, implZone, implZone[_parentDelegate], zone, f);
  }
  runUnary(R, T, zone, f, arg) {
    if (zone == null) dart.nullFailed(I[74], 983, 25, "zone");
    if (f == null) dart.nullFailed(I[74], 983, 33, "f");
    let implementation = this[_delegationTarget$][_runUnary];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(R, T, implZone, implZone[_parentDelegate], zone, f, arg);
  }
  runBinary(R, T1, T2, zone, f, arg1, arg2) {
    if (zone == null) dart.nullFailed(I[74], 990, 31, "zone");
    if (f == null) dart.nullFailed(I[74], 990, 39, "f");
    let implementation = this[_delegationTarget$][_runBinary];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(R, T1, T2, implZone, implZone[_parentDelegate], zone, f, arg1, arg2);
  }
  registerCallback(R, zone, f) {
    if (zone == null) dart.nullFailed(I[74], 997, 44, "zone");
    if (f == null) dart.nullFailed(I[74], 997, 52, "f");
    let implementation = this[_delegationTarget$][_registerCallback];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(R, implZone, implZone[_parentDelegate], zone, f);
  }
  registerUnaryCallback(R, T, zone, f) {
    if (zone == null) dart.nullFailed(I[74], 1004, 60, "zone");
    if (f == null) dart.nullFailed(I[74], 1004, 68, "f");
    let implementation = this[_delegationTarget$][_registerUnaryCallback];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(R, T, implZone, implZone[_parentDelegate], zone, f);
  }
  registerBinaryCallback(R, T1, T2, zone, f) {
    if (zone == null) dart.nullFailed(I[74], 1012, 12, "zone");
    if (f == null) dart.nullFailed(I[74], 1012, 20, "f");
    let implementation = this[_delegationTarget$][_registerBinaryCallback];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(R, T1, T2, implZone, implZone[_parentDelegate], zone, f);
  }
  errorCallback(zone, error, stackTrace) {
    if (zone == null) dart.nullFailed(I[74], 1019, 34, "zone");
    if (error == null) dart.nullFailed(I[74], 1019, 47, "error");
    _internal.checkNotNullable(core.Object, error, "error");
    let implementation = this[_delegationTarget$][_errorCallback];
    let implZone = implementation.zone;
    if (implZone == async._rootZone) return null;
    let handler = implementation.function;
    return handler(implZone, implZone[_parentDelegate], zone, error, stackTrace);
  }
  scheduleMicrotask(zone, f) {
    if (zone == null) dart.nullFailed(I[74], 1028, 31, "zone");
    if (f == null) dart.nullFailed(I[74], 1028, 37, "f");
    let implementation = this[_delegationTarget$][_scheduleMicrotask];
    let implZone = implementation.zone;
    let handler = implementation.function;
    handler(implZone, implZone[_parentDelegate], zone, f);
  }
  createTimer(zone, duration, f) {
    if (zone == null) dart.nullFailed(I[74], 1035, 26, "zone");
    if (duration == null) dart.nullFailed(I[74], 1035, 41, "duration");
    if (f == null) dart.nullFailed(I[74], 1035, 56, "f");
    let implementation = this[_delegationTarget$][_createTimer];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(implZone, implZone[_parentDelegate], zone, duration, f);
  }
  createPeriodicTimer(zone, period, f) {
    if (zone == null) dart.nullFailed(I[74], 1042, 34, "zone");
    if (period == null) dart.nullFailed(I[74], 1042, 49, "period");
    if (f == null) dart.nullFailed(I[74], 1042, 62, "f");
    let implementation = this[_delegationTarget$][_createPeriodicTimer];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(implZone, implZone[_parentDelegate], zone, period, f);
  }
  print(zone, line) {
    if (zone == null) dart.nullFailed(I[74], 1049, 19, "zone");
    if (line == null) dart.nullFailed(I[74], 1049, 32, "line");
    let implementation = this[_delegationTarget$][_print];
    let implZone = implementation.zone;
    let handler = implementation.function;
    handler(implZone, implZone[_parentDelegate], zone, line);
  }
  fork(zone, specification, zoneValues) {
    if (zone == null) dart.nullFailed(I[74], 1056, 18, "zone");
    let implementation = this[_delegationTarget$][_fork];
    let implZone = implementation.zone;
    let handler = implementation.function;
    return handler(implZone, implZone[_parentDelegate], zone, specification, zoneValues);
  }
};
(async._ZoneDelegate.new = function(_delegationTarget) {
  if (_delegationTarget == null) dart.nullFailed(I[74], 970, 22, "_delegationTarget");
  this[_delegationTarget$] = _delegationTarget;
  ;
}).prototype = async._ZoneDelegate.prototype;
dart.addTypeTests(async._ZoneDelegate);
dart.addTypeCaches(async._ZoneDelegate);
async._ZoneDelegate[dart.implements] = () => [async.ZoneDelegate];
dart.setMethodSignature(async._ZoneDelegate, () => ({
  __proto__: dart.getMethods(async._ZoneDelegate.__proto__),
  handleUncaughtError: dart.fnType(dart.void, [async.Zone, core.Object, core.StackTrace]),
  run: dart.gFnType(R => [R, [async.Zone, dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  runUnary: dart.gFnType((R, T) => [R, [async.Zone, dart.fnType(R, [T]), T]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  runBinary: dart.gFnType((R, T1, T2) => [R, [async.Zone, dart.fnType(R, [T1, T2]), T1, T2]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  registerCallback: dart.gFnType(R => [dart.fnType(R, []), [async.Zone, dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  registerUnaryCallback: dart.gFnType((R, T) => [dart.fnType(R, [T]), [async.Zone, dart.fnType(R, [T])]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  registerBinaryCallback: dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [async.Zone, dart.fnType(R, [T1, T2])]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  errorCallback: dart.fnType(dart.nullable(async.AsyncError), [async.Zone, core.Object, dart.nullable(core.StackTrace)]),
  scheduleMicrotask: dart.fnType(dart.void, [async.Zone, dart.fnType(dart.dynamic, [])]),
  createTimer: dart.fnType(async.Timer, [async.Zone, core.Duration, dart.fnType(dart.void, [])]),
  createPeriodicTimer: dart.fnType(async.Timer, [async.Zone, core.Duration, dart.fnType(dart.void, [async.Timer])]),
  print: dart.fnType(dart.void, [async.Zone, core.String]),
  fork: dart.fnType(async.Zone, [async.Zone, dart.nullable(async.ZoneSpecification), dart.nullable(core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)))])
}));
dart.setLibraryUri(async._ZoneDelegate, I[30]);
dart.setFieldSignature(async._ZoneDelegate, () => ({
  __proto__: dart.getFields(async._ZoneDelegate.__proto__),
  [_delegationTarget$]: dart.finalFieldType(async._Zone)
}));
var _handleUncaughtError = dart.privateName(async, "_handleUncaughtError");
async._Zone = class _Zone extends core.Object {
  inSameErrorZone(otherZone) {
    if (otherZone == null) dart.nullFailed(I[74], 1091, 29, "otherZone");
    return this === otherZone || this.errorZone == otherZone.errorZone;
  }
  [_processUncaughtError](zone, error, stackTrace) {
    if (zone == null) dart.nullFailed(I[74], 1096, 35, "zone");
    if (error == null) dart.nullFailed(I[74], 1096, 48, "error");
    if (stackTrace == null) dart.nullFailed(I[74], 1096, 66, "stackTrace");
    let implementation = this[_handleUncaughtError];
    let implZone = implementation.zone;
    if (implZone == async._rootZone) {
      async._rootHandleError(error, stackTrace);
      return;
    }
    let handler = implementation.function;
    let parentDelegate = implZone[_parentDelegate];
    let parentZone = dart.nullCheck(implZone.parent);
    let currentZone = async.Zone._current;
    try {
      async.Zone._current = parentZone;
      handler(implZone, parentDelegate, zone, error, stackTrace);
      async.Zone._current = currentZone;
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        async.Zone._current = currentZone;
        parentZone[_processUncaughtError](implZone, e, core.identical(error, e) ? stackTrace : s);
      } else
        throw e$;
    }
  }
};
(async._Zone.new = function() {
  ;
}).prototype = async._Zone.prototype;
dart.addTypeTests(async._Zone);
dart.addTypeCaches(async._Zone);
async._Zone[dart.implements] = () => [async.Zone];
dart.setMethodSignature(async._Zone, () => ({
  __proto__: dart.getMethods(async._Zone.__proto__),
  inSameErrorZone: dart.fnType(core.bool, [async.Zone]),
  [_processUncaughtError]: dart.fnType(dart.void, [async.Zone, core.Object, core.StackTrace])
}));
dart.setLibraryUri(async._Zone, I[30]);
var _run$ = dart.privateName(async, "_CustomZone._run");
var _runUnary$ = dart.privateName(async, "_CustomZone._runUnary");
var _runBinary$ = dart.privateName(async, "_CustomZone._runBinary");
var _registerCallback$ = dart.privateName(async, "_CustomZone._registerCallback");
var _registerUnaryCallback$ = dart.privateName(async, "_CustomZone._registerUnaryCallback");
var _registerBinaryCallback$ = dart.privateName(async, "_CustomZone._registerBinaryCallback");
var _errorCallback$ = dart.privateName(async, "_CustomZone._errorCallback");
var _scheduleMicrotask$ = dart.privateName(async, "_CustomZone._scheduleMicrotask");
var _createTimer$ = dart.privateName(async, "_CustomZone._createTimer");
var _createPeriodicTimer$ = dart.privateName(async, "_CustomZone._createPeriodicTimer");
var _print$ = dart.privateName(async, "_CustomZone._print");
var _fork$ = dart.privateName(async, "_CustomZone._fork");
var _handleUncaughtError$ = dart.privateName(async, "_CustomZone._handleUncaughtError");
var parent$ = dart.privateName(async, "_CustomZone.parent");
var _map$2 = dart.privateName(async, "_CustomZone._map");
var _delegateCache = dart.privateName(async, "_delegateCache");
var _map$3 = dart.privateName(async, "_map");
var _delegate = dart.privateName(async, "_delegate");
async._CustomZone = class _CustomZone extends async._Zone {
  get [_run]() {
    return this[_run$];
  }
  set [_run](value) {
    this[_run$] = value;
  }
  get [_runUnary]() {
    return this[_runUnary$];
  }
  set [_runUnary](value) {
    this[_runUnary$] = value;
  }
  get [_runBinary]() {
    return this[_runBinary$];
  }
  set [_runBinary](value) {
    this[_runBinary$] = value;
  }
  get [_registerCallback]() {
    return this[_registerCallback$];
  }
  set [_registerCallback](value) {
    this[_registerCallback$] = value;
  }
  get [_registerUnaryCallback]() {
    return this[_registerUnaryCallback$];
  }
  set [_registerUnaryCallback](value) {
    this[_registerUnaryCallback$] = value;
  }
  get [_registerBinaryCallback]() {
    return this[_registerBinaryCallback$];
  }
  set [_registerBinaryCallback](value) {
    this[_registerBinaryCallback$] = value;
  }
  get [_errorCallback]() {
    return this[_errorCallback$];
  }
  set [_errorCallback](value) {
    this[_errorCallback$] = value;
  }
  get [_scheduleMicrotask]() {
    return this[_scheduleMicrotask$];
  }
  set [_scheduleMicrotask](value) {
    this[_scheduleMicrotask$] = value;
  }
  get [_createTimer]() {
    return this[_createTimer$];
  }
  set [_createTimer](value) {
    this[_createTimer$] = value;
  }
  get [_createPeriodicTimer]() {
    return this[_createPeriodicTimer$];
  }
  set [_createPeriodicTimer](value) {
    this[_createPeriodicTimer$] = value;
  }
  get [_print]() {
    return this[_print$];
  }
  set [_print](value) {
    this[_print$] = value;
  }
  get [_fork]() {
    return this[_fork$];
  }
  set [_fork](value) {
    this[_fork$] = value;
  }
  get [_handleUncaughtError]() {
    return this[_handleUncaughtError$];
  }
  set [_handleUncaughtError](value) {
    this[_handleUncaughtError$] = value;
  }
  get parent() {
    return this[parent$];
  }
  set parent(value) {
    super.parent = value;
  }
  get [_map$3]() {
    return this[_map$2];
  }
  set [_map$3](value) {
    super[_map$3] = value;
  }
  get [_delegate]() {
    let t130;
    t130 = this[_delegateCache];
    return t130 == null ? this[_delegateCache] = new async._ZoneDelegate.new(this) : t130;
  }
  get [_parentDelegate]() {
    return this.parent[_delegate];
  }
  get errorZone() {
    return this[_handleUncaughtError].zone;
  }
  runGuarded(f) {
    if (f == null) dart.nullFailed(I[74], 1234, 24, "f");
    try {
      this.run(dart.void, f);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this.handleUncaughtError(e, s);
      } else
        throw e$;
    }
  }
  runUnaryGuarded(T, f, arg) {
    if (f == null) dart.nullFailed(I[74], 1242, 32, "f");
    try {
      this.runUnary(dart.void, T, f, arg);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this.handleUncaughtError(e, s);
      } else
        throw e$;
    }
  }
  runBinaryGuarded(T1, T2, f, arg1, arg2) {
    if (f == null) dart.nullFailed(I[74], 1250, 38, "f");
    try {
      this.runBinary(dart.void, T1, T2, f, arg1, arg2);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this.handleUncaughtError(e, s);
      } else
        throw e$;
    }
  }
  bindCallback(R, f) {
    if (f == null) dart.nullFailed(I[74], 1258, 37, "f");
    let registered = this.registerCallback(R, f);
    return dart.fn(() => this.run(R, registered), dart.fnType(R, []));
  }
  bindUnaryCallback(R, T, f) {
    if (f == null) dart.nullFailed(I[74], 1263, 53, "f");
    let registered = this.registerUnaryCallback(R, T, f);
    return dart.fn(arg => this.runUnary(R, T, registered, arg), dart.fnType(R, [T]));
  }
  bindBinaryCallback(R, T1, T2, f) {
    if (f == null) dart.nullFailed(I[74], 1269, 9, "f");
    let registered = this.registerBinaryCallback(R, T1, T2, f);
    return dart.fn((arg1, arg2) => this.runBinary(R, T1, T2, registered, arg1, arg2), dart.fnType(R, [T1, T2]));
  }
  bindCallbackGuarded(f) {
    if (f == null) dart.nullFailed(I[74], 1274, 44, "f");
    let registered = this.registerCallback(dart.void, f);
    return dart.fn(() => this.runGuarded(registered), T$.VoidTovoid());
  }
  bindUnaryCallbackGuarded(T, f) {
    if (f == null) dart.nullFailed(I[74], 1279, 53, "f");
    let registered = this.registerUnaryCallback(dart.void, T, f);
    return dart.fn(arg => this.runUnaryGuarded(T, registered, arg), dart.fnType(dart.void, [T]));
  }
  bindBinaryCallbackGuarded(T1, T2, f) {
    if (f == null) dart.nullFailed(I[74], 1285, 12, "f");
    let registered = this.registerBinaryCallback(dart.void, T1, T2, f);
    return dart.fn((arg1, arg2) => this.runBinaryGuarded(T1, T2, registered, arg1, arg2), dart.fnType(dart.void, [T1, T2]));
  }
  _get(key) {
    let result = this[_map$3][$_get](key);
    if (result != null || dart.test(this[_map$3][$containsKey](key))) return result;
    if (this.parent != null) {
      let value = this.parent._get(key);
      if (value != null) {
        this[_map$3][$_set](key, value);
      }
      return value;
    }
    if (!this[$_equals](async._rootZone)) dart.assertFailed(null, I[74], 1305, 12, "this == _rootZone");
    return null;
  }
  handleUncaughtError(error, stackTrace) {
    if (error == null) dart.nullFailed(I[74], 1311, 35, "error");
    if (stackTrace == null) dart.nullFailed(I[74], 1311, 53, "stackTrace");
    this[_processUncaughtError](this, error, stackTrace);
  }
  fork(opts) {
    let specification = opts && 'specification' in opts ? opts.specification : null;
    let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null;
    let implementation = this[_fork];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(implementation.zone, parentDelegate, this, specification, zoneValues);
  }
  run(R, f) {
    if (f == null) dart.nullFailed(I[74], 1324, 14, "f");
    let implementation = this[_run];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(R, implementation.zone, parentDelegate, this, f);
  }
  runUnary(R, T, f, arg) {
    if (f == null) dart.nullFailed(I[74], 1331, 22, "f");
    let implementation = this[_runUnary];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(R, T, implementation.zone, parentDelegate, this, f, arg);
  }
  runBinary(R, T1, T2, f, arg1, arg2) {
    if (f == null) dart.nullFailed(I[74], 1338, 28, "f");
    let implementation = this[_runBinary];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(R, T1, T2, implementation.zone, parentDelegate, this, f, arg1, arg2);
  }
  registerCallback(R, callback) {
    if (callback == null) dart.nullFailed(I[74], 1345, 41, "callback");
    let implementation = this[_registerCallback];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(R, implementation.zone, parentDelegate, this, callback);
  }
  registerUnaryCallback(R, T, callback) {
    if (callback == null) dart.nullFailed(I[74], 1352, 57, "callback");
    let implementation = this[_registerUnaryCallback];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(R, T, implementation.zone, parentDelegate, this, callback);
  }
  registerBinaryCallback(R, T1, T2, callback) {
    if (callback == null) dart.nullFailed(I[74], 1360, 9, "callback");
    let implementation = this[_registerBinaryCallback];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(R, T1, T2, implementation.zone, parentDelegate, this, callback);
  }
  errorCallback(error, stackTrace) {
    if (error == null) dart.nullFailed(I[74], 1367, 36, "error");
    _internal.checkNotNullable(core.Object, error, "error");
    let implementation = this[_errorCallback];
    let implementationZone = implementation.zone;
    if (implementationZone == async._rootZone) return null;
    let parentDelegate = implementationZone[_parentDelegate];
    let handler = implementation.function;
    return handler(implementationZone, parentDelegate, this, error, stackTrace);
  }
  scheduleMicrotask(f) {
    if (f == null) dart.nullFailed(I[74], 1377, 31, "f");
    let implementation = this[_scheduleMicrotask];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(implementation.zone, parentDelegate, this, f);
  }
  createTimer(duration, f) {
    if (duration == null) dart.nullFailed(I[74], 1384, 30, "duration");
    if (f == null) dart.nullFailed(I[74], 1384, 45, "f");
    let implementation = this[_createTimer];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(implementation.zone, parentDelegate, this, duration, f);
  }
  createPeriodicTimer(duration, f) {
    if (duration == null) dart.nullFailed(I[74], 1391, 38, "duration");
    if (f == null) dart.nullFailed(I[74], 1391, 53, "f");
    let implementation = this[_createPeriodicTimer];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(implementation.zone, parentDelegate, this, duration, f);
  }
  print(line) {
    if (line == null) dart.nullFailed(I[74], 1398, 21, "line");
    let implementation = this[_print];
    let parentDelegate = implementation.zone[_parentDelegate];
    let handler = implementation.function;
    return handler(implementation.zone, parentDelegate, this, line);
  }
};
(async._CustomZone.new = function(parent, specification, _map) {
  if (parent == null) dart.nullFailed(I[74], 1152, 20, "parent");
  if (specification == null) dart.nullFailed(I[74], 1152, 46, "specification");
  if (_map == null) dart.nullFailed(I[74], 1152, 66, "_map");
  this[_delegateCache] = null;
  this[parent$] = parent;
  this[_map$2] = _map;
  this[_run$] = parent[_run];
  this[_runUnary$] = parent[_runUnary];
  this[_runBinary$] = parent[_runBinary];
  this[_registerCallback$] = parent[_registerCallback];
  this[_registerUnaryCallback$] = parent[_registerUnaryCallback];
  this[_registerBinaryCallback$] = parent[_registerBinaryCallback];
  this[_errorCallback$] = parent[_errorCallback];
  this[_scheduleMicrotask$] = parent[_scheduleMicrotask];
  this[_createTimer$] = parent[_createTimer];
  this[_createPeriodicTimer$] = parent[_createPeriodicTimer];
  this[_print$] = parent[_print];
  this[_fork$] = parent[_fork];
  this[_handleUncaughtError$] = parent[_handleUncaughtError];
  async._CustomZone.__proto__.new.call(this);
  let run = specification.run;
  if (run != null) {
    this[_run] = new async._RunNullaryZoneFunction.new(this, run);
  }
  let runUnary = specification.runUnary;
  if (runUnary != null) {
    this[_runUnary] = new async._RunUnaryZoneFunction.new(this, runUnary);
  }
  let runBinary = specification.runBinary;
  if (runBinary != null) {
    this[_runBinary] = new async._RunBinaryZoneFunction.new(this, runBinary);
  }
  let registerCallback = specification.registerCallback;
  if (registerCallback != null) {
    this[_registerCallback] = new async._RegisterNullaryZoneFunction.new(this, registerCallback);
  }
  let registerUnaryCallback = specification.registerUnaryCallback;
  if (registerUnaryCallback != null) {
    this[_registerUnaryCallback] = new async._RegisterUnaryZoneFunction.new(this, registerUnaryCallback);
  }
  let registerBinaryCallback = specification.registerBinaryCallback;
  if (registerBinaryCallback != null) {
    this[_registerBinaryCallback] = new async._RegisterBinaryZoneFunction.new(this, registerBinaryCallback);
  }
  let errorCallback = specification.errorCallback;
  if (errorCallback != null) {
    this[_errorCallback] = new (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToAsyncErrorN()).new(this, errorCallback);
  }
  let scheduleMicrotask = specification.scheduleMicrotask;
  if (scheduleMicrotask != null) {
    this[_scheduleMicrotask] = new (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid()).new(this, scheduleMicrotask);
  }
  let createTimer = specification.createTimer;
  if (createTimer != null) {
    this[_createTimer] = new (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToTimer()).new(this, createTimer);
  }
  let createPeriodicTimer = specification.createPeriodicTimer;
  if (createPeriodicTimer != null) {
    this[_createPeriodicTimer] = new (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToTimer$1()).new(this, createPeriodicTimer);
  }
  let print = specification.print;
  if (print != null) {
    this[_print] = new (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid$1()).new(this, print);
  }
  let fork = specification.fork;
  if (fork != null) {
    this[_fork] = new (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__ToZone()).new(this, fork);
  }
  let handleUncaughtError = specification.handleUncaughtError;
  if (handleUncaughtError != null) {
    this[_handleUncaughtError] = new (T$._ZoneFunctionOfZoneAndZoneDelegateAndZone__Tovoid$2()).new(this, handleUncaughtError);
  }
}).prototype = async._CustomZone.prototype;
dart.addTypeTests(async._CustomZone);
dart.addTypeCaches(async._CustomZone);
dart.setMethodSignature(async._CustomZone, () => ({
  __proto__: dart.getMethods(async._CustomZone.__proto__),
  runGuarded: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
  runUnaryGuarded: dart.gFnType(T => [dart.void, [dart.fnType(dart.void, [T]), T]], T => [dart.nullable(core.Object)]),
  runBinaryGuarded: dart.gFnType((T1, T2) => [dart.void, [dart.fnType(dart.void, [T1, T2]), T1, T2]], (T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  bindCallback: dart.gFnType(R => [dart.fnType(R, []), [dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  bindUnaryCallback: dart.gFnType((R, T) => [dart.fnType(R, [T]), [dart.fnType(R, [T])]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  bindBinaryCallback: dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [dart.fnType(R, [T1, T2])]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  bindCallbackGuarded: dart.fnType(dart.fnType(dart.void, []), [dart.fnType(dart.void, [])]),
  bindUnaryCallbackGuarded: dart.gFnType(T => [dart.fnType(dart.void, [T]), [dart.fnType(dart.void, [T])]], T => [dart.nullable(core.Object)]),
  bindBinaryCallbackGuarded: dart.gFnType((T1, T2) => [dart.fnType(dart.void, [T1, T2]), [dart.fnType(dart.void, [T1, T2])]], (T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  _get: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  handleUncaughtError: dart.fnType(dart.void, [core.Object, core.StackTrace]),
  fork: dart.fnType(async.Zone, [], {specification: dart.nullable(async.ZoneSpecification), zoneValues: dart.nullable(core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)))}, {}),
  run: dart.gFnType(R => [R, [dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  runUnary: dart.gFnType((R, T) => [R, [dart.fnType(R, [T]), T]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  runBinary: dart.gFnType((R, T1, T2) => [R, [dart.fnType(R, [T1, T2]), T1, T2]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  registerCallback: dart.gFnType(R => [dart.fnType(R, []), [dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  registerUnaryCallback: dart.gFnType((R, T) => [dart.fnType(R, [T]), [dart.fnType(R, [T])]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  registerBinaryCallback: dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [dart.fnType(R, [T1, T2])]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  errorCallback: dart.fnType(dart.nullable(async.AsyncError), [core.Object, dart.nullable(core.StackTrace)]),
  scheduleMicrotask: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
  createTimer: dart.fnType(async.Timer, [core.Duration, dart.fnType(dart.void, [])]),
  createPeriodicTimer: dart.fnType(async.Timer, [core.Duration, dart.fnType(dart.void, [async.Timer])]),
  print: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(async._CustomZone, () => ({
  __proto__: dart.getGetters(async._CustomZone.__proto__),
  [_delegate]: async.ZoneDelegate,
  [_parentDelegate]: async.ZoneDelegate,
  errorZone: async.Zone
}));
dart.setLibraryUri(async._CustomZone, I[30]);
dart.setFieldSignature(async._CustomZone, () => ({
  __proto__: dart.getFields(async._CustomZone.__proto__),
  [_run]: dart.fieldType(async._RunNullaryZoneFunction),
  [_runUnary]: dart.fieldType(async._RunUnaryZoneFunction),
  [_runBinary]: dart.fieldType(async._RunBinaryZoneFunction),
  [_registerCallback]: dart.fieldType(async._RegisterNullaryZoneFunction),
  [_registerUnaryCallback]: dart.fieldType(async._RegisterUnaryZoneFunction),
  [_registerBinaryCallback]: dart.fieldType(async._RegisterBinaryZoneFunction),
  [_errorCallback]: dart.fieldType(async._ZoneFunction$(dart.fnType(dart.nullable(async.AsyncError), [async.Zone, async.ZoneDelegate, async.Zone, core.Object, dart.nullable(core.StackTrace)]))),
  [_scheduleMicrotask]: dart.fieldType(async._ZoneFunction$(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(dart.void, [])]))),
  [_createTimer]: dart.fieldType(async._ZoneFunction$(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, dart.fnType(dart.void, [])]))),
  [_createPeriodicTimer]: dart.fieldType(async._ZoneFunction$(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, dart.fnType(dart.void, [async.Timer])]))),
  [_print]: dart.fieldType(async._ZoneFunction$(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.String]))),
  [_fork]: dart.fieldType(async._ZoneFunction$(dart.fnType(async.Zone, [async.Zone, async.ZoneDelegate, async.Zone, dart.nullable(async.ZoneSpecification), dart.nullable(core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)))]))),
  [_handleUncaughtError]: dart.fieldType(async._ZoneFunction$(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.Object, core.StackTrace]))),
  [_delegateCache]: dart.fieldType(dart.nullable(async.ZoneDelegate)),
  parent: dart.finalFieldType(async._Zone),
  [_map$3]: dart.finalFieldType(core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)))
}));
async._RootZone = class _RootZone extends async._Zone {
  get [_run]() {
    return C[46] || CT.C46;
  }
  get [_runUnary]() {
    return C[48] || CT.C48;
  }
  get [_runBinary]() {
    return C[50] || CT.C50;
  }
  get [_registerCallback]() {
    return C[52] || CT.C52;
  }
  get [_registerUnaryCallback]() {
    return C[54] || CT.C54;
  }
  get [_registerBinaryCallback]() {
    return C[56] || CT.C56;
  }
  get [_errorCallback]() {
    return C[58] || CT.C58;
  }
  get [_scheduleMicrotask]() {
    return C[60] || CT.C60;
  }
  get [_createTimer]() {
    return C[62] || CT.C62;
  }
  get [_createPeriodicTimer]() {
    return C[64] || CT.C64;
  }
  get [_print]() {
    return C[66] || CT.C66;
  }
  get [_fork]() {
    return C[68] || CT.C68;
  }
  get [_handleUncaughtError]() {
    return C[70] || CT.C70;
  }
  get parent() {
    return null;
  }
  get [_map$3]() {
    return async._RootZone._rootMap;
  }
  get [_delegate]() {
    let t133;
    t133 = async._RootZone._rootDelegate;
    return t133 == null ? async._RootZone._rootDelegate = new async._ZoneDelegate.new(this) : t133;
  }
  get [_parentDelegate]() {
    return this[_delegate];
  }
  get errorZone() {
    return this;
  }
  runGuarded(f) {
    if (f == null) dart.nullFailed(I[74], 1605, 24, "f");
    try {
      if (async._rootZone == async.Zone._current) {
        f();
        return;
      }
      async._rootRun(dart.void, null, null, this, f);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this.handleUncaughtError(e, s);
      } else
        throw e$;
    }
  }
  runUnaryGuarded(T, f, arg) {
    if (f == null) dart.nullFailed(I[74], 1617, 32, "f");
    try {
      if (async._rootZone == async.Zone._current) {
        f(arg);
        return;
      }
      async._rootRunUnary(dart.void, T, null, null, this, f, arg);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this.handleUncaughtError(e, s);
      } else
        throw e$;
    }
  }
  runBinaryGuarded(T1, T2, f, arg1, arg2) {
    if (f == null) dart.nullFailed(I[74], 1629, 38, "f");
    try {
      if (async._rootZone == async.Zone._current) {
        f(arg1, arg2);
        return;
      }
      async._rootRunBinary(dart.void, T1, T2, null, null, this, f, arg1, arg2);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this.handleUncaughtError(e, s);
      } else
        throw e$;
    }
  }
  bindCallback(R, f) {
    if (f == null) dart.nullFailed(I[74], 1641, 37, "f");
    return dart.fn(() => this.run(R, f), dart.fnType(R, []));
  }
  bindUnaryCallback(R, T, f) {
    if (f == null) dart.nullFailed(I[74], 1645, 53, "f");
    return dart.fn(arg => this.runUnary(R, T, f, arg), dart.fnType(R, [T]));
  }
  bindBinaryCallback(R, T1, T2, f) {
    if (f == null) dart.nullFailed(I[74], 1650, 9, "f");
    return dart.fn((arg1, arg2) => this.runBinary(R, T1, T2, f, arg1, arg2), dart.fnType(R, [T1, T2]));
  }
  bindCallbackGuarded(f) {
    if (f == null) dart.nullFailed(I[74], 1654, 44, "f");
    return dart.fn(() => this.runGuarded(f), T$.VoidTovoid());
  }
  bindUnaryCallbackGuarded(T, f) {
    if (f == null) dart.nullFailed(I[74], 1658, 53, "f");
    return dart.fn(arg => this.runUnaryGuarded(T, f, arg), dart.fnType(dart.void, [T]));
  }
  bindBinaryCallbackGuarded(T1, T2, f) {
    if (f == null) dart.nullFailed(I[74], 1663, 12, "f");
    return dart.fn((arg1, arg2) => this.runBinaryGuarded(T1, T2, f, arg1, arg2), dart.fnType(dart.void, [T1, T2]));
  }
  _get(key) {
    return null;
  }
  handleUncaughtError(error, stackTrace) {
    if (error == null) dart.nullFailed(I[74], 1671, 35, "error");
    if (stackTrace == null) dart.nullFailed(I[74], 1671, 53, "stackTrace");
    async._rootHandleUncaughtError(null, null, this, error, stackTrace);
  }
  fork(opts) {
    let specification = opts && 'specification' in opts ? opts.specification : null;
    let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null;
    return async._rootFork(null, null, this, specification, zoneValues);
  }
  run(R, f) {
    if (f == null) dart.nullFailed(I[74], 1680, 14, "f");
    if (async.Zone._current == async._rootZone) return f();
    return async._rootRun(R, null, null, this, f);
  }
  runUnary(R, T, f, arg) {
    if (f == null) dart.nullFailed(I[74], 1686, 22, "f");
    if (async.Zone._current == async._rootZone) return f(arg);
    return async._rootRunUnary(R, T, null, null, this, f, arg);
  }
  runBinary(R, T1, T2, f, arg1, arg2) {
    if (f == null) dart.nullFailed(I[74], 1691, 28, "f");
    if (async.Zone._current == async._rootZone) return f(arg1, arg2);
    return async._rootRunBinary(R, T1, T2, null, null, this, f, arg1, arg2);
  }
  registerCallback(R, f) {
    if (f == null) dart.nullFailed(I[74], 1696, 41, "f");
    return f;
  }
  registerUnaryCallback(R, T, f) {
    if (f == null) dart.nullFailed(I[74], 1698, 57, "f");
    return f;
  }
  registerBinaryCallback(R, T1, T2, f) {
    if (f == null) dart.nullFailed(I[74], 1701, 13, "f");
    return f;
  }
  errorCallback(error, stackTrace) {
    if (error == null) dart.nullFailed(I[74], 1704, 36, "error");
    return null;
  }
  scheduleMicrotask(f) {
    if (f == null) dart.nullFailed(I[74], 1706, 31, "f");
    async._rootScheduleMicrotask(null, null, this, f);
  }
  createTimer(duration, f) {
    if (duration == null) dart.nullFailed(I[74], 1710, 30, "duration");
    if (f == null) dart.nullFailed(I[74], 1710, 45, "f");
    return async.Timer._createTimer(duration, f);
  }
  createPeriodicTimer(duration, f) {
    if (duration == null) dart.nullFailed(I[74], 1714, 38, "duration");
    if (f == null) dart.nullFailed(I[74], 1714, 53, "f");
    return async.Timer._createPeriodicTimer(duration, f);
  }
  print(line) {
    if (line == null) dart.nullFailed(I[74], 1718, 21, "line");
    _internal.printToConsole(line);
  }
};
(async._RootZone.new = function() {
  async._RootZone.__proto__.new.call(this);
  ;
}).prototype = async._RootZone.prototype;
dart.addTypeTests(async._RootZone);
dart.addTypeCaches(async._RootZone);
dart.setMethodSignature(async._RootZone, () => ({
  __proto__: dart.getMethods(async._RootZone.__proto__),
  runGuarded: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
  runUnaryGuarded: dart.gFnType(T => [dart.void, [dart.fnType(dart.void, [T]), T]], T => [dart.nullable(core.Object)]),
  runBinaryGuarded: dart.gFnType((T1, T2) => [dart.void, [dart.fnType(dart.void, [T1, T2]), T1, T2]], (T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  bindCallback: dart.gFnType(R => [dart.fnType(R, []), [dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  bindUnaryCallback: dart.gFnType((R, T) => [dart.fnType(R, [T]), [dart.fnType(R, [T])]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  bindBinaryCallback: dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [dart.fnType(R, [T1, T2])]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  bindCallbackGuarded: dart.fnType(dart.fnType(dart.void, []), [dart.fnType(dart.void, [])]),
  bindUnaryCallbackGuarded: dart.gFnType(T => [dart.fnType(dart.void, [T]), [dart.fnType(dart.void, [T])]], T => [dart.nullable(core.Object)]),
  bindBinaryCallbackGuarded: dart.gFnType((T1, T2) => [dart.fnType(dart.void, [T1, T2]), [dart.fnType(dart.void, [T1, T2])]], (T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  _get: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  handleUncaughtError: dart.fnType(dart.void, [core.Object, core.StackTrace]),
  fork: dart.fnType(async.Zone, [], {specification: dart.nullable(async.ZoneSpecification), zoneValues: dart.nullable(core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)))}, {}),
  run: dart.gFnType(R => [R, [dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  runUnary: dart.gFnType((R, T) => [R, [dart.fnType(R, [T]), T]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  runBinary: dart.gFnType((R, T1, T2) => [R, [dart.fnType(R, [T1, T2]), T1, T2]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  registerCallback: dart.gFnType(R => [dart.fnType(R, []), [dart.fnType(R, [])]], R => [dart.nullable(core.Object)]),
  registerUnaryCallback: dart.gFnType((R, T) => [dart.fnType(R, [T]), [dart.fnType(R, [T])]], (R, T) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  registerBinaryCallback: dart.gFnType((R, T1, T2) => [dart.fnType(R, [T1, T2]), [dart.fnType(R, [T1, T2])]], (R, T1, T2) => [dart.nullable(core.Object), dart.nullable(core.Object), dart.nullable(core.Object)]),
  errorCallback: dart.fnType(dart.nullable(async.AsyncError), [core.Object, dart.nullable(core.StackTrace)]),
  scheduleMicrotask: dart.fnType(dart.void, [dart.fnType(dart.void, [])]),
  createTimer: dart.fnType(async.Timer, [core.Duration, dart.fnType(dart.void, [])]),
  createPeriodicTimer: dart.fnType(async.Timer, [core.Duration, dart.fnType(dart.void, [async.Timer])]),
  print: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(async._RootZone, () => ({
  __proto__: dart.getGetters(async._RootZone.__proto__),
  [_run]: async._RunNullaryZoneFunction,
  [_runUnary]: async._RunUnaryZoneFunction,
  [_runBinary]: async._RunBinaryZoneFunction,
  [_registerCallback]: async._RegisterNullaryZoneFunction,
  [_registerUnaryCallback]: async._RegisterUnaryZoneFunction,
  [_registerBinaryCallback]: async._RegisterBinaryZoneFunction,
  [_errorCallback]: async._ZoneFunction$(dart.fnType(dart.nullable(async.AsyncError), [async.Zone, async.ZoneDelegate, async.Zone, core.Object, dart.nullable(core.StackTrace)])),
  [_scheduleMicrotask]: async._ZoneFunction$(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, dart.fnType(dart.void, [])])),
  [_createTimer]: async._ZoneFunction$(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, dart.fnType(dart.void, [])])),
  [_createPeriodicTimer]: async._ZoneFunction$(dart.fnType(async.Timer, [async.Zone, async.ZoneDelegate, async.Zone, core.Duration, dart.fnType(dart.void, [async.Timer])])),
  [_print]: async._ZoneFunction$(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.String])),
  [_fork]: async._ZoneFunction$(dart.fnType(async.Zone, [async.Zone, async.ZoneDelegate, async.Zone, dart.nullable(async.ZoneSpecification), dart.nullable(core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)))])),
  [_handleUncaughtError]: async._ZoneFunction$(dart.fnType(dart.void, [async.Zone, async.ZoneDelegate, async.Zone, core.Object, core.StackTrace])),
  parent: dart.nullable(async._Zone),
  [_map$3]: core.Map$(dart.nullable(core.Object), dart.nullable(core.Object)),
  [_delegate]: async.ZoneDelegate,
  [_parentDelegate]: async.ZoneDelegate,
  errorZone: async.Zone
}));
dart.setLibraryUri(async._RootZone, I[30]);
dart.defineLazy(async._RootZone, {
  /*async._RootZone._rootMap*/get _rootMap() {
    return new _js_helper.LinkedMap.new();
  },
  /*async._RootZone._rootDelegate*/get _rootDelegate() {
    return null;
  },
  set _rootDelegate(_) {}
}, false);
async.async = function _async(T, initGenerator) {
  if (initGenerator == null) dart.nullFailed(I[62], 25, 22, "initGenerator");
  let iter = null;
  let onValue = null;
  let onValue$35isSet = false;
  function onValue$35get() {
    return onValue$35isSet ? onValue : dart.throw(new _internal.LateError.localNI("onValue"));
  }
  function onValue$35set(t139) {
    if (t139 == null) dart.nullFailed(I[62], 27, 34, "null");
    onValue$35isSet = true;
    return onValue = t139;
  }
  let onError = null;
  let onError$35isSet = false;
  function onError$35get() {
    return onError$35isSet ? onError : dart.throw(new _internal.LateError.localNI("onError"));
  }
  function onError$35set(t144) {
    if (t144 == null) dart.nullFailed(I[62], 28, 45, "null");
    onError$35isSet = true;
    return onError = t144;
  }
  function onAwait(value) {
    let f = null;
    if (async._Future.is(value)) {
      f = value;
    } else if (async.Future.is(value)) {
      f = new (T$._FutureOfObjectN()).new();
      f[_chainForeignFuture](value);
    } else {
      f = new (T$._FutureOfObjectN()).value(value);
    }
    f = f[_thenAwait](T$.ObjectN(), onValue$35get(), onError$35get());
    return f;
  }
  onValue$35set(value => {
    let iteratorResult = iter.next(value);
    value = iteratorResult.value;
    return iteratorResult.done ? value : onAwait(value);
  });
  onError$35set((value, stackTrace) => {
    if (value == null) dart.nullFailed(I[62], 58, 14, "value");
    let iteratorResult = iter.throw(dart.createErrorWithStack(value, stackTrace));
    value = iteratorResult.value;
    return iteratorResult.done ? value : onAwait(value);
  });
  let zone = async.Zone.current;
  if (zone != async._rootZone) {
    onValue$35set(zone.registerUnaryCallback(T$.ObjectN(), T$.ObjectN(), onValue$35get()));
    onError$35set(zone.registerBinaryCallback(core.Object, core.Object, T$.StackTraceN(), onError$35get()));
  }
  let asyncFuture = new (async._Future$(T)).new();
  let isRunningAsEvent = false;
  function runBody() {
    try {
      iter = initGenerator()[Symbol.iterator]();
      let iteratorValue = iter.next(null);
      let value = iteratorValue.value;
      if (iteratorValue.done) {
        if (async.Future.is(value)) {
          if (async._Future.is(value)) {
            async._Future._chainCoreFuture(value, asyncFuture);
          } else {
            asyncFuture[_chainForeignFuture](value);
          }
        } else if (isRunningAsEvent) {
          asyncFuture[_completeWithValue](value);
        } else {
          asyncFuture[_asyncComplete](value);
        }
      } else {
        async._Future._chainCoreFuture(onAwait(value), asyncFuture);
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        if (isRunningAsEvent) {
          async._completeWithErrorCallback(asyncFuture, e, s);
        } else {
          async._asyncCompleteWithErrorCallback(asyncFuture, e, s);
        }
      } else
        throw e$;
    }
  }
  if (dart.test(dart.startAsyncSynchronously)) {
    runBody();
    isRunningAsEvent = true;
  } else {
    isRunningAsEvent = true;
    async.scheduleMicrotask(runBody);
  }
  return asyncFuture;
};
async._invokeErrorHandler = function _invokeErrorHandler(errorHandler, error, stackTrace) {
  if (errorHandler == null) dart.nullFailed(I[63], 37, 14, "errorHandler");
  if (error == null) dart.nullFailed(I[63], 37, 35, "error");
  if (stackTrace == null) dart.nullFailed(I[63], 37, 53, "stackTrace");
  let handler = errorHandler;
  if (T$.NeverAndNeverTodynamic().is(handler)) {
    return dart.dcall(errorHandler, [error, stackTrace]);
  } else {
    return dart.dcall(errorHandler, [error]);
  }
};
async.unawaited = function unawaited(future) {
  if (future == null) dart.nullFailed(I[68], 723, 29, "future");
};
async['FutureExtensions|onError'] = function FutureExtensions$124onError(T, E, $this, handleError, opts) {
  if ($this == null) dart.nullFailed(I[68], 787, 13, "#this");
  if (handleError == null) dart.nullFailed(I[68], 788, 19, "handleError");
  let test = opts && 'test' in opts ? opts.test : null;
  return $this.catchError(dart.fn((error, stackTrace) => {
    if (error == null) dart.nullFailed(I[68], 793, 17, "error");
    if (stackTrace == null) dart.nullFailed(I[68], 793, 35, "stackTrace");
    return handleError(E.as(error), stackTrace);
  }, dart.fnType(async.FutureOr$(T), [core.Object, core.StackTrace])), {test: dart.fn(error => {
      if (error == null) dart.nullFailed(I[68], 795, 23, "error");
      return E.is(error) && (test == null || dart.test(test(error)));
    }, T$.ObjectTobool())});
};
async['FutureExtensions|get#onError'] = function FutureExtensions$124get$35onError(T, $this) {
  if ($this == null) dart.nullFailed(I[68], 787, 13, "#this");
  return dart.fn((E, handleError, opts) => {
    if (handleError == null) dart.nullFailed(I[68], 788, 19, "handleError");
    let test = opts && 'test' in opts ? opts.test : null;
    return async['FutureExtensions|onError'](T, E, $this, handleError, {test: test});
  }, dart.gFnType(E => {
    var __t$ETobool = () => (__t$ETobool = dart.constFn(dart.fnType(core.bool, [E])))();
    var __t$EToNbool = () => (__t$EToNbool = dart.constFn(dart.nullable(__t$ETobool())))();
    return [async.Future$(T), [dart.fnType(async.FutureOr$(T), [E, core.StackTrace])], {test: __t$EToNbool()}, {}];
  }, E => {
    var __t$ETobool = () => (__t$ETobool = dart.constFn(dart.fnType(core.bool, [E])))();
    var __t$EToNbool = () => (__t$EToNbool = dart.constFn(dart.nullable(__t$ETobool())))();
    return [core.Object];
  }));
};
async['FutureExtensions|ignore'] = function FutureExtensions$124ignore(T, $this) {
  if ($this == null) dart.nullFailed(I[68], 813, 8, "#this");
  let self = $this;
  if (async._Future$(T).is(self)) {
    self[_ignore]();
  } else {
    self.then(dart.void, C[72] || CT.C72, {onError: C[72] || CT.C72});
  }
};
async['FutureExtensions|get#ignore'] = function FutureExtensions$124get$35ignore(T, $this) {
  if ($this == null) dart.nullFailed(I[68], 813, 8, "#this");
  return dart.fn(() => async['FutureExtensions|ignore'](T, $this), T$.VoidTovoid());
};
async['FutureExtensions|_ignore'] = function FutureExtensions$124_ignore(_, __ = null) {
};
async._completeWithErrorCallback = function _completeWithErrorCallback(result, error, stackTrace) {
  if (result == null) dart.nullFailed(I[68], 1013, 13, "result");
  if (error == null) dart.nullFailed(I[68], 1013, 28, "error");
  let replacement = async.Zone.current.errorCallback(error, stackTrace);
  if (replacement != null) {
    error = replacement.error;
    stackTrace = replacement.stackTrace;
  } else {
    stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
  }
  if (stackTrace == null) dart.throw("unreachable");
  result[_completeError](error, stackTrace);
};
async._asyncCompleteWithErrorCallback = function _asyncCompleteWithErrorCallback(result, error, stackTrace) {
  if (result == null) dart.nullFailed(I[68], 1027, 13, "result");
  if (error == null) dart.nullFailed(I[68], 1027, 28, "error");
  let replacement = async.Zone.current.errorCallback(error, stackTrace);
  if (replacement != null) {
    error = replacement.error;
    stackTrace = replacement.stackTrace;
  } else {
    stackTrace == null ? stackTrace = async.AsyncError.defaultStackTrace(error) : null;
  }
  if (stackTrace == null) {
    dart.throw("unreachable");
  }
  result[_asyncCompleteError](error, stackTrace);
};
async._registerErrorHandler = function _registerErrorHandler(errorHandler, zone) {
  if (errorHandler == null) dart.nullFailed(I[69], 897, 41, "errorHandler");
  if (zone == null) dart.nullFailed(I[69], 897, 60, "zone");
  if (T$.ObjectAndStackTraceTodynamic().is(errorHandler)) {
    return zone.registerBinaryCallback(dart.dynamic, core.Object, core.StackTrace, errorHandler);
  }
  if (T$.ObjectTodynamic().is(errorHandler)) {
    return zone.registerUnaryCallback(dart.dynamic, core.Object, errorHandler);
  }
  dart.throw(new core.ArgumentError.value(errorHandler, "onError", "Error handler must accept one Object or one Object and a StackTrace" + " as arguments, and return a value of the returned future's type"));
};
async._microtaskLoop = function _microtaskLoop() {
  for (let entry = async._nextCallback; entry != null; entry = async._nextCallback) {
    async._lastPriorityCallback = null;
    let next = entry.next;
    async._nextCallback = next;
    if (next == null) async._lastCallback = null;
    entry.callback();
  }
};
async._startMicrotaskLoop = function _startMicrotaskLoop() {
  async._isInCallbackLoop = true;
  try {
    async._microtaskLoop();
  } finally {
    async._lastPriorityCallback = null;
    async._isInCallbackLoop = false;
    if (async._nextCallback != null) {
      async._AsyncRun._scheduleImmediate(C[73] || CT.C73);
    }
  }
};
async._scheduleAsyncCallback = function _scheduleAsyncCallback(callback) {
  if (callback == null) dart.nullFailed(I[70], 63, 44, "callback");
  let newEntry = new async._AsyncCallbackEntry.new(callback);
  let lastCallback = async._lastCallback;
  if (lastCallback == null) {
    async._nextCallback = async._lastCallback = newEntry;
    if (!dart.test(async._isInCallbackLoop)) {
      async._AsyncRun._scheduleImmediate(C[73] || CT.C73);
    }
  } else {
    lastCallback.next = newEntry;
    async._lastCallback = newEntry;
  }
};
async._schedulePriorityAsyncCallback = function _schedulePriorityAsyncCallback(callback) {
  if (callback == null) dart.nullFailed(I[70], 83, 52, "callback");
  if (async._nextCallback == null) {
    async._scheduleAsyncCallback(callback);
    async._lastPriorityCallback = async._lastCallback;
    return;
  }
  let entry = new async._AsyncCallbackEntry.new(callback);
  let lastPriorityCallback = async._lastPriorityCallback;
  if (lastPriorityCallback == null) {
    entry.next = async._nextCallback;
    async._nextCallback = async._lastPriorityCallback = entry;
  } else {
    let next = lastPriorityCallback.next;
    entry.next = next;
    lastPriorityCallback.next = entry;
    async._lastPriorityCallback = entry;
    if (next == null) {
      async._lastCallback = entry;
    }
  }
};
async.scheduleMicrotask = function scheduleMicrotask(callback) {
  if (callback == null) dart.nullFailed(I[70], 129, 40, "callback");
  let currentZone = async.Zone._current;
  if (async._rootZone == currentZone) {
    async._rootScheduleMicrotask(null, null, async._rootZone, callback);
    return;
  }
  let implementation = currentZone[_scheduleMicrotask];
  if (async._rootZone == implementation.zone && dart.test(async._rootZone.inSameErrorZone(currentZone))) {
    async._rootScheduleMicrotask(null, null, currentZone, currentZone.registerCallback(dart.void, callback));
    return;
  }
  async.Zone.current.scheduleMicrotask(async.Zone.current.bindCallbackGuarded(callback));
};
async._runGuarded = function _runGuarded(notificationHandler) {
  if (notificationHandler == null) return;
  try {
    notificationHandler();
  } catch (e$) {
    let e = dart.getThrown(e$);
    let s = dart.stackTrace(e$);
    if (core.Object.is(e)) {
      async.Zone.current.handleUncaughtError(e, s);
    } else
      throw e$;
  }
};
async._nullDataHandler = function _nullDataHandler(value) {
};
async._nullErrorHandler = function _nullErrorHandler(error, stackTrace) {
  if (error == null) dart.nullFailed(I[66], 570, 31, "error");
  if (stackTrace == null) dart.nullFailed(I[66], 570, 49, "stackTrace");
  async.Zone.current.handleUncaughtError(error, stackTrace);
};
async._nullDoneHandler = function _nullDoneHandler() {
};
async._runUserCode = function _runUserCode(T, userCode, onSuccess, onError) {
  if (userCode == null) dart.nullFailed(I[71], 8, 19, "userCode");
  if (onSuccess == null) dart.nullFailed(I[71], 8, 31, "onSuccess");
  if (onError == null) dart.nullFailed(I[71], 9, 5, "onError");
  try {
    onSuccess(userCode());
  } catch (e$) {
    let e = dart.getThrown(e$);
    let s = dart.stackTrace(e$);
    if (core.Object.is(e)) {
      let replacement = async.Zone.current.errorCallback(e, s);
      if (replacement == null) {
        onError(e, s);
      } else {
        let error = replacement.error;
        let stackTrace = replacement.stackTrace;
        onError(error, stackTrace);
      }
    } else
      throw e$;
  }
};
async._cancelAndError = function _cancelAndError(subscription, future, error, stackTrace) {
  if (subscription == null) dart.nullFailed(I[71], 26, 41, "subscription");
  if (future == null) dart.nullFailed(I[71], 26, 63, "future");
  if (error == null) dart.nullFailed(I[71], 27, 12, "error");
  if (stackTrace == null) dart.nullFailed(I[71], 27, 30, "stackTrace");
  let cancelFuture = subscription.cancel();
  if (cancelFuture != null && cancelFuture != async.Future._nullFuture) {
    cancelFuture.whenComplete(dart.fn(() => future[_completeError](error, stackTrace), T$.VoidTovoid()));
  } else {
    future[_completeError](error, stackTrace);
  }
};
async._cancelAndErrorWithReplacement = function _cancelAndErrorWithReplacement(subscription, future, error, stackTrace) {
  if (subscription == null) dart.nullFailed(I[71], 36, 56, "subscription");
  if (future == null) dart.nullFailed(I[71], 37, 13, "future");
  if (error == null) dart.nullFailed(I[71], 37, 28, "error");
  if (stackTrace == null) dart.nullFailed(I[71], 37, 46, "stackTrace");
  let replacement = async.Zone.current.errorCallback(error, stackTrace);
  if (replacement != null) {
    error = replacement.error;
    stackTrace = replacement.stackTrace;
  }
  async._cancelAndError(subscription, future, error, stackTrace);
};
async._cancelAndErrorClosure = function _cancelAndErrorClosure(subscription, future) {
  if (subscription == null) dart.nullFailed(I[71], 48, 24, "subscription");
  if (future == null) dart.nullFailed(I[71], 48, 46, "future");
  return dart.fn((error, stackTrace) => {
    if (error == null) dart.nullFailed(I[71], 49, 18, "error");
    if (stackTrace == null) dart.nullFailed(I[71], 49, 36, "stackTrace");
    async._cancelAndError(subscription, future, error, stackTrace);
  }, T$.ObjectAndStackTraceTovoid());
};
async._cancelAndValue = function _cancelAndValue(subscription, future, value) {
  if (subscription == null) dart.nullFailed(I[71], 56, 41, "subscription");
  if (future == null) dart.nullFailed(I[71], 56, 63, "future");
  let cancelFuture = subscription.cancel();
  if (cancelFuture != null && cancelFuture != async.Future._nullFuture) {
    cancelFuture.whenComplete(dart.fn(() => future[_complete](value), T$.VoidTovoid()));
  } else {
    future[_complete](value);
  }
};
async._addErrorWithReplacement = function _addErrorWithReplacement(sink, error, stackTrace) {
  if (sink == null) dart.nullFailed(I[71], 170, 16, "sink");
  if (error == null) dart.nullFailed(I[71], 170, 29, "error");
  if (stackTrace == null) dart.nullFailed(I[71], 170, 47, "stackTrace");
  let replacement = async.Zone.current.errorCallback(error, stackTrace);
  if (replacement != null) {
    error = replacement.error;
    stackTrace = replacement.stackTrace;
  }
  sink[_addError](error, stackTrace);
};
async._rootHandleUncaughtError = function _rootHandleUncaughtError(self, parent, zone, error, stackTrace) {
  if (zone == null) dart.nullFailed(I[74], 1406, 70, "zone");
  if (error == null) dart.nullFailed(I[74], 1407, 12, "error");
  if (stackTrace == null) dart.nullFailed(I[74], 1407, 30, "stackTrace");
  async._rootHandleError(error, stackTrace);
};
async._rootHandleError = function _rootHandleError(error, stackTrace) {
  if (error == null) dart.nullFailed(I[74], 1411, 30, "error");
  if (stackTrace == null) dart.nullFailed(I[74], 1411, 48, "stackTrace");
  async._schedulePriorityAsyncCallback(dart.fn(() => {
    async._rethrow(error, stackTrace);
  }, T$.VoidTovoid()));
};
async._rethrow = function _rethrow(error, stackTrace) {
  if (error == null) dart.nullFailed(I[62], 199, 22, "error");
  if (stackTrace == null) dart.nullFailed(I[62], 199, 40, "stackTrace");
  throw dart.createErrorWithStack(error, stackTrace);
};
async._rootRun = function _rootRun(R, self, parent, zone, f) {
  if (zone == null) dart.nullFailed(I[74], 1419, 54, "zone");
  if (f == null) dart.nullFailed(I[74], 1419, 62, "f");
  if (async.Zone._current == zone) return f();
  if (!async._Zone.is(zone)) {
    dart.throw(new core.ArgumentError.value(zone, "zone", "Can only run in platform zones"));
  }
  let old = async.Zone._enter(zone);
  try {
    return f();
  } finally {
    async.Zone._leave(old);
  }
};
async._rootRunUnary = function _rootRunUnary(R, T, self, parent, zone, f, arg) {
  if (zone == null) dart.nullFailed(I[74], 1435, 44, "zone");
  if (f == null) dart.nullFailed(I[74], 1435, 52, "f");
  if (async.Zone._current == zone) return f(arg);
  if (!async._Zone.is(zone)) {
    dart.throw(new core.ArgumentError.value(zone, "zone", "Can only run in platform zones"));
  }
  let old = async.Zone._enter(zone);
  try {
    return f(arg);
  } finally {
    async.Zone._leave(old);
  }
};
async._rootRunBinary = function _rootRunBinary(R, T1, T2, self, parent, zone, f, arg1, arg2) {
  if (zone == null) dart.nullFailed(I[74], 1450, 68, "zone");
  if (f == null) dart.nullFailed(I[74], 1451, 7, "f");
  if (async.Zone._current == zone) return f(arg1, arg2);
  if (!async._Zone.is(zone)) {
    dart.throw(new core.ArgumentError.value(zone, "zone", "Can only run in platform zones"));
  }
  let old = async.Zone._enter(zone);
  try {
    return f(arg1, arg2);
  } finally {
    async.Zone._leave(old);
  }
};
async._rootRegisterCallback = function _rootRegisterCallback(R, self, parent, zone, f) {
  if (self == null) dart.nullFailed(I[74], 1467, 10, "self");
  if (parent == null) dart.nullFailed(I[74], 1467, 29, "parent");
  if (zone == null) dart.nullFailed(I[74], 1467, 42, "zone");
  if (f == null) dart.nullFailed(I[74], 1467, 50, "f");
  return f;
};
async._rootRegisterUnaryCallback = function _rootRegisterUnaryCallback(R, T, self, parent, zone, f) {
  if (self == null) dart.nullFailed(I[74], 1472, 10, "self");
  if (parent == null) dart.nullFailed(I[74], 1472, 29, "parent");
  if (zone == null) dart.nullFailed(I[74], 1472, 42, "zone");
  if (f == null) dart.nullFailed(I[74], 1472, 50, "f");
  return f;
};
async._rootRegisterBinaryCallback = function _rootRegisterBinaryCallback(R, T1, T2, self, parent, zone, f) {
  if (self == null) dart.nullFailed(I[74], 1477, 10, "self");
  if (parent == null) dart.nullFailed(I[74], 1477, 29, "parent");
  if (zone == null) dart.nullFailed(I[74], 1477, 42, "zone");
  if (f == null) dart.nullFailed(I[74], 1477, 50, "f");
  return f;
};
async._rootErrorCallback = function _rootErrorCallback(self, parent, zone, error, stackTrace) {
  if (self == null) dart.nullFailed(I[74], 1481, 37, "self");
  if (parent == null) dart.nullFailed(I[74], 1481, 56, "parent");
  if (zone == null) dart.nullFailed(I[74], 1481, 69, "zone");
  if (error == null) dart.nullFailed(I[74], 1482, 16, "error");
  return null;
};
async._rootScheduleMicrotask = function _rootScheduleMicrotask(self, parent, zone, f) {
  if (zone == null) dart.nullFailed(I[74], 1486, 44, "zone");
  if (f == null) dart.nullFailed(I[74], 1486, 55, "f");
  if (async._rootZone != zone) {
    let hasErrorHandler = !dart.test(async._rootZone.inSameErrorZone(zone));
    if (hasErrorHandler) {
      f = zone.bindCallbackGuarded(f);
    } else {
      f = zone.bindCallback(dart.void, f);
    }
  }
  async._scheduleAsyncCallback(f);
};
async._rootCreateTimer = function _rootCreateTimer(self, parent, zone, duration, callback) {
  if (self == null) dart.nullFailed(I[74], 1498, 29, "self");
  if (parent == null) dart.nullFailed(I[74], 1498, 48, "parent");
  if (zone == null) dart.nullFailed(I[74], 1498, 61, "zone");
  if (duration == null) dart.nullFailed(I[74], 1499, 14, "duration");
  if (callback == null) dart.nullFailed(I[74], 1499, 40, "callback");
  if (async._rootZone != zone) {
    callback = zone.bindCallback(dart.void, callback);
  }
  return async.Timer._createTimer(duration, callback);
};
async._rootCreatePeriodicTimer = function _rootCreatePeriodicTimer(self, parent, zone, duration, callback) {
  if (self == null) dart.nullFailed(I[74], 1506, 37, "self");
  if (parent == null) dart.nullFailed(I[74], 1506, 56, "parent");
  if (zone == null) dart.nullFailed(I[74], 1506, 69, "zone");
  if (duration == null) dart.nullFailed(I[74], 1507, 14, "duration");
  if (callback == null) dart.nullFailed(I[74], 1507, 29, "callback");
  if (async._rootZone != zone) {
    callback = zone.bindUnaryCallback(dart.void, async.Timer, callback);
  }
  return async.Timer._createPeriodicTimer(duration, callback);
};
async._rootPrint = function _rootPrint(self, parent, zone, line) {
  if (self == null) dart.nullFailed(I[74], 1514, 22, "self");
  if (parent == null) dart.nullFailed(I[74], 1514, 41, "parent");
  if (zone == null) dart.nullFailed(I[74], 1514, 54, "zone");
  if (line == null) dart.nullFailed(I[74], 1514, 67, "line");
  _internal.printToConsole(line);
};
async._printToZone = function _printToZone(line) {
  if (line == null) dart.nullFailed(I[74], 1518, 26, "line");
  async.Zone.current.print(line);
};
async._rootFork = function _rootFork(self, parent, zone, specification, zoneValues) {
  if (zone == null) dart.nullFailed(I[74], 1522, 55, "zone");
  if (!async._Zone.is(zone)) {
    dart.throw(new core.ArgumentError.value(zone, "zone", "Can only fork a platform zone"));
  }
  _internal.printToZone = C[74] || CT.C74;
  if (specification == null) {
    specification = C[75] || CT.C75;
  } else if (!async._ZoneSpecification.is(specification)) {
    specification = async.ZoneSpecification.from(specification);
  }
  let valueMap = null;
  if (zoneValues == null) {
    valueMap = zone[_map$3];
  } else {
    valueMap = T$.HashMapOfObjectN$ObjectN().from(zoneValues);
  }
  if (specification == null) dart.throw("unreachable");
  return new async._CustomZone.new(zone, specification, valueMap);
};
async.runZoned = function runZoned(R, body, opts) {
  if (body == null) dart.nullFailed(I[74], 1766, 17, "body");
  let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null;
  let zoneSpecification = opts && 'zoneSpecification' in opts ? opts.zoneSpecification : null;
  let onError = opts && 'onError' in opts ? opts.onError : null;
  _internal.checkNotNullable(dart.fnType(R, []), body, "body");
  if (onError != null) {
    if (!T$.ObjectAndStackTraceTovoid().is(onError)) {
      if (T$.ObjectTovoid().is(onError)) {
        let originalOnError = onError;
        onError = dart.fn((error, stack) => {
          if (error == null) dart.nullFailed(I[74], 1776, 27, "error");
          if (stack == null) dart.nullFailed(I[74], 1776, 45, "stack");
          return originalOnError(error);
        }, T$.ObjectAndStackTraceTovoid());
      } else {
        dart.throw(new core.ArgumentError.value(onError, "onError", "Must be Function(Object) or Function(Object, StackTrace)"));
      }
    }
    return R.as(async.runZonedGuarded(R, body, onError, {zoneSpecification: zoneSpecification, zoneValues: zoneValues}));
  }
  return async._runZoned(R, body, zoneValues, zoneSpecification);
};
async.runZonedGuarded = function runZonedGuarded(R, body, onError, opts) {
  if (body == null) dart.nullFailed(I[74], 1826, 25, "body");
  if (onError == null) dart.nullFailed(I[74], 1826, 38, "onError");
  let zoneValues = opts && 'zoneValues' in opts ? opts.zoneValues : null;
  let zoneSpecification = opts && 'zoneSpecification' in opts ? opts.zoneSpecification : null;
  _internal.checkNotNullable(dart.fnType(R, []), body, "body");
  _internal.checkNotNullable(T$.ObjectAndStackTraceTovoid(), onError, "onError");
  let parentZone = async.Zone._current;
  let errorHandler = dart.fn((self, parent, zone, error, stackTrace) => {
    if (self == null) dart.nullFailed(I[74], 1831, 51, "self");
    if (parent == null) dart.nullFailed(I[74], 1831, 70, "parent");
    if (zone == null) dart.nullFailed(I[74], 1832, 12, "zone");
    if (error == null) dart.nullFailed(I[74], 1832, 25, "error");
    if (stackTrace == null) dart.nullFailed(I[74], 1832, 43, "stackTrace");
    try {
      parentZone.runBinary(dart.void, core.Object, core.StackTrace, onError, error, stackTrace);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        if (core.identical(e, error)) {
          parent.handleUncaughtError(zone, error, stackTrace);
        } else {
          parent.handleUncaughtError(zone, e, s);
        }
      } else
        throw e$;
    }
  }, T$.ZoneAndZoneDelegateAndZone__Tovoid$2());
  if (zoneSpecification == null) {
    zoneSpecification = new async._ZoneSpecification.new({handleUncaughtError: errorHandler});
  } else {
    zoneSpecification = async.ZoneSpecification.from(zoneSpecification, {handleUncaughtError: errorHandler});
  }
  try {
    return async._runZoned(R, body, zoneValues, zoneSpecification);
  } catch (e) {
    let error = dart.getThrown(e);
    let stackTrace = dart.stackTrace(e);
    if (core.Object.is(error)) {
      onError(error, stackTrace);
    } else
      throw e;
  }
  return null;
};
async._runZoned = function _runZoned(R, body, zoneValues, specification) {
  if (body == null) dart.nullFailed(I[74], 1859, 18, "body");
  return async.Zone.current.fork({specification: specification, zoneValues: zoneValues}).run(R, body);
};
dart.defineLazy(async, {
  /*async._nextCallback*/get _nextCallback() {
    return null;
  },
  set _nextCallback(_) {},
  /*async._lastCallback*/get _lastCallback() {
    return null;
  },
  set _lastCallback(_) {},
  /*async._lastPriorityCallback*/get _lastPriorityCallback() {
    return null;
  },
  set _lastPriorityCallback(_) {},
  /*async._isInCallbackLoop*/get _isInCallbackLoop() {
    return false;
  },
  set _isInCallbackLoop(_) {},
  /*async._rootZone*/get _rootZone() {
    return C[45] || CT.C45;
  }
}, false);
var _map$4 = dart.privateName(collection, "_HashSet._map");
var _modifications$2 = dart.privateName(collection, "_HashSet._modifications");
var _keyMap$ = dart.privateName(collection, "_keyMap");
var _map$5 = dart.privateName(collection, "_map");
var _modifications$3 = dart.privateName(collection, "_modifications");
var _newSet = dart.privateName(collection, "_newSet");
var _newSimilarSet = dart.privateName(collection, "_newSimilarSet");
const _is_SetMixin_default = Symbol('_is_SetMixin_default');
collection.SetMixin$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$FollowedByIterableOfE = () => (__t$FollowedByIterableOfE = dart.constFn(_internal.FollowedByIterable$(E)))();
  var __t$SetOfE = () => (__t$SetOfE = dart.constFn(core.Set$(E)))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$WhereIterableOfE = () => (__t$WhereIterableOfE = dart.constFn(_internal.WhereIterable$(E)))();
  var __t$EAndEToE = () => (__t$EAndEToE = dart.constFn(dart.fnType(E, [E, E])))();
  var __t$TakeIterableOfE = () => (__t$TakeIterableOfE = dart.constFn(_internal.TakeIterable$(E)))();
  var __t$TakeWhileIterableOfE = () => (__t$TakeWhileIterableOfE = dart.constFn(_internal.TakeWhileIterable$(E)))();
  var __t$SkipIterableOfE = () => (__t$SkipIterableOfE = dart.constFn(_internal.SkipIterable$(E)))();
  var __t$SkipWhileIterableOfE = () => (__t$SkipWhileIterableOfE = dart.constFn(_internal.SkipWhileIterable$(E)))();
  var __t$VoidToE = () => (__t$VoidToE = dart.constFn(dart.fnType(E, [])))();
  var __t$VoidToNE = () => (__t$VoidToNE = dart.constFn(dart.nullable(__t$VoidToE())))();
  var __t$ETodynamic = () => (__t$ETodynamic = dart.constFn(dart.fnType(dart.dynamic, [E])))();
  class SetMixin extends core.Object {
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
    get isEmpty() {
      return this.length === 0;
    }
    get isNotEmpty() {
      return this.length !== 0;
    }
    cast(R) {
      return core.Set.castFrom(E, R, this);
    }
    followedBy(other) {
      __t$IterableOfE().as(other);
      if (other == null) dart.nullFailed(I[76], 47, 38, "other");
      return __t$FollowedByIterableOfE().firstEfficient(this, other);
    }
    whereType(T) {
      return new (_internal.WhereTypeIterable$(T)).new(this);
    }
    clear() {
      this.removeAll(this.toList());
    }
    addAll(elements) {
      __t$IterableOfE().as(elements);
      if (elements == null) dart.nullFailed(I[76], 56, 27, "elements");
      for (let element of elements)
        this.add(element);
    }
    removeAll(elements) {
      if (elements == null) dart.nullFailed(I[76], 60, 36, "elements");
      for (let element of elements)
        this.remove(element);
    }
    retainAll(elements) {
      if (elements == null) dart.nullFailed(I[76], 64, 36, "elements");
      let toRemove = this.toSet();
      for (let o of elements) {
        toRemove.remove(o);
      }
      this.removeAll(toRemove);
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[76], 74, 25, "test");
      let toRemove = T$.JSArrayOfObjectN().of([]);
      for (let element of this) {
        if (dart.test(test(element))) toRemove[$add](element);
      }
      this.removeAll(toRemove);
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[76], 82, 25, "test");
      let toRemove = T$.JSArrayOfObjectN().of([]);
      for (let element of this) {
        if (!dart.test(test(element))) toRemove[$add](element);
      }
      this.removeAll(toRemove);
    }
    containsAll(other) {
      if (other == null) dart.nullFailed(I[76], 90, 38, "other");
      for (let o of other) {
        if (!dart.test(this.contains(o))) return false;
      }
      return true;
    }
    union(other) {
      let t155;
      __t$SetOfE().as(other);
      if (other == null) dart.nullFailed(I[76], 97, 23, "other");
      t155 = this.toSet();
      return (() => {
        t155.addAll(other);
        return t155;
      })();
    }
    intersection(other) {
      if (other == null) dart.nullFailed(I[76], 101, 36, "other");
      let result = this.toSet();
      for (let element of this) {
        if (!dart.test(other.contains(element))) result.remove(element);
      }
      return result;
    }
    difference(other) {
      if (other == null) dart.nullFailed(I[76], 109, 34, "other");
      let result = this.toSet();
      for (let element of this) {
        if (dart.test(other.contains(element))) result.remove(element);
      }
      return result;
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[76], 117, 24, "growable");
      return __t$ListOfE().of(this, {growable: growable});
    }
    map(T, f) {
      if (f == null) dart.nullFailed(I[76], 120, 24, "f");
      return new (_internal.EfficientLengthMappedIterable$(E, T)).new(this, f);
    }
    get single() {
      if (dart.notNull(this.length) > 1) dart.throw(_internal.IterableElementError.tooMany());
      let it = this.iterator;
      if (!dart.test(it.moveNext())) dart.throw(_internal.IterableElementError.noElement());
      let result = it.current;
      return result;
    }
    toString() {
      return collection.IterableBase.iterableToFullString(this, "{", "}");
    }
    where(f) {
      if (f == null) dart.nullFailed(I[76], 136, 26, "f");
      return new (__t$WhereIterableOfE()).new(this, f);
    }
    expand(T, f) {
      if (f == null) dart.nullFailed(I[76], 138, 37, "f");
      return new (_internal.ExpandIterable$(E, T)).new(this, f);
    }
    forEach(f) {
      if (f == null) dart.nullFailed(I[76], 141, 21, "f");
      for (let element of this)
        f(element);
    }
    reduce(combine) {
      __t$EAndEToE().as(combine);
      if (combine == null) dart.nullFailed(I[76], 145, 14, "combine");
      let iterator = this.iterator;
      if (!dart.test(iterator.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      let value = iterator.current;
      while (dart.test(iterator.moveNext())) {
        value = combine(value, iterator.current);
      }
      return value;
    }
    fold(T, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[76], 157, 31, "combine");
      let value = initialValue;
      for (let element of this)
        value = combine(value, element);
      return value;
    }
    every(f) {
      if (f == null) dart.nullFailed(I[76], 163, 19, "f");
      for (let element of this) {
        if (!dart.test(f(element))) return false;
      }
      return true;
    }
    join(separator = "") {
      if (separator == null) dart.nullFailed(I[76], 170, 23, "separator");
      let iterator = this.iterator;
      if (!dart.test(iterator.moveNext())) return "";
      let buffer = new core.StringBuffer.new();
      if (separator == null || separator === "") {
        do {
          buffer.write(iterator.current);
        } while (dart.test(iterator.moveNext()));
      } else {
        buffer.write(iterator.current);
        while (dart.test(iterator.moveNext())) {
          buffer.write(separator);
          buffer.write(iterator.current);
        }
      }
      return buffer.toString();
    }
    any(test) {
      if (test == null) dart.nullFailed(I[76], 188, 17, "test");
      for (let element of this) {
        if (dart.test(test(element))) return true;
      }
      return false;
    }
    take(n) {
      if (n == null) dart.nullFailed(I[76], 195, 24, "n");
      return __t$TakeIterableOfE().new(this, n);
    }
    takeWhile(test) {
      if (test == null) dart.nullFailed(I[76], 199, 30, "test");
      return new (__t$TakeWhileIterableOfE()).new(this, test);
    }
    skip(n) {
      if (n == null) dart.nullFailed(I[76], 203, 24, "n");
      return __t$SkipIterableOfE().new(this, n);
    }
    skipWhile(test) {
      if (test == null) dart.nullFailed(I[76], 207, 30, "test");
      return new (__t$SkipWhileIterableOfE()).new(this, test);
    }
    get first() {
      let it = this.iterator;
      if (!dart.test(it.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      return it.current;
    }
    get last() {
      let it = this.iterator;
      if (!dart.test(it.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      let result = null;
      do {
        result = it.current;
      } while (dart.test(it.moveNext()));
      return result;
    }
    firstWhere(test, opts) {
      if (test == null) dart.nullFailed(I[76], 231, 21, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      for (let element of this) {
        if (dart.test(test(element))) return element;
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[76], 239, 20, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToE());
      function result$35set(t158) {
        result$35isSet = true;
        return result = t158;
      }
      dart.fn(result$35set, __t$ETodynamic());
      let foundMatching = false;
      for (let element of this) {
        if (dart.test(test(element))) {
          result$35set(element);
          foundMatching = true;
        }
      }
      if (foundMatching) return result$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    singleWhere(test, opts) {
      if (test == null) dart.nullFailed(I[76], 253, 22, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToE());
      function result$35set(t163) {
        result$35isSet = true;
        return result = t163;
      }
      dart.fn(result$35set, __t$ETodynamic());
      let foundMatching = false;
      for (let element of this) {
        if (dart.test(test(element))) {
          if (foundMatching) {
            dart.throw(_internal.IterableElementError.tooMany());
          }
          result$35set(element);
          foundMatching = true;
        }
      }
      if (foundMatching) return result$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[76], 270, 19, "index");
      _internal.checkNotNullable(core.int, index, "index");
      core.RangeError.checkNotNegative(index, "index");
      let elementIndex = 0;
      for (let element of this) {
        if (index === elementIndex) return element;
        elementIndex = elementIndex + 1;
      }
      dart.throw(new core.IndexError.new(index, this, "index", null, elementIndex));
    }
  }
  (SetMixin.new = function() {
    ;
  }).prototype = SetMixin.prototype;
  dart.addTypeTests(SetMixin);
  SetMixin.prototype[_is_SetMixin_default] = true;
  dart.addTypeCaches(SetMixin);
  SetMixin[dart.implements] = () => [core.Set$(E)];
  dart.setMethodSignature(SetMixin, () => ({
    __proto__: dart.getMethods(SetMixin.__proto__),
    cast: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    followedBy: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    [$followedBy]: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    whereType: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    [$whereType]: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    removeAll: dart.fnType(dart.void, [core.Iterable$(dart.nullable(core.Object))]),
    retainAll: dart.fnType(dart.void, [core.Iterable$(dart.nullable(core.Object))]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    containsAll: dart.fnType(core.bool, [core.Iterable$(dart.nullable(core.Object))]),
    union: dart.fnType(core.Set$(E), [dart.nullable(core.Object)]),
    intersection: dart.fnType(core.Set$(E), [core.Set$(dart.nullable(core.Object))]),
    difference: dart.fnType(core.Set$(E), [core.Set$(dart.nullable(core.Object))]),
    toList: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    [$toList]: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    where: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$where]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    expand: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    [$expand]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    reduce: dart.fnType(E, [dart.nullable(core.Object)]),
    [$reduce]: dart.fnType(E, [dart.nullable(core.Object)]),
    fold: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    every: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$every]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    join: dart.fnType(core.String, [], [core.String]),
    [$join]: dart.fnType(core.String, [], [core.String]),
    any: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$any]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    take: dart.fnType(core.Iterable$(E), [core.int]),
    [$take]: dart.fnType(core.Iterable$(E), [core.int]),
    takeWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$takeWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    skip: dart.fnType(core.Iterable$(E), [core.int]),
    [$skip]: dart.fnType(core.Iterable$(E), [core.int]),
    skipWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$skipWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    firstWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$firstWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    lastWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$lastWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    singleWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$singleWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    elementAt: dart.fnType(E, [core.int]),
    [$elementAt]: dart.fnType(E, [core.int])
  }));
  dart.setGetterSignature(SetMixin, () => ({
    __proto__: dart.getGetters(SetMixin.__proto__),
    isEmpty: core.bool,
    [$isEmpty]: core.bool,
    isNotEmpty: core.bool,
    [$isNotEmpty]: core.bool,
    single: E,
    [$single]: E,
    first: E,
    [$first]: E,
    last: E,
    [$last]: E
  }));
  dart.setLibraryUri(SetMixin, I[25]);
  dart.defineExtensionMethods(SetMixin, [
    'cast',
    'followedBy',
    'whereType',
    'toList',
    'map',
    'toString',
    'where',
    'expand',
    'forEach',
    'reduce',
    'fold',
    'every',
    'join',
    'any',
    'take',
    'takeWhile',
    'skip',
    'skipWhile',
    'firstWhere',
    'lastWhere',
    'singleWhere',
    'elementAt'
  ]);
  dart.defineExtensionAccessors(SetMixin, [
    'isEmpty',
    'isNotEmpty',
    'single',
    'first',
    'last'
  ]);
  return SetMixin;
});
collection.SetMixin = collection.SetMixin$();
dart.addTypeTests(collection.SetMixin, _is_SetMixin_default);
const _is__SetBase_default = Symbol('_is__SetBase_default');
collection._SetBase$ = dart.generic(E => {
  const Object_SetMixin$36 = class Object_SetMixin extends core.Object {};
  (Object_SetMixin$36.new = function() {
  }).prototype = Object_SetMixin$36.prototype;
  dart.applyMixin(Object_SetMixin$36, collection.SetMixin$(E));
  class _SetBase extends Object_SetMixin$36 {
    cast(R) {
      return core.Set.castFrom(E, R, this, {newSet: dart.bind(this, _newSimilarSet)});
    }
    difference(other) {
      if (other == null) dart.nullFailed(I[76], 323, 34, "other");
      let result = this[_newSet]();
      for (let element of this) {
        if (!dart.test(other.contains(element))) result.add(element);
      }
      return result;
    }
    intersection(other) {
      if (other == null) dart.nullFailed(I[76], 331, 36, "other");
      let result = this[_newSet]();
      for (let element of this) {
        if (dart.test(other.contains(element))) result.add(element);
      }
      return result;
    }
    toSet() {
      let t155;
      t155 = this[_newSet]();
      return (() => {
        t155.addAll(this);
        return t155;
      })();
    }
  }
  (_SetBase.new = function() {
    ;
  }).prototype = _SetBase.prototype;
  dart.addTypeTests(_SetBase);
  _SetBase.prototype[_is__SetBase_default] = true;
  dart.addTypeCaches(_SetBase);
  dart.setMethodSignature(_SetBase, () => ({
    __proto__: dart.getMethods(_SetBase.__proto__),
    cast: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    toSet: dart.fnType(core.Set$(E), []),
    [$toSet]: dart.fnType(core.Set$(E), [])
  }));
  dart.setLibraryUri(_SetBase, I[25]);
  dart.defineExtensionMethods(_SetBase, ['cast', 'toSet']);
  return _SetBase;
});
collection._SetBase = collection._SetBase$();
dart.addTypeTests(collection._SetBase, _is__SetBase_default);
const _is__InternalSet_default = Symbol('_is__InternalSet_default');
collection._InternalSet$ = dart.generic(E => {
  var __t$DartIteratorOfE = () => (__t$DartIteratorOfE = dart.constFn(_js_helper.DartIterator$(E)))();
  class _InternalSet extends collection._SetBase$(E) {
    get length() {
      return this[_map$5].size;
    }
    get isEmpty() {
      return this[_map$5].size == 0;
    }
    get isNotEmpty() {
      return this[_map$5].size != 0;
    }
    get iterator() {
      return new (__t$DartIteratorOfE()).new(this[Symbol.iterator]());
    }
    [Symbol.iterator]() {
      let self = this;
      let iterator = self[_map$5].values();
      let modifications = self[_modifications$3];
      return {
        next() {
          if (modifications != self[_modifications$3]) {
            throw new core.ConcurrentModificationError.new(self);
          }
          return iterator.next();
        }
      };
    }
  }
  (_InternalSet.new = function() {
    _InternalSet.__proto__.new.call(this);
    ;
  }).prototype = _InternalSet.prototype;
  dart.addTypeTests(_InternalSet);
  _InternalSet.prototype[_is__InternalSet_default] = true;
  dart.addTypeCaches(_InternalSet);
  dart.setMethodSignature(_InternalSet, () => ({
    __proto__: dart.getMethods(_InternalSet.__proto__),
    [Symbol.iterator]: dart.fnType(dart.dynamic, [])
  }));
  dart.setGetterSignature(_InternalSet, () => ({
    __proto__: dart.getGetters(_InternalSet.__proto__),
    length: core.int,
    [$length]: core.int,
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(_InternalSet, I[25]);
  dart.defineExtensionAccessors(_InternalSet, ['length', 'isEmpty', 'isNotEmpty', 'iterator']);
  return _InternalSet;
});
collection._InternalSet = collection._InternalSet$();
dart.addTypeTests(collection._InternalSet, _is__InternalSet_default);
const _is__HashSet_default = Symbol('_is__HashSet_default');
collection._HashSet$ = dart.generic(E => {
  var __t$_HashSetOfE = () => (__t$_HashSetOfE = dart.constFn(collection._HashSet$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  class _HashSet extends collection._InternalSet$(E) {
    get [_map$5]() {
      return this[_map$4];
    }
    set [_map$5](value) {
      super[_map$5] = value;
    }
    get [_modifications$3]() {
      return this[_modifications$2];
    }
    set [_modifications$3](value) {
      this[_modifications$2] = value;
    }
    [_newSet]() {
      return new (__t$_HashSetOfE()).new();
    }
    [_newSimilarSet](R) {
      return new (collection._HashSet$(R)).new();
    }
    contains(key) {
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        let k = key;
        let buckets = this[_keyMap$].get(dart.hashCode(k) & 0x3ffffff);
        if (buckets != null) {
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            k = buckets[i];
            if (dart.equals(k, key)) return true;
          }
        }
        return false;
      }
      return this[_map$5].has(key);
    }
    lookup(key) {
      if (key == null) return null;
      if (key[$_equals] !== dart.identityEquals) {
        let k = key;
        let buckets = this[_keyMap$].get(dart.hashCode(k) & 0x3ffffff);
        if (buckets != null) {
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            k = buckets[i];
            if (dart.equals(k, key)) return k;
          }
        }
        return null;
      }
      return this[_map$5].has(key) ? key : null;
    }
    add(key) {
      E.as(key);
      let map = this[_map$5];
      if (key == null) {
        if (dart.test(map.has(null))) return false;
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        let keyMap = this[_keyMap$];
        let k = key;
        let hash = dart.hashCode(k) & 0x3ffffff;
        let buckets = keyMap.get(hash);
        if (buckets == null) {
          keyMap.set(hash, [key]);
        } else {
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            k = buckets[i];
            if (dart.equals(k, key)) return false;
          }
          buckets.push(key);
        }
      } else if (dart.test(map.has(key))) {
        return false;
      }
      map.add(key);
      this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      return true;
    }
    addAll(objects) {
      __t$IterableOfE().as(objects);
      if (objects == null) dart.nullFailed(I[75], 247, 27, "objects");
      let map = this[_map$5];
      let length = map.size;
      for (let key of objects) {
        if (key == null) {
          key = null;
        } else if (key[$_equals] !== dart.identityEquals) {
          key = _js_helper.putLinkedMapKey(key, this[_keyMap$]);
        }
        map.add(key);
      }
      if (length !== map.size) {
        this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      }
    }
    remove(key) {
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        let k = key;
        let hash = dart.hashCode(k) & 0x3ffffff;
        let buckets = this[_keyMap$].get(hash);
        if (buckets == null) return false;
        for (let i = 0, n = buckets.length;;) {
          k = buckets[i];
          if (dart.equals(k, key)) {
            key = k;
            if (n === 1) {
              this[_keyMap$].delete(hash);
            } else {
              buckets.splice(i, 1);
            }
            break;
          }
          if ((i = i + 1) >= n) return false;
        }
      }
      let map = this[_map$5];
      if (map.delete(key)) {
        this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
        return true;
      }
      return false;
    }
    clear() {
      let map = this[_map$5];
      if (map.size > 0) {
        map.clear();
        this[_keyMap$].clear();
        this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      }
    }
  }
  (_HashSet.new = function() {
    this[_map$4] = new Set();
    this[_keyMap$] = new Map();
    this[_modifications$2] = 0;
    _HashSet.__proto__.new.call(this);
    ;
  }).prototype = _HashSet.prototype;
  dart.addTypeTests(_HashSet);
  _HashSet.prototype[_is__HashSet_default] = true;
  dart.addTypeCaches(_HashSet);
  _HashSet[dart.implements] = () => [collection.HashSet$(E), collection.LinkedHashSet$(E)];
  dart.setMethodSignature(_HashSet, () => ({
    __proto__: dart.getMethods(_HashSet.__proto__),
    [_newSet]: dart.fnType(core.Set$(E), []),
    [_newSimilarSet]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    lookup: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)]),
    add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_HashSet, I[25]);
  dart.setFieldSignature(_HashSet, () => ({
    __proto__: dart.getFields(_HashSet.__proto__),
    [_map$5]: dart.finalFieldType(dart.dynamic),
    [_keyMap$]: dart.finalFieldType(dart.nullable(core.Object)),
    [_modifications$3]: dart.fieldType(core.int)
  }));
  dart.defineExtensionMethods(_HashSet, ['contains']);
  return _HashSet;
});
collection._HashSet = collection._HashSet$();
dart.addTypeTests(collection._HashSet, _is__HashSet_default);
const _is__ImmutableSet_default = Symbol('_is__ImmutableSet_default');
collection._ImmutableSet$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  class _ImmutableSet extends collection._HashSet$(E) {
    add(value) {
      E.as(value);
      return dart.throw(collection._ImmutableSet._unsupported());
    }
    addAll(elements) {
      __t$IterableOfE().as(elements);
      if (elements == null) dart.nullFailed(I[75], 325, 27, "elements");
      return dart.throw(collection._ImmutableSet._unsupported());
    }
    clear() {
      return dart.throw(collection._ImmutableSet._unsupported());
    }
    remove(value) {
      return dart.throw(collection._ImmutableSet._unsupported());
    }
    static _unsupported() {
      return new core.UnsupportedError.new("Cannot modify unmodifiable set");
    }
  }
  (_ImmutableSet.from = function(entries) {
    if (entries == null) dart.nullFailed(I[75], 310, 33, "entries");
    _ImmutableSet.__proto__.new.call(this);
    let map = this[_map$5];
    for (let key of entries) {
      if (key == null) {
        key = null;
      } else if (key[$_equals] !== dart.identityEquals) {
        key = _js_helper.putLinkedMapKey(key, this[_keyMap$]);
      }
      map.add(key);
    }
  }).prototype = _ImmutableSet.prototype;
  dart.addTypeTests(_ImmutableSet);
  _ImmutableSet.prototype[_is__ImmutableSet_default] = true;
  dart.addTypeCaches(_ImmutableSet);
  dart.setLibraryUri(_ImmutableSet, I[25]);
  return _ImmutableSet;
});
collection._ImmutableSet = collection._ImmutableSet$();
dart.addTypeTests(collection._ImmutableSet, _is__ImmutableSet_default);
var _map$6 = dart.privateName(collection, "_IdentityHashSet._map");
var _modifications$4 = dart.privateName(collection, "_IdentityHashSet._modifications");
const _is__IdentityHashSet_default = Symbol('_is__IdentityHashSet_default');
collection._IdentityHashSet$ = dart.generic(E => {
  var __t$_IdentityHashSetOfE = () => (__t$_IdentityHashSetOfE = dart.constFn(collection._IdentityHashSet$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  class _IdentityHashSet extends collection._InternalSet$(E) {
    get [_map$5]() {
      return this[_map$6];
    }
    set [_map$5](value) {
      super[_map$5] = value;
    }
    get [_modifications$3]() {
      return this[_modifications$4];
    }
    set [_modifications$3](value) {
      this[_modifications$4] = value;
    }
    [_newSet]() {
      return new (__t$_IdentityHashSetOfE()).new();
    }
    [_newSimilarSet](R) {
      return new (collection._IdentityHashSet$(R)).new();
    }
    contains(element) {
      return this[_map$5].has(element);
    }
    lookup(element) {
      return E.is(element) && this[_map$5].has(element) ? element : null;
    }
    add(element) {
      E.as(element);
      let map = this[_map$5];
      if (map.has(element)) return false;
      map.add(element);
      this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      return true;
    }
    addAll(objects) {
      __t$IterableOfE().as(objects);
      if (objects == null) dart.nullFailed(I[75], 366, 27, "objects");
      let map = this[_map$5];
      let length = map.size;
      for (let key of objects) {
        map.add(key);
      }
      if (length !== map.size) {
        this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      }
    }
    remove(element) {
      if (this[_map$5].delete(element)) {
        this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
        return true;
      }
      return false;
    }
    clear() {
      let map = this[_map$5];
      if (map.size > 0) {
        map.clear();
        this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      }
    }
  }
  (_IdentityHashSet.new = function() {
    this[_map$6] = new Set();
    this[_modifications$4] = 0;
    _IdentityHashSet.__proto__.new.call(this);
    ;
  }).prototype = _IdentityHashSet.prototype;
  dart.addTypeTests(_IdentityHashSet);
  _IdentityHashSet.prototype[_is__IdentityHashSet_default] = true;
  dart.addTypeCaches(_IdentityHashSet);
  _IdentityHashSet[dart.implements] = () => [collection.HashSet$(E), collection.LinkedHashSet$(E)];
  dart.setMethodSignature(_IdentityHashSet, () => ({
    __proto__: dart.getMethods(_IdentityHashSet.__proto__),
    [_newSet]: dart.fnType(core.Set$(E), []),
    [_newSimilarSet]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    lookup: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)]),
    add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_IdentityHashSet, I[25]);
  dart.setFieldSignature(_IdentityHashSet, () => ({
    __proto__: dart.getFields(_IdentityHashSet.__proto__),
    [_map$5]: dart.finalFieldType(dart.dynamic),
    [_modifications$3]: dart.fieldType(core.int)
  }));
  dart.defineExtensionMethods(_IdentityHashSet, ['contains']);
  return _IdentityHashSet;
});
collection._IdentityHashSet = collection._IdentityHashSet$();
dart.addTypeTests(collection._IdentityHashSet, _is__IdentityHashSet_default);
var _validKey$0 = dart.privateName(collection, "_validKey");
var _equals$0 = dart.privateName(collection, "_equals");
var _hashCode$0 = dart.privateName(collection, "_hashCode");
var _modifications$5 = dart.privateName(collection, "_CustomHashSet._modifications");
var _map$7 = dart.privateName(collection, "_CustomHashSet._map");
const _is__CustomHashSet_default = Symbol('_is__CustomHashSet_default');
collection._CustomHashSet$ = dart.generic(E => {
  var __t$_CustomHashSetOfE = () => (__t$_CustomHashSetOfE = dart.constFn(collection._CustomHashSet$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  class _CustomHashSet extends collection._InternalSet$(E) {
    get [_modifications$3]() {
      return this[_modifications$5];
    }
    set [_modifications$3](value) {
      this[_modifications$5] = value;
    }
    get [_map$5]() {
      return this[_map$7];
    }
    set [_map$5](value) {
      super[_map$5] = value;
    }
    [_newSet]() {
      return new (__t$_CustomHashSetOfE()).new(this[_equals$0], this[_hashCode$0]);
    }
    [_newSimilarSet](R) {
      return new (collection._HashSet$(R)).new();
    }
    contains(key) {
      let t165;
      if (E.is(key)) {
        let buckets = this[_keyMap$].get((t165 = key, this[_hashCode$0](t165)) & 0x3ffffff);
        if (buckets != null) {
          let equals = this[_equals$0];
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            let k = buckets[i];
            if (dart.test(equals(k, key))) return true;
          }
        }
      }
      return false;
    }
    lookup(key) {
      let t165;
      if (E.is(key)) {
        let buckets = this[_keyMap$].get((t165 = key, this[_hashCode$0](t165)) & 0x3ffffff);
        if (buckets != null) {
          let equals = this[_equals$0];
          for (let i = 0, n = buckets.length; i < n; i = i + 1) {
            let k = buckets[i];
            if (dart.test(equals(k, key))) return k;
          }
        }
      }
      return null;
    }
    add(key) {
      let t165;
      E.as(key);
      let keyMap = this[_keyMap$];
      let hash = (t165 = key, this[_hashCode$0](t165)) & 0x3ffffff;
      let buckets = keyMap.get(hash);
      if (buckets == null) {
        keyMap.set(hash, [key]);
      } else {
        let equals = this[_equals$0];
        for (let i = 0, n = buckets.length; i < n; i = i + 1) {
          let k = buckets[i];
          if (dart.test(equals(k, key))) return false;
        }
        buckets.push(key);
      }
      this[_map$5].add(key);
      this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      return true;
    }
    addAll(objects) {
      __t$IterableOfE().as(objects);
      if (objects == null) dart.nullFailed(I[75], 500, 27, "objects");
      for (let element of objects)
        this.add(element);
    }
    remove(key) {
      let t165;
      if (E.is(key)) {
        let hash = (t165 = key, this[_hashCode$0](t165)) & 0x3ffffff;
        let keyMap = this[_keyMap$];
        let buckets = keyMap.get(hash);
        if (buckets == null) return false;
        let equals = this[_equals$0];
        for (let i = 0, n = buckets.length; i < n; i = i + 1) {
          let k = buckets[i];
          if (dart.test(equals(k, key))) {
            if (n === 1) {
              keyMap.delete(hash);
            } else {
              buckets.splice(i, 1);
            }
            this[_map$5].delete(k);
            this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
            return true;
          }
        }
      }
      return false;
    }
    clear() {
      let map = this[_map$5];
      if (map.size > 0) {
        map.clear();
        this[_keyMap$].clear();
        this[_modifications$3] = this[_modifications$3] + 1 & 67108863;
      }
    }
  }
  (_CustomHashSet.new = function(_equals, _hashCode) {
    if (_equals == null) dart.nullFailed(I[75], 448, 23, "_equals");
    if (_hashCode == null) dart.nullFailed(I[75], 448, 37, "_hashCode");
    this[_modifications$5] = 0;
    this[_map$7] = new Set();
    this[_keyMap$] = new Map();
    this[_equals$0] = _equals;
    this[_hashCode$0] = _hashCode;
    _CustomHashSet.__proto__.new.call(this);
    ;
  }).prototype = _CustomHashSet.prototype;
  dart.addTypeTests(_CustomHashSet);
  _CustomHashSet.prototype[_is__CustomHashSet_default] = true;
  dart.addTypeCaches(_CustomHashSet);
  _CustomHashSet[dart.implements] = () => [collection.HashSet$(E), collection.LinkedHashSet$(E)];
  dart.setMethodSignature(_CustomHashSet, () => ({
    __proto__: dart.getMethods(_CustomHashSet.__proto__),
    [_newSet]: dart.fnType(core.Set$(E), []),
    [_newSimilarSet]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    lookup: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)]),
    add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_CustomHashSet, I[25]);
  dart.setFieldSignature(_CustomHashSet, () => ({
    __proto__: dart.getFields(_CustomHashSet.__proto__),
    [_equals$0]: dart.fieldType(dart.fnType(core.bool, [E, E])),
    [_hashCode$0]: dart.fieldType(dart.fnType(core.int, [E])),
    [_modifications$3]: dart.fieldType(core.int),
    [_map$5]: dart.finalFieldType(dart.dynamic),
    [_keyMap$]: dart.finalFieldType(dart.nullable(core.Object))
  }));
  dart.defineExtensionMethods(_CustomHashSet, ['contains']);
  return _CustomHashSet;
});
collection._CustomHashSet = collection._CustomHashSet$();
dart.addTypeTests(collection._CustomHashSet, _is__CustomHashSet_default);
const _is__CustomKeyHashSet_default = Symbol('_is__CustomKeyHashSet_default');
collection._CustomKeyHashSet$ = dart.generic(E => {
  var __t$_CustomKeyHashSetOfE = () => (__t$_CustomKeyHashSetOfE = dart.constFn(collection._CustomKeyHashSet$(E)))();
  class _CustomKeyHashSet extends collection._CustomHashSet$(E) {
    [_newSet]() {
      return new (__t$_CustomKeyHashSetOfE()).new(this[_equals$0], this[_hashCode$0], this[_validKey$0]);
    }
    [_newSimilarSet](R) {
      return new (collection._HashSet$(R)).new();
    }
    contains(element) {
      let t165;
      if (!dart.test((t165 = element, this[_validKey$0](t165)))) return false;
      return super.contains(element);
    }
    lookup(element) {
      let t165;
      if (!dart.test((t165 = element, this[_validKey$0](t165)))) return null;
      return super.lookup(element);
    }
    remove(element) {
      let t165;
      if (!dart.test((t165 = element, this[_validKey$0](t165)))) return false;
      return super.remove(element);
    }
  }
  (_CustomKeyHashSet.new = function(equals, hashCode, _validKey) {
    if (equals == null) dart.nullFailed(I[75], 396, 34, "equals");
    if (hashCode == null) dart.nullFailed(I[75], 396, 53, "hashCode");
    if (_validKey == null) dart.nullFailed(I[75], 396, 68, "_validKey");
    this[_validKey$0] = _validKey;
    _CustomKeyHashSet.__proto__.new.call(this, equals, hashCode);
    ;
  }).prototype = _CustomKeyHashSet.prototype;
  dart.addTypeTests(_CustomKeyHashSet);
  _CustomKeyHashSet.prototype[_is__CustomKeyHashSet_default] = true;
  dart.addTypeCaches(_CustomKeyHashSet);
  dart.setMethodSignature(_CustomKeyHashSet, () => ({
    __proto__: dart.getMethods(_CustomKeyHashSet.__proto__),
    [_newSimilarSet]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_CustomKeyHashSet, I[25]);
  dart.setFieldSignature(_CustomKeyHashSet, () => ({
    __proto__: dart.getFields(_CustomKeyHashSet.__proto__),
    [_validKey$0]: dart.fieldType(dart.fnType(core.bool, [dart.nullable(core.Object)]))
  }));
  dart.defineExtensionMethods(_CustomKeyHashSet, ['contains']);
  return _CustomKeyHashSet;
});
collection._CustomKeyHashSet = collection._CustomKeyHashSet$();
dart.addTypeTests(collection._CustomKeyHashSet, _is__CustomKeyHashSet_default);
var _source = dart.privateName(collection, "_source");
const _is_UnmodifiableListView_default = Symbol('_is_UnmodifiableListView_default');
collection.UnmodifiableListView$ = dart.generic(E => {
  class UnmodifiableListView extends _internal.UnmodifiableListBase$(E) {
    cast(R) {
      return new (collection.UnmodifiableListView$(R)).new(this[_source][$cast](R));
    }
    get length() {
      return this[_source][$length];
    }
    set length(value) {
      super.length = value;
    }
    _get(index) {
      if (index == null) dart.nullFailed(I[77], 23, 21, "index");
      return this[_source][$elementAt](index);
    }
  }
  (UnmodifiableListView.new = function(source) {
    if (source == null) dart.nullFailed(I[77], 18, 36, "source");
    this[_source] = source;
    ;
  }).prototype = UnmodifiableListView.prototype;
  dart.addTypeTests(UnmodifiableListView);
  UnmodifiableListView.prototype[_is_UnmodifiableListView_default] = true;
  dart.addTypeCaches(UnmodifiableListView);
  dart.setMethodSignature(UnmodifiableListView, () => ({
    __proto__: dart.getMethods(UnmodifiableListView.__proto__),
    cast: dart.gFnType(R => [core.List$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.List$(R), []], R => [dart.nullable(core.Object)]),
    _get: dart.fnType(E, [core.int]),
    [$_get]: dart.fnType(E, [core.int])
  }));
  dart.setGetterSignature(UnmodifiableListView, () => ({
    __proto__: dart.getGetters(UnmodifiableListView.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(UnmodifiableListView, I[25]);
  dart.setFieldSignature(UnmodifiableListView, () => ({
    __proto__: dart.getFields(UnmodifiableListView.__proto__),
    [_source]: dart.finalFieldType(core.Iterable$(E))
  }));
  dart.defineExtensionMethods(UnmodifiableListView, ['cast', '_get']);
  dart.defineExtensionAccessors(UnmodifiableListView, ['length']);
  return UnmodifiableListView;
});
collection.UnmodifiableListView = collection.UnmodifiableListView$();
dart.addTypeTests(collection.UnmodifiableListView, _is_UnmodifiableListView_default);
const _is_HashMap_default = Symbol('_is_HashMap_default');
collection.HashMap$ = dart.generic((K, V) => {
  class HashMap extends core.Object {
    static new(opts) {
      let t165, t165$, t165$0;
      let equals = opts && 'equals' in opts ? opts.equals : null;
      let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
      let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
      if (isValidKey == null) {
        if (hashCode == null) {
          if (equals == null) {
            if (dart.wrapType(K) === dart.wrapType(core.String) || dart.wrapType(K) === dart.wrapType(core.int)) {
              return new (_js_helper.IdentityMap$(K, V)).new();
            }
            return new (_js_helper.LinkedMap$(K, V)).new();
          }
          hashCode = C[76] || CT.C76;
        } else if ((C[77] || CT.C77) === hashCode && (C[78] || CT.C78) === equals) {
          return new (_js_helper.IdentityMap$(K, V)).new();
        }
        return new (_js_helper.CustomHashMap$(K, V)).new((t165 = equals, t165 == null ? C[79] || CT.C79 : t165), hashCode);
      }
      return new (_js_helper.CustomKeyHashMap$(K, V)).new((t165$ = equals, t165$ == null ? C[79] || CT.C79 : t165$), (t165$0 = hashCode, t165$0 == null ? C[76] || CT.C76 : t165$0), isValidKey);
    }
    static from(other) {
      if (other == null) dart.nullFailed(I[78], 101, 46, "other");
      let result = new (_js_helper.LinkedMap$(K, V)).new();
      other[$forEach](dart.fn((k, v) => {
        result[$_set](K.as(k), V.as(v));
      }, T$.dynamicAnddynamicTovoid()));
      return result;
    }
    static of(other) {
      let t165;
      if (other == null) dart.nullFailed(I[78], 110, 32, "other");
      t165 = new (_js_helper.LinkedMap$(K, V)).new();
      return (() => {
        t165[$addAll](other);
        return t165;
      })();
    }
    static fromIterable(iterable, opts) {
      if (iterable == null) dart.nullFailed(I[78], 123, 41, "iterable");
      let key = opts && 'key' in opts ? opts.key : null;
      let value = opts && 'value' in opts ? opts.value : null;
      let map = new (_js_helper.LinkedMap$(K, V)).new();
      collection.MapBase._fillMapWithMappedIterable(map, iterable, key, value);
      return map;
    }
    static fromIterables(keys, values) {
      if (keys == null) dart.nullFailed(I[78], 139, 45, "keys");
      if (values == null) dart.nullFailed(I[78], 139, 63, "values");
      let map = new (_js_helper.LinkedMap$(K, V)).new();
      collection.MapBase._fillMapWithIterables(map, keys, values);
      return map;
    }
    static fromEntries(entries) {
      let t165;
      if (entries == null) dart.nullFailed(I[78], 153, 56, "entries");
      t165 = new (_js_helper.LinkedMap$(K, V)).new();
      return (() => {
        t165[$addEntries](entries);
        return t165;
      })();
    }
  }
  (HashMap[dart.mixinNew] = function() {
  }).prototype = HashMap.prototype;
  HashMap.prototype[dart.isMap] = true;
  dart.addTypeTests(HashMap);
  HashMap.prototype[_is_HashMap_default] = true;
  dart.addTypeCaches(HashMap);
  HashMap[dart.implements] = () => [core.Map$(K, V)];
  dart.setLibraryUri(HashMap, I[25]);
  return HashMap;
});
collection.HashMap = collection.HashMap$();
dart.addTypeTests(collection.HashMap, _is_HashMap_default);
const _is_HashSet_default = Symbol('_is_HashSet_default');
collection.HashSet$ = dart.generic(E => {
  class HashSet extends core.Object {
    static new(opts) {
      let t165, t165$, t165$0, t165$1;
      let equals = opts && 'equals' in opts ? opts.equals : null;
      let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
      let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
      if (isValidKey == null) {
        if (hashCode == null) {
          if (equals == null) {
            if (dart.wrapType(E) === dart.wrapType(core.String) || dart.wrapType(E) === dart.wrapType(core.int)) {
              return new (collection._IdentityHashSet$(E)).new();
            }
            return new (collection._HashSet$(E)).new();
          }
        } else if ((C[77] || CT.C77) === hashCode && (C[78] || CT.C78) === equals) {
          return new (collection._IdentityHashSet$(E)).new();
        }
        return new (collection._CustomHashSet$(E)).new((t165 = equals, t165 == null ? C[79] || CT.C79 : t165), (t165$ = hashCode, t165$ == null ? C[76] || CT.C76 : t165$));
      }
      return new (collection._CustomKeyHashSet$(E)).new((t165$0 = equals, t165$0 == null ? C[79] || CT.C79 : t165$0), (t165$1 = hashCode, t165$1 == null ? C[76] || CT.C76 : t165$1), isValidKey);
    }
    static from(elements) {
      if (elements == null) dart.nullFailed(I[79], 93, 42, "elements");
      let result = new (collection._HashSet$(E)).new();
      for (let e of elements) {
        result.add(E.as(e));
      }
      return result;
    }
    static of(elements) {
      let t165;
      if (elements == null) dart.nullFailed(I[79], 107, 34, "elements");
      t165 = new (collection._HashSet$(E)).new();
      return (() => {
        t165.addAll(elements);
        return t165;
      })();
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
  }
  (HashSet[dart.mixinNew] = function() {
  }).prototype = HashSet.prototype;
  dart.addTypeTests(HashSet);
  HashSet.prototype[_is_HashSet_default] = true;
  dart.addTypeCaches(HashSet);
  HashSet[dart.implements] = () => [core.Set$(E)];
  dart.setLibraryUri(HashSet, I[25]);
  return HashSet;
});
collection.HashSet = collection.HashSet$();
dart.addTypeTests(collection.HashSet, _is_HashSet_default);
const _is_IterableMixin_default = Symbol('_is_IterableMixin_default');
collection.IterableMixin$ = dart.generic(E => {
  var __t$WhereIterableOfE = () => (__t$WhereIterableOfE = dart.constFn(_internal.WhereIterable$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$EfficientLengthIterableOfE = () => (__t$EfficientLengthIterableOfE = dart.constFn(_internal.EfficientLengthIterable$(E)))();
  var __t$FollowedByIterableOfE = () => (__t$FollowedByIterableOfE = dart.constFn(_internal.FollowedByIterable$(E)))();
  var __t$EAndEToE = () => (__t$EAndEToE = dart.constFn(dart.fnType(E, [E, E])))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$LinkedHashSetOfE = () => (__t$LinkedHashSetOfE = dart.constFn(collection.LinkedHashSet$(E)))();
  var __t$TakeIterableOfE = () => (__t$TakeIterableOfE = dart.constFn(_internal.TakeIterable$(E)))();
  var __t$TakeWhileIterableOfE = () => (__t$TakeWhileIterableOfE = dart.constFn(_internal.TakeWhileIterable$(E)))();
  var __t$SkipIterableOfE = () => (__t$SkipIterableOfE = dart.constFn(_internal.SkipIterable$(E)))();
  var __t$SkipWhileIterableOfE = () => (__t$SkipWhileIterableOfE = dart.constFn(_internal.SkipWhileIterable$(E)))();
  var __t$VoidToE = () => (__t$VoidToE = dart.constFn(dart.fnType(E, [])))();
  var __t$VoidToNE = () => (__t$VoidToNE = dart.constFn(dart.nullable(__t$VoidToE())))();
  var __t$ETodynamic = () => (__t$ETodynamic = dart.constFn(dart.fnType(dart.dynamic, [E])))();
  class IterableMixin extends core.Object {
    cast(R) {
      return core.Iterable.castFrom(E, R, this);
    }
    map(T, toElement) {
      if (toElement == null) dart.nullFailed(I[40], 17, 24, "toElement");
      return _internal.MappedIterable$(E, T).new(this, toElement);
    }
    where(test) {
      if (test == null) dart.nullFailed(I[40], 20, 26, "test");
      return new (__t$WhereIterableOfE()).new(this, test);
    }
    whereType(T) {
      return new (_internal.WhereTypeIterable$(T)).new(this);
    }
    expand(T, toElements) {
      if (toElements == null) dart.nullFailed(I[40], 24, 37, "toElements");
      return new (_internal.ExpandIterable$(E, T)).new(this, toElements);
    }
    followedBy(other) {
      __t$IterableOfE().as(other);
      if (other == null) dart.nullFailed(I[40], 27, 38, "other");
      let self = this;
      if (__t$EfficientLengthIterableOfE().is(self)) {
        return __t$FollowedByIterableOfE().firstEfficient(self, other);
      }
      return new (__t$FollowedByIterableOfE()).new(this, other);
    }
    contains(element) {
      for (let e of this) {
        if (dart.equals(e, element)) return true;
      }
      return false;
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[40], 44, 21, "action");
      for (let element of this)
        action(element);
    }
    reduce(combine) {
      __t$EAndEToE().as(combine);
      if (combine == null) dart.nullFailed(I[40], 48, 14, "combine");
      let iterator = this[$iterator];
      if (!dart.test(iterator.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      let value = iterator.current;
      while (dart.test(iterator.moveNext())) {
        value = combine(value, iterator.current);
      }
      return value;
    }
    fold(T, initialValue, combine) {
      if (combine == null) dart.nullFailed(I[40], 60, 31, "combine");
      let value = initialValue;
      for (let element of this)
        value = combine(value, element);
      return value;
    }
    every(test) {
      if (test == null) dart.nullFailed(I[40], 66, 19, "test");
      for (let element of this) {
        if (!dart.test(test(element))) return false;
      }
      return true;
    }
    join(separator = "") {
      if (separator == null) dart.nullFailed(I[40], 73, 23, "separator");
      let iterator = this[$iterator];
      if (!dart.test(iterator.moveNext())) return "";
      let buffer = new core.StringBuffer.new();
      if (separator == null || separator === "") {
        do {
          buffer.write(dart.str(iterator.current));
        } while (dart.test(iterator.moveNext()));
      } else {
        buffer.write(dart.str(iterator.current));
        while (dart.test(iterator.moveNext())) {
          buffer.write(separator);
          buffer.write(dart.str(iterator.current));
        }
      }
      return buffer.toString();
    }
    any(test) {
      if (test == null) dart.nullFailed(I[40], 91, 17, "test");
      for (let element of this) {
        if (dart.test(test(element))) return true;
      }
      return false;
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[40], 98, 24, "growable");
      return __t$ListOfE().from(this, {growable: growable});
    }
    toSet() {
      return __t$LinkedHashSetOfE().from(this);
    }
    get length() {
      if (!!_internal.EfficientLengthIterable.is(this)) dart.assertFailed(null, I[40], 104, 12, "this is! EfficientLengthIterable");
      let count = 0;
      let it = this[$iterator];
      while (dart.test(it.moveNext())) {
        count = count + 1;
      }
      return count;
    }
    get isEmpty() {
      return !dart.test(this[$iterator].moveNext());
    }
    get isNotEmpty() {
      return !dart.test(this.isEmpty);
    }
    take(count) {
      if (count == null) dart.nullFailed(I[40], 117, 24, "count");
      return __t$TakeIterableOfE().new(this, count);
    }
    takeWhile(test) {
      if (test == null) dart.nullFailed(I[40], 121, 30, "test");
      return new (__t$TakeWhileIterableOfE()).new(this, test);
    }
    skip(count) {
      if (count == null) dart.nullFailed(I[40], 125, 24, "count");
      return __t$SkipIterableOfE().new(this, count);
    }
    skipWhile(test) {
      if (test == null) dart.nullFailed(I[40], 129, 30, "test");
      return new (__t$SkipWhileIterableOfE()).new(this, test);
    }
    get first() {
      let it = this[$iterator];
      if (!dart.test(it.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      return it.current;
    }
    get last() {
      let it = this[$iterator];
      if (!dart.test(it.moveNext())) {
        dart.throw(_internal.IterableElementError.noElement());
      }
      let result = null;
      do {
        result = it.current;
      } while (dart.test(it.moveNext()));
      return result;
    }
    get single() {
      let it = this[$iterator];
      if (!dart.test(it.moveNext())) dart.throw(_internal.IterableElementError.noElement());
      let result = it.current;
      if (dart.test(it.moveNext())) dart.throw(_internal.IterableElementError.tooMany());
      return result;
    }
    firstWhere(test, opts) {
      if (test == null) dart.nullFailed(I[40], 161, 21, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      for (let element of this) {
        if (dart.test(test(element))) return element;
      }
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    lastWhere(test, opts) {
      if (test == null) dart.nullFailed(I[40], 169, 20, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToE());
      function result$35set(t168) {
        result$35isSet = true;
        return result = t168;
      }
      dart.fn(result$35set, __t$ETodynamic());
      let foundMatching = false;
      for (let element of this) {
        if (dart.test(test(element))) {
          result$35set(element);
          foundMatching = true;
        }
      }
      if (foundMatching) return result$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    singleWhere(test, opts) {
      if (test == null) dart.nullFailed(I[40], 183, 22, "test");
      let orElse = opts && 'orElse' in opts ? opts.orElse : null;
      __t$VoidToNE().as(orElse);
      let result = null;
      let result$35isSet = false;
      function result$35get() {
        return result$35isSet ? result : dart.throw(new _internal.LateError.localNI("result"));
      }
      dart.fn(result$35get, __t$VoidToE());
      function result$35set(t173) {
        result$35isSet = true;
        return result = t173;
      }
      dart.fn(result$35set, __t$ETodynamic());
      let foundMatching = false;
      for (let element of this) {
        if (dart.test(test(element))) {
          if (foundMatching) {
            dart.throw(_internal.IterableElementError.tooMany());
          }
          result$35set(element);
          foundMatching = true;
        }
      }
      if (foundMatching) return result$35get();
      if (orElse != null) return orElse();
      dart.throw(_internal.IterableElementError.noElement());
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[40], 200, 19, "index");
      _internal.checkNotNullable(core.int, index, "index");
      core.RangeError.checkNotNegative(index, "index");
      let elementIndex = 0;
      for (let element of this) {
        if (index === elementIndex) return element;
        elementIndex = elementIndex + 1;
      }
      dart.throw(new core.IndexError.new(index, this, "index", null, elementIndex));
    }
    toString() {
      return collection.IterableBase.iterableToShortString(this, "(", ")");
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
  }
  (IterableMixin.new = function() {
    ;
  }).prototype = IterableMixin.prototype;
  IterableMixin.prototype[dart.isIterable] = true;
  dart.addTypeTests(IterableMixin);
  IterableMixin.prototype[_is_IterableMixin_default] = true;
  dart.addTypeCaches(IterableMixin);
  IterableMixin[dart.implements] = () => [core.Iterable$(E)];
  dart.setMethodSignature(IterableMixin, () => ({
    __proto__: dart.getMethods(IterableMixin.__proto__),
    cast: dart.gFnType(R => [core.Iterable$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.Iterable$(R), []], R => [dart.nullable(core.Object)]),
    map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [E])]], T => [dart.nullable(core.Object)]),
    where: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$where]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    whereType: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    [$whereType]: dart.gFnType(T => [core.Iterable$(T), []], T => [dart.nullable(core.Object)]),
    expand: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    [$expand]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [E])]], T => [dart.nullable(core.Object)]),
    followedBy: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    [$followedBy]: dart.fnType(core.Iterable$(E), [dart.nullable(core.Object)]),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [E])]),
    reduce: dart.fnType(E, [dart.nullable(core.Object)]),
    [$reduce]: dart.fnType(E, [dart.nullable(core.Object)]),
    fold: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, E])]], T => [dart.nullable(core.Object)]),
    every: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$every]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    join: dart.fnType(core.String, [], [core.String]),
    [$join]: dart.fnType(core.String, [], [core.String]),
    any: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    [$any]: dart.fnType(core.bool, [dart.fnType(core.bool, [E])]),
    toList: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    [$toList]: dart.fnType(core.List$(E), [], {growable: core.bool}, {}),
    toSet: dart.fnType(core.Set$(E), []),
    [$toSet]: dart.fnType(core.Set$(E), []),
    take: dart.fnType(core.Iterable$(E), [core.int]),
    [$take]: dart.fnType(core.Iterable$(E), [core.int]),
    takeWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$takeWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    skip: dart.fnType(core.Iterable$(E), [core.int]),
    [$skip]: dart.fnType(core.Iterable$(E), [core.int]),
    skipWhile: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    [$skipWhile]: dart.fnType(core.Iterable$(E), [dart.fnType(core.bool, [E])]),
    firstWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$firstWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    lastWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$lastWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    singleWhere: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    [$singleWhere]: dart.fnType(E, [dart.fnType(core.bool, [E])], {orElse: dart.nullable(core.Object)}, {}),
    elementAt: dart.fnType(E, [core.int]),
    [$elementAt]: dart.fnType(E, [core.int])
  }));
  dart.setGetterSignature(IterableMixin, () => ({
    __proto__: dart.getGetters(IterableMixin.__proto__),
    length: core.int,
    [$length]: core.int,
    isEmpty: core.bool,
    [$isEmpty]: core.bool,
    isNotEmpty: core.bool,
    [$isNotEmpty]: core.bool,
    first: E,
    [$first]: E,
    last: E,
    [$last]: E,
    single: E,
    [$single]: E
  }));
  dart.setLibraryUri(IterableMixin, I[25]);
  dart.defineExtensionMethods(IterableMixin, [
    'cast',
    'map',
    'where',
    'whereType',
    'expand',
    'followedBy',
    'contains',
    'forEach',
    'reduce',
    'fold',
    'every',
    'join',
    'any',
    'toList',
    'toSet',
    'take',
    'takeWhile',
    'skip',
    'skipWhile',
    'firstWhere',
    'lastWhere',
    'singleWhere',
    'elementAt',
    'toString'
  ]);
  dart.defineExtensionAccessors(IterableMixin, [
    'length',
    'isEmpty',
    'isNotEmpty',
    'first',
    'last',
    'single'
  ]);
  return IterableMixin;
});
collection.IterableMixin = collection.IterableMixin$();
dart.addTypeTests(collection.IterableMixin, _is_IterableMixin_default);
var _state$ = dart.privateName(collection, "_state");
var _iterator$0 = dart.privateName(collection, "_iterator");
var _move = dart.privateName(collection, "_move");
const _is_HasNextIterator_default = Symbol('_is_HasNextIterator_default');
collection.HasNextIterator$ = dart.generic(E => {
  class HasNextIterator extends core.Object {
    get hasNext() {
      if (this[_state$] === 2) this[_move]();
      return this[_state$] === 0;
    }
    next() {
      if (!dart.test(this.hasNext)) dart.throw(new core.StateError.new("No more elements"));
      if (!(this[_state$] === 0)) dart.assertFailed(null, I[80], 30, 12, "_state == _HAS_NEXT_AND_NEXT_IN_CURRENT");
      let result = this[_iterator$0].current;
      this[_move]();
      return result;
    }
    [_move]() {
      if (dart.test(this[_iterator$0].moveNext())) {
        this[_state$] = 0;
      } else {
        this[_state$] = 1;
      }
    }
  }
  (HasNextIterator.new = function(_iterator) {
    if (_iterator == null) dart.nullFailed(I[80], 19, 24, "_iterator");
    this[_state$] = 2;
    this[_iterator$0] = _iterator;
    ;
  }).prototype = HasNextIterator.prototype;
  dart.addTypeTests(HasNextIterator);
  HasNextIterator.prototype[_is_HasNextIterator_default] = true;
  dart.addTypeCaches(HasNextIterator);
  dart.setMethodSignature(HasNextIterator, () => ({
    __proto__: dart.getMethods(HasNextIterator.__proto__),
    next: dart.fnType(E, []),
    [_move]: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(HasNextIterator, () => ({
    __proto__: dart.getGetters(HasNextIterator.__proto__),
    hasNext: core.bool
  }));
  dart.setLibraryUri(HasNextIterator, I[25]);
  dart.setFieldSignature(HasNextIterator, () => ({
    __proto__: dart.getFields(HasNextIterator.__proto__),
    [_iterator$0]: dart.fieldType(core.Iterator$(E)),
    [_state$]: dart.fieldType(core.int)
  }));
  return HasNextIterator;
});
collection.HasNextIterator = collection.HasNextIterator$();
dart.defineLazy(collection.HasNextIterator, {
  /*collection.HasNextIterator._HAS_NEXT_AND_NEXT_IN_CURRENT*/get _HAS_NEXT_AND_NEXT_IN_CURRENT() {
    return 0;
  },
  /*collection.HasNextIterator._NO_NEXT*/get _NO_NEXT() {
    return 1;
  },
  /*collection.HasNextIterator._NOT_MOVED_YET*/get _NOT_MOVED_YET() {
    return 2;
  }
}, false);
dart.addTypeTests(collection.HasNextIterator, _is_HasNextIterator_default);
const _is_LinkedHashMap_default = Symbol('_is_LinkedHashMap_default');
collection.LinkedHashMap$ = dart.generic((K, V) => {
  class LinkedHashMap extends core.Object {
    static new(opts) {
      let t175, t175$, t175$0;
      let equals = opts && 'equals' in opts ? opts.equals : null;
      let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
      let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
      if (isValidKey == null) {
        if (hashCode == null) {
          if (equals == null) {
            if (dart.wrapType(K) === dart.wrapType(core.String) || dart.wrapType(K) === dart.wrapType(core.int)) {
              return new (_js_helper.IdentityMap$(K, V)).new();
            }
            return new (_js_helper.LinkedMap$(K, V)).new();
          }
          hashCode = C[76] || CT.C76;
        } else if ((C[77] || CT.C77) === hashCode && (C[78] || CT.C78) === equals) {
          return new (_js_helper.IdentityMap$(K, V)).new();
        }
        return new (_js_helper.CustomHashMap$(K, V)).new((t175 = equals, t175 == null ? C[79] || CT.C79 : t175), hashCode);
      }
      return new (_js_helper.CustomKeyHashMap$(K, V)).new((t175$ = equals, t175$ == null ? C[79] || CT.C79 : t175$), (t175$0 = hashCode, t175$0 == null ? C[76] || CT.C76 : t175$0), isValidKey);
    }
    static from(other) {
      if (other == null) dart.nullFailed(I[81], 85, 52, "other");
      let result = new (_js_helper.LinkedMap$(K, V)).new();
      other[$forEach](dart.fn((k, v) => {
        result[$_set](K.as(k), V.as(v));
      }, T$.dynamicAnddynamicTovoid()));
      return result;
    }
    static of(other) {
      let t175;
      if (other == null) dart.nullFailed(I[81], 94, 38, "other");
      t175 = new (_js_helper.LinkedMap$(K, V)).new();
      return (() => {
        t175[$addAll](other);
        return t175;
      })();
    }
    static fromIterable(iterable, opts) {
      if (iterable == null) dart.nullFailed(I[81], 108, 47, "iterable");
      let key = opts && 'key' in opts ? opts.key : null;
      let value = opts && 'value' in opts ? opts.value : null;
      let map = new (_js_helper.LinkedMap$(K, V)).new();
      collection.MapBase._fillMapWithMappedIterable(map, iterable, key, value);
      return map;
    }
    static fromIterables(keys, values) {
      if (keys == null) dart.nullFailed(I[81], 124, 51, "keys");
      if (values == null) dart.nullFailed(I[81], 124, 69, "values");
      let map = new (_js_helper.LinkedMap$(K, V)).new();
      collection.MapBase._fillMapWithIterables(map, keys, values);
      return map;
    }
    static fromEntries(entries) {
      let t175;
      if (entries == null) dart.nullFailed(I[81], 138, 62, "entries");
      t175 = new (_js_helper.LinkedMap$(K, V)).new();
      return (() => {
        t175[$addEntries](entries);
        return t175;
      })();
    }
  }
  (LinkedHashMap[dart.mixinNew] = function() {
  }).prototype = LinkedHashMap.prototype;
  LinkedHashMap.prototype[dart.isMap] = true;
  dart.addTypeTests(LinkedHashMap);
  LinkedHashMap.prototype[_is_LinkedHashMap_default] = true;
  dart.addTypeCaches(LinkedHashMap);
  LinkedHashMap[dart.implements] = () => [core.Map$(K, V)];
  dart.setLibraryUri(LinkedHashMap, I[25]);
  return LinkedHashMap;
});
collection.LinkedHashMap = collection.LinkedHashMap$();
dart.addTypeTests(collection.LinkedHashMap, _is_LinkedHashMap_default);
const _is_LinkedHashSet_default = Symbol('_is_LinkedHashSet_default');
collection.LinkedHashSet$ = dart.generic(E => {
  class LinkedHashSet extends core.Object {
    static new(opts) {
      let t175, t175$, t175$0;
      let equals = opts && 'equals' in opts ? opts.equals : null;
      let hashCode = opts && 'hashCode' in opts ? opts.hashCode : null;
      let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
      if (isValidKey == null) {
        if (hashCode == null) {
          if (equals == null) {
            if (dart.wrapType(E) === dart.wrapType(core.String) || dart.wrapType(E) === dart.wrapType(core.int)) {
              return new (collection._IdentityHashSet$(E)).new();
            }
            return new (collection._HashSet$(E)).new();
          }
          hashCode = C[76] || CT.C76;
        } else if ((C[77] || CT.C77) === hashCode && (C[78] || CT.C78) === equals) {
          return new (collection._IdentityHashSet$(E)).new();
        }
        return new (collection._CustomHashSet$(E)).new((t175 = equals, t175 == null ? C[79] || CT.C79 : t175), hashCode);
      }
      return new (collection._CustomKeyHashSet$(E)).new((t175$ = equals, t175$ == null ? C[79] || CT.C79 : t175$), (t175$0 = hashCode, t175$0 == null ? C[76] || CT.C76 : t175$0), isValidKey);
    }
    static from(elements) {
      if (elements == null) dart.nullFailed(I[82], 98, 48, "elements");
      let result = new (collection._HashSet$(E)).new();
      for (let element of elements) {
        result.add(E.as(element));
      }
      return result;
    }
    static of(elements) {
      let t175;
      if (elements == null) dart.nullFailed(I[82], 110, 40, "elements");
      t175 = new (collection._HashSet$(E)).new();
      return (() => {
        t175.addAll(elements);
        return t175;
      })();
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
  }
  (LinkedHashSet[dart.mixinNew] = function() {
  }).prototype = LinkedHashSet.prototype;
  dart.addTypeTests(LinkedHashSet);
  LinkedHashSet.prototype[_is_LinkedHashSet_default] = true;
  dart.addTypeCaches(LinkedHashSet);
  LinkedHashSet[dart.implements] = () => [core.Set$(E)];
  dart.setLibraryUri(LinkedHashSet, I[25]);
  return LinkedHashSet;
});
collection.LinkedHashSet = collection.LinkedHashSet$();
dart.addTypeTests(collection.LinkedHashSet, _is_LinkedHashSet_default);
var _modificationCount = dart.privateName(collection, "_modificationCount");
var _length$0 = dart.privateName(collection, "_length");
var _first = dart.privateName(collection, "_first");
var _insertBefore = dart.privateName(collection, "_insertBefore");
var _list$0 = dart.privateName(collection, "_list");
var _unlink = dart.privateName(collection, "_unlink");
var _next$2 = dart.privateName(collection, "_next");
var _previous$2 = dart.privateName(collection, "_previous");
const _is_LinkedList_default$ = Symbol('_is_LinkedList_default');
collection.LinkedList$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$_LinkedListIteratorOfE = () => (__t$_LinkedListIteratorOfE = dart.constFn(collection._LinkedListIterator$(E)))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  class LinkedList extends core.Iterable$(E) {
    addFirst(entry) {
      E.as(entry);
      if (entry == null) dart.nullFailed(I[83], 40, 19, "entry");
      this[_insertBefore](this[_first], entry, {updateFirst: true});
      this[_first] = entry;
    }
    add(entry) {
      E.as(entry);
      if (entry == null) dart.nullFailed(I[83], 46, 14, "entry");
      this[_insertBefore](this[_first], entry, {updateFirst: false});
    }
    addAll(entries) {
      __t$IterableOfE().as(entries);
      if (entries == null) dart.nullFailed(I[83], 51, 27, "entries");
      entries[$forEach](dart.bind(this, 'add'));
    }
    remove(entry) {
      E.as(entry);
      if (entry == null) dart.nullFailed(I[83], 61, 17, "entry");
      if (!dart.equals(entry[_list$0], this)) return false;
      this[_unlink](entry);
      return true;
    }
    contains(entry) {
      return T$.LinkedListEntryOfLinkedListEntry().is(entry) && this === entry.list;
    }
    get iterator() {
      return new (__t$_LinkedListIteratorOfE()).new(this);
    }
    get length() {
      return this[_length$0];
    }
    clear() {
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      if (dart.test(this.isEmpty)) return;
      let next = dart.nullCheck(this[_first]);
      do {
        let entry = next;
        next = dart.nullCheck(entry[_next$2]);
        entry[_next$2] = entry[_previous$2] = entry[_list$0] = null;
      } while (next !== this[_first]);
      this[_first] = null;
      this[_length$0] = 0;
    }
    get first() {
      if (dart.test(this.isEmpty)) {
        dart.throw(new core.StateError.new("No such element"));
      }
      return dart.nullCheck(this[_first]);
    }
    get last() {
      if (dart.test(this.isEmpty)) {
        dart.throw(new core.StateError.new("No such element"));
      }
      return dart.nullCheck(dart.nullCheck(this[_first])[_previous$2]);
    }
    get single() {
      if (dart.test(this.isEmpty)) {
        dart.throw(new core.StateError.new("No such element"));
      }
      if (dart.notNull(this[_length$0]) > 1) {
        dart.throw(new core.StateError.new("Too many elements"));
      }
      return dart.nullCheck(this[_first]);
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[83], 121, 21, "action");
      let modificationCount = this[_modificationCount];
      if (dart.test(this.isEmpty)) return;
      let current = dart.nullCheck(this[_first]);
      do {
        action(current);
        if (modificationCount != this[_modificationCount]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        current = dart.nullCheck(current[_next$2]);
      } while (current !== this[_first]);
    }
    get isEmpty() {
      return this[_length$0] === 0;
    }
    [_insertBefore](entry, newEntry, opts) {
      __t$EN().as(entry);
      E.as(newEntry);
      if (newEntry == null) dart.nullFailed(I[83], 141, 34, "newEntry");
      let updateFirst = opts && 'updateFirst' in opts ? opts.updateFirst : null;
      if (updateFirst == null) dart.nullFailed(I[83], 141, 59, "updateFirst");
      if (newEntry.list != null) {
        dart.throw(new core.StateError.new("LinkedListEntry is already in a LinkedList"));
      }
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      newEntry[_list$0] = this;
      if (dart.test(this.isEmpty)) {
        if (!(entry == null)) dart.assertFailed(null, I[83], 149, 14, "entry == null");
        newEntry[_previous$2] = newEntry[_next$2] = newEntry;
        this[_first] = newEntry;
        this[_length$0] = dart.notNull(this[_length$0]) + 1;
        return;
      }
      let predecessor = dart.nullCheck(dart.nullCheck(entry)[_previous$2]);
      let successor = entry;
      newEntry[_previous$2] = predecessor;
      newEntry[_next$2] = successor;
      predecessor[_next$2] = newEntry;
      successor[_previous$2] = newEntry;
      if (dart.test(updateFirst) && entry == this[_first]) {
        this[_first] = newEntry;
      }
      this[_length$0] = dart.notNull(this[_length$0]) + 1;
    }
    [_unlink](entry) {
      E.as(entry);
      if (entry == null) dart.nullFailed(I[83], 167, 18, "entry");
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      dart.nullCheck(entry[_next$2])[_previous$2] = entry[_previous$2];
      let next = dart.nullCheck(entry[_previous$2])[_next$2] = entry[_next$2];
      this[_length$0] = dart.notNull(this[_length$0]) - 1;
      entry[_list$0] = entry[_next$2] = entry[_previous$2] = null;
      if (dart.test(this.isEmpty)) {
        this[_first] = null;
      } else if (entry == this[_first]) {
        this[_first] = next;
      }
    }
  }
  (LinkedList.new = function() {
    this[_modificationCount] = 0;
    this[_length$0] = 0;
    this[_first] = null;
    LinkedList.__proto__.new.call(this);
    ;
  }).prototype = LinkedList.prototype;
  dart.addTypeTests(LinkedList);
  LinkedList.prototype[_is_LinkedList_default$] = true;
  dart.addTypeCaches(LinkedList);
  dart.setMethodSignature(LinkedList, () => ({
    __proto__: dart.getMethods(LinkedList.__proto__),
    addFirst: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [_insertBefore]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)], {updateFirst: core.bool}, {}),
    [_unlink]: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(LinkedList, () => ({
    __proto__: dart.getGetters(LinkedList.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(LinkedList, I[25]);
  dart.setFieldSignature(LinkedList, () => ({
    __proto__: dart.getFields(LinkedList.__proto__),
    [_modificationCount]: dart.fieldType(core.int),
    [_length$0]: dart.fieldType(core.int),
    [_first]: dart.fieldType(dart.nullable(E))
  }));
  dart.defineExtensionMethods(LinkedList, ['contains', 'forEach']);
  dart.defineExtensionAccessors(LinkedList, [
    'iterator',
    'length',
    'first',
    'last',
    'single',
    'isEmpty'
  ]);
  return LinkedList;
});
collection.LinkedList = collection.LinkedList$();
dart.addTypeTests(collection.LinkedList, _is_LinkedList_default$);
var _current$1 = dart.privateName(collection, "_current");
var _visitedFirst = dart.privateName(collection, "_visitedFirst");
const _is__LinkedListIterator_default$ = Symbol('_is__LinkedListIterator_default');
collection._LinkedListIterator$ = dart.generic(E => {
  class _LinkedListIterator extends core.Object {
    get current() {
      return dart.nullCast(this[_current$1], E);
    }
    moveNext() {
      if (this[_modificationCount] != this[_list$0][_modificationCount]) {
        dart.throw(new core.ConcurrentModificationError.new(this));
      }
      if (dart.test(this[_list$0].isEmpty) || dart.test(this[_visitedFirst]) && this[_next$2] == this[_list$0].first) {
        this[_current$1] = null;
        return false;
      }
      this[_visitedFirst] = true;
      this[_current$1] = this[_next$2];
      this[_next$2] = dart.nullCheck(this[_next$2])[_next$2];
      return true;
    }
  }
  (_LinkedListIterator.new = function(list) {
    if (list == null) dart.nullFailed(I[83], 188, 37, "list");
    this[_current$1] = null;
    this[_list$0] = list;
    this[_modificationCount] = list[_modificationCount];
    this[_next$2] = list[_first];
    this[_visitedFirst] = false;
    ;
  }).prototype = _LinkedListIterator.prototype;
  dart.addTypeTests(_LinkedListIterator);
  _LinkedListIterator.prototype[_is__LinkedListIterator_default$] = true;
  dart.addTypeCaches(_LinkedListIterator);
  _LinkedListIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(_LinkedListIterator, () => ({
    __proto__: dart.getMethods(_LinkedListIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_LinkedListIterator, () => ({
    __proto__: dart.getGetters(_LinkedListIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(_LinkedListIterator, I[25]);
  dart.setFieldSignature(_LinkedListIterator, () => ({
    __proto__: dart.getFields(_LinkedListIterator.__proto__),
    [_list$0]: dart.finalFieldType(collection.LinkedList$(E)),
    [_modificationCount]: dart.finalFieldType(core.int),
    [_current$1]: dart.fieldType(dart.nullable(E)),
    [_next$2]: dart.fieldType(dart.nullable(E)),
    [_visitedFirst]: dart.fieldType(core.bool)
  }));
  return _LinkedListIterator;
});
collection._LinkedListIterator = collection._LinkedListIterator$();
dart.addTypeTests(collection._LinkedListIterator, _is__LinkedListIterator_default$);
var _list$1 = dart.privateName(collection, "LinkedListEntry._list");
var _next$3 = dart.privateName(collection, "LinkedListEntry._next");
var _previous$3 = dart.privateName(collection, "LinkedListEntry._previous");
const _is_LinkedListEntry_default$ = Symbol('_is_LinkedListEntry_default');
collection.LinkedListEntry$ = dart.generic(E => {
  var __t$LinkedListOfE = () => (__t$LinkedListOfE = dart.constFn(collection.LinkedList$(E)))();
  var __t$LinkedListNOfE = () => (__t$LinkedListNOfE = dart.constFn(dart.nullable(__t$LinkedListOfE())))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  class LinkedListEntry extends core.Object {
    get [_list$0]() {
      return this[_list$1];
    }
    set [_list$0](value) {
      this[_list$1] = __t$LinkedListNOfE().as(value);
    }
    get [_next$2]() {
      return this[_next$3];
    }
    set [_next$2](value) {
      this[_next$3] = __t$EN().as(value);
    }
    get [_previous$2]() {
      return this[_previous$3];
    }
    set [_previous$2](value) {
      this[_previous$3] = __t$EN().as(value);
    }
    get list() {
      return this[_list$0];
    }
    unlink() {
      dart.nullCheck(this[_list$0])[_unlink](E.as(this));
    }
    get next() {
      if (this[_list$0] == null || dart.nullCheck(this[_list$0]).first == this[_next$2]) return null;
      return this[_next$2];
    }
    get previous() {
      if (this[_list$0] == null || this === dart.nullCheck(this[_list$0]).first) return null;
      return this[_previous$2];
    }
    insertAfter(entry) {
      E.as(entry);
      if (entry == null) dart.nullFailed(I[83], 262, 22, "entry");
      dart.nullCheck(this[_list$0])[_insertBefore](this[_next$2], entry, {updateFirst: false});
    }
    insertBefore(entry) {
      E.as(entry);
      if (entry == null) dart.nullFailed(I[83], 270, 23, "entry");
      dart.nullCheck(this[_list$0])[_insertBefore](E.as(this), entry, {updateFirst: true});
    }
  }
  (LinkedListEntry.new = function() {
    this[_list$1] = null;
    this[_next$3] = null;
    this[_previous$3] = null;
    ;
  }).prototype = LinkedListEntry.prototype;
  dart.addTypeTests(LinkedListEntry);
  LinkedListEntry.prototype[_is_LinkedListEntry_default$] = true;
  dart.addTypeCaches(LinkedListEntry);
  dart.setMethodSignature(LinkedListEntry, () => ({
    __proto__: dart.getMethods(LinkedListEntry.__proto__),
    unlink: dart.fnType(dart.void, []),
    insertAfter: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    insertBefore: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(LinkedListEntry, () => ({
    __proto__: dart.getGetters(LinkedListEntry.__proto__),
    list: dart.nullable(collection.LinkedList$(E)),
    next: dart.nullable(E),
    previous: dart.nullable(E)
  }));
  dart.setLibraryUri(LinkedListEntry, I[25]);
  dart.setFieldSignature(LinkedListEntry, () => ({
    __proto__: dart.getFields(LinkedListEntry.__proto__),
    [_list$0]: dart.fieldType(dart.nullable(collection.LinkedList$(E))),
    [_next$2]: dart.fieldType(dart.nullable(E)),
    [_previous$2]: dart.fieldType(dart.nullable(E))
  }));
  return LinkedListEntry;
});
collection.LinkedListEntry = collection.LinkedListEntry$();
dart.addTypeTests(collection.LinkedListEntry, _is_LinkedListEntry_default$);
const _is__MapBaseValueIterable_default = Symbol('_is__MapBaseValueIterable_default');
collection._MapBaseValueIterable$ = dart.generic((K, V) => {
  var __t$_MapBaseValueIteratorOfK$V = () => (__t$_MapBaseValueIteratorOfK$V = dart.constFn(collection._MapBaseValueIterator$(K, V)))();
  class _MapBaseValueIterable extends _internal.EfficientLengthIterable$(V) {
    get length() {
      return this[_map$5][$length];
    }
    get isEmpty() {
      return this[_map$5][$isEmpty];
    }
    get isNotEmpty() {
      return this[_map$5][$isNotEmpty];
    }
    get first() {
      return V.as(this[_map$5][$_get](this[_map$5][$keys][$first]));
    }
    get single() {
      return V.as(this[_map$5][$_get](this[_map$5][$keys][$single]));
    }
    get last() {
      return V.as(this[_map$5][$_get](this[_map$5][$keys][$last]));
    }
    get iterator() {
      return new (__t$_MapBaseValueIteratorOfK$V()).new(this[_map$5]);
    }
  }
  (_MapBaseValueIterable.new = function(_map) {
    if (_map == null) dart.nullFailed(I[36], 227, 30, "_map");
    this[_map$5] = _map;
    _MapBaseValueIterable.__proto__.new.call(this);
    ;
  }).prototype = _MapBaseValueIterable.prototype;
  dart.addTypeTests(_MapBaseValueIterable);
  _MapBaseValueIterable.prototype[_is__MapBaseValueIterable_default] = true;
  dart.addTypeCaches(_MapBaseValueIterable);
  dart.setGetterSignature(_MapBaseValueIterable, () => ({
    __proto__: dart.getGetters(_MapBaseValueIterable.__proto__),
    iterator: core.Iterator$(V),
    [$iterator]: core.Iterator$(V)
  }));
  dart.setLibraryUri(_MapBaseValueIterable, I[25]);
  dart.setFieldSignature(_MapBaseValueIterable, () => ({
    __proto__: dart.getFields(_MapBaseValueIterable.__proto__),
    [_map$5]: dart.finalFieldType(core.Map$(K, V))
  }));
  dart.defineExtensionAccessors(_MapBaseValueIterable, [
    'length',
    'isEmpty',
    'isNotEmpty',
    'first',
    'single',
    'last',
    'iterator'
  ]);
  return _MapBaseValueIterable;
});
collection._MapBaseValueIterable = collection._MapBaseValueIterable$();
dart.addTypeTests(collection._MapBaseValueIterable, _is__MapBaseValueIterable_default);
var _keys = dart.privateName(collection, "_keys");
const _is__MapBaseValueIterator_default = Symbol('_is__MapBaseValueIterator_default');
collection._MapBaseValueIterator$ = dart.generic((K, V) => {
  class _MapBaseValueIterator extends core.Object {
    moveNext() {
      if (dart.test(this[_keys].moveNext())) {
        this[_current$1] = this[_map$5][$_get](this[_keys].current);
        return true;
      }
      this[_current$1] = null;
      return false;
    }
    get current() {
      return V.as(this[_current$1]);
    }
  }
  (_MapBaseValueIterator.new = function(map) {
    if (map == null) dart.nullFailed(I[36], 248, 35, "map");
    this[_current$1] = null;
    this[_map$5] = map;
    this[_keys] = map[$keys][$iterator];
    ;
  }).prototype = _MapBaseValueIterator.prototype;
  dart.addTypeTests(_MapBaseValueIterator);
  _MapBaseValueIterator.prototype[_is__MapBaseValueIterator_default] = true;
  dart.addTypeCaches(_MapBaseValueIterator);
  _MapBaseValueIterator[dart.implements] = () => [core.Iterator$(V)];
  dart.setMethodSignature(_MapBaseValueIterator, () => ({
    __proto__: dart.getMethods(_MapBaseValueIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_MapBaseValueIterator, () => ({
    __proto__: dart.getGetters(_MapBaseValueIterator.__proto__),
    current: V
  }));
  dart.setLibraryUri(_MapBaseValueIterator, I[25]);
  dart.setFieldSignature(_MapBaseValueIterator, () => ({
    __proto__: dart.getFields(_MapBaseValueIterator.__proto__),
    [_keys]: dart.finalFieldType(core.Iterator$(K)),
    [_map$5]: dart.finalFieldType(core.Map$(K, V)),
    [_current$1]: dart.fieldType(dart.nullable(V))
  }));
  return _MapBaseValueIterator;
});
collection._MapBaseValueIterator = collection._MapBaseValueIterator$();
dart.addTypeTests(collection._MapBaseValueIterator, _is__MapBaseValueIterator_default);
var _map$8 = dart.privateName(collection, "MapView._map");
const _is_MapView_default = Symbol('_is_MapView_default');
collection.MapView$ = dart.generic((K, V) => {
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$MapEntryOfK$V = () => (__t$MapEntryOfK$V = dart.constFn(core.MapEntry$(K, V)))();
  var __t$IterableOfMapEntryOfK$V = () => (__t$IterableOfMapEntryOfK$V = dart.constFn(core.Iterable$(__t$MapEntryOfK$V())))();
  var __t$KAndVToV = () => (__t$KAndVToV = dart.constFn(dart.fnType(V, [K, V])))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  var __t$VToV = () => (__t$VToV = dart.constFn(dart.fnType(V, [V])))();
  var __t$VoidToNV = () => (__t$VoidToNV = dart.constFn(dart.nullable(__t$VoidToV())))();
  class MapView extends core.Object {
    get [_map$5]() {
      return this[_map$8];
    }
    set [_map$5](value) {
      super[_map$5] = value;
    }
    cast(RK, RV) {
      return this[_map$5][$cast](RK, RV);
    }
    _get(key) {
      return this[_map$5][$_get](key);
    }
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      this[_map$5][$_set](key, value);
      return value$;
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[36], 330, 25, "other");
      this[_map$5][$addAll](other);
    }
    clear() {
      this[_map$5][$clear]();
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[36], 338, 26, "ifAbsent");
      return this[_map$5][$putIfAbsent](key, ifAbsent);
    }
    containsKey(key) {
      return this[_map$5][$containsKey](key);
    }
    containsValue(value) {
      return this[_map$5][$containsValue](value);
    }
    forEach(action) {
      if (action == null) dart.nullFailed(I[36], 341, 21, "action");
      this[_map$5][$forEach](action);
    }
    get isEmpty() {
      return this[_map$5][$isEmpty];
    }
    get isNotEmpty() {
      return this[_map$5][$isNotEmpty];
    }
    get length() {
      return this[_map$5][$length];
    }
    get keys() {
      return this[_map$5][$keys];
    }
    remove(key) {
      return this[_map$5][$remove](key);
    }
    toString() {
      return dart.toString(this[_map$5]);
    }
    get values() {
      return this[_map$5][$values];
    }
    get entries() {
      return this[_map$5][$entries];
    }
    addEntries(entries) {
      __t$IterableOfMapEntryOfK$V().as(entries);
      if (entries == null) dart.nullFailed(I[36], 355, 44, "entries");
      this[_map$5][$addEntries](entries);
    }
    map(K2, V2, transform) {
      if (transform == null) dart.nullFailed(I[36], 359, 44, "transform");
      return this[_map$5][$map](K2, V2, transform);
    }
    update(key, update, opts) {
      K.as(key);
      __t$VToV().as(update);
      if (update == null) dart.nullFailed(I[36], 362, 21, "update");
      let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
      __t$VoidToNV().as(ifAbsent);
      return this[_map$5][$update](key, update, {ifAbsent: ifAbsent});
    }
    updateAll(update) {
      __t$KAndVToV().as(update);
      if (update == null) dart.nullFailed(I[36], 365, 20, "update");
      this[_map$5][$updateAll](update);
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[36], 369, 25, "test");
      this[_map$5][$removeWhere](test);
    }
  }
  (MapView.new = function(map) {
    if (map == null) dart.nullFailed(I[36], 322, 27, "map");
    this[_map$8] = map;
    ;
  }).prototype = MapView.prototype;
  MapView.prototype[dart.isMap] = true;
  dart.addTypeTests(MapView);
  MapView.prototype[_is_MapView_default] = true;
  dart.addTypeCaches(MapView);
  MapView[dart.implements] = () => [core.Map$(K, V)];
  dart.setMethodSignature(MapView, () => ({
    __proto__: dart.getMethods(MapView.__proto__),
    cast: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$cast]: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    _get: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    putIfAbsent: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$putIfAbsent]: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    containsKey: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$containsKey]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    containsValue: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$containsValue]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [K, V])]),
    [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [K, V])]),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    addEntries: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addEntries]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    map: dart.gFnType((K2, V2) => [core.Map$(K2, V2), [dart.fnType(core.MapEntry$(K2, V2), [K, V])]], (K2, V2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$map]: dart.gFnType((K2, V2) => [core.Map$(K2, V2), [dart.fnType(core.MapEntry$(K2, V2), [K, V])]], (K2, V2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    update: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
    [$update]: dart.fnType(V, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
    updateAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$updateAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [K, V])]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [K, V])])
  }));
  dart.setGetterSignature(MapView, () => ({
    __proto__: dart.getGetters(MapView.__proto__),
    isEmpty: core.bool,
    [$isEmpty]: core.bool,
    isNotEmpty: core.bool,
    [$isNotEmpty]: core.bool,
    length: core.int,
    [$length]: core.int,
    keys: core.Iterable$(K),
    [$keys]: core.Iterable$(K),
    values: core.Iterable$(V),
    [$values]: core.Iterable$(V),
    entries: core.Iterable$(core.MapEntry$(K, V)),
    [$entries]: core.Iterable$(core.MapEntry$(K, V))
  }));
  dart.setLibraryUri(MapView, I[25]);
  dart.setFieldSignature(MapView, () => ({
    __proto__: dart.getFields(MapView.__proto__),
    [_map$5]: dart.finalFieldType(core.Map$(K, V))
  }));
  dart.defineExtensionMethods(MapView, [
    'cast',
    '_get',
    '_set',
    'addAll',
    'clear',
    'putIfAbsent',
    'containsKey',
    'containsValue',
    'forEach',
    'remove',
    'toString',
    'addEntries',
    'map',
    'update',
    'updateAll',
    'removeWhere'
  ]);
  dart.defineExtensionAccessors(MapView, [
    'isEmpty',
    'isNotEmpty',
    'length',
    'keys',
    'values',
    'entries'
  ]);
  return MapView;
});
collection.MapView = collection.MapView$();
dart.addTypeTests(collection.MapView, _is_MapView_default);
const _is_UnmodifiableMapView_default = Symbol('_is_UnmodifiableMapView_default');
collection.UnmodifiableMapView$ = dart.generic((K, V) => {
  const MapView__UnmodifiableMapMixin$36 = class MapView__UnmodifiableMapMixin extends collection.MapView$(K, V) {};
  (MapView__UnmodifiableMapMixin$36.new = function(map) {
    MapView__UnmodifiableMapMixin$36.__proto__.new.call(this, map);
  }).prototype = MapView__UnmodifiableMapMixin$36.prototype;
  dart.applyMixin(MapView__UnmodifiableMapMixin$36, collection._UnmodifiableMapMixin$(K, V));
  class UnmodifiableMapView extends MapView__UnmodifiableMapMixin$36 {
    cast(RK, RV) {
      return new (collection.UnmodifiableMapView$(RK, RV)).new(this[_map$5][$cast](RK, RV));
    }
  }
  (UnmodifiableMapView.new = function(map) {
    if (map == null) dart.nullFailed(I[36], 381, 33, "map");
    UnmodifiableMapView.__proto__.new.call(this, map);
    ;
  }).prototype = UnmodifiableMapView.prototype;
  dart.addTypeTests(UnmodifiableMapView);
  UnmodifiableMapView.prototype[_is_UnmodifiableMapView_default] = true;
  dart.addTypeCaches(UnmodifiableMapView);
  dart.setMethodSignature(UnmodifiableMapView, () => ({
    __proto__: dart.getMethods(UnmodifiableMapView.__proto__),
    cast: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$cast]: dart.gFnType((RK, RV) => [core.Map$(RK, RV), []], (RK, RV) => [dart.nullable(core.Object), dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(UnmodifiableMapView, I[25]);
  dart.defineExtensionMethods(UnmodifiableMapView, ['cast']);
  return UnmodifiableMapView;
});
collection.UnmodifiableMapView = collection.UnmodifiableMapView$();
dart.addTypeTests(collection.UnmodifiableMapView, _is_UnmodifiableMapView_default);
const _is_Queue_default = Symbol('_is_Queue_default');
collection.Queue$ = dart.generic(E => {
  class Queue extends core.Object {
    static castFrom(S, T, source) {
      if (source == null) dart.nullFailed(I[84], 60, 43, "source");
      return new (_internal.CastQueue$(S, T)).new(source);
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
  }
  (Queue[dart.mixinNew] = function() {
  }).prototype = Queue.prototype;
  dart.addTypeTests(Queue);
  Queue.prototype[_is_Queue_default] = true;
  dart.addTypeCaches(Queue);
  Queue[dart.implements] = () => [_internal.EfficientLengthIterable$(E)];
  dart.setLibraryUri(Queue, I[25]);
  return Queue;
});
collection.Queue = collection.Queue$();
dart.addTypeTests(collection.Queue, _is_Queue_default);
var _previousLink = dart.privateName(collection, "_DoubleLink._previousLink");
var _nextLink = dart.privateName(collection, "_DoubleLink._nextLink");
var _previousLink$ = dart.privateName(collection, "_previousLink");
var _nextLink$ = dart.privateName(collection, "_nextLink");
var _link = dart.privateName(collection, "_link");
const _is__DoubleLink_default = Symbol('_is__DoubleLink_default');
collection._DoubleLink$ = dart.generic(Link => {
  var __t$LinkN = () => (__t$LinkN = dart.constFn(dart.nullable(Link)))();
  class _DoubleLink extends core.Object {
    get [_previousLink$]() {
      return this[_previousLink];
    }
    set [_previousLink$](value) {
      this[_previousLink] = __t$LinkN().as(value);
    }
    get [_nextLink$]() {
      return this[_nextLink];
    }
    set [_nextLink$](value) {
      this[_nextLink] = __t$LinkN().as(value);
    }
    [_link](previous, next) {
      this[_nextLink$] = next;
      this[_previousLink$] = previous;
      if (previous != null) previous[_nextLink$] = Link.as(this);
      if (next != null) next[_previousLink$] = Link.as(this);
    }
    [_unlink]() {
      if (this[_previousLink$] != null) dart.nullCheck(this[_previousLink$])[_nextLink$] = this[_nextLink$];
      if (this[_nextLink$] != null) dart.nullCheck(this[_nextLink$])[_previousLink$] = this[_previousLink$];
      this[_nextLink$] = null;
      this[_previousLink$] = null;
    }
  }
  (_DoubleLink.new = function() {
    this[_previousLink] = null;
    this[_nextLink] = null;
    ;
  }).prototype = _DoubleLink.prototype;
  dart.addTypeTests(_DoubleLink);
  _DoubleLink.prototype[_is__DoubleLink_default] = true;
  dart.addTypeCaches(_DoubleLink);
  dart.setMethodSignature(_DoubleLink, () => ({
    __proto__: dart.getMethods(_DoubleLink.__proto__),
    [_link]: dart.fnType(dart.void, [dart.nullable(Link), dart.nullable(Link)]),
    [_unlink]: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_DoubleLink, I[25]);
  dart.setFieldSignature(_DoubleLink, () => ({
    __proto__: dart.getFields(_DoubleLink.__proto__),
    [_previousLink$]: dart.fieldType(dart.nullable(Link)),
    [_nextLink$]: dart.fieldType(dart.nullable(Link))
  }));
  return _DoubleLink;
});
collection._DoubleLink = collection._DoubleLink$();
dart.addTypeTests(collection._DoubleLink, _is__DoubleLink_default);
var _element$ = dart.privateName(collection, "DoubleLinkedQueueEntry._element");
var _element = dart.privateName(collection, "_element");
const _is_DoubleLinkedQueueEntry_default = Symbol('_is_DoubleLinkedQueueEntry_default');
collection.DoubleLinkedQueueEntry$ = dart.generic(E => {
  var __t$DoubleLinkedQueueEntryOfE = () => (__t$DoubleLinkedQueueEntryOfE = dart.constFn(collection.DoubleLinkedQueueEntry$(E)))();
  class DoubleLinkedQueueEntry extends collection._DoubleLink {
    get [_element]() {
      return this[_element$];
    }
    set [_element](value) {
      this[_element$] = value;
    }
    get element() {
      return E.as(this[_element]);
    }
    set element(element) {
      E.as(element);
      this[_element] = element;
    }
    append(e) {
      E.as(e);
      new (__t$DoubleLinkedQueueEntryOfE()).new(e)[_link](this, this[_nextLink$]);
    }
    prepend(e) {
      E.as(e);
      new (__t$DoubleLinkedQueueEntryOfE()).new(e)[_link](this[_previousLink$], this);
    }
    remove() {
      this[_unlink]();
      return this.element;
    }
    previousEntry() {
      return this[_previousLink$];
    }
    nextEntry() {
      return this[_nextLink$];
    }
  }
  (DoubleLinkedQueueEntry.new = function(_element) {
    this[_element$] = _element;
    DoubleLinkedQueueEntry.__proto__.new.call(this);
    ;
  }).prototype = DoubleLinkedQueueEntry.prototype;
  dart.addTypeTests(DoubleLinkedQueueEntry);
  DoubleLinkedQueueEntry.prototype[_is_DoubleLinkedQueueEntry_default] = true;
  dart.addTypeCaches(DoubleLinkedQueueEntry);
  dart.setMethodSignature(DoubleLinkedQueueEntry, () => ({
    __proto__: dart.getMethods(DoubleLinkedQueueEntry.__proto__),
    append: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    prepend: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(E, []),
    previousEntry: dart.fnType(dart.nullable(collection.DoubleLinkedQueueEntry$(E)), []),
    nextEntry: dart.fnType(dart.nullable(collection.DoubleLinkedQueueEntry$(E)), [])
  }));
  dart.setGetterSignature(DoubleLinkedQueueEntry, () => ({
    __proto__: dart.getGetters(DoubleLinkedQueueEntry.__proto__),
    element: E
  }));
  dart.setSetterSignature(DoubleLinkedQueueEntry, () => ({
    __proto__: dart.getSetters(DoubleLinkedQueueEntry.__proto__),
    element: dart.nullable(core.Object)
  }));
  dart.setLibraryUri(DoubleLinkedQueueEntry, I[25]);
  dart.setFieldSignature(DoubleLinkedQueueEntry, () => ({
    __proto__: dart.getFields(DoubleLinkedQueueEntry.__proto__),
    [_element]: dart.fieldType(dart.nullable(E))
  }));
  return DoubleLinkedQueueEntry;
}, E => {
  dart.setBaseClass(collection.DoubleLinkedQueueEntry$(E), collection._DoubleLink$(collection.DoubleLinkedQueueEntry$(E)));
});
collection.DoubleLinkedQueueEntry = collection.DoubleLinkedQueueEntry$();
dart.addTypeTests(collection.DoubleLinkedQueueEntry, _is_DoubleLinkedQueueEntry_default);
var _queue$ = dart.privateName(collection, "_queue");
var _append = dart.privateName(collection, "_append");
var _prepend = dart.privateName(collection, "_prepend");
var _asNonSentinelEntry = dart.privateName(collection, "_asNonSentinelEntry");
const _is__DoubleLinkedQueueEntry_default = Symbol('_is__DoubleLinkedQueueEntry_default');
collection._DoubleLinkedQueueEntry$ = dart.generic(E => {
  var __t$_DoubleLinkedQueueElementOfE = () => (__t$_DoubleLinkedQueueElementOfE = dart.constFn(collection._DoubleLinkedQueueElement$(E)))();
  var __t$_DoubleLinkedQueueEntryOfE = () => (__t$_DoubleLinkedQueueEntryOfE = dart.constFn(collection._DoubleLinkedQueueEntry$(E)))();
  class _DoubleLinkedQueueEntry extends collection.DoubleLinkedQueueEntry$(E) {
    [_append](e) {
      E.as(e);
      new (__t$_DoubleLinkedQueueElementOfE()).new(e, this[_queue$])[_link](this, this[_nextLink$]);
    }
    [_prepend](e) {
      E.as(e);
      new (__t$_DoubleLinkedQueueElementOfE()).new(e, this[_queue$])[_link](this[_previousLink$], this);
    }
    get [_element]() {
      return E.as(super[_element]);
    }
    set [_element](value) {
      super[_element] = value;
    }
    nextEntry() {
      let entry = __t$_DoubleLinkedQueueEntryOfE().as(this[_nextLink$]);
      return entry[_asNonSentinelEntry]();
    }
    previousEntry() {
      let entry = __t$_DoubleLinkedQueueEntryOfE().as(this[_previousLink$]);
      return entry[_asNonSentinelEntry]();
    }
  }
  (_DoubleLinkedQueueEntry.new = function(element, _queue) {
    this[_queue$] = _queue;
    _DoubleLinkedQueueEntry.__proto__.new.call(this, element);
    ;
  }).prototype = _DoubleLinkedQueueEntry.prototype;
  dart.addTypeTests(_DoubleLinkedQueueEntry);
  _DoubleLinkedQueueEntry.prototype[_is__DoubleLinkedQueueEntry_default] = true;
  dart.addTypeCaches(_DoubleLinkedQueueEntry);
  dart.setMethodSignature(_DoubleLinkedQueueEntry, () => ({
    __proto__: dart.getMethods(_DoubleLinkedQueueEntry.__proto__),
    [_append]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [_prepend]: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_DoubleLinkedQueueEntry, () => ({
    __proto__: dart.getGetters(_DoubleLinkedQueueEntry.__proto__),
    [_element]: E
  }));
  dart.setLibraryUri(_DoubleLinkedQueueEntry, I[25]);
  dart.setFieldSignature(_DoubleLinkedQueueEntry, () => ({
    __proto__: dart.getFields(_DoubleLinkedQueueEntry.__proto__),
    [_queue$]: dart.fieldType(dart.nullable(collection.DoubleLinkedQueue$(E)))
  }));
  return _DoubleLinkedQueueEntry;
});
collection._DoubleLinkedQueueEntry = collection._DoubleLinkedQueueEntry$();
dart.addTypeTests(collection._DoubleLinkedQueueEntry, _is__DoubleLinkedQueueEntry_default);
var _elementCount = dart.privateName(collection, "_elementCount");
var _remove = dart.privateName(collection, "_remove");
const _is__DoubleLinkedQueueElement_default = Symbol('_is__DoubleLinkedQueueElement_default');
collection._DoubleLinkedQueueElement$ = dart.generic(E => {
  class _DoubleLinkedQueueElement extends collection._DoubleLinkedQueueEntry$(E) {
    append(e) {
      let t175;
      E.as(e);
      this[_append](e);
      if (this[_queue$] != null) {
        t175 = dart.nullCheck(this[_queue$]);
        t175[_elementCount] = dart.notNull(t175[_elementCount]) + 1;
      }
    }
    prepend(e) {
      let t175;
      E.as(e);
      this[_prepend](e);
      if (this[_queue$] != null) {
        t175 = dart.nullCheck(this[_queue$]);
        t175[_elementCount] = dart.notNull(t175[_elementCount]) + 1;
      }
    }
    [_remove]() {
      this[_queue$] = null;
      this[_unlink]();
      return this.element;
    }
    remove() {
      let t175;
      if (this[_queue$] != null) {
        t175 = dart.nullCheck(this[_queue$]);
        t175[_elementCount] = dart.notNull(t175[_elementCount]) - 1;
      }
      return this[_remove]();
    }
    [_asNonSentinelEntry]() {
      return this;
    }
  }
  (_DoubleLinkedQueueElement.new = function(element, queue) {
    _DoubleLinkedQueueElement.__proto__.new.call(this, element, queue);
    ;
  }).prototype = _DoubleLinkedQueueElement.prototype;
  dart.addTypeTests(_DoubleLinkedQueueElement);
  _DoubleLinkedQueueElement.prototype[_is__DoubleLinkedQueueElement_default] = true;
  dart.addTypeCaches(_DoubleLinkedQueueElement);
  dart.setMethodSignature(_DoubleLinkedQueueElement, () => ({
    __proto__: dart.getMethods(_DoubleLinkedQueueElement.__proto__),
    [_remove]: dart.fnType(E, []),
    [_asNonSentinelEntry]: dart.fnType(dart.nullable(collection._DoubleLinkedQueueElement$(E)), [])
  }));
  dart.setLibraryUri(_DoubleLinkedQueueElement, I[25]);
  return _DoubleLinkedQueueElement;
});
collection._DoubleLinkedQueueElement = collection._DoubleLinkedQueueElement$();
dart.addTypeTests(collection._DoubleLinkedQueueElement, _is__DoubleLinkedQueueElement_default);
const _is__DoubleLinkedQueueSentinel_default = Symbol('_is__DoubleLinkedQueueSentinel_default');
collection._DoubleLinkedQueueSentinel$ = dart.generic(E => {
  class _DoubleLinkedQueueSentinel extends collection._DoubleLinkedQueueEntry$(E) {
    [_asNonSentinelEntry]() {
      return null;
    }
    [_remove]() {
      dart.throw(_internal.IterableElementError.noElement());
    }
    get [_element]() {
      dart.throw(_internal.IterableElementError.noElement());
    }
    set [_element](value) {
      super[_element] = value;
    }
  }
  (_DoubleLinkedQueueSentinel.new = function(queue) {
    if (queue == null) dart.nullFailed(I[84], 259, 51, "queue");
    _DoubleLinkedQueueSentinel.__proto__.new.call(this, null, queue);
    this[_previousLink$] = this;
    this[_nextLink$] = this;
  }).prototype = _DoubleLinkedQueueSentinel.prototype;
  dart.addTypeTests(_DoubleLinkedQueueSentinel);
  _DoubleLinkedQueueSentinel.prototype[_is__DoubleLinkedQueueSentinel_default] = true;
  dart.addTypeCaches(_DoubleLinkedQueueSentinel);
  dart.setMethodSignature(_DoubleLinkedQueueSentinel, () => ({
    __proto__: dart.getMethods(_DoubleLinkedQueueSentinel.__proto__),
    [_asNonSentinelEntry]: dart.fnType(dart.nullable(collection.DoubleLinkedQueueEntry$(E)), []),
    [_remove]: dart.fnType(E, [])
  }));
  dart.setLibraryUri(_DoubleLinkedQueueSentinel, I[25]);
  return _DoubleLinkedQueueSentinel;
});
collection._DoubleLinkedQueueSentinel = collection._DoubleLinkedQueueSentinel$();
dart.addTypeTests(collection._DoubleLinkedQueueSentinel, _is__DoubleLinkedQueueSentinel_default);
var __DoubleLinkedQueue__sentinel = dart.privateName(collection, "_#DoubleLinkedQueue#_sentinel");
var __DoubleLinkedQueue__sentinel_isSet = dart.privateName(collection, "_#DoubleLinkedQueue#_sentinel#isSet");
var _sentinel = dart.privateName(collection, "_sentinel");
const _is_DoubleLinkedQueue_default = Symbol('_is_DoubleLinkedQueue_default');
collection.DoubleLinkedQueue$ = dart.generic(E => {
  var __t$_DoubleLinkedQueueSentinelOfE = () => (__t$_DoubleLinkedQueueSentinelOfE = dart.constFn(collection._DoubleLinkedQueueSentinel$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$_DoubleLinkedQueueEntryOfE = () => (__t$_DoubleLinkedQueueEntryOfE = dart.constFn(collection._DoubleLinkedQueueEntry$(E)))();
  var __t$_DoubleLinkedQueueElementOfE = () => (__t$_DoubleLinkedQueueElementOfE = dart.constFn(collection._DoubleLinkedQueueElement$(E)))();
  var __t$_DoubleLinkedQueueIteratorOfE = () => (__t$_DoubleLinkedQueueIteratorOfE = dart.constFn(collection._DoubleLinkedQueueIterator$(E)))();
  class DoubleLinkedQueue extends core.Iterable$(E) {
    get [_sentinel]() {
      let t175;
      if (!dart.test(this[__DoubleLinkedQueue__sentinel_isSet])) {
        this[__DoubleLinkedQueue__sentinel] = new (__t$_DoubleLinkedQueueSentinelOfE()).new(this);
        this[__DoubleLinkedQueue__sentinel_isSet] = true;
      }
      t175 = this[__DoubleLinkedQueue__sentinel];
      return t175;
    }
    set [_sentinel](t175) {
      if (t175 == null) dart.nullFailed(I[84], 283, 38, "null");
      this[__DoubleLinkedQueue__sentinel_isSet] = true;
      this[__DoubleLinkedQueue__sentinel] = t175;
    }
    static from(elements) {
      if (elements == null) dart.nullFailed(I[84], 303, 52, "elements");
      let list = new (collection.DoubleLinkedQueue$(E)).new();
      for (let e of elements) {
        list.addLast(E.as(e));
      }
      return list;
    }
    static of(elements) {
      let t176;
      if (elements == null) dart.nullFailed(I[84], 315, 44, "elements");
      t176 = new (collection.DoubleLinkedQueue$(E)).new();
      return (() => {
        t176.addAll(elements);
        return t176;
      })();
    }
    cast(R) {
      return collection.Queue.castFrom(E, R, this);
    }
    get length() {
      return this[_elementCount];
    }
    addLast(value) {
      E.as(value);
      this[_sentinel][_prepend](value);
      this[_elementCount] = dart.notNull(this[_elementCount]) + 1;
    }
    addFirst(value) {
      E.as(value);
      this[_sentinel][_append](value);
      this[_elementCount] = dart.notNull(this[_elementCount]) + 1;
    }
    add(value) {
      E.as(value);
      this[_sentinel][_prepend](value);
      this[_elementCount] = dart.notNull(this[_elementCount]) + 1;
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[84], 337, 27, "iterable");
      for (let value of iterable) {
        this[_sentinel][_prepend](value);
        this[_elementCount] = dart.notNull(this[_elementCount]) + 1;
      }
    }
    removeLast() {
      let lastEntry = __t$_DoubleLinkedQueueEntryOfE().as(this[_sentinel][_previousLink$]);
      let result = lastEntry[_remove]();
      this[_elementCount] = dart.notNull(this[_elementCount]) - 1;
      return result;
    }
    removeFirst() {
      let firstEntry = __t$_DoubleLinkedQueueEntryOfE().as(this[_sentinel][_nextLink$]);
      let result = firstEntry[_remove]();
      this[_elementCount] = dart.notNull(this[_elementCount]) - 1;
      return result;
    }
    remove(o) {
      let entry = __t$_DoubleLinkedQueueEntryOfE().as(this[_sentinel][_nextLink$]);
      while (entry != this[_sentinel]) {
        let equals = dart.equals(entry[_element], o);
        if (this !== entry[_queue$]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        if (equals) {
          entry[_remove]();
          this[_elementCount] = dart.notNull(this[_elementCount]) - 1;
          return true;
        }
        entry = __t$_DoubleLinkedQueueEntryOfE().as(entry[_nextLink$]);
      }
      return false;
    }
    [_filter](test, removeMatching) {
      if (test == null) dart.nullFailed(I[84], 379, 21, "test");
      if (removeMatching == null) dart.nullFailed(I[84], 379, 43, "removeMatching");
      let entry = __t$_DoubleLinkedQueueEntryOfE().as(this[_sentinel][_nextLink$]);
      while (entry != this[_sentinel]) {
        let matches = test(entry[_element]);
        if (this !== entry[_queue$]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        let next = dart.nullCheck(entry[_nextLink$]);
        if (removeMatching == matches) {
          entry[_remove]();
          this[_elementCount] = dart.notNull(this[_elementCount]) - 1;
        }
        entry = __t$_DoubleLinkedQueueEntryOfE().as(next);
      }
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[84], 397, 25, "test");
      this[_filter](test, true);
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[84], 401, 25, "test");
      this[_filter](test, false);
    }
    get first() {
      let firstEntry = dart.nullCheck(this[_sentinel][_nextLink$]);
      return E.as(firstEntry[_element]);
    }
    get last() {
      let lastEntry = dart.nullCheck(this[_sentinel][_previousLink$]);
      return E.as(lastEntry[_element]);
    }
    get single() {
      if (this[_sentinel][_nextLink$] == this[_sentinel][_previousLink$]) {
        let entry = dart.nullCheck(this[_sentinel][_nextLink$]);
        return E.as(entry[_element]);
      }
      dart.throw(_internal.IterableElementError.tooMany());
    }
    firstEntry() {
      return this[_sentinel].nextEntry();
    }
    lastEntry() {
      return this[_sentinel].previousEntry();
    }
    get isEmpty() {
      return this[_sentinel][_nextLink$] == this[_sentinel];
    }
    clear() {
      this[_sentinel][_nextLink$] = this[_sentinel];
      this[_sentinel][_previousLink$] = this[_sentinel];
      this[_elementCount] = 0;
    }
    forEachEntry(action) {
      if (action == null) dart.nullFailed(I[84], 479, 26, "action");
      let entry = __t$_DoubleLinkedQueueEntryOfE().as(this[_sentinel][_nextLink$]);
      while (entry != this[_sentinel]) {
        let element = __t$_DoubleLinkedQueueElementOfE().as(entry);
        let next = __t$_DoubleLinkedQueueEntryOfE().as(element[_nextLink$]);
        action(element);
        if (this === entry[_queue$]) {
          next = __t$_DoubleLinkedQueueEntryOfE().as(entry[_nextLink$]);
        } else if (this !== next[_queue$]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        entry = next;
      }
    }
    get iterator() {
      return new (__t$_DoubleLinkedQueueIteratorOfE()).new(this[_sentinel]);
    }
    toString() {
      return collection.IterableBase.iterableToFullString(this, "{", "}");
    }
  }
  (DoubleLinkedQueue.new = function() {
    this[__DoubleLinkedQueue__sentinel] = null;
    this[__DoubleLinkedQueue__sentinel_isSet] = false;
    this[_elementCount] = 0;
    DoubleLinkedQueue.__proto__.new.call(this);
    ;
  }).prototype = DoubleLinkedQueue.prototype;
  dart.addTypeTests(DoubleLinkedQueue);
  DoubleLinkedQueue.prototype[_is_DoubleLinkedQueue_default] = true;
  dart.addTypeCaches(DoubleLinkedQueue);
  DoubleLinkedQueue[dart.implements] = () => [collection.Queue$(E)];
  dart.setMethodSignature(DoubleLinkedQueue, () => ({
    __proto__: dart.getMethods(DoubleLinkedQueue.__proto__),
    cast: dart.gFnType(R => [collection.Queue$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [collection.Queue$(R), []], R => [dart.nullable(core.Object)]),
    addLast: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addFirst: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    removeLast: dart.fnType(E, []),
    removeFirst: dart.fnType(E, []),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [_filter]: dart.fnType(dart.void, [dart.fnType(core.bool, [E]), core.bool]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    firstEntry: dart.fnType(dart.nullable(collection.DoubleLinkedQueueEntry$(E)), []),
    lastEntry: dart.fnType(dart.nullable(collection.DoubleLinkedQueueEntry$(E)), []),
    clear: dart.fnType(dart.void, []),
    forEachEntry: dart.fnType(dart.void, [dart.fnType(dart.void, [collection.DoubleLinkedQueueEntry$(E)])])
  }));
  dart.setGetterSignature(DoubleLinkedQueue, () => ({
    __proto__: dart.getGetters(DoubleLinkedQueue.__proto__),
    [_sentinel]: collection._DoubleLinkedQueueSentinel$(E),
    iterator: collection._DoubleLinkedQueueIterator$(E),
    [$iterator]: collection._DoubleLinkedQueueIterator$(E)
  }));
  dart.setSetterSignature(DoubleLinkedQueue, () => ({
    __proto__: dart.getSetters(DoubleLinkedQueue.__proto__),
    [_sentinel]: collection._DoubleLinkedQueueSentinel$(E)
  }));
  dart.setLibraryUri(DoubleLinkedQueue, I[25]);
  dart.setFieldSignature(DoubleLinkedQueue, () => ({
    __proto__: dart.getFields(DoubleLinkedQueue.__proto__),
    [__DoubleLinkedQueue__sentinel]: dart.fieldType(dart.nullable(collection._DoubleLinkedQueueSentinel$(E))),
    [__DoubleLinkedQueue__sentinel_isSet]: dart.fieldType(core.bool),
    [_elementCount]: dart.fieldType(core.int)
  }));
  dart.defineExtensionMethods(DoubleLinkedQueue, ['cast', 'toString']);
  dart.defineExtensionAccessors(DoubleLinkedQueue, [
    'length',
    'first',
    'last',
    'single',
    'isEmpty',
    'iterator'
  ]);
  return DoubleLinkedQueue;
});
collection.DoubleLinkedQueue = collection.DoubleLinkedQueue$();
dart.addTypeTests(collection.DoubleLinkedQueue, _is_DoubleLinkedQueue_default);
var _nextEntry = dart.privateName(collection, "_nextEntry");
const _is__DoubleLinkedQueueIterator_default = Symbol('_is__DoubleLinkedQueueIterator_default');
collection._DoubleLinkedQueueIterator$ = dart.generic(E => {
  var __t$_DoubleLinkedQueueEntryOfE = () => (__t$_DoubleLinkedQueueEntryOfE = dart.constFn(collection._DoubleLinkedQueueEntry$(E)))();
  class _DoubleLinkedQueueIterator extends core.Object {
    moveNext() {
      if (this[_nextEntry] == this[_sentinel]) {
        this[_current$1] = null;
        this[_nextEntry] = null;
        this[_sentinel] = null;
        return false;
      }
      let elementEntry = __t$_DoubleLinkedQueueEntryOfE().as(this[_nextEntry]);
      if (dart.nullCheck(this[_sentinel])[_queue$] != elementEntry[_queue$]) {
        dart.throw(new core.ConcurrentModificationError.new(dart.nullCheck(this[_sentinel])[_queue$]));
      }
      this[_current$1] = elementEntry[_element];
      this[_nextEntry] = elementEntry[_nextLink$];
      return true;
    }
    get current() {
      return E.as(this[_current$1]);
    }
  }
  (_DoubleLinkedQueueIterator.new = function(sentinel) {
    if (sentinel == null) dart.nullFailed(I[84], 513, 60, "sentinel");
    this[_current$1] = null;
    this[_sentinel] = sentinel;
    this[_nextEntry] = sentinel[_nextLink$];
    ;
  }).prototype = _DoubleLinkedQueueIterator.prototype;
  dart.addTypeTests(_DoubleLinkedQueueIterator);
  _DoubleLinkedQueueIterator.prototype[_is__DoubleLinkedQueueIterator_default] = true;
  dart.addTypeCaches(_DoubleLinkedQueueIterator);
  _DoubleLinkedQueueIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(_DoubleLinkedQueueIterator, () => ({
    __proto__: dart.getMethods(_DoubleLinkedQueueIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_DoubleLinkedQueueIterator, () => ({
    __proto__: dart.getGetters(_DoubleLinkedQueueIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(_DoubleLinkedQueueIterator, I[25]);
  dart.setFieldSignature(_DoubleLinkedQueueIterator, () => ({
    __proto__: dart.getFields(_DoubleLinkedQueueIterator.__proto__),
    [_sentinel]: dart.fieldType(dart.nullable(collection._DoubleLinkedQueueSentinel$(E))),
    [_nextEntry]: dart.fieldType(dart.nullable(collection.DoubleLinkedQueueEntry$(E))),
    [_current$1]: dart.fieldType(dart.nullable(E))
  }));
  return _DoubleLinkedQueueIterator;
});
collection._DoubleLinkedQueueIterator = collection._DoubleLinkedQueueIterator$();
dart.addTypeTests(collection._DoubleLinkedQueueIterator, _is__DoubleLinkedQueueIterator_default);
var _head = dart.privateName(collection, "_head");
var _tail = dart.privateName(collection, "_tail");
var _table = dart.privateName(collection, "_table");
var _checkModification = dart.privateName(collection, "_checkModification");
var _add$ = dart.privateName(collection, "_add");
var _preGrow = dart.privateName(collection, "_preGrow");
var _filterWhere = dart.privateName(collection, "_filterWhere");
var _grow$ = dart.privateName(collection, "_grow");
var _writeToList = dart.privateName(collection, "_writeToList");
const _is_ListQueue_default = Symbol('_is_ListQueue_default');
collection.ListQueue$ = dart.generic(E => {
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  var __t$ListOfEN = () => (__t$ListOfEN = dart.constFn(core.List$(__t$EN())))();
  var __t$_ListQueueIteratorOfE = () => (__t$_ListQueueIteratorOfE = dart.constFn(collection._ListQueueIterator$(E)))();
  var __t$ListOfE = () => (__t$ListOfE = dart.constFn(core.List$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  class ListQueue extends _internal.ListIterable$(E) {
    static _calculateCapacity(initialCapacity) {
      if (initialCapacity == null || dart.notNull(initialCapacity) < 8) {
        return 8;
      } else if (!dart.test(collection.ListQueue._isPowerOf2(initialCapacity))) {
        return collection.ListQueue._nextPowerOf2(initialCapacity);
      }
      if (!dart.test(collection.ListQueue._isPowerOf2(initialCapacity))) dart.assertFailed(null, I[84], 566, 12, "_isPowerOf2(initialCapacity)");
      return initialCapacity;
    }
    static from(elements) {
      if (elements == null) dart.nullFailed(I[84], 583, 44, "elements");
      if (core.List.is(elements)) {
        let length = elements[$length];
        let queue = new (collection.ListQueue$(E)).new(dart.notNull(length) + 1);
        if (!(dart.notNull(queue[_table][$length]) > dart.notNull(length))) dart.assertFailed(null, I[84], 587, 14, "queue._table.length > length");
        for (let i = 0; i < dart.notNull(length); i = i + 1) {
          queue[_table][$_set](i, E.as(elements[$_get](i)));
        }
        queue[_tail] = length;
        return queue;
      } else {
        let capacity = 8;
        if (_internal.EfficientLengthIterable.is(elements)) {
          capacity = elements[$length];
        }
        let result = new (collection.ListQueue$(E)).new(capacity);
        for (let element of elements) {
          result.addLast(E.as(element));
        }
        return result;
      }
    }
    static of(elements) {
      let t176;
      if (elements == null) dart.nullFailed(I[84], 610, 36, "elements");
      t176 = new (collection.ListQueue$(E)).new();
      return (() => {
        t176.addAll(elements);
        return t176;
      })();
    }
    cast(R) {
      return collection.Queue.castFrom(E, R, this);
    }
    get iterator() {
      return new (__t$_ListQueueIteratorOfE()).new(this);
    }
    forEach(f) {
      if (f == null) dart.nullFailed(I[84], 618, 21, "f");
      let modificationCount = this[_modificationCount];
      for (let i = this[_head]; i != this[_tail]; i = (dart.notNull(i) + 1 & dart.notNull(this[_table][$length]) - 1) >>> 0) {
        f(E.as(this[_table][$_get](i)));
        this[_checkModification](modificationCount);
      }
    }
    get isEmpty() {
      return this[_head] == this[_tail];
    }
    get length() {
      return (dart.notNull(this[_tail]) - dart.notNull(this[_head]) & dart.notNull(this[_table][$length]) - 1) >>> 0;
    }
    get first() {
      if (this[_head] == this[_tail]) dart.throw(_internal.IterableElementError.noElement());
      return E.as(this[_table][$_get](this[_head]));
    }
    get last() {
      if (this[_head] == this[_tail]) dart.throw(_internal.IterableElementError.noElement());
      return E.as(this[_table][$_get]((dart.notNull(this[_tail]) - 1 & dart.notNull(this[_table][$length]) - 1) >>> 0));
    }
    get single() {
      if (this[_head] == this[_tail]) dart.throw(_internal.IterableElementError.noElement());
      if (dart.notNull(this.length) > 1) dart.throw(_internal.IterableElementError.tooMany());
      return E.as(this[_table][$_get](this[_head]));
    }
    elementAt(index) {
      if (index == null) dart.nullFailed(I[84], 646, 19, "index");
      core.RangeError.checkValidIndex(index, this);
      return E.as(this[_table][$_get]((dart.notNull(this[_head]) + dart.notNull(index) & dart.notNull(this[_table][$length]) - 1) >>> 0));
    }
    toList(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[84], 651, 24, "growable");
      let mask = dart.notNull(this[_table][$length]) - 1;
      let length = (dart.notNull(this[_tail]) - dart.notNull(this[_head]) & mask) >>> 0;
      if (length === 0) return __t$ListOfE().empty({growable: growable});
      let list = __t$ListOfE().filled(length, this.first, {growable: growable});
      for (let i = 0; i < length; i = i + 1) {
        list[$_set](i, E.as(this[_table][$_get]((dart.notNull(this[_head]) + i & mask) >>> 0)));
      }
      return list;
    }
    add(value) {
      E.as(value);
      this[_add$](value);
    }
    addAll(elements) {
      __t$IterableOfE().as(elements);
      if (elements == null) dart.nullFailed(I[84], 669, 27, "elements");
      if (__t$ListOfE().is(elements)) {
        let list = elements;
        let addCount = list[$length];
        let length = this.length;
        if (dart.notNull(length) + dart.notNull(addCount) >= dart.notNull(this[_table][$length])) {
          this[_preGrow](dart.notNull(length) + dart.notNull(addCount));
          this[_table][$setRange](length, dart.notNull(length) + dart.notNull(addCount), list, 0);
          this[_tail] = dart.notNull(this[_tail]) + dart.notNull(addCount);
        } else {
          let endSpace = dart.notNull(this[_table][$length]) - dart.notNull(this[_tail]);
          if (dart.notNull(addCount) < endSpace) {
            this[_table][$setRange](this[_tail], dart.notNull(this[_tail]) + dart.notNull(addCount), list, 0);
            this[_tail] = dart.notNull(this[_tail]) + dart.notNull(addCount);
          } else {
            let preSpace = dart.notNull(addCount) - endSpace;
            this[_table][$setRange](this[_tail], dart.notNull(this[_tail]) + endSpace, list, 0);
            this[_table][$setRange](0, preSpace, list, endSpace);
            this[_tail] = preSpace;
          }
        }
        this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      } else {
        for (let element of elements)
          this[_add$](element);
      }
    }
    remove(value) {
      for (let i = this[_head]; i != this[_tail]; i = (dart.notNull(i) + 1 & dart.notNull(this[_table][$length]) - 1) >>> 0) {
        let element = this[_table][$_get](i);
        if (dart.equals(element, value)) {
          this[_remove](i);
          this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
          return true;
        }
      }
      return false;
    }
    [_filterWhere](test, removeMatching) {
      if (test == null) dart.nullFailed(I[84], 710, 26, "test");
      if (removeMatching == null) dart.nullFailed(I[84], 710, 48, "removeMatching");
      let modificationCount = this[_modificationCount];
      let i = this[_head];
      while (i != this[_tail]) {
        let element = E.as(this[_table][$_get](i));
        let remove = removeMatching == test(element);
        this[_checkModification](modificationCount);
        if (remove) {
          i = this[_remove](i);
          modificationCount = this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
        } else {
          i = (dart.notNull(i) + 1 & dart.notNull(this[_table][$length]) - 1) >>> 0;
        }
      }
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[84], 730, 25, "test");
      this[_filterWhere](test, true);
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[84], 738, 25, "test");
      this[_filterWhere](test, false);
    }
    clear() {
      if (this[_head] != this[_tail]) {
        for (let i = this[_head]; i != this[_tail]; i = (dart.notNull(i) + 1 & dart.notNull(this[_table][$length]) - 1) >>> 0) {
          this[_table][$_set](i, null);
        }
        this[_head] = this[_tail] = 0;
        this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      }
    }
    toString() {
      return collection.IterableBase.iterableToFullString(this, "{", "}");
    }
    addLast(value) {
      E.as(value);
      this[_add$](value);
    }
    addFirst(value) {
      E.as(value);
      this[_head] = (dart.notNull(this[_head]) - 1 & dart.notNull(this[_table][$length]) - 1) >>> 0;
      this[_table][$_set](this[_head], value);
      if (this[_head] == this[_tail]) this[_grow$]();
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
    }
    removeFirst() {
      if (this[_head] == this[_tail]) dart.throw(_internal.IterableElementError.noElement());
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      let result = E.as(this[_table][$_get](this[_head]));
      this[_table][$_set](this[_head], null);
      this[_head] = (dart.notNull(this[_head]) + 1 & dart.notNull(this[_table][$length]) - 1) >>> 0;
      return result;
    }
    removeLast() {
      if (this[_head] == this[_tail]) dart.throw(_internal.IterableElementError.noElement());
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      this[_tail] = (dart.notNull(this[_tail]) - 1 & dart.notNull(this[_table][$length]) - 1) >>> 0;
      let result = E.as(this[_table][$_get](this[_tail]));
      this[_table][$_set](this[_tail], null);
      return result;
    }
    static _isPowerOf2(number) {
      if (number == null) dart.nullFailed(I[84], 790, 31, "number");
      return (dart.notNull(number) & dart.notNull(number) - 1) === 0;
    }
    static _nextPowerOf2(number) {
      if (number == null) dart.nullFailed(I[84], 797, 32, "number");
      if (!(dart.notNull(number) > 0)) dart.assertFailed(null, I[84], 798, 12, "number > 0");
      number = (dart.notNull(number) << 1 >>> 0) - 1;
      for (;;) {
        let nextNumber = (dart.notNull(number) & dart.notNull(number) - 1) >>> 0;
        if (nextNumber === 0) return number;
        number = nextNumber;
      }
    }
    [_checkModification](expectedModificationCount) {
      if (expectedModificationCount == null) dart.nullFailed(I[84], 808, 31, "expectedModificationCount");
      if (expectedModificationCount != this[_modificationCount]) {
        dart.throw(new core.ConcurrentModificationError.new(this));
      }
    }
    [_add$](element) {
      this[_table][$_set](this[_tail], element);
      this[_tail] = (dart.notNull(this[_tail]) + 1 & dart.notNull(this[_table][$length]) - 1) >>> 0;
      if (this[_head] == this[_tail]) this[_grow$]();
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
    }
    [_remove](offset) {
      if (offset == null) dart.nullFailed(I[84], 830, 19, "offset");
      let mask = dart.notNull(this[_table][$length]) - 1;
      let startDistance = (dart.notNull(offset) - dart.notNull(this[_head]) & mask) >>> 0;
      let endDistance = (dart.notNull(this[_tail]) - dart.notNull(offset) & mask) >>> 0;
      if (startDistance < endDistance) {
        let i = offset;
        while (i != this[_head]) {
          let prevOffset = (dart.notNull(i) - 1 & mask) >>> 0;
          this[_table][$_set](i, this[_table][$_get](prevOffset));
          i = prevOffset;
        }
        this[_table][$_set](this[_head], null);
        this[_head] = (dart.notNull(this[_head]) + 1 & mask) >>> 0;
        return (dart.notNull(offset) + 1 & mask) >>> 0;
      } else {
        this[_tail] = (dart.notNull(this[_tail]) - 1 & mask) >>> 0;
        let i = offset;
        while (i != this[_tail]) {
          let nextOffset = (dart.notNull(i) + 1 & mask) >>> 0;
          this[_table][$_set](i, this[_table][$_get](nextOffset));
          i = nextOffset;
        }
        this[_table][$_set](this[_tail], null);
        return offset;
      }
    }
    [_grow$]() {
      let newTable = __t$ListOfEN().filled(dart.notNull(this[_table][$length]) * 2, null);
      let split = dart.notNull(this[_table][$length]) - dart.notNull(this[_head]);
      newTable[$setRange](0, split, this[_table], this[_head]);
      newTable[$setRange](split, split + dart.notNull(this[_head]), this[_table], 0);
      this[_head] = 0;
      this[_tail] = this[_table][$length];
      this[_table] = newTable;
    }
    [_writeToList](target) {
      if (target == null) dart.nullFailed(I[84], 869, 29, "target");
      if (!(dart.notNull(target[$length]) >= dart.notNull(this.length))) dart.assertFailed(null, I[84], 870, 12, "target.length >= length");
      if (dart.notNull(this[_head]) <= dart.notNull(this[_tail])) {
        let length = dart.notNull(this[_tail]) - dart.notNull(this[_head]);
        target[$setRange](0, length, this[_table], this[_head]);
        return length;
      } else {
        let firstPartSize = dart.notNull(this[_table][$length]) - dart.notNull(this[_head]);
        target[$setRange](0, firstPartSize, this[_table], this[_head]);
        target[$setRange](firstPartSize, firstPartSize + dart.notNull(this[_tail]), this[_table], 0);
        return dart.notNull(this[_tail]) + firstPartSize;
      }
    }
    [_preGrow](newElementCount) {
      if (newElementCount == null) dart.nullFailed(I[84], 884, 21, "newElementCount");
      if (!(dart.notNull(newElementCount) >= dart.notNull(this.length))) dart.assertFailed(null, I[84], 885, 12, "newElementCount >= length");
      newElementCount = dart.notNull(newElementCount) + newElementCount[$rightShift](1);
      let newCapacity = collection.ListQueue._nextPowerOf2(newElementCount);
      let newTable = __t$ListOfEN().filled(newCapacity, null);
      this[_tail] = this[_writeToList](newTable);
      this[_table] = newTable;
      this[_head] = 0;
    }
  }
  (ListQueue.new = function(initialCapacity = null) {
    this[_modificationCount] = 0;
    this[_head] = 0;
    this[_tail] = 0;
    this[_table] = __t$ListOfEN().filled(collection.ListQueue._calculateCapacity(initialCapacity), null);
    ListQueue.__proto__.new.call(this);
    ;
  }).prototype = ListQueue.prototype;
  dart.addTypeTests(ListQueue);
  ListQueue.prototype[_is_ListQueue_default] = true;
  dart.addTypeCaches(ListQueue);
  ListQueue[dart.implements] = () => [collection.Queue$(E)];
  dart.setMethodSignature(ListQueue, () => ({
    __proto__: dart.getMethods(ListQueue.__proto__),
    cast: dart.gFnType(R => [collection.Queue$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [collection.Queue$(R), []], R => [dart.nullable(core.Object)]),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [_filterWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E]), core.bool]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    clear: dart.fnType(dart.void, []),
    addLast: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addFirst: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    removeFirst: dart.fnType(E, []),
    removeLast: dart.fnType(E, []),
    [_checkModification]: dart.fnType(dart.void, [core.int]),
    [_add$]: dart.fnType(dart.void, [E]),
    [_remove]: dart.fnType(core.int, [core.int]),
    [_grow$]: dart.fnType(dart.void, []),
    [_writeToList]: dart.fnType(core.int, [core.List$(dart.nullable(E))]),
    [_preGrow]: dart.fnType(dart.void, [core.int])
  }));
  dart.setLibraryUri(ListQueue, I[25]);
  dart.setFieldSignature(ListQueue, () => ({
    __proto__: dart.getFields(ListQueue.__proto__),
    [_table]: dart.fieldType(core.List$(dart.nullable(E))),
    [_head]: dart.fieldType(core.int),
    [_tail]: dart.fieldType(core.int),
    [_modificationCount]: dart.fieldType(core.int)
  }));
  dart.defineExtensionMethods(ListQueue, [
    'cast',
    'forEach',
    'elementAt',
    'toList',
    'toString'
  ]);
  dart.defineExtensionAccessors(ListQueue, [
    'iterator',
    'isEmpty',
    'length',
    'first',
    'last',
    'single'
  ]);
  return ListQueue;
});
collection.ListQueue = collection.ListQueue$();
dart.defineLazy(collection.ListQueue, {
  /*collection.ListQueue._INITIAL_CAPACITY*/get _INITIAL_CAPACITY() {
    return 8;
  }
}, false);
dart.addTypeTests(collection.ListQueue, _is_ListQueue_default);
var _end = dart.privateName(collection, "_end");
var _position = dart.privateName(collection, "_position");
const _is__ListQueueIterator_default = Symbol('_is__ListQueueIterator_default');
collection._ListQueueIterator$ = dart.generic(E => {
  class _ListQueueIterator extends core.Object {
    get current() {
      return E.as(this[_current$1]);
    }
    moveNext() {
      this[_queue$][_checkModification](this[_modificationCount]);
      if (this[_position] == this[_end]) {
        this[_current$1] = null;
        return false;
      }
      this[_current$1] = this[_queue$][_table][$_get](this[_position]);
      this[_position] = (dart.notNull(this[_position]) + 1 & dart.notNull(this[_queue$][_table][$length]) - 1) >>> 0;
      return true;
    }
  }
  (_ListQueueIterator.new = function(queue) {
    if (queue == null) dart.nullFailed(I[84], 908, 35, "queue");
    this[_current$1] = null;
    this[_queue$] = queue;
    this[_end] = queue[_tail];
    this[_modificationCount] = queue[_modificationCount];
    this[_position] = queue[_head];
    ;
  }).prototype = _ListQueueIterator.prototype;
  dart.addTypeTests(_ListQueueIterator);
  _ListQueueIterator.prototype[_is__ListQueueIterator_default] = true;
  dart.addTypeCaches(_ListQueueIterator);
  _ListQueueIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(_ListQueueIterator, () => ({
    __proto__: dart.getMethods(_ListQueueIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_ListQueueIterator, () => ({
    __proto__: dart.getGetters(_ListQueueIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(_ListQueueIterator, I[25]);
  dart.setFieldSignature(_ListQueueIterator, () => ({
    __proto__: dart.getFields(_ListQueueIterator.__proto__),
    [_queue$]: dart.finalFieldType(collection.ListQueue$(E)),
    [_end]: dart.finalFieldType(core.int),
    [_modificationCount]: dart.finalFieldType(core.int),
    [_position]: dart.fieldType(core.int),
    [_current$1]: dart.fieldType(dart.nullable(E))
  }));
  return _ListQueueIterator;
});
collection._ListQueueIterator = collection._ListQueueIterator$();
dart.addTypeTests(collection._ListQueueIterator, _is__ListQueueIterator_default);
const _is_SetBase_default = Symbol('_is_SetBase_default');
collection.SetBase$ = dart.generic(E => {
  const Object_SetMixin$36 = class Object_SetMixin extends core.Object {};
  (Object_SetMixin$36.new = function() {
  }).prototype = Object_SetMixin$36.prototype;
  dart.applyMixin(Object_SetMixin$36, collection.SetMixin$(E));
  class SetBase extends Object_SetMixin$36 {
    static setToString(set) {
      if (set == null) dart.nullFailed(I[76], 306, 33, "set");
      return collection.IterableBase.iterableToFullString(set, "{", "}");
    }
  }
  (SetBase.new = function() {
    ;
  }).prototype = SetBase.prototype;
  dart.addTypeTests(SetBase);
  SetBase.prototype[_is_SetBase_default] = true;
  dart.addTypeCaches(SetBase);
  dart.setLibraryUri(SetBase, I[25]);
  return SetBase;
});
collection.SetBase = collection.SetBase$();
dart.addTypeTests(collection.SetBase, _is_SetBase_default);
const _is__UnmodifiableSetMixin_default = Symbol('_is__UnmodifiableSetMixin_default');
collection._UnmodifiableSetMixin$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  class _UnmodifiableSetMixin extends core.Object {
    static _throwUnmodifiable() {
      dart.throw(new core.UnsupportedError.new("Cannot change an unmodifiable set"));
    }
    add(value) {
      E.as(value);
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    clear() {
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    addAll(elements) {
      __t$IterableOfE().as(elements);
      if (elements == null) dart.nullFailed(I[76], 355, 27, "elements");
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    removeAll(elements) {
      if (elements == null) dart.nullFailed(I[76], 358, 36, "elements");
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    retainAll(elements) {
      if (elements == null) dart.nullFailed(I[76], 361, 36, "elements");
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[76], 364, 25, "test");
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[76], 367, 25, "test");
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    remove(value) {
      collection._UnmodifiableSetMixin._throwUnmodifiable();
      return dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
  }
  (_UnmodifiableSetMixin.new = function() {
    ;
  }).prototype = _UnmodifiableSetMixin.prototype;
  dart.addTypeTests(_UnmodifiableSetMixin);
  _UnmodifiableSetMixin.prototype[_is__UnmodifiableSetMixin_default] = true;
  dart.addTypeCaches(_UnmodifiableSetMixin);
  _UnmodifiableSetMixin[dart.implements] = () => [core.Set$(E)];
  dart.setMethodSignature(_UnmodifiableSetMixin, () => ({
    __proto__: dart.getMethods(_UnmodifiableSetMixin.__proto__),
    add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    removeAll: dart.fnType(dart.void, [core.Iterable$(dart.nullable(core.Object))]),
    retainAll: dart.fnType(dart.void, [core.Iterable$(dart.nullable(core.Object))]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_UnmodifiableSetMixin, I[25]);
  return _UnmodifiableSetMixin;
});
collection._UnmodifiableSetMixin = collection._UnmodifiableSetMixin$();
dart.addTypeTests(collection._UnmodifiableSetMixin, _is__UnmodifiableSetMixin_default);
var _map$9 = dart.privateName(collection, "_UnmodifiableSet._map");
const _is__UnmodifiableSet_default = Symbol('_is__UnmodifiableSet_default');
collection._UnmodifiableSet$ = dart.generic(E => {
  var __t$_HashSetOfE = () => (__t$_HashSetOfE = dart.constFn(collection._HashSet$(E)))();
  const _SetBase__UnmodifiableSetMixin$36 = class _SetBase__UnmodifiableSetMixin extends collection._SetBase$(E) {};
  (_SetBase__UnmodifiableSetMixin$36.new = function() {
    _SetBase__UnmodifiableSetMixin$36.__proto__.new.call(this);
  }).prototype = _SetBase__UnmodifiableSetMixin$36.prototype;
  dart.applyMixin(_SetBase__UnmodifiableSetMixin$36, collection._UnmodifiableSetMixin$(E));
  class _UnmodifiableSet extends _SetBase__UnmodifiableSetMixin$36 {
    get [_map$5]() {
      return this[_map$9];
    }
    set [_map$5](value) {
      super[_map$5] = value;
    }
    [_newSet]() {
      return new (__t$_HashSetOfE()).new();
    }
    [_newSimilarSet](R) {
      return new (collection._HashSet$(R)).new();
    }
    contains(element) {
      return this[_map$5][$containsKey](element);
    }
    get iterator() {
      return this[_map$5][$keys][$iterator];
    }
    get length() {
      return this[_map$5][$length];
    }
    lookup(element) {
      for (let key of this[_map$5][$keys]) {
        if (dart.equals(key, element)) return key;
      }
      return null;
    }
  }
  (_UnmodifiableSet.new = function(_map) {
    if (_map == null) dart.nullFailed(I[76], 377, 31, "_map");
    this[_map$9] = _map;
    _UnmodifiableSet.__proto__.new.call(this);
    ;
  }).prototype = _UnmodifiableSet.prototype;
  dart.addTypeTests(_UnmodifiableSet);
  _UnmodifiableSet.prototype[_is__UnmodifiableSet_default] = true;
  dart.addTypeCaches(_UnmodifiableSet);
  dart.setMethodSignature(_UnmodifiableSet, () => ({
    __proto__: dart.getMethods(_UnmodifiableSet.__proto__),
    [_newSet]: dart.fnType(core.Set$(E), []),
    [_newSimilarSet]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    lookup: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_UnmodifiableSet, () => ({
    __proto__: dart.getGetters(_UnmodifiableSet.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(_UnmodifiableSet, I[25]);
  dart.setFieldSignature(_UnmodifiableSet, () => ({
    __proto__: dart.getFields(_UnmodifiableSet.__proto__),
    [_map$5]: dart.finalFieldType(core.Map$(E, core.Null))
  }));
  dart.defineExtensionMethods(_UnmodifiableSet, ['contains']);
  dart.defineExtensionAccessors(_UnmodifiableSet, ['iterator', 'length']);
  return _UnmodifiableSet;
});
collection._UnmodifiableSet = collection._UnmodifiableSet$();
dart.addTypeTests(collection._UnmodifiableSet, _is__UnmodifiableSet_default);
const _is_UnmodifiableSetView_default = Symbol('_is_UnmodifiableSetView_default');
collection.UnmodifiableSetView$ = dart.generic(E => {
  const SetBase__UnmodifiableSetMixin$36 = class SetBase__UnmodifiableSetMixin extends collection.SetBase$(E) {};
  (SetBase__UnmodifiableSetMixin$36.new = function() {
  }).prototype = SetBase__UnmodifiableSetMixin$36.prototype;
  dart.applyMixin(SetBase__UnmodifiableSetMixin$36, collection._UnmodifiableSetMixin$(E));
  class UnmodifiableSetView extends SetBase__UnmodifiableSetMixin$36 {
    contains(element) {
      return this[_source].contains(element);
    }
    lookup(element) {
      return this[_source].lookup(element);
    }
    get length() {
      return this[_source][$length];
    }
    get iterator() {
      return this[_source].iterator;
    }
    toSet() {
      return this[_source].toSet();
    }
  }
  (UnmodifiableSetView.new = function(source) {
    if (source == null) dart.nullFailed(I[76], 408, 30, "source");
    this[_source] = source;
    ;
  }).prototype = UnmodifiableSetView.prototype;
  dart.addTypeTests(UnmodifiableSetView);
  UnmodifiableSetView.prototype[_is_UnmodifiableSetView_default] = true;
  dart.addTypeCaches(UnmodifiableSetView);
  dart.setMethodSignature(UnmodifiableSetView, () => ({
    __proto__: dart.getMethods(UnmodifiableSetView.__proto__),
    contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    lookup: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)]),
    toSet: dart.fnType(core.Set$(E), []),
    [$toSet]: dart.fnType(core.Set$(E), [])
  }));
  dart.setGetterSignature(UnmodifiableSetView, () => ({
    __proto__: dart.getGetters(UnmodifiableSetView.__proto__),
    length: core.int,
    [$length]: core.int,
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(UnmodifiableSetView, I[25]);
  dart.setFieldSignature(UnmodifiableSetView, () => ({
    __proto__: dart.getFields(UnmodifiableSetView.__proto__),
    [_source]: dart.finalFieldType(core.Set$(E))
  }));
  dart.defineExtensionMethods(UnmodifiableSetView, ['contains', 'toSet']);
  dart.defineExtensionAccessors(UnmodifiableSetView, ['length', 'iterator']);
  return UnmodifiableSetView;
});
collection.UnmodifiableSetView = collection.UnmodifiableSetView$();
dart.addTypeTests(collection.UnmodifiableSetView, _is_UnmodifiableSetView_default);
var _left = dart.privateName(collection, "_SplayTreeNode._left");
var _right = dart.privateName(collection, "_SplayTreeNode._right");
var _left$ = dart.privateName(collection, "_left");
var _right$ = dart.privateName(collection, "_right");
const _is__SplayTreeNode_default = Symbol('_is__SplayTreeNode_default');
collection._SplayTreeNode$ = dart.generic((K, Node) => {
  var __t$NodeN = () => (__t$NodeN = dart.constFn(dart.nullable(Node)))();
  class _SplayTreeNode extends core.Object {
    get [_left$]() {
      return this[_left];
    }
    set [_left$](value) {
      this[_left] = __t$NodeN().as(value);
    }
    get [_right$]() {
      return this[_right];
    }
    set [_right$](value) {
      this[_right] = __t$NodeN().as(value);
    }
  }
  (_SplayTreeNode.new = function(key) {
    this[_left] = null;
    this[_right] = null;
    this.key = key;
    ;
  }).prototype = _SplayTreeNode.prototype;
  dart.addTypeTests(_SplayTreeNode);
  _SplayTreeNode.prototype[_is__SplayTreeNode_default] = true;
  dart.addTypeCaches(_SplayTreeNode);
  dart.setLibraryUri(_SplayTreeNode, I[25]);
  dart.setFieldSignature(_SplayTreeNode, () => ({
    __proto__: dart.getFields(_SplayTreeNode.__proto__),
    key: dart.finalFieldType(K),
    [_left$]: dart.fieldType(dart.nullable(Node)),
    [_right$]: dart.fieldType(dart.nullable(Node))
  }));
  return _SplayTreeNode;
});
collection._SplayTreeNode = collection._SplayTreeNode$();
dart.addTypeTests(collection._SplayTreeNode, _is__SplayTreeNode_default);
const _is__SplayTreeSetNode_default = Symbol('_is__SplayTreeSetNode_default');
collection._SplayTreeSetNode$ = dart.generic(K => {
  class _SplayTreeSetNode extends collection._SplayTreeNode {}
  (_SplayTreeSetNode.new = function(key) {
    _SplayTreeSetNode.__proto__.new.call(this, key);
    ;
  }).prototype = _SplayTreeSetNode.prototype;
  dart.addTypeTests(_SplayTreeSetNode);
  _SplayTreeSetNode.prototype[_is__SplayTreeSetNode_default] = true;
  dart.addTypeCaches(_SplayTreeSetNode);
  dart.setLibraryUri(_SplayTreeSetNode, I[25]);
  return _SplayTreeSetNode;
}, K => {
  dart.setBaseClass(collection._SplayTreeSetNode$(K), collection._SplayTreeNode$(K, collection._SplayTreeSetNode$(K)));
});
collection._SplayTreeSetNode = collection._SplayTreeSetNode$();
dart.addTypeTests(collection._SplayTreeSetNode, _is__SplayTreeSetNode_default);
var _replaceValue = dart.privateName(collection, "_replaceValue");
const _is__SplayTreeMapNode_default = Symbol('_is__SplayTreeMapNode_default');
collection._SplayTreeMapNode$ = dart.generic((K, V) => {
  var __t$_SplayTreeMapNodeOfK$V = () => (__t$_SplayTreeMapNodeOfK$V = dart.constFn(collection._SplayTreeMapNode$(K, V)))();
  class _SplayTreeMapNode extends collection._SplayTreeNode {
    [_replaceValue](value) {
      let t176;
      V.as(value);
      t176 = new (__t$_SplayTreeMapNodeOfK$V()).new(this.key, value);
      return (() => {
        t176[_left$] = this[_left$];
        t176[_right$] = this[_right$];
        return t176;
      })();
    }
    toString() {
      return "MapEntry(" + dart.str(this.key) + ": " + dart.str(this.value) + ")";
    }
  }
  (_SplayTreeMapNode.new = function(key, value) {
    this.value = value;
    _SplayTreeMapNode.__proto__.new.call(this, key);
    ;
  }).prototype = _SplayTreeMapNode.prototype;
  dart.addTypeTests(_SplayTreeMapNode);
  _SplayTreeMapNode.prototype[_is__SplayTreeMapNode_default] = true;
  dart.addTypeCaches(_SplayTreeMapNode);
  _SplayTreeMapNode[dart.implements] = () => [core.MapEntry$(K, V)];
  dart.setMethodSignature(_SplayTreeMapNode, () => ({
    __proto__: dart.getMethods(_SplayTreeMapNode.__proto__),
    [_replaceValue]: dart.fnType(collection._SplayTreeMapNode$(K, V), [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_SplayTreeMapNode, I[25]);
  dart.setFieldSignature(_SplayTreeMapNode, () => ({
    __proto__: dart.getFields(_SplayTreeMapNode.__proto__),
    value: dart.finalFieldType(V)
  }));
  dart.defineExtensionMethods(_SplayTreeMapNode, ['toString']);
  return _SplayTreeMapNode;
}, (K, V) => {
  dart.setBaseClass(collection._SplayTreeMapNode$(K, V), collection._SplayTreeNode$(K, collection._SplayTreeMapNode$(K, V)));
});
collection._SplayTreeMapNode = collection._SplayTreeMapNode$();
dart.addTypeTests(collection._SplayTreeMapNode, _is__SplayTreeMapNode_default);
var _count$ = dart.privateName(collection, "_count");
var _splayCount = dart.privateName(collection, "_splayCount");
var _root = dart.privateName(collection, "_root");
var _compare = dart.privateName(collection, "_compare");
var _splay = dart.privateName(collection, "_splay");
var _splayMin = dart.privateName(collection, "_splayMin");
var _splayMax = dart.privateName(collection, "_splayMax");
var _addNewRoot = dart.privateName(collection, "_addNewRoot");
var _last$ = dart.privateName(collection, "_last");
var _clear$ = dart.privateName(collection, "_clear");
var _containsKey = dart.privateName(collection, "_containsKey");
const _is__SplayTree_default = Symbol('_is__SplayTree_default');
collection._SplayTree$ = dart.generic((K, Node) => {
  class _SplayTree extends core.Object {
    [_splay](key) {
      let t177, t176;
      K.as(key);
      let root = this[_root];
      if (root == null) {
        t176 = key;
        t177 = key;
        this[_compare](t176, t177);
        return -1;
      }
      let right = null;
      let newTreeRight = null;
      let left = null;
      let newTreeLeft = null;
      let current = root;
      let compare = this[_compare];
      let comp = null;
      while (true) {
        comp = compare(current.key, key);
        if (dart.notNull(comp) > 0) {
          let currentLeft = current[_left$];
          if (currentLeft == null) break;
          comp = compare(currentLeft.key, key);
          if (dart.notNull(comp) > 0) {
            current[_left$] = currentLeft[_right$];
            currentLeft[_right$] = current;
            current = currentLeft;
            currentLeft = current[_left$];
            if (currentLeft == null) break;
          }
          if (right == null) {
            newTreeRight = current;
          } else {
            right[_left$] = current;
          }
          right = current;
          current = currentLeft;
        } else if (dart.notNull(comp) < 0) {
          let currentRight = current[_right$];
          if (currentRight == null) break;
          comp = compare(currentRight.key, key);
          if (dart.notNull(comp) < 0) {
            current[_right$] = currentRight[_left$];
            currentRight[_left$] = current;
            current = currentRight;
            currentRight = current[_right$];
            if (currentRight == null) break;
          }
          if (left == null) {
            newTreeLeft = current;
          } else {
            left[_right$] = current;
          }
          left = current;
          current = currentRight;
        } else {
          break;
        }
      }
      if (left != null) {
        left[_right$] = current[_left$];
        current[_left$] = newTreeLeft;
      }
      if (right != null) {
        right[_left$] = current[_right$];
        current[_right$] = newTreeRight;
      }
      if (this[_root] != current) {
        this[_root] = current;
        this[_splayCount] = dart.notNull(this[_splayCount]) + 1;
      }
      return comp;
    }
    [_splayMin](node) {
      if (node == null) dart.nullFailed(I[85], 173, 23, "node");
      let current = node;
      let nextLeft = current[_left$];
      while (nextLeft != null) {
        let left = nextLeft;
        current[_left$] = left[_right$];
        left[_right$] = current;
        current = left;
        nextLeft = current[_left$];
      }
      return current;
    }
    [_splayMax](node) {
      if (node == null) dart.nullFailed(I[85], 191, 23, "node");
      let current = node;
      let nextRight = current[_right$];
      while (nextRight != null) {
        let right = nextRight;
        current[_right$] = right[_left$];
        right[_left$] = current;
        current = right;
        nextRight = current[_right$];
      }
      return current;
    }
    [_remove](key) {
      if (this[_root] == null) return null;
      let comp = this[_splay](key);
      if (comp !== 0) return null;
      let root = dart.nullCheck(this[_root]);
      let result = root;
      let left = root[_left$];
      this[_count$] = dart.notNull(this[_count$]) - 1;
      if (left == null) {
        this[_root] = root[_right$];
      } else {
        let right = root[_right$];
        root = this[_splayMax](left);
        root[_right$] = right;
        this[_root] = root;
      }
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      return result;
    }
    [_addNewRoot](node, comp) {
      if (node == null) dart.nullFailed(I[85], 233, 25, "node");
      if (comp == null) dart.nullFailed(I[85], 233, 35, "comp");
      this[_count$] = dart.notNull(this[_count$]) + 1;
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      let root = this[_root];
      if (root == null) {
        this[_root] = node;
        return;
      }
      if (dart.notNull(comp) < 0) {
        node[_left$] = root;
        node[_right$] = root[_right$];
        root[_right$] = null;
      } else {
        node[_right$] = root;
        node[_left$] = root[_left$];
        root[_left$] = null;
      }
      this[_root] = node;
    }
    get [_first]() {
      let root = this[_root];
      if (root == null) return null;
      this[_root] = this[_splayMin](root);
      return this[_root];
    }
    get [_last$]() {
      let root = this[_root];
      if (root == null) return null;
      this[_root] = this[_splayMax](root);
      return this[_root];
    }
    [_clear$]() {
      this[_root] = null;
      this[_count$] = 0;
      this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
    }
    [_containsKey](key) {
      let t176;
      return dart.test((t176 = key, this[_validKey$0](t176))) && this[_splay](K.as(key)) === 0;
    }
  }
  (_SplayTree.new = function() {
    this[_count$] = 0;
    this[_modificationCount] = 0;
    this[_splayCount] = 0;
    ;
  }).prototype = _SplayTree.prototype;
  dart.addTypeTests(_SplayTree);
  _SplayTree.prototype[_is__SplayTree_default] = true;
  dart.addTypeCaches(_SplayTree);
  dart.setMethodSignature(_SplayTree, () => ({
    __proto__: dart.getMethods(_SplayTree.__proto__),
    [_splay]: dart.fnType(core.int, [dart.nullable(core.Object)]),
    [_splayMin]: dart.fnType(Node, [Node]),
    [_splayMax]: dart.fnType(Node, [Node]),
    [_remove]: dart.fnType(dart.nullable(Node), [K]),
    [_addNewRoot]: dart.fnType(dart.void, [Node, core.int]),
    [_clear$]: dart.fnType(dart.void, []),
    [_containsKey]: dart.fnType(core.bool, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_SplayTree, () => ({
    __proto__: dart.getGetters(_SplayTree.__proto__),
    [_first]: dart.nullable(Node),
    [_last$]: dart.nullable(Node)
  }));
  dart.setLibraryUri(_SplayTree, I[25]);
  dart.setFieldSignature(_SplayTree, () => ({
    __proto__: dart.getFields(_SplayTree.__proto__),
    [_count$]: dart.fieldType(core.int),
    [_modificationCount]: dart.fieldType(core.int),
    [_splayCount]: dart.fieldType(core.int)
  }));
  return _SplayTree;
});
collection._SplayTree = collection._SplayTree$();
dart.addTypeTests(collection._SplayTree, _is__SplayTree_default);
var _root$ = dart.privateName(collection, "SplayTreeMap._root");
var _compare$ = dart.privateName(collection, "SplayTreeMap._compare");
var _validKey = dart.privateName(collection, "SplayTreeMap._validKey");
const _is_SplayTreeMap_default = Symbol('_is_SplayTreeMap_default');
collection.SplayTreeMap$ = dart.generic((K, V) => {
  var __t$_SplayTreeMapNodeOfK$V = () => (__t$_SplayTreeMapNodeOfK$V = dart.constFn(collection._SplayTreeMapNode$(K, V)))();
  var __t$KAndVToV = () => (__t$KAndVToV = dart.constFn(dart.fnType(V, [K, V])))();
  var __t$_SplayTreeMapEntryIteratorOfK$V = () => (__t$_SplayTreeMapEntryIteratorOfK$V = dart.constFn(collection._SplayTreeMapEntryIterator$(K, V)))();
  var __t$MapOfK$V = () => (__t$MapOfK$V = dart.constFn(core.Map$(K, V)))();
  var __t$KAndVTovoid = () => (__t$KAndVTovoid = dart.constFn(dart.fnType(dart.void, [K, V])))();
  var __t$_SplayTreeMapNodeNOfK$V = () => (__t$_SplayTreeMapNodeNOfK$V = dart.constFn(dart.nullable(__t$_SplayTreeMapNodeOfK$V())))();
  var __t$_SplayTreeMapNodeNOfK$VTobool = () => (__t$_SplayTreeMapNodeNOfK$VTobool = dart.constFn(dart.fnType(core.bool, [__t$_SplayTreeMapNodeNOfK$V()])))();
  var __t$_SplayTreeKeyIterableOfK$_SplayTreeMapNodeOfK$V = () => (__t$_SplayTreeKeyIterableOfK$_SplayTreeMapNodeOfK$V = dart.constFn(collection._SplayTreeKeyIterable$(K, __t$_SplayTreeMapNodeOfK$V())))();
  var __t$_SplayTreeValueIterableOfK$V = () => (__t$_SplayTreeValueIterableOfK$V = dart.constFn(collection._SplayTreeValueIterable$(K, V)))();
  var __t$_SplayTreeMapEntryIterableOfK$V = () => (__t$_SplayTreeMapEntryIterableOfK$V = dart.constFn(collection._SplayTreeMapEntryIterable$(K, V)))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  var __t$VToV = () => (__t$VToV = dart.constFn(dart.fnType(V, [V])))();
  var __t$VoidToNV = () => (__t$VoidToNV = dart.constFn(dart.nullable(__t$VoidToV())))();
  const _SplayTree_MapMixin$36 = class _SplayTree_MapMixin extends collection._SplayTree$(K, collection._SplayTreeMapNode$(K, V)) {};
  (_SplayTree_MapMixin$36.new = function() {
    _SplayTree_MapMixin$36.__proto__.new.call(this);
  }).prototype = _SplayTree_MapMixin$36.prototype;
  dart.applyMixin(_SplayTree_MapMixin$36, collection.MapMixin$(K, V));
  class SplayTreeMap extends _SplayTree_MapMixin$36 {
    get [_root]() {
      return this[_root$];
    }
    set [_root](value) {
      this[_root$] = value;
    }
    get [_compare]() {
      return this[_compare$];
    }
    set [_compare](value) {
      this[_compare$] = value;
    }
    get [_validKey$0]() {
      return this[_validKey];
    }
    set [_validKey$0](value) {
      this[_validKey] = value;
    }
    static from(other, compare = null, isValidKey = null) {
      if (other == null) dart.nullFailed(I[85], 330, 51, "other");
      if (core.Map$(K, V).is(other)) {
        return collection.SplayTreeMap$(K, V).of(other, compare, isValidKey);
      }
      let result = new (collection.SplayTreeMap$(K, V)).new(compare, isValidKey);
      other[$forEach](dart.fn((k, v) => {
        result._set(K.as(k), V.as(v));
      }, T$.dynamicAnddynamicTovoid()));
      return result;
    }
    static of(other, compare = null, isValidKey = null) {
      let t176;
      if (other == null) dart.nullFailed(I[85], 344, 37, "other");
      t176 = new (collection.SplayTreeMap$(K, V)).new(compare, isValidKey);
      return (() => {
        t176.addAll(other);
        return t176;
      })();
    }
    static fromIterable(iterable, opts) {
      if (iterable == null) dart.nullFailed(I[85], 360, 46, "iterable");
      let key = opts && 'key' in opts ? opts.key : null;
      let value = opts && 'value' in opts ? opts.value : null;
      let compare = opts && 'compare' in opts ? opts.compare : null;
      let isValidKey = opts && 'isValidKey' in opts ? opts.isValidKey : null;
      let map = new (collection.SplayTreeMap$(K, V)).new(compare, isValidKey);
      collection.MapBase._fillMapWithMappedIterable(map, iterable, key, value);
      return map;
    }
    static fromIterables(keys, values, compare = null, isValidKey = null) {
      if (keys == null) dart.nullFailed(I[85], 379, 50, "keys");
      if (values == null) dart.nullFailed(I[85], 379, 68, "values");
      let map = new (collection.SplayTreeMap$(K, V)).new(compare, isValidKey);
      collection.MapBase._fillMapWithIterables(map, keys, values);
      return map;
    }
    _get(key) {
      let t176;
      if (!dart.test((t176 = key, this[_validKey$0](t176)))) return null;
      if (this[_root] != null) {
        let comp = this[_splay](K.as(key));
        if (comp === 0) {
          return dart.nullCheck(this[_root]).value;
        }
      }
      return null;
    }
    remove(key) {
      let t176;
      if (!dart.test((t176 = key, this[_validKey$0](t176)))) return null;
      let mapRoot = this[_remove](K.as(key));
      if (mapRoot != null) return mapRoot.value;
      return null;
    }
    _set(key, value$) {
      let value = value$;
      K.as(key);
      V.as(value);
      let comp = this[_splay](key);
      if (comp === 0) {
        this[_root] = dart.nullCheck(this[_root])[_replaceValue](value);
        this[_splayCount] = dart.notNull(this[_splayCount]) + 1;
        return value$;
      }
      this[_addNewRoot](new (__t$_SplayTreeMapNodeOfK$V()).new(key, value), comp);
      return value$;
    }
    putIfAbsent(key, ifAbsent) {
      K.as(key);
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[85], 418, 26, "ifAbsent");
      let comp = this[_splay](key);
      if (comp === 0) {
        return dart.nullCheck(this[_root]).value;
      }
      let modificationCount = this[_modificationCount];
      let splayCount = this[_splayCount];
      let value = ifAbsent();
      if (modificationCount != this[_modificationCount]) {
        dart.throw(new core.ConcurrentModificationError.new(this));
      }
      if (splayCount != this[_splayCount]) {
        comp = this[_splay](key);
        if (!(comp !== 0)) dart.assertFailed(null, I[85], 432, 14, "comp != 0");
      }
      this[_addNewRoot](new (__t$_SplayTreeMapNodeOfK$V()).new(key, value), comp);
      return value;
    }
    update(key, update, opts) {
      K.as(key);
      __t$VToV().as(update);
      if (update == null) dart.nullFailed(I[85], 438, 21, "update");
      let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
      __t$VoidToNV().as(ifAbsent);
      let comp = this[_splay](key);
      if (comp === 0) {
        let modificationCount = this[_modificationCount];
        let splayCount = this[_splayCount];
        let newValue = update(dart.nullCheck(this[_root]).value);
        if (modificationCount != this[_modificationCount]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        if (splayCount != this[_splayCount]) {
          this[_splay](key);
        }
        this[_root] = dart.nullCheck(this[_root])[_replaceValue](newValue);
        this[_splayCount] = dart.notNull(this[_splayCount]) + 1;
        return newValue;
      }
      if (ifAbsent != null) {
        let modificationCount = this[_modificationCount];
        let splayCount = this[_splayCount];
        let newValue = ifAbsent();
        if (modificationCount != this[_modificationCount]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        if (splayCount != this[_splayCount]) {
          comp = this[_splay](key);
        }
        this[_addNewRoot](new (__t$_SplayTreeMapNodeOfK$V()).new(key, newValue), comp);
        return newValue;
      }
      dart.throw(new core.ArgumentError.value(key, "key", "Key not in map."));
    }
    updateAll(update) {
      __t$KAndVToV().as(update);
      if (update == null) dart.nullFailed(I[85], 470, 20, "update");
      let root = this[_root];
      if (root == null) return;
      let iterator = new (__t$_SplayTreeMapEntryIteratorOfK$V()).new(this);
      while (dart.test(iterator.moveNext())) {
        let node = iterator.current;
        let newValue = update(node.key, node.value);
        iterator[_replaceValue](newValue);
      }
    }
    addAll(other) {
      __t$MapOfK$V().as(other);
      if (other == null) dart.nullFailed(I[85], 481, 25, "other");
      other[$forEach](dart.fn((key, value) => {
        this._set(key, value);
      }, __t$KAndVTovoid()));
    }
    get isEmpty() {
      return this[_root] == null;
    }
    get isNotEmpty() {
      return !dart.test(this.isEmpty);
    }
    forEach(f) {
      if (f == null) dart.nullFailed(I[85], 493, 21, "f");
      let nodes = new (__t$_SplayTreeMapEntryIteratorOfK$V()).new(this);
      while (dart.test(nodes.moveNext())) {
        let node = nodes.current;
        f(node.key, node.value);
      }
    }
    get length() {
      return this[_count$];
    }
    clear() {
      this[_clear$]();
    }
    containsKey(key) {
      return this[_containsKey](key);
    }
    containsValue(value) {
      let initialSplayCount = this[_splayCount];
      const visit = node => {
        while (node != null) {
          if (dart.equals(node.value, value)) return true;
          if (initialSplayCount != this[_splayCount]) {
            dart.throw(new core.ConcurrentModificationError.new(this));
          }
          if (node[_right$] != null && dart.test(visit(node[_right$]))) {
            return true;
          }
          node = node[_left$];
        }
        return false;
      };
      dart.fn(visit, __t$_SplayTreeMapNodeNOfK$VTobool());
      return visit(this[_root]);
    }
    get keys() {
      return new (__t$_SplayTreeKeyIterableOfK$_SplayTreeMapNodeOfK$V()).new(this);
    }
    get values() {
      return new (__t$_SplayTreeValueIterableOfK$V()).new(this);
    }
    get entries() {
      return new (__t$_SplayTreeMapEntryIterableOfK$V()).new(this);
    }
    firstKey() {
      if (this[_root] == null) return null;
      return dart.nullCheck(this[_first]).key;
    }
    lastKey() {
      if (this[_root] == null) return null;
      return dart.nullCheck(this[_last$]).key;
    }
    lastKeyBefore(key) {
      K.as(key);
      if (key == null) dart.throw(new core.ArgumentError.new(key));
      if (this[_root] == null) return null;
      let comp = this[_splay](key);
      if (dart.notNull(comp) < 0) return dart.nullCheck(this[_root]).key;
      let node = dart.nullCheck(this[_root])[_left$];
      if (node == null) return null;
      let nodeRight = node[_right$];
      while (nodeRight != null) {
        node = nodeRight;
        nodeRight = node[_right$];
      }
      return dart.nullCheck(node).key;
    }
    firstKeyAfter(key) {
      K.as(key);
      if (key == null) dart.throw(new core.ArgumentError.new(key));
      if (this[_root] == null) return null;
      let comp = this[_splay](key);
      if (dart.notNull(comp) > 0) return dart.nullCheck(this[_root]).key;
      let node = dart.nullCheck(this[_root])[_right$];
      if (node == null) return null;
      let nodeLeft = node[_left$];
      while (nodeLeft != null) {
        node = nodeLeft;
        nodeLeft = node[_left$];
      }
      return dart.nullCheck(node).key;
    }
  }
  (SplayTreeMap.new = function(compare = null, isValidKey = null) {
    let t176, t176$;
    this[_root$] = null;
    this[_compare$] = (t176 = compare, t176 == null ? collection._defaultCompare(K) : t176);
    this[_validKey] = (t176$ = isValidKey, t176$ == null ? dart.fn(a => K.is(a), T$0.dynamicTobool()) : t176$);
    SplayTreeMap.__proto__.new.call(this);
    ;
  }).prototype = SplayTreeMap.prototype;
  dart.addTypeTests(SplayTreeMap);
  SplayTreeMap.prototype[_is_SplayTreeMap_default] = true;
  dart.addTypeCaches(SplayTreeMap);
  dart.setMethodSignature(SplayTreeMap, () => ({
    __proto__: dart.getMethods(SplayTreeMap.__proto__),
    _get: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    firstKey: dart.fnType(dart.nullable(K), []),
    lastKey: dart.fnType(dart.nullable(K), []),
    lastKeyBefore: dart.fnType(dart.nullable(K), [dart.nullable(core.Object)]),
    firstKeyAfter: dart.fnType(dart.nullable(K), [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(SplayTreeMap, () => ({
    __proto__: dart.getGetters(SplayTreeMap.__proto__),
    keys: core.Iterable$(K),
    [$keys]: core.Iterable$(K)
  }));
  dart.setLibraryUri(SplayTreeMap, I[25]);
  dart.setFieldSignature(SplayTreeMap, () => ({
    __proto__: dart.getFields(SplayTreeMap.__proto__),
    [_root]: dart.fieldType(dart.nullable(collection._SplayTreeMapNode$(K, V))),
    [_compare]: dart.fieldType(dart.fnType(core.int, [K, K])),
    [_validKey$0]: dart.fieldType(dart.fnType(core.bool, [dart.dynamic]))
  }));
  dart.defineExtensionMethods(SplayTreeMap, [
    '_get',
    'remove',
    '_set',
    'putIfAbsent',
    'update',
    'updateAll',
    'addAll',
    'forEach',
    'clear',
    'containsKey',
    'containsValue'
  ]);
  dart.defineExtensionAccessors(SplayTreeMap, [
    'isEmpty',
    'isNotEmpty',
    'length',
    'keys',
    'values',
    'entries'
  ]);
  return SplayTreeMap;
});
collection.SplayTreeMap = collection.SplayTreeMap$();
dart.addTypeTests(collection.SplayTreeMap, _is_SplayTreeMap_default);
var _path = dart.privateName(collection, "_path");
var _tree$ = dart.privateName(collection, "_tree");
var _getValue = dart.privateName(collection, "_getValue");
var _rebuildPath = dart.privateName(collection, "_rebuildPath");
var _findLeftMostDescendent = dart.privateName(collection, "_findLeftMostDescendent");
const _is__SplayTreeIterator_default = Symbol('_is__SplayTreeIterator_default');
collection._SplayTreeIterator$ = dart.generic((K, Node, T) => {
  var __t$JSArrayOfNode = () => (__t$JSArrayOfNode = dart.constFn(_interceptors.JSArray$(Node)))();
  class _SplayTreeIterator extends core.Object {
    get current() {
      if (dart.test(this[_path][$isEmpty])) return T.as(null);
      let node = this[_path][$last];
      return this[_getValue](node);
    }
    [_rebuildPath](key) {
      this[_path][$clear]();
      this[_tree$][_splay](key);
      this[_path][$add](dart.nullCheck(this[_tree$][_root]));
      this[_splayCount] = this[_tree$][_splayCount];
    }
    [_findLeftMostDescendent](node) {
      while (node != null) {
        this[_path][$add](node);
        node = node[_left$];
      }
    }
    moveNext() {
      if (this[_modificationCount] != this[_tree$][_modificationCount]) {
        if (this[_modificationCount] == null) {
          this[_modificationCount] = this[_tree$][_modificationCount];
          let node = this[_tree$][_root];
          while (node != null) {
            this[_path][$add](node);
            node = node[_left$];
          }
          return this[_path][$isNotEmpty];
        }
        dart.throw(new core.ConcurrentModificationError.new(this[_tree$]));
      }
      if (dart.test(this[_path][$isEmpty])) return false;
      if (this[_splayCount] != this[_tree$][_splayCount]) {
        this[_rebuildPath](this[_path][$last].key);
      }
      let node = this[_path][$last];
      let next = node[_right$];
      if (next != null) {
        while (next != null) {
          this[_path][$add](next);
          next = next[_left$];
        }
        return true;
      }
      this[_path][$removeLast]();
      while (dart.test(this[_path][$isNotEmpty]) && this[_path][$last][_right$] == node) {
        node = this[_path][$removeLast]();
      }
      return this[_path][$isNotEmpty];
    }
  }
  (_SplayTreeIterator.new = function(tree) {
    if (tree == null) dart.nullFailed(I[85], 615, 42, "tree");
    this[_path] = __t$JSArrayOfNode().of([]);
    this[_modificationCount] = null;
    this[_tree$] = tree;
    this[_splayCount] = tree[_splayCount];
    ;
  }).prototype = _SplayTreeIterator.prototype;
  dart.addTypeTests(_SplayTreeIterator);
  _SplayTreeIterator.prototype[_is__SplayTreeIterator_default] = true;
  dart.addTypeCaches(_SplayTreeIterator);
  _SplayTreeIterator[dart.implements] = () => [core.Iterator$(T)];
  dart.setMethodSignature(_SplayTreeIterator, () => ({
    __proto__: dart.getMethods(_SplayTreeIterator.__proto__),
    [_rebuildPath]: dart.fnType(dart.void, [K]),
    [_findLeftMostDescendent]: dart.fnType(dart.void, [dart.nullable(Node)]),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_SplayTreeIterator, () => ({
    __proto__: dart.getGetters(_SplayTreeIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(_SplayTreeIterator, I[25]);
  dart.setFieldSignature(_SplayTreeIterator, () => ({
    __proto__: dart.getFields(_SplayTreeIterator.__proto__),
    [_tree$]: dart.finalFieldType(collection._SplayTree$(K, Node)),
    [_path]: dart.finalFieldType(core.List$(Node)),
    [_modificationCount]: dart.fieldType(dart.nullable(core.int)),
    [_splayCount]: dart.fieldType(core.int)
  }));
  return _SplayTreeIterator;
});
collection._SplayTreeIterator = collection._SplayTreeIterator$();
dart.addTypeTests(collection._SplayTreeIterator, _is__SplayTreeIterator_default);
var _copyNode = dart.privateName(collection, "_copyNode");
const _is__SplayTreeKeyIterable_default = Symbol('_is__SplayTreeKeyIterable_default');
collection._SplayTreeKeyIterable$ = dart.generic((K, Node) => {
  var __t$_SplayTreeKeyIteratorOfK$Node = () => (__t$_SplayTreeKeyIteratorOfK$Node = dart.constFn(collection._SplayTreeKeyIterator$(K, Node)))();
  var __t$SplayTreeSetOfK = () => (__t$SplayTreeSetOfK = dart.constFn(collection.SplayTreeSet$(K)))();
  var __t$KAndKToint = () => (__t$KAndKToint = dart.constFn(dart.fnType(core.int, [K, K])))();
  class _SplayTreeKeyIterable extends _internal.EfficientLengthIterable$(K) {
    get length() {
      return this[_tree$][_count$];
    }
    get isEmpty() {
      return this[_tree$][_count$] === 0;
    }
    get iterator() {
      return new (__t$_SplayTreeKeyIteratorOfK$Node()).new(this[_tree$]);
    }
    contains(o) {
      return this[_tree$][_containsKey](o);
    }
    toSet() {
      let set = new (__t$SplayTreeSetOfK()).new(__t$KAndKToint().as(this[_tree$][_compare]), this[_tree$][_validKey$0]);
      set[_count$] = this[_tree$][_count$];
      set[_root] = set[_copyNode](Node, this[_tree$][_root]);
      return set;
    }
  }
  (_SplayTreeKeyIterable.new = function(_tree) {
    if (_tree == null) dart.nullFailed(I[85], 684, 30, "_tree");
    this[_tree$] = _tree;
    _SplayTreeKeyIterable.__proto__.new.call(this);
    ;
  }).prototype = _SplayTreeKeyIterable.prototype;
  dart.addTypeTests(_SplayTreeKeyIterable);
  _SplayTreeKeyIterable.prototype[_is__SplayTreeKeyIterable_default] = true;
  dart.addTypeCaches(_SplayTreeKeyIterable);
  dart.setGetterSignature(_SplayTreeKeyIterable, () => ({
    __proto__: dart.getGetters(_SplayTreeKeyIterable.__proto__),
    iterator: core.Iterator$(K),
    [$iterator]: core.Iterator$(K)
  }));
  dart.setLibraryUri(_SplayTreeKeyIterable, I[25]);
  dart.setFieldSignature(_SplayTreeKeyIterable, () => ({
    __proto__: dart.getFields(_SplayTreeKeyIterable.__proto__),
    [_tree$]: dart.fieldType(collection._SplayTree$(K, Node))
  }));
  dart.defineExtensionMethods(_SplayTreeKeyIterable, ['contains', 'toSet']);
  dart.defineExtensionAccessors(_SplayTreeKeyIterable, ['length', 'isEmpty', 'iterator']);
  return _SplayTreeKeyIterable;
});
collection._SplayTreeKeyIterable = collection._SplayTreeKeyIterable$();
dart.addTypeTests(collection._SplayTreeKeyIterable, _is__SplayTreeKeyIterable_default);
const _is__SplayTreeValueIterable_default = Symbol('_is__SplayTreeValueIterable_default');
collection._SplayTreeValueIterable$ = dart.generic((K, V) => {
  var __t$_SplayTreeValueIteratorOfK$V = () => (__t$_SplayTreeValueIteratorOfK$V = dart.constFn(collection._SplayTreeValueIterator$(K, V)))();
  class _SplayTreeValueIterable extends _internal.EfficientLengthIterable$(V) {
    get length() {
      return this[_map$5][_count$];
    }
    get isEmpty() {
      return this[_map$5][_count$] === 0;
    }
    get iterator() {
      return new (__t$_SplayTreeValueIteratorOfK$V()).new(this[_map$5]);
    }
  }
  (_SplayTreeValueIterable.new = function(_map) {
    if (_map == null) dart.nullFailed(I[85], 701, 32, "_map");
    this[_map$5] = _map;
    _SplayTreeValueIterable.__proto__.new.call(this);
    ;
  }).prototype = _SplayTreeValueIterable.prototype;
  dart.addTypeTests(_SplayTreeValueIterable);
  _SplayTreeValueIterable.prototype[_is__SplayTreeValueIterable_default] = true;
  dart.addTypeCaches(_SplayTreeValueIterable);
  dart.setGetterSignature(_SplayTreeValueIterable, () => ({
    __proto__: dart.getGetters(_SplayTreeValueIterable.__proto__),
    iterator: core.Iterator$(V),
    [$iterator]: core.Iterator$(V)
  }));
  dart.setLibraryUri(_SplayTreeValueIterable, I[25]);
  dart.setFieldSignature(_SplayTreeValueIterable, () => ({
    __proto__: dart.getFields(_SplayTreeValueIterable.__proto__),
    [_map$5]: dart.fieldType(collection.SplayTreeMap$(K, V))
  }));
  dart.defineExtensionAccessors(_SplayTreeValueIterable, ['length', 'isEmpty', 'iterator']);
  return _SplayTreeValueIterable;
});
collection._SplayTreeValueIterable = collection._SplayTreeValueIterable$();
dart.addTypeTests(collection._SplayTreeValueIterable, _is__SplayTreeValueIterable_default);
var key$0 = dart.privateName(core, "MapEntry.key");
var value$2 = dart.privateName(core, "MapEntry.value");
const _is_MapEntry_default = Symbol('_is_MapEntry_default');
core.MapEntry$ = dart.generic((K, V) => {
  class MapEntry extends core.Object {
    get key() {
      return this[key$0];
    }
    set key(value) {
      super.key = value;
    }
    get value() {
      return this[value$2];
    }
    set value(value) {
      super.value = value;
    }
    toString() {
      return "MapEntry(" + dart.str(this.key) + ": " + dart.str(this.value) + ")";
    }
  }
  (MapEntry.__ = function(key, value) {
    this[key$0] = key;
    this[value$2] = value;
    ;
  }).prototype = MapEntry.prototype;
  dart.addTypeTests(MapEntry);
  MapEntry.prototype[_is_MapEntry_default] = true;
  dart.addTypeCaches(MapEntry);
  dart.setLibraryUri(MapEntry, I[9]);
  dart.setFieldSignature(MapEntry, () => ({
    __proto__: dart.getFields(MapEntry.__proto__),
    key: dart.finalFieldType(K),
    value: dart.finalFieldType(V)
  }));
  dart.defineExtensionMethods(MapEntry, ['toString']);
  return MapEntry;
});
core.MapEntry = core.MapEntry$();
dart.addTypeTests(core.MapEntry, _is_MapEntry_default);
const _is__SplayTreeMapEntryIterable_default = Symbol('_is__SplayTreeMapEntryIterable_default');
collection._SplayTreeMapEntryIterable$ = dart.generic((K, V) => {
  var __t$_SplayTreeMapEntryIteratorOfK$V = () => (__t$_SplayTreeMapEntryIteratorOfK$V = dart.constFn(collection._SplayTreeMapEntryIterator$(K, V)))();
  class _SplayTreeMapEntryIterable extends _internal.EfficientLengthIterable$(core.MapEntry$(K, V)) {
    get length() {
      return this[_map$5][_count$];
    }
    get isEmpty() {
      return this[_map$5][_count$] === 0;
    }
    get iterator() {
      return new (__t$_SplayTreeMapEntryIteratorOfK$V()).new(this[_map$5]);
    }
  }
  (_SplayTreeMapEntryIterable.new = function(_map) {
    if (_map == null) dart.nullFailed(I[85], 710, 35, "_map");
    this[_map$5] = _map;
    _SplayTreeMapEntryIterable.__proto__.new.call(this);
    ;
  }).prototype = _SplayTreeMapEntryIterable.prototype;
  dart.addTypeTests(_SplayTreeMapEntryIterable);
  _SplayTreeMapEntryIterable.prototype[_is__SplayTreeMapEntryIterable_default] = true;
  dart.addTypeCaches(_SplayTreeMapEntryIterable);
  dart.setGetterSignature(_SplayTreeMapEntryIterable, () => ({
    __proto__: dart.getGetters(_SplayTreeMapEntryIterable.__proto__),
    iterator: core.Iterator$(core.MapEntry$(K, V)),
    [$iterator]: core.Iterator$(core.MapEntry$(K, V))
  }));
  dart.setLibraryUri(_SplayTreeMapEntryIterable, I[25]);
  dart.setFieldSignature(_SplayTreeMapEntryIterable, () => ({
    __proto__: dart.getFields(_SplayTreeMapEntryIterable.__proto__),
    [_map$5]: dart.fieldType(collection.SplayTreeMap$(K, V))
  }));
  dart.defineExtensionAccessors(_SplayTreeMapEntryIterable, ['length', 'isEmpty', 'iterator']);
  return _SplayTreeMapEntryIterable;
});
collection._SplayTreeMapEntryIterable = collection._SplayTreeMapEntryIterable$();
dart.addTypeTests(collection._SplayTreeMapEntryIterable, _is__SplayTreeMapEntryIterable_default);
const _is__SplayTreeKeyIterator_default = Symbol('_is__SplayTreeKeyIterator_default');
collection._SplayTreeKeyIterator$ = dart.generic((K, Node) => {
  class _SplayTreeKeyIterator extends collection._SplayTreeIterator$(K, Node, K) {
    [_getValue](node) {
      if (node == null) dart.nullFailed(I[85], 720, 20, "node");
      return node.key;
    }
  }
  (_SplayTreeKeyIterator.new = function(map) {
    if (map == null) dart.nullFailed(I[85], 719, 45, "map");
    _SplayTreeKeyIterator.__proto__.new.call(this, map);
    ;
  }).prototype = _SplayTreeKeyIterator.prototype;
  dart.addTypeTests(_SplayTreeKeyIterator);
  _SplayTreeKeyIterator.prototype[_is__SplayTreeKeyIterator_default] = true;
  dart.addTypeCaches(_SplayTreeKeyIterator);
  dart.setMethodSignature(_SplayTreeKeyIterator, () => ({
    __proto__: dart.getMethods(_SplayTreeKeyIterator.__proto__),
    [_getValue]: dart.fnType(K, [Node])
  }));
  dart.setLibraryUri(_SplayTreeKeyIterator, I[25]);
  return _SplayTreeKeyIterator;
});
collection._SplayTreeKeyIterator = collection._SplayTreeKeyIterator$();
dart.addTypeTests(collection._SplayTreeKeyIterator, _is__SplayTreeKeyIterator_default);
const _is__SplayTreeValueIterator_default = Symbol('_is__SplayTreeValueIterator_default');
collection._SplayTreeValueIterator$ = dart.generic((K, V) => {
  class _SplayTreeValueIterator extends collection._SplayTreeIterator$(K, collection._SplayTreeMapNode$(K, V), V) {
    [_getValue](node) {
      if (node == null) dart.nullFailed(I[85], 726, 39, "node");
      return node.value;
    }
  }
  (_SplayTreeValueIterator.new = function(map) {
    if (map == null) dart.nullFailed(I[85], 725, 46, "map");
    _SplayTreeValueIterator.__proto__.new.call(this, map);
    ;
  }).prototype = _SplayTreeValueIterator.prototype;
  dart.addTypeTests(_SplayTreeValueIterator);
  _SplayTreeValueIterator.prototype[_is__SplayTreeValueIterator_default] = true;
  dart.addTypeCaches(_SplayTreeValueIterator);
  dart.setMethodSignature(_SplayTreeValueIterator, () => ({
    __proto__: dart.getMethods(_SplayTreeValueIterator.__proto__),
    [_getValue]: dart.fnType(V, [collection._SplayTreeMapNode$(K, V)])
  }));
  dart.setLibraryUri(_SplayTreeValueIterator, I[25]);
  return _SplayTreeValueIterator;
});
collection._SplayTreeValueIterator = collection._SplayTreeValueIterator$();
dart.addTypeTests(collection._SplayTreeValueIterator, _is__SplayTreeValueIterator_default);
const _is__SplayTreeMapEntryIterator_default = Symbol('_is__SplayTreeMapEntryIterator_default');
collection._SplayTreeMapEntryIterator$ = dart.generic((K, V) => {
  class _SplayTreeMapEntryIterator extends collection._SplayTreeIterator$(K, collection._SplayTreeMapNode$(K, V), core.MapEntry$(K, V)) {
    [_getValue](node) {
      if (node == null) dart.nullFailed(I[85], 732, 52, "node");
      return node;
    }
    [_replaceValue](value) {
      let t176;
      V.as(value);
      if (!dart.test(this[_path][$isNotEmpty])) dart.assertFailed(null, I[85], 736, 12, "_path.isNotEmpty");
      if (this[_modificationCount] != this[_tree$][_modificationCount]) {
        dart.throw(new core.ConcurrentModificationError.new(this[_tree$]));
      }
      if (this[_splayCount] != this[_tree$][_splayCount]) {
        this[_rebuildPath](this[_path][$last].key);
      }
      let last = this[_path][$removeLast]();
      let newLast = last[_replaceValue](value);
      if (dart.test(this[_path][$isEmpty])) {
        this[_tree$][_root] = newLast;
      } else {
        let parent = this[_path][$last];
        if (last == parent[_left$]) {
          parent[_left$] = newLast;
        } else {
          if (!(last == parent[_right$])) dart.assertFailed(null, I[85], 752, 16, "identical(last, parent._right)");
          parent[_right$] = newLast;
        }
      }
      this[_path][$add](newLast);
      this[_splayCount] = (t176 = this[_tree$], t176[_splayCount] = dart.notNull(t176[_splayCount]) + 1);
    }
  }
  (_SplayTreeMapEntryIterator.new = function(tree) {
    if (tree == null) dart.nullFailed(I[85], 731, 49, "tree");
    _SplayTreeMapEntryIterator.__proto__.new.call(this, tree);
    ;
  }).prototype = _SplayTreeMapEntryIterator.prototype;
  dart.addTypeTests(_SplayTreeMapEntryIterator);
  _SplayTreeMapEntryIterator.prototype[_is__SplayTreeMapEntryIterator_default] = true;
  dart.addTypeCaches(_SplayTreeMapEntryIterator);
  dart.setMethodSignature(_SplayTreeMapEntryIterator, () => ({
    __proto__: dart.getMethods(_SplayTreeMapEntryIterator.__proto__),
    [_getValue]: dart.fnType(core.MapEntry$(K, V), [collection._SplayTreeMapNode$(K, V)]),
    [_replaceValue]: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_SplayTreeMapEntryIterator, I[25]);
  return _SplayTreeMapEntryIterator;
});
collection._SplayTreeMapEntryIterator = collection._SplayTreeMapEntryIterator$();
dart.addTypeTests(collection._SplayTreeMapEntryIterator, _is__SplayTreeMapEntryIterator_default);
var _root$0 = dart.privateName(collection, "SplayTreeSet._root");
var _compare$0 = dart.privateName(collection, "SplayTreeSet._compare");
var _validKey$1 = dart.privateName(collection, "SplayTreeSet._validKey");
var _clone$ = dart.privateName(collection, "_clone");
const _is_SplayTreeSet_default = Symbol('_is_SplayTreeSet_default');
collection.SplayTreeSet$ = dart.generic(E => {
  var __t$_SplayTreeSetNodeOfE = () => (__t$_SplayTreeSetNodeOfE = dart.constFn(collection._SplayTreeSetNode$(E)))();
  var __t$_SplayTreeSetNodeNOfE = () => (__t$_SplayTreeSetNodeNOfE = dart.constFn(dart.nullable(__t$_SplayTreeSetNodeOfE())))();
  var __t$_SplayTreeKeyIteratorOfE$_SplayTreeSetNodeOfE = () => (__t$_SplayTreeKeyIteratorOfE$_SplayTreeSetNodeOfE = dart.constFn(collection._SplayTreeKeyIterator$(E, __t$_SplayTreeSetNodeOfE())))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$SplayTreeSetOfE = () => (__t$SplayTreeSetOfE = dart.constFn(collection.SplayTreeSet$(E)))();
  var __t$SetOfE = () => (__t$SetOfE = dart.constFn(core.Set$(E)))();
  const _SplayTree_IterableMixin$36 = class _SplayTree_IterableMixin extends collection._SplayTree$(E, collection._SplayTreeSetNode$(E)) {};
  (_SplayTree_IterableMixin$36.new = function() {
    _SplayTree_IterableMixin$36.__proto__.new.call(this);
  }).prototype = _SplayTree_IterableMixin$36.prototype;
  dart.applyMixin(_SplayTree_IterableMixin$36, collection.IterableMixin$(E));
  const _SplayTree_SetMixin$36 = class _SplayTree_SetMixin extends _SplayTree_IterableMixin$36 {};
  (_SplayTree_SetMixin$36.new = function() {
    _SplayTree_SetMixin$36.__proto__.new.call(this);
  }).prototype = _SplayTree_SetMixin$36.prototype;
  dart.applyMixin(_SplayTree_SetMixin$36, collection.SetMixin$(E));
  class SplayTreeSet extends _SplayTree_SetMixin$36 {
    get [_root]() {
      return this[_root$0];
    }
    set [_root](value) {
      this[_root$0] = __t$_SplayTreeSetNodeNOfE().as(value);
    }
    get [_compare]() {
      return this[_compare$0];
    }
    set [_compare](value) {
      this[_compare$0] = value;
    }
    get [_validKey$0]() {
      return this[_validKey$1];
    }
    set [_validKey$0](value) {
      this[_validKey$1] = value;
    }
    static from(elements, compare = null, isValidKey = null) {
      if (elements == null) dart.nullFailed(I[85], 823, 38, "elements");
      if (core.Iterable$(E).is(elements)) {
        return collection.SplayTreeSet$(E).of(elements, compare, isValidKey);
      }
      let result = new (collection.SplayTreeSet$(E)).new(compare, isValidKey);
      for (let element of elements) {
        result.add(E.as(element));
      }
      return result;
    }
    static of(elements, compare = null, isValidKey = null) {
      let t176;
      if (elements == null) dart.nullFailed(I[85], 841, 39, "elements");
      t176 = new (collection.SplayTreeSet$(E)).new(compare, isValidKey);
      return (() => {
        t176.addAll(elements);
        return t176;
      })();
    }
    [_newSet](T) {
      return new (collection.SplayTreeSet$(T)).new(dart.fn((a, b) => {
        let t177, t176;
        t176 = E.as(a);
        t177 = E.as(b);
        return this[_compare](t176, t177);
      }, dart.fnType(core.int, [T, T])), this[_validKey$0]);
    }
    cast(R) {
      return core.Set.castFrom(E, R, this, {newSet: dart.bind(this, _newSet)});
    }
    get iterator() {
      return new (__t$_SplayTreeKeyIteratorOfE$_SplayTreeSetNodeOfE()).new(this);
    }
    get length() {
      return this[_count$];
    }
    get isEmpty() {
      return this[_root] == null;
    }
    get isNotEmpty() {
      return this[_root] != null;
    }
    get first() {
      if (this[_count$] === 0) dart.throw(_internal.IterableElementError.noElement());
      return dart.nullCheck(this[_first]).key;
    }
    get last() {
      if (this[_count$] === 0) dart.throw(_internal.IterableElementError.noElement());
      return dart.nullCheck(this[_last$]).key;
    }
    get single() {
      if (this[_count$] === 0) dart.throw(_internal.IterableElementError.noElement());
      if (dart.notNull(this[_count$]) > 1) dart.throw(_internal.IterableElementError.tooMany());
      return dart.nullCheck(this[_root]).key;
    }
    contains(element) {
      let t176;
      return dart.test((t176 = element, this[_validKey$0](t176))) && this[_splay](E.as(element)) === 0;
    }
    add(element) {
      E.as(element);
      return this[_add$](element);
    }
    [_add$](element) {
      let compare = this[_splay](element);
      if (compare === 0) return false;
      this[_addNewRoot](new (__t$_SplayTreeSetNodeOfE()).new(element), compare);
      return true;
    }
    remove(object) {
      let t176;
      if (!dart.test((t176 = object, this[_validKey$0](t176)))) return false;
      return this[_remove](E.as(object)) != null;
    }
    addAll(elements) {
      __t$IterableOfE().as(elements);
      if (elements == null) dart.nullFailed(I[85], 895, 27, "elements");
      for (let element of elements) {
        this[_add$](element);
      }
    }
    removeAll(elements) {
      let t176;
      if (elements == null) dart.nullFailed(I[85], 901, 36, "elements");
      for (let element of elements) {
        if (dart.test((t176 = element, this[_validKey$0](t176)))) this[_remove](E.as(element));
      }
    }
    retainAll(elements) {
      let t176;
      if (elements == null) dart.nullFailed(I[85], 907, 36, "elements");
      let retainSet = new (__t$SplayTreeSetOfE()).new(this[_compare], this[_validKey$0]);
      let modificationCount = this[_modificationCount];
      for (let object of elements) {
        if (modificationCount != this[_modificationCount]) {
          dart.throw(new core.ConcurrentModificationError.new(this));
        }
        if (dart.test((t176 = object, this[_validKey$0](t176))) && this[_splay](E.as(object)) === 0) {
          retainSet.add(dart.nullCheck(this[_root]).key);
        }
      }
      if (retainSet[_count$] != this[_count$]) {
        this[_root] = retainSet[_root];
        this[_count$] = retainSet[_count$];
        this[_modificationCount] = dart.notNull(this[_modificationCount]) + 1;
      }
    }
    lookup(object) {
      let t176;
      if (!dart.test((t176 = object, this[_validKey$0](t176)))) return null;
      let comp = this[_splay](E.as(object));
      if (comp !== 0) return null;
      return dart.nullCheck(this[_root]).key;
    }
    intersection(other) {
      if (other == null) dart.nullFailed(I[85], 936, 36, "other");
      let result = new (__t$SplayTreeSetOfE()).new(this[_compare], this[_validKey$0]);
      for (let element of this) {
        if (dart.test(other.contains(element))) result.add(element);
      }
      return result;
    }
    difference(other) {
      if (other == null) dart.nullFailed(I[85], 944, 34, "other");
      let result = new (__t$SplayTreeSetOfE()).new(this[_compare], this[_validKey$0]);
      for (let element of this) {
        if (!dart.test(other.contains(element))) result.add(element);
      }
      return result;
    }
    union(other) {
      let t176;
      __t$SetOfE().as(other);
      if (other == null) dart.nullFailed(I[85], 952, 23, "other");
      t176 = this[_clone$]();
      return (() => {
        t176.addAll(other);
        return t176;
      })();
    }
    [_clone$]() {
      let set = new (__t$SplayTreeSetOfE()).new(this[_compare], this[_validKey$0]);
      set[_count$] = this[_count$];
      set[_root] = this[_copyNode](__t$_SplayTreeSetNodeOfE(), this[_root]);
      return set;
    }
    [_copyNode](Node, node) {
      dart.checkTypeBound(Node, collection._SplayTreeNode$(E, Node), 'Node');
      if (node == null) return null;
      function copyChildren(node, dest) {
        if (node == null) dart.nullFailed(I[85], 972, 28, "node");
        if (dest == null) dart.nullFailed(I[85], 972, 55, "dest");
        let left = null;
        let right = null;
        do {
          left = node[_left$];
          right = node[_right$];
          if (left != null) {
            let newLeft = new (__t$_SplayTreeSetNodeOfE()).new(left.key);
            dest[_left$] = newLeft;
            copyChildren(left, newLeft);
          }
          if (right != null) {
            let newRight = new (__t$_SplayTreeSetNodeOfE()).new(right.key);
            dest[_right$] = newRight;
            node = right;
            dest = newRight;
          }
        } while (right != null);
      }
      dart.fn(copyChildren, dart.fnType(dart.void, [Node, __t$_SplayTreeSetNodeOfE()]));
      let result = new (__t$_SplayTreeSetNodeOfE()).new(node.key);
      copyChildren(node, result);
      return result;
    }
    clear() {
      this[_clear$]();
    }
    toSet() {
      return this[_clone$]();
    }
    toString() {
      return collection.IterableBase.iterableToFullString(this, "{", "}");
    }
  }
  (SplayTreeSet.new = function(compare = null, isValidKey = null) {
    let t176, t176$;
    this[_root$0] = null;
    this[_compare$0] = (t176 = compare, t176 == null ? collection._defaultCompare(E) : t176);
    this[_validKey$1] = (t176$ = isValidKey, t176$ == null ? dart.fn(v => E.is(v), T$0.dynamicTobool()) : t176$);
    SplayTreeSet.__proto__.new.call(this);
    ;
  }).prototype = SplayTreeSet.prototype;
  dart.addTypeTests(SplayTreeSet);
  SplayTreeSet.prototype[_is_SplayTreeSet_default] = true;
  dart.addTypeCaches(SplayTreeSet);
  dart.setMethodSignature(SplayTreeSet, () => ({
    __proto__: dart.getMethods(SplayTreeSet.__proto__),
    [_newSet]: dart.gFnType(T => [core.Set$(T), []], T => [dart.nullable(core.Object)]),
    cast: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    [$cast]: dart.gFnType(R => [core.Set$(R), []], R => [dart.nullable(core.Object)]),
    add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [_add$]: dart.fnType(core.bool, [E]),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    lookup: dart.fnType(dart.nullable(E), [dart.nullable(core.Object)]),
    [_clone$]: dart.fnType(collection.SplayTreeSet$(E), []),
    [_copyNode]: dart.gFnType(Node => [dart.nullable(collection._SplayTreeSetNode$(E)), [dart.nullable(Node)]], Node => [collection._SplayTreeNode$(E, Node)])
  }));
  dart.setGetterSignature(SplayTreeSet, () => ({
    __proto__: dart.getGetters(SplayTreeSet.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(SplayTreeSet, I[25]);
  dart.setFieldSignature(SplayTreeSet, () => ({
    __proto__: dart.getFields(SplayTreeSet.__proto__),
    [_root]: dart.fieldType(dart.nullable(collection._SplayTreeSetNode$(E))),
    [_compare]: dart.fieldType(dart.fnType(core.int, [E, E])),
    [_validKey$0]: dart.fieldType(dart.fnType(core.bool, [dart.dynamic]))
  }));
  dart.defineExtensionMethods(SplayTreeSet, ['cast', 'contains', 'toSet', 'toString']);
  dart.defineExtensionAccessors(SplayTreeSet, [
    'iterator',
    'length',
    'isEmpty',
    'isNotEmpty',
    'first',
    'last',
    'single'
  ]);
  return SplayTreeSet;
});
collection.SplayTreeSet = collection.SplayTreeSet$();
dart.addTypeTests(collection.SplayTreeSet, _is_SplayTreeSet_default);
collection._defaultEquals = function _defaultEquals(a, b) {
  return dart.equals(a, b);
};
collection._defaultHashCode = function _defaultHashCode(a) {
  return dart.hashCode(a);
};
collection._isToStringVisiting = function _isToStringVisiting(o) {
  if (o == null) dart.nullFailed(I[40], 282, 33, "o");
  for (let i = 0; i < dart.notNull(collection._toStringVisiting[$length]); i = i + 1) {
    if (core.identical(o, collection._toStringVisiting[$_get](i))) return true;
  }
  return false;
};
collection._iterablePartsToStrings = function _iterablePartsToStrings(iterable, parts) {
  if (iterable == null) dart.nullFailed(I[40], 290, 48, "iterable");
  if (parts == null) dart.nullFailed(I[40], 290, 71, "parts");
  let length = 0;
  let count = 0;
  let it = iterable[$iterator];
  while (length < 80 || count < 3) {
    if (!dart.test(it.moveNext())) return;
    let next = dart.str(it.current);
    parts[$add](next);
    length = length + (next.length + 2);
    count = count + 1;
  }
  let penultimateString = null;
  let ultimateString = null;
  if (!dart.test(it.moveNext())) {
    if (count <= 3 + 2) return;
    ultimateString = parts[$removeLast]();
    penultimateString = parts[$removeLast]();
  } else {
    let penultimate = it.current;
    count = count + 1;
    if (!dart.test(it.moveNext())) {
      if (count <= 3 + 1) {
        parts[$add](dart.str(penultimate));
        return;
      }
      ultimateString = dart.str(penultimate);
      penultimateString = parts[$removeLast]();
      length = length + (ultimateString.length + 2);
    } else {
      let ultimate = it.current;
      count = count + 1;
      if (!(count < 100)) dart.assertFailed(null, I[40], 350, 14, "count < maxCount");
      while (dart.test(it.moveNext())) {
        penultimate = ultimate;
        ultimate = it.current;
        count = count + 1;
        if (count > 100) {
          while (length > 80 - 3 - 2 && count > 3) {
            length = length - (parts[$removeLast]().length + 2);
            count = count - 1;
          }
          parts[$add]("...");
          return;
        }
      }
      penultimateString = dart.str(penultimate);
      ultimateString = dart.str(ultimate);
      length = length + (ultimateString.length + penultimateString.length + 2 * 2);
    }
  }
  let elision = null;
  if (count > dart.notNull(parts[$length]) + 2) {
    elision = "...";
    length = length + (3 + 2);
  }
  while (length > 80 && dart.notNull(parts[$length]) > 3) {
    length = length - (parts[$removeLast]().length + 2);
    if (elision == null) {
      elision = "...";
      length = length + (3 + 2);
    }
  }
  if (elision != null) {
    parts[$add](elision);
  }
  parts[$add](penultimateString);
  parts[$add](ultimateString);
};
collection._dynamicCompare = function _dynamicCompare(a, b) {
  return core.Comparable.compare(core.Comparable.as(a), core.Comparable.as(b));
};
collection._defaultCompare = function _defaultCompare(K) {
  let compare = C[80] || CT.C80;
  if (dart.fnType(core.int, [K, K]).is(compare)) {
    return compare;
  }
  return C[81] || CT.C81;
};
dart.defineLazy(collection, {
  /*collection._toStringVisiting*/get _toStringVisiting() {
    return T$.JSArrayOfObject().of([]);
  }
}, false);
var _processed = dart.privateName(convert, "_processed");
var _data = dart.privateName(convert, "_data");
var _original$ = dart.privateName(convert, "_original");
var _isUpgraded = dart.privateName(convert, "_isUpgraded");
var _upgradedMap = dart.privateName(convert, "_upgradedMap");
var _process = dart.privateName(convert, "_process");
var _computeKeys = dart.privateName(convert, "_computeKeys");
var _upgrade = dart.privateName(convert, "_upgrade");
core.String = class String extends core.Object {
  static _stringFromJSArray(list, start, endOrNull) {
    if (start == null) dart.nullFailed(I[7], 597, 11, "start");
    let len = core.int.as(dart.dload(list, 'length'));
    let end = core.RangeError.checkValidRange(start, endOrNull, len);
    if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) {
      list = dart.dsend(list, 'sublist', [start, end]);
    }
    return _js_helper.Primitives.stringFromCharCodes(T$.JSArrayOfint().as(list));
  }
  static _stringFromUint8List(charCodes, start, endOrNull) {
    if (charCodes == null) dart.nullFailed(I[7], 608, 23, "charCodes");
    if (start == null) dart.nullFailed(I[7], 608, 38, "start");
    let len = charCodes[$length];
    let end = core.RangeError.checkValidRange(start, endOrNull, len);
    return _js_helper.Primitives.stringFromNativeUint8List(charCodes, start, end);
  }
  static _stringFromIterable(charCodes, start, end) {
    if (charCodes == null) dart.nullFailed(I[7], 615, 21, "charCodes");
    if (start == null) dart.nullFailed(I[7], 615, 36, "start");
    if (dart.notNull(start) < 0) dart.throw(new core.RangeError.range(start, 0, charCodes[$length]));
    if (end != null && dart.notNull(end) < dart.notNull(start)) {
      dart.throw(new core.RangeError.range(end, start, charCodes[$length]));
    }
    let it = charCodes[$iterator];
    for (let i = 0; i < dart.notNull(start); i = i + 1) {
      if (!dart.test(it.moveNext())) {
        dart.throw(new core.RangeError.range(start, 0, i));
      }
    }
    let list = T$.JSArrayOfint().of(new Array());
    if (end == null) {
      while (dart.test(it.moveNext()))
        list[$add](it.current);
    } else {
      for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
        if (!dart.test(it.moveNext())) {
          dart.throw(new core.RangeError.range(end, start, i));
        }
        list[$add](it.current);
      }
    }
    return _js_helper.Primitives.stringFromCharCodes(list);
  }
  static is(o) {
    return typeof o == "string";
  }
  static as(o) {
    if (typeof o == "string") return o;
    return dart.as(o, core.String);
  }
  static fromCharCodes(charCodes, start = 0, end = null) {
    if (charCodes == null) dart.nullFailed(I[7], 572, 46, "charCodes");
    if (start == null) dart.nullFailed(I[7], 573, 12, "start");
    if (_interceptors.JSArray.is(charCodes)) {
      return core.String._stringFromJSArray(charCodes, start, end);
    }
    if (_native_typed_data.NativeUint8List.is(charCodes)) {
      return core.String._stringFromUint8List(charCodes, start, end);
    }
    return core.String._stringFromIterable(charCodes, start, end);
  }
  static fromCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[7], 584, 35, "charCode");
    return _js_helper.Primitives.stringFromCharCode(charCode);
  }
  static fromEnvironment(name, opts) {
    if (name == null) dart.nullFailed(I[7], 589, 41, "name");
    let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : "";
    if (defaultValue == null) dart.nullFailed(I[7], 589, 55, "defaultValue");
    dart.throw(new core.UnsupportedError.new("String.fromEnvironment can only be used as a const constructor"));
  }
};
(core.String[dart.mixinNew] = function() {
}).prototype = core.String.prototype;
dart.addTypeCaches(core.String);
core.String[dart.implements] = () => [core.Comparable$(core.String), core.Pattern];
dart.setLibraryUri(core.String, I[9]);
convert._JsonMap = class _JsonMap extends collection.MapBase$(core.String, dart.dynamic) {
  _get(key) {
    if (dart.test(this[_isUpgraded])) {
      return this[_upgradedMap][$_get](key);
    } else if (!(typeof key == 'string')) {
      return null;
    } else {
      let result = convert._JsonMap._getProperty(this[_processed], key);
      if (dart.test(convert._JsonMap._isUnprocessed(result))) result = this[_process](key);
      return result;
    }
  }
  get length() {
    return dart.test(this[_isUpgraded]) ? this[_upgradedMap][$length] : this[_computeKeys]()[$length];
  }
  get isEmpty() {
    return this.length === 0;
  }
  get isNotEmpty() {
    return dart.notNull(this.length) > 0;
  }
  get keys() {
    if (dart.test(this[_isUpgraded])) return this[_upgradedMap][$keys];
    return new convert._JsonMapKeyIterable.new(this);
  }
  get values() {
    if (dart.test(this[_isUpgraded])) return this[_upgradedMap][$values];
    return T$0.MappedIterableOfString$dynamic().new(this[_computeKeys](), dart.fn(each => this._get(each), T$0.ObjectNTodynamic()));
  }
  _set(key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[86], 170, 16, "key");
    if (dart.test(this[_isUpgraded])) {
      this[_upgradedMap][$_set](key, value);
    } else if (dart.test(this.containsKey(key))) {
      let processed = this[_processed];
      convert._JsonMap._setProperty(processed, key, value);
      let original = this[_original$];
      if (!core.identical(original, processed)) {
        convert._JsonMap._setProperty(original, key, null);
      }
    } else {
      this[_upgrade]()[$_set](key, value);
    }
    return value$;
  }
  addAll(other) {
    T$0.MapOfString$dynamic().as(other);
    if (other == null) dart.nullFailed(I[86], 185, 36, "other");
    other[$forEach](dart.fn((key, value) => {
      if (key == null) dart.nullFailed(I[86], 186, 20, "key");
      this._set(key, value);
    }, T$0.StringAnddynamicTovoid()));
  }
  containsValue(value) {
    if (dart.test(this[_isUpgraded])) return this[_upgradedMap][$containsValue](value);
    let keys = this[_computeKeys]();
    for (let i = 0; i < dart.notNull(keys[$length]); i = i + 1) {
      let key = keys[$_get](i);
      if (dart.equals(this._get(key), value)) return true;
    }
    return false;
  }
  containsKey(key) {
    if (dart.test(this[_isUpgraded])) return this[_upgradedMap][$containsKey](key);
    if (!(typeof key == 'string')) return false;
    return convert._JsonMap._hasProperty(this[_original$], key);
  }
  putIfAbsent(key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[86], 207, 15, "key");
    T$.VoidTodynamic().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[86], 207, 20, "ifAbsent");
    if (dart.test(this.containsKey(key))) return this._get(key);
    let value = ifAbsent();
    this._set(key, value);
    return value;
  }
  remove(key) {
    if (!dart.test(this[_isUpgraded]) && !dart.test(this.containsKey(key))) return null;
    return this[_upgrade]()[$remove](key);
  }
  clear() {
    if (dart.test(this[_isUpgraded])) {
      this[_upgradedMap][$clear]();
    } else {
      if (this[_data] != null) {
        dart.dsend(this[_data], 'clear', []);
      }
      this[_original$] = this[_processed] = null;
      this[_data] = new _js_helper.LinkedMap.new();
    }
  }
  forEach(f) {
    if (f == null) dart.nullFailed(I[86], 234, 21, "f");
    if (dart.test(this[_isUpgraded])) return this[_upgradedMap][$forEach](f);
    let keys = this[_computeKeys]();
    for (let i = 0; i < dart.notNull(keys[$length]); i = i + 1) {
      let key = keys[$_get](i);
      let value = convert._JsonMap._getProperty(this[_processed], key);
      if (dart.test(convert._JsonMap._isUnprocessed(value))) {
        value = convert._convertJsonToDartLazy(convert._JsonMap._getProperty(this[_original$], key));
        convert._JsonMap._setProperty(this[_processed], key, value);
      }
      f(key, value);
      if (!core.identical(keys, this[_data])) {
        dart.throw(new core.ConcurrentModificationError.new(this));
      }
    }
  }
  get [_isUpgraded]() {
    return this[_processed] == null;
  }
  get [_upgradedMap]() {
    if (!dart.test(this[_isUpgraded])) dart.assertFailed(null, I[86], 266, 12, "_isUpgraded");
    return this[_data];
  }
  [_computeKeys]() {
    if (!!dart.test(this[_isUpgraded])) dart.assertFailed(null, I[86], 274, 12, "!_isUpgraded");
    let keys = T$.ListN().as(this[_data]);
    if (keys == null) {
      keys = this[_data] = convert._JsonMap._getPropertyNames(this[_original$]);
    }
    return keys;
  }
  [_upgrade]() {
    if (dart.test(this[_isUpgraded])) return this[_upgradedMap];
    let result = new (T$0.IdentityMapOfString$dynamic()).new();
    let keys = this[_computeKeys]();
    for (let i = 0; i < dart.notNull(keys[$length]); i = i + 1) {
      let key = keys[$_get](i);
      result[$_set](key, this._get(key));
    }
    if (dart.test(keys[$isEmpty])) {
      keys[$add]("");
    } else {
      keys[$clear]();
    }
    this[_original$] = this[_processed] = null;
    this[_data] = result;
    if (!dart.test(this[_isUpgraded])) dart.assertFailed(null, I[86], 307, 12, "_isUpgraded");
    return result;
  }
  [_process](key) {
    if (key == null) dart.nullFailed(I[86], 311, 19, "key");
    if (!dart.test(convert._JsonMap._hasProperty(this[_original$], key))) return null;
    let result = convert._convertJsonToDartLazy(convert._JsonMap._getProperty(this[_original$], key));
    return convert._JsonMap._setProperty(this[_processed], key, result);
  }
  static _hasProperty(object, key) {
    if (key == null) dart.nullFailed(I[86], 321, 43, "key");
    return Object.prototype.hasOwnProperty.call(object, key);
  }
  static _getProperty(object, key) {
    if (key == null) dart.nullFailed(I[86], 323, 38, "key");
    return object[key];
  }
  static _setProperty(object, key, value) {
    if (key == null) dart.nullFailed(I[86], 324, 38, "key");
    return object[key] = value;
  }
  static _getPropertyNames(object) {
    return Object.keys(object);
  }
  static _isUnprocessed(object) {
    return typeof object == "undefined";
  }
  static _newJavaScriptObject() {
    return Object.create(null);
  }
};
(convert._JsonMap.new = function(_original) {
  this[_processed] = convert._JsonMap._newJavaScriptObject();
  this[_data] = null;
  this[_original$] = _original;
  ;
}).prototype = convert._JsonMap.prototype;
dart.addTypeTests(convert._JsonMap);
dart.addTypeCaches(convert._JsonMap);
dart.setMethodSignature(convert._JsonMap, () => ({
  __proto__: dart.getMethods(convert._JsonMap.__proto__),
  _get: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  [$_get]: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  remove: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  [$remove]: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  clear: dart.fnType(dart.void, []),
  [$clear]: dart.fnType(dart.void, []),
  [_computeKeys]: dart.fnType(core.List$(core.String), []),
  [_upgrade]: dart.fnType(core.Map$(core.String, dart.dynamic), []),
  [_process]: dart.fnType(dart.dynamic, [core.String])
}));
dart.setGetterSignature(convert._JsonMap, () => ({
  __proto__: dart.getGetters(convert._JsonMap.__proto__),
  keys: core.Iterable$(core.String),
  [$keys]: core.Iterable$(core.String),
  [_isUpgraded]: core.bool,
  [_upgradedMap]: core.Map$(core.String, dart.dynamic)
}));
dart.setLibraryUri(convert._JsonMap, I[32]);
dart.setFieldSignature(convert._JsonMap, () => ({
  __proto__: dart.getFields(convert._JsonMap.__proto__),
  [_original$]: dart.fieldType(dart.dynamic),
  [_processed]: dart.fieldType(dart.dynamic),
  [_data]: dart.fieldType(dart.dynamic)
}));
dart.defineExtensionMethods(convert._JsonMap, [
  '_get',
  '_set',
  'addAll',
  'containsValue',
  'containsKey',
  'putIfAbsent',
  'remove',
  'clear',
  'forEach'
]);
dart.defineExtensionAccessors(convert._JsonMap, [
  'length',
  'isEmpty',
  'isNotEmpty',
  'keys',
  'values'
]);
var _parent$ = dart.privateName(convert, "_parent");
convert._JsonMapKeyIterable = class _JsonMapKeyIterable extends _internal.ListIterable$(core.String) {
  get length() {
    return this[_parent$].length;
  }
  elementAt(index) {
    if (index == null) dart.nullFailed(I[86], 340, 24, "index");
    return dart.test(this[_parent$][_isUpgraded]) ? this[_parent$].keys[$elementAt](index) : this[_parent$][_computeKeys]()[$_get](index);
  }
  get iterator() {
    return dart.test(this[_parent$][_isUpgraded]) ? this[_parent$].keys[$iterator] : this[_parent$][_computeKeys]()[$iterator];
  }
  contains(key) {
    return this[_parent$].containsKey(key);
  }
};
(convert._JsonMapKeyIterable.new = function(_parent) {
  if (_parent == null) dart.nullFailed(I[86], 336, 28, "_parent");
  this[_parent$] = _parent;
  convert._JsonMapKeyIterable.__proto__.new.call(this);
  ;
}).prototype = convert._JsonMapKeyIterable.prototype;
dart.addTypeTests(convert._JsonMapKeyIterable);
dart.addTypeCaches(convert._JsonMapKeyIterable);
dart.setLibraryUri(convert._JsonMapKeyIterable, I[32]);
dart.setFieldSignature(convert._JsonMapKeyIterable, () => ({
  __proto__: dart.getFields(convert._JsonMapKeyIterable.__proto__),
  [_parent$]: dart.finalFieldType(convert._JsonMap)
}));
dart.defineExtensionMethods(convert._JsonMapKeyIterable, ['elementAt', 'contains']);
dart.defineExtensionAccessors(convert._JsonMapKeyIterable, ['length', 'iterator']);
var _reviver$ = dart.privateName(convert, "_reviver");
var _sink$0 = dart.privateName(convert, "_sink");
var _stringSink$ = dart.privateName(convert, "_stringSink");
convert.StringConversionSinkMixin = class StringConversionSinkMixin extends core.Object {
  add(str) {
    core.String.as(str);
    if (str == null) dart.nullFailed(I[87], 162, 19, "str");
    this.addSlice(str, 0, str.length, false);
  }
  asUtf8Sink(allowMalformed) {
    if (allowMalformed == null) dart.nullFailed(I[87], 166, 38, "allowMalformed");
    return new convert._Utf8ConversionSink.new(this, allowMalformed);
  }
  asStringSink() {
    return new convert._StringConversionSinkAsStringSinkAdapter.new(this);
  }
};
(convert.StringConversionSinkMixin.new = function() {
  ;
}).prototype = convert.StringConversionSinkMixin.prototype;
dart.addTypeTests(convert.StringConversionSinkMixin);
dart.addTypeCaches(convert.StringConversionSinkMixin);
convert.StringConversionSinkMixin[dart.implements] = () => [convert.StringConversionSink];
dart.setMethodSignature(convert.StringConversionSinkMixin, () => ({
  __proto__: dart.getMethods(convert.StringConversionSinkMixin.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  asUtf8Sink: dart.fnType(convert.ByteConversionSink, [core.bool]),
  asStringSink: dart.fnType(convert.ClosableStringSink, [])
}));
dart.setLibraryUri(convert.StringConversionSinkMixin, I[32]);
convert.StringConversionSinkBase = class StringConversionSinkBase extends convert.StringConversionSinkMixin {};
(convert.StringConversionSinkBase.new = function() {
  ;
}).prototype = convert.StringConversionSinkBase.prototype;
dart.addTypeTests(convert.StringConversionSinkBase);
dart.addTypeCaches(convert.StringConversionSinkBase);
dart.setLibraryUri(convert.StringConversionSinkBase, I[32]);
const _is__StringSinkConversionSink_default = Symbol('_is__StringSinkConversionSink_default');
convert._StringSinkConversionSink$ = dart.generic(TStringSink => {
  class _StringSinkConversionSink extends convert.StringConversionSinkBase {
    close() {
    }
    addSlice(str, start, end, isLast) {
      if (str == null) dart.nullFailed(I[87], 183, 24, "str");
      if (start == null) dart.nullFailed(I[87], 183, 33, "start");
      if (end == null) dart.nullFailed(I[87], 183, 44, "end");
      if (isLast == null) dart.nullFailed(I[87], 183, 54, "isLast");
      if (start !== 0 || end !== str.length) {
        for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
          this[_stringSink$].writeCharCode(str[$codeUnitAt](i));
        }
      } else {
        this[_stringSink$].write(str);
      }
      if (dart.test(isLast)) this.close();
    }
    add(str) {
      core.String.as(str);
      if (str == null) dart.nullFailed(I[87], 194, 19, "str");
      this[_stringSink$].write(str);
    }
    asUtf8Sink(allowMalformed) {
      if (allowMalformed == null) dart.nullFailed(I[87], 198, 38, "allowMalformed");
      return new convert._Utf8StringSinkAdapter.new(this, this[_stringSink$], allowMalformed);
    }
    asStringSink() {
      return new convert._ClosableStringSink.new(this[_stringSink$], dart.bind(this, 'close'));
    }
  }
  (_StringSinkConversionSink.new = function(_stringSink) {
    if (_stringSink == null) dart.nullFailed(I[87], 179, 34, "_stringSink");
    this[_stringSink$] = _stringSink;
    ;
  }).prototype = _StringSinkConversionSink.prototype;
  dart.addTypeTests(_StringSinkConversionSink);
  _StringSinkConversionSink.prototype[_is__StringSinkConversionSink_default] = true;
  dart.addTypeCaches(_StringSinkConversionSink);
  dart.setMethodSignature(_StringSinkConversionSink, () => ({
    __proto__: dart.getMethods(_StringSinkConversionSink.__proto__),
    close: dart.fnType(dart.void, []),
    addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool])
  }));
  dart.setLibraryUri(_StringSinkConversionSink, I[32]);
  dart.setFieldSignature(_StringSinkConversionSink, () => ({
    __proto__: dart.getFields(_StringSinkConversionSink.__proto__),
    [_stringSink$]: dart.finalFieldType(TStringSink)
  }));
  return _StringSinkConversionSink;
});
convert._StringSinkConversionSink = convert._StringSinkConversionSink$();
dart.addTypeTests(convert._StringSinkConversionSink, _is__StringSinkConversionSink_default);
var _contents = dart.privateName(core, "_contents");
var _writeString = dart.privateName(core, "_writeString");
core.StringBuffer = class StringBuffer extends core.Object {
  [_writeString](str) {
    this[_contents] = this[_contents] + str;
  }
  static _writeAll(string, objects, separator) {
    if (string == null) dart.nullFailed(I[7], 750, 34, "string");
    if (objects == null) dart.nullFailed(I[7], 750, 51, "objects");
    if (separator == null) dart.nullFailed(I[7], 750, 67, "separator");
    let iterator = objects[$iterator];
    if (!dart.test(iterator.moveNext())) return string;
    if (separator[$isEmpty]) {
      do {
        string = core.StringBuffer._writeOne(string, iterator.current);
      } while (dart.test(iterator.moveNext()));
    } else {
      string = core.StringBuffer._writeOne(string, iterator.current);
      while (dart.test(iterator.moveNext())) {
        string = core.StringBuffer._writeOne(string, separator);
        string = core.StringBuffer._writeOne(string, iterator.current);
      }
    }
    return string;
  }
  static _writeOne(string, obj) {
    return string + dart.str(obj);
  }
  get length() {
    return this[_contents].length;
  }
  get isEmpty() {
    return this.length === 0;
  }
  get isNotEmpty() {
    return !dart.test(this.isEmpty);
  }
  write(obj) {
    this[_writeString](dart.str(obj));
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[7], 724, 26, "charCode");
    this[_writeString](core.String.fromCharCode(charCode));
  }
  writeAll(objects, separator = "") {
    if (objects == null) dart.nullFailed(I[7], 729, 35, "objects");
    if (separator == null) dart.nullFailed(I[7], 729, 52, "separator");
    this[_contents] = core.StringBuffer._writeAll(this[_contents], objects, separator);
  }
  writeln(obj = "") {
    this[_writeString](dart.str(obj) + "\n");
  }
  clear() {
    this[_contents] = "";
  }
  toString() {
    return _js_helper.Primitives.flattenString(this[_contents]);
  }
};
(core.StringBuffer.new = function(content = "") {
  if (content == null) dart.nullFailed(I[7], 713, 24, "content");
  this[_contents] = dart.str(content);
  ;
}).prototype = core.StringBuffer.prototype;
dart.addTypeTests(core.StringBuffer);
dart.addTypeCaches(core.StringBuffer);
core.StringBuffer[dart.implements] = () => [core.StringSink];
dart.setMethodSignature(core.StringBuffer, () => ({
  __proto__: dart.getMethods(core.StringBuffer.__proto__),
  [_writeString]: dart.fnType(dart.void, [core.String]),
  write: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeCharCode: dart.fnType(dart.void, [core.int]),
  writeAll: dart.fnType(dart.void, [core.Iterable], [core.String]),
  writeln: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  clear: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(core.StringBuffer, () => ({
  __proto__: dart.getGetters(core.StringBuffer.__proto__),
  length: core.int,
  isEmpty: core.bool,
  isNotEmpty: core.bool
}));
dart.setLibraryUri(core.StringBuffer, I[9]);
dart.setFieldSignature(core.StringBuffer, () => ({
  __proto__: dart.getFields(core.StringBuffer.__proto__),
  [_contents]: dart.fieldType(core.String)
}));
dart.defineExtensionMethods(core.StringBuffer, ['toString']);
convert._JsonDecoderSink = class _JsonDecoderSink extends convert._StringSinkConversionSink$(core.StringBuffer) {
  close() {
    super.close();
    let accumulated = dart.toString(this[_stringSink$]);
    this[_stringSink$].clear();
    let decoded = convert._parseJson(accumulated, this[_reviver$]);
    this[_sink$0].add(decoded);
    this[_sink$0].close();
  }
};
(convert._JsonDecoderSink.new = function(_reviver, _sink) {
  if (_sink == null) dart.nullFailed(I[86], 379, 40, "_sink");
  this[_reviver$] = _reviver;
  this[_sink$0] = _sink;
  convert._JsonDecoderSink.__proto__.new.call(this, new core.StringBuffer.new(""));
  ;
}).prototype = convert._JsonDecoderSink.prototype;
dart.addTypeTests(convert._JsonDecoderSink);
dart.addTypeCaches(convert._JsonDecoderSink);
dart.setLibraryUri(convert._JsonDecoderSink, I[32]);
dart.setFieldSignature(convert._JsonDecoderSink, () => ({
  __proto__: dart.getFields(convert._JsonDecoderSink.__proto__),
  [_reviver$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.nullable(core.Object), dart.nullable(core.Object)]))),
  [_sink$0]: dart.finalFieldType(core.Sink$(dart.nullable(core.Object)))
}));
var _allowInvalid = dart.privateName(convert, "AsciiCodec._allowInvalid");
var _allowInvalid$ = dart.privateName(convert, "_allowInvalid");
var _UnicodeSubsetDecoder__subsetMask = dart.privateName(convert, "_UnicodeSubsetDecoder._subsetMask");
var _UnicodeSubsetDecoder__allowInvalid = dart.privateName(convert, "_UnicodeSubsetDecoder._allowInvalid");
var _UnicodeSubsetEncoder__subsetMask = dart.privateName(convert, "_UnicodeSubsetEncoder._subsetMask");
const _is_Codec_default = Symbol('_is_Codec_default');
convert.Codec$ = dart.generic((S, T) => {
  var __t$_InvertedCodecOfT$S = () => (__t$_InvertedCodecOfT$S = dart.constFn(convert._InvertedCodec$(T, S)))();
  class Codec extends core.Object {
    encode(input) {
      S.as(input);
      return this.encoder.convert(input);
    }
    decode(encoded) {
      T.as(encoded);
      return this.decoder.convert(encoded);
    }
    fuse(R, other) {
      convert.Codec$(T, R).as(other);
      if (other == null) dart.nullFailed(I[90], 64, 35, "other");
      return new (convert._FusedCodec$(S, T, R)).new(this, other);
    }
    get inverted() {
      return new (__t$_InvertedCodecOfT$S()).new(this);
    }
  }
  (Codec.new = function() {
    ;
  }).prototype = Codec.prototype;
  dart.addTypeTests(Codec);
  Codec.prototype[_is_Codec_default] = true;
  dart.addTypeCaches(Codec);
  dart.setMethodSignature(Codec, () => ({
    __proto__: dart.getMethods(Codec.__proto__),
    encode: dart.fnType(T, [dart.nullable(core.Object)]),
    decode: dart.fnType(S, [dart.nullable(core.Object)]),
    fuse: dart.gFnType(R => [convert.Codec$(S, R), [dart.nullable(core.Object)]], R => [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(Codec, () => ({
    __proto__: dart.getGetters(Codec.__proto__),
    inverted: convert.Codec$(T, S)
  }));
  dart.setLibraryUri(Codec, I[32]);
  return Codec;
});
convert.Codec = convert.Codec$();
dart.addTypeTests(convert.Codec, _is_Codec_default);
core.List$ = dart.generic(E => {
  class List extends core.Object {
    static new(length = null) {
      let list = null;
      if (length === void 0) {
        list = [];
      } else {
        let _length = length;
        if (length == null || _length < 0) {
          dart.throw(new core.ArgumentError.new("Length must be a non-negative integer: " + dart.str(_length)));
        }
        list = new Array(_length);
        list.fill(null);
        _interceptors.JSArray.markFixedList(list);
      }
      return _interceptors.JSArray$(E).of(list);
    }
    static filled(length, fill, opts) {
      if (length == null) dart.argumentError(length);
      let growable = opts && 'growable' in opts ? opts.growable : false;
      if (growable == null) dart.nullFailed(I[7], 496, 60, "growable");
      let list = _interceptors.JSArray$(E).of(new Array(length));
      list.fill(fill);
      if (!dart.test(growable)) _interceptors.JSArray.markFixedList(list);
      return list;
    }
    static empty(opts) {
      let growable = opts && 'growable' in opts ? opts.growable : false;
      if (growable == null) dart.nullFailed(I[7], 489, 28, "growable");
      let list = _interceptors.JSArray$(E).of(new Array());
      if (!dart.test(growable)) _interceptors.JSArray.markFixedList(list);
      return list;
    }
    static from(elements, opts) {
      if (elements == null) dart.nullFailed(I[7], 504, 30, "elements");
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[7], 504, 46, "growable");
      let list = _interceptors.JSArray$(E).of([]);
      if (core.Iterable$(E).is(elements)) {
        for (let e of elements) {
          list.push(e);
        }
      } else {
        for (let e of elements) {
          list.push(E.as(e));
        }
      }
      if (!dart.test(growable)) _interceptors.JSArray.markFixedList(list);
      return list;
    }
    static of(elements, opts) {
      if (elements == null) dart.nullFailed(I[7], 526, 31, "elements");
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[7], 526, 47, "growable");
      let list = _interceptors.JSArray$(E).of([]);
      for (let e of elements) {
        list.push(e);
      }
      if (!dart.test(growable)) _interceptors.JSArray.markFixedList(list);
      return list;
    }
    static generate(length, generator, opts) {
      if (length == null) dart.nullFailed(I[7], 538, 29, "length");
      if (generator == null) dart.nullFailed(I[7], 538, 39, "generator");
      let growable = opts && 'growable' in opts ? opts.growable : true;
      if (growable == null) dart.nullFailed(I[7], 539, 13, "growable");
      let result = _interceptors.JSArray$(E).of(new Array(length));
      if (!dart.test(growable)) _interceptors.JSArray.markFixedList(result);
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        result[i] = generator(i);
      }
      return result;
    }
    static unmodifiable(elements) {
      if (elements == null) dart.nullFailed(I[7], 551, 38, "elements");
      let list = core.List$(E).from(elements);
      _interceptors.JSArray.markUnmodifiableList(list);
      return list;
    }
    static castFrom(S, T, source) {
      if (source == null) dart.nullFailed(I[91], 195, 41, "source");
      return new (_internal.CastList$(S, T)).new(source);
    }
    static copyRange(T, target, at, source, start = null, end = null) {
      if (target == null) dart.nullFailed(I[91], 211, 36, "target");
      if (at == null) dart.nullFailed(I[91], 211, 48, "at");
      if (source == null) dart.nullFailed(I[91], 211, 60, "source");
      start == null ? start = 0 : null;
      end = core.RangeError.checkValidRange(start, end, source[$length]);
      if (end == null) {
        dart.throw("unreachable");
      }
      let length = dart.notNull(end) - dart.notNull(start);
      if (dart.notNull(target[$length]) < dart.notNull(at) + length) {
        dart.throw(new core.ArgumentError.value(target, "target", "Not big enough to hold " + dart.str(length) + " elements at position " + dart.str(at)));
      }
      if (source != target || dart.notNull(start) >= dart.notNull(at)) {
        for (let i = 0; i < length; i = i + 1) {
          target[$_set](dart.notNull(at) + i, source[$_get](dart.notNull(start) + i));
        }
      } else {
        for (let i = length; (i = i - 1) >= 0;) {
          target[$_set](dart.notNull(at) + i, source[$_get](dart.notNull(start) + i));
        }
      }
    }
    static writeIterable(T, target, at, source) {
      if (target == null) dart.nullFailed(I[91], 246, 40, "target");
      if (at == null) dart.nullFailed(I[91], 246, 52, "at");
      if (source == null) dart.nullFailed(I[91], 246, 68, "source");
      core.RangeError.checkValueInInterval(at, 0, target[$length], "at");
      let index = at;
      let targetLength = target[$length];
      for (let element of source) {
        if (index == targetLength) {
          dart.throw(new core.IndexError.new(targetLength, target));
        }
        target[$_set](index, element);
        index = dart.notNull(index) + 1;
      }
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
  }
  (List[dart.mixinNew] = function() {
  }).prototype = List.prototype;
  dart.addTypeTests(List);
  List.prototype[dart.isList] = true;
  dart.addTypeCaches(List);
  List[dart.implements] = () => [_internal.EfficientLengthIterable$(E)];
  dart.setLibraryUri(List, I[9]);
  return List;
});
core.List = core.List$();
dart.addTypeTests(core.List, dart.isList);
convert.Encoding = class Encoding extends convert.Codec$(core.String, core.List$(core.int)) {
  decodeStream(byteStream) {
    if (byteStream == null) dart.nullFailed(I[89], 21, 49, "byteStream");
    return this.decoder.bind(byteStream).fold(core.StringBuffer, new core.StringBuffer.new(), dart.fn((buffer, string) => {
      let t176;
      if (buffer == null) dart.nullFailed(I[89], 25, 27, "buffer");
      if (string == null) dart.nullFailed(I[89], 25, 42, "string");
      t176 = buffer;
      return (() => {
        t176.write(string);
        return t176;
      })();
    }, T$0.StringBufferAndStringToStringBuffer())).then(core.String, dart.fn(buffer => {
      if (buffer == null) dart.nullFailed(I[89], 26, 29, "buffer");
      return dart.toString(buffer);
    }, T$0.StringBufferToString()));
  }
  static getByName(name) {
    if (name == null) return null;
    return convert.Encoding._nameToEncoding[$_get](name[$toLowerCase]());
  }
};
(convert.Encoding.new = function() {
  convert.Encoding.__proto__.new.call(this);
  ;
}).prototype = convert.Encoding.prototype;
dart.addTypeTests(convert.Encoding);
dart.addTypeCaches(convert.Encoding);
dart.setMethodSignature(convert.Encoding, () => ({
  __proto__: dart.getMethods(convert.Encoding.__proto__),
  decodeStream: dart.fnType(async.Future$(core.String), [async.Stream$(core.List$(core.int))])
}));
dart.setLibraryUri(convert.Encoding, I[32]);
dart.defineLazy(convert.Encoding, {
  /*convert.Encoding._nameToEncoding*/get _nameToEncoding() {
    return new (T$0.IdentityMapOfString$Encoding()).from(["iso_8859-1:1987", convert.latin1, "iso-ir-100", convert.latin1, "iso_8859-1", convert.latin1, "iso-8859-1", convert.latin1, "latin1", convert.latin1, "l1", convert.latin1, "ibm819", convert.latin1, "cp819", convert.latin1, "csisolatin1", convert.latin1, "iso-ir-6", convert.ascii, "ansi_x3.4-1968", convert.ascii, "ansi_x3.4-1986", convert.ascii, "iso_646.irv:1991", convert.ascii, "iso646-us", convert.ascii, "us-ascii", convert.ascii, "us", convert.ascii, "ibm367", convert.ascii, "cp367", convert.ascii, "csascii", convert.ascii, "ascii", convert.ascii, "csutf8", convert.utf8, "utf-8", convert.utf8]);
  }
}, false);
convert.AsciiCodec = class AsciiCodec extends convert.Encoding {
  get [_allowInvalid$]() {
    return this[_allowInvalid];
  }
  set [_allowInvalid$](value) {
    super[_allowInvalid$] = value;
  }
  get name() {
    return "us-ascii";
  }
  encode(source) {
    core.String.as(source);
    if (source == null) dart.nullFailed(I[88], 41, 27, "source");
    return this.encoder.convert(source);
  }
  decode(bytes, opts) {
    let t176;
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[88], 51, 27, "bytes");
    let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : null;
    if (dart.test((t176 = allowInvalid, t176 == null ? this[_allowInvalid$] : t176))) {
      return (C[82] || CT.C82).convert(bytes);
    } else {
      return (C[83] || CT.C83).convert(bytes);
    }
  }
  get encoder() {
    return C[84] || CT.C84;
  }
  get decoder() {
    return dart.test(this[_allowInvalid$]) ? C[82] || CT.C82 : C[83] || CT.C83;
  }
};
(convert.AsciiCodec.new = function(opts) {
  let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : false;
  if (allowInvalid == null) dart.nullFailed(I[88], 36, 26, "allowInvalid");
  this[_allowInvalid] = allowInvalid;
  convert.AsciiCodec.__proto__.new.call(this);
  ;
}).prototype = convert.AsciiCodec.prototype;
dart.addTypeTests(convert.AsciiCodec);
dart.addTypeCaches(convert.AsciiCodec);
dart.setMethodSignature(convert.AsciiCodec, () => ({
  __proto__: dart.getMethods(convert.AsciiCodec.__proto__),
  encode: dart.fnType(typed_data.Uint8List, [dart.nullable(core.Object)]),
  decode: dart.fnType(core.String, [dart.nullable(core.Object)], {allowInvalid: dart.nullable(core.bool)}, {})
}));
dart.setGetterSignature(convert.AsciiCodec, () => ({
  __proto__: dart.getGetters(convert.AsciiCodec.__proto__),
  name: core.String,
  encoder: convert.AsciiEncoder,
  decoder: convert.AsciiDecoder
}));
dart.setLibraryUri(convert.AsciiCodec, I[32]);
dart.setFieldSignature(convert.AsciiCodec, () => ({
  __proto__: dart.getFields(convert.AsciiCodec.__proto__),
  [_allowInvalid$]: dart.finalFieldType(core.bool)
}));
var _subsetMask$ = dart.privateName(convert, "_subsetMask");
const _subsetMask$0 = _UnicodeSubsetEncoder__subsetMask;
convert._UnicodeSubsetEncoder = class _UnicodeSubsetEncoder extends convert.Converter$(core.String, core.List$(core.int)) {
  get [_subsetMask$]() {
    return this[_subsetMask$0];
  }
  set [_subsetMask$](value) {
    super[_subsetMask$] = value;
  }
  convert(string, start = 0, end = null) {
    core.String.as(string);
    if (string == null) dart.nullFailed(I[88], 77, 28, "string");
    if (start == null) dart.nullFailed(I[88], 77, 41, "start");
    let stringLength = string.length;
    end = core.RangeError.checkValidRange(start, end, stringLength);
    let length = dart.notNull(end) - dart.notNull(start);
    let result = _native_typed_data.NativeUint8List.new(length);
    for (let i = 0; i < length; i = i + 1) {
      let codeUnit = string[$codeUnitAt](dart.notNull(start) + i);
      if ((codeUnit & ~dart.notNull(this[_subsetMask$]) >>> 0) !== 0) {
        dart.throw(new core.ArgumentError.value(string, "string", "Contains invalid characters."));
      }
      result[$_set](i, codeUnit);
    }
    return result;
  }
  startChunkedConversion(sink) {
    T$0.SinkOfListOfint().as(sink);
    if (sink == null) dart.nullFailed(I[88], 97, 63, "sink");
    return new convert._UnicodeSubsetEncoderSink.new(this[_subsetMask$], convert.ByteConversionSink.is(sink) ? sink : new convert._ByteAdapterSink.new(sink));
  }
  bind(stream) {
    T$0.StreamOfString().as(stream);
    if (stream == null) dart.nullFailed(I[88], 103, 41, "stream");
    return super.bind(stream);
  }
};
(convert._UnicodeSubsetEncoder.new = function(_subsetMask) {
  if (_subsetMask == null) dart.nullFailed(I[88], 71, 36, "_subsetMask");
  this[_subsetMask$0] = _subsetMask;
  convert._UnicodeSubsetEncoder.__proto__.new.call(this);
  ;
}).prototype = convert._UnicodeSubsetEncoder.prototype;
dart.addTypeTests(convert._UnicodeSubsetEncoder);
dart.addTypeCaches(convert._UnicodeSubsetEncoder);
dart.setMethodSignature(convert._UnicodeSubsetEncoder, () => ({
  __proto__: dart.getMethods(convert._UnicodeSubsetEncoder.__proto__),
  convert: dart.fnType(typed_data.Uint8List, [dart.nullable(core.Object)], [core.int, dart.nullable(core.int)]),
  startChunkedConversion: dart.fnType(convert.StringConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert._UnicodeSubsetEncoder, I[32]);
dart.setFieldSignature(convert._UnicodeSubsetEncoder, () => ({
  __proto__: dart.getFields(convert._UnicodeSubsetEncoder.__proto__),
  [_subsetMask$]: dart.finalFieldType(core.int)
}));
convert.AsciiEncoder = class AsciiEncoder extends convert._UnicodeSubsetEncoder {};
(convert.AsciiEncoder.new = function() {
  convert.AsciiEncoder.__proto__.new.call(this, 127);
  ;
}).prototype = convert.AsciiEncoder.prototype;
dart.addTypeTests(convert.AsciiEncoder);
dart.addTypeCaches(convert.AsciiEncoder);
dart.setLibraryUri(convert.AsciiEncoder, I[32]);
convert._UnicodeSubsetEncoderSink = class _UnicodeSubsetEncoderSink extends convert.StringConversionSinkBase {
  close() {
    this[_sink$0].close();
  }
  addSlice(source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[88], 123, 24, "source");
    if (start == null) dart.nullFailed(I[88], 123, 36, "start");
    if (end == null) dart.nullFailed(I[88], 123, 47, "end");
    if (isLast == null) dart.nullFailed(I[88], 123, 57, "isLast");
    core.RangeError.checkValidRange(start, end, source.length);
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let codeUnit = source[$codeUnitAt](i);
      if ((codeUnit & ~dart.notNull(this[_subsetMask$]) >>> 0) !== 0) {
        dart.throw(new core.ArgumentError.new("Source contains invalid character with code point: " + dart.str(codeUnit) + "."));
      }
    }
    this[_sink$0].add(source[$codeUnits][$sublist](start, end));
    if (dart.test(isLast)) {
      this.close();
    }
  }
};
(convert._UnicodeSubsetEncoderSink.new = function(_subsetMask, _sink) {
  if (_subsetMask == null) dart.nullFailed(I[88], 117, 34, "_subsetMask");
  if (_sink == null) dart.nullFailed(I[88], 117, 52, "_sink");
  this[_subsetMask$] = _subsetMask;
  this[_sink$0] = _sink;
  ;
}).prototype = convert._UnicodeSubsetEncoderSink.prototype;
dart.addTypeTests(convert._UnicodeSubsetEncoderSink);
dart.addTypeCaches(convert._UnicodeSubsetEncoderSink);
dart.setMethodSignature(convert._UnicodeSubsetEncoderSink, () => ({
  __proto__: dart.getMethods(convert._UnicodeSubsetEncoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._UnicodeSubsetEncoderSink, I[32]);
dart.setFieldSignature(convert._UnicodeSubsetEncoderSink, () => ({
  __proto__: dart.getFields(convert._UnicodeSubsetEncoderSink.__proto__),
  [_sink$0]: dart.finalFieldType(convert.ByteConversionSink),
  [_subsetMask$]: dart.finalFieldType(core.int)
}));
var _convertInvalid = dart.privateName(convert, "_convertInvalid");
const _allowInvalid$0 = _UnicodeSubsetDecoder__allowInvalid;
const _subsetMask$1 = _UnicodeSubsetDecoder__subsetMask;
convert._UnicodeSubsetDecoder = class _UnicodeSubsetDecoder extends convert.Converter$(core.List$(core.int), core.String) {
  get [_allowInvalid$]() {
    return this[_allowInvalid$0];
  }
  set [_allowInvalid$](value) {
    super[_allowInvalid$] = value;
  }
  get [_subsetMask$]() {
    return this[_subsetMask$1];
  }
  set [_subsetMask$](value) {
    super[_subsetMask$] = value;
  }
  convert(bytes, start = 0, end = null) {
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[88], 164, 28, "bytes");
    if (start == null) dart.nullFailed(I[88], 164, 40, "start");
    end = core.RangeError.checkValidRange(start, end, bytes[$length]);
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let byte = bytes[$_get](i);
      if ((dart.notNull(byte) & ~dart.notNull(this[_subsetMask$]) >>> 0) !== 0) {
        if (!dart.test(this[_allowInvalid$])) {
          dart.throw(new core.FormatException.new("Invalid value in input: " + dart.str(byte)));
        }
        return this[_convertInvalid](bytes, start, end);
      }
    }
    return core.String.fromCharCodes(bytes, start, end);
  }
  [_convertInvalid](bytes, start, end) {
    if (bytes == null) dart.nullFailed(I[88], 178, 36, "bytes");
    if (start == null) dart.nullFailed(I[88], 178, 47, "start");
    if (end == null) dart.nullFailed(I[88], 178, 58, "end");
    let buffer = new core.StringBuffer.new();
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let value = bytes[$_get](i);
      if ((dart.notNull(value) & ~dart.notNull(this[_subsetMask$]) >>> 0) !== 0) value = 65533;
      buffer.writeCharCode(value);
    }
    return buffer.toString();
  }
  bind(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[88], 195, 41, "stream");
    return super.bind(stream);
  }
};
(convert._UnicodeSubsetDecoder.new = function(_allowInvalid, _subsetMask) {
  if (_allowInvalid == null) dart.nullFailed(I[88], 157, 36, "_allowInvalid");
  if (_subsetMask == null) dart.nullFailed(I[88], 157, 56, "_subsetMask");
  this[_allowInvalid$0] = _allowInvalid;
  this[_subsetMask$1] = _subsetMask;
  convert._UnicodeSubsetDecoder.__proto__.new.call(this);
  ;
}).prototype = convert._UnicodeSubsetDecoder.prototype;
dart.addTypeTests(convert._UnicodeSubsetDecoder);
dart.addTypeCaches(convert._UnicodeSubsetDecoder);
dart.setMethodSignature(convert._UnicodeSubsetDecoder, () => ({
  __proto__: dart.getMethods(convert._UnicodeSubsetDecoder.__proto__),
  convert: dart.fnType(core.String, [dart.nullable(core.Object)], [core.int, dart.nullable(core.int)]),
  [_convertInvalid]: dart.fnType(core.String, [core.List$(core.int), core.int, core.int])
}));
dart.setLibraryUri(convert._UnicodeSubsetDecoder, I[32]);
dart.setFieldSignature(convert._UnicodeSubsetDecoder, () => ({
  __proto__: dart.getFields(convert._UnicodeSubsetDecoder.__proto__),
  [_allowInvalid$]: dart.finalFieldType(core.bool),
  [_subsetMask$]: dart.finalFieldType(core.int)
}));
convert.AsciiDecoder = class AsciiDecoder extends convert._UnicodeSubsetDecoder {
  startChunkedConversion(sink) {
    T$0.SinkOfString().as(sink);
    if (sink == null) dart.nullFailed(I[88], 206, 58, "sink");
    let stringSink = null;
    if (convert.StringConversionSink.is(sink)) {
      stringSink = sink;
    } else {
      stringSink = new convert._StringAdapterSink.new(sink);
    }
    if (dart.test(this[_allowInvalid$])) {
      return new convert._ErrorHandlingAsciiDecoderSink.new(stringSink.asUtf8Sink(false));
    } else {
      return new convert._SimpleAsciiDecoderSink.new(stringSink);
    }
  }
};
(convert.AsciiDecoder.new = function(opts) {
  let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : false;
  if (allowInvalid == null) dart.nullFailed(I[88], 199, 28, "allowInvalid");
  convert.AsciiDecoder.__proto__.new.call(this, allowInvalid, 127);
  ;
}).prototype = convert.AsciiDecoder.prototype;
dart.addTypeTests(convert.AsciiDecoder);
dart.addTypeCaches(convert.AsciiDecoder);
dart.setMethodSignature(convert.AsciiDecoder, () => ({
  __proto__: dart.getMethods(convert.AsciiDecoder.__proto__),
  startChunkedConversion: dart.fnType(convert.ByteConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.AsciiDecoder, I[32]);
var _utf8Sink$ = dart.privateName(convert, "_utf8Sink");
const _is_ChunkedConversionSink_default = Symbol('_is_ChunkedConversionSink_default');
convert.ChunkedConversionSink$ = dart.generic(T => {
  class ChunkedConversionSink extends core.Object {}
  (ChunkedConversionSink.new = function() {
    ;
  }).prototype = ChunkedConversionSink.prototype;
  dart.addTypeTests(ChunkedConversionSink);
  ChunkedConversionSink.prototype[_is_ChunkedConversionSink_default] = true;
  dart.addTypeCaches(ChunkedConversionSink);
  ChunkedConversionSink[dart.implements] = () => [core.Sink$(T)];
  dart.setLibraryUri(ChunkedConversionSink, I[32]);
  return ChunkedConversionSink;
});
convert.ChunkedConversionSink = convert.ChunkedConversionSink$();
dart.addTypeTests(convert.ChunkedConversionSink, _is_ChunkedConversionSink_default);
convert.ByteConversionSink = class ByteConversionSink extends convert.ChunkedConversionSink$(core.List$(core.int)) {};
(convert.ByteConversionSink.new = function() {
  convert.ByteConversionSink.__proto__.new.call(this);
  ;
}).prototype = convert.ByteConversionSink.prototype;
dart.addTypeTests(convert.ByteConversionSink);
dart.addTypeCaches(convert.ByteConversionSink);
dart.setLibraryUri(convert.ByteConversionSink, I[32]);
convert.ByteConversionSinkBase = class ByteConversionSinkBase extends convert.ByteConversionSink {
  addSlice(chunk, start, end, isLast) {
    if (chunk == null) dart.nullFailed(I[92], 42, 27, "chunk");
    if (start == null) dart.nullFailed(I[92], 42, 38, "start");
    if (end == null) dart.nullFailed(I[92], 42, 49, "end");
    if (isLast == null) dart.nullFailed(I[92], 42, 59, "isLast");
    this.add(chunk[$sublist](start, end));
    if (dart.test(isLast)) this.close();
  }
};
(convert.ByteConversionSinkBase.new = function() {
  convert.ByteConversionSinkBase.__proto__.new.call(this);
  ;
}).prototype = convert.ByteConversionSinkBase.prototype;
dart.addTypeTests(convert.ByteConversionSinkBase);
dart.addTypeCaches(convert.ByteConversionSinkBase);
dart.setMethodSignature(convert.ByteConversionSinkBase, () => ({
  __proto__: dart.getMethods(convert.ByteConversionSinkBase.__proto__),
  addSlice: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert.ByteConversionSinkBase, I[32]);
convert._ErrorHandlingAsciiDecoderSink = class _ErrorHandlingAsciiDecoderSink extends convert.ByteConversionSinkBase {
  close() {
    this[_utf8Sink$].close();
  }
  add(source) {
    T$0.ListOfint().as(source);
    if (source == null) dart.nullFailed(I[88], 233, 22, "source");
    this.addSlice(source, 0, source[$length], false);
  }
  addSlice(source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[88], 237, 27, "source");
    if (start == null) dart.nullFailed(I[88], 237, 39, "start");
    if (end == null) dart.nullFailed(I[88], 237, 50, "end");
    if (isLast == null) dart.nullFailed(I[88], 237, 60, "isLast");
    core.RangeError.checkValidRange(start, end, source[$length]);
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      if ((dart.notNull(source[$_get](i)) & ~127 >>> 0) !== 0) {
        if (dart.notNull(i) > dart.notNull(start)) this[_utf8Sink$].addSlice(source, start, i, false);
        this[_utf8Sink$].add(C[85] || CT.C85);
        start = dart.notNull(i) + 1;
      }
    }
    if (dart.notNull(start) < dart.notNull(end)) {
      this[_utf8Sink$].addSlice(source, start, end, isLast);
    } else if (dart.test(isLast)) {
      this.close();
    }
  }
};
(convert._ErrorHandlingAsciiDecoderSink.new = function(_utf8Sink) {
  if (_utf8Sink == null) dart.nullFailed(I[88], 227, 39, "_utf8Sink");
  this[_utf8Sink$] = _utf8Sink;
  convert._ErrorHandlingAsciiDecoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._ErrorHandlingAsciiDecoderSink.prototype;
dart.addTypeTests(convert._ErrorHandlingAsciiDecoderSink);
dart.addTypeCaches(convert._ErrorHandlingAsciiDecoderSink);
dart.setMethodSignature(convert._ErrorHandlingAsciiDecoderSink, () => ({
  __proto__: dart.getMethods(convert._ErrorHandlingAsciiDecoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert._ErrorHandlingAsciiDecoderSink, I[32]);
dart.setFieldSignature(convert._ErrorHandlingAsciiDecoderSink, () => ({
  __proto__: dart.getFields(convert._ErrorHandlingAsciiDecoderSink.__proto__),
  [_utf8Sink$]: dart.fieldType(convert.ByteConversionSink)
}));
convert._SimpleAsciiDecoderSink = class _SimpleAsciiDecoderSink extends convert.ByteConversionSinkBase {
  close() {
    this[_sink$0].close();
  }
  add(source) {
    T$0.ListOfint().as(source);
    if (source == null) dart.nullFailed(I[88], 263, 22, "source");
    for (let i = 0; i < dart.notNull(source[$length]); i = i + 1) {
      if ((dart.notNull(source[$_get](i)) & ~127 >>> 0) !== 0) {
        dart.throw(new core.FormatException.new("Source contains non-ASCII bytes."));
      }
    }
    this[_sink$0].add(core.String.fromCharCodes(source));
  }
  addSlice(source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[88], 272, 27, "source");
    if (start == null) dart.nullFailed(I[88], 272, 39, "start");
    if (end == null) dart.nullFailed(I[88], 272, 50, "end");
    if (isLast == null) dart.nullFailed(I[88], 272, 60, "isLast");
    let length = source[$length];
    core.RangeError.checkValidRange(start, end, length);
    if (dart.notNull(start) < dart.notNull(end)) {
      if (start !== 0 || end != length) {
        source = source[$sublist](start, end);
      }
      this.add(source);
    }
    if (dart.test(isLast)) this.close();
  }
};
(convert._SimpleAsciiDecoderSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[88], 257, 32, "_sink");
  this[_sink$0] = _sink;
  convert._SimpleAsciiDecoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._SimpleAsciiDecoderSink.prototype;
dart.addTypeTests(convert._SimpleAsciiDecoderSink);
dart.addTypeCaches(convert._SimpleAsciiDecoderSink);
dart.setMethodSignature(convert._SimpleAsciiDecoderSink, () => ({
  __proto__: dart.getMethods(convert._SimpleAsciiDecoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert._SimpleAsciiDecoderSink, I[32]);
dart.setFieldSignature(convert._SimpleAsciiDecoderSink, () => ({
  __proto__: dart.getFields(convert._SimpleAsciiDecoderSink.__proto__),
  [_sink$0]: dart.fieldType(core.Sink)
}));
var _encoder = dart.privateName(convert, "Base64Codec._encoder");
var Base64Encoder__urlSafe = dart.privateName(convert, "Base64Encoder._urlSafe");
var _encoder$ = dart.privateName(convert, "_encoder");
convert.Base64Codec = class Base64Codec extends convert.Codec$(core.List$(core.int), core.String) {
  get [_encoder$]() {
    return this[_encoder];
  }
  set [_encoder$](value) {
    super[_encoder$] = value;
  }
  get encoder() {
    return this[_encoder$];
  }
  get decoder() {
    return C[88] || CT.C88;
  }
  decode(encoded) {
    core.String.as(encoded);
    if (encoded == null) dart.nullFailed(I[93], 83, 27, "encoded");
    return this.decoder.convert(encoded);
  }
  normalize(source, start = 0, end = null) {
    let t176, t176$, t176$0, t176$1, t176$2;
    if (source == null) dart.nullFailed(I[93], 97, 27, "source");
    if (start == null) dart.nullFailed(I[93], 97, 40, "start");
    end = core.RangeError.checkValidRange(start, end, source.length);
    let buffer = null;
    let sliceStart = start;
    let alphabet = convert._Base64Encoder._base64Alphabet;
    let inverseAlphabet = convert._Base64Decoder._inverseAlphabet;
    let firstPadding = -1;
    let firstPaddingSourceIndex = -1;
    let paddingCount = 0;
    for (let i = start; dart.notNull(i) < dart.notNull(end);) {
      let sliceEnd = i;
      let char = source[$codeUnitAt]((t176 = i, i = dart.notNull(t176) + 1, t176));
      let originalChar = char;
      if (char === 37) {
        if (dart.notNull(i) + 2 <= dart.notNull(end)) {
          char = _internal.parseHexByte(source, i);
          i = dart.notNull(i) + 2;
          if (char === 37) char = -1;
        } else {
          char = -1;
        }
      }
      if (0 <= dart.notNull(char) && dart.notNull(char) <= 127) {
        let value = inverseAlphabet[$_get](char);
        if (dart.notNull(value) >= 0) {
          char = alphabet[$codeUnitAt](value);
          if (char == originalChar) continue;
        } else if (value === -1) {
          if (firstPadding < 0) {
            firstPadding = dart.notNull((t176$0 = (t176$ = buffer, t176$ == null ? null : t176$.length), t176$0 == null ? 0 : t176$0)) + (dart.notNull(sliceEnd) - dart.notNull(sliceStart));
            firstPaddingSourceIndex = sliceEnd;
          }
          paddingCount = paddingCount + 1;
          if (originalChar === 61) continue;
        }
        if (value !== -2) {
          t176$2 = (t176$1 = buffer, t176$1 == null ? buffer = new core.StringBuffer.new() : t176$1);
          (() => {
            t176$2.write(source[$substring](sliceStart, sliceEnd));
            t176$2.writeCharCode(char);
            return t176$2;
          })();
          sliceStart = i;
          continue;
        }
      }
      dart.throw(new core.FormatException.new("Invalid base64 data", source, sliceEnd));
    }
    if (buffer != null) {
      buffer.write(source[$substring](sliceStart, end));
      if (firstPadding >= 0) {
        convert.Base64Codec._checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, buffer.length);
      } else {
        let endLength = (dart.notNull(buffer.length) - 1)[$modulo](4) + 1;
        if (endLength === 1) {
          dart.throw(new core.FormatException.new("Invalid base64 encoding length ", source, end));
        }
        while (endLength < 4) {
          buffer.write("=");
          endLength = endLength + 1;
        }
      }
      return source[$replaceRange](start, end, dart.toString(buffer));
    }
    let length = dart.notNull(end) - dart.notNull(start);
    if (firstPadding >= 0) {
      convert.Base64Codec._checkPadding(source, firstPaddingSourceIndex, end, firstPadding, paddingCount, length);
    } else {
      let endLength = length[$modulo](4);
      if (endLength === 1) {
        dart.throw(new core.FormatException.new("Invalid base64 encoding length ", source, end));
      }
      if (endLength > 1) {
        source = source[$replaceRange](end, end, endLength === 2 ? "==" : "=");
      }
    }
    return source;
  }
  static _checkPadding(source, sourceIndex, sourceEnd, firstPadding, paddingCount, length) {
    if (source == null) dart.nullFailed(I[93], 195, 36, "source");
    if (sourceIndex == null) dart.nullFailed(I[93], 195, 48, "sourceIndex");
    if (sourceEnd == null) dart.nullFailed(I[93], 195, 65, "sourceEnd");
    if (firstPadding == null) dart.nullFailed(I[93], 196, 11, "firstPadding");
    if (paddingCount == null) dart.nullFailed(I[93], 196, 29, "paddingCount");
    if (length == null) dart.nullFailed(I[93], 196, 47, "length");
    if (length[$modulo](4) !== 0) {
      dart.throw(new core.FormatException.new("Invalid base64 padding, padded length must be multiple of four, " + "is " + dart.str(length), source, sourceEnd));
    }
    if (dart.notNull(firstPadding) + dart.notNull(paddingCount) !== length) {
      dart.throw(new core.FormatException.new("Invalid base64 padding, '=' not at the end", source, sourceIndex));
    }
    if (dart.notNull(paddingCount) > 2) {
      dart.throw(new core.FormatException.new("Invalid base64 padding, more than two '=' characters", source, sourceIndex));
    }
  }
};
(convert.Base64Codec.new = function() {
  this[_encoder] = C[86] || CT.C86;
  convert.Base64Codec.__proto__.new.call(this);
  ;
}).prototype = convert.Base64Codec.prototype;
(convert.Base64Codec.urlSafe = function() {
  this[_encoder] = C[87] || CT.C87;
  convert.Base64Codec.__proto__.new.call(this);
  ;
}).prototype = convert.Base64Codec.prototype;
dart.addTypeTests(convert.Base64Codec);
dart.addTypeCaches(convert.Base64Codec);
dart.setMethodSignature(convert.Base64Codec, () => ({
  __proto__: dart.getMethods(convert.Base64Codec.__proto__),
  decode: dart.fnType(typed_data.Uint8List, [dart.nullable(core.Object)]),
  normalize: dart.fnType(core.String, [core.String], [core.int, dart.nullable(core.int)])
}));
dart.setGetterSignature(convert.Base64Codec, () => ({
  __proto__: dart.getGetters(convert.Base64Codec.__proto__),
  encoder: convert.Base64Encoder,
  decoder: convert.Base64Decoder
}));
dart.setLibraryUri(convert.Base64Codec, I[32]);
dart.setFieldSignature(convert.Base64Codec, () => ({
  __proto__: dart.getFields(convert.Base64Codec.__proto__),
  [_encoder$]: dart.finalFieldType(convert.Base64Encoder)
}));
var _urlSafe = dart.privateName(convert, "_urlSafe");
const _urlSafe$ = Base64Encoder__urlSafe;
convert.Base64Encoder = class Base64Encoder extends convert.Converter$(core.List$(core.int), core.String) {
  get [_urlSafe]() {
    return this[_urlSafe$];
  }
  set [_urlSafe](value) {
    super[_urlSafe] = value;
  }
  convert(input) {
    T$0.ListOfint().as(input);
    if (input == null) dart.nullFailed(I[93], 232, 28, "input");
    if (dart.test(input[$isEmpty])) return "";
    let encoder = new convert._Base64Encoder.new(this[_urlSafe]);
    let buffer = dart.nullCheck(encoder.encode(input, 0, input[$length], true));
    return core.String.fromCharCodes(buffer);
  }
  startChunkedConversion(sink) {
    T$0.SinkOfString().as(sink);
    if (sink == null) dart.nullFailed(I[93], 239, 58, "sink");
    if (convert.StringConversionSink.is(sink)) {
      return new convert._Utf8Base64EncoderSink.new(sink.asUtf8Sink(false), this[_urlSafe]);
    }
    return new convert._AsciiBase64EncoderSink.new(sink, this[_urlSafe]);
  }
};
(convert.Base64Encoder.new = function() {
  this[_urlSafe$] = false;
  convert.Base64Encoder.__proto__.new.call(this);
  ;
}).prototype = convert.Base64Encoder.prototype;
(convert.Base64Encoder.urlSafe = function() {
  this[_urlSafe$] = true;
  convert.Base64Encoder.__proto__.new.call(this);
  ;
}).prototype = convert.Base64Encoder.prototype;
dart.addTypeTests(convert.Base64Encoder);
dart.addTypeCaches(convert.Base64Encoder);
dart.setMethodSignature(convert.Base64Encoder, () => ({
  __proto__: dart.getMethods(convert.Base64Encoder.__proto__),
  convert: dart.fnType(core.String, [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.ByteConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.Base64Encoder, I[32]);
dart.setFieldSignature(convert.Base64Encoder, () => ({
  __proto__: dart.getFields(convert.Base64Encoder.__proto__),
  [_urlSafe]: dart.finalFieldType(core.bool)
}));
var _state$0 = dart.privateName(convert, "_state");
var _alphabet = dart.privateName(convert, "_alphabet");
convert._Base64Encoder = class _Base64Encoder extends core.Object {
  static _encodeState(count, bits) {
    if (count == null) dart.nullFailed(I[93], 279, 31, "count");
    if (bits == null) dart.nullFailed(I[93], 279, 42, "bits");
    if (!(dart.notNull(count) <= 3)) dart.assertFailed(null, I[93], 280, 12, "count <= _countMask");
    return (bits[$leftShift](2) | dart.notNull(count)) >>> 0;
  }
  static _stateBits(state) {
    if (state == null) dart.nullFailed(I[93], 285, 29, "state");
    return state[$rightShift](2);
  }
  static _stateCount(state) {
    if (state == null) dart.nullFailed(I[93], 288, 30, "state");
    return (dart.notNull(state) & 3) >>> 0;
  }
  createBuffer(bufferLength) {
    if (bufferLength == null) dart.nullFailed(I[93], 291, 30, "bufferLength");
    return _native_typed_data.NativeUint8List.new(bufferLength);
  }
  encode(bytes, start, end, isLast) {
    if (bytes == null) dart.nullFailed(I[93], 304, 31, "bytes");
    if (start == null) dart.nullFailed(I[93], 304, 42, "start");
    if (end == null) dart.nullFailed(I[93], 304, 53, "end");
    if (isLast == null) dart.nullFailed(I[93], 304, 63, "isLast");
    if (!(0 <= dart.notNull(start))) dart.assertFailed(null, I[93], 305, 12, "0 <= start");
    if (!(dart.notNull(start) <= dart.notNull(end))) dart.assertFailed(null, I[93], 306, 12, "start <= end");
    if (!(dart.notNull(end) <= dart.notNull(bytes[$length]))) dart.assertFailed(null, I[93], 307, 12, "end <= bytes.length");
    let length = dart.notNull(end) - dart.notNull(start);
    let count = convert._Base64Encoder._stateCount(this[_state$0]);
    let byteCount = dart.notNull(count) + length;
    let fullChunks = (byteCount / 3)[$truncate]();
    let partialChunkLength = byteCount - fullChunks * 3;
    let bufferLength = fullChunks * 4;
    if (dart.test(isLast) && partialChunkLength > 0) {
      bufferLength = bufferLength + 4;
    }
    let output = this.createBuffer(bufferLength);
    this[_state$0] = convert._Base64Encoder.encodeChunk(this[_alphabet], bytes, start, end, isLast, output, 0, this[_state$0]);
    if (bufferLength > 0) return output;
    return null;
  }
  static encodeChunk(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
    let t176, t176$, t176$0, t176$1;
    if (alphabet == null) dart.nullFailed(I[93], 327, 33, "alphabet");
    if (bytes == null) dart.nullFailed(I[93], 327, 53, "bytes");
    if (start == null) dart.nullFailed(I[93], 327, 64, "start");
    if (end == null) dart.nullFailed(I[93], 327, 75, "end");
    if (isLast == null) dart.nullFailed(I[93], 328, 12, "isLast");
    if (output == null) dart.nullFailed(I[93], 328, 30, "output");
    if (outputIndex == null) dart.nullFailed(I[93], 328, 42, "outputIndex");
    if (state == null) dart.nullFailed(I[93], 328, 59, "state");
    let bits = convert._Base64Encoder._stateBits(state);
    let expectedChars = 3 - dart.notNull(convert._Base64Encoder._stateCount(state));
    let byteOr = 0;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let byte = bytes[$_get](i);
      byteOr = (byteOr | dart.notNull(byte)) >>> 0;
      bits = (dart.notNull(bits) << 8 | dart.notNull(byte)) & 16777215;
      expectedChars = expectedChars - 1;
      if (expectedChars === 0) {
        output[$_set]((t176 = outputIndex, outputIndex = dart.notNull(t176) + 1, t176), alphabet[$codeUnitAt]((bits[$rightShift](18) & 63) >>> 0));
        output[$_set]((t176$ = outputIndex, outputIndex = dart.notNull(t176$) + 1, t176$), alphabet[$codeUnitAt]((bits[$rightShift](12) & 63) >>> 0));
        output[$_set]((t176$0 = outputIndex, outputIndex = dart.notNull(t176$0) + 1, t176$0), alphabet[$codeUnitAt]((bits[$rightShift](6) & 63) >>> 0));
        output[$_set]((t176$1 = outputIndex, outputIndex = dart.notNull(t176$1) + 1, t176$1), alphabet[$codeUnitAt]((dart.notNull(bits) & 63) >>> 0));
        expectedChars = 3;
        bits = 0;
      }
    }
    if (byteOr >= 0 && byteOr <= 255) {
      if (dart.test(isLast) && expectedChars < 3) {
        convert._Base64Encoder.writeFinalChunk(alphabet, output, outputIndex, 3 - expectedChars, bits);
        return 0;
      }
      return convert._Base64Encoder._encodeState(3 - expectedChars, bits);
    }
    let i = start;
    while (dart.notNull(i) < dart.notNull(end)) {
      let byte = bytes[$_get](i);
      if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) break;
      i = dart.notNull(i) + 1;
    }
    dart.throw(new core.ArgumentError.value(bytes, "Not a byte value at index " + dart.str(i) + ": 0x" + bytes[$_get](i)[$toRadixString](16)));
  }
  static writeFinalChunk(alphabet, output, outputIndex, count, bits) {
    let t176, t176$, t176$0, t176$1, t176$2, t176$3, t176$4, t176$5;
    if (alphabet == null) dart.nullFailed(I[93], 375, 14, "alphabet");
    if (output == null) dart.nullFailed(I[93], 375, 34, "output");
    if (outputIndex == null) dart.nullFailed(I[93], 375, 46, "outputIndex");
    if (count == null) dart.nullFailed(I[93], 375, 63, "count");
    if (bits == null) dart.nullFailed(I[93], 375, 74, "bits");
    if (!(dart.notNull(count) > 0)) dart.assertFailed(null, I[93], 376, 12, "count > 0");
    if (count === 1) {
      output[$_set]((t176 = outputIndex, outputIndex = dart.notNull(t176) + 1, t176), alphabet[$codeUnitAt]((bits[$rightShift](2) & 63) >>> 0));
      output[$_set]((t176$ = outputIndex, outputIndex = dart.notNull(t176$) + 1, t176$), alphabet[$codeUnitAt]((dart.notNull(bits) << 4 & 63) >>> 0));
      output[$_set]((t176$0 = outputIndex, outputIndex = dart.notNull(t176$0) + 1, t176$0), 61);
      output[$_set]((t176$1 = outputIndex, outputIndex = dart.notNull(t176$1) + 1, t176$1), 61);
    } else {
      if (!(count === 2)) dart.assertFailed(null, I[93], 383, 14, "count == 2");
      output[$_set]((t176$2 = outputIndex, outputIndex = dart.notNull(t176$2) + 1, t176$2), alphabet[$codeUnitAt]((bits[$rightShift](10) & 63) >>> 0));
      output[$_set]((t176$3 = outputIndex, outputIndex = dart.notNull(t176$3) + 1, t176$3), alphabet[$codeUnitAt]((bits[$rightShift](4) & 63) >>> 0));
      output[$_set]((t176$4 = outputIndex, outputIndex = dart.notNull(t176$4) + 1, t176$4), alphabet[$codeUnitAt]((dart.notNull(bits) << 2 & 63) >>> 0));
      output[$_set]((t176$5 = outputIndex, outputIndex = dart.notNull(t176$5) + 1, t176$5), 61);
    }
  }
};
(convert._Base64Encoder.new = function(urlSafe) {
  if (urlSafe == null) dart.nullFailed(I[93], 275, 23, "urlSafe");
  this[_state$0] = 0;
  this[_alphabet] = dart.test(urlSafe) ? convert._Base64Encoder._base64UrlAlphabet : convert._Base64Encoder._base64Alphabet;
  ;
}).prototype = convert._Base64Encoder.prototype;
dart.addTypeTests(convert._Base64Encoder);
dart.addTypeCaches(convert._Base64Encoder);
dart.setMethodSignature(convert._Base64Encoder, () => ({
  __proto__: dart.getMethods(convert._Base64Encoder.__proto__),
  createBuffer: dart.fnType(typed_data.Uint8List, [core.int]),
  encode: dart.fnType(dart.nullable(typed_data.Uint8List), [core.List$(core.int), core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Base64Encoder, I[32]);
dart.setFieldSignature(convert._Base64Encoder, () => ({
  __proto__: dart.getFields(convert._Base64Encoder.__proto__),
  [_state$0]: dart.fieldType(core.int),
  [_alphabet]: dart.finalFieldType(core.String)
}));
dart.defineLazy(convert._Base64Encoder, {
  /*convert._Base64Encoder._base64Alphabet*/get _base64Alphabet() {
    return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  },
  /*convert._Base64Encoder._base64UrlAlphabet*/get _base64UrlAlphabet() {
    return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
  },
  /*convert._Base64Encoder._valueShift*/get _valueShift() {
    return 2;
  },
  /*convert._Base64Encoder._countMask*/get _countMask() {
    return 3;
  },
  /*convert._Base64Encoder._sixBitMask*/get _sixBitMask() {
    return 63;
  }
}, false);
convert._BufferCachingBase64Encoder = class _BufferCachingBase64Encoder extends convert._Base64Encoder {
  createBuffer(bufferLength) {
    if (bufferLength == null) dart.nullFailed(I[93], 401, 30, "bufferLength");
    let buffer = this.bufferCache;
    if (buffer == null || dart.notNull(buffer[$length]) < dart.notNull(bufferLength)) {
      this.bufferCache = buffer = _native_typed_data.NativeUint8List.new(bufferLength);
    }
    return typed_data.Uint8List.view(buffer[$buffer], buffer[$offsetInBytes], bufferLength);
  }
};
(convert._BufferCachingBase64Encoder.new = function(urlSafe) {
  if (urlSafe == null) dart.nullFailed(I[93], 399, 36, "urlSafe");
  this.bufferCache = null;
  convert._BufferCachingBase64Encoder.__proto__.new.call(this, urlSafe);
  ;
}).prototype = convert._BufferCachingBase64Encoder.prototype;
dart.addTypeTests(convert._BufferCachingBase64Encoder);
dart.addTypeCaches(convert._BufferCachingBase64Encoder);
dart.setLibraryUri(convert._BufferCachingBase64Encoder, I[32]);
dart.setFieldSignature(convert._BufferCachingBase64Encoder, () => ({
  __proto__: dart.getFields(convert._BufferCachingBase64Encoder.__proto__),
  bufferCache: dart.fieldType(dart.nullable(typed_data.Uint8List))
}));
var _add$0 = dart.privateName(convert, "_add");
convert._Base64EncoderSink = class _Base64EncoderSink extends convert.ByteConversionSinkBase {
  add(source) {
    T$0.ListOfint().as(source);
    if (source == null) dart.nullFailed(I[93], 412, 22, "source");
    this[_add$0](source, 0, source[$length], false);
  }
  close() {
    this[_add$0](C[89] || CT.C89, 0, 0, true);
  }
  addSlice(source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[93], 420, 27, "source");
    if (start == null) dart.nullFailed(I[93], 420, 39, "start");
    if (end == null) dart.nullFailed(I[93], 420, 50, "end");
    if (isLast == null) dart.nullFailed(I[93], 420, 60, "isLast");
    if (end == null) dart.throw(new core.ArgumentError.notNull("end"));
    core.RangeError.checkValidRange(start, end, source[$length]);
    this[_add$0](source, start, end, isLast);
  }
};
(convert._Base64EncoderSink.new = function() {
  convert._Base64EncoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._Base64EncoderSink.prototype;
dart.addTypeTests(convert._Base64EncoderSink);
dart.addTypeCaches(convert._Base64EncoderSink);
dart.setMethodSignature(convert._Base64EncoderSink, () => ({
  __proto__: dart.getMethods(convert._Base64EncoderSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._Base64EncoderSink, I[32]);
convert._AsciiBase64EncoderSink = class _AsciiBase64EncoderSink extends convert._Base64EncoderSink {
  [_add$0](source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[93], 436, 23, "source");
    if (start == null) dart.nullFailed(I[93], 436, 35, "start");
    if (end == null) dart.nullFailed(I[93], 436, 46, "end");
    if (isLast == null) dart.nullFailed(I[93], 436, 56, "isLast");
    let buffer = this[_encoder$].encode(source, start, end, isLast);
    if (buffer != null) {
      let string = core.String.fromCharCodes(buffer);
      this[_sink$0].add(string);
    }
    if (dart.test(isLast)) {
      this[_sink$0].close();
    }
  }
};
(convert._AsciiBase64EncoderSink.new = function(_sink, urlSafe) {
  if (_sink == null) dart.nullFailed(I[93], 433, 32, "_sink");
  if (urlSafe == null) dart.nullFailed(I[93], 433, 44, "urlSafe");
  this[_sink$0] = _sink;
  this[_encoder$] = new convert._BufferCachingBase64Encoder.new(urlSafe);
  convert._AsciiBase64EncoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._AsciiBase64EncoderSink.prototype;
dart.addTypeTests(convert._AsciiBase64EncoderSink);
dart.addTypeCaches(convert._AsciiBase64EncoderSink);
dart.setMethodSignature(convert._AsciiBase64EncoderSink, () => ({
  __proto__: dart.getMethods(convert._AsciiBase64EncoderSink.__proto__),
  [_add$0]: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._AsciiBase64EncoderSink, I[32]);
dart.setFieldSignature(convert._AsciiBase64EncoderSink, () => ({
  __proto__: dart.getFields(convert._AsciiBase64EncoderSink.__proto__),
  [_sink$0]: dart.finalFieldType(core.Sink$(core.String)),
  [_encoder$]: dart.finalFieldType(convert._Base64Encoder)
}));
convert._Utf8Base64EncoderSink = class _Utf8Base64EncoderSink extends convert._Base64EncoderSink {
  [_add$0](source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[93], 455, 23, "source");
    if (start == null) dart.nullFailed(I[93], 455, 35, "start");
    if (end == null) dart.nullFailed(I[93], 455, 46, "end");
    if (isLast == null) dart.nullFailed(I[93], 455, 56, "isLast");
    let buffer = this[_encoder$].encode(source, start, end, isLast);
    if (buffer != null) {
      this[_sink$0].addSlice(buffer, 0, buffer[$length], isLast);
    }
  }
};
(convert._Utf8Base64EncoderSink.new = function(_sink, urlSafe) {
  if (_sink == null) dart.nullFailed(I[93], 452, 31, "_sink");
  if (urlSafe == null) dart.nullFailed(I[93], 452, 43, "urlSafe");
  this[_sink$0] = _sink;
  this[_encoder$] = new convert._Base64Encoder.new(urlSafe);
  convert._Utf8Base64EncoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._Utf8Base64EncoderSink.prototype;
dart.addTypeTests(convert._Utf8Base64EncoderSink);
dart.addTypeCaches(convert._Utf8Base64EncoderSink);
dart.setMethodSignature(convert._Utf8Base64EncoderSink, () => ({
  __proto__: dart.getMethods(convert._Utf8Base64EncoderSink.__proto__),
  [_add$0]: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Utf8Base64EncoderSink, I[32]);
dart.setFieldSignature(convert._Utf8Base64EncoderSink, () => ({
  __proto__: dart.getFields(convert._Utf8Base64EncoderSink.__proto__),
  [_sink$0]: dart.finalFieldType(convert.ByteConversionSink),
  [_encoder$]: dart.finalFieldType(convert._Base64Encoder)
}));
convert.Base64Decoder = class Base64Decoder extends convert.Converter$(core.String, core.List$(core.int)) {
  convert(input, start = 0, end = null) {
    core.String.as(input);
    if (input == null) dart.nullFailed(I[93], 483, 28, "input");
    if (start == null) dart.nullFailed(I[93], 483, 40, "start");
    end = core.RangeError.checkValidRange(start, end, input.length);
    if (start == end) return _native_typed_data.NativeUint8List.new(0);
    let decoder = new convert._Base64Decoder.new();
    let buffer = dart.nullCheck(decoder.decode(input, start, end));
    decoder.close(input, end);
    return buffer;
  }
  startChunkedConversion(sink) {
    T$0.SinkOfListOfint().as(sink);
    if (sink == null) dart.nullFailed(I[93], 492, 63, "sink");
    return new convert._Base64DecoderSink.new(sink);
  }
};
(convert.Base64Decoder.new = function() {
  convert.Base64Decoder.__proto__.new.call(this);
  ;
}).prototype = convert.Base64Decoder.prototype;
dart.addTypeTests(convert.Base64Decoder);
dart.addTypeCaches(convert.Base64Decoder);
dart.setMethodSignature(convert.Base64Decoder, () => ({
  __proto__: dart.getMethods(convert.Base64Decoder.__proto__),
  convert: dart.fnType(typed_data.Uint8List, [dart.nullable(core.Object)], [core.int, dart.nullable(core.int)]),
  startChunkedConversion: dart.fnType(convert.StringConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.Base64Decoder, I[32]);
convert._Base64Decoder = class _Base64Decoder extends core.Object {
  static _encodeCharacterState(count, bits) {
    if (count == null) dart.nullFailed(I[93], 560, 40, "count");
    if (bits == null) dart.nullFailed(I[93], 560, 51, "bits");
    if (!(count === (dart.notNull(count) & 3) >>> 0)) dart.assertFailed(null, I[93], 561, 12, "count == (count & _countMask)");
    return (bits[$leftShift](2) | dart.notNull(count)) >>> 0;
  }
  static _stateCount(state) {
    if (state == null) dart.nullFailed(I[93], 566, 30, "state");
    if (!(dart.notNull(state) >= 0)) dart.assertFailed(null, I[93], 567, 12, "state >= 0");
    return (dart.notNull(state) & 3) >>> 0;
  }
  static _stateBits(state) {
    if (state == null) dart.nullFailed(I[93], 572, 29, "state");
    if (!(dart.notNull(state) >= 0)) dart.assertFailed(null, I[93], 573, 12, "state >= 0");
    return state[$rightShift](2);
  }
  static _encodePaddingState(expectedPadding) {
    if (expectedPadding == null) dart.nullFailed(I[93], 578, 38, "expectedPadding");
    if (!(dart.notNull(expectedPadding) >= 0)) dart.assertFailed(null, I[93], 579, 12, "expectedPadding >= 0");
    if (!(dart.notNull(expectedPadding) <= 5)) dart.assertFailed(null, I[93], 580, 12, "expectedPadding <= 5");
    return -dart.notNull(expectedPadding) - 1;
  }
  static _statePadding(state) {
    if (state == null) dart.nullFailed(I[93], 585, 32, "state");
    if (!(dart.notNull(state) < 0)) dart.assertFailed(null, I[93], 586, 12, "state < 0");
    return -dart.notNull(state) - 1;
  }
  static _hasSeenPadding(state) {
    if (state == null) dart.nullFailed(I[93], 590, 35, "state");
    return dart.notNull(state) < 0;
  }
  decode(input, start, end) {
    if (input == null) dart.nullFailed(I[93], 597, 28, "input");
    if (start == null) dart.nullFailed(I[93], 597, 39, "start");
    if (end == null) dart.nullFailed(I[93], 597, 50, "end");
    if (!(0 <= dart.notNull(start))) dart.assertFailed(null, I[93], 598, 12, "0 <= start");
    if (!(dart.notNull(start) <= dart.notNull(end))) dart.assertFailed(null, I[93], 599, 12, "start <= end");
    if (!(dart.notNull(end) <= input.length)) dart.assertFailed(null, I[93], 600, 12, "end <= input.length");
    if (dart.test(convert._Base64Decoder._hasSeenPadding(this[_state$0]))) {
      this[_state$0] = convert._Base64Decoder._checkPadding(input, start, end, this[_state$0]);
      return null;
    }
    if (start == end) return _native_typed_data.NativeUint8List.new(0);
    let buffer = convert._Base64Decoder._allocateBuffer(input, start, end, this[_state$0]);
    this[_state$0] = convert._Base64Decoder.decodeChunk(input, start, end, buffer, 0, this[_state$0]);
    return buffer;
  }
  close(input, end) {
    if (dart.notNull(this[_state$0]) < dart.notNull(convert._Base64Decoder._encodePaddingState(0))) {
      dart.throw(new core.FormatException.new("Missing padding character", input, end));
    }
    if (dart.notNull(this[_state$0]) > 0) {
      dart.throw(new core.FormatException.new("Invalid length, must be multiple of four", input, end));
    }
    this[_state$0] = convert._Base64Decoder._encodePaddingState(0);
  }
  static decodeChunk(input, start, end, output, outIndex, state) {
    let t176, t176$, t176$0, t176$1, t176$2, t176$3;
    if (input == null) dart.nullFailed(I[93], 628, 33, "input");
    if (start == null) dart.nullFailed(I[93], 628, 44, "start");
    if (end == null) dart.nullFailed(I[93], 628, 55, "end");
    if (output == null) dart.nullFailed(I[93], 628, 70, "output");
    if (outIndex == null) dart.nullFailed(I[93], 629, 11, "outIndex");
    if (state == null) dart.nullFailed(I[93], 629, 25, "state");
    if (!!dart.test(convert._Base64Decoder._hasSeenPadding(state))) dart.assertFailed(null, I[93], 630, 12, "!_hasSeenPadding(state)");
    let bits = convert._Base64Decoder._stateBits(state);
    let count = convert._Base64Decoder._stateCount(state);
    let charOr = 0;
    let inverseAlphabet = convert._Base64Decoder._inverseAlphabet;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = input[$codeUnitAt](i);
      charOr = (charOr | char) >>> 0;
      let code = inverseAlphabet[$_get]((char & 127) >>> 0);
      if (dart.notNull(code) >= 0) {
        bits = (bits[$leftShift](6) | dart.notNull(code)) & 16777215;
        count = dart.notNull(count) + 1 & 3;
        if (count === 0) {
          if (!(dart.notNull(outIndex) + 3 <= dart.notNull(output[$length]))) dart.assertFailed(null, I[93], 652, 18, "outIndex + 3 <= output.length");
          output[$_set]((t176 = outIndex, outIndex = dart.notNull(t176) + 1, t176), (bits[$rightShift](16) & 255) >>> 0);
          output[$_set]((t176$ = outIndex, outIndex = dart.notNull(t176$) + 1, t176$), (bits[$rightShift](8) & 255) >>> 0);
          output[$_set]((t176$0 = outIndex, outIndex = dart.notNull(t176$0) + 1, t176$0), (dart.notNull(bits) & 255) >>> 0);
          bits = 0;
        }
        continue;
      } else if (code === -1 && dart.notNull(count) > 1) {
        if (charOr < 0 || charOr > 127) break;
        if (count === 3) {
          if ((dart.notNull(bits) & 3) !== 0) {
            dart.throw(new core.FormatException.new("Invalid encoding before padding", input, i));
          }
          output[$_set]((t176$1 = outIndex, outIndex = dart.notNull(t176$1) + 1, t176$1), bits[$rightShift](10));
          output[$_set]((t176$2 = outIndex, outIndex = dart.notNull(t176$2) + 1, t176$2), bits[$rightShift](2));
        } else {
          if ((dart.notNull(bits) & 15) !== 0) {
            dart.throw(new core.FormatException.new("Invalid encoding before padding", input, i));
          }
          output[$_set]((t176$3 = outIndex, outIndex = dart.notNull(t176$3) + 1, t176$3), bits[$rightShift](4));
        }
        let expectedPadding = (3 - dart.notNull(count)) * 3;
        if (char === 37) expectedPadding = expectedPadding + 2;
        state = convert._Base64Decoder._encodePaddingState(expectedPadding);
        return convert._Base64Decoder._checkPadding(input, dart.notNull(i) + 1, end, state);
      }
      dart.throw(new core.FormatException.new("Invalid character", input, i));
    }
    if (charOr >= 0 && charOr <= 127) {
      return convert._Base64Decoder._encodeCharacterState(count, bits);
    }
    let i = null;
    for (let t176$4 = i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = input[$codeUnitAt](i);
      if (char < 0 || char > 127) break;
    }
    dart.throw(new core.FormatException.new("Invalid character", input, i));
  }
  static _allocateBuffer(input, start, end, state) {
    if (input == null) dart.nullFailed(I[93], 703, 14, "input");
    if (start == null) dart.nullFailed(I[93], 703, 25, "start");
    if (end == null) dart.nullFailed(I[93], 703, 36, "end");
    if (state == null) dart.nullFailed(I[93], 703, 45, "state");
    if (!(dart.notNull(state) >= 0)) dart.assertFailed(null, I[93], 704, 12, "state >= 0");
    let paddingStart = convert._Base64Decoder._trimPaddingChars(input, start, end);
    let length = dart.notNull(convert._Base64Decoder._stateCount(state)) + (dart.notNull(paddingStart) - dart.notNull(start));
    let bufferLength = length[$rightShift](2) * 3;
    let remainderLength = length & 3;
    if (remainderLength !== 0 && dart.notNull(paddingStart) < dart.notNull(end)) {
      bufferLength = bufferLength + (remainderLength - 1);
    }
    if (bufferLength > 0) return _native_typed_data.NativeUint8List.new(bufferLength);
    return convert._Base64Decoder._emptyBuffer;
  }
  static _trimPaddingChars(input, start, end) {
    if (input == null) dart.nullFailed(I[93], 732, 39, "input");
    if (start == null) dart.nullFailed(I[93], 732, 50, "start");
    if (end == null) dart.nullFailed(I[93], 732, 61, "end");
    let padding = 0;
    let index = end;
    let newEnd = end;
    while (dart.notNull(index) > dart.notNull(start) && padding < 2) {
      index = dart.notNull(index) - 1;
      let char = input[$codeUnitAt](index);
      if (char === 61) {
        padding = padding + 1;
        newEnd = index;
        continue;
      }
      if ((char | 32) >>> 0 === 100) {
        if (index == start) break;
        index = dart.notNull(index) - 1;
        char = input[$codeUnitAt](index);
      }
      if (char === 51) {
        if (index == start) break;
        index = dart.notNull(index) - 1;
        char = input[$codeUnitAt](index);
      }
      if (char === 37) {
        padding = padding + 1;
        newEnd = index;
        continue;
      }
      break;
    }
    return newEnd;
  }
  static _checkPadding(input, start, end, state) {
    if (input == null) dart.nullFailed(I[93], 784, 35, "input");
    if (start == null) dart.nullFailed(I[93], 784, 46, "start");
    if (end == null) dart.nullFailed(I[93], 784, 57, "end");
    if (state == null) dart.nullFailed(I[93], 784, 66, "state");
    if (!dart.test(convert._Base64Decoder._hasSeenPadding(state))) dart.assertFailed(null, I[93], 785, 12, "_hasSeenPadding(state)");
    if (start == end) return state;
    let expectedPadding = convert._Base64Decoder._statePadding(state);
    if (!(dart.notNull(expectedPadding) >= 0)) dart.assertFailed(null, I[93], 788, 12, "expectedPadding >= 0");
    if (!(dart.notNull(expectedPadding) < 6)) dart.assertFailed(null, I[93], 789, 12, "expectedPadding < 6");
    while (dart.notNull(expectedPadding) > 0) {
      let char = input[$codeUnitAt](start);
      if (expectedPadding === 3) {
        if (char === 61) {
          expectedPadding = dart.notNull(expectedPadding) - 3;
          start = dart.notNull(start) + 1;
          break;
        }
        if (char === 37) {
          expectedPadding = dart.notNull(expectedPadding) - 1;
          start = dart.notNull(start) + 1;
          if (start == end) break;
          char = input[$codeUnitAt](start);
        } else {
          break;
        }
      }
      let expectedPartialPadding = expectedPadding;
      if (dart.notNull(expectedPartialPadding) > 3) expectedPartialPadding = dart.notNull(expectedPartialPadding) - 3;
      if (expectedPartialPadding === 2) {
        if (char !== 51) break;
        start = dart.notNull(start) + 1;
        expectedPadding = dart.notNull(expectedPadding) - 1;
        if (start == end) break;
        char = input[$codeUnitAt](start);
      }
      if ((char | 32) >>> 0 !== 100) break;
      start = dart.notNull(start) + 1;
      expectedPadding = dart.notNull(expectedPadding) - 1;
      if (start == end) break;
    }
    if (start != end) {
      dart.throw(new core.FormatException.new("Invalid padding character", input, start));
    }
    return convert._Base64Decoder._encodePaddingState(expectedPadding);
  }
};
(convert._Base64Decoder.new = function() {
  this[_state$0] = 0;
  ;
}).prototype = convert._Base64Decoder.prototype;
dart.addTypeTests(convert._Base64Decoder);
dart.addTypeCaches(convert._Base64Decoder);
dart.setMethodSignature(convert._Base64Decoder, () => ({
  __proto__: dart.getMethods(convert._Base64Decoder.__proto__),
  decode: dart.fnType(dart.nullable(typed_data.Uint8List), [core.String, core.int, core.int]),
  close: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.int)])
}));
dart.setLibraryUri(convert._Base64Decoder, I[32]);
dart.setFieldSignature(convert._Base64Decoder, () => ({
  __proto__: dart.getFields(convert._Base64Decoder.__proto__),
  [_state$0]: dart.fieldType(core.int)
}));
dart.defineLazy(convert._Base64Decoder, {
  /*convert._Base64Decoder._valueShift*/get _valueShift() {
    return 2;
  },
  /*convert._Base64Decoder._countMask*/get _countMask() {
    return 3;
  },
  /*convert._Base64Decoder._invalid*/get _invalid() {
    return -2;
  },
  /*convert._Base64Decoder._padding*/get _padding() {
    return -1;
  },
  /*convert._Base64Decoder.___*/get ___() {
    return -2;
  },
  /*convert._Base64Decoder._p*/get _p() {
    return -1;
  },
  /*convert._Base64Decoder._inverseAlphabet*/get _inverseAlphabet() {
    return _native_typed_data.NativeInt8List.fromList(T$.JSArrayOfint().of([-2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -2, -2, -2, 62, -2, 62, -2, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -2, -2, -2, -1, -2, -2, -2, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -2, -2, -2, -2, 63, -2, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -2, -2, -2, -2, -2]));
  },
  /*convert._Base64Decoder._char_percent*/get _char_percent() {
    return 37;
  },
  /*convert._Base64Decoder._char_3*/get _char_3() {
    return 51;
  },
  /*convert._Base64Decoder._char_d*/get _char_d() {
    return 100;
  },
  /*convert._Base64Decoder._emptyBuffer*/get _emptyBuffer() {
    return _native_typed_data.NativeUint8List.new(0);
  },
  set _emptyBuffer(_) {}
}, false);
var _decoder = dart.privateName(convert, "_decoder");
convert._Base64DecoderSink = class _Base64DecoderSink extends convert.StringConversionSinkBase {
  add(string) {
    core.String.as(string);
    if (string == null) dart.nullFailed(I[93], 838, 19, "string");
    if (string[$isEmpty]) return;
    let buffer = this[_decoder].decode(string, 0, string.length);
    if (buffer != null) this[_sink$0].add(buffer);
  }
  close() {
    this[_decoder].close(null, null);
    this[_sink$0].close();
  }
  addSlice(string, start, end, isLast) {
    if (string == null) dart.nullFailed(I[93], 849, 24, "string");
    if (start == null) dart.nullFailed(I[93], 849, 36, "start");
    if (end == null) dart.nullFailed(I[93], 849, 47, "end");
    if (isLast == null) dart.nullFailed(I[93], 849, 57, "isLast");
    core.RangeError.checkValidRange(start, end, string.length);
    if (start == end) return;
    let buffer = this[_decoder].decode(string, start, end);
    if (buffer != null) this[_sink$0].add(buffer);
    if (dart.test(isLast)) {
      this[_decoder].close(string, end);
      this[_sink$0].close();
    }
  }
};
(convert._Base64DecoderSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[93], 836, 27, "_sink");
  this[_decoder] = new convert._Base64Decoder.new();
  this[_sink$0] = _sink;
  ;
}).prototype = convert._Base64DecoderSink.prototype;
dart.addTypeTests(convert._Base64DecoderSink);
dart.addTypeCaches(convert._Base64DecoderSink);
dart.setMethodSignature(convert._Base64DecoderSink, () => ({
  __proto__: dart.getMethods(convert._Base64DecoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Base64DecoderSink, I[32]);
dart.setFieldSignature(convert._Base64DecoderSink, () => ({
  __proto__: dart.getFields(convert._Base64DecoderSink.__proto__),
  [_sink$0]: dart.finalFieldType(core.Sink$(core.List$(core.int))),
  [_decoder]: dart.finalFieldType(convert._Base64Decoder)
}));
convert._ByteAdapterSink = class _ByteAdapterSink extends convert.ByteConversionSinkBase {
  add(chunk) {
    T$0.ListOfint().as(chunk);
    if (chunk == null) dart.nullFailed(I[92], 57, 22, "chunk");
    this[_sink$0].add(chunk);
  }
  close() {
    this[_sink$0].close();
  }
};
(convert._ByteAdapterSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[92], 55, 25, "_sink");
  this[_sink$0] = _sink;
  convert._ByteAdapterSink.__proto__.new.call(this);
  ;
}).prototype = convert._ByteAdapterSink.prototype;
dart.addTypeTests(convert._ByteAdapterSink);
dart.addTypeCaches(convert._ByteAdapterSink);
dart.setMethodSignature(convert._ByteAdapterSink, () => ({
  __proto__: dart.getMethods(convert._ByteAdapterSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._ByteAdapterSink, I[32]);
dart.setFieldSignature(convert._ByteAdapterSink, () => ({
  __proto__: dart.getFields(convert._ByteAdapterSink.__proto__),
  [_sink$0]: dart.finalFieldType(core.Sink$(core.List$(core.int)))
}));
var _buffer$ = dart.privateName(convert, "_buffer");
var _bufferIndex = dart.privateName(convert, "_bufferIndex");
var _callback$ = dart.privateName(convert, "_callback");
convert._ByteCallbackSink = class _ByteCallbackSink extends convert.ByteConversionSinkBase {
  add(chunk) {
    T$.IterableOfint().as(chunk);
    if (chunk == null) dart.nullFailed(I[92], 80, 26, "chunk");
    let freeCount = dart.notNull(this[_buffer$][$length]) - dart.notNull(this[_bufferIndex]);
    if (dart.notNull(chunk[$length]) > freeCount) {
      let oldLength = this[_buffer$][$length];
      let newLength = dart.notNull(convert._ByteCallbackSink._roundToPowerOf2(dart.notNull(chunk[$length]) + dart.notNull(oldLength))) * 2;
      let grown = _native_typed_data.NativeUint8List.new(newLength);
      grown[$setRange](0, this[_buffer$][$length], this[_buffer$]);
      this[_buffer$] = grown;
    }
    this[_buffer$][$setRange](this[_bufferIndex], dart.notNull(this[_bufferIndex]) + dart.notNull(chunk[$length]), chunk);
    this[_bufferIndex] = dart.notNull(this[_bufferIndex]) + dart.notNull(chunk[$length]);
  }
  static _roundToPowerOf2(v) {
    if (v == null) dart.nullFailed(I[92], 94, 35, "v");
    if (!(dart.notNull(v) > 0)) dart.assertFailed(null, I[92], 95, 12, "v > 0");
    v = dart.notNull(v) - 1;
    v = (dart.notNull(v) | v[$rightShift](1)) >>> 0;
    v = (dart.notNull(v) | v[$rightShift](2)) >>> 0;
    v = (dart.notNull(v) | v[$rightShift](4)) >>> 0;
    v = (dart.notNull(v) | v[$rightShift](8)) >>> 0;
    v = (dart.notNull(v) | v[$rightShift](16)) >>> 0;
    v = dart.notNull(v) + 1;
    return v;
  }
  close() {
    let t177;
    t177 = this[_buffer$][$sublist](0, this[_bufferIndex]);
    this[_callback$](t177);
  }
};
(convert._ByteCallbackSink.new = function(callback) {
  if (callback == null) dart.nullFailed(I[92], 77, 26, "callback");
  this[_buffer$] = _native_typed_data.NativeUint8List.new(1024);
  this[_bufferIndex] = 0;
  this[_callback$] = callback;
  convert._ByteCallbackSink.__proto__.new.call(this);
  ;
}).prototype = convert._ByteCallbackSink.prototype;
dart.addTypeTests(convert._ByteCallbackSink);
dart.addTypeCaches(convert._ByteCallbackSink);
dart.setMethodSignature(convert._ByteCallbackSink, () => ({
  __proto__: dart.getMethods(convert._ByteCallbackSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._ByteCallbackSink, I[32]);
dart.setFieldSignature(convert._ByteCallbackSink, () => ({
  __proto__: dart.getFields(convert._ByteCallbackSink.__proto__),
  [_callback$]: dart.finalFieldType(dart.fnType(dart.void, [core.List$(core.int)])),
  [_buffer$]: dart.fieldType(core.List$(core.int)),
  [_bufferIndex]: dart.fieldType(core.int)
}));
dart.defineLazy(convert._ByteCallbackSink, {
  /*convert._ByteCallbackSink._INITIAL_BUFFER_SIZE*/get _INITIAL_BUFFER_SIZE() {
    return 1024;
  }
}, false);
var _accumulated = dart.privateName(convert, "_accumulated");
const _is__SimpleCallbackSink_default = Symbol('_is__SimpleCallbackSink_default');
convert._SimpleCallbackSink$ = dart.generic(T => {
  var __t$JSArrayOfT = () => (__t$JSArrayOfT = dart.constFn(_interceptors.JSArray$(T)))();
  class _SimpleCallbackSink extends convert.ChunkedConversionSink$(T) {
    add(chunk) {
      T.as(chunk);
      this[_accumulated][$add](chunk);
    }
    close() {
      let t177;
      t177 = this[_accumulated];
      this[_callback$](t177);
    }
  }
  (_SimpleCallbackSink.new = function(_callback) {
    if (_callback == null) dart.nullFailed(I[94], 41, 28, "_callback");
    this[_accumulated] = __t$JSArrayOfT().of([]);
    this[_callback$] = _callback;
    _SimpleCallbackSink.__proto__.new.call(this);
    ;
  }).prototype = _SimpleCallbackSink.prototype;
  dart.addTypeTests(_SimpleCallbackSink);
  _SimpleCallbackSink.prototype[_is__SimpleCallbackSink_default] = true;
  dart.addTypeCaches(_SimpleCallbackSink);
  dart.setMethodSignature(_SimpleCallbackSink, () => ({
    __proto__: dart.getMethods(_SimpleCallbackSink.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    close: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_SimpleCallbackSink, I[32]);
  dart.setFieldSignature(_SimpleCallbackSink, () => ({
    __proto__: dart.getFields(_SimpleCallbackSink.__proto__),
    [_callback$]: dart.finalFieldType(dart.fnType(dart.void, [core.List$(T)])),
    [_accumulated]: dart.finalFieldType(core.List$(T))
  }));
  return _SimpleCallbackSink;
});
convert._SimpleCallbackSink = convert._SimpleCallbackSink$();
dart.addTypeTests(convert._SimpleCallbackSink, _is__SimpleCallbackSink_default);
var _eventSink = dart.privateName(convert, "_eventSink");
var _chunkedSink$ = dart.privateName(convert, "_chunkedSink");
const _is__ConverterStreamEventSink_default = Symbol('_is__ConverterStreamEventSink_default');
convert._ConverterStreamEventSink$ = dart.generic((S, T) => {
  class _ConverterStreamEventSink extends core.Object {
    add(o) {
      S.as(o);
      this[_chunkedSink$].add(o);
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[94], 75, 24, "error");
      _internal.checkNotNullable(core.Object, error, "error");
      this[_eventSink].addError(error, stackTrace);
    }
    close() {
      this[_chunkedSink$].close();
    }
  }
  (_ConverterStreamEventSink.new = function(converter, sink) {
    if (converter == null) dart.nullFailed(I[94], 67, 45, "converter");
    if (sink == null) dart.nullFailed(I[94], 67, 69, "sink");
    this[_eventSink] = sink;
    this[_chunkedSink$] = converter.startChunkedConversion(sink);
    ;
  }).prototype = _ConverterStreamEventSink.prototype;
  dart.addTypeTests(_ConverterStreamEventSink);
  _ConverterStreamEventSink.prototype[_is__ConverterStreamEventSink_default] = true;
  dart.addTypeCaches(_ConverterStreamEventSink);
  _ConverterStreamEventSink[dart.implements] = () => [async.EventSink$(S)];
  dart.setMethodSignature(_ConverterStreamEventSink, () => ({
    __proto__: dart.getMethods(_ConverterStreamEventSink.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    close: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(_ConverterStreamEventSink, I[32]);
  dart.setFieldSignature(_ConverterStreamEventSink, () => ({
    __proto__: dart.getFields(_ConverterStreamEventSink.__proto__),
    [_eventSink]: dart.finalFieldType(async.EventSink$(T)),
    [_chunkedSink$]: dart.finalFieldType(core.Sink$(S))
  }));
  return _ConverterStreamEventSink;
});
convert._ConverterStreamEventSink = convert._ConverterStreamEventSink$();
dart.addTypeTests(convert._ConverterStreamEventSink, _is__ConverterStreamEventSink_default);
var _first$0 = dart.privateName(convert, "_first");
var _second$0 = dart.privateName(convert, "_second");
const _is__FusedCodec_default = Symbol('_is__FusedCodec_default');
convert._FusedCodec$ = dart.generic((S, M, T) => {
  class _FusedCodec extends convert.Codec$(S, T) {
    get encoder() {
      return this[_first$0].encoder.fuse(T, this[_second$0].encoder);
    }
    get decoder() {
      return this[_second$0].decoder.fuse(S, this[_first$0].decoder);
    }
  }
  (_FusedCodec.new = function(_first, _second) {
    if (_first == null) dart.nullFailed(I[90], 85, 20, "_first");
    if (_second == null) dart.nullFailed(I[90], 85, 33, "_second");
    this[_first$0] = _first;
    this[_second$0] = _second;
    _FusedCodec.__proto__.new.call(this);
    ;
  }).prototype = _FusedCodec.prototype;
  dart.addTypeTests(_FusedCodec);
  _FusedCodec.prototype[_is__FusedCodec_default] = true;
  dart.addTypeCaches(_FusedCodec);
  dart.setGetterSignature(_FusedCodec, () => ({
    __proto__: dart.getGetters(_FusedCodec.__proto__),
    encoder: convert.Converter$(S, T),
    decoder: convert.Converter$(T, S)
  }));
  dart.setLibraryUri(_FusedCodec, I[32]);
  dart.setFieldSignature(_FusedCodec, () => ({
    __proto__: dart.getFields(_FusedCodec.__proto__),
    [_first$0]: dart.finalFieldType(convert.Codec$(S, M)),
    [_second$0]: dart.finalFieldType(convert.Codec$(M, T))
  }));
  return _FusedCodec;
});
convert._FusedCodec = convert._FusedCodec$();
dart.addTypeTests(convert._FusedCodec, _is__FusedCodec_default);
var _codec = dart.privateName(convert, "_codec");
const _is__InvertedCodec_default = Symbol('_is__InvertedCodec_default');
convert._InvertedCodec$ = dart.generic((T, S) => {
  class _InvertedCodec extends convert.Codec$(T, S) {
    get encoder() {
      return this[_codec].decoder;
    }
    get decoder() {
      return this[_codec].encoder;
    }
    get inverted() {
      return this[_codec];
    }
  }
  (_InvertedCodec.new = function(codec) {
    if (codec == null) dart.nullFailed(I[90], 91, 30, "codec");
    this[_codec] = codec;
    _InvertedCodec.__proto__.new.call(this);
    ;
  }).prototype = _InvertedCodec.prototype;
  dart.addTypeTests(_InvertedCodec);
  _InvertedCodec.prototype[_is__InvertedCodec_default] = true;
  dart.addTypeCaches(_InvertedCodec);
  dart.setGetterSignature(_InvertedCodec, () => ({
    __proto__: dart.getGetters(_InvertedCodec.__proto__),
    encoder: convert.Converter$(T, S),
    decoder: convert.Converter$(S, T)
  }));
  dart.setLibraryUri(_InvertedCodec, I[32]);
  dart.setFieldSignature(_InvertedCodec, () => ({
    __proto__: dart.getFields(_InvertedCodec.__proto__),
    [_codec]: dart.finalFieldType(convert.Codec$(S, T))
  }));
  return _InvertedCodec;
});
convert._InvertedCodec = convert._InvertedCodec$();
dart.addTypeTests(convert._InvertedCodec, _is__InvertedCodec_default);
const _is__FusedConverter_default = Symbol('_is__FusedConverter_default');
convert._FusedConverter$ = dart.generic((S, M, T) => {
  var __t$SinkOfT = () => (__t$SinkOfT = dart.constFn(core.Sink$(T)))();
  class _FusedConverter extends convert.Converter$(S, T) {
    convert(input) {
      S.as(input);
      return this[_second$0].convert(this[_first$0].convert(input));
    }
    startChunkedConversion(sink) {
      __t$SinkOfT().as(sink);
      if (sink == null) dart.nullFailed(I[31], 69, 42, "sink");
      return this[_first$0].startChunkedConversion(this[_second$0].startChunkedConversion(sink));
    }
  }
  (_FusedConverter.new = function(_first, _second) {
    if (_first == null) dart.nullFailed(I[31], 65, 24, "_first");
    if (_second == null) dart.nullFailed(I[31], 65, 37, "_second");
    this[_first$0] = _first;
    this[_second$0] = _second;
    _FusedConverter.__proto__.new.call(this);
    ;
  }).prototype = _FusedConverter.prototype;
  dart.addTypeTests(_FusedConverter);
  _FusedConverter.prototype[_is__FusedConverter_default] = true;
  dart.addTypeCaches(_FusedConverter);
  dart.setMethodSignature(_FusedConverter, () => ({
    __proto__: dart.getMethods(_FusedConverter.__proto__),
    convert: dart.fnType(T, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_FusedConverter, I[32]);
  dart.setFieldSignature(_FusedConverter, () => ({
    __proto__: dart.getFields(_FusedConverter.__proto__),
    [_first$0]: dart.finalFieldType(convert.Converter$(S, M)),
    [_second$0]: dart.finalFieldType(convert.Converter$(M, T))
  }));
  return _FusedConverter;
});
convert._FusedConverter = convert._FusedConverter$();
dart.addTypeTests(convert._FusedConverter, _is__FusedConverter_default);
var _name$2 = dart.privateName(convert, "HtmlEscapeMode._name");
var escapeLtGt$ = dart.privateName(convert, "HtmlEscapeMode.escapeLtGt");
var escapeQuot$ = dart.privateName(convert, "HtmlEscapeMode.escapeQuot");
var escapeApos$ = dart.privateName(convert, "HtmlEscapeMode.escapeApos");
var escapeSlash$ = dart.privateName(convert, "HtmlEscapeMode.escapeSlash");
var _name$3 = dart.privateName(convert, "_name");
convert.HtmlEscapeMode = class HtmlEscapeMode extends core.Object {
  get [_name$3]() {
    return this[_name$2];
  }
  set [_name$3](value) {
    super[_name$3] = value;
  }
  get escapeLtGt() {
    return this[escapeLtGt$];
  }
  set escapeLtGt(value) {
    super.escapeLtGt = value;
  }
  get escapeQuot() {
    return this[escapeQuot$];
  }
  set escapeQuot(value) {
    super.escapeQuot = value;
  }
  get escapeApos() {
    return this[escapeApos$];
  }
  set escapeApos(value) {
    super.escapeApos = value;
  }
  get escapeSlash() {
    return this[escapeSlash$];
  }
  set escapeSlash(value) {
    super.escapeSlash = value;
  }
  toString() {
    return this[_name$3];
  }
};
(convert.HtmlEscapeMode.__ = function(_name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) {
  if (_name == null) dart.nullFailed(I[95], 102, 31, "_name");
  if (escapeLtGt == null) dart.nullFailed(I[95], 102, 43, "escapeLtGt");
  if (escapeQuot == null) dart.nullFailed(I[95], 102, 60, "escapeQuot");
  if (escapeApos == null) dart.nullFailed(I[95], 103, 12, "escapeApos");
  if (escapeSlash == null) dart.nullFailed(I[95], 103, 29, "escapeSlash");
  this[_name$2] = _name;
  this[escapeLtGt$] = escapeLtGt;
  this[escapeQuot$] = escapeQuot;
  this[escapeApos$] = escapeApos;
  this[escapeSlash$] = escapeSlash;
  ;
}).prototype = convert.HtmlEscapeMode.prototype;
(convert.HtmlEscapeMode.new = function(opts) {
  let name = opts && 'name' in opts ? opts.name : "custom";
  if (name == null) dart.nullFailed(I[95], 111, 15, "name");
  let escapeLtGt = opts && 'escapeLtGt' in opts ? opts.escapeLtGt : false;
  if (escapeLtGt == null) dart.nullFailed(I[95], 112, 12, "escapeLtGt");
  let escapeQuot = opts && 'escapeQuot' in opts ? opts.escapeQuot : false;
  if (escapeQuot == null) dart.nullFailed(I[95], 113, 12, "escapeQuot");
  let escapeApos = opts && 'escapeApos' in opts ? opts.escapeApos : false;
  if (escapeApos == null) dart.nullFailed(I[95], 114, 12, "escapeApos");
  let escapeSlash = opts && 'escapeSlash' in opts ? opts.escapeSlash : false;
  if (escapeSlash == null) dart.nullFailed(I[95], 115, 12, "escapeSlash");
  this[escapeLtGt$] = escapeLtGt;
  this[escapeQuot$] = escapeQuot;
  this[escapeApos$] = escapeApos;
  this[escapeSlash$] = escapeSlash;
  this[_name$2] = name;
  ;
}).prototype = convert.HtmlEscapeMode.prototype;
dart.addTypeTests(convert.HtmlEscapeMode);
dart.addTypeCaches(convert.HtmlEscapeMode);
dart.setLibraryUri(convert.HtmlEscapeMode, I[32]);
dart.setFieldSignature(convert.HtmlEscapeMode, () => ({
  __proto__: dart.getFields(convert.HtmlEscapeMode.__proto__),
  [_name$3]: dart.finalFieldType(core.String),
  escapeLtGt: dart.finalFieldType(core.bool),
  escapeQuot: dart.finalFieldType(core.bool),
  escapeApos: dart.finalFieldType(core.bool),
  escapeSlash: dart.finalFieldType(core.bool)
}));
dart.defineExtensionMethods(convert.HtmlEscapeMode, ['toString']);
dart.defineLazy(convert.HtmlEscapeMode, {
  /*convert.HtmlEscapeMode.unknown*/get unknown() {
    return C[90] || CT.C90;
  },
  /*convert.HtmlEscapeMode.attribute*/get attribute() {
    return C[91] || CT.C91;
  },
  /*convert.HtmlEscapeMode.sqAttribute*/get sqAttribute() {
    return C[92] || CT.C92;
  },
  /*convert.HtmlEscapeMode.element*/get element() {
    return C[93] || CT.C93;
  }
}, false);
var mode$ = dart.privateName(convert, "HtmlEscape.mode");
var _convert = dart.privateName(convert, "_convert");
convert.HtmlEscape = class HtmlEscape extends convert.Converter$(core.String, core.String) {
  get mode() {
    return this[mode$];
  }
  set mode(value) {
    super.mode = value;
  }
  convert(text) {
    core.String.as(text);
    if (text == null) dart.nullFailed(I[95], 152, 25, "text");
    let val = this[_convert](text, 0, text.length);
    return val == null ? text : val;
  }
  [_convert](text, start, end) {
    if (text == null) dart.nullFailed(I[95], 161, 27, "text");
    if (start == null) dart.nullFailed(I[95], 161, 37, "start");
    if (end == null) dart.nullFailed(I[95], 161, 48, "end");
    let result = null;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let ch = text[$_get](i);
      let replacement = null;
      switch (ch) {
        case "&":
        {
          replacement = "&amp;";
          break;
        }
        case "\"":
        {
          if (dart.test(this.mode.escapeQuot)) replacement = "&quot;";
          break;
        }
        case "'":
        {
          if (dart.test(this.mode.escapeApos)) replacement = "&#39;";
          break;
        }
        case "<":
        {
          if (dart.test(this.mode.escapeLtGt)) replacement = "&lt;";
          break;
        }
        case ">":
        {
          if (dart.test(this.mode.escapeLtGt)) replacement = "&gt;";
          break;
        }
        case "/":
        {
          if (dart.test(this.mode.escapeSlash)) replacement = "&#47;";
          break;
        }
      }
      if (replacement != null) {
        result == null ? result = new core.StringBuffer.new() : null;
        if (dart.notNull(i) > dart.notNull(start)) result.write(text[$substring](start, i));
        result.write(replacement);
        start = dart.notNull(i) + 1;
      }
    }
    if (result == null) return null;
    if (dart.notNull(end) > dart.notNull(start)) result.write(text[$substring](start, end));
    return dart.toString(result);
  }
  startChunkedConversion(sink) {
    T$0.SinkOfString().as(sink);
    if (sink == null) dart.nullFailed(I[95], 198, 60, "sink");
    return new convert._HtmlEscapeSink.new(this, convert.StringConversionSink.is(sink) ? sink : new convert._StringAdapterSink.new(sink));
  }
};
(convert.HtmlEscape.new = function(mode = C[90] || CT.C90) {
  if (mode == null) dart.nullFailed(I[95], 150, 26, "mode");
  this[mode$] = mode;
  convert.HtmlEscape.__proto__.new.call(this);
  ;
}).prototype = convert.HtmlEscape.prototype;
dart.addTypeTests(convert.HtmlEscape);
dart.addTypeCaches(convert.HtmlEscape);
dart.setMethodSignature(convert.HtmlEscape, () => ({
  __proto__: dart.getMethods(convert.HtmlEscape.__proto__),
  convert: dart.fnType(core.String, [dart.nullable(core.Object)]),
  [_convert]: dart.fnType(dart.nullable(core.String), [core.String, core.int, core.int]),
  startChunkedConversion: dart.fnType(convert.StringConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.HtmlEscape, I[32]);
dart.setFieldSignature(convert.HtmlEscape, () => ({
  __proto__: dart.getFields(convert.HtmlEscape.__proto__),
  mode: dart.finalFieldType(convert.HtmlEscapeMode)
}));
var _escape$ = dart.privateName(convert, "_escape");
convert._HtmlEscapeSink = class _HtmlEscapeSink extends convert.StringConversionSinkBase {
  addSlice(chunk, start, end, isLast) {
    if (chunk == null) dart.nullFailed(I[95], 210, 24, "chunk");
    if (start == null) dart.nullFailed(I[95], 210, 35, "start");
    if (end == null) dart.nullFailed(I[95], 210, 46, "end");
    if (isLast == null) dart.nullFailed(I[95], 210, 56, "isLast");
    let val = this[_escape$][_convert](chunk, start, end);
    if (val == null) {
      this[_sink$0].addSlice(chunk, start, end, isLast);
    } else {
      this[_sink$0].add(val);
      if (dart.test(isLast)) this[_sink$0].close();
    }
  }
  close() {
    this[_sink$0].close();
  }
};
(convert._HtmlEscapeSink.new = function(_escape, _sink) {
  if (_escape == null) dart.nullFailed(I[95], 208, 24, "_escape");
  if (_sink == null) dart.nullFailed(I[95], 208, 38, "_sink");
  this[_escape$] = _escape;
  this[_sink$0] = _sink;
  ;
}).prototype = convert._HtmlEscapeSink.prototype;
dart.addTypeTests(convert._HtmlEscapeSink);
dart.addTypeCaches(convert._HtmlEscapeSink);
dart.setMethodSignature(convert._HtmlEscapeSink, () => ({
  __proto__: dart.getMethods(convert._HtmlEscapeSink.__proto__),
  addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._HtmlEscapeSink, I[32]);
dart.setFieldSignature(convert._HtmlEscapeSink, () => ({
  __proto__: dart.getFields(convert._HtmlEscapeSink.__proto__),
  [_escape$]: dart.finalFieldType(convert.HtmlEscape),
  [_sink$0]: dart.finalFieldType(convert.StringConversionSink)
}));
var unsupportedObject$ = dart.privateName(convert, "JsonUnsupportedObjectError.unsupportedObject");
var cause$ = dart.privateName(convert, "JsonUnsupportedObjectError.cause");
var partialResult$ = dart.privateName(convert, "JsonUnsupportedObjectError.partialResult");
convert.JsonUnsupportedObjectError = class JsonUnsupportedObjectError extends core.Error {
  get unsupportedObject() {
    return this[unsupportedObject$];
  }
  set unsupportedObject(value) {
    super.unsupportedObject = value;
  }
  get cause() {
    return this[cause$];
  }
  set cause(value) {
    super.cause = value;
  }
  get partialResult() {
    return this[partialResult$];
  }
  set partialResult(value) {
    super.partialResult = value;
  }
  toString() {
    let safeString = core.Error.safeToString(this.unsupportedObject);
    let prefix = null;
    if (this.cause != null) {
      prefix = "Converting object to an encodable object failed:";
    } else {
      prefix = "Converting object did not return an encodable object:";
    }
    return dart.str(prefix) + " " + dart.str(safeString);
  }
};
(convert.JsonUnsupportedObjectError.new = function(unsupportedObject, opts) {
  let cause = opts && 'cause' in opts ? opts.cause : null;
  let partialResult = opts && 'partialResult' in opts ? opts.partialResult : null;
  this[unsupportedObject$] = unsupportedObject;
  this[cause$] = cause;
  this[partialResult$] = partialResult;
  convert.JsonUnsupportedObjectError.__proto__.new.call(this);
  ;
}).prototype = convert.JsonUnsupportedObjectError.prototype;
dart.addTypeTests(convert.JsonUnsupportedObjectError);
dart.addTypeCaches(convert.JsonUnsupportedObjectError);
dart.setLibraryUri(convert.JsonUnsupportedObjectError, I[32]);
dart.setFieldSignature(convert.JsonUnsupportedObjectError, () => ({
  __proto__: dart.getFields(convert.JsonUnsupportedObjectError.__proto__),
  unsupportedObject: dart.finalFieldType(dart.nullable(core.Object)),
  cause: dart.finalFieldType(dart.nullable(core.Object)),
  partialResult: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(convert.JsonUnsupportedObjectError, ['toString']);
convert.JsonCyclicError = class JsonCyclicError extends convert.JsonUnsupportedObjectError {
  toString() {
    return "Cyclic error in JSON stringify";
  }
};
(convert.JsonCyclicError.new = function(object) {
  convert.JsonCyclicError.__proto__.new.call(this, object);
  ;
}).prototype = convert.JsonCyclicError.prototype;
dart.addTypeTests(convert.JsonCyclicError);
dart.addTypeCaches(convert.JsonCyclicError);
dart.setLibraryUri(convert.JsonCyclicError, I[32]);
dart.defineExtensionMethods(convert.JsonCyclicError, ['toString']);
var _reviver = dart.privateName(convert, "JsonCodec._reviver");
var _toEncodable = dart.privateName(convert, "JsonCodec._toEncodable");
var _toEncodable$ = dart.privateName(convert, "_toEncodable");
var JsonEncoder__toEncodable = dart.privateName(convert, "JsonEncoder._toEncodable");
var JsonEncoder_indent = dart.privateName(convert, "JsonEncoder.indent");
var JsonDecoder__reviver = dart.privateName(convert, "JsonDecoder._reviver");
convert.JsonCodec = class JsonCodec extends convert.Codec$(dart.nullable(core.Object), core.String) {
  get [_reviver$]() {
    return this[_reviver];
  }
  set [_reviver$](value) {
    super[_reviver$] = value;
  }
  get [_toEncodable$]() {
    return this[_toEncodable];
  }
  set [_toEncodable$](value) {
    super[_toEncodable$] = value;
  }
  decode(source, opts) {
    core.String.as(source);
    if (source == null) dart.nullFailed(I[96], 154, 25, "source");
    let reviver = opts && 'reviver' in opts ? opts.reviver : null;
    reviver == null ? reviver = this[_reviver$] : null;
    if (reviver == null) return this.decoder.convert(source);
    return new convert.JsonDecoder.new(reviver).convert(source);
  }
  encode(value, opts) {
    let toEncodable = opts && 'toEncodable' in opts ? opts.toEncodable : null;
    toEncodable == null ? toEncodable = this[_toEncodable$] : null;
    if (toEncodable == null) return this.encoder.convert(value);
    return new convert.JsonEncoder.new(toEncodable).convert(value);
  }
  get encoder() {
    if (this[_toEncodable$] == null) return C[94] || CT.C94;
    return new convert.JsonEncoder.new(this[_toEncodable$]);
  }
  get decoder() {
    if (this[_reviver$] == null) return C[95] || CT.C95;
    return new convert.JsonDecoder.new(this[_reviver$]);
  }
};
(convert.JsonCodec.new = function(opts) {
  let reviver = opts && 'reviver' in opts ? opts.reviver : null;
  let toEncodable = opts && 'toEncodable' in opts ? opts.toEncodable : null;
  this[_reviver] = reviver;
  this[_toEncodable] = toEncodable;
  convert.JsonCodec.__proto__.new.call(this);
  ;
}).prototype = convert.JsonCodec.prototype;
(convert.JsonCodec.withReviver = function(reviver) {
  if (reviver == null) dart.nullFailed(I[96], 143, 33, "reviver");
  convert.JsonCodec.new.call(this, {reviver: reviver});
}).prototype = convert.JsonCodec.prototype;
dart.addTypeTests(convert.JsonCodec);
dart.addTypeCaches(convert.JsonCodec);
dart.setMethodSignature(convert.JsonCodec, () => ({
  __proto__: dart.getMethods(convert.JsonCodec.__proto__),
  decode: dart.fnType(dart.dynamic, [dart.nullable(core.Object)], {reviver: dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.nullable(core.Object), dart.nullable(core.Object)]))}, {}),
  encode: dart.fnType(core.String, [dart.nullable(core.Object)], {toEncodable: dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.dynamic]))}, {})
}));
dart.setGetterSignature(convert.JsonCodec, () => ({
  __proto__: dart.getGetters(convert.JsonCodec.__proto__),
  encoder: convert.JsonEncoder,
  decoder: convert.JsonDecoder
}));
dart.setLibraryUri(convert.JsonCodec, I[32]);
dart.setFieldSignature(convert.JsonCodec, () => ({
  __proto__: dart.getFields(convert.JsonCodec.__proto__),
  [_reviver$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.nullable(core.Object), dart.nullable(core.Object)]))),
  [_toEncodable$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.dynamic])))
}));
const indent$ = JsonEncoder_indent;
const _toEncodable$0 = JsonEncoder__toEncodable;
convert.JsonEncoder = class JsonEncoder extends convert.Converter$(dart.nullable(core.Object), core.String) {
  get indent() {
    return this[indent$];
  }
  set indent(value) {
    super.indent = value;
  }
  get [_toEncodable$]() {
    return this[_toEncodable$0];
  }
  set [_toEncodable$](value) {
    super[_toEncodable$] = value;
  }
  convert(object) {
    return convert._JsonStringStringifier.stringify(object, this[_toEncodable$], this.indent);
  }
  startChunkedConversion(sink) {
    T$0.SinkOfString().as(sink);
    if (sink == null) dart.nullFailed(I[96], 271, 70, "sink");
    if (convert._Utf8EncoderSink.is(sink)) {
      return new convert._JsonUtf8EncoderSink.new(sink[_sink$0], this[_toEncodable$], convert.JsonUtf8Encoder._utf8Encode(this.indent), 256);
    }
    return new convert._JsonEncoderSink.new(convert.StringConversionSink.is(sink) ? sink : new convert._StringAdapterSink.new(sink), this[_toEncodable$], this.indent);
  }
  bind(stream) {
    T$0.StreamOfObjectN().as(stream);
    if (stream == null) dart.nullFailed(I[96], 286, 39, "stream");
    return super.bind(stream);
  }
  fuse(T, other) {
    convert.Converter$(core.String, T).as(other);
    if (other == null) dart.nullFailed(I[96], 288, 54, "other");
    if (convert.Utf8Encoder.is(other)) {
      return convert.Converter$(T$.ObjectN(), T).as(new convert.JsonUtf8Encoder.new(this.indent, this[_toEncodable$]));
    }
    return super.fuse(T, other);
  }
};
(convert.JsonEncoder.new = function(toEncodable = null) {
  this[indent$] = null;
  this[_toEncodable$0] = toEncodable;
  convert.JsonEncoder.__proto__.new.call(this);
  ;
}).prototype = convert.JsonEncoder.prototype;
(convert.JsonEncoder.withIndent = function(indent, toEncodable = null) {
  this[indent$] = indent;
  this[_toEncodable$0] = toEncodable;
  convert.JsonEncoder.__proto__.new.call(this);
  ;
}).prototype = convert.JsonEncoder.prototype;
dart.addTypeTests(convert.JsonEncoder);
dart.addTypeCaches(convert.JsonEncoder);
dart.setMethodSignature(convert.JsonEncoder, () => ({
  __proto__: dart.getMethods(convert.JsonEncoder.__proto__),
  convert: dart.fnType(core.String, [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.ChunkedConversionSink$(dart.nullable(core.Object)), [dart.nullable(core.Object)]),
  fuse: dart.gFnType(T => [convert.Converter$(dart.nullable(core.Object), T), [dart.nullable(core.Object)]], T => [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.JsonEncoder, I[32]);
dart.setFieldSignature(convert.JsonEncoder, () => ({
  __proto__: dart.getFields(convert.JsonEncoder.__proto__),
  indent: dart.finalFieldType(dart.nullable(core.String)),
  [_toEncodable$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.dynamic])))
}));
var _indent$ = dart.privateName(convert, "_indent");
var _bufferSize$ = dart.privateName(convert, "_bufferSize");
convert.JsonUtf8Encoder = class JsonUtf8Encoder extends convert.Converter$(dart.nullable(core.Object), core.List$(core.int)) {
  static _utf8Encode(string) {
    if (string == null) return null;
    if (string[$isEmpty]) return _native_typed_data.NativeUint8List.new(0);
    L0: {
      for (let i = 0; i < string.length; i = i + 1) {
        if (string[$codeUnitAt](i) >= 128) break L0;
      }
      return string[$codeUnits];
    }
    return convert.utf8.encode(string);
  }
  convert(object) {
    let bytes = T$0.JSArrayOfListOfint().of([]);
    function addChunk(chunk, start, end) {
      if (chunk == null) dart.nullFailed(I[96], 365, 29, "chunk");
      if (start == null) dart.nullFailed(I[96], 365, 40, "start");
      if (end == null) dart.nullFailed(I[96], 365, 51, "end");
      if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(chunk[$length])) {
        let length = dart.notNull(end) - dart.notNull(start);
        chunk = typed_data.Uint8List.view(chunk[$buffer], dart.notNull(chunk[$offsetInBytes]) + dart.notNull(start), length);
      }
      bytes[$add](chunk);
    }
    dart.fn(addChunk, T$0.Uint8ListAndintAndintTovoid());
    convert._JsonUtf8Stringifier.stringify(object, this[_indent$], this[_toEncodable$], this[_bufferSize$], addChunk);
    if (bytes[$length] === 1) return bytes[$_get](0);
    let length = 0;
    for (let i = 0; i < dart.notNull(bytes[$length]); i = i + 1) {
      length = length + dart.notNull(bytes[$_get](i)[$length]);
    }
    let result = _native_typed_data.NativeUint8List.new(length);
    for (let i = 0, offset = 0; i < dart.notNull(bytes[$length]); i = i + 1) {
      let byteList = bytes[$_get](i);
      let end = offset + dart.notNull(byteList[$length]);
      result[$setRange](offset, end, byteList);
      offset = end;
    }
    return result;
  }
  startChunkedConversion(sink) {
    T$0.SinkOfListOfint().as(sink);
    if (sink == null) dart.nullFailed(I[96], 397, 73, "sink");
    let byteSink = null;
    if (convert.ByteConversionSink.is(sink)) {
      byteSink = sink;
    } else {
      byteSink = new convert._ByteAdapterSink.new(sink);
    }
    return new convert._JsonUtf8EncoderSink.new(byteSink, this[_toEncodable$], this[_indent$], this[_bufferSize$]);
  }
  bind(stream) {
    T$0.StreamOfObjectN().as(stream);
    if (stream == null) dart.nullFailed(I[96], 408, 42, "stream");
    return super.bind(stream);
  }
};
(convert.JsonUtf8Encoder.new = function(indent = null, toEncodable = null, bufferSize = null) {
  let t177;
  this[_indent$] = convert.JsonUtf8Encoder._utf8Encode(indent);
  this[_toEncodable$] = toEncodable;
  this[_bufferSize$] = (t177 = bufferSize, t177 == null ? 256 : t177);
  convert.JsonUtf8Encoder.__proto__.new.call(this);
  ;
}).prototype = convert.JsonUtf8Encoder.prototype;
dart.addTypeTests(convert.JsonUtf8Encoder);
dart.addTypeCaches(convert.JsonUtf8Encoder);
dart.setMethodSignature(convert.JsonUtf8Encoder, () => ({
  __proto__: dart.getMethods(convert.JsonUtf8Encoder.__proto__),
  convert: dart.fnType(core.List$(core.int), [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.ChunkedConversionSink$(dart.nullable(core.Object)), [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.JsonUtf8Encoder, I[32]);
dart.setFieldSignature(convert.JsonUtf8Encoder, () => ({
  __proto__: dart.getFields(convert.JsonUtf8Encoder.__proto__),
  [_indent$]: dart.finalFieldType(dart.nullable(core.List$(core.int))),
  [_toEncodable$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.dynamic]))),
  [_bufferSize$]: dart.finalFieldType(core.int)
}));
dart.defineLazy(convert.JsonUtf8Encoder, {
  /*convert.JsonUtf8Encoder._defaultBufferSize*/get _defaultBufferSize() {
    return 256;
  },
  /*convert.JsonUtf8Encoder.DEFAULT_BUFFER_SIZE*/get DEFAULT_BUFFER_SIZE() {
    return 256;
  }
}, false);
var _isDone = dart.privateName(convert, "_isDone");
convert._JsonEncoderSink = class _JsonEncoderSink extends convert.ChunkedConversionSink$(dart.nullable(core.Object)) {
  add(o) {
    if (dart.test(this[_isDone])) {
      dart.throw(new core.StateError.new("Only one call to add allowed"));
    }
    this[_isDone] = true;
    let stringSink = this[_sink$0].asStringSink();
    convert._JsonStringStringifier.printOn(o, stringSink, this[_toEncodable$], this[_indent$]);
    stringSink.close();
  }
  close() {
  }
};
(convert._JsonEncoderSink.new = function(_sink, _toEncodable, _indent) {
  if (_sink == null) dart.nullFailed(I[96], 422, 25, "_sink");
  this[_isDone] = false;
  this[_sink$0] = _sink;
  this[_toEncodable$] = _toEncodable;
  this[_indent$] = _indent;
  convert._JsonEncoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._JsonEncoderSink.prototype;
dart.addTypeTests(convert._JsonEncoderSink);
dart.addTypeCaches(convert._JsonEncoderSink);
dart.setMethodSignature(convert._JsonEncoderSink, () => ({
  __proto__: dart.getMethods(convert._JsonEncoderSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._JsonEncoderSink, I[32]);
dart.setFieldSignature(convert._JsonEncoderSink, () => ({
  __proto__: dart.getFields(convert._JsonEncoderSink.__proto__),
  [_indent$]: dart.finalFieldType(dart.nullable(core.String)),
  [_toEncodable$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.dynamic]))),
  [_sink$0]: dart.finalFieldType(convert.StringConversionSink),
  [_isDone]: dart.fieldType(core.bool)
}));
var _addChunk = dart.privateName(convert, "_addChunk");
convert._JsonUtf8EncoderSink = class _JsonUtf8EncoderSink extends convert.ChunkedConversionSink$(dart.nullable(core.Object)) {
  [_addChunk](chunk, start, end) {
    if (chunk == null) dart.nullFailed(I[96], 454, 28, "chunk");
    if (start == null) dart.nullFailed(I[96], 454, 39, "start");
    if (end == null) dart.nullFailed(I[96], 454, 50, "end");
    this[_sink$0].addSlice(chunk, start, end, false);
  }
  add(object) {
    if (dart.test(this[_isDone])) {
      dart.throw(new core.StateError.new("Only one call to add allowed"));
    }
    this[_isDone] = true;
    convert._JsonUtf8Stringifier.stringify(object, this[_indent$], this[_toEncodable$], this[_bufferSize$], dart.bind(this, _addChunk));
    this[_sink$0].close();
  }
  close() {
    if (!dart.test(this[_isDone])) {
      this[_isDone] = true;
      this[_sink$0].close();
    }
  }
};
(convert._JsonUtf8EncoderSink.new = function(_sink, _toEncodable, _indent, _bufferSize) {
  if (_sink == null) dart.nullFailed(I[96], 451, 12, "_sink");
  if (_bufferSize == null) dart.nullFailed(I[96], 451, 57, "_bufferSize");
  this[_isDone] = false;
  this[_sink$0] = _sink;
  this[_toEncodable$] = _toEncodable;
  this[_indent$] = _indent;
  this[_bufferSize$] = _bufferSize;
  convert._JsonUtf8EncoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._JsonUtf8EncoderSink.prototype;
dart.addTypeTests(convert._JsonUtf8EncoderSink);
dart.addTypeCaches(convert._JsonUtf8EncoderSink);
dart.setMethodSignature(convert._JsonUtf8EncoderSink, () => ({
  __proto__: dart.getMethods(convert._JsonUtf8EncoderSink.__proto__),
  [_addChunk]: dart.fnType(dart.void, [typed_data.Uint8List, core.int, core.int]),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._JsonUtf8EncoderSink, I[32]);
dart.setFieldSignature(convert._JsonUtf8EncoderSink, () => ({
  __proto__: dart.getFields(convert._JsonUtf8EncoderSink.__proto__),
  [_sink$0]: dart.finalFieldType(convert.ByteConversionSink),
  [_indent$]: dart.finalFieldType(dart.nullable(core.List$(core.int))),
  [_toEncodable$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.dynamic]))),
  [_bufferSize$]: dart.finalFieldType(core.int),
  [_isDone]: dart.fieldType(core.bool)
}));
const _reviver$0 = JsonDecoder__reviver;
convert.JsonDecoder = class JsonDecoder extends convert.Converter$(core.String, dart.nullable(core.Object)) {
  get [_reviver$]() {
    return this[_reviver$0];
  }
  set [_reviver$](value) {
    super[_reviver$] = value;
  }
  convert(input) {
    core.String.as(input);
    if (input == null) dart.nullFailed(I[96], 506, 26, "input");
    return convert._parseJson(input, this[_reviver$]);
  }
  startChunkedConversion(sink) {
    if (sink == null) dart.nullFailed(I[86], 363, 61, "sink");
    return new convert._JsonDecoderSink.new(this[_reviver$], sink);
  }
  bind(stream) {
    T$0.StreamOfString().as(stream);
    if (stream == null) dart.nullFailed(I[96], 514, 39, "stream");
    return super.bind(stream);
  }
};
(convert.JsonDecoder.new = function(reviver = null) {
  this[_reviver$0] = reviver;
  convert.JsonDecoder.__proto__.new.call(this);
  ;
}).prototype = convert.JsonDecoder.prototype;
dart.addTypeTests(convert.JsonDecoder);
dart.addTypeCaches(convert.JsonDecoder);
dart.setMethodSignature(convert.JsonDecoder, () => ({
  __proto__: dart.getMethods(convert.JsonDecoder.__proto__),
  convert: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.StringConversionSink, [core.Sink$(dart.nullable(core.Object))])
}));
dart.setLibraryUri(convert.JsonDecoder, I[32]);
dart.setFieldSignature(convert.JsonDecoder, () => ({
  __proto__: dart.getFields(convert.JsonDecoder.__proto__),
  [_reviver$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.nullable(core.Object), [dart.nullable(core.Object), dart.nullable(core.Object)])))
}));
var _seen = dart.privateName(convert, "_seen");
var _checkCycle = dart.privateName(convert, "_checkCycle");
var _removeSeen = dart.privateName(convert, "_removeSeen");
var _partialResult = dart.privateName(convert, "_partialResult");
convert._JsonStringifier = class _JsonStringifier extends core.Object {
  static hexDigit(x) {
    if (x == null) dart.nullFailed(I[96], 574, 27, "x");
    return dart.notNull(x) < 10 ? 48 + dart.notNull(x) : 87 + dart.notNull(x);
  }
  writeStringContent(s) {
    if (s == null) dart.nullFailed(I[96], 577, 34, "s");
    let offset = 0;
    let length = s.length;
    for (let i = 0; i < length; i = i + 1) {
      let charCode = s[$codeUnitAt](i);
      if (charCode > 92) {
        if (charCode >= 55296) {
          if ((charCode & 64512) >>> 0 === 55296 && !(i + 1 < length && (s[$codeUnitAt](i + 1) & 64512) >>> 0 === 56320) || (charCode & 64512) >>> 0 === 56320 && !(i - 1 >= 0 && (s[$codeUnitAt](i - 1) & 64512) >>> 0 === 55296)) {
            if (i > offset) this.writeStringSlice(s, offset, i);
            offset = i + 1;
            this.writeCharCode(92);
            this.writeCharCode(117);
            this.writeCharCode(100);
            this.writeCharCode(convert._JsonStringifier.hexDigit(charCode >> 8 & 15));
            this.writeCharCode(convert._JsonStringifier.hexDigit(charCode >> 4 & 15));
            this.writeCharCode(convert._JsonStringifier.hexDigit(charCode & 15));
          }
        }
        continue;
      }
      if (charCode < 32) {
        if (i > offset) this.writeStringSlice(s, offset, i);
        offset = i + 1;
        this.writeCharCode(92);
        switch (charCode) {
          case 8:
          {
            this.writeCharCode(98);
            break;
          }
          case 9:
          {
            this.writeCharCode(116);
            break;
          }
          case 10:
          {
            this.writeCharCode(110);
            break;
          }
          case 12:
          {
            this.writeCharCode(102);
            break;
          }
          case 13:
          {
            this.writeCharCode(114);
            break;
          }
          default:
          {
            this.writeCharCode(117);
            this.writeCharCode(48);
            this.writeCharCode(48);
            this.writeCharCode(convert._JsonStringifier.hexDigit(charCode >> 4 & 15));
            this.writeCharCode(convert._JsonStringifier.hexDigit(charCode & 15));
            break;
          }
        }
      } else if (charCode === 34 || charCode === 92) {
        if (i > offset) this.writeStringSlice(s, offset, i);
        offset = i + 1;
        this.writeCharCode(92);
        this.writeCharCode(charCode);
      }
    }
    if (offset === 0) {
      this.writeString(s);
    } else if (offset < length) {
      this.writeStringSlice(s, offset, length);
    }
  }
  [_checkCycle](object) {
    for (let i = 0; i < dart.notNull(this[_seen][$length]); i = i + 1) {
      if (core.identical(object, this[_seen][$_get](i))) {
        dart.throw(new convert.JsonCyclicError.new(object));
      }
    }
    this[_seen][$add](object);
  }
  [_removeSeen](object) {
    if (!dart.test(this[_seen][$isNotEmpty])) dart.assertFailed(null, I[96], 666, 12, "_seen.isNotEmpty");
    if (!core.identical(this[_seen][$last], object)) dart.assertFailed(null, I[96], 667, 12, "identical(_seen.last, object)");
    this[_seen][$removeLast]();
  }
  writeObject(object) {
    let t177;
    if (dart.test(this.writeJsonValue(object))) return;
    this[_checkCycle](object);
    try {
      let customJson = (t177 = object, this[_toEncodable$](t177));
      if (!dart.test(this.writeJsonValue(customJson))) {
        dart.throw(new convert.JsonUnsupportedObjectError.new(object, {partialResult: this[_partialResult]}));
      }
      this[_removeSeen](object);
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        dart.throw(new convert.JsonUnsupportedObjectError.new(object, {cause: e, partialResult: this[_partialResult]}));
      } else
        throw e$;
    }
  }
  writeJsonValue(object) {
    if (typeof object == 'number') {
      if (!object[$isFinite]) return false;
      this.writeNumber(object);
      return true;
    } else if (object === true) {
      this.writeString("true");
      return true;
    } else if (object === false) {
      this.writeString("false");
      return true;
    } else if (object == null) {
      this.writeString("null");
      return true;
    } else if (typeof object == 'string') {
      this.writeString("\"");
      this.writeStringContent(object);
      this.writeString("\"");
      return true;
    } else if (core.List.is(object)) {
      this[_checkCycle](object);
      this.writeList(object);
      this[_removeSeen](object);
      return true;
    } else if (core.Map.is(object)) {
      this[_checkCycle](object);
      let success = this.writeMap(object);
      this[_removeSeen](object);
      return success;
    } else {
      return false;
    }
  }
  writeList(list) {
    if (list == null) dart.nullFailed(I[96], 733, 32, "list");
    this.writeString("[");
    if (dart.test(list[$isNotEmpty])) {
      this.writeObject(list[$_get](0));
      for (let i = 1; i < dart.notNull(list[$length]); i = i + 1) {
        this.writeString(",");
        this.writeObject(list[$_get](i));
      }
    }
    this.writeString("]");
  }
  writeMap(map) {
    if (map == null) dart.nullFailed(I[96], 746, 39, "map");
    if (dart.test(map[$isEmpty])) {
      this.writeString("{}");
      return true;
    }
    let keyValueList = T$.ListOfObjectN().filled(dart.notNull(map[$length]) * 2, null);
    let i = 0;
    let allStringKeys = true;
    map[$forEach](dart.fn((key, value) => {
      let t178, t178$;
      if (!(typeof key == 'string')) {
        allStringKeys = false;
      }
      keyValueList[$_set]((t178 = i, i = t178 + 1, t178), key);
      keyValueList[$_set]((t178$ = i, i = t178$ + 1, t178$), value);
    }, T$.ObjectNAndObjectNTovoid()));
    if (!allStringKeys) return false;
    this.writeString("{");
    let separator = "\"";
    for (let i = 0; i < dart.notNull(keyValueList[$length]); i = i + 2) {
      this.writeString(separator);
      separator = ",\"";
      this.writeStringContent(core.String.as(keyValueList[$_get](i)));
      this.writeString("\":");
      this.writeObject(keyValueList[$_get](i + 1));
    }
    this.writeString("}");
    return true;
  }
};
(convert._JsonStringifier.new = function(toEncodable) {
  let t177;
  this[_seen] = [];
  this[_toEncodable$] = (t177 = toEncodable, t177 == null ? C[96] || CT.C96 : t177);
  ;
}).prototype = convert._JsonStringifier.prototype;
dart.addTypeTests(convert._JsonStringifier);
dart.addTypeCaches(convert._JsonStringifier);
dart.setMethodSignature(convert._JsonStringifier, () => ({
  __proto__: dart.getMethods(convert._JsonStringifier.__proto__),
  writeStringContent: dart.fnType(dart.void, [core.String]),
  [_checkCycle]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  [_removeSeen]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeObject: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeJsonValue: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  writeList: dart.fnType(dart.void, [core.List$(dart.nullable(core.Object))]),
  writeMap: dart.fnType(core.bool, [core.Map$(dart.nullable(core.Object), dart.nullable(core.Object))])
}));
dart.setLibraryUri(convert._JsonStringifier, I[32]);
dart.setFieldSignature(convert._JsonStringifier, () => ({
  __proto__: dart.getFields(convert._JsonStringifier.__proto__),
  [_seen]: dart.finalFieldType(core.List),
  [_toEncodable$]: dart.finalFieldType(dart.fnType(dart.dynamic, [dart.dynamic]))
}));
dart.defineLazy(convert._JsonStringifier, {
  /*convert._JsonStringifier.backspace*/get backspace() {
    return 8;
  },
  /*convert._JsonStringifier.tab*/get tab() {
    return 9;
  },
  /*convert._JsonStringifier.newline*/get newline() {
    return 10;
  },
  /*convert._JsonStringifier.carriageReturn*/get carriageReturn() {
    return 13;
  },
  /*convert._JsonStringifier.formFeed*/get formFeed() {
    return 12;
  },
  /*convert._JsonStringifier.quote*/get quote() {
    return 34;
  },
  /*convert._JsonStringifier.char_0*/get char_0() {
    return 48;
  },
  /*convert._JsonStringifier.backslash*/get backslash() {
    return 92;
  },
  /*convert._JsonStringifier.char_b*/get char_b() {
    return 98;
  },
  /*convert._JsonStringifier.char_d*/get char_d() {
    return 100;
  },
  /*convert._JsonStringifier.char_f*/get char_f() {
    return 102;
  },
  /*convert._JsonStringifier.char_n*/get char_n() {
    return 110;
  },
  /*convert._JsonStringifier.char_r*/get char_r() {
    return 114;
  },
  /*convert._JsonStringifier.char_t*/get char_t() {
    return 116;
  },
  /*convert._JsonStringifier.char_u*/get char_u() {
    return 117;
  },
  /*convert._JsonStringifier.surrogateMin*/get surrogateMin() {
    return 55296;
  },
  /*convert._JsonStringifier.surrogateMask*/get surrogateMask() {
    return 64512;
  },
  /*convert._JsonStringifier.surrogateLead*/get surrogateLead() {
    return 55296;
  },
  /*convert._JsonStringifier.surrogateTrail*/get surrogateTrail() {
    return 56320;
  }
}, false);
var _indentLevel = dart.privateName(convert, "_JsonPrettyPrintMixin._indentLevel");
var _indentLevel$ = dart.privateName(convert, "_indentLevel");
convert._JsonPrettyPrintMixin = class _JsonPrettyPrintMixin extends core.Object {
  get [_indentLevel$]() {
    return this[_indentLevel];
  }
  set [_indentLevel$](value) {
    this[_indentLevel] = value;
  }
  writeList(list) {
    if (list == null) dart.nullFailed(I[96], 786, 32, "list");
    if (dart.test(list[$isEmpty])) {
      this.writeString("[]");
    } else {
      this.writeString("[\n");
      this[_indentLevel$] = dart.notNull(this[_indentLevel$]) + 1;
      this.writeIndentation(this[_indentLevel$]);
      this.writeObject(list[$_get](0));
      for (let i = 1; i < dart.notNull(list[$length]); i = i + 1) {
        this.writeString(",\n");
        this.writeIndentation(this[_indentLevel$]);
        this.writeObject(list[$_get](i));
      }
      this.writeString("\n");
      this[_indentLevel$] = dart.notNull(this[_indentLevel$]) - 1;
      this.writeIndentation(this[_indentLevel$]);
      this.writeString("]");
    }
  }
  writeMap(map) {
    if (map == null) dart.nullFailed(I[96], 806, 39, "map");
    if (dart.test(map[$isEmpty])) {
      this.writeString("{}");
      return true;
    }
    let keyValueList = T$.ListOfObjectN().filled(dart.notNull(map[$length]) * 2, null);
    let i = 0;
    let allStringKeys = true;
    map[$forEach](dart.fn((key, value) => {
      let t178, t178$;
      if (!(typeof key == 'string')) {
        allStringKeys = false;
      }
      keyValueList[$_set]((t178 = i, i = t178 + 1, t178), key);
      keyValueList[$_set]((t178$ = i, i = t178$ + 1, t178$), value);
    }, T$.ObjectNAndObjectNTovoid()));
    if (!allStringKeys) return false;
    this.writeString("{\n");
    this[_indentLevel$] = dart.notNull(this[_indentLevel$]) + 1;
    let separator = "";
    for (let i = 0; i < dart.notNull(keyValueList[$length]); i = i + 2) {
      this.writeString(separator);
      separator = ",\n";
      this.writeIndentation(this[_indentLevel$]);
      this.writeString("\"");
      this.writeStringContent(core.String.as(keyValueList[$_get](i)));
      this.writeString("\": ");
      this.writeObject(keyValueList[$_get](i + 1));
    }
    this.writeString("\n");
    this[_indentLevel$] = dart.notNull(this[_indentLevel$]) - 1;
    this.writeIndentation(this[_indentLevel$]);
    this.writeString("}");
    return true;
  }
};
(convert._JsonPrettyPrintMixin.new = function() {
  this[_indentLevel] = 0;
  ;
}).prototype = convert._JsonPrettyPrintMixin.prototype;
dart.addTypeTests(convert._JsonPrettyPrintMixin);
dart.addTypeCaches(convert._JsonPrettyPrintMixin);
convert._JsonPrettyPrintMixin[dart.implements] = () => [convert._JsonStringifier];
dart.setMethodSignature(convert._JsonPrettyPrintMixin, () => ({
  __proto__: dart.getMethods(convert._JsonPrettyPrintMixin.__proto__),
  writeList: dart.fnType(dart.void, [core.List$(dart.nullable(core.Object))]),
  writeMap: dart.fnType(core.bool, [core.Map$(dart.nullable(core.Object), dart.nullable(core.Object))])
}));
dart.setLibraryUri(convert._JsonPrettyPrintMixin, I[32]);
dart.setFieldSignature(convert._JsonPrettyPrintMixin, () => ({
  __proto__: dart.getFields(convert._JsonPrettyPrintMixin.__proto__),
  [_indentLevel$]: dart.fieldType(core.int)
}));
convert._JsonStringStringifier = class _JsonStringStringifier extends convert._JsonStringifier {
  static stringify(object, toEncodable, indent) {
    let output = new core.StringBuffer.new();
    convert._JsonStringStringifier.printOn(object, output, toEncodable, indent);
    return output.toString();
  }
  static printOn(object, output, toEncodable, indent) {
    if (output == null) dart.nullFailed(I[96], 869, 50, "output");
    let stringifier = null;
    if (indent == null) {
      stringifier = new convert._JsonStringStringifier.new(output, toEncodable);
    } else {
      stringifier = new convert._JsonStringStringifierPretty.new(output, toEncodable, indent);
    }
    stringifier.writeObject(object);
  }
  get [_partialResult]() {
    return core.StringBuffer.is(this[_sink$0]) ? dart.toString(this[_sink$0]) : null;
  }
  writeNumber(number) {
    if (number == null) dart.nullFailed(I[96], 882, 24, "number");
    this[_sink$0].write(dart.toString(number));
  }
  writeString(string) {
    if (string == null) dart.nullFailed(I[96], 886, 27, "string");
    this[_sink$0].write(string);
  }
  writeStringSlice(string, start, end) {
    if (string == null) dart.nullFailed(I[96], 890, 32, "string");
    if (start == null) dart.nullFailed(I[96], 890, 44, "start");
    if (end == null) dart.nullFailed(I[96], 890, 55, "end");
    this[_sink$0].write(string[$substring](start, end));
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[96], 894, 26, "charCode");
    this[_sink$0].writeCharCode(charCode);
  }
};
(convert._JsonStringStringifier.new = function(_sink, _toEncodable) {
  if (_sink == null) dart.nullFailed(I[96], 847, 12, "_sink");
  this[_sink$0] = _sink;
  convert._JsonStringStringifier.__proto__.new.call(this, _toEncodable);
  ;
}).prototype = convert._JsonStringStringifier.prototype;
dart.addTypeTests(convert._JsonStringStringifier);
dart.addTypeCaches(convert._JsonStringStringifier);
dart.setMethodSignature(convert._JsonStringStringifier, () => ({
  __proto__: dart.getMethods(convert._JsonStringStringifier.__proto__),
  writeNumber: dart.fnType(dart.void, [core.num]),
  writeString: dart.fnType(dart.void, [core.String]),
  writeStringSlice: dart.fnType(dart.void, [core.String, core.int, core.int]),
  writeCharCode: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(convert._JsonStringStringifier, () => ({
  __proto__: dart.getGetters(convert._JsonStringStringifier.__proto__),
  [_partialResult]: dart.nullable(core.String)
}));
dart.setLibraryUri(convert._JsonStringStringifier, I[32]);
dart.setFieldSignature(convert._JsonStringStringifier, () => ({
  __proto__: dart.getFields(convert._JsonStringStringifier.__proto__),
  [_sink$0]: dart.finalFieldType(core.StringSink)
}));
const _JsonStringStringifier__JsonPrettyPrintMixin$36 = class _JsonStringStringifier__JsonPrettyPrintMixin extends convert._JsonStringStringifier {};
(_JsonStringStringifier__JsonPrettyPrintMixin$36.new = function(_sink, _toEncodable) {
  convert._JsonPrettyPrintMixin.new.call(this);
  _JsonStringStringifier__JsonPrettyPrintMixin$36.__proto__.new.call(this, _sink, _toEncodable);
}).prototype = _JsonStringStringifier__JsonPrettyPrintMixin$36.prototype;
dart.applyMixin(_JsonStringStringifier__JsonPrettyPrintMixin$36, convert._JsonPrettyPrintMixin);
convert._JsonStringStringifierPretty = class _JsonStringStringifierPretty extends _JsonStringStringifier__JsonPrettyPrintMixin$36 {
  writeIndentation(count) {
    if (count == null) dart.nullFailed(I[96], 907, 29, "count");
    for (let i = 0; i < dart.notNull(count); i = i + 1)
      this.writeString(this[_indent$]);
  }
};
(convert._JsonStringStringifierPretty.new = function(sink, toEncodable, _indent) {
  if (sink == null) dart.nullFailed(I[96], 904, 18, "sink");
  if (_indent == null) dart.nullFailed(I[96], 904, 62, "_indent");
  this[_indent$] = _indent;
  convert._JsonStringStringifierPretty.__proto__.new.call(this, sink, toEncodable);
  ;
}).prototype = convert._JsonStringStringifierPretty.prototype;
dart.addTypeTests(convert._JsonStringStringifierPretty);
dart.addTypeCaches(convert._JsonStringStringifierPretty);
dart.setMethodSignature(convert._JsonStringStringifierPretty, () => ({
  __proto__: dart.getMethods(convert._JsonStringStringifierPretty.__proto__),
  writeIndentation: dart.fnType(dart.void, [core.int])
}));
dart.setLibraryUri(convert._JsonStringStringifierPretty, I[32]);
dart.setFieldSignature(convert._JsonStringStringifierPretty, () => ({
  __proto__: dart.getFields(convert._JsonStringStringifierPretty.__proto__),
  [_indent$]: dart.finalFieldType(core.String)
}));
convert._JsonUtf8Stringifier = class _JsonUtf8Stringifier extends convert._JsonStringifier {
  static stringify(object, indent, toEncodable, bufferSize, addChunk) {
    if (bufferSize == null) dart.nullFailed(I[96], 940, 11, "bufferSize");
    if (addChunk == null) dart.nullFailed(I[96], 941, 12, "addChunk");
    let stringifier = null;
    if (indent != null) {
      stringifier = new convert._JsonUtf8StringifierPretty.new(toEncodable, indent, bufferSize, addChunk);
    } else {
      stringifier = new convert._JsonUtf8Stringifier.new(toEncodable, bufferSize, addChunk);
    }
    stringifier.writeObject(object);
    stringifier.flush();
  }
  flush() {
    let t180, t179, t178;
    if (dart.notNull(this.index) > 0) {
      t178 = this.buffer;
      t179 = 0;
      t180 = this.index;
      this.addChunk(t178, t179, t180);
    }
    this.buffer = _native_typed_data.NativeUint8List.new(0);
    this.index = 0;
  }
  get [_partialResult]() {
    return null;
  }
  writeNumber(number) {
    if (number == null) dart.nullFailed(I[96], 965, 24, "number");
    this.writeAsciiString(dart.toString(number));
  }
  writeAsciiString(string) {
    if (string == null) dart.nullFailed(I[96], 970, 32, "string");
    for (let i = 0; i < string.length; i = i + 1) {
      let char = string[$codeUnitAt](i);
      if (!(char <= 127)) dart.assertFailed(null, I[96], 975, 14, "char <= 0x7f");
      this.writeByte(char);
    }
  }
  writeString(string) {
    if (string == null) dart.nullFailed(I[96], 980, 27, "string");
    this.writeStringSlice(string, 0, string.length);
  }
  writeStringSlice(string, start, end) {
    if (string == null) dart.nullFailed(I[96], 984, 32, "string");
    if (start == null) dart.nullFailed(I[96], 984, 44, "start");
    if (end == null) dart.nullFailed(I[96], 984, 55, "end");
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = string[$codeUnitAt](i);
      if (char <= 127) {
        this.writeByte(char);
      } else {
        if ((char & 63488) === 55296) {
          if (char < 56320 && dart.notNull(i) + 1 < dart.notNull(end)) {
            let nextChar = string[$codeUnitAt](dart.notNull(i) + 1);
            if ((nextChar & 64512) === 56320) {
              char = 65536 + ((char & 1023) << 10) + (nextChar & 1023);
              this.writeFourByteCharCode(char);
              i = dart.notNull(i) + 1;
              continue;
            }
          }
          this.writeMultiByteCharCode(65533);
          continue;
        }
        this.writeMultiByteCharCode(char);
      }
    }
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[96], 1015, 26, "charCode");
    if (dart.notNull(charCode) <= 127) {
      this.writeByte(charCode);
      return;
    }
    this.writeMultiByteCharCode(charCode);
  }
  writeMultiByteCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[96], 1023, 35, "charCode");
    if (dart.notNull(charCode) <= 2047) {
      this.writeByte((192 | charCode[$rightShift](6)) >>> 0);
      this.writeByte(128 | dart.notNull(charCode) & 63);
      return;
    }
    if (dart.notNull(charCode) <= 65535) {
      this.writeByte((224 | charCode[$rightShift](12)) >>> 0);
      this.writeByte(128 | dart.notNull(charCode) >> 6 & 63);
      this.writeByte(128 | dart.notNull(charCode) & 63);
      return;
    }
    this.writeFourByteCharCode(charCode);
  }
  writeFourByteCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[96], 1038, 34, "charCode");
    if (!(dart.notNull(charCode) <= 1114111)) dart.assertFailed(null, I[96], 1039, 12, "charCode <= 0x10ffff");
    this.writeByte((240 | charCode[$rightShift](18)) >>> 0);
    this.writeByte(128 | dart.notNull(charCode) >> 12 & 63);
    this.writeByte(128 | dart.notNull(charCode) >> 6 & 63);
    this.writeByte(128 | dart.notNull(charCode) & 63);
  }
  writeByte(byte) {
    let t180, t179, t178, t178$;
    if (byte == null) dart.nullFailed(I[96], 1046, 22, "byte");
    if (!(dart.notNull(byte) <= 255)) dart.assertFailed(null, I[96], 1047, 12, "byte <= 0xff");
    if (this.index == this.buffer[$length]) {
      t178 = this.buffer;
      t179 = 0;
      t180 = this.index;
      this.addChunk(t178, t179, t180);
      this.buffer = _native_typed_data.NativeUint8List.new(this.bufferSize);
      this.index = 0;
    }
    this.buffer[$_set]((t178$ = this.index, this.index = dart.notNull(t178$) + 1, t178$), byte);
  }
};
(convert._JsonUtf8Stringifier.new = function(toEncodable, bufferSize, addChunk) {
  if (bufferSize == null) dart.nullFailed(I[96], 923, 45, "bufferSize");
  if (addChunk == null) dart.nullFailed(I[96], 923, 62, "addChunk");
  this.index = 0;
  this.bufferSize = bufferSize;
  this.addChunk = addChunk;
  this.buffer = _native_typed_data.NativeUint8List.new(bufferSize);
  convert._JsonUtf8Stringifier.__proto__.new.call(this, toEncodable);
  ;
}).prototype = convert._JsonUtf8Stringifier.prototype;
dart.addTypeTests(convert._JsonUtf8Stringifier);
dart.addTypeCaches(convert._JsonUtf8Stringifier);
dart.setMethodSignature(convert._JsonUtf8Stringifier, () => ({
  __proto__: dart.getMethods(convert._JsonUtf8Stringifier.__proto__),
  flush: dart.fnType(dart.void, []),
  writeNumber: dart.fnType(dart.void, [core.num]),
  writeAsciiString: dart.fnType(dart.void, [core.String]),
  writeString: dart.fnType(dart.void, [core.String]),
  writeStringSlice: dart.fnType(dart.void, [core.String, core.int, core.int]),
  writeCharCode: dart.fnType(dart.void, [core.int]),
  writeMultiByteCharCode: dart.fnType(dart.void, [core.int]),
  writeFourByteCharCode: dart.fnType(dart.void, [core.int]),
  writeByte: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(convert._JsonUtf8Stringifier, () => ({
  __proto__: dart.getGetters(convert._JsonUtf8Stringifier.__proto__),
  [_partialResult]: dart.nullable(core.String)
}));
dart.setLibraryUri(convert._JsonUtf8Stringifier, I[32]);
dart.setFieldSignature(convert._JsonUtf8Stringifier, () => ({
  __proto__: dart.getFields(convert._JsonUtf8Stringifier.__proto__),
  bufferSize: dart.finalFieldType(core.int),
  addChunk: dart.finalFieldType(dart.fnType(dart.void, [typed_data.Uint8List, core.int, core.int])),
  buffer: dart.fieldType(typed_data.Uint8List),
  index: dart.fieldType(core.int)
}));
const _JsonUtf8Stringifier__JsonPrettyPrintMixin$36 = class _JsonUtf8Stringifier__JsonPrettyPrintMixin extends convert._JsonUtf8Stringifier {};
(_JsonUtf8Stringifier__JsonPrettyPrintMixin$36.new = function(toEncodable, bufferSize, addChunk) {
  convert._JsonPrettyPrintMixin.new.call(this);
  _JsonUtf8Stringifier__JsonPrettyPrintMixin$36.__proto__.new.call(this, toEncodable, bufferSize, addChunk);
}).prototype = _JsonUtf8Stringifier__JsonPrettyPrintMixin$36.prototype;
dart.applyMixin(_JsonUtf8Stringifier__JsonPrettyPrintMixin$36, convert._JsonPrettyPrintMixin);
convert._JsonUtf8StringifierPretty = class _JsonUtf8StringifierPretty extends _JsonUtf8Stringifier__JsonPrettyPrintMixin$36 {
  writeIndentation(count) {
    if (count == null) dart.nullFailed(I[96], 1065, 29, "count");
    let indent = this.indent;
    let indentLength = indent[$length];
    if (indentLength === 1) {
      let char = indent[$_get](0);
      while (dart.notNull(count) > 0) {
        this.writeByte(char);
        count = dart.notNull(count) - 1;
      }
      return;
    }
    while (dart.notNull(count) > 0) {
      count = dart.notNull(count) - 1;
      let end = dart.notNull(this.index) + dart.notNull(indentLength);
      if (end <= dart.notNull(this.buffer[$length])) {
        this.buffer[$setRange](this.index, end, indent);
        this.index = end;
      } else {
        for (let i = 0; i < dart.notNull(indentLength); i = i + 1) {
          this.writeByte(indent[$_get](i));
        }
      }
    }
  }
};
(convert._JsonUtf8StringifierPretty.new = function(toEncodable, indent, bufferSize, addChunk) {
  if (indent == null) dart.nullFailed(I[96], 1061, 68, "indent");
  if (bufferSize == null) dart.nullFailed(I[96], 1062, 11, "bufferSize");
  if (addChunk == null) dart.nullFailed(I[96], 1062, 28, "addChunk");
  this.indent = indent;
  convert._JsonUtf8StringifierPretty.__proto__.new.call(this, toEncodable, bufferSize, addChunk);
  ;
}).prototype = convert._JsonUtf8StringifierPretty.prototype;
dart.addTypeTests(convert._JsonUtf8StringifierPretty);
dart.addTypeCaches(convert._JsonUtf8StringifierPretty);
dart.setMethodSignature(convert._JsonUtf8StringifierPretty, () => ({
  __proto__: dart.getMethods(convert._JsonUtf8StringifierPretty.__proto__),
  writeIndentation: dart.fnType(dart.void, [core.int])
}));
dart.setLibraryUri(convert._JsonUtf8StringifierPretty, I[32]);
dart.setFieldSignature(convert._JsonUtf8StringifierPretty, () => ({
  __proto__: dart.getFields(convert._JsonUtf8StringifierPretty.__proto__),
  indent: dart.finalFieldType(core.List$(core.int))
}));
var _allowInvalid$1 = dart.privateName(convert, "Latin1Codec._allowInvalid");
convert.Latin1Codec = class Latin1Codec extends convert.Encoding {
  get [_allowInvalid$]() {
    return this[_allowInvalid$1];
  }
  set [_allowInvalid$](value) {
    super[_allowInvalid$] = value;
  }
  get name() {
    return "iso-8859-1";
  }
  encode(source) {
    core.String.as(source);
    if (source == null) dart.nullFailed(I[97], 40, 27, "source");
    return this.encoder.convert(source);
  }
  decode(bytes, opts) {
    let t178;
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[97], 50, 27, "bytes");
    let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : null;
    if (dart.test((t178 = allowInvalid, t178 == null ? this[_allowInvalid$] : t178))) {
      return (C[97] || CT.C97).convert(bytes);
    } else {
      return (C[98] || CT.C98).convert(bytes);
    }
  }
  get encoder() {
    return C[99] || CT.C99;
  }
  get decoder() {
    return dart.test(this[_allowInvalid$]) ? C[97] || CT.C97 : C[98] || CT.C98;
  }
};
(convert.Latin1Codec.new = function(opts) {
  let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : false;
  if (allowInvalid == null) dart.nullFailed(I[97], 35, 27, "allowInvalid");
  this[_allowInvalid$1] = allowInvalid;
  convert.Latin1Codec.__proto__.new.call(this);
  ;
}).prototype = convert.Latin1Codec.prototype;
dart.addTypeTests(convert.Latin1Codec);
dart.addTypeCaches(convert.Latin1Codec);
dart.setMethodSignature(convert.Latin1Codec, () => ({
  __proto__: dart.getMethods(convert.Latin1Codec.__proto__),
  encode: dart.fnType(typed_data.Uint8List, [dart.nullable(core.Object)]),
  decode: dart.fnType(core.String, [dart.nullable(core.Object)], {allowInvalid: dart.nullable(core.bool)}, {})
}));
dart.setGetterSignature(convert.Latin1Codec, () => ({
  __proto__: dart.getGetters(convert.Latin1Codec.__proto__),
  name: core.String,
  encoder: convert.Latin1Encoder,
  decoder: convert.Latin1Decoder
}));
dart.setLibraryUri(convert.Latin1Codec, I[32]);
dart.setFieldSignature(convert.Latin1Codec, () => ({
  __proto__: dart.getFields(convert.Latin1Codec.__proto__),
  [_allowInvalid$]: dart.finalFieldType(core.bool)
}));
convert.Latin1Encoder = class Latin1Encoder extends convert._UnicodeSubsetEncoder {};
(convert.Latin1Encoder.new = function() {
  convert.Latin1Encoder.__proto__.new.call(this, 255);
  ;
}).prototype = convert.Latin1Encoder.prototype;
dart.addTypeTests(convert.Latin1Encoder);
dart.addTypeCaches(convert.Latin1Encoder);
dart.setLibraryUri(convert.Latin1Encoder, I[32]);
convert.Latin1Decoder = class Latin1Decoder extends convert._UnicodeSubsetDecoder {
  startChunkedConversion(sink) {
    T$0.SinkOfString().as(sink);
    if (sink == null) dart.nullFailed(I[97], 88, 58, "sink");
    let stringSink = null;
    if (convert.StringConversionSink.is(sink)) {
      stringSink = sink;
    } else {
      stringSink = new convert._StringAdapterSink.new(sink);
    }
    if (!dart.test(this[_allowInvalid$])) return new convert._Latin1DecoderSink.new(stringSink);
    return new convert._Latin1AllowInvalidDecoderSink.new(stringSink);
  }
};
(convert.Latin1Decoder.new = function(opts) {
  let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : false;
  if (allowInvalid == null) dart.nullFailed(I[97], 81, 29, "allowInvalid");
  convert.Latin1Decoder.__proto__.new.call(this, allowInvalid, 255);
  ;
}).prototype = convert.Latin1Decoder.prototype;
dart.addTypeTests(convert.Latin1Decoder);
dart.addTypeCaches(convert.Latin1Decoder);
dart.setMethodSignature(convert.Latin1Decoder, () => ({
  __proto__: dart.getMethods(convert.Latin1Decoder.__proto__),
  startChunkedConversion: dart.fnType(convert.ByteConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.Latin1Decoder, I[32]);
var _addSliceToSink = dart.privateName(convert, "_addSliceToSink");
convert._Latin1DecoderSink = class _Latin1DecoderSink extends convert.ByteConversionSinkBase {
  close() {
    dart.nullCheck(this[_sink$0]).close();
    this[_sink$0] = null;
  }
  add(source) {
    T$0.ListOfint().as(source);
    if (source == null) dart.nullFailed(I[97], 110, 22, "source");
    this.addSlice(source, 0, source[$length], false);
  }
  [_addSliceToSink](source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[97], 114, 34, "source");
    if (start == null) dart.nullFailed(I[97], 114, 46, "start");
    if (end == null) dart.nullFailed(I[97], 114, 57, "end");
    if (isLast == null) dart.nullFailed(I[97], 114, 67, "isLast");
    dart.nullCheck(this[_sink$0]).add(core.String.fromCharCodes(source, start, end));
    if (dart.test(isLast)) this.close();
  }
  addSlice(source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[97], 123, 27, "source");
    if (start == null) dart.nullFailed(I[97], 123, 39, "start");
    if (end == null) dart.nullFailed(I[97], 123, 50, "end");
    if (isLast == null) dart.nullFailed(I[97], 123, 60, "isLast");
    core.RangeError.checkValidRange(start, end, source[$length]);
    if (start == end) return;
    if (!typed_data.Uint8List.is(source)) {
      convert._Latin1DecoderSink._checkValidLatin1(source, start, end);
    }
    this[_addSliceToSink](source, start, end, isLast);
  }
  static _checkValidLatin1(source, start, end) {
    if (source == null) dart.nullFailed(I[97], 135, 43, "source");
    if (start == null) dart.nullFailed(I[97], 135, 55, "start");
    if (end == null) dart.nullFailed(I[97], 135, 66, "end");
    let mask = 0;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      mask = (mask | dart.notNull(source[$_get](i))) >>> 0;
    }
    if (mask >= 0 && mask <= 255) {
      return;
    }
    convert._Latin1DecoderSink._reportInvalidLatin1(source, start, end);
  }
  static _reportInvalidLatin1(source, start, end) {
    if (source == null) dart.nullFailed(I[97], 146, 46, "source");
    if (start == null) dart.nullFailed(I[97], 146, 58, "start");
    if (end == null) dart.nullFailed(I[97], 146, 69, "end");
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = source[$_get](i);
      if (dart.notNull(char) < 0 || dart.notNull(char) > 255) {
        dart.throw(new core.FormatException.new("Source contains non-Latin-1 characters.", source, i));
      }
    }
    if (!false) dart.assertFailed(null, I[97], 156, 12, "false");
  }
};
(convert._Latin1DecoderSink.new = function(_sink) {
  this[_sink$0] = _sink;
  convert._Latin1DecoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._Latin1DecoderSink.prototype;
dart.addTypeTests(convert._Latin1DecoderSink);
dart.addTypeCaches(convert._Latin1DecoderSink);
dart.setMethodSignature(convert._Latin1DecoderSink, () => ({
  __proto__: dart.getMethods(convert._Latin1DecoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  [_addSliceToSink]: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Latin1DecoderSink, I[32]);
dart.setFieldSignature(convert._Latin1DecoderSink, () => ({
  __proto__: dart.getFields(convert._Latin1DecoderSink.__proto__),
  [_sink$0]: dart.fieldType(dart.nullable(convert.StringConversionSink))
}));
convert._Latin1AllowInvalidDecoderSink = class _Latin1AllowInvalidDecoderSink extends convert._Latin1DecoderSink {
  addSlice(source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[97], 163, 27, "source");
    if (start == null) dart.nullFailed(I[97], 163, 39, "start");
    if (end == null) dart.nullFailed(I[97], 163, 50, "end");
    if (isLast == null) dart.nullFailed(I[97], 163, 60, "isLast");
    core.RangeError.checkValidRange(start, end, source[$length]);
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = source[$_get](i);
      if (dart.notNull(char) > 255 || dart.notNull(char) < 0) {
        if (dart.notNull(i) > dart.notNull(start)) this[_addSliceToSink](source, start, i, false);
        this[_addSliceToSink](C[100] || CT.C100, 0, 1, false);
        start = dart.notNull(i) + 1;
      }
    }
    if (dart.notNull(start) < dart.notNull(end)) {
      this[_addSliceToSink](source, start, end, isLast);
    }
    if (dart.test(isLast)) {
      this.close();
    }
  }
};
(convert._Latin1AllowInvalidDecoderSink.new = function(sink) {
  if (sink == null) dart.nullFailed(I[97], 161, 55, "sink");
  convert._Latin1AllowInvalidDecoderSink.__proto__.new.call(this, sink);
  ;
}).prototype = convert._Latin1AllowInvalidDecoderSink.prototype;
dart.addTypeTests(convert._Latin1AllowInvalidDecoderSink);
dart.addTypeCaches(convert._Latin1AllowInvalidDecoderSink);
dart.setLibraryUri(convert._Latin1AllowInvalidDecoderSink, I[32]);
convert.LineSplitter = class LineSplitter extends async.StreamTransformerBase$(core.String, core.String) {
  static split(lines, start = 0, end = null) {
    if (lines == null) dart.nullFailed(I[98], 28, 40, "lines");
    if (start == null) dart.nullFailed(I[98], 28, 52, "start");
    return new (T$0.SyncIterableOfString()).new(() => (function* split(end) {
      end = core.RangeError.checkValidRange(start, end, lines.length);
      let sliceStart = start;
      let char = 0;
      for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
        let previousChar = char;
        char = lines[$codeUnitAt](i);
        if (char !== 13) {
          if (char !== 10) continue;
          if (previousChar === 13) {
            sliceStart = dart.notNull(i) + 1;
            continue;
          }
        }
        yield lines[$substring](sliceStart, i);
        sliceStart = dart.notNull(i) + 1;
      }
      if (dart.notNull(sliceStart) < dart.notNull(end)) {
        yield lines[$substring](sliceStart, end);
      }
    })(end));
  }
  convert(data) {
    if (data == null) dart.nullFailed(I[98], 50, 31, "data");
    let lines = T$.JSArrayOfString().of([]);
    let end = data.length;
    let sliceStart = 0;
    let char = 0;
    for (let i = 0; i < end; i = i + 1) {
      let previousChar = char;
      char = data[$codeUnitAt](i);
      if (char !== 13) {
        if (char !== 10) continue;
        if (previousChar === 13) {
          sliceStart = i + 1;
          continue;
        }
      }
      lines[$add](data[$substring](sliceStart, i));
      sliceStart = i + 1;
    }
    if (sliceStart < end) {
      lines[$add](data[$substring](sliceStart, end));
    }
    return lines;
  }
  startChunkedConversion(sink) {
    if (sink == null) dart.nullFailed(I[98], 74, 60, "sink");
    return new convert._LineSplitterSink.new(convert.StringConversionSink.is(sink) ? sink : new convert._StringAdapterSink.new(sink));
  }
  bind(stream) {
    T$0.StreamOfString().as(stream);
    if (stream == null) dart.nullFailed(I[98], 79, 38, "stream");
    return T$0.StreamOfString().eventTransformed(stream, dart.fn(sink => {
      if (sink == null) dart.nullFailed(I[98], 81, 36, "sink");
      return new convert._LineSplitterEventSink.new(sink);
    }, T$0.EventSinkOfStringTo_LineSplitterEventSink()));
  }
};
(convert.LineSplitter.new = function() {
  convert.LineSplitter.__proto__.new.call(this);
  ;
}).prototype = convert.LineSplitter.prototype;
dart.addTypeTests(convert.LineSplitter);
dart.addTypeCaches(convert.LineSplitter);
dart.setMethodSignature(convert.LineSplitter, () => ({
  __proto__: dart.getMethods(convert.LineSplitter.__proto__),
  convert: dart.fnType(core.List$(core.String), [core.String]),
  startChunkedConversion: dart.fnType(convert.StringConversionSink, [core.Sink$(core.String)]),
  bind: dart.fnType(async.Stream$(core.String), [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.LineSplitter, I[32]);
var _carry = dart.privateName(convert, "_carry");
var _skipLeadingLF = dart.privateName(convert, "_skipLeadingLF");
var _addLines = dart.privateName(convert, "_addLines");
convert._LineSplitterSink = class _LineSplitterSink extends convert.StringConversionSinkBase {
  addSlice(chunk, start, end, isLast) {
    if (chunk == null) dart.nullFailed(I[98], 105, 24, "chunk");
    if (start == null) dart.nullFailed(I[98], 105, 35, "start");
    if (end == null) dart.nullFailed(I[98], 105, 46, "end");
    if (isLast == null) dart.nullFailed(I[98], 105, 56, "isLast");
    end = core.RangeError.checkValidRange(start, end, chunk.length);
    if (dart.notNull(start) >= dart.notNull(end)) {
      if (dart.test(isLast)) this.close();
      return;
    }
    let carry = this[_carry];
    if (carry != null) {
      if (!!dart.test(this[_skipLeadingLF])) dart.assertFailed(null, I[98], 115, 14, "!_skipLeadingLF");
      chunk = dart.notNull(carry) + chunk[$substring](start, end);
      start = 0;
      end = chunk.length;
      this[_carry] = null;
    } else if (dart.test(this[_skipLeadingLF])) {
      if (chunk[$codeUnitAt](start) === 10) {
        start = dart.notNull(start) + 1;
      }
      this[_skipLeadingLF] = false;
    }
    this[_addLines](chunk, start, end);
    if (dart.test(isLast)) this.close();
  }
  close() {
    if (this[_carry] != null) {
      this[_sink$0].add(dart.nullCheck(this[_carry]));
      this[_carry] = null;
    }
    this[_sink$0].close();
  }
  [_addLines](lines, start, end) {
    if (lines == null) dart.nullFailed(I[98], 138, 25, "lines");
    if (start == null) dart.nullFailed(I[98], 138, 36, "start");
    if (end == null) dart.nullFailed(I[98], 138, 47, "end");
    let sliceStart = start;
    let char = 0;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let previousChar = char;
      char = lines[$codeUnitAt](i);
      if (char !== 13) {
        if (char !== 10) continue;
        if (previousChar === 13) {
          sliceStart = dart.notNull(i) + 1;
          continue;
        }
      }
      this[_sink$0].add(lines[$substring](sliceStart, i));
      sliceStart = dart.notNull(i) + 1;
    }
    if (dart.notNull(sliceStart) < dart.notNull(end)) {
      this[_carry] = lines[$substring](sliceStart, end);
    } else {
      this[_skipLeadingLF] = char === 13;
    }
  }
};
(convert._LineSplitterSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[98], 103, 26, "_sink");
  this[_carry] = null;
  this[_skipLeadingLF] = false;
  this[_sink$0] = _sink;
  ;
}).prototype = convert._LineSplitterSink.prototype;
dart.addTypeTests(convert._LineSplitterSink);
dart.addTypeCaches(convert._LineSplitterSink);
dart.setMethodSignature(convert._LineSplitterSink, () => ({
  __proto__: dart.getMethods(convert._LineSplitterSink.__proto__),
  addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool]),
  close: dart.fnType(dart.void, []),
  [_addLines]: dart.fnType(dart.void, [core.String, core.int, core.int])
}));
dart.setLibraryUri(convert._LineSplitterSink, I[32]);
dart.setFieldSignature(convert._LineSplitterSink, () => ({
  __proto__: dart.getFields(convert._LineSplitterSink.__proto__),
  [_sink$0]: dart.finalFieldType(convert.StringConversionSink),
  [_carry]: dart.fieldType(dart.nullable(core.String)),
  [_skipLeadingLF]: dart.fieldType(core.bool)
}));
convert._LineSplitterEventSink = class _LineSplitterEventSink extends convert._LineSplitterSink {
  addError(o, stackTrace = null) {
    if (o == null) dart.nullFailed(I[98], 170, 24, "o");
    this[_eventSink].addError(o, stackTrace);
  }
};
(convert._LineSplitterEventSink.new = function(eventSink) {
  if (eventSink == null) dart.nullFailed(I[98], 166, 44, "eventSink");
  this[_eventSink] = eventSink;
  convert._LineSplitterEventSink.__proto__.new.call(this, new convert._StringAdapterSink.new(eventSink));
  ;
}).prototype = convert._LineSplitterEventSink.prototype;
dart.addTypeTests(convert._LineSplitterEventSink);
dart.addTypeCaches(convert._LineSplitterEventSink);
convert._LineSplitterEventSink[dart.implements] = () => [async.EventSink$(core.String)];
dart.setMethodSignature(convert._LineSplitterEventSink, () => ({
  __proto__: dart.getMethods(convert._LineSplitterEventSink.__proto__),
  addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)])
}));
dart.setLibraryUri(convert._LineSplitterEventSink, I[32]);
dart.setFieldSignature(convert._LineSplitterEventSink, () => ({
  __proto__: dart.getFields(convert._LineSplitterEventSink.__proto__),
  [_eventSink]: dart.finalFieldType(async.EventSink$(core.String))
}));
convert.StringConversionSink = class StringConversionSink extends convert.ChunkedConversionSink$(core.String) {};
(convert.StringConversionSink.new = function() {
  convert.StringConversionSink.__proto__.new.call(this);
  ;
}).prototype = convert.StringConversionSink.prototype;
dart.addTypeTests(convert.StringConversionSink);
dart.addTypeCaches(convert.StringConversionSink);
dart.setLibraryUri(convert.StringConversionSink, I[32]);
core.StringSink = class StringSink extends core.Object {};
(core.StringSink.new = function() {
  ;
}).prototype = core.StringSink.prototype;
dart.addTypeTests(core.StringSink);
dart.addTypeCaches(core.StringSink);
dart.setLibraryUri(core.StringSink, I[9]);
convert.ClosableStringSink = class ClosableStringSink extends core.StringSink {};
dart.addTypeTests(convert.ClosableStringSink);
dart.addTypeCaches(convert.ClosableStringSink);
dart.setLibraryUri(convert.ClosableStringSink, I[32]);
convert._ClosableStringSink = class _ClosableStringSink extends core.Object {
  close() {
    this[_callback$]();
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[87], 78, 26, "charCode");
    this[_sink$0].writeCharCode(charCode);
  }
  write(o) {
    this[_sink$0].write(o);
  }
  writeln(o = "") {
    this[_sink$0].writeln(o);
  }
  writeAll(objects, separator = "") {
    if (objects == null) dart.nullFailed(I[87], 90, 26, "objects");
    if (separator == null) dart.nullFailed(I[87], 90, 43, "separator");
    this[_sink$0].writeAll(objects, separator);
  }
};
(convert._ClosableStringSink.new = function(_sink, _callback) {
  if (_sink == null) dart.nullFailed(I[87], 72, 28, "_sink");
  if (_callback == null) dart.nullFailed(I[87], 72, 40, "_callback");
  this[_sink$0] = _sink;
  this[_callback$] = _callback;
  ;
}).prototype = convert._ClosableStringSink.prototype;
dart.addTypeTests(convert._ClosableStringSink);
dart.addTypeCaches(convert._ClosableStringSink);
convert._ClosableStringSink[dart.implements] = () => [convert.ClosableStringSink];
dart.setMethodSignature(convert._ClosableStringSink, () => ({
  __proto__: dart.getMethods(convert._ClosableStringSink.__proto__),
  close: dart.fnType(dart.void, []),
  writeCharCode: dart.fnType(dart.void, [core.int]),
  write: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeln: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  writeAll: dart.fnType(dart.void, [core.Iterable], [core.String])
}));
dart.setLibraryUri(convert._ClosableStringSink, I[32]);
dart.setFieldSignature(convert._ClosableStringSink, () => ({
  __proto__: dart.getFields(convert._ClosableStringSink.__proto__),
  [_callback$]: dart.finalFieldType(dart.fnType(dart.void, [])),
  [_sink$0]: dart.finalFieldType(core.StringSink)
}));
var _flush = dart.privateName(convert, "_flush");
convert._StringConversionSinkAsStringSinkAdapter = class _StringConversionSinkAsStringSinkAdapter extends core.Object {
  close() {
    if (dart.test(this[_buffer$].isNotEmpty)) this[_flush]();
    this[_chunkedSink$].close();
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[87], 113, 26, "charCode");
    this[_buffer$].writeCharCode(charCode);
    if (dart.notNull(this[_buffer$].length) > 16) this[_flush]();
  }
  write(o) {
    if (dart.test(this[_buffer$].isNotEmpty)) this[_flush]();
    this[_chunkedSink$].add(dart.toString(o));
  }
  writeln(o = "") {
    this[_buffer$].writeln(o);
    if (dart.notNull(this[_buffer$].length) > 16) this[_flush]();
  }
  writeAll(objects, separator = "") {
    if (objects == null) dart.nullFailed(I[87], 128, 26, "objects");
    if (separator == null) dart.nullFailed(I[87], 128, 43, "separator");
    if (dart.test(this[_buffer$].isNotEmpty)) this[_flush]();
    let iterator = objects[$iterator];
    if (!dart.test(iterator.moveNext())) return;
    if (separator[$isEmpty]) {
      do {
        this[_chunkedSink$].add(dart.toString(iterator.current));
      } while (dart.test(iterator.moveNext()));
    } else {
      this[_chunkedSink$].add(dart.toString(iterator.current));
      while (dart.test(iterator.moveNext())) {
        this.write(separator);
        this[_chunkedSink$].add(dart.toString(iterator.current));
      }
    }
  }
  [_flush]() {
    let accumulated = dart.toString(this[_buffer$]);
    this[_buffer$].clear();
    this[_chunkedSink$].add(accumulated);
  }
};
(convert._StringConversionSinkAsStringSinkAdapter.new = function(_chunkedSink) {
  if (_chunkedSink == null) dart.nullFailed(I[87], 105, 49, "_chunkedSink");
  this[_chunkedSink$] = _chunkedSink;
  this[_buffer$] = new core.StringBuffer.new();
  ;
}).prototype = convert._StringConversionSinkAsStringSinkAdapter.prototype;
dart.addTypeTests(convert._StringConversionSinkAsStringSinkAdapter);
dart.addTypeCaches(convert._StringConversionSinkAsStringSinkAdapter);
convert._StringConversionSinkAsStringSinkAdapter[dart.implements] = () => [convert.ClosableStringSink];
dart.setMethodSignature(convert._StringConversionSinkAsStringSinkAdapter, () => ({
  __proto__: dart.getMethods(convert._StringConversionSinkAsStringSinkAdapter.__proto__),
  close: dart.fnType(dart.void, []),
  writeCharCode: dart.fnType(dart.void, [core.int]),
  write: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeln: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  writeAll: dart.fnType(dart.void, [core.Iterable], [core.String]),
  [_flush]: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._StringConversionSinkAsStringSinkAdapter, I[32]);
dart.setFieldSignature(convert._StringConversionSinkAsStringSinkAdapter, () => ({
  __proto__: dart.getFields(convert._StringConversionSinkAsStringSinkAdapter.__proto__),
  [_buffer$]: dart.finalFieldType(core.StringBuffer),
  [_chunkedSink$]: dart.finalFieldType(convert.StringConversionSink)
}));
dart.defineLazy(convert._StringConversionSinkAsStringSinkAdapter, {
  /*convert._StringConversionSinkAsStringSinkAdapter._MIN_STRING_SIZE*/get _MIN_STRING_SIZE() {
    return 16;
  }
}, false);
convert._StringCallbackSink = class _StringCallbackSink extends convert._StringSinkConversionSink$(core.StringBuffer) {
  close() {
    let t178;
    let accumulated = dart.toString(this[_stringSink$]);
    this[_stringSink$].clear();
    t178 = accumulated;
    this[_callback$](t178);
  }
  asUtf8Sink(allowMalformed) {
    if (allowMalformed == null) dart.nullFailed(I[87], 222, 38, "allowMalformed");
    return new convert._Utf8StringSinkAdapter.new(this, this[_stringSink$], allowMalformed);
  }
};
(convert._StringCallbackSink.new = function(_callback) {
  if (_callback == null) dart.nullFailed(I[87], 214, 28, "_callback");
  this[_callback$] = _callback;
  convert._StringCallbackSink.__proto__.new.call(this, new core.StringBuffer.new());
  ;
}).prototype = convert._StringCallbackSink.prototype;
dart.addTypeTests(convert._StringCallbackSink);
dart.addTypeCaches(convert._StringCallbackSink);
dart.setLibraryUri(convert._StringCallbackSink, I[32]);
dart.setFieldSignature(convert._StringCallbackSink, () => ({
  __proto__: dart.getFields(convert._StringCallbackSink.__proto__),
  [_callback$]: dart.finalFieldType(dart.fnType(dart.void, [core.String]))
}));
convert._StringAdapterSink = class _StringAdapterSink extends convert.StringConversionSinkBase {
  add(str) {
    core.String.as(str);
    if (str == null) dart.nullFailed(I[87], 237, 19, "str");
    this[_sink$0].add(str);
  }
  addSlice(str, start, end, isLast) {
    if (str == null) dart.nullFailed(I[87], 241, 24, "str");
    if (start == null) dart.nullFailed(I[87], 241, 33, "start");
    if (end == null) dart.nullFailed(I[87], 241, 44, "end");
    if (isLast == null) dart.nullFailed(I[87], 241, 54, "isLast");
    if (start === 0 && end === str.length) {
      this.add(str);
    } else {
      this.add(str[$substring](start, end));
    }
    if (dart.test(isLast)) this.close();
  }
  close() {
    this[_sink$0].close();
  }
};
(convert._StringAdapterSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[87], 235, 27, "_sink");
  this[_sink$0] = _sink;
  ;
}).prototype = convert._StringAdapterSink.prototype;
dart.addTypeTests(convert._StringAdapterSink);
dart.addTypeCaches(convert._StringAdapterSink);
dart.setMethodSignature(convert._StringAdapterSink, () => ({
  __proto__: dart.getMethods(convert._StringAdapterSink.__proto__),
  addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(convert._StringAdapterSink, I[32]);
dart.setFieldSignature(convert._StringAdapterSink, () => ({
  __proto__: dart.getFields(convert._StringAdapterSink.__proto__),
  [_sink$0]: dart.finalFieldType(core.Sink$(core.String))
}));
convert._Utf8StringSinkAdapter = class _Utf8StringSinkAdapter extends convert.ByteConversionSink {
  close() {
    this[_decoder].flush(this[_stringSink$]);
    this[_sink$0].close();
  }
  add(chunk) {
    T$0.ListOfint().as(chunk);
    if (chunk == null) dart.nullFailed(I[87], 271, 22, "chunk");
    this.addSlice(chunk, 0, chunk[$length], false);
  }
  addSlice(codeUnits, startIndex, endIndex, isLast) {
    if (codeUnits == null) dart.nullFailed(I[87], 276, 17, "codeUnits");
    if (startIndex == null) dart.nullFailed(I[87], 276, 32, "startIndex");
    if (endIndex == null) dart.nullFailed(I[87], 276, 48, "endIndex");
    if (isLast == null) dart.nullFailed(I[87], 276, 63, "isLast");
    this[_stringSink$].write(this[_decoder].convertChunked(codeUnits, startIndex, endIndex));
    if (dart.test(isLast)) this.close();
  }
};
(convert._Utf8StringSinkAdapter.new = function(_sink, _stringSink, allowMalformed) {
  if (_sink == null) dart.nullFailed(I[87], 263, 31, "_sink");
  if (_stringSink == null) dart.nullFailed(I[87], 263, 43, "_stringSink");
  if (allowMalformed == null) dart.nullFailed(I[87], 263, 61, "allowMalformed");
  this[_sink$0] = _sink;
  this[_stringSink$] = _stringSink;
  this[_decoder] = new convert._Utf8Decoder.new(allowMalformed);
  convert._Utf8StringSinkAdapter.__proto__.new.call(this);
  ;
}).prototype = convert._Utf8StringSinkAdapter.prototype;
dart.addTypeTests(convert._Utf8StringSinkAdapter);
dart.addTypeCaches(convert._Utf8StringSinkAdapter);
dart.setMethodSignature(convert._Utf8StringSinkAdapter, () => ({
  __proto__: dart.getMethods(convert._Utf8StringSinkAdapter.__proto__),
  close: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addSlice: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Utf8StringSinkAdapter, I[32]);
dart.setFieldSignature(convert._Utf8StringSinkAdapter, () => ({
  __proto__: dart.getFields(convert._Utf8StringSinkAdapter.__proto__),
  [_decoder]: dart.finalFieldType(convert._Utf8Decoder),
  [_sink$0]: dart.finalFieldType(core.Sink$(dart.nullable(core.Object))),
  [_stringSink$]: dart.finalFieldType(core.StringSink)
}));
convert._Utf8ConversionSink = class _Utf8ConversionSink extends convert.ByteConversionSink {
  close() {
    this[_decoder].flush(this[_buffer$]);
    if (dart.test(this[_buffer$].isNotEmpty)) {
      let accumulated = dart.toString(this[_buffer$]);
      this[_buffer$].clear();
      this[_chunkedSink$].addSlice(accumulated, 0, accumulated.length, true);
    } else {
      this[_chunkedSink$].close();
    }
  }
  add(chunk) {
    T$0.ListOfint().as(chunk);
    if (chunk == null) dart.nullFailed(I[87], 309, 22, "chunk");
    this.addSlice(chunk, 0, chunk[$length], false);
  }
  addSlice(chunk, startIndex, endIndex, isLast) {
    if (chunk == null) dart.nullFailed(I[87], 313, 27, "chunk");
    if (startIndex == null) dart.nullFailed(I[87], 313, 38, "startIndex");
    if (endIndex == null) dart.nullFailed(I[87], 313, 54, "endIndex");
    if (isLast == null) dart.nullFailed(I[87], 313, 69, "isLast");
    this[_buffer$].write(this[_decoder].convertChunked(chunk, startIndex, endIndex));
    if (dart.test(this[_buffer$].isNotEmpty)) {
      let accumulated = dart.toString(this[_buffer$]);
      this[_chunkedSink$].addSlice(accumulated, 0, accumulated.length, isLast);
      this[_buffer$].clear();
      return;
    }
    if (dart.test(isLast)) this.close();
  }
};
(convert._Utf8ConversionSink.new = function(sink, allowMalformed) {
  if (sink == null) dart.nullFailed(I[87], 290, 44, "sink");
  if (allowMalformed == null) dart.nullFailed(I[87], 290, 55, "allowMalformed");
  convert._Utf8ConversionSink.__.call(this, sink, new core.StringBuffer.new(), allowMalformed);
}).prototype = convert._Utf8ConversionSink.prototype;
(convert._Utf8ConversionSink.__ = function(_chunkedSink, stringBuffer, allowMalformed) {
  if (_chunkedSink == null) dart.nullFailed(I[87], 294, 12, "_chunkedSink");
  if (stringBuffer == null) dart.nullFailed(I[87], 294, 39, "stringBuffer");
  if (allowMalformed == null) dart.nullFailed(I[87], 294, 58, "allowMalformed");
  this[_chunkedSink$] = _chunkedSink;
  this[_decoder] = new convert._Utf8Decoder.new(allowMalformed);
  this[_buffer$] = stringBuffer;
  convert._Utf8ConversionSink.__proto__.new.call(this);
  ;
}).prototype = convert._Utf8ConversionSink.prototype;
dart.addTypeTests(convert._Utf8ConversionSink);
dart.addTypeCaches(convert._Utf8ConversionSink);
dart.setMethodSignature(convert._Utf8ConversionSink, () => ({
  __proto__: dart.getMethods(convert._Utf8ConversionSink.__proto__),
  close: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addSlice: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Utf8ConversionSink, I[32]);
dart.setFieldSignature(convert._Utf8ConversionSink, () => ({
  __proto__: dart.getFields(convert._Utf8ConversionSink.__proto__),
  [_decoder]: dart.finalFieldType(convert._Utf8Decoder),
  [_chunkedSink$]: dart.finalFieldType(convert.StringConversionSink),
  [_buffer$]: dart.finalFieldType(core.StringBuffer)
}));
var _allowMalformed = dart.privateName(convert, "Utf8Codec._allowMalformed");
var _allowMalformed$ = dart.privateName(convert, "_allowMalformed");
var Utf8Decoder__allowMalformed = dart.privateName(convert, "Utf8Decoder._allowMalformed");
convert.Utf8Codec = class Utf8Codec extends convert.Encoding {
  get [_allowMalformed$]() {
    return this[_allowMalformed];
  }
  set [_allowMalformed$](value) {
    super[_allowMalformed$] = value;
  }
  get name() {
    return "utf-8";
  }
  decode(codeUnits, opts) {
    let t178;
    T$0.ListOfint().as(codeUnits);
    if (codeUnits == null) dart.nullFailed(I[99], 58, 27, "codeUnits");
    let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalformed : null;
    let decoder = dart.test((t178 = allowMalformed, t178 == null ? this[_allowMalformed$] : t178)) ? C[101] || CT.C101 : C[102] || CT.C102;
    return decoder.convert(codeUnits);
  }
  get encoder() {
    return C[103] || CT.C103;
  }
  get decoder() {
    return dart.test(this[_allowMalformed$]) ? C[101] || CT.C101 : C[102] || CT.C102;
  }
};
(convert.Utf8Codec.new = function(opts) {
  let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalformed : false;
  if (allowMalformed == null) dart.nullFailed(I[99], 40, 25, "allowMalformed");
  this[_allowMalformed] = allowMalformed;
  convert.Utf8Codec.__proto__.new.call(this);
  ;
}).prototype = convert.Utf8Codec.prototype;
dart.addTypeTests(convert.Utf8Codec);
dart.addTypeCaches(convert.Utf8Codec);
dart.setMethodSignature(convert.Utf8Codec, () => ({
  __proto__: dart.getMethods(convert.Utf8Codec.__proto__),
  decode: dart.fnType(core.String, [dart.nullable(core.Object)], {allowMalformed: dart.nullable(core.bool)}, {})
}));
dart.setGetterSignature(convert.Utf8Codec, () => ({
  __proto__: dart.getGetters(convert.Utf8Codec.__proto__),
  name: core.String,
  encoder: convert.Utf8Encoder,
  decoder: convert.Utf8Decoder
}));
dart.setLibraryUri(convert.Utf8Codec, I[32]);
dart.setFieldSignature(convert.Utf8Codec, () => ({
  __proto__: dart.getFields(convert.Utf8Codec.__proto__),
  [_allowMalformed$]: dart.finalFieldType(core.bool)
}));
var _fillBuffer = dart.privateName(convert, "_fillBuffer");
var _writeReplacementCharacter = dart.privateName(convert, "_writeReplacementCharacter");
convert.Utf8Encoder = class Utf8Encoder extends convert.Converter$(core.String, core.List$(core.int)) {
  convert(string, start = 0, end = null) {
    core.String.as(string);
    if (string == null) dart.nullFailed(I[99], 88, 28, "string");
    if (start == null) dart.nullFailed(I[99], 88, 41, "start");
    let stringLength = string.length;
    end = core.RangeError.checkValidRange(start, end, stringLength);
    let length = dart.notNull(end) - dart.notNull(start);
    if (length === 0) return _native_typed_data.NativeUint8List.new(0);
    let encoder = new convert._Utf8Encoder.withBufferSize(length * 3);
    let endPosition = encoder[_fillBuffer](string, start, end);
    if (!(dart.notNull(endPosition) >= dart.notNull(end) - 1)) dart.assertFailed(null, I[99], 97, 12, "endPosition >= end - 1");
    if (endPosition != end) {
      let lastCodeUnit = string[$codeUnitAt](dart.notNull(end) - 1);
      if (!dart.test(convert._isLeadSurrogate(lastCodeUnit))) dart.assertFailed(null, I[99], 103, 14, "_isLeadSurrogate(lastCodeUnit)");
      encoder[_writeReplacementCharacter]();
    }
    return encoder[_buffer$][$sublist](0, encoder[_bufferIndex]);
  }
  startChunkedConversion(sink) {
    T$0.SinkOfListOfint().as(sink);
    if (sink == null) dart.nullFailed(I[99], 114, 63, "sink");
    return new convert._Utf8EncoderSink.new(convert.ByteConversionSink.is(sink) ? sink : new convert._ByteAdapterSink.new(sink));
  }
  bind(stream) {
    T$0.StreamOfString().as(stream);
    if (stream == null) dart.nullFailed(I[99], 120, 41, "stream");
    return super.bind(stream);
  }
};
(convert.Utf8Encoder.new = function() {
  convert.Utf8Encoder.__proto__.new.call(this);
  ;
}).prototype = convert.Utf8Encoder.prototype;
dart.addTypeTests(convert.Utf8Encoder);
dart.addTypeCaches(convert.Utf8Encoder);
dart.setMethodSignature(convert.Utf8Encoder, () => ({
  __proto__: dart.getMethods(convert.Utf8Encoder.__proto__),
  convert: dart.fnType(typed_data.Uint8List, [dart.nullable(core.Object)], [core.int, dart.nullable(core.int)]),
  startChunkedConversion: dart.fnType(convert.StringConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.Utf8Encoder, I[32]);
var _writeSurrogate = dart.privateName(convert, "_writeSurrogate");
convert._Utf8Encoder = class _Utf8Encoder extends core.Object {
  static _createBuffer(size) {
    if (size == null) dart.nullFailed(I[99], 138, 38, "size");
    return _native_typed_data.NativeUint8List.new(size);
  }
  [_writeReplacementCharacter]() {
    let t178, t178$, t178$0;
    this[_buffer$][$_set]((t178 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t178) + 1, t178), 239);
    this[_buffer$][$_set]((t178$ = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t178$) + 1, t178$), 191);
    this[_buffer$][$_set]((t178$0 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t178$0) + 1, t178$0), 189);
  }
  [_writeSurrogate](leadingSurrogate, nextCodeUnit) {
    let t178, t178$, t178$0, t178$1;
    if (leadingSurrogate == null) dart.nullFailed(I[99], 156, 28, "leadingSurrogate");
    if (nextCodeUnit == null) dart.nullFailed(I[99], 156, 50, "nextCodeUnit");
    if (dart.test(convert._isTailSurrogate(nextCodeUnit))) {
      let rune = convert._combineSurrogatePair(leadingSurrogate, nextCodeUnit);
      if (!(dart.notNull(rune) > 65535)) dart.assertFailed(null, I[99], 161, 14, "rune > _THREE_BYTE_LIMIT");
      if (!(dart.notNull(rune) <= 1114111)) dart.assertFailed(null, I[99], 162, 14, "rune <= _FOUR_BYTE_LIMIT");
      this[_buffer$][$_set]((t178 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t178) + 1, t178), (240 | rune[$rightShift](18)) >>> 0);
      this[_buffer$][$_set]((t178$ = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t178$) + 1, t178$), 128 | dart.notNull(rune) >> 12 & 63);
      this[_buffer$][$_set]((t178$0 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t178$0) + 1, t178$0), 128 | dart.notNull(rune) >> 6 & 63);
      this[_buffer$][$_set]((t178$1 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t178$1) + 1, t178$1), 128 | dart.notNull(rune) & 63);
      return true;
    } else {
      this[_writeReplacementCharacter]();
      return false;
    }
  }
  [_fillBuffer](str, start, end) {
    let t179, t179$, t179$0, t179$1, t179$2, t179$3;
    if (str == null) dart.nullFailed(I[99], 182, 26, "str");
    if (start == null) dart.nullFailed(I[99], 182, 35, "start");
    if (end == null) dart.nullFailed(I[99], 182, 46, "end");
    if (start != end && dart.test(convert._isLeadSurrogate(str[$codeUnitAt](dart.notNull(end) - 1)))) {
      end = dart.notNull(end) - 1;
    }
    let stringIndex = null;
    for (let t178 = stringIndex = start; dart.notNull(stringIndex) < dart.notNull(end); stringIndex = dart.notNull(stringIndex) + 1) {
      let codeUnit = str[$codeUnitAt](stringIndex);
      if (codeUnit <= 127) {
        if (dart.notNull(this[_bufferIndex]) >= dart.notNull(this[_buffer$][$length])) break;
        this[_buffer$][$_set]((t179 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t179) + 1, t179), codeUnit);
      } else if (dart.test(convert._isLeadSurrogate(codeUnit))) {
        if (dart.notNull(this[_bufferIndex]) + 4 > dart.notNull(this[_buffer$][$length])) break;
        let nextCodeUnit = str[$codeUnitAt](dart.notNull(stringIndex) + 1);
        let wasCombined = this[_writeSurrogate](codeUnit, nextCodeUnit);
        if (dart.test(wasCombined)) stringIndex = dart.notNull(stringIndex) + 1;
      } else if (dart.test(convert._isTailSurrogate(codeUnit))) {
        if (dart.notNull(this[_bufferIndex]) + 3 > dart.notNull(this[_buffer$][$length])) break;
        this[_writeReplacementCharacter]();
      } else {
        let rune = codeUnit;
        if (rune <= 2047) {
          if (dart.notNull(this[_bufferIndex]) + 1 >= dart.notNull(this[_buffer$][$length])) break;
          this[_buffer$][$_set]((t179$ = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t179$) + 1, t179$), (192 | rune[$rightShift](6)) >>> 0);
          this[_buffer$][$_set]((t179$0 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t179$0) + 1, t179$0), 128 | rune & 63);
        } else {
          if (!(rune <= 65535)) dart.assertFailed(null, I[99], 213, 18, "rune <= _THREE_BYTE_LIMIT");
          if (dart.notNull(this[_bufferIndex]) + 2 >= dart.notNull(this[_buffer$][$length])) break;
          this[_buffer$][$_set]((t179$1 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t179$1) + 1, t179$1), (224 | rune[$rightShift](12)) >>> 0);
          this[_buffer$][$_set]((t179$2 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t179$2) + 1, t179$2), 128 | rune >> 6 & 63);
          this[_buffer$][$_set]((t179$3 = this[_bufferIndex], this[_bufferIndex] = dart.notNull(t179$3) + 1, t179$3), 128 | rune & 63);
        }
      }
    }
    return stringIndex;
  }
};
(convert._Utf8Encoder.new = function() {
  convert._Utf8Encoder.withBufferSize.call(this, 1024);
}).prototype = convert._Utf8Encoder.prototype;
(convert._Utf8Encoder.withBufferSize = function(bufferSize) {
  if (bufferSize == null) dart.nullFailed(I[99], 134, 35, "bufferSize");
  this[_carry] = 0;
  this[_bufferIndex] = 0;
  this[_buffer$] = convert._Utf8Encoder._createBuffer(bufferSize);
  ;
}).prototype = convert._Utf8Encoder.prototype;
dart.addTypeTests(convert._Utf8Encoder);
dart.addTypeCaches(convert._Utf8Encoder);
dart.setMethodSignature(convert._Utf8Encoder, () => ({
  __proto__: dart.getMethods(convert._Utf8Encoder.__proto__),
  [_writeReplacementCharacter]: dart.fnType(dart.void, []),
  [_writeSurrogate]: dart.fnType(core.bool, [core.int, core.int]),
  [_fillBuffer]: dart.fnType(core.int, [core.String, core.int, core.int])
}));
dart.setLibraryUri(convert._Utf8Encoder, I[32]);
dart.setFieldSignature(convert._Utf8Encoder, () => ({
  __proto__: dart.getFields(convert._Utf8Encoder.__proto__),
  [_carry]: dart.fieldType(core.int),
  [_bufferIndex]: dart.fieldType(core.int),
  [_buffer$]: dart.finalFieldType(typed_data.Uint8List)
}));
dart.defineLazy(convert._Utf8Encoder, {
  /*convert._Utf8Encoder._DEFAULT_BYTE_BUFFER_SIZE*/get _DEFAULT_BYTE_BUFFER_SIZE() {
    return 1024;
  }
}, false);
const _Utf8Encoder_StringConversionSinkMixin$36 = class _Utf8Encoder_StringConversionSinkMixin extends convert._Utf8Encoder {};
(_Utf8Encoder_StringConversionSinkMixin$36.new = function() {
  _Utf8Encoder_StringConversionSinkMixin$36.__proto__.new.call(this);
}).prototype = _Utf8Encoder_StringConversionSinkMixin$36.prototype;
(_Utf8Encoder_StringConversionSinkMixin$36.withBufferSize = function(bufferSize) {
  _Utf8Encoder_StringConversionSinkMixin$36.__proto__.withBufferSize.call(this, bufferSize);
}).prototype = _Utf8Encoder_StringConversionSinkMixin$36.prototype;
dart.applyMixin(_Utf8Encoder_StringConversionSinkMixin$36, convert.StringConversionSinkMixin);
convert._Utf8EncoderSink = class _Utf8EncoderSink extends _Utf8Encoder_StringConversionSinkMixin$36 {
  close() {
    if (this[_carry] !== 0) {
      this.addSlice("", 0, 0, true);
      return;
    }
    this[_sink$0].close();
  }
  addSlice(str, start, end, isLast) {
    if (str == null) dart.nullFailed(I[99], 241, 24, "str");
    if (start == null) dart.nullFailed(I[99], 241, 33, "start");
    if (end == null) dart.nullFailed(I[99], 241, 44, "end");
    if (isLast == null) dart.nullFailed(I[99], 241, 54, "isLast");
    this[_bufferIndex] = 0;
    if (start == end && !dart.test(isLast)) {
      return;
    }
    if (this[_carry] !== 0) {
      let nextCodeUnit = 0;
      if (start != end) {
        nextCodeUnit = str[$codeUnitAt](start);
      } else {
        if (!dart.test(isLast)) dart.assertFailed(null, I[99], 253, 16, "isLast");
      }
      let wasCombined = this[_writeSurrogate](this[_carry], nextCodeUnit);
      if (!(!dart.test(wasCombined) || start != end)) dart.assertFailed(null, I[99], 257, 14, "!wasCombined || start != end");
      if (dart.test(wasCombined)) start = dart.notNull(start) + 1;
      this[_carry] = 0;
    }
    do {
      start = this[_fillBuffer](str, start, end);
      let isLastSlice = dart.test(isLast) && start == end;
      if (start === dart.notNull(end) - 1 && dart.test(convert._isLeadSurrogate(str[$codeUnitAt](start)))) {
        if (dart.test(isLast) && dart.notNull(this[_bufferIndex]) < dart.notNull(this[_buffer$][$length]) - 3) {
          this[_writeReplacementCharacter]();
        } else {
          this[_carry] = str[$codeUnitAt](start);
        }
        start = dart.notNull(start) + 1;
      }
      this[_sink$0].addSlice(this[_buffer$], 0, this[_bufferIndex], isLastSlice);
      this[_bufferIndex] = 0;
    } while (dart.notNull(start) < dart.notNull(end));
    if (dart.test(isLast)) this.close();
  }
};
(convert._Utf8EncoderSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[99], 230, 25, "_sink");
  this[_sink$0] = _sink;
  convert._Utf8EncoderSink.__proto__.new.call(this);
  ;
}).prototype = convert._Utf8EncoderSink.prototype;
dart.addTypeTests(convert._Utf8EncoderSink);
dart.addTypeCaches(convert._Utf8EncoderSink);
dart.setMethodSignature(convert._Utf8EncoderSink, () => ({
  __proto__: dart.getMethods(convert._Utf8EncoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Utf8EncoderSink, I[32]);
dart.setFieldSignature(convert._Utf8EncoderSink, () => ({
  __proto__: dart.getFields(convert._Utf8EncoderSink.__proto__),
  [_sink$0]: dart.finalFieldType(convert.ByteConversionSink)
}));
const _allowMalformed$0 = Utf8Decoder__allowMalformed;
convert.Utf8Decoder = class Utf8Decoder extends convert.Converter$(core.List$(core.int), core.String) {
  get [_allowMalformed$]() {
    return this[_allowMalformed$0];
  }
  set [_allowMalformed$](value) {
    super[_allowMalformed$] = value;
  }
  static _convertInterceptedUint8List(allowMalformed, codeUnits, start, end) {
    if (allowMalformed == null) dart.nullFailed(I[86], 433, 12, "allowMalformed");
    if (codeUnits == null) dart.nullFailed(I[86], 433, 44, "codeUnits");
    if (start == null) dart.nullFailed(I[86], 433, 59, "start");
    if (end == null) dart.nullFailed(I[86], 433, 70, "end");
    let decoder = dart.test(allowMalformed) ? convert.Utf8Decoder._decoderNonfatal : convert.Utf8Decoder._decoder;
    if (decoder == null) return null;
    if (0 === start && end == codeUnits[$length]) {
      return convert.Utf8Decoder._useTextDecoder(decoder, codeUnits);
    }
    let length = codeUnits[$length];
    end = core.RangeError.checkValidRange(start, end, length);
    return convert.Utf8Decoder._useTextDecoder(decoder, codeUnits.subarray(start, end));
  }
  static _useTextDecoder(decoder, codeUnits) {
    if (codeUnits == null) dart.nullFailed(I[86], 447, 59, "codeUnits");
    try {
      return decoder.decode(codeUnits);
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
    return null;
  }
  convert(codeUnits, start = 0, end = null) {
    T$0.ListOfint().as(codeUnits);
    if (codeUnits == null) dart.nullFailed(I[99], 310, 28, "codeUnits");
    if (start == null) dart.nullFailed(I[99], 310, 44, "start");
    let result = convert.Utf8Decoder._convertIntercepted(this[_allowMalformed$], codeUnits, start, end);
    if (result != null) {
      return result;
    }
    return new convert._Utf8Decoder.new(this[_allowMalformed$]).convertSingle(codeUnits, start, end);
  }
  startChunkedConversion(sink) {
    T$0.SinkOfString().as(sink);
    if (sink == null) dart.nullFailed(I[99], 325, 58, "sink");
    let stringSink = null;
    if (convert.StringConversionSink.is(sink)) {
      stringSink = sink;
    } else {
      stringSink = new convert._StringAdapterSink.new(sink);
    }
    return stringSink.asUtf8Sink(this[_allowMalformed$]);
  }
  bind(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[99], 336, 41, "stream");
    return super.bind(stream);
  }
  fuse(T, next) {
    if (next == null) dart.nullFailed(I[86], 398, 56, "next");
    return super.fuse(T, next);
  }
  static _convertIntercepted(allowMalformed, codeUnits, start, end) {
    if (allowMalformed == null) dart.nullFailed(I[86], 405, 12, "allowMalformed");
    if (codeUnits == null) dart.nullFailed(I[86], 405, 38, "codeUnits");
    if (start == null) dart.nullFailed(I[86], 405, 53, "start");
    if (codeUnits instanceof Uint8Array) {
      let casted = codeUnits;
      end == null ? end = casted[$length] : null;
      if (dart.notNull(end) - dart.notNull(start) < 15) {
        return null;
      }
      let result = convert.Utf8Decoder._convertInterceptedUint8List(allowMalformed, casted, start, end);
      if (result != null && dart.test(allowMalformed)) {
        if (result.indexOf("�") >= 0) {
          return null;
        }
      }
      return result;
    }
    return null;
  }
};
(convert.Utf8Decoder.new = function(opts) {
  let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalformed : false;
  if (allowMalformed == null) dart.nullFailed(I[99], 299, 27, "allowMalformed");
  this[_allowMalformed$0] = allowMalformed;
  convert.Utf8Decoder.__proto__.new.call(this);
  ;
}).prototype = convert.Utf8Decoder.prototype;
dart.addTypeTests(convert.Utf8Decoder);
dart.addTypeCaches(convert.Utf8Decoder);
dart.setMethodSignature(convert.Utf8Decoder, () => ({
  __proto__: dart.getMethods(convert.Utf8Decoder.__proto__),
  convert: dart.fnType(core.String, [dart.nullable(core.Object)], [core.int, dart.nullable(core.int)]),
  startChunkedConversion: dart.fnType(convert.ByteConversionSink, [dart.nullable(core.Object)]),
  fuse: dart.gFnType(T => [convert.Converter$(core.List$(core.int), T), [convert.Converter$(core.String, T)]], T => [dart.nullable(core.Object)])
}));
dart.setLibraryUri(convert.Utf8Decoder, I[32]);
dart.setFieldSignature(convert.Utf8Decoder, () => ({
  __proto__: dart.getFields(convert.Utf8Decoder.__proto__),
  [_allowMalformed$]: dart.finalFieldType(core.bool)
}));
dart.defineLazy(convert.Utf8Decoder, {
  /*convert.Utf8Decoder._shortInputThreshold*/get _shortInputThreshold() {
    return 15;
  },
  /*convert.Utf8Decoder._decoder*/get _decoder() {
    return dart.fn(() => {
      try {
        return new TextDecoder("utf-8", {fatal: true});
      } catch (e$) {
        let e = dart.getThrown(e$);
        if (core.Object.is(e)) {
        } else
          throw e$;
      }
      return null;
    }, T$0.VoidToObjectN())();
  },
  /*convert.Utf8Decoder._decoderNonfatal*/get _decoderNonfatal() {
    return dart.fn(() => {
      try {
        return new TextDecoder("utf-8", {fatal: false});
      } catch (e$) {
        let e = dart.getThrown(e$);
        if (core.Object.is(e)) {
        } else
          throw e$;
      }
      return null;
    }, T$0.VoidToObjectN())();
  }
}, false);
var _charOrIndex = dart.privateName(convert, "_charOrIndex");
var _convertRecursive = dart.privateName(convert, "_convertRecursive");
convert._Utf8Decoder = class _Utf8Decoder extends core.Object {
  static isErrorState(state) {
    if (state == null) dart.nullFailed(I[99], 495, 32, "state");
    return (dart.notNull(state) & 1) !== 0;
  }
  static errorDescription(state) {
    if (state == null) dart.nullFailed(I[99], 497, 38, "state");
    switch (state) {
      case 65:
      {
        return "Missing extension byte";
      }
      case 67:
      {
        return "Unexpected extension byte";
      }
      case 69:
      {
        return "Invalid UTF-8 byte";
      }
      case 71:
      {
        return "Overlong encoding";
      }
      case 73:
      {
        return "Out of unicode range";
      }
      case 75:
      {
        return "Encoded surrogate";
      }
      case 77:
      {
        return "Unfinished UTF-8 octet sequence";
      }
      default:
      {
        return "";
      }
    }
  }
  convertSingle(codeUnits, start, maybeEnd) {
    if (codeUnits == null) dart.nullFailed(I[86], 479, 34, "codeUnits");
    if (start == null) dart.nullFailed(I[86], 479, 49, "start");
    return this.convertGeneral(codeUnits, start, maybeEnd, true);
  }
  convertChunked(codeUnits, start, maybeEnd) {
    if (codeUnits == null) dart.nullFailed(I[86], 484, 35, "codeUnits");
    if (start == null) dart.nullFailed(I[86], 484, 50, "start");
    return this.convertGeneral(codeUnits, start, maybeEnd, false);
  }
  convertGeneral(codeUnits, start, maybeEnd, single) {
    if (codeUnits == null) dart.nullFailed(I[99], 525, 17, "codeUnits");
    if (start == null) dart.nullFailed(I[99], 525, 32, "start");
    if (single == null) dart.nullFailed(I[99], 525, 59, "single");
    let end = core.RangeError.checkValidRange(start, maybeEnd, codeUnits[$length]);
    if (start == end) return "";
    let bytes = null;
    let errorOffset = null;
    if (typed_data.Uint8List.is(codeUnits)) {
      bytes = codeUnits;
      errorOffset = 0;
    } else {
      bytes = convert._Utf8Decoder._makeUint8List(codeUnits, start, end);
      errorOffset = start;
      end = dart.notNull(end) - dart.notNull(start);
      start = 0;
    }
    let result = this[_convertRecursive](bytes, start, end, single);
    if (dart.test(convert._Utf8Decoder.isErrorState(this[_state$0]))) {
      let message = convert._Utf8Decoder.errorDescription(this[_state$0]);
      this[_state$0] = 0;
      dart.throw(new core.FormatException.new(message, codeUnits, dart.notNull(errorOffset) + dart.notNull(this[_charOrIndex])));
    }
    return result;
  }
  [_convertRecursive](bytes, start, end, single) {
    if (bytes == null) dart.nullFailed(I[99], 552, 38, "bytes");
    if (start == null) dart.nullFailed(I[99], 552, 49, "start");
    if (end == null) dart.nullFailed(I[99], 552, 60, "end");
    if (single == null) dart.nullFailed(I[99], 552, 70, "single");
    if (dart.notNull(end) - dart.notNull(start) > 1000) {
      let mid = ((dart.notNull(start) + dart.notNull(end)) / 2)[$truncate]();
      let s1 = this[_convertRecursive](bytes, start, mid, false);
      if (dart.test(convert._Utf8Decoder.isErrorState(this[_state$0]))) return s1;
      let s2 = this[_convertRecursive](bytes, mid, end, single);
      return dart.notNull(s1) + dart.notNull(s2);
    }
    return this.decodeGeneral(bytes, start, end, single);
  }
  flush(sink) {
    if (sink == null) dart.nullFailed(I[99], 569, 25, "sink");
    let state = this[_state$0];
    this[_state$0] = 0;
    if (dart.notNull(state) <= 32) {
      return;
    }
    if (dart.test(this.allowMalformed)) {
      sink.writeCharCode(65533);
    } else {
      dart.throw(new core.FormatException.new(convert._Utf8Decoder.errorDescription(77), null, null));
    }
  }
  decodeGeneral(bytes, start, end, single) {
    let t182, t182$, t182$0, t182$1;
    if (bytes == null) dart.nullFailed(I[99], 583, 34, "bytes");
    if (start == null) dart.nullFailed(I[99], 583, 45, "start");
    if (end == null) dart.nullFailed(I[99], 583, 56, "end");
    if (single == null) dart.nullFailed(I[99], 583, 66, "single");
    let typeTable = convert._Utf8Decoder.typeTable;
    let transitionTable = convert._Utf8Decoder.transitionTable;
    let state = this[_state$0];
    let char = this[_charOrIndex];
    let buffer = new core.StringBuffer.new();
    let i = start;
    let byte = bytes[$_get]((t182 = i, i = dart.notNull(t182) + 1, t182));
    L1:
      while (true) {
        while (true) {
          let type = (typeTable[$codeUnitAt](byte) & 31) >>> 0;
          char = dart.notNull(state) <= 32 ? (dart.notNull(byte) & (61694)[$rightShift](type)) >>> 0 : (dart.notNull(byte) & 63 | dart.notNull(char) << 6 >>> 0) >>> 0;
          state = transitionTable[$codeUnitAt](dart.notNull(state) + type);
          if (state === 0) {
            buffer.writeCharCode(char);
            if (i == end) break L1;
            break;
          } else if (dart.test(convert._Utf8Decoder.isErrorState(state))) {
            if (dart.test(this.allowMalformed)) {
              switch (state) {
                case 69:
                case 67:
                {
                  buffer.writeCharCode(65533);
                  break;
                }
                case 65:
                {
                  buffer.writeCharCode(65533);
                  i = dart.notNull(i) - 1;
                  break;
                }
                default:
                {
                  buffer.writeCharCode(65533);
                  buffer.writeCharCode(65533);
                  break;
                }
              }
              state = 0;
            } else {
              this[_state$0] = state;
              this[_charOrIndex] = dart.notNull(i) - 1;
              return "";
            }
          }
          if (i == end) break L1;
          byte = bytes[$_get]((t182$ = i, i = dart.notNull(t182$) + 1, t182$));
        }
        let markStart = i;
        byte = bytes[$_get]((t182$0 = i, i = dart.notNull(t182$0) + 1, t182$0));
        if (dart.notNull(byte) < 128) {
          let markEnd = end;
          while (dart.notNull(i) < dart.notNull(end)) {
            byte = bytes[$_get]((t182$1 = i, i = dart.notNull(t182$1) + 1, t182$1));
            if (dart.notNull(byte) >= 128) {
              markEnd = dart.notNull(i) - 1;
              break;
            }
          }
          if (!(dart.notNull(markStart) < dart.notNull(markEnd))) dart.assertFailed(null, I[99], 648, 16, "markStart < markEnd");
          if (dart.notNull(markEnd) - dart.notNull(markStart) < 20) {
            for (let m = markStart; dart.notNull(m) < dart.notNull(markEnd); m = dart.notNull(m) + 1) {
              buffer.writeCharCode(bytes[$_get](m));
            }
          } else {
            buffer.write(core.String.fromCharCodes(bytes, markStart, markEnd));
          }
          if (markEnd == end) break;
        }
      }
    if (dart.test(single) && dart.notNull(state) > 32) {
      if (dart.test(this.allowMalformed)) {
        buffer.writeCharCode(65533);
      } else {
        this[_state$0] = 77;
        this[_charOrIndex] = end;
        return "";
      }
    }
    this[_state$0] = state;
    this[_charOrIndex] = char;
    return buffer.toString();
  }
  static _makeUint8List(codeUnits, start, end) {
    if (codeUnits == null) dart.nullFailed(I[99], 675, 45, "codeUnits");
    if (start == null) dart.nullFailed(I[99], 675, 60, "start");
    if (end == null) dart.nullFailed(I[99], 675, 71, "end");
    let length = dart.notNull(end) - dart.notNull(start);
    let bytes = _native_typed_data.NativeUint8List.new(length);
    for (let i = 0; i < length; i = i + 1) {
      let b = codeUnits[$_get](dart.notNull(start) + i);
      if ((dart.notNull(b) & ~255 >>> 0) !== 0) {
        b = 255;
      }
      bytes[$_set](i, b);
    }
    return bytes;
  }
};
(convert._Utf8Decoder.new = function(allowMalformed) {
  if (allowMalformed == null) dart.nullFailed(I[86], 476, 21, "allowMalformed");
  this[_charOrIndex] = 0;
  this.allowMalformed = allowMalformed;
  this[_state$0] = 16;
  ;
}).prototype = convert._Utf8Decoder.prototype;
dart.addTypeTests(convert._Utf8Decoder);
dart.addTypeCaches(convert._Utf8Decoder);
dart.setMethodSignature(convert._Utf8Decoder, () => ({
  __proto__: dart.getMethods(convert._Utf8Decoder.__proto__),
  convertSingle: dart.fnType(core.String, [core.List$(core.int), core.int, dart.nullable(core.int)]),
  convertChunked: dart.fnType(core.String, [core.List$(core.int), core.int, dart.nullable(core.int)]),
  convertGeneral: dart.fnType(core.String, [core.List$(core.int), core.int, dart.nullable(core.int), core.bool]),
  [_convertRecursive]: dart.fnType(core.String, [typed_data.Uint8List, core.int, core.int, core.bool]),
  flush: dart.fnType(dart.void, [core.StringSink]),
  decodeGeneral: dart.fnType(core.String, [typed_data.Uint8List, core.int, core.int, core.bool])
}));
dart.setLibraryUri(convert._Utf8Decoder, I[32]);
dart.setFieldSignature(convert._Utf8Decoder, () => ({
  __proto__: dart.getFields(convert._Utf8Decoder.__proto__),
  allowMalformed: dart.finalFieldType(core.bool),
  [_state$0]: dart.fieldType(core.int),
  [_charOrIndex]: dart.fieldType(core.int)
}));
dart.defineLazy(convert._Utf8Decoder, {
  /*convert._Utf8Decoder.typeMask*/get typeMask() {
    return 31;
  },
  /*convert._Utf8Decoder.shiftedByteMask*/get shiftedByteMask() {
    return 61694;
  },
  /*convert._Utf8Decoder.typeTable*/get typeTable() {
    return "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE";
  },
  /*convert._Utf8Decoder.IA*/get IA() {
    return 0;
  },
  /*convert._Utf8Decoder.BB*/get BB() {
    return 16;
  },
  /*convert._Utf8Decoder.AB*/get AB() {
    return 32;
  },
  /*convert._Utf8Decoder.X1*/get X1() {
    return 48;
  },
  /*convert._Utf8Decoder.X2*/get X2() {
    return 58;
  },
  /*convert._Utf8Decoder.X3*/get X3() {
    return 68;
  },
  /*convert._Utf8Decoder.TO*/get TO() {
    return 78;
  },
  /*convert._Utf8Decoder.TS*/get TS() {
    return 88;
  },
  /*convert._Utf8Decoder.QO*/get QO() {
    return 98;
  },
  /*convert._Utf8Decoder.QR*/get QR() {
    return 108;
  },
  /*convert._Utf8Decoder.B1*/get B1() {
    return 118;
  },
  /*convert._Utf8Decoder.B2*/get B2() {
    return 128;
  },
  /*convert._Utf8Decoder.E1*/get E1() {
    return 65;
  },
  /*convert._Utf8Decoder.E2*/get E2() {
    return 67;
  },
  /*convert._Utf8Decoder.E3*/get E3() {
    return 69;
  },
  /*convert._Utf8Decoder.E4*/get E4() {
    return 71;
  },
  /*convert._Utf8Decoder.E5*/get E5() {
    return 73;
  },
  /*convert._Utf8Decoder.E6*/get E6() {
    return 75;
  },
  /*convert._Utf8Decoder.E7*/get E7() {
    return 77;
  },
  /*convert._Utf8Decoder._IA*/get _IA() {
    return "";
  },
  /*convert._Utf8Decoder._BB*/get _BB() {
    return "";
  },
  /*convert._Utf8Decoder._AB*/get _AB() {
    return " ";
  },
  /*convert._Utf8Decoder._X1*/get _X1() {
    return "0";
  },
  /*convert._Utf8Decoder._X2*/get _X2() {
    return ":";
  },
  /*convert._Utf8Decoder._X3*/get _X3() {
    return "D";
  },
  /*convert._Utf8Decoder._TO*/get _TO() {
    return "N";
  },
  /*convert._Utf8Decoder._TS*/get _TS() {
    return "X";
  },
  /*convert._Utf8Decoder._QO*/get _QO() {
    return "b";
  },
  /*convert._Utf8Decoder._QR*/get _QR() {
    return "l";
  },
  /*convert._Utf8Decoder._B1*/get _B1() {
    return "v";
  },
  /*convert._Utf8Decoder._B2*/get _B2() {
    return "";
  },
  /*convert._Utf8Decoder._E1*/get _E1() {
    return "A";
  },
  /*convert._Utf8Decoder._E2*/get _E2() {
    return "C";
  },
  /*convert._Utf8Decoder._E3*/get _E3() {
    return "E";
  },
  /*convert._Utf8Decoder._E4*/get _E4() {
    return "G";
  },
  /*convert._Utf8Decoder._E5*/get _E5() {
    return "I";
  },
  /*convert._Utf8Decoder._E6*/get _E6() {
    return "K";
  },
  /*convert._Utf8Decoder._E7*/get _E7() {
    return "M";
  },
  /*convert._Utf8Decoder.transitionTable*/get transitionTable() {
    return " 0:XECCCCCN:lDb 0:XECCCCCNvlDb 0:XECCCCCN:lDb AAAAAAAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA0000AAAAA AAAAA";
  },
  /*convert._Utf8Decoder.initial*/get initial() {
    return 0;
  },
  /*convert._Utf8Decoder.accept*/get accept() {
    return 0;
  },
  /*convert._Utf8Decoder.beforeBom*/get beforeBom() {
    return 16;
  },
  /*convert._Utf8Decoder.afterBom*/get afterBom() {
    return 32;
  },
  /*convert._Utf8Decoder.errorMissingExtension*/get errorMissingExtension() {
    return 65;
  },
  /*convert._Utf8Decoder.errorUnexpectedExtension*/get errorUnexpectedExtension() {
    return 67;
  },
  /*convert._Utf8Decoder.errorInvalid*/get errorInvalid() {
    return 69;
  },
  /*convert._Utf8Decoder.errorOverlong*/get errorOverlong() {
    return 71;
  },
  /*convert._Utf8Decoder.errorOutOfRange*/get errorOutOfRange() {
    return 73;
  },
  /*convert._Utf8Decoder.errorSurrogate*/get errorSurrogate() {
    return 75;
  },
  /*convert._Utf8Decoder.errorUnfinished*/get errorUnfinished() {
    return 77;
  }
}, false);
convert._convertJsonToDart = function _convertJsonToDart(json, reviver) {
  if (reviver == null) dart.nullFailed(I[86], 54, 26, "reviver");
  function walk(e) {
    if (e == null || typeof e != "object") {
      return e;
    }
    if (Object.getPrototypeOf(e) === Array.prototype) {
      for (let i = 0; i < e.length; i = i + 1) {
        let item = e[i];
        e[i] = reviver(i, walk(item));
      }
      return e;
    }
    let map = new convert._JsonMap.new(e);
    let processed = map[_processed];
    let keys = map[_computeKeys]();
    for (let i = 0; i < dart.notNull(keys[$length]); i = i + 1) {
      let key = keys[$_get](i);
      let revived = reviver(key, walk(e[key]));
      processed[key] = revived;
    }
    map[_original$] = processed;
    return map;
  }
  dart.fn(walk, T$.dynamicTodynamic());
  return reviver(null, walk(json));
};
convert._convertJsonToDartLazy = function _convertJsonToDartLazy(object) {
  if (object == null) return null;
  if (typeof object != "object") {
    return object;
  }
  if (Object.getPrototypeOf(object) !== Array.prototype) {
    return new convert._JsonMap.new(object);
  }
  for (let i = 0; i < object.length; i = i + 1) {
    let item = object[i];
    object[i] = convert._convertJsonToDartLazy(item);
  }
  return object;
};
convert.base64Encode = function base64Encode(bytes) {
  if (bytes == null) dart.nullFailed(I[93], 41, 31, "bytes");
  return convert.base64.encode(bytes);
};
convert.base64UrlEncode = function base64UrlEncode(bytes) {
  if (bytes == null) dart.nullFailed(I[93], 46, 34, "bytes");
  return convert.base64Url.encode(bytes);
};
convert.base64Decode = function base64Decode(source) {
  if (source == null) dart.nullFailed(I[93], 52, 31, "source");
  return convert.base64.decode(source);
};
convert.jsonEncode = function jsonEncode(object, opts) {
  let toEncodable = opts && 'toEncodable' in opts ? opts.toEncodable : null;
  return convert.json.encode(object, {toEncodable: toEncodable});
};
convert.jsonDecode = function jsonDecode(source, opts) {
  if (source == null) dart.nullFailed(I[96], 94, 27, "source");
  let reviver = opts && 'reviver' in opts ? opts.reviver : null;
  return convert.json.decode(source, {reviver: reviver});
};
convert._parseJson = function _parseJson(source, reviver) {
  if (source == null) dart.nullFailed(I[86], 31, 19, "source");
  if (!(typeof source == 'string')) dart.throw(_js_helper.argumentErrorValue(source));
  let parsed = null;
  try {
    parsed = JSON.parse(source);
  } catch (e$) {
    let e = dart.getThrown(e$);
    if (core.Object.is(e)) {
      dart.throw(new core.FormatException.new(String(e)));
    } else
      throw e$;
  }
  if (reviver == null) {
    return convert._convertJsonToDartLazy(parsed);
  } else {
    return convert._convertJsonToDart(parsed, reviver);
  }
};
convert._defaultToEncodable = function _defaultToEncodable(object) {
  return dart.dsend(object, 'toJson', []);
};
convert._isLeadSurrogate = function _isLeadSurrogate(codeUnit) {
  if (codeUnit == null) dart.nullFailed(I[99], 356, 27, "codeUnit");
  return (dart.notNull(codeUnit) & 64512) >>> 0 === 55296;
};
convert._isTailSurrogate = function _isTailSurrogate(codeUnit) {
  if (codeUnit == null) dart.nullFailed(I[99], 358, 27, "codeUnit");
  return (dart.notNull(codeUnit) & 64512) >>> 0 === 56320;
};
convert._combineSurrogatePair = function _combineSurrogatePair(lead, tail) {
  if (lead == null) dart.nullFailed(I[99], 360, 31, "lead");
  if (tail == null) dart.nullFailed(I[99], 360, 41, "tail");
  return (65536 + ((dart.notNull(lead) & 1023) >>> 0 << 10 >>> 0) | (dart.notNull(tail) & 1023) >>> 0) >>> 0;
};
dart.defineLazy(convert, {
  /*convert.ascii*/get ascii() {
    return C[104] || CT.C104;
  },
  /*convert._asciiMask*/get _asciiMask() {
    return 127;
  },
  /*convert.base64*/get base64() {
    return C[105] || CT.C105;
  },
  /*convert.base64Url*/get base64Url() {
    return C[106] || CT.C106;
  },
  /*convert._paddingChar*/get _paddingChar() {
    return 61;
  },
  /*convert.htmlEscape*/get htmlEscape() {
    return C[107] || CT.C107;
  },
  /*convert.json*/get json() {
    return C[108] || CT.C108;
  },
  /*convert.latin1*/get latin1() {
    return C[109] || CT.C109;
  },
  /*convert._latin1Mask*/get _latin1Mask() {
    return 255;
  },
  /*convert._LF*/get _LF() {
    return 10;
  },
  /*convert._CR*/get _CR() {
    return 13;
  },
  /*convert.unicodeReplacementCharacterRune*/get unicodeReplacementCharacterRune() {
    return 65533;
  },
  /*convert.unicodeBomCharacterRune*/get unicodeBomCharacterRune() {
    return 65279;
  },
  /*convert.utf8*/get utf8() {
    return C[110] || CT.C110;
  },
  /*convert._ONE_BYTE_LIMIT*/get _ONE_BYTE_LIMIT() {
    return 127;
  },
  /*convert._TWO_BYTE_LIMIT*/get _TWO_BYTE_LIMIT() {
    return 2047;
  },
  /*convert._THREE_BYTE_LIMIT*/get _THREE_BYTE_LIMIT() {
    return 65535;
  },
  /*convert._FOUR_BYTE_LIMIT*/get _FOUR_BYTE_LIMIT() {
    return 1114111;
  },
  /*convert._SURROGATE_TAG_MASK*/get _SURROGATE_TAG_MASK() {
    return 64512;
  },
  /*convert._SURROGATE_VALUE_MASK*/get _SURROGATE_VALUE_MASK() {
    return 1023;
  },
  /*convert._LEAD_SURROGATE_MIN*/get _LEAD_SURROGATE_MIN() {
    return 55296;
  },
  /*convert._TAIL_SURROGATE_MIN*/get _TAIL_SURROGATE_MIN() {
    return 56320;
  }
}, false);
developer._FakeUserTag = class _FakeUserTag extends core.Object {
  static new(label) {
    let t185, t184, t183;
    if (label == null) dart.nullFailed(I[100], 217, 31, "label");
    let existingTag = developer._FakeUserTag._instances[$_get](label);
    if (existingTag != null) {
      return existingTag;
    }
    if (developer._FakeUserTag._instances[$length] === 64) {
      dart.throw(new core.UnsupportedError.new("UserTag instance limit (" + dart.str(64) + ") reached."));
    }
    t183 = developer._FakeUserTag._instances;
    t184 = label;
    t185 = new developer._FakeUserTag.real(label);
    t183[$_set](t184, t185);
    return t185;
  }
  makeCurrent() {
    let old = developer._currentTag;
    developer._currentTag = this;
    return old;
  }
};
(developer._FakeUserTag.real = function(label) {
  if (label == null) dart.nullFailed(I[100], 215, 26, "label");
  this.label = label;
  ;
}).prototype = developer._FakeUserTag.prototype;
dart.addTypeTests(developer._FakeUserTag);
dart.addTypeCaches(developer._FakeUserTag);
developer._FakeUserTag[dart.implements] = () => [developer.UserTag];
dart.setMethodSignature(developer._FakeUserTag, () => ({
  __proto__: dart.getMethods(developer._FakeUserTag.__proto__),
  makeCurrent: dart.fnType(developer.UserTag, [])
}));
dart.setLibraryUri(developer._FakeUserTag, I[101]);
dart.setFieldSignature(developer._FakeUserTag, () => ({
  __proto__: dart.getFields(developer._FakeUserTag.__proto__),
  label: dart.finalFieldType(core.String)
}));
dart.defineLazy(developer._FakeUserTag, {
  /*developer._FakeUserTag._instances*/get _instances() {
    return new (T$0.IdentityMapOfString$_FakeUserTag()).new();
  },
  /*developer._FakeUserTag._defaultTag*/get _defaultTag() {
    return developer._FakeUserTag.new("Default");
  }
}, false);
var result$ = dart.privateName(developer, "ServiceExtensionResponse.result");
var errorCode$ = dart.privateName(developer, "ServiceExtensionResponse.errorCode");
var errorDetail$ = dart.privateName(developer, "ServiceExtensionResponse.errorDetail");
var _toString$ = dart.privateName(developer, "_toString");
developer.ServiceExtensionResponse = class ServiceExtensionResponse extends core.Object {
  get result() {
    return this[result$];
  }
  set result(value) {
    super.result = value;
  }
  get errorCode() {
    return this[errorCode$];
  }
  set errorCode(value) {
    super.errorCode = value;
  }
  get errorDetail() {
    return this[errorDetail$];
  }
  set errorDetail(value) {
    super.errorDetail = value;
  }
  static _errorCodeMessage(errorCode) {
    if (errorCode == null) dart.nullFailed(I[102], 76, 39, "errorCode");
    developer.ServiceExtensionResponse._validateErrorCode(errorCode);
    if (errorCode === -32602) {
      return "Invalid params";
    }
    return "Server error";
  }
  static _validateErrorCode(errorCode) {
    if (errorCode == null) dart.nullFailed(I[102], 84, 33, "errorCode");
    core.ArgumentError.checkNotNull(core.int, errorCode, "errorCode");
    if (errorCode === -32602) return;
    if (dart.notNull(errorCode) >= -32016 && dart.notNull(errorCode) <= -32000) {
      return;
    }
    dart.throw(new core.ArgumentError.value(errorCode, "errorCode", "Out of range"));
  }
  isError() {
    return this.errorCode != null && this.errorDetail != null;
  }
  [_toString$]() {
    let t183;
    t183 = this.result;
    return t183 == null ? convert.json.encode(new (T$.IdentityMapOfString$Object()).from(["code", dart.nullCheck(this.errorCode), "message", developer.ServiceExtensionResponse._errorCodeMessage(dart.nullCheck(this.errorCode)), "data", new (T$.IdentityMapOfString$String()).from(["details", dart.nullCheck(this.errorDetail)])])) : t183;
  }
};
(developer.ServiceExtensionResponse.result = function(result) {
  if (result == null) dart.nullFailed(I[102], 25, 42, "result");
  this[result$] = result;
  this[errorCode$] = null;
  this[errorDetail$] = null;
  core.ArgumentError.checkNotNull(core.String, result, "result");
}).prototype = developer.ServiceExtensionResponse.prototype;
(developer.ServiceExtensionResponse.error = function(errorCode, errorDetail) {
  if (errorCode == null) dart.nullFailed(I[102], 39, 38, "errorCode");
  if (errorDetail == null) dart.nullFailed(I[102], 39, 56, "errorDetail");
  this[result$] = null;
  this[errorCode$] = errorCode;
  this[errorDetail$] = errorDetail;
  developer.ServiceExtensionResponse._validateErrorCode(errorCode);
  core.ArgumentError.checkNotNull(core.String, errorDetail, "errorDetail");
}).prototype = developer.ServiceExtensionResponse.prototype;
dart.addTypeTests(developer.ServiceExtensionResponse);
dart.addTypeCaches(developer.ServiceExtensionResponse);
dart.setMethodSignature(developer.ServiceExtensionResponse, () => ({
  __proto__: dart.getMethods(developer.ServiceExtensionResponse.__proto__),
  isError: dart.fnType(core.bool, []),
  [_toString$]: dart.fnType(core.String, [])
}));
dart.setLibraryUri(developer.ServiceExtensionResponse, I[101]);
dart.setFieldSignature(developer.ServiceExtensionResponse, () => ({
  __proto__: dart.getFields(developer.ServiceExtensionResponse.__proto__),
  result: dart.finalFieldType(dart.nullable(core.String)),
  errorCode: dart.finalFieldType(dart.nullable(core.int)),
  errorDetail: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineLazy(developer.ServiceExtensionResponse, {
  /*developer.ServiceExtensionResponse.kInvalidParams*/get kInvalidParams() {
    return -32602;
  },
  /*developer.ServiceExtensionResponse.kExtensionError*/get kExtensionError() {
    return -32000;
  },
  /*developer.ServiceExtensionResponse.kExtensionErrorMax*/get kExtensionErrorMax() {
    return -32000;
  },
  /*developer.ServiceExtensionResponse.kExtensionErrorMin*/get kExtensionErrorMin() {
    return -32016;
  },
  /*developer.ServiceExtensionResponse.invalidParams*/get invalidParams() {
    return -32602;
  },
  /*developer.ServiceExtensionResponse.extensionError*/get extensionError() {
    return -32000;
  },
  /*developer.ServiceExtensionResponse.extensionErrorMax*/get extensionErrorMax() {
    return -32000;
  },
  /*developer.ServiceExtensionResponse.extensionErrorMin*/get extensionErrorMin() {
    return -32016;
  }
}, false);
developer.UserTag = class UserTag extends core.Object {
  static get defaultTag() {
    return developer._FakeUserTag._defaultTag;
  }
};
(developer.UserTag[dart.mixinNew] = function() {
}).prototype = developer.UserTag.prototype;
dart.addTypeTests(developer.UserTag);
dart.addTypeCaches(developer.UserTag);
dart.setLibraryUri(developer.UserTag, I[101]);
dart.defineLazy(developer.UserTag, {
  /*developer.UserTag.MAX_USER_TAGS*/get MAX_USER_TAGS() {
    return 64;
  }
}, false);
var name$10 = dart.privateName(developer, "Metric.name");
var description$ = dart.privateName(developer, "Metric.description");
developer.Metric = class Metric extends core.Object {
  get name() {
    return this[name$10];
  }
  set name(value) {
    super.name = value;
  }
  get description() {
    return this[description$];
  }
  set description(value) {
    super.description = value;
  }
};
(developer.Metric.new = function(name, description) {
  if (name == null) dart.nullFailed(I[103], 40, 15, "name");
  if (description == null) dart.nullFailed(I[103], 40, 26, "description");
  this[name$10] = name;
  this[description$] = description;
  if (this.name === "vm" || this.name[$contains]("/")) {
    dart.throw(new core.ArgumentError.new("Invalid Metric name."));
  }
}).prototype = developer.Metric.prototype;
dart.addTypeTests(developer.Metric);
dart.addTypeCaches(developer.Metric);
dart.setLibraryUri(developer.Metric, I[101]);
dart.setFieldSignature(developer.Metric, () => ({
  __proto__: dart.getFields(developer.Metric.__proto__),
  name: dart.finalFieldType(core.String),
  description: dart.finalFieldType(core.String)
}));
var min$ = dart.privateName(developer, "Gauge.min");
var max$ = dart.privateName(developer, "Gauge.max");
var _value = dart.privateName(developer, "_value");
var _toJSON = dart.privateName(developer, "_toJSON");
developer.Gauge = class Gauge extends developer.Metric {
  get min() {
    return this[min$];
  }
  set min(value) {
    super.min = value;
  }
  get max() {
    return this[max$];
  }
  set max(value) {
    super.max = value;
  }
  get value() {
    return this[_value];
  }
  set value(v) {
    if (v == null) dart.nullFailed(I[103], 57, 20, "v");
    if (dart.notNull(v) < dart.notNull(this.min)) {
      v = this.min;
    } else if (dart.notNull(v) > dart.notNull(this.max)) {
      v = this.max;
    }
    this[_value] = v;
  }
  [_toJSON]() {
    let map = new (T$.IdentityMapOfString$Object()).from(["type", "Gauge", "id", "metrics/" + dart.str(this.name), "name", this.name, "description", this.description, "value", this.value, "min", this.min, "max", this.max]);
    return map;
  }
};
(developer.Gauge.new = function(name, description, min, max) {
  if (name == null) dart.nullFailed(I[103], 66, 16, "name");
  if (description == null) dart.nullFailed(I[103], 66, 29, "description");
  if (min == null) dart.nullFailed(I[103], 66, 47, "min");
  if (max == null) dart.nullFailed(I[103], 66, 57, "max");
  this[min$] = min;
  this[max$] = max;
  this[_value] = min;
  developer.Gauge.__proto__.new.call(this, name, description);
  core.ArgumentError.checkNotNull(core.double, this.min, "min");
  core.ArgumentError.checkNotNull(core.double, this.max, "max");
  if (!(dart.notNull(this.min) < dart.notNull(this.max))) dart.throw(new core.ArgumentError.new("min must be less than max"));
}).prototype = developer.Gauge.prototype;
dart.addTypeTests(developer.Gauge);
dart.addTypeCaches(developer.Gauge);
dart.setMethodSignature(developer.Gauge, () => ({
  __proto__: dart.getMethods(developer.Gauge.__proto__),
  [_toJSON]: dart.fnType(core.Map, [])
}));
dart.setGetterSignature(developer.Gauge, () => ({
  __proto__: dart.getGetters(developer.Gauge.__proto__),
  value: core.double
}));
dart.setSetterSignature(developer.Gauge, () => ({
  __proto__: dart.getSetters(developer.Gauge.__proto__),
  value: core.double
}));
dart.setLibraryUri(developer.Gauge, I[101]);
dart.setFieldSignature(developer.Gauge, () => ({
  __proto__: dart.getFields(developer.Gauge.__proto__),
  min: dart.finalFieldType(core.double),
  max: dart.finalFieldType(core.double),
  [_value]: dart.fieldType(core.double)
}));
developer.Counter = class Counter extends developer.Metric {
  get value() {
    return this[_value];
  }
  set value(v) {
    if (v == null) dart.nullFailed(I[103], 95, 20, "v");
    this[_value] = v;
  }
  [_toJSON]() {
    let map = new (T$.IdentityMapOfString$Object()).from(["type", "Counter", "id", "metrics/" + dart.str(this.name), "name", this.name, "description", this.description, "value", this.value]);
    return map;
  }
};
(developer.Counter.new = function(name, description) {
  if (name == null) dart.nullFailed(I[103], 91, 18, "name");
  if (description == null) dart.nullFailed(I[103], 91, 31, "description");
  this[_value] = 0.0;
  developer.Counter.__proto__.new.call(this, name, description);
  ;
}).prototype = developer.Counter.prototype;
dart.addTypeTests(developer.Counter);
dart.addTypeCaches(developer.Counter);
dart.setMethodSignature(developer.Counter, () => ({
  __proto__: dart.getMethods(developer.Counter.__proto__),
  [_toJSON]: dart.fnType(core.Map, [])
}));
dart.setGetterSignature(developer.Counter, () => ({
  __proto__: dart.getGetters(developer.Counter.__proto__),
  value: core.double
}));
dart.setSetterSignature(developer.Counter, () => ({
  __proto__: dart.getSetters(developer.Counter.__proto__),
  value: core.double
}));
dart.setLibraryUri(developer.Counter, I[101]);
dart.setFieldSignature(developer.Counter, () => ({
  __proto__: dart.getFields(developer.Counter.__proto__),
  [_value]: dart.fieldType(core.double)
}));
developer.Metrics = class Metrics extends core.Object {
  static register(metric) {
    if (metric == null) dart.nullFailed(I[103], 115, 31, "metric");
    core.ArgumentError.checkNotNull(developer.Metric, metric, "metric");
    if (developer.Metrics._metrics[$_get](metric.name) != null) {
      dart.throw(new core.ArgumentError.new("Registered metrics have unique names"));
    }
    developer.Metrics._metrics[$_set](metric.name, metric);
  }
  static deregister(metric) {
    if (metric == null) dart.nullFailed(I[103], 125, 33, "metric");
    core.ArgumentError.checkNotNull(developer.Metric, metric, "metric");
    developer.Metrics._metrics[$remove](metric.name);
  }
  static _printMetric(id) {
    if (id == null) dart.nullFailed(I[103], 132, 38, "id");
    let metric = developer.Metrics._metrics[$_get](id);
    if (metric == null) {
      return null;
    }
    return convert.json.encode(metric[_toJSON]());
  }
  static _printMetrics() {
    let metrics = [];
    for (let metric of developer.Metrics._metrics[$values]) {
      metrics[$add](metric[_toJSON]());
    }
    let map = new (T$.IdentityMapOfString$Object()).from(["type", "MetricList", "metrics", metrics]);
    return convert.json.encode(map);
  }
};
(developer.Metrics.new = function() {
  ;
}).prototype = developer.Metrics.prototype;
dart.addTypeTests(developer.Metrics);
dart.addTypeCaches(developer.Metrics);
dart.setLibraryUri(developer.Metrics, I[101]);
dart.defineLazy(developer.Metrics, {
  /*developer.Metrics._metrics*/get _metrics() {
    return new (T$0.LinkedMapOfString$Metric()).new();
  }
}, false);
var majorVersion = dart.privateName(developer, "ServiceProtocolInfo.majorVersion");
var minorVersion = dart.privateName(developer, "ServiceProtocolInfo.minorVersion");
var serverUri$ = dart.privateName(developer, "ServiceProtocolInfo.serverUri");
developer.ServiceProtocolInfo = class ServiceProtocolInfo extends core.Object {
  get majorVersion() {
    return this[majorVersion];
  }
  set majorVersion(value) {
    super.majorVersion = value;
  }
  get minorVersion() {
    return this[minorVersion];
  }
  set minorVersion(value) {
    super.minorVersion = value;
  }
  get serverUri() {
    return this[serverUri$];
  }
  set serverUri(value) {
    super.serverUri = value;
  }
  get serverWebSocketUri() {
    let uri = this.serverUri;
    if (uri != null) {
      let pathSegments = T$.JSArrayOfString().of([]);
      if (dart.test(uri.pathSegments[$isNotEmpty])) {
        pathSegments[$addAll](uri.pathSegments[$where](dart.fn(s => {
          if (s == null) dart.nullFailed(I[104], 35, 12, "s");
          return s[$isNotEmpty];
        }, T$.StringTobool())));
      }
      pathSegments[$add]("ws");
      uri = uri.replace({scheme: "ws", pathSegments: pathSegments});
    }
    return uri;
  }
  toString() {
    if (this.serverUri != null) {
      return "Dart VM Service Protocol v" + dart.str(this.majorVersion) + "." + dart.str(this.minorVersion) + " " + "listening on " + dart.str(this.serverUri);
    } else {
      return "Dart VM Service Protocol v" + dart.str(this.majorVersion) + "." + dart.str(this.minorVersion);
    }
  }
};
(developer.ServiceProtocolInfo.new = function(serverUri) {
  this[majorVersion] = developer._getServiceMajorVersion();
  this[minorVersion] = developer._getServiceMinorVersion();
  this[serverUri$] = serverUri;
  ;
}).prototype = developer.ServiceProtocolInfo.prototype;
dart.addTypeTests(developer.ServiceProtocolInfo);
dart.addTypeCaches(developer.ServiceProtocolInfo);
dart.setGetterSignature(developer.ServiceProtocolInfo, () => ({
  __proto__: dart.getGetters(developer.ServiceProtocolInfo.__proto__),
  serverWebSocketUri: dart.nullable(core.Uri)
}));
dart.setLibraryUri(developer.ServiceProtocolInfo, I[101]);
dart.setFieldSignature(developer.ServiceProtocolInfo, () => ({
  __proto__: dart.getFields(developer.ServiceProtocolInfo.__proto__),
  majorVersion: dart.finalFieldType(core.int),
  minorVersion: dart.finalFieldType(core.int),
  serverUri: dart.finalFieldType(dart.nullable(core.Uri))
}));
dart.defineExtensionMethods(developer.ServiceProtocolInfo, ['toString']);
developer.Service = class Service extends core.Object {
  static getInfo() {
    return async.async(developer.ServiceProtocolInfo, function* getInfo() {
      let receivePort = isolate$.RawReceivePort.new(null, "Service.getInfo");
      let completer = T$0.CompleterOfStringN().new();
      receivePort.handler = dart.fn(uriString => completer.complete(uriString), T$0.StringNTovoid());
      developer._getServerInfo(receivePort.sendPort);
      let uriString = (yield completer.future);
      let uri = uriString == null ? null : core.Uri.parse(uriString);
      receivePort.close();
      return new developer.ServiceProtocolInfo.new(uri);
    });
  }
  static controlWebServer(opts) {
    let enable = opts && 'enable' in opts ? opts.enable : false;
    if (enable == null) dart.nullFailed(I[104], 83, 13, "enable");
    let silenceOutput = opts && 'silenceOutput' in opts ? opts.silenceOutput : null;
    return async.async(developer.ServiceProtocolInfo, function* controlWebServer() {
      core.ArgumentError.checkNotNull(core.bool, enable, "enable");
      let receivePort = isolate$.RawReceivePort.new(null, "Service.controlWebServer");
      let completer = T$0.CompleterOfStringN().new();
      receivePort.handler = dart.fn(uriString => completer.complete(uriString), T$0.StringNTovoid());
      developer._webServerControl(receivePort.sendPort, enable, silenceOutput);
      let uriString = (yield completer.future);
      let uri = uriString == null ? null : core.Uri.parse(uriString);
      receivePort.close();
      return new developer.ServiceProtocolInfo.new(uri);
    });
  }
  static getIsolateID(isolate) {
    if (isolate == null) dart.nullFailed(I[104], 105, 39, "isolate");
    core.ArgumentError.checkNotNull(isolate$.Isolate, isolate, "isolate");
    return developer._getIsolateIDFromSendPort(isolate.controlPort);
  }
};
(developer.Service.new = function() {
  ;
}).prototype = developer.Service.prototype;
dart.addTypeTests(developer.Service);
dart.addTypeCaches(developer.Service);
dart.setLibraryUri(developer.Service, I[101]);
var id$0 = dart.privateName(developer, "Flow.id");
var _type$0 = dart.privateName(developer, "_type");
developer.Flow = class Flow extends core.Object {
  get id() {
    return this[id$0];
  }
  set id(value) {
    super.id = value;
  }
  static begin(opts) {
    let t183;
    let id = opts && 'id' in opts ? opts.id : null;
    return new developer.Flow.__(9, (t183 = id, t183 == null ? developer._getNextAsyncId() : t183));
  }
  static step(id) {
    if (id == null) dart.nullFailed(I[105], 68, 24, "id");
    return new developer.Flow.__(10, id);
  }
  static end(id) {
    if (id == null) dart.nullFailed(I[105], 75, 23, "id");
    return new developer.Flow.__(11, id);
  }
};
(developer.Flow.__ = function(_type, id) {
  if (_type == null) dart.nullFailed(I[105], 52, 15, "_type");
  if (id == null) dart.nullFailed(I[105], 52, 27, "id");
  this[_type$0] = _type;
  this[id$0] = id;
  ;
}).prototype = developer.Flow.prototype;
dart.addTypeTests(developer.Flow);
dart.addTypeCaches(developer.Flow);
dart.setLibraryUri(developer.Flow, I[101]);
dart.setFieldSignature(developer.Flow, () => ({
  __proto__: dart.getFields(developer.Flow.__proto__),
  [_type$0]: dart.finalFieldType(core.int),
  id: dart.finalFieldType(core.int)
}));
dart.defineLazy(developer.Flow, {
  /*developer.Flow._begin*/get _begin() {
    return 9;
  },
  /*developer.Flow._step*/get _step() {
    return 10;
  },
  /*developer.Flow._end*/get _end() {
    return 11;
  }
}, false);
var _arguments$1 = dart.privateName(developer, "_arguments");
var _startSync = dart.privateName(developer, "_startSync");
developer.Timeline = class Timeline extends core.Object {
  static startSync(name, opts) {
    if (name == null) dart.nullFailed(I[105], 103, 32, "name");
    let $arguments = opts && 'arguments' in opts ? opts.arguments : null;
    let flow = opts && 'flow' in opts ? opts.flow : null;
    if (!true) return;
    core.ArgumentError.checkNotNull(core.String, name, "name");
    if (!dart.test(developer._isDartStreamEnabled())) {
      developer.Timeline._stack[$add](null);
      return;
    }
    let block = new developer._SyncBlock.__(name);
    if ($arguments != null) {
      block[_arguments$1] = $arguments;
    }
    if (flow != null) {
      block.flow = flow;
    }
    developer.Timeline._stack[$add](block);
    block[_startSync]();
  }
  static finishSync() {
    if (!true) {
      return;
    }
    if (developer.Timeline._stack[$length] === 0) {
      dart.throw(new core.StateError.new("Uneven calls to startSync and finishSync"));
    }
    let block = developer.Timeline._stack[$removeLast]();
    if (block == null) {
      return;
    }
    block.finish();
  }
  static instantSync(name, opts) {
    if (name == null) dart.nullFailed(I[105], 142, 34, "name");
    let $arguments = opts && 'arguments' in opts ? opts.arguments : null;
    if (!true) return;
    core.ArgumentError.checkNotNull(core.String, name, "name");
    if (!dart.test(developer._isDartStreamEnabled())) {
      return;
    }
    let instantArguments = null;
    if ($arguments != null) {
      instantArguments = collection.LinkedHashMap.from($arguments);
    }
    developer._reportInstantEvent("Dart", name, developer._argumentsAsJson(instantArguments));
  }
  static timeSync(T, name, $function, opts) {
    if (name == null) dart.nullFailed(I[105], 159, 31, "name");
    if ($function == null) dart.nullFailed(I[105], 159, 61, "function");
    let $arguments = opts && 'arguments' in opts ? opts.arguments : null;
    let flow = opts && 'flow' in opts ? opts.flow : null;
    developer.Timeline.startSync(name, {arguments: $arguments, flow: flow});
    try {
      return $function();
    } finally {
      developer.Timeline.finishSync();
    }
  }
  static get now() {
    return developer._getTraceClock();
  }
};
(developer.Timeline.new = function() {
  ;
}).prototype = developer.Timeline.prototype;
dart.addTypeTests(developer.Timeline);
dart.addTypeCaches(developer.Timeline);
dart.setLibraryUri(developer.Timeline, I[101]);
dart.defineLazy(developer.Timeline, {
  /*developer.Timeline._stack*/get _stack() {
    return T$0.JSArrayOf_SyncBlockN().of([]);
  }
}, false);
var _stack = dart.privateName(developer, "_stack");
var _parent = dart.privateName(developer, "_parent");
var _filterKey = dart.privateName(developer, "_filterKey");
var _taskId$ = dart.privateName(developer, "_taskId");
var _start = dart.privateName(developer, "_start");
var _finish = dart.privateName(developer, "_finish");
developer.TimelineTask = class TimelineTask extends core.Object {
  start(name, opts) {
    if (name == null) dart.nullFailed(I[105], 218, 21, "name");
    let $arguments = opts && 'arguments' in opts ? opts.arguments : null;
    if (!true) return;
    core.ArgumentError.checkNotNull(core.String, name, "name");
    let block = new developer._AsyncBlock.__(name, this[_taskId$]);
    this[_stack][$add](block);
    let map = new (T$0.LinkedMapOfObjectN$ObjectN()).new();
    if ($arguments != null) {
      for (let key of $arguments[$keys]) {
        map[$_set](key, $arguments[$_get](key));
      }
    }
    if (this[_parent] != null) map[$_set]("parentId", dart.nullCheck(this[_parent])[_taskId$][$toRadixString](16));
    if (this[_filterKey] != null) map[$_set]("filterKey", this[_filterKey]);
    block[_start](map);
  }
  instant(name, opts) {
    if (name == null) dart.nullFailed(I[105], 241, 23, "name");
    let $arguments = opts && 'arguments' in opts ? opts.arguments : null;
    if (!true) return;
    core.ArgumentError.checkNotNull(core.String, name, "name");
    let instantArguments = null;
    if ($arguments != null) {
      instantArguments = collection.LinkedHashMap.from($arguments);
    }
    if (this[_filterKey] != null) {
      instantArguments == null ? instantArguments = new _js_helper.LinkedMap.new() : null;
      instantArguments[$_set]("filterKey", this[_filterKey]);
    }
    developer._reportTaskEvent(this[_taskId$], "n", "Dart", name, developer._argumentsAsJson(instantArguments));
  }
  finish(opts) {
    let $arguments = opts && 'arguments' in opts ? opts.arguments : null;
    if (!true) {
      return;
    }
    if (this[_stack][$length] === 0) {
      dart.throw(new core.StateError.new("Uneven calls to start and finish"));
    }
    if (this[_filterKey] != null) {
      $arguments == null ? $arguments = new _js_helper.LinkedMap.new() : null;
      $arguments[$_set]("filterKey", this[_filterKey]);
    }
    let block = this[_stack][$removeLast]();
    block[_finish]($arguments);
  }
  pass() {
    if (dart.notNull(this[_stack][$length]) > 0) {
      dart.throw(new core.StateError.new("You cannot pass a TimelineTask without finishing all started " + "operations"));
    }
    let r = this[_taskId$];
    return r;
  }
};
(developer.TimelineTask.new = function(opts) {
  let parent = opts && 'parent' in opts ? opts.parent : null;
  let filterKey = opts && 'filterKey' in opts ? opts.filterKey : null;
  this[_stack] = T$0.JSArrayOf_AsyncBlock().of([]);
  this[_parent] = parent;
  this[_filterKey] = filterKey;
  this[_taskId$] = developer._getNextAsyncId();
}).prototype = developer.TimelineTask.prototype;
(developer.TimelineTask.withTaskId = function(taskId, opts) {
  if (taskId == null) dart.nullFailed(I[105], 208, 31, "taskId");
  let filterKey = opts && 'filterKey' in opts ? opts.filterKey : null;
  this[_stack] = T$0.JSArrayOf_AsyncBlock().of([]);
  this[_parent] = null;
  this[_filterKey] = filterKey;
  this[_taskId$] = taskId;
  core.ArgumentError.checkNotNull(core.int, taskId, "taskId");
}).prototype = developer.TimelineTask.prototype;
dart.addTypeTests(developer.TimelineTask);
dart.addTypeCaches(developer.TimelineTask);
dart.setMethodSignature(developer.TimelineTask, () => ({
  __proto__: dart.getMethods(developer.TimelineTask.__proto__),
  start: dart.fnType(dart.void, [core.String], {arguments: dart.nullable(core.Map)}, {}),
  instant: dart.fnType(dart.void, [core.String], {arguments: dart.nullable(core.Map)}, {}),
  finish: dart.fnType(dart.void, [], {arguments: dart.nullable(core.Map)}, {}),
  pass: dart.fnType(core.int, [])
}));
dart.setLibraryUri(developer.TimelineTask, I[101]);
dart.setFieldSignature(developer.TimelineTask, () => ({
  __proto__: dart.getFields(developer.TimelineTask.__proto__),
  [_parent]: dart.finalFieldType(dart.nullable(developer.TimelineTask)),
  [_filterKey]: dart.finalFieldType(dart.nullable(core.String)),
  [_taskId$]: dart.finalFieldType(core.int),
  [_stack]: dart.finalFieldType(core.List$(developer._AsyncBlock))
}));
dart.defineLazy(developer.TimelineTask, {
  /*developer.TimelineTask._kFilterKey*/get _kFilterKey() {
    return "filterKey";
  }
}, false);
developer._AsyncBlock = class _AsyncBlock extends core.Object {
  [_start]($arguments) {
    if ($arguments == null) dart.nullFailed(I[105], 309, 19, "arguments");
    developer._reportTaskEvent(this[_taskId$], "b", this.category, this.name, developer._argumentsAsJson($arguments));
  }
  [_finish]($arguments) {
    developer._reportTaskEvent(this[_taskId$], "e", this.category, this.name, developer._argumentsAsJson($arguments));
  }
};
(developer._AsyncBlock.__ = function(name, _taskId) {
  if (name == null) dart.nullFailed(I[105], 306, 22, "name");
  if (_taskId == null) dart.nullFailed(I[105], 306, 33, "_taskId");
  this.category = "Dart";
  this.name = name;
  this[_taskId$] = _taskId;
  ;
}).prototype = developer._AsyncBlock.prototype;
dart.addTypeTests(developer._AsyncBlock);
dart.addTypeCaches(developer._AsyncBlock);
dart.setMethodSignature(developer._AsyncBlock, () => ({
  __proto__: dart.getMethods(developer._AsyncBlock.__proto__),
  [_start]: dart.fnType(dart.void, [core.Map]),
  [_finish]: dart.fnType(dart.void, [dart.nullable(core.Map)])
}));
dart.setLibraryUri(developer._AsyncBlock, I[101]);
dart.setFieldSignature(developer._AsyncBlock, () => ({
  __proto__: dart.getFields(developer._AsyncBlock.__proto__),
  category: dart.finalFieldType(core.String),
  name: dart.finalFieldType(core.String),
  [_taskId$]: dart.finalFieldType(core.int)
}));
var _flow = dart.privateName(developer, "_flow");
developer._SyncBlock = class _SyncBlock extends core.Object {
  [_startSync]() {
    developer._reportTaskEvent(0, "B", this.category, this.name, developer._argumentsAsJson(this[_arguments$1]));
  }
  finish() {
    developer._reportTaskEvent(0, "E", this.category, this.name, developer._argumentsAsJson(this[_arguments$1]));
    if (this[_flow] != null) {
      developer._reportFlowEvent(this.category, dart.str(dart.nullCheck(this[_flow]).id), dart.nullCheck(this[_flow])[_type$0], dart.nullCheck(this[_flow]).id, developer._argumentsAsJson(null));
    }
  }
  set flow(f) {
    if (f == null) dart.nullFailed(I[105], 353, 22, "f");
    this[_flow] = f;
  }
};
(developer._SyncBlock.__ = function(name) {
  if (name == null) dart.nullFailed(I[105], 335, 21, "name");
  this.category = "Dart";
  this[_arguments$1] = null;
  this[_flow] = null;
  this.name = name;
  ;
}).prototype = developer._SyncBlock.prototype;
dart.addTypeTests(developer._SyncBlock);
dart.addTypeCaches(developer._SyncBlock);
dart.setMethodSignature(developer._SyncBlock, () => ({
  __proto__: dart.getMethods(developer._SyncBlock.__proto__),
  [_startSync]: dart.fnType(dart.void, []),
  finish: dart.fnType(dart.void, [])
}));
dart.setSetterSignature(developer._SyncBlock, () => ({
  __proto__: dart.getSetters(developer._SyncBlock.__proto__),
  flow: developer.Flow
}));
dart.setLibraryUri(developer._SyncBlock, I[101]);
dart.setFieldSignature(developer._SyncBlock, () => ({
  __proto__: dart.getFields(developer._SyncBlock.__proto__),
  category: dart.finalFieldType(core.String),
  name: dart.finalFieldType(core.String),
  [_arguments$1]: dart.fieldType(dart.nullable(core.Map)),
  [_flow]: dart.fieldType(dart.nullable(developer.Flow))
}));
developer.invokeExtension = function _invokeExtension(methodName, encodedJson) {
  if (methodName == null) dart.nullFailed(I[100], 104, 25, "methodName");
  if (encodedJson == null) dart.nullFailed(I[100], 104, 44, "encodedJson");
  return new dart.global.Promise((resolve, reject) => {
    if (resolve == null) dart.nullFailed(I[100], 107, 25, "resolve");
    if (reject == null) dart.nullFailed(I[100], 107, 51, "reject");
    return async.async(core.Null, function*() {
      try {
        let method = dart.nullCheck(developer._lookupExtension(methodName));
        let parameters = core.Map.as(convert.json.decode(encodedJson))[$cast](core.String, core.String);
        let result = (yield method(methodName, parameters));
        resolve(result[_toString$]());
      } catch (e$) {
        let e = dart.getThrown(e$);
        if (core.Object.is(e)) {
          reject(dart.str(e));
        } else
          throw e$;
      }
    });
  });
};
developer.debugger = function $debugger(opts) {
  let when = opts && 'when' in opts ? opts.when : true;
  if (when == null) dart.nullFailed(I[100], 26, 21, "when");
  let message = opts && 'message' in opts ? opts.message : null;
  if (dart.test(when)) {
    debugger;
  }
  return when;
};
developer.inspect = function inspect(object) {
  console.debug("dart.developer.inspect", object);
  return object;
};
developer.log = function log(message, opts) {
  if (message == null) dart.nullFailed(I[100], 42, 17, "message");
  let time = opts && 'time' in opts ? opts.time : null;
  let sequenceNumber = opts && 'sequenceNumber' in opts ? opts.sequenceNumber : null;
  let level = opts && 'level' in opts ? opts.level : 0;
  if (level == null) dart.nullFailed(I[100], 45, 9, "level");
  let name = opts && 'name' in opts ? opts.name : "";
  if (name == null) dart.nullFailed(I[100], 46, 12, "name");
  let zone = opts && 'zone' in opts ? opts.zone : null;
  let error = opts && 'error' in opts ? opts.error : null;
  let stackTrace = opts && 'stackTrace' in opts ? opts.stackTrace : null;
  let items = {message: message, name: name, level: level};
  if (time != null) items.time = time;
  if (sequenceNumber != null) {
    items.sequenceNumber = sequenceNumber;
  }
  if (zone != null) items.zone = zone;
  if (error != null) items.error = error;
  if (stackTrace != null) items.stackTrace = stackTrace;
  console.debug("dart.developer.log", items);
};
developer.registerExtension = function registerExtension$(method, handler) {
  if (method == null) dart.nullFailed(I[102], 130, 31, "method");
  if (handler == null) dart.nullFailed(I[102], 130, 63, "handler");
  core.ArgumentError.checkNotNull(core.String, method, "method");
  if (!method[$startsWith]("ext.")) {
    dart.throw(new core.ArgumentError.value(method, "method", "Must begin with ext."));
  }
  if (developer._lookupExtension(method) != null) {
    dart.throw(new core.ArgumentError.new("Extension already registered: " + dart.str(method)));
  }
  core.ArgumentError.checkNotNull(T$0.StringAndMapOfString$StringToFutureOfServiceExtensionResponse(), handler, "handler");
  developer._registerExtension(method, handler);
};
developer.postEvent = function postEvent(eventKind, eventData) {
  if (eventKind == null) dart.nullFailed(I[102], 146, 23, "eventKind");
  if (eventData == null) dart.nullFailed(I[102], 146, 38, "eventData");
  core.ArgumentError.checkNotNull(core.String, eventKind, "eventKind");
  core.ArgumentError.checkNotNull(core.Map, eventData, "eventData");
  let eventDataAsString = convert.json.encode(eventData);
  developer._postEvent(eventKind, eventDataAsString);
};
developer._postEvent = function _postEvent(eventKind, eventData) {
  if (eventKind == null) dart.nullFailed(I[100], 121, 24, "eventKind");
  if (eventData == null) dart.nullFailed(I[100], 121, 42, "eventData");
  if (!dart.test(developer._debuggerAttached)) {
    if (!dart.test(developer._issuedPostEventWarning)) {
      let message = "postEvent() " + dart.str(developer._developerSupportWarning);
      console.warn(message);
      developer._issuedPostEventWarning = true;
    }
    return;
  }
  if (!!dart.global.$emitDebugEvent) {
    dart.global.$emitDebugEvent(eventKind, eventData);
    return;
  }
  console.debug("dart.developer.postEvent", eventKind, eventData);
};
developer._lookupExtension = function _lookupExtension(method) {
  if (method == null) dart.nullFailed(I[100], 66, 50, "method");
  return developer._extensions[$_get](method);
};
developer._registerExtension = function _registerExtension(method, handler) {
  if (method == null) dart.nullFailed(I[100], 71, 27, "method");
  if (handler == null) dart.nullFailed(I[100], 71, 59, "handler");
  if (!dart.test(developer._debuggerAttached)) {
    if (!dart.test(developer._issuedRegisterExtensionWarning)) {
      let message = "registerExtension() " + dart.str(developer._developerSupportWarning);
      console.warn(message);
      developer._issuedRegisterExtensionWarning = true;
    }
    return;
  }
  if (!!dart.global.$emitRegisterEvent) {
    developer._extensions[$_set](method, handler);
    dart.global.$emitRegisterEvent(method);
    return;
  }
  console.debug("dart.developer.registerExtension", method);
};
developer.getCurrentTag = function getCurrentTag() {
  return developer._currentTag;
};
developer._getServerInfo = function _getServerInfo(sendPort) {
  if (sendPort == null) dart.nullFailed(I[100], 189, 30, "sendPort");
  sendPort.send(null);
};
developer._webServerControl = function _webServerControl(sendPort, enable, silenceOutput) {
  if (sendPort == null) dart.nullFailed(I[100], 194, 33, "sendPort");
  if (enable == null) dart.nullFailed(I[100], 194, 48, "enable");
  sendPort.send(null);
};
developer._getServiceMajorVersion = function _getServiceMajorVersion() {
  return 0;
};
developer._getServiceMinorVersion = function _getServiceMinorVersion() {
  return 0;
};
developer._getIsolateIDFromSendPort = function _getIsolateIDFromSendPort(sendPort) {
  if (sendPort == null) dart.nullFailed(I[100], 199, 44, "sendPort");
  return null;
};
developer._argumentsAsJson = function _argumentsAsJson($arguments) {
  if ($arguments == null || $arguments[$length] === 0) {
    return "{}";
  }
  return convert.json.encode($arguments);
};
developer._isDartStreamEnabled = function _isDartStreamEnabled() {
  return false;
};
developer._getNextAsyncId = function _getNextAsyncId() {
  return 0;
};
developer._getTraceClock = function _getTraceClock() {
  let t184;
  t184 = developer._clockValue;
  developer._clockValue = dart.notNull(t184) + 1;
  return t184;
};
developer._reportTaskEvent = function _reportTaskEvent(taskId, phase, category, name, argumentsAsJson) {
  if (taskId == null) dart.nullFailed(I[100], 173, 27, "taskId");
  if (phase == null) dart.nullFailed(I[100], 173, 42, "phase");
  if (category == null) dart.nullFailed(I[100], 173, 56, "category");
  if (name == null) dart.nullFailed(I[100], 173, 73, "name");
  if (argumentsAsJson == null) dart.nullFailed(I[100], 174, 12, "argumentsAsJson");
};
developer._reportFlowEvent = function _reportFlowEvent(category, name, type, id, argumentsAsJson) {
  if (category == null) dart.nullFailed(I[100], 158, 12, "category");
  if (name == null) dart.nullFailed(I[100], 158, 29, "name");
  if (type == null) dart.nullFailed(I[100], 158, 39, "type");
  if (id == null) dart.nullFailed(I[100], 158, 49, "id");
  if (argumentsAsJson == null) dart.nullFailed(I[100], 158, 60, "argumentsAsJson");
};
developer._reportInstantEvent = function _reportInstantEvent(category, name, argumentsAsJson) {
  if (category == null) dart.nullFailed(I[100], 163, 33, "category");
  if (name == null) dart.nullFailed(I[100], 163, 50, "name");
  if (argumentsAsJson == null) dart.nullFailed(I[100], 163, 63, "argumentsAsJson");
};
dart.copyProperties(developer, {
  get _debuggerAttached() {
    return !!dart.global.$dwdsVersion;
  }
});
dart.defineLazy(developer, {
  /*developer._issuedPostEventWarning*/get _issuedPostEventWarning() {
    return false;
  },
  set _issuedPostEventWarning(_) {},
  /*developer._issuedRegisterExtensionWarning*/get _issuedRegisterExtensionWarning() {
    return false;
  },
  set _issuedRegisterExtensionWarning(_) {},
  /*developer._developerSupportWarning*/get _developerSupportWarning() {
    return "from dart:developer is only supported in " + "build/run/test environments where the developer event method hooks have " + "been set.";
  },
  /*developer._extensions*/get _extensions() {
    return new (T$0.IdentityMapOfString$StringAndMapOfString$StringToFutureOfServiceExtensionResponse()).new();
  },
  /*developer._clockValue*/get _clockValue() {
    return 0;
  },
  set _clockValue(_) {},
  /*developer._currentTag*/get _currentTag() {
    return developer._FakeUserTag._defaultTag;
  },
  set _currentTag(_) {},
  /*developer._hasTimeline*/get _hasTimeline() {
    return true;
  }
}, false);
io.IOException = class IOException extends core.Object {
  toString() {
    return "IOException";
  }
};
(io.IOException.new = function() {
  ;
}).prototype = io.IOException.prototype;
dart.addTypeTests(io.IOException);
dart.addTypeCaches(io.IOException);
io.IOException[dart.implements] = () => [core.Exception];
dart.setLibraryUri(io.IOException, I[106]);
dart.defineExtensionMethods(io.IOException, ['toString']);
var message$2 = dart.privateName(io, "OSError.message");
var errorCode$0 = dart.privateName(io, "OSError.errorCode");
io.OSError = class OSError extends core.Object {
  get message() {
    return this[message$2];
  }
  set message(value) {
    super.message = value;
  }
  get errorCode() {
    return this[errorCode$0];
  }
  set errorCode(value) {
    super.errorCode = value;
  }
  toString() {
    let t184, t184$, t184$0;
    let sb = new core.StringBuffer.new();
    sb.write("OS Error");
    if (this.message[$isNotEmpty]) {
      t184 = sb;
      (() => {
        t184.write(": ");
        t184.write(this.message);
        return t184;
      })();
      if (this.errorCode !== -1) {
        t184$ = sb;
        (() => {
          t184$.write(", errno = ");
          t184$.write(dart.toString(this.errorCode));
          return t184$;
        })();
      }
    } else if (this.errorCode !== -1) {
      t184$0 = sb;
      (() => {
        t184$0.write(": errno = ");
        t184$0.write(dart.toString(this.errorCode));
        return t184$0;
      })();
    }
    return sb.toString();
  }
};
(io.OSError.new = function(message = "", errorCode = -1) {
  if (message == null) dart.nullFailed(I[107], 63, 23, "message");
  if (errorCode == null) dart.nullFailed(I[107], 63, 42, "errorCode");
  this[message$2] = message;
  this[errorCode$0] = errorCode;
  ;
}).prototype = io.OSError.prototype;
dart.addTypeTests(io.OSError);
dart.addTypeCaches(io.OSError);
io.OSError[dart.implements] = () => [core.Exception];
dart.setLibraryUri(io.OSError, I[106]);
dart.setFieldSignature(io.OSError, () => ({
  __proto__: dart.getFields(io.OSError.__proto__),
  message: dart.finalFieldType(core.String),
  errorCode: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(io.OSError, ['toString']);
dart.defineLazy(io.OSError, {
  /*io.OSError.noErrorCode*/get noErrorCode() {
    return -1;
  }
}, false);
io._BufferAndStart = class _BufferAndStart extends core.Object {};
(io._BufferAndStart.new = function(buffer, start) {
  if (buffer == null) dart.nullFailed(I[107], 85, 24, "buffer");
  if (start == null) dart.nullFailed(I[107], 85, 37, "start");
  this.buffer = buffer;
  this.start = start;
  ;
}).prototype = io._BufferAndStart.prototype;
dart.addTypeTests(io._BufferAndStart);
dart.addTypeCaches(io._BufferAndStart);
dart.setLibraryUri(io._BufferAndStart, I[106]);
dart.setFieldSignature(io._BufferAndStart, () => ({
  __proto__: dart.getFields(io._BufferAndStart.__proto__),
  buffer: dart.fieldType(core.List$(core.int)),
  start: dart.fieldType(core.int)
}));
io._IOCrypto = class _IOCrypto extends core.Object {
  static getRandomBytes(count) {
    if (count == null) dart.nullFailed(I[108], 225, 39, "count");
    dart.throw(new core.UnsupportedError.new("_IOCrypto.getRandomBytes"));
  }
};
(io._IOCrypto.new = function() {
  ;
}).prototype = io._IOCrypto.prototype;
dart.addTypeTests(io._IOCrypto);
dart.addTypeCaches(io._IOCrypto);
dart.setLibraryUri(io._IOCrypto, I[106]);
io.ZLibOption = class ZLibOption extends core.Object {};
(io.ZLibOption.new = function() {
  ;
}).prototype = io.ZLibOption.prototype;
dart.addTypeTests(io.ZLibOption);
dart.addTypeCaches(io.ZLibOption);
dart.setLibraryUri(io.ZLibOption, I[106]);
dart.defineLazy(io.ZLibOption, {
  /*io.ZLibOption.minWindowBits*/get minWindowBits() {
    return 8;
  },
  /*io.ZLibOption.MIN_WINDOW_BITS*/get MIN_WINDOW_BITS() {
    return 8;
  },
  /*io.ZLibOption.maxWindowBits*/get maxWindowBits() {
    return 15;
  },
  /*io.ZLibOption.MAX_WINDOW_BITS*/get MAX_WINDOW_BITS() {
    return 15;
  },
  /*io.ZLibOption.defaultWindowBits*/get defaultWindowBits() {
    return 15;
  },
  /*io.ZLibOption.DEFAULT_WINDOW_BITS*/get DEFAULT_WINDOW_BITS() {
    return 15;
  },
  /*io.ZLibOption.minLevel*/get minLevel() {
    return -1;
  },
  /*io.ZLibOption.MIN_LEVEL*/get MIN_LEVEL() {
    return -1;
  },
  /*io.ZLibOption.maxLevel*/get maxLevel() {
    return 9;
  },
  /*io.ZLibOption.MAX_LEVEL*/get MAX_LEVEL() {
    return 9;
  },
  /*io.ZLibOption.defaultLevel*/get defaultLevel() {
    return 6;
  },
  /*io.ZLibOption.DEFAULT_LEVEL*/get DEFAULT_LEVEL() {
    return 6;
  },
  /*io.ZLibOption.minMemLevel*/get minMemLevel() {
    return 1;
  },
  /*io.ZLibOption.MIN_MEM_LEVEL*/get MIN_MEM_LEVEL() {
    return 1;
  },
  /*io.ZLibOption.maxMemLevel*/get maxMemLevel() {
    return 9;
  },
  /*io.ZLibOption.MAX_MEM_LEVEL*/get MAX_MEM_LEVEL() {
    return 9;
  },
  /*io.ZLibOption.defaultMemLevel*/get defaultMemLevel() {
    return 8;
  },
  /*io.ZLibOption.DEFAULT_MEM_LEVEL*/get DEFAULT_MEM_LEVEL() {
    return 8;
  },
  /*io.ZLibOption.strategyFiltered*/get strategyFiltered() {
    return 1;
  },
  /*io.ZLibOption.STRATEGY_FILTERED*/get STRATEGY_FILTERED() {
    return 1;
  },
  /*io.ZLibOption.strategyHuffmanOnly*/get strategyHuffmanOnly() {
    return 2;
  },
  /*io.ZLibOption.STRATEGY_HUFFMAN_ONLY*/get STRATEGY_HUFFMAN_ONLY() {
    return 2;
  },
  /*io.ZLibOption.strategyRle*/get strategyRle() {
    return 3;
  },
  /*io.ZLibOption.STRATEGY_RLE*/get STRATEGY_RLE() {
    return 3;
  },
  /*io.ZLibOption.strategyFixed*/get strategyFixed() {
    return 4;
  },
  /*io.ZLibOption.STRATEGY_FIXED*/get STRATEGY_FIXED() {
    return 4;
  },
  /*io.ZLibOption.strategyDefault*/get strategyDefault() {
    return 0;
  },
  /*io.ZLibOption.STRATEGY_DEFAULT*/get STRATEGY_DEFAULT() {
    return 0;
  }
}, false);
var gzip$ = dart.privateName(io, "ZLibCodec.gzip");
var level$ = dart.privateName(io, "ZLibCodec.level");
var memLevel$ = dart.privateName(io, "ZLibCodec.memLevel");
var strategy$ = dart.privateName(io, "ZLibCodec.strategy");
var windowBits$ = dart.privateName(io, "ZLibCodec.windowBits");
var raw$ = dart.privateName(io, "ZLibCodec.raw");
var dictionary$ = dart.privateName(io, "ZLibCodec.dictionary");
io.ZLibCodec = class ZLibCodec extends convert.Codec$(core.List$(core.int), core.List$(core.int)) {
  get gzip() {
    return this[gzip$];
  }
  set gzip(value) {
    super.gzip = value;
  }
  get level() {
    return this[level$];
  }
  set level(value) {
    super.level = value;
  }
  get memLevel() {
    return this[memLevel$];
  }
  set memLevel(value) {
    super.memLevel = value;
  }
  get strategy() {
    return this[strategy$];
  }
  set strategy(value) {
    super.strategy = value;
  }
  get windowBits() {
    return this[windowBits$];
  }
  set windowBits(value) {
    super.windowBits = value;
  }
  get raw() {
    return this[raw$];
  }
  set raw(value) {
    super.raw = value;
  }
  get dictionary() {
    return this[dictionary$];
  }
  set dictionary(value) {
    super.dictionary = value;
  }
  get encoder() {
    return new io.ZLibEncoder.new({gzip: false, level: this.level, windowBits: this.windowBits, memLevel: this.memLevel, strategy: this.strategy, dictionary: this.dictionary, raw: this.raw});
  }
  get decoder() {
    return new io.ZLibDecoder.new({windowBits: this.windowBits, dictionary: this.dictionary, raw: this.raw});
  }
};
(io.ZLibCodec.new = function(opts) {
  let level = opts && 'level' in opts ? opts.level : 6;
  if (level == null) dart.nullFailed(I[109], 140, 13, "level");
  let windowBits = opts && 'windowBits' in opts ? opts.windowBits : 15;
  if (windowBits == null) dart.nullFailed(I[109], 141, 12, "windowBits");
  let memLevel = opts && 'memLevel' in opts ? opts.memLevel : 8;
  if (memLevel == null) dart.nullFailed(I[109], 142, 12, "memLevel");
  let strategy = opts && 'strategy' in opts ? opts.strategy : 0;
  if (strategy == null) dart.nullFailed(I[109], 143, 12, "strategy");
  let dictionary = opts && 'dictionary' in opts ? opts.dictionary : null;
  let raw = opts && 'raw' in opts ? opts.raw : false;
  if (raw == null) dart.nullFailed(I[109], 145, 12, "raw");
  let gzip = opts && 'gzip' in opts ? opts.gzip : false;
  if (gzip == null) dart.nullFailed(I[109], 146, 12, "gzip");
  this[level$] = level;
  this[windowBits$] = windowBits;
  this[memLevel$] = memLevel;
  this[strategy$] = strategy;
  this[dictionary$] = dictionary;
  this[raw$] = raw;
  this[gzip$] = gzip;
  io.ZLibCodec.__proto__.new.call(this);
  io._validateZLibeLevel(this.level);
  io._validateZLibMemLevel(this.memLevel);
  io._validateZLibStrategy(this.strategy);
  io._validateZLibWindowBits(this.windowBits);
}).prototype = io.ZLibCodec.prototype;
(io.ZLibCodec._default = function() {
  this[level$] = 6;
  this[windowBits$] = 15;
  this[memLevel$] = 8;
  this[strategy$] = 0;
  this[raw$] = false;
  this[gzip$] = false;
  this[dictionary$] = null;
  io.ZLibCodec.__proto__.new.call(this);
  ;
}).prototype = io.ZLibCodec.prototype;
dart.addTypeTests(io.ZLibCodec);
dart.addTypeCaches(io.ZLibCodec);
dart.setGetterSignature(io.ZLibCodec, () => ({
  __proto__: dart.getGetters(io.ZLibCodec.__proto__),
  encoder: io.ZLibEncoder,
  decoder: io.ZLibDecoder
}));
dart.setLibraryUri(io.ZLibCodec, I[106]);
dart.setFieldSignature(io.ZLibCodec, () => ({
  __proto__: dart.getFields(io.ZLibCodec.__proto__),
  gzip: dart.finalFieldType(core.bool),
  level: dart.finalFieldType(core.int),
  memLevel: dart.finalFieldType(core.int),
  strategy: dart.finalFieldType(core.int),
  windowBits: dart.finalFieldType(core.int),
  raw: dart.finalFieldType(core.bool),
  dictionary: dart.finalFieldType(dart.nullable(core.List$(core.int)))
}));
var gzip$0 = dart.privateName(io, "GZipCodec.gzip");
var level$0 = dart.privateName(io, "GZipCodec.level");
var memLevel$0 = dart.privateName(io, "GZipCodec.memLevel");
var strategy$0 = dart.privateName(io, "GZipCodec.strategy");
var windowBits$0 = dart.privateName(io, "GZipCodec.windowBits");
var dictionary$0 = dart.privateName(io, "GZipCodec.dictionary");
var raw$0 = dart.privateName(io, "GZipCodec.raw");
io.GZipCodec = class GZipCodec extends convert.Codec$(core.List$(core.int), core.List$(core.int)) {
  get gzip() {
    return this[gzip$0];
  }
  set gzip(value) {
    super.gzip = value;
  }
  get level() {
    return this[level$0];
  }
  set level(value) {
    super.level = value;
  }
  get memLevel() {
    return this[memLevel$0];
  }
  set memLevel(value) {
    super.memLevel = value;
  }
  get strategy() {
    return this[strategy$0];
  }
  set strategy(value) {
    super.strategy = value;
  }
  get windowBits() {
    return this[windowBits$0];
  }
  set windowBits(value) {
    super.windowBits = value;
  }
  get dictionary() {
    return this[dictionary$0];
  }
  set dictionary(value) {
    super.dictionary = value;
  }
  get raw() {
    return this[raw$0];
  }
  set raw(value) {
    super.raw = value;
  }
  get encoder() {
    return new io.ZLibEncoder.new({gzip: true, level: this.level, windowBits: this.windowBits, memLevel: this.memLevel, strategy: this.strategy, dictionary: this.dictionary, raw: this.raw});
  }
  get decoder() {
    return new io.ZLibDecoder.new({windowBits: this.windowBits, dictionary: this.dictionary, raw: this.raw});
  }
};
(io.GZipCodec.new = function(opts) {
  let level = opts && 'level' in opts ? opts.level : 6;
  if (level == null) dart.nullFailed(I[109], 236, 13, "level");
  let windowBits = opts && 'windowBits' in opts ? opts.windowBits : 15;
  if (windowBits == null) dart.nullFailed(I[109], 237, 12, "windowBits");
  let memLevel = opts && 'memLevel' in opts ? opts.memLevel : 8;
  if (memLevel == null) dart.nullFailed(I[109], 238, 12, "memLevel");
  let strategy = opts && 'strategy' in opts ? opts.strategy : 0;
  if (strategy == null) dart.nullFailed(I[109], 239, 12, "strategy");
  let dictionary = opts && 'dictionary' in opts ? opts.dictionary : null;
  let raw = opts && 'raw' in opts ? opts.raw : false;
  if (raw == null) dart.nullFailed(I[109], 241, 12, "raw");
  let gzip = opts && 'gzip' in opts ? opts.gzip : true;
  if (gzip == null) dart.nullFailed(I[109], 242, 12, "gzip");
  this[level$0] = level;
  this[windowBits$0] = windowBits;
  this[memLevel$0] = memLevel;
  this[strategy$0] = strategy;
  this[dictionary$0] = dictionary;
  this[raw$0] = raw;
  this[gzip$0] = gzip;
  io.GZipCodec.__proto__.new.call(this);
  io._validateZLibeLevel(this.level);
  io._validateZLibMemLevel(this.memLevel);
  io._validateZLibStrategy(this.strategy);
  io._validateZLibWindowBits(this.windowBits);
}).prototype = io.GZipCodec.prototype;
(io.GZipCodec._default = function() {
  this[level$0] = 6;
  this[windowBits$0] = 15;
  this[memLevel$0] = 8;
  this[strategy$0] = 0;
  this[raw$0] = false;
  this[gzip$0] = true;
  this[dictionary$0] = null;
  io.GZipCodec.__proto__.new.call(this);
  ;
}).prototype = io.GZipCodec.prototype;
dart.addTypeTests(io.GZipCodec);
dart.addTypeCaches(io.GZipCodec);
dart.setGetterSignature(io.GZipCodec, () => ({
  __proto__: dart.getGetters(io.GZipCodec.__proto__),
  encoder: io.ZLibEncoder,
  decoder: io.ZLibDecoder
}));
dart.setLibraryUri(io.GZipCodec, I[106]);
dart.setFieldSignature(io.GZipCodec, () => ({
  __proto__: dart.getFields(io.GZipCodec.__proto__),
  gzip: dart.finalFieldType(core.bool),
  level: dart.finalFieldType(core.int),
  memLevel: dart.finalFieldType(core.int),
  strategy: dart.finalFieldType(core.int),
  windowBits: dart.finalFieldType(core.int),
  dictionary: dart.finalFieldType(dart.nullable(core.List$(core.int))),
  raw: dart.finalFieldType(core.bool)
}));
var gzip$1 = dart.privateName(io, "ZLibEncoder.gzip");
var level$1 = dart.privateName(io, "ZLibEncoder.level");
var memLevel$1 = dart.privateName(io, "ZLibEncoder.memLevel");
var strategy$1 = dart.privateName(io, "ZLibEncoder.strategy");
var windowBits$1 = dart.privateName(io, "ZLibEncoder.windowBits");
var dictionary$1 = dart.privateName(io, "ZLibEncoder.dictionary");
var raw$1 = dart.privateName(io, "ZLibEncoder.raw");
io.ZLibEncoder = class ZLibEncoder extends convert.Converter$(core.List$(core.int), core.List$(core.int)) {
  get gzip() {
    return this[gzip$1];
  }
  set gzip(value) {
    super.gzip = value;
  }
  get level() {
    return this[level$1];
  }
  set level(value) {
    super.level = value;
  }
  get memLevel() {
    return this[memLevel$1];
  }
  set memLevel(value) {
    super.memLevel = value;
  }
  get strategy() {
    return this[strategy$1];
  }
  set strategy(value) {
    super.strategy = value;
  }
  get windowBits() {
    return this[windowBits$1];
  }
  set windowBits(value) {
    super.windowBits = value;
  }
  get dictionary() {
    return this[dictionary$1];
  }
  set dictionary(value) {
    super.dictionary = value;
  }
  get raw() {
    return this[raw$1];
  }
  set raw(value) {
    super.raw = value;
  }
  convert(bytes) {
    let t184;
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[109], 339, 31, "bytes");
    let sink = new io._BufferSink.new();
    t184 = this.startChunkedConversion(sink);
    (() => {
      t184.add(bytes);
      t184.close();
      return t184;
    })();
    return sink.builder.takeBytes();
  }
  startChunkedConversion(sink) {
    T$0.SinkOfListOfint().as(sink);
    if (sink == null) dart.nullFailed(I[109], 353, 61, "sink");
    if (!convert.ByteConversionSink.is(sink)) {
      sink = new convert._ByteAdapterSink.new(sink);
    }
    return new io._ZLibEncoderSink.__(sink, this.gzip, this.level, this.windowBits, this.memLevel, this.strategy, this.dictionary, this.raw);
  }
};
(io.ZLibEncoder.new = function(opts) {
  let gzip = opts && 'gzip' in opts ? opts.gzip : false;
  if (gzip == null) dart.nullFailed(I[109], 324, 13, "gzip");
  let level = opts && 'level' in opts ? opts.level : 6;
  if (level == null) dart.nullFailed(I[109], 325, 12, "level");
  let windowBits = opts && 'windowBits' in opts ? opts.windowBits : 15;
  if (windowBits == null) dart.nullFailed(I[109], 326, 12, "windowBits");
  let memLevel = opts && 'memLevel' in opts ? opts.memLevel : 8;
  if (memLevel == null) dart.nullFailed(I[109], 327, 12, "memLevel");
  let strategy = opts && 'strategy' in opts ? opts.strategy : 0;
  if (strategy == null) dart.nullFailed(I[109], 328, 12, "strategy");
  let dictionary = opts && 'dictionary' in opts ? opts.dictionary : null;
  let raw = opts && 'raw' in opts ? opts.raw : false;
  if (raw == null) dart.nullFailed(I[109], 330, 12, "raw");
  this[gzip$1] = gzip;
  this[level$1] = level;
  this[windowBits$1] = windowBits;
  this[memLevel$1] = memLevel;
  this[strategy$1] = strategy;
  this[dictionary$1] = dictionary;
  this[raw$1] = raw;
  io.ZLibEncoder.__proto__.new.call(this);
  io._validateZLibeLevel(this.level);
  io._validateZLibMemLevel(this.memLevel);
  io._validateZLibStrategy(this.strategy);
  io._validateZLibWindowBits(this.windowBits);
}).prototype = io.ZLibEncoder.prototype;
dart.addTypeTests(io.ZLibEncoder);
dart.addTypeCaches(io.ZLibEncoder);
dart.setMethodSignature(io.ZLibEncoder, () => ({
  __proto__: dart.getMethods(io.ZLibEncoder.__proto__),
  convert: dart.fnType(core.List$(core.int), [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.ByteConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(io.ZLibEncoder, I[106]);
dart.setFieldSignature(io.ZLibEncoder, () => ({
  __proto__: dart.getFields(io.ZLibEncoder.__proto__),
  gzip: dart.finalFieldType(core.bool),
  level: dart.finalFieldType(core.int),
  memLevel: dart.finalFieldType(core.int),
  strategy: dart.finalFieldType(core.int),
  windowBits: dart.finalFieldType(core.int),
  dictionary: dart.finalFieldType(dart.nullable(core.List$(core.int))),
  raw: dart.finalFieldType(core.bool)
}));
var windowBits$2 = dart.privateName(io, "ZLibDecoder.windowBits");
var dictionary$2 = dart.privateName(io, "ZLibDecoder.dictionary");
var raw$2 = dart.privateName(io, "ZLibDecoder.raw");
io.ZLibDecoder = class ZLibDecoder extends convert.Converter$(core.List$(core.int), core.List$(core.int)) {
  get windowBits() {
    return this[windowBits$2];
  }
  set windowBits(value) {
    super.windowBits = value;
  }
  get dictionary() {
    return this[dictionary$2];
  }
  set dictionary(value) {
    super.dictionary = value;
  }
  get raw() {
    return this[raw$2];
  }
  set raw(value) {
    super.raw = value;
  }
  convert(bytes) {
    let t184;
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[109], 392, 31, "bytes");
    let sink = new io._BufferSink.new();
    t184 = this.startChunkedConversion(sink);
    (() => {
      t184.add(bytes);
      t184.close();
      return t184;
    })();
    return sink.builder.takeBytes();
  }
  startChunkedConversion(sink) {
    T$0.SinkOfListOfint().as(sink);
    if (sink == null) dart.nullFailed(I[109], 405, 61, "sink");
    if (!convert.ByteConversionSink.is(sink)) {
      sink = new convert._ByteAdapterSink.new(sink);
    }
    return new io._ZLibDecoderSink.__(sink, this.windowBits, this.dictionary, this.raw);
  }
};
(io.ZLibDecoder.new = function(opts) {
  let windowBits = opts && 'windowBits' in opts ? opts.windowBits : 15;
  if (windowBits == null) dart.nullFailed(I[109], 384, 13, "windowBits");
  let dictionary = opts && 'dictionary' in opts ? opts.dictionary : null;
  let raw = opts && 'raw' in opts ? opts.raw : false;
  if (raw == null) dart.nullFailed(I[109], 386, 12, "raw");
  this[windowBits$2] = windowBits;
  this[dictionary$2] = dictionary;
  this[raw$2] = raw;
  io.ZLibDecoder.__proto__.new.call(this);
  io._validateZLibWindowBits(this.windowBits);
}).prototype = io.ZLibDecoder.prototype;
dart.addTypeTests(io.ZLibDecoder);
dart.addTypeCaches(io.ZLibDecoder);
dart.setMethodSignature(io.ZLibDecoder, () => ({
  __proto__: dart.getMethods(io.ZLibDecoder.__proto__),
  convert: dart.fnType(core.List$(core.int), [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.ByteConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(io.ZLibDecoder, I[106]);
dart.setFieldSignature(io.ZLibDecoder, () => ({
  __proto__: dart.getFields(io.ZLibDecoder.__proto__),
  windowBits: dart.finalFieldType(core.int),
  dictionary: dart.finalFieldType(dart.nullable(core.List$(core.int))),
  raw: dart.finalFieldType(core.bool)
}));
io.RawZLibFilter = class RawZLibFilter extends core.Object {
  static deflateFilter(opts) {
    let gzip = opts && 'gzip' in opts ? opts.gzip : false;
    if (gzip == null) dart.nullFailed(I[109], 418, 10, "gzip");
    let level = opts && 'level' in opts ? opts.level : 6;
    if (level == null) dart.nullFailed(I[109], 419, 9, "level");
    let windowBits = opts && 'windowBits' in opts ? opts.windowBits : 15;
    if (windowBits == null) dart.nullFailed(I[109], 420, 9, "windowBits");
    let memLevel = opts && 'memLevel' in opts ? opts.memLevel : 8;
    if (memLevel == null) dart.nullFailed(I[109], 421, 9, "memLevel");
    let strategy = opts && 'strategy' in opts ? opts.strategy : 0;
    if (strategy == null) dart.nullFailed(I[109], 422, 9, "strategy");
    let dictionary = opts && 'dictionary' in opts ? opts.dictionary : null;
    let raw = opts && 'raw' in opts ? opts.raw : false;
    if (raw == null) dart.nullFailed(I[109], 424, 10, "raw");
    return io.RawZLibFilter._makeZLibDeflateFilter(gzip, level, windowBits, memLevel, strategy, dictionary, raw);
  }
  static inflateFilter(opts) {
    let windowBits = opts && 'windowBits' in opts ? opts.windowBits : 15;
    if (windowBits == null) dart.nullFailed(I[109], 433, 9, "windowBits");
    let dictionary = opts && 'dictionary' in opts ? opts.dictionary : null;
    let raw = opts && 'raw' in opts ? opts.raw : false;
    if (raw == null) dart.nullFailed(I[109], 435, 10, "raw");
    return io.RawZLibFilter._makeZLibInflateFilter(windowBits, dictionary, raw);
  }
  static _makeZLibDeflateFilter(gzip, level, windowBits, memLevel, strategy, dictionary, raw) {
    if (gzip == null) dart.nullFailed(I[108], 614, 12, "gzip");
    if (level == null) dart.nullFailed(I[108], 615, 11, "level");
    if (windowBits == null) dart.nullFailed(I[108], 616, 11, "windowBits");
    if (memLevel == null) dart.nullFailed(I[108], 617, 11, "memLevel");
    if (strategy == null) dart.nullFailed(I[108], 618, 11, "strategy");
    if (raw == null) dart.nullFailed(I[108], 620, 12, "raw");
    dart.throw(new core.UnsupportedError.new("_newZLibDeflateFilter"));
  }
  static _makeZLibInflateFilter(windowBits, dictionary, raw) {
    if (windowBits == null) dart.nullFailed(I[108], 626, 11, "windowBits");
    if (raw == null) dart.nullFailed(I[108], 626, 51, "raw");
    dart.throw(new core.UnsupportedError.new("_newZLibInflateFilter"));
  }
};
(io.RawZLibFilter[dart.mixinNew] = function() {
}).prototype = io.RawZLibFilter.prototype;
dart.addTypeTests(io.RawZLibFilter);
dart.addTypeCaches(io.RawZLibFilter);
dart.setLibraryUri(io.RawZLibFilter, I[106]);
io._BufferSink = class _BufferSink extends convert.ByteConversionSink {
  add(chunk) {
    T$0.ListOfint().as(chunk);
    if (chunk == null) dart.nullFailed(I[109], 472, 22, "chunk");
    this.builder.add(chunk);
  }
  addSlice(chunk, start, end, isLast) {
    if (chunk == null) dart.nullFailed(I[109], 476, 27, "chunk");
    if (start == null) dart.nullFailed(I[109], 476, 38, "start");
    if (end == null) dart.nullFailed(I[109], 476, 49, "end");
    if (isLast == null) dart.nullFailed(I[109], 476, 59, "isLast");
    if (typed_data.Uint8List.is(chunk)) {
      let list = chunk;
      this.builder.add(typed_data.Uint8List.view(list[$buffer], dart.notNull(list[$offsetInBytes]) + dart.notNull(start), dart.notNull(end) - dart.notNull(start)));
    } else {
      this.builder.add(chunk[$sublist](start, end));
    }
  }
  close() {
  }
};
(io._BufferSink.new = function() {
  this.builder = _internal.BytesBuilder.new({copy: false});
  io._BufferSink.__proto__.new.call(this);
  ;
}).prototype = io._BufferSink.prototype;
dart.addTypeTests(io._BufferSink);
dart.addTypeCaches(io._BufferSink);
dart.setMethodSignature(io._BufferSink, () => ({
  __proto__: dart.getMethods(io._BufferSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addSlice: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(io._BufferSink, I[106]);
dart.setFieldSignature(io._BufferSink, () => ({
  __proto__: dart.getFields(io._BufferSink.__proto__),
  builder: dart.finalFieldType(_internal.BytesBuilder)
}));
var _closed = dart.privateName(io, "_closed");
var _empty = dart.privateName(io, "_empty");
var _sink$1 = dart.privateName(io, "_sink");
var _filter$ = dart.privateName(io, "_filter");
io._FilterSink = class _FilterSink extends convert.ByteConversionSink {
  add(data) {
    T$0.ListOfint().as(data);
    if (data == null) dart.nullFailed(I[109], 520, 22, "data");
    this.addSlice(data, 0, data[$length], false);
  }
  addSlice(data, start, end, isLast) {
    if (data == null) dart.nullFailed(I[109], 524, 27, "data");
    if (start == null) dart.nullFailed(I[109], 524, 37, "start");
    if (end == null) dart.nullFailed(I[109], 524, 48, "end");
    if (isLast == null) dart.nullFailed(I[109], 524, 58, "isLast");
    core.ArgumentError.checkNotNull(core.int, end, "end");
    if (dart.test(this[_closed])) return;
    core.RangeError.checkValidRange(start, end, data[$length]);
    try {
      this[_empty] = false;
      let bufferAndStart = io._ensureFastAndSerializableByteData(data, start, end);
      this[_filter$].process(bufferAndStart.buffer, bufferAndStart.start, dart.notNull(end) - (dart.notNull(start) - dart.notNull(bufferAndStart.start)));
      let out = null;
      while (true) {
        let out = this[_filter$].processed({flush: false});
        if (out == null) break;
        this[_sink$1].add(out);
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        this[_closed] = true;
        dart.rethrow(e$);
      } else
        throw e$;
    }
    if (dart.test(isLast)) this.close();
  }
  close() {
    if (dart.test(this[_closed])) return;
    if (dart.test(this[_empty])) this[_filter$].process(C[89] || CT.C89, 0, 0);
    try {
      while (true) {
        let out = this[_filter$].processed({end: true});
        if (out == null) break;
        this[_sink$1].add(out);
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        this[_closed] = true;
        dart.throw(e);
      } else
        throw e$;
    }
    this[_closed] = true;
    this[_sink$1].close();
  }
};
(io._FilterSink.new = function(_sink, _filter) {
  if (_sink == null) dart.nullFailed(I[109], 518, 20, "_sink");
  if (_filter == null) dart.nullFailed(I[109], 518, 32, "_filter");
  this[_closed] = false;
  this[_empty] = true;
  this[_sink$1] = _sink;
  this[_filter$] = _filter;
  io._FilterSink.__proto__.new.call(this);
  ;
}).prototype = io._FilterSink.prototype;
dart.addTypeTests(io._FilterSink);
dart.addTypeCaches(io._FilterSink);
dart.setMethodSignature(io._FilterSink, () => ({
  __proto__: dart.getMethods(io._FilterSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addSlice: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(io._FilterSink, I[106]);
dart.setFieldSignature(io._FilterSink, () => ({
  __proto__: dart.getFields(io._FilterSink.__proto__),
  [_filter$]: dart.finalFieldType(io.RawZLibFilter),
  [_sink$1]: dart.finalFieldType(convert.ByteConversionSink),
  [_closed]: dart.fieldType(core.bool),
  [_empty]: dart.fieldType(core.bool)
}));
io._ZLibEncoderSink = class _ZLibEncoderSink extends io._FilterSink {};
(io._ZLibEncoderSink.__ = function(sink, gzip, level, windowBits, memLevel, strategy, dictionary, raw) {
  if (sink == null) dart.nullFailed(I[109], 491, 26, "sink");
  if (gzip == null) dart.nullFailed(I[109], 492, 12, "gzip");
  if (level == null) dart.nullFailed(I[109], 493, 11, "level");
  if (windowBits == null) dart.nullFailed(I[109], 494, 11, "windowBits");
  if (memLevel == null) dart.nullFailed(I[109], 495, 11, "memLevel");
  if (strategy == null) dart.nullFailed(I[109], 496, 11, "strategy");
  if (raw == null) dart.nullFailed(I[109], 498, 12, "raw");
  io._ZLibEncoderSink.__proto__.new.call(this, sink, io.RawZLibFilter._makeZLibDeflateFilter(gzip, level, windowBits, memLevel, strategy, dictionary, raw));
  ;
}).prototype = io._ZLibEncoderSink.prototype;
dart.addTypeTests(io._ZLibEncoderSink);
dart.addTypeCaches(io._ZLibEncoderSink);
dart.setLibraryUri(io._ZLibEncoderSink, I[106]);
io._ZLibDecoderSink = class _ZLibDecoderSink extends io._FilterSink {};
(io._ZLibDecoderSink.__ = function(sink, windowBits, dictionary, raw) {
  if (sink == null) dart.nullFailed(I[109], 507, 26, "sink");
  if (windowBits == null) dart.nullFailed(I[109], 507, 36, "windowBits");
  if (raw == null) dart.nullFailed(I[109], 507, 76, "raw");
  io._ZLibDecoderSink.__proto__.new.call(this, sink, io.RawZLibFilter._makeZLibInflateFilter(windowBits, dictionary, raw));
  ;
}).prototype = io._ZLibDecoderSink.prototype;
dart.addTypeTests(io._ZLibDecoderSink);
dart.addTypeCaches(io._ZLibDecoderSink);
dart.setLibraryUri(io._ZLibDecoderSink, I[106]);
io.Directory = class Directory extends core.Object {
  static new(path) {
    if (path == null) dart.nullFailed(I[110], 112, 28, "path");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return new io._Directory.new(path);
    }
    return overrides.createDirectory(path);
  }
  static fromRawPath(path) {
    if (path == null) dart.nullFailed(I[110], 121, 43, "path");
    return new io._Directory.fromRawPath(path);
  }
  static fromUri(uri) {
    if (uri == null) dart.nullFailed(I[110], 129, 33, "uri");
    return io.Directory.new(uri.toFilePath());
  }
  static get current() {
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io._Directory.current;
    }
    return overrides.getCurrentDirectory();
  }
  static set current(path) {
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      io._Directory.current = path;
      return;
    }
    overrides.setCurrentDirectory(core.String.as(path));
  }
  static get systemTemp() {
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io._Directory.systemTemp;
    }
    return overrides.getSystemTempDirectory();
  }
};
(io.Directory[dart.mixinNew] = function() {
}).prototype = io.Directory.prototype;
dart.addTypeTests(io.Directory);
dart.addTypeCaches(io.Directory);
io.Directory[dart.implements] = () => [io.FileSystemEntity];
dart.setLibraryUri(io.Directory, I[106]);
var _path$ = dart.privateName(io, "_Directory._path");
var _rawPath = dart.privateName(io, "_Directory._rawPath");
var _path$0 = dart.privateName(io, "_path");
var _rawPath$ = dart.privateName(io, "_rawPath");
var _isErrorResponse = dart.privateName(io, "_isErrorResponse");
var _exceptionOrErrorFromResponse = dart.privateName(io, "_exceptionOrErrorFromResponse");
var _absolutePath = dart.privateName(io, "_absolutePath");
var _delete = dart.privateName(io, "_delete");
var _deleteSync = dart.privateName(io, "_deleteSync");
io.FileSystemEntity = class FileSystemEntity extends core.Object {
  get uri() {
    return core._Uri.file(this.path);
  }
  resolveSymbolicLinks() {
    return io._File._dispatchWithNamespace(6, [null, this[_rawPath$]]).then(core.String, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot resolve symbolic links", this.path));
      }
      return T$0.FutureOrOfString().as(response);
    }, T$0.dynamicToFutureOrOfString()));
  }
  resolveSymbolicLinksSync() {
    let result = io.FileSystemEntity._resolveSymbolicLinks(io._Namespace._namespace, this[_rawPath$]);
    io.FileSystemEntity._throwIfError(core.Object.as(result), "Cannot resolve symbolic links", this.path);
    return core.String.as(result);
  }
  stat() {
    return io.FileStat.stat(this.path);
  }
  statSync() {
    return io.FileStat.statSync(this.path);
  }
  delete(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[112], 390, 41, "recursive");
    return this[_delete]({recursive: recursive});
  }
  deleteSync(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[112], 407, 25, "recursive");
    return this[_deleteSync]({recursive: recursive});
  }
  watch(opts) {
    let events = opts && 'events' in opts ? opts.events : 15;
    if (events == null) dart.nullFailed(I[112], 442, 12, "events");
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[112], 442, 47, "recursive");
    let trimmedPath = io.FileSystemEntity._trimTrailingPathSeparators(this.path);
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io._FileSystemWatcher._watch(trimmedPath, events, recursive);
    }
    return overrides.fsWatch(trimmedPath, events, recursive);
  }
  static _identical(path1, path2) {
    if (path1 == null) dart.nullFailed(I[112], 455, 41, "path1");
    if (path2 == null) dart.nullFailed(I[112], 455, 55, "path2");
    return io._File._dispatchWithNamespace(28, [null, path1, path2]).then(core.bool, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Error in FileSystemEntity.identical(" + dart.str(path1) + ", " + dart.str(path2) + ")", ""));
      }
      return T$.FutureOrOfbool().as(response);
    }, T$0.dynamicToFutureOrOfbool()));
  }
  static identical(path1, path2) {
    if (path1 == null) dart.nullFailed(I[112], 478, 40, "path1");
    if (path2 == null) dart.nullFailed(I[112], 478, 54, "path2");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.FileSystemEntity._identical(path1, path2);
    }
    return overrides.fseIdentical(path1, path2);
  }
  get isAbsolute() {
    return io.FileSystemEntity._isAbsolute(this.path);
  }
  static _isAbsolute(path) {
    if (path == null) dart.nullFailed(I[112], 509, 34, "path");
    if (dart.test(io.Platform.isWindows)) {
      return path[$startsWith](io.FileSystemEntity._absoluteWindowsPathPattern);
    } else {
      return path[$startsWith]("/");
    }
  }
  get [_absolutePath]() {
    if (dart.test(this.isAbsolute)) return this.path;
    if (dart.test(io.Platform.isWindows)) return io.FileSystemEntity._absoluteWindowsPath(this.path);
    let current = io.Directory.current.path;
    if (current[$endsWith]("/")) {
      return dart.str(current) + dart.str(this.path);
    } else {
      return dart.str(current) + dart.str(io.Platform.pathSeparator) + dart.str(this.path);
    }
  }
  static _windowsDriveLetter(path) {
    if (path == null) dart.nullFailed(I[112], 544, 41, "path");
    if (path[$isEmpty] || !path[$startsWith](":", 1)) return -1;
    let first = (path[$codeUnitAt](0) & ~32 >>> 0) >>> 0;
    if (first >= 65 && first <= 91) return first;
    return -1;
  }
  static _absoluteWindowsPath(path) {
    if (path == null) dart.nullFailed(I[112], 552, 45, "path");
    if (!dart.test(io.Platform.isWindows)) dart.assertFailed(null, I[112], 553, 12, "Platform.isWindows");
    if (!!dart.test(io.FileSystemEntity._isAbsolute(path))) dart.assertFailed(null, I[112], 554, 12, "!_isAbsolute(path)");
    let current = io.Directory.current.path;
    if (path[$startsWith]("\\")) {
      if (!!path[$startsWith]("\\", 1)) dart.assertFailed(null, I[112], 559, 14, "!path.startsWith(r'\\', 1)");
      let currentDrive = io.FileSystemEntity._windowsDriveLetter(current);
      if (dart.notNull(currentDrive) >= 0) {
        return current[$_get](0) + ":" + dart.str(path);
      }
      if (current[$startsWith]("\\\\")) {
        let serverEnd = current[$indexOf]("\\", 2);
        if (serverEnd >= 0) {
          let shareEnd = current[$indexOf]("\\", serverEnd + 1);
          if (shareEnd < 0) shareEnd = current.length;
          return current[$substring](0, shareEnd) + dart.str(path);
        }
      }
      return path;
    }
    let entityDrive = io.FileSystemEntity._windowsDriveLetter(path);
    if (dart.notNull(entityDrive) >= 0) {
      if (entityDrive != io.FileSystemEntity._windowsDriveLetter(current)) {
        return path[$_get](0) + ":\\" + dart.str(path);
      }
      path = path[$substring](2);
      if (!!path[$startsWith]("\\\\")) dart.assertFailed(null, I[112], 596, 14, "!path.startsWith(r'\\\\')");
    }
    if (current[$endsWith]("\\") || current[$endsWith]("/")) {
      return dart.str(current) + dart.str(path);
    }
    return dart.str(current) + "\\" + dart.str(path);
  }
  static _identicalSync(path1, path2) {
    if (path1 == null) dart.nullFailed(I[112], 604, 37, "path1");
    if (path2 == null) dart.nullFailed(I[112], 604, 51, "path2");
    let result = io.FileSystemEntity._identicalNative(io._Namespace._namespace, path1, path2);
    io.FileSystemEntity._throwIfError(core.Object.as(result), "Error in FileSystemEntity.identicalSync");
    return core.bool.as(result);
  }
  static identicalSync(path1, path2) {
    if (path1 == null) dart.nullFailed(I[112], 620, 36, "path1");
    if (path2 == null) dart.nullFailed(I[112], 620, 50, "path2");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.FileSystemEntity._identicalSync(path1, path2);
    }
    return overrides.fseIdenticalSync(path1, path2);
  }
  static get isWatchSupported() {
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io._FileSystemWatcher.isSupported;
    }
    return overrides.fsWatchIsSupported();
  }
  static _toUtf8Array(s) {
    if (s == null) dart.nullFailed(I[112], 641, 40, "s");
    return io.FileSystemEntity._toNullTerminatedUtf8Array(convert.utf8.encoder.convert(s));
  }
  static _toNullTerminatedUtf8Array(l) {
    if (l == null) dart.nullFailed(I[112], 644, 57, "l");
    if (dart.test(l[$isNotEmpty]) && l[$last] !== 0) {
      let tmp = _native_typed_data.NativeUint8List.new(dart.notNull(l[$length]) + 1);
      tmp[$setRange](0, l[$length], l);
      return tmp;
    } else {
      return l;
    }
  }
  static _toStringFromUtf8Array(l) {
    if (l == null) dart.nullFailed(I[112], 654, 50, "l");
    let nonNullTerminated = l;
    if (l[$last] === 0) {
      nonNullTerminated = typed_data.Uint8List.view(l[$buffer], l[$offsetInBytes], dart.notNull(l[$length]) - 1);
    }
    return convert.utf8.decode(nonNullTerminated, {allowMalformed: true});
  }
  static type(path, opts) {
    if (path == null) dart.nullFailed(I[112], 667, 51, "path");
    let followLinks = opts && 'followLinks' in opts ? opts.followLinks : true;
    if (followLinks == null) dart.nullFailed(I[112], 668, 13, "followLinks");
    return io.FileSystemEntity._getType(io.FileSystemEntity._toUtf8Array(path), followLinks);
  }
  static typeSync(path, opts) {
    if (path == null) dart.nullFailed(I[112], 679, 47, "path");
    let followLinks = opts && 'followLinks' in opts ? opts.followLinks : true;
    if (followLinks == null) dart.nullFailed(I[112], 679, 59, "followLinks");
    return io.FileSystemEntity._getTypeSync(io.FileSystemEntity._toUtf8Array(path), followLinks);
  }
  static isLink(path) {
    if (path == null) dart.nullFailed(I[112], 687, 37, "path");
    return io.FileSystemEntity._isLinkRaw(io.FileSystemEntity._toUtf8Array(path));
  }
  static _isLinkRaw(rawPath) {
    if (rawPath == null) dart.nullFailed(I[112], 689, 44, "rawPath");
    return io.FileSystemEntity._getType(rawPath, false).then(core.bool, dart.fn(type => {
      if (type == null) dart.nullFailed(I[112], 690, 14, "type");
      return dart.equals(type, io.FileSystemEntityType.link);
    }, T$0.FileSystemEntityTypeTobool()));
  }
  static isFile(path) {
    if (path == null) dart.nullFailed(I[112], 695, 37, "path");
    return io.FileSystemEntity._getType(io.FileSystemEntity._toUtf8Array(path), true).then(core.bool, dart.fn(type => {
      if (type == null) dart.nullFailed(I[112], 696, 14, "type");
      return dart.equals(type, io.FileSystemEntityType.file);
    }, T$0.FileSystemEntityTypeTobool()));
  }
  static isDirectory(path) {
    if (path == null) dart.nullFailed(I[112], 701, 42, "path");
    return io.FileSystemEntity._getType(io.FileSystemEntity._toUtf8Array(path), true).then(core.bool, dart.fn(type => {
      if (type == null) dart.nullFailed(I[112], 703, 18, "type");
      return dart.equals(type, io.FileSystemEntityType.directory);
    }, T$0.FileSystemEntityTypeTobool()));
  }
  static isLinkSync(path) {
    if (path == null) dart.nullFailed(I[112], 709, 33, "path");
    return io.FileSystemEntity._isLinkRawSync(io.FileSystemEntity._toUtf8Array(path));
  }
  static _isLinkRawSync(rawPath) {
    return dart.equals(io.FileSystemEntity._getTypeSync(typed_data.Uint8List.as(rawPath), false), io.FileSystemEntityType.link);
  }
  static isFileSync(path) {
    if (path == null) dart.nullFailed(I[112], 718, 33, "path");
    return dart.equals(io.FileSystemEntity._getTypeSync(io.FileSystemEntity._toUtf8Array(path), true), io.FileSystemEntityType.file);
  }
  static isDirectorySync(path) {
    if (path == null) dart.nullFailed(I[112], 725, 38, "path");
    return dart.equals(io.FileSystemEntity._getTypeSync(io.FileSystemEntity._toUtf8Array(path), true), io.FileSystemEntityType.directory);
  }
  static _getTypeNative(namespace, rawPath, followLinks) {
    if (namespace == null) dart.nullFailed(I[108], 93, 18, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 93, 39, "rawPath");
    if (followLinks == null) dart.nullFailed(I[108], 93, 53, "followLinks");
    dart.throw(new core.UnsupportedError.new("FileSystemEntity._getType"));
  }
  static _identicalNative(namespace, path1, path2) {
    if (namespace == null) dart.nullFailed(I[108], 98, 38, "namespace");
    if (path1 == null) dart.nullFailed(I[108], 98, 56, "path1");
    if (path2 == null) dart.nullFailed(I[108], 98, 70, "path2");
    dart.throw(new core.UnsupportedError.new("FileSystemEntity._identical"));
  }
  static _resolveSymbolicLinks(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 103, 43, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 103, 64, "rawPath");
    dart.throw(new core.UnsupportedError.new("FileSystemEntity._resolveSymbolicLinks"));
  }
  static parentOf(path) {
    if (path == null) dart.nullFailed(I[112], 749, 33, "path");
    let rootEnd = -1;
    if (dart.test(io.Platform.isWindows)) {
      if (path[$startsWith](io.FileSystemEntity._absoluteWindowsPathPattern)) {
        rootEnd = path[$indexOf](core.RegExp.new("[/\\\\]"), 2);
        if (rootEnd === -1) return path;
      } else if (path[$startsWith]("\\") || path[$startsWith]("/")) {
        rootEnd = 0;
      }
    } else if (path[$startsWith]("/")) {
      rootEnd = 0;
    }
    let pos = path[$lastIndexOf](io.FileSystemEntity._parentRegExp);
    if (pos > rootEnd) {
      return path[$substring](0, pos + 1);
    } else if (rootEnd > -1) {
      return path[$substring](0, rootEnd + 1);
    } else {
      return ".";
    }
  }
  get parent() {
    return io.Directory.new(io.FileSystemEntity.parentOf(this.path));
  }
  static _getTypeSyncHelper(rawPath, followLinks) {
    if (rawPath == null) dart.nullFailed(I[112], 778, 17, "rawPath");
    if (followLinks == null) dart.nullFailed(I[112], 778, 31, "followLinks");
    let result = io.FileSystemEntity._getTypeNative(io._Namespace._namespace, rawPath, followLinks);
    io.FileSystemEntity._throwIfError(core.Object.as(result), "Error getting type of FileSystemEntity");
    return io.FileSystemEntityType._lookup(core.int.as(result));
  }
  static _getTypeSync(rawPath, followLinks) {
    if (rawPath == null) dart.nullFailed(I[112], 785, 17, "rawPath");
    if (followLinks == null) dart.nullFailed(I[112], 785, 31, "followLinks");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.FileSystemEntity._getTypeSyncHelper(rawPath, followLinks);
    }
    return overrides.fseGetTypeSync(convert.utf8.decode(rawPath, {allowMalformed: true}), followLinks);
  }
  static _getTypeRequest(rawPath, followLinks) {
    if (rawPath == null) dart.nullFailed(I[112], 795, 17, "rawPath");
    if (followLinks == null) dart.nullFailed(I[112], 795, 31, "followLinks");
    return io._File._dispatchWithNamespace(27, [null, rawPath, followLinks]).then(io.FileSystemEntityType, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Error getting type", convert.utf8.decode(rawPath, {allowMalformed: true})));
      }
      return io.FileSystemEntityType._lookup(core.int.as(response));
    }, T$0.dynamicToFileSystemEntityType()));
  }
  static _getType(rawPath, followLinks) {
    if (rawPath == null) dart.nullFailed(I[112], 807, 17, "rawPath");
    if (followLinks == null) dart.nullFailed(I[112], 807, 31, "followLinks");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.FileSystemEntity._getTypeRequest(rawPath, followLinks);
    }
    return overrides.fseGetType(convert.utf8.decode(rawPath, {allowMalformed: true}), followLinks);
  }
  static _throwIfError(result, msg, path = null) {
    if (result == null) dart.nullFailed(I[112], 816, 31, "result");
    if (msg == null) dart.nullFailed(I[112], 816, 46, "msg");
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new(msg, path, result));
    } else if (core.ArgumentError.is(result)) {
      dart.throw(result);
    }
  }
  static _trimTrailingPathSeparators(path) {
    if (path == null) dart.nullFailed(I[112], 825, 52, "path");
    core.ArgumentError.checkNotNull(core.String, path, "path");
    if (dart.test(io.Platform.isWindows)) {
      while (path.length > 1 && (path[$endsWith](io.Platform.pathSeparator) || path[$endsWith]("/"))) {
        path = path[$substring](0, path.length - 1);
      }
    } else {
      while (path.length > 1 && path[$endsWith](io.Platform.pathSeparator)) {
        path = path[$substring](0, path.length - 1);
      }
    }
    return path;
  }
  static _ensureTrailingPathSeparators(path) {
    if (path == null) dart.nullFailed(I[112], 842, 54, "path");
    if (path[$isEmpty]) path = ".";
    if (dart.test(io.Platform.isWindows)) {
      while (!path[$endsWith](io.Platform.pathSeparator) && !path[$endsWith]("/")) {
        path = dart.str(path) + dart.str(io.Platform.pathSeparator);
      }
    } else {
      while (!path[$endsWith](io.Platform.pathSeparator)) {
        path = dart.str(path) + dart.str(io.Platform.pathSeparator);
      }
    }
    return path;
  }
};
(io.FileSystemEntity.new = function() {
  ;
}).prototype = io.FileSystemEntity.prototype;
dart.addTypeTests(io.FileSystemEntity);
dart.addTypeCaches(io.FileSystemEntity);
dart.setMethodSignature(io.FileSystemEntity, () => ({
  __proto__: dart.getMethods(io.FileSystemEntity.__proto__),
  resolveSymbolicLinks: dart.fnType(async.Future$(core.String), []),
  resolveSymbolicLinksSync: dart.fnType(core.String, []),
  stat: dart.fnType(async.Future$(io.FileStat), []),
  statSync: dart.fnType(io.FileStat, []),
  delete: dart.fnType(async.Future$(io.FileSystemEntity), [], {recursive: core.bool}, {}),
  deleteSync: dart.fnType(dart.void, [], {recursive: core.bool}, {}),
  watch: dart.fnType(async.Stream$(io.FileSystemEvent), [], {events: core.int, recursive: core.bool}, {})
}));
dart.setGetterSignature(io.FileSystemEntity, () => ({
  __proto__: dart.getGetters(io.FileSystemEntity.__proto__),
  uri: core.Uri,
  isAbsolute: core.bool,
  [_absolutePath]: core.String,
  parent: io.Directory
}));
dart.setLibraryUri(io.FileSystemEntity, I[106]);
dart.defineLazy(io.FileSystemEntity, {
  /*io.FileSystemEntity._backslashChar*/get _backslashChar() {
    return 92;
  },
  /*io.FileSystemEntity._slashChar*/get _slashChar() {
    return 47;
  },
  /*io.FileSystemEntity._colonChar*/get _colonChar() {
    return 58;
  },
  /*io.FileSystemEntity._absoluteWindowsPathPattern*/get _absoluteWindowsPathPattern() {
    return core.RegExp.new("^(?:\\\\\\\\|[a-zA-Z]:[/\\\\])");
  },
  /*io.FileSystemEntity._parentRegExp*/get _parentRegExp() {
    return dart.test(io.Platform.isWindows) ? core.RegExp.new("[^/\\\\][/\\\\]+[^/\\\\]") : core.RegExp.new("[^/]/+[^/]");
  }
}, false);
io._Directory = class _Directory extends io.FileSystemEntity {
  get [_path$0]() {
    return this[_path$];
  }
  set [_path$0](value) {
    super[_path$0] = value;
  }
  get [_rawPath$]() {
    return this[_rawPath];
  }
  set [_rawPath$](value) {
    super[_rawPath$] = value;
  }
  get path() {
    return this[_path$0];
  }
  static _current(namespace) {
    if (namespace == null) dart.nullFailed(I[108], 14, 30, "namespace");
    dart.throw(new core.UnsupportedError.new("Directory._current"));
  }
  static _setCurrent(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 19, 33, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 19, 54, "rawPath");
    dart.throw(new core.UnsupportedError.new("Directory_SetCurrent"));
  }
  static _createTemp(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 24, 33, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 24, 54, "rawPath");
    dart.throw(new core.UnsupportedError.new("Directory._createTemp"));
  }
  static _systemTemp(namespace) {
    if (namespace == null) dart.nullFailed(I[108], 29, 40, "namespace");
    dart.throw(new core.UnsupportedError.new("Directory._systemTemp"));
  }
  static _exists(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 34, 29, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 34, 50, "rawPath");
    dart.throw(new core.UnsupportedError.new("Directory._exists"));
  }
  static _create(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 39, 29, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 39, 50, "rawPath");
    dart.throw(new core.UnsupportedError.new("Directory._create"));
  }
  static _deleteNative(namespace, rawPath, recursive) {
    if (namespace == null) dart.nullFailed(I[108], 45, 18, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 45, 39, "rawPath");
    if (recursive == null) dart.nullFailed(I[108], 45, 53, "recursive");
    dart.throw(new core.UnsupportedError.new("Directory._deleteNative"));
  }
  static _rename(namespace, rawPath, newPath) {
    if (namespace == null) dart.nullFailed(I[108], 50, 29, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 50, 50, "rawPath");
    if (newPath == null) dart.nullFailed(I[108], 50, 66, "newPath");
    dart.throw(new core.UnsupportedError.new("Directory._rename"));
  }
  static _fillWithDirectoryListing(namespace, list, rawPath, recursive, followLinks) {
    if (namespace == null) dart.nullFailed(I[108], 56, 18, "namespace");
    if (list == null) dart.nullFailed(I[108], 57, 30, "list");
    if (rawPath == null) dart.nullFailed(I[108], 58, 17, "rawPath");
    if (recursive == null) dart.nullFailed(I[108], 59, 12, "recursive");
    if (followLinks == null) dart.nullFailed(I[108], 60, 12, "followLinks");
    dart.throw(new core.UnsupportedError.new("Directory._fillWithDirectoryListing"));
  }
  static get current() {
    let result = io._Directory._current(io._Namespace._namespace);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Getting current working directory failed", "", result));
    }
    return new io._Directory.new(core.String.as(result));
  }
  static set current(path) {
    let _rawPath = null;
    let _rawPath$35isSet = false;
    function _rawPath$35get() {
      return _rawPath$35isSet ? _rawPath : dart.throw(new _internal.LateError.localNI("_rawPath"));
    }
    dart.fn(_rawPath$35get, T$0.VoidToUint8List());
    function _rawPath$35set(t189) {
      if (t189 == null) dart.nullFailed(I[111], 49, 20, "null");
      _rawPath$35isSet = true;
      return _rawPath = t189;
    }
    dart.fn(_rawPath$35set, T$0.Uint8ListTodynamic());
    if (io._Directory.is(path)) {
      _rawPath$35set(path[_rawPath$]);
    } else if (io.Directory.is(path)) {
      _rawPath$35set(io.FileSystemEntity._toUtf8Array(path.path));
    } else if (typeof path == 'string') {
      _rawPath$35set(io.FileSystemEntity._toUtf8Array(path));
    } else {
      dart.throw(new core.ArgumentError.new(dart.str(core.Error.safeToString(path)) + " is not a String or" + " Directory"));
    }
    if (!dart.test(io._EmbedderConfig._mayChdir)) {
      dart.throw(new core.UnsupportedError.new("This embedder disallows setting Directory.current"));
    }
    let result = io._Directory._setCurrent(io._Namespace._namespace, _rawPath$35get());
    if (core.ArgumentError.is(result)) dart.throw(result);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Setting current working directory failed", dart.toString(path), result));
    }
  }
  get uri() {
    return core._Uri.directory(this.path);
  }
  exists() {
    return io._File._dispatchWithNamespace(36, [null, this[_rawPath$]]).then(core.bool, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionOrErrorFromResponse](response, "Exists failed"));
      }
      return dart.equals(response, 1);
    }, T$0.dynamicTobool()));
  }
  existsSync() {
    let result = io._Directory._exists(io._Namespace._namespace, this[_rawPath$]);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Exists failed", this.path, result));
    }
    return dart.equals(result, 1);
  }
  get absolute() {
    return io.Directory.new(this[_absolutePath]);
  }
  create(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[111], 101, 34, "recursive");
    if (dart.test(recursive)) {
      return this.exists().then(io.Directory, dart.fn(exists => {
        if (exists == null) dart.nullFailed(I[111], 103, 29, "exists");
        if (dart.test(exists)) return this;
        if (this.path != this.parent.path) {
          return this.parent.create({recursive: true}).then(io.Directory, dart.fn(_ => {
            if (_ == null) dart.nullFailed(I[111], 106, 55, "_");
            return this.create();
          }, T$0.DirectoryToFutureOfDirectory()));
        } else {
          return this.create();
        }
      }, T$0.boolToFutureOrOfDirectory()));
    } else {
      return io._File._dispatchWithNamespace(34, [null, this[_rawPath$]]).then(io.Directory, dart.fn(response => {
        if (dart.test(this[_isErrorResponse](response))) {
          dart.throw(this[_exceptionOrErrorFromResponse](response, "Creation failed"));
        }
        return this;
      }, T$0.dynamicTo_Directory()));
    }
  }
  createSync(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[111], 124, 25, "recursive");
    if (dart.test(recursive)) {
      if (dart.test(this.existsSync())) return;
      if (this.path != this.parent.path) {
        this.parent.createSync({recursive: true});
      }
    }
    let result = io._Directory._create(io._Namespace._namespace, this[_rawPath$]);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Creation failed", this.path, result));
    }
  }
  static get systemTemp() {
    return io.Directory.new(io._Directory._systemTemp(io._Namespace._namespace));
  }
  createTemp(prefix = null) {
    prefix == null ? prefix = "" : null;
    if (this.path === "") {
      dart.throw(new core.ArgumentError.new("Directory.createTemp called with an empty path. " + "To use the system temp directory, use Directory.systemTemp"));
    }
    let fullPrefix = null;
    if (this.path[$endsWith]("/") || dart.test(io.Platform.isWindows) && this.path[$endsWith]("\\")) {
      fullPrefix = dart.str(this.path) + dart.str(prefix);
    } else {
      fullPrefix = dart.str(this.path) + dart.str(io.Platform.pathSeparator) + dart.str(prefix);
    }
    return io._File._dispatchWithNamespace(37, [null, io.FileSystemEntity._toUtf8Array(fullPrefix)]).then(io.Directory, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionOrErrorFromResponse](response, "Creation of temporary directory failed"));
      }
      return io.Directory.new(core.String.as(response));
    }, T$0.dynamicToDirectory()));
  }
  createTempSync(prefix = null) {
    prefix == null ? prefix = "" : null;
    if (this.path === "") {
      dart.throw(new core.ArgumentError.new("Directory.createTemp called with an empty path. " + "To use the system temp directory, use Directory.systemTemp"));
    }
    let fullPrefix = null;
    if (this.path[$endsWith]("/") || dart.test(io.Platform.isWindows) && this.path[$endsWith]("\\")) {
      fullPrefix = dart.str(this.path) + dart.str(prefix);
    } else {
      fullPrefix = dart.str(this.path) + dart.str(io.Platform.pathSeparator) + dart.str(prefix);
    }
    let result = io._Directory._createTemp(io._Namespace._namespace, io.FileSystemEntity._toUtf8Array(fullPrefix));
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Creation of temporary directory failed", fullPrefix, result));
    }
    return io.Directory.new(core.String.as(result));
  }
  [_delete](opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[111], 187, 35, "recursive");
    return io._File._dispatchWithNamespace(35, [null, this[_rawPath$], recursive]).then(io.Directory, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionOrErrorFromResponse](response, "Deletion failed"));
      }
      return this;
    }, T$0.dynamicTo_Directory()));
  }
  [_deleteSync](opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[111], 198, 26, "recursive");
    let result = io._Directory._deleteNative(io._Namespace._namespace, this[_rawPath$], recursive);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Deletion failed", this.path, result));
    }
  }
  rename(newPath) {
    if (newPath == null) dart.nullFailed(I[111], 205, 35, "newPath");
    return io._File._dispatchWithNamespace(41, [null, this[_rawPath$], newPath]).then(io.Directory, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionOrErrorFromResponse](response, "Rename failed"));
      }
      return io.Directory.new(newPath);
    }, T$0.dynamicToDirectory()));
  }
  renameSync(newPath) {
    if (newPath == null) dart.nullFailed(I[111], 215, 31, "newPath");
    core.ArgumentError.checkNotNull(core.String, newPath, "newPath");
    let result = io._Directory._rename(io._Namespace._namespace, this[_rawPath$], newPath);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Rename failed", this.path, result));
    }
    return io.Directory.new(newPath);
  }
  list(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[111], 226, 13, "recursive");
    let followLinks = opts && 'followLinks' in opts ? opts.followLinks : true;
    if (followLinks == null) dart.nullFailed(I[111], 226, 37, "followLinks");
    return new io._AsyncDirectoryLister.new(io.FileSystemEntity._toUtf8Array(io.FileSystemEntity._ensureTrailingPathSeparators(this.path)), recursive, followLinks).stream;
  }
  listSync(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[111], 238, 13, "recursive");
    let followLinks = opts && 'followLinks' in opts ? opts.followLinks : true;
    if (followLinks == null) dart.nullFailed(I[111], 238, 37, "followLinks");
    core.ArgumentError.checkNotNull(core.bool, recursive, "recursive");
    core.ArgumentError.checkNotNull(core.bool, followLinks, "followLinks");
    let result = T$0.JSArrayOfFileSystemEntity().of([]);
    io._Directory._fillWithDirectoryListing(io._Namespace._namespace, result, io.FileSystemEntity._toUtf8Array(io.FileSystemEntity._ensureTrailingPathSeparators(this.path)), recursive, followLinks);
    return result;
  }
  toString() {
    return "Directory: '" + dart.str(this.path) + "'";
  }
  [_isErrorResponse](response) {
    return core.List.is(response) && !dart.equals(response[$_get](0), 0);
  }
  [_exceptionOrErrorFromResponse](response, message) {
    if (message == null) dart.nullFailed(I[111], 260, 50, "message");
    if (!dart.test(this[_isErrorResponse](response))) dart.assertFailed(null, I[111], 261, 12, "_isErrorResponse(response)");
    switch (dart.dsend(response, '_get', [0])) {
      case 1:
      {
        return new core.ArgumentError.new();
      }
      case 2:
      {
        let err = new io.OSError.new(core.String.as(dart.dsend(response, '_get', [2])), core.int.as(dart.dsend(response, '_get', [1])));
        return new io.FileSystemException.new(message, this.path, err);
      }
      default:
      {
        return core.Exception.new("Unknown error");
      }
    }
  }
  static _checkNotNull(T, t, name) {
    if (name == null) dart.nullFailed(I[111], 275, 41, "name");
    core.ArgumentError.checkNotNull(T, t, name);
    return t;
  }
};
(io._Directory.new = function(path) {
  if (path == null) dart.nullFailed(I[111], 11, 21, "path");
  this[_path$] = io._Directory._checkNotNull(core.String, path, "path");
  this[_rawPath] = io.FileSystemEntity._toUtf8Array(path);
  ;
}).prototype = io._Directory.prototype;
(io._Directory.fromRawPath = function(rawPath) {
  if (rawPath == null) dart.nullFailed(I[111], 15, 36, "rawPath");
  this[_rawPath] = io.FileSystemEntity._toNullTerminatedUtf8Array(io._Directory._checkNotNull(typed_data.Uint8List, rawPath, "rawPath"));
  this[_path$] = io.FileSystemEntity._toStringFromUtf8Array(rawPath);
  ;
}).prototype = io._Directory.prototype;
dart.addTypeTests(io._Directory);
dart.addTypeCaches(io._Directory);
io._Directory[dart.implements] = () => [io.Directory];
dart.setMethodSignature(io._Directory, () => ({
  __proto__: dart.getMethods(io._Directory.__proto__),
  exists: dart.fnType(async.Future$(core.bool), []),
  existsSync: dart.fnType(core.bool, []),
  create: dart.fnType(async.Future$(io.Directory), [], {recursive: core.bool}, {}),
  createSync: dart.fnType(dart.void, [], {recursive: core.bool}, {}),
  createTemp: dart.fnType(async.Future$(io.Directory), [], [dart.nullable(core.String)]),
  createTempSync: dart.fnType(io.Directory, [], [dart.nullable(core.String)]),
  [_delete]: dart.fnType(async.Future$(io.Directory), [], {recursive: core.bool}, {}),
  [_deleteSync]: dart.fnType(dart.void, [], {recursive: core.bool}, {}),
  rename: dart.fnType(async.Future$(io.Directory), [core.String]),
  renameSync: dart.fnType(io.Directory, [core.String]),
  list: dart.fnType(async.Stream$(io.FileSystemEntity), [], {followLinks: core.bool, recursive: core.bool}, {}),
  listSync: dart.fnType(core.List$(io.FileSystemEntity), [], {followLinks: core.bool, recursive: core.bool}, {}),
  [_isErrorResponse]: dart.fnType(core.bool, [dart.dynamic]),
  [_exceptionOrErrorFromResponse]: dart.fnType(dart.dynamic, [dart.dynamic, core.String])
}));
dart.setGetterSignature(io._Directory, () => ({
  __proto__: dart.getGetters(io._Directory.__proto__),
  path: core.String,
  absolute: io.Directory
}));
dart.setLibraryUri(io._Directory, I[106]);
dart.setFieldSignature(io._Directory, () => ({
  __proto__: dart.getFields(io._Directory.__proto__),
  [_path$0]: dart.finalFieldType(core.String),
  [_rawPath$]: dart.finalFieldType(typed_data.Uint8List)
}));
dart.defineExtensionMethods(io._Directory, ['toString']);
io._AsyncDirectoryListerOps = class _AsyncDirectoryListerOps extends core.Object {
  static new(pointer) {
    if (pointer == null) dart.nullFailed(I[108], 68, 40, "pointer");
    dart.throw(new core.UnsupportedError.new("Directory._list"));
  }
};
(io._AsyncDirectoryListerOps[dart.mixinNew] = function() {
}).prototype = io._AsyncDirectoryListerOps.prototype;
dart.addTypeTests(io._AsyncDirectoryListerOps);
dart.addTypeCaches(io._AsyncDirectoryListerOps);
dart.setLibraryUri(io._AsyncDirectoryListerOps, I[106]);
var _ops = dart.privateName(io, "_ops");
var _pointer = dart.privateName(io, "_pointer");
var _cleanup = dart.privateName(io, "_cleanup");
io._AsyncDirectoryLister = class _AsyncDirectoryLister extends core.Object {
  [_pointer]() {
    let t191;
    t191 = this[_ops];
    return t191 == null ? null : t191.getPointer();
  }
  get stream() {
    return this.controller.stream;
  }
  onListen() {
    io._File._dispatchWithNamespace(38, [null, this.rawPath, this.recursive, this.followLinks]).then(core.Null, dart.fn(response => {
      if (core.int.is(response)) {
        this[_ops] = io._AsyncDirectoryListerOps.new(response);
        this.next();
      } else if (core.Error.is(response)) {
        this.controller.addError(response, response[$stackTrace]);
        this.close();
      } else {
        this.error(response);
        this.close();
      }
    }, T$.dynamicToNull()));
  }
  onResume() {
    if (!dart.test(this.nextRunning)) {
      this.next();
    }
  }
  onCancel() {
    this.canceled = true;
    if (!dart.test(this.nextRunning)) {
      this.close();
    }
    return this.closeCompleter.future;
  }
  next() {
    if (dart.test(this.canceled)) {
      this.close();
      return;
    }
    if (dart.test(this.controller.isPaused) || dart.test(this.nextRunning)) {
      return;
    }
    let pointer = this[_pointer]();
    if (pointer == null) {
      return;
    }
    this.nextRunning = true;
    io._IOService._dispatch(39, [pointer]).then(core.Null, dart.fn(result => {
      let t191;
      this.nextRunning = false;
      if (core.List.is(result)) {
        this.next();
        if (!(result[$length][$modulo](2) === 0)) dart.assertFailed(null, I[111], 378, 16, "result.length % 2 == 0");
        for (let i = 0; i < dart.notNull(result[$length]); i = i + 1) {
          if (!(i[$modulo](2) === 0)) dart.assertFailed(null, I[111], 380, 18, "i % 2 == 0");
          switch (result[$_get]((t191 = i, i = t191 + 1, t191))) {
            case 0:
            {
              this.controller.add(io.File.fromRawPath(typed_data.Uint8List.as(result[$_get](i))));
              break;
            }
            case 1:
            {
              this.controller.add(io.Directory.fromRawPath(typed_data.Uint8List.as(result[$_get](i))));
              break;
            }
            case 2:
            {
              this.controller.add(io.Link.fromRawPath(typed_data.Uint8List.as(result[$_get](i))));
              break;
            }
            case 3:
            {
              this.error(result[$_get](i));
              break;
            }
            case 4:
            {
              this.canceled = true;
              return;
            }
          }
        }
      } else {
        this.controller.addError(new io.FileSystemException.new("Internal error"));
      }
    }, T$.dynamicToNull()));
  }
  [_cleanup]() {
    this.controller.close();
    this.closeCompleter.complete();
    this[_ops] = null;
  }
  close() {
    if (dart.test(this.closed)) {
      return;
    }
    if (dart.test(this.nextRunning)) {
      return;
    }
    this.closed = true;
    let pointer = this[_pointer]();
    if (pointer == null) {
      this[_cleanup]();
    } else {
      io._IOService._dispatch(40, [pointer]).whenComplete(dart.bind(this, _cleanup));
    }
  }
  error(message) {
    let errorType = dart.dsend(dart.dsend(message, '_get', [2]), '_get', [0]);
    if (dart.equals(errorType, 1)) {
      this.controller.addError(new core.ArgumentError.new());
    } else if (dart.equals(errorType, 2)) {
      let responseErrorInfo = dart.dsend(message, '_get', [2]);
      let err = new io.OSError.new(core.String.as(dart.dsend(responseErrorInfo, '_get', [2])), core.int.as(dart.dsend(responseErrorInfo, '_get', [1])));
      let errorPath = dart.dsend(message, '_get', [1]);
      if (errorPath == null) {
        errorPath = convert.utf8.decode(this.rawPath, {allowMalformed: true});
      } else if (typed_data.Uint8List.is(errorPath)) {
        errorPath = convert.utf8.decode(T$0.ListOfint().as(dart.dsend(message, '_get', [1])), {allowMalformed: true});
      }
      this.controller.addError(new io.FileSystemException.new("Directory listing failed", T$.StringN().as(errorPath), err));
    } else {
      this.controller.addError(new io.FileSystemException.new("Internal error"));
    }
  }
};
(io._AsyncDirectoryLister.new = function(rawPath, recursive, followLinks) {
  let t191;
  if (rawPath == null) dart.nullFailed(I[111], 310, 30, "rawPath");
  if (recursive == null) dart.nullFailed(I[111], 310, 44, "recursive");
  if (followLinks == null) dart.nullFailed(I[111], 310, 60, "followLinks");
  this.controller = T$0.StreamControllerOfFileSystemEntity().new({sync: true});
  this.canceled = false;
  this.nextRunning = false;
  this.closed = false;
  this[_ops] = null;
  this.closeCompleter = async.Completer.new();
  this.rawPath = rawPath;
  this.recursive = recursive;
  this.followLinks = followLinks;
  t191 = this.controller;
  (() => {
    t191.onListen = dart.bind(this, 'onListen');
    t191.onResume = dart.bind(this, 'onResume');
    t191.onCancel = dart.bind(this, 'onCancel');
    return t191;
  })();
}).prototype = io._AsyncDirectoryLister.prototype;
dart.addTypeTests(io._AsyncDirectoryLister);
dart.addTypeCaches(io._AsyncDirectoryLister);
dart.setMethodSignature(io._AsyncDirectoryLister, () => ({
  __proto__: dart.getMethods(io._AsyncDirectoryLister.__proto__),
  [_pointer]: dart.fnType(dart.nullable(core.int), []),
  onListen: dart.fnType(dart.void, []),
  onResume: dart.fnType(dart.void, []),
  onCancel: dart.fnType(async.Future, []),
  next: dart.fnType(dart.void, []),
  [_cleanup]: dart.fnType(dart.void, []),
  close: dart.fnType(dart.void, []),
  error: dart.fnType(dart.void, [dart.dynamic])
}));
dart.setGetterSignature(io._AsyncDirectoryLister, () => ({
  __proto__: dart.getGetters(io._AsyncDirectoryLister.__proto__),
  stream: async.Stream$(io.FileSystemEntity)
}));
dart.setLibraryUri(io._AsyncDirectoryLister, I[106]);
dart.setFieldSignature(io._AsyncDirectoryLister, () => ({
  __proto__: dart.getFields(io._AsyncDirectoryLister.__proto__),
  rawPath: dart.finalFieldType(typed_data.Uint8List),
  recursive: dart.finalFieldType(core.bool),
  followLinks: dart.finalFieldType(core.bool),
  controller: dart.finalFieldType(async.StreamController$(io.FileSystemEntity)),
  canceled: dart.fieldType(core.bool),
  nextRunning: dart.fieldType(core.bool),
  closed: dart.fieldType(core.bool),
  [_ops]: dart.fieldType(dart.nullable(io._AsyncDirectoryListerOps)),
  closeCompleter: dart.fieldType(async.Completer)
}));
dart.defineLazy(io._AsyncDirectoryLister, {
  /*io._AsyncDirectoryLister.listFile*/get listFile() {
    return 0;
  },
  /*io._AsyncDirectoryLister.listDirectory*/get listDirectory() {
    return 1;
  },
  /*io._AsyncDirectoryLister.listLink*/get listLink() {
    return 2;
  },
  /*io._AsyncDirectoryLister.listError*/get listError() {
    return 3;
  },
  /*io._AsyncDirectoryLister.listDone*/get listDone() {
    return 4;
  },
  /*io._AsyncDirectoryLister.responseType*/get responseType() {
    return 0;
  },
  /*io._AsyncDirectoryLister.responsePath*/get responsePath() {
    return 1;
  },
  /*io._AsyncDirectoryLister.responseComplete*/get responseComplete() {
    return 1;
  },
  /*io._AsyncDirectoryLister.responseError*/get responseError() {
    return 2;
  }
}, false);
io._EmbedderConfig = class _EmbedderConfig extends core.Object {
  static _setDomainPolicies(domainNetworkPolicyJson) {
    if (domainNetworkPolicyJson == null) dart.nullFailed(I[113], 48, 41, "domainNetworkPolicyJson");
  }
};
(io._EmbedderConfig.new = function() {
  ;
}).prototype = io._EmbedderConfig.prototype;
dart.addTypeTests(io._EmbedderConfig);
dart.addTypeCaches(io._EmbedderConfig);
dart.setLibraryUri(io._EmbedderConfig, I[106]);
dart.defineLazy(io._EmbedderConfig, {
  /*io._EmbedderConfig._mayChdir*/get _mayChdir() {
    return true;
  },
  set _mayChdir(_) {},
  /*io._EmbedderConfig._mayExit*/get _mayExit() {
    return true;
  },
  set _mayExit(_) {},
  /*io._EmbedderConfig._maySetEchoMode*/get _maySetEchoMode() {
    return true;
  },
  set _maySetEchoMode(_) {},
  /*io._EmbedderConfig._maySetLineMode*/get _maySetLineMode() {
    return true;
  },
  set _maySetLineMode(_) {},
  /*io._EmbedderConfig._maySleep*/get _maySleep() {
    return true;
  },
  set _maySleep(_) {},
  /*io._EmbedderConfig._mayInsecurelyConnectToAllDomains*/get _mayInsecurelyConnectToAllDomains() {
    return true;
  },
  set _mayInsecurelyConnectToAllDomains(_) {}
}, false);
io._EventHandler = class _EventHandler extends core.Object {
  static _sendData(sender, sendPort, data) {
    if (sendPort == null) dart.nullFailed(I[108], 76, 50, "sendPort");
    if (data == null) dart.nullFailed(I[108], 76, 64, "data");
    dart.throw(new core.UnsupportedError.new("EventHandler._sendData"));
  }
};
(io._EventHandler.new = function() {
  ;
}).prototype = io._EventHandler.prototype;
dart.addTypeTests(io._EventHandler);
dart.addTypeCaches(io._EventHandler);
dart.setLibraryUri(io._EventHandler, I[106]);
var _mode$ = dart.privateName(io, "FileMode._mode");
var _mode = dart.privateName(io, "_mode");
io.FileMode = class FileMode extends core.Object {
  get [_mode]() {
    return this[_mode$];
  }
  set [_mode](value) {
    super[_mode] = value;
  }
};
(io.FileMode._internal = function(_mode) {
  if (_mode == null) dart.nullFailed(I[114], 42, 33, "_mode");
  this[_mode$] = _mode;
  ;
}).prototype = io.FileMode.prototype;
dart.addTypeTests(io.FileMode);
dart.addTypeCaches(io.FileMode);
dart.setLibraryUri(io.FileMode, I[106]);
dart.setFieldSignature(io.FileMode, () => ({
  __proto__: dart.getFields(io.FileMode.__proto__),
  [_mode]: dart.finalFieldType(core.int)
}));
dart.defineLazy(io.FileMode, {
  /*io.FileMode.read*/get read() {
    return C[111] || CT.C111;
  },
  /*io.FileMode.READ*/get READ() {
    return C[111] || CT.C111;
  },
  /*io.FileMode.write*/get write() {
    return C[112] || CT.C112;
  },
  /*io.FileMode.WRITE*/get WRITE() {
    return C[112] || CT.C112;
  },
  /*io.FileMode.append*/get append() {
    return C[113] || CT.C113;
  },
  /*io.FileMode.APPEND*/get APPEND() {
    return C[113] || CT.C113;
  },
  /*io.FileMode.writeOnly*/get writeOnly() {
    return C[114] || CT.C114;
  },
  /*io.FileMode.WRITE_ONLY*/get WRITE_ONLY() {
    return C[114] || CT.C114;
  },
  /*io.FileMode.writeOnlyAppend*/get writeOnlyAppend() {
    return C[115] || CT.C115;
  },
  /*io.FileMode.WRITE_ONLY_APPEND*/get WRITE_ONLY_APPEND() {
    return C[115] || CT.C115;
  }
}, false);
var _type$1 = dart.privateName(io, "FileLock._type");
var _type = dart.privateName(io, "_type");
io.FileLock = class FileLock extends core.Object {
  get [_type]() {
    return this[_type$1];
  }
  set [_type](value) {
    super[_type] = value;
  }
};
(io.FileLock._internal = function(_type) {
  if (_type == null) dart.nullFailed(I[114], 95, 33, "_type");
  this[_type$1] = _type;
  ;
}).prototype = io.FileLock.prototype;
dart.addTypeTests(io.FileLock);
dart.addTypeCaches(io.FileLock);
dart.setLibraryUri(io.FileLock, I[106]);
dart.setFieldSignature(io.FileLock, () => ({
  __proto__: dart.getFields(io.FileLock.__proto__),
  [_type]: dart.finalFieldType(core.int)
}));
dart.defineLazy(io.FileLock, {
  /*io.FileLock.shared*/get shared() {
    return C[116] || CT.C116;
  },
  /*io.FileLock.SHARED*/get SHARED() {
    return C[116] || CT.C116;
  },
  /*io.FileLock.exclusive*/get exclusive() {
    return C[117] || CT.C117;
  },
  /*io.FileLock.EXCLUSIVE*/get EXCLUSIVE() {
    return C[117] || CT.C117;
  },
  /*io.FileLock.blockingShared*/get blockingShared() {
    return C[118] || CT.C118;
  },
  /*io.FileLock.BLOCKING_SHARED*/get BLOCKING_SHARED() {
    return C[118] || CT.C118;
  },
  /*io.FileLock.blockingExclusive*/get blockingExclusive() {
    return C[119] || CT.C119;
  },
  /*io.FileLock.BLOCKING_EXCLUSIVE*/get BLOCKING_EXCLUSIVE() {
    return C[119] || CT.C119;
  }
}, false);
io.File = class File extends core.Object {
  static new(path) {
    if (path == null) dart.nullFailed(I[114], 237, 23, "path");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return new io._File.new(path);
    }
    return overrides.createFile(path);
  }
  static fromUri(uri) {
    if (uri == null) dart.nullFailed(I[114], 248, 28, "uri");
    return io.File.new(uri.toFilePath());
  }
  static fromRawPath(rawPath) {
    if (rawPath == null) dart.nullFailed(I[114], 254, 38, "rawPath");
    return new io._File.fromRawPath(rawPath);
  }
};
(io.File[dart.mixinNew] = function() {
}).prototype = io.File.prototype;
dart.addTypeTests(io.File);
dart.addTypeCaches(io.File);
io.File[dart.implements] = () => [io.FileSystemEntity];
dart.setLibraryUri(io.File, I[106]);
io.RandomAccessFile = class RandomAccessFile extends core.Object {};
(io.RandomAccessFile.new = function() {
  ;
}).prototype = io.RandomAccessFile.prototype;
dart.addTypeTests(io.RandomAccessFile);
dart.addTypeCaches(io.RandomAccessFile);
dart.setLibraryUri(io.RandomAccessFile, I[106]);
var message$3 = dart.privateName(io, "FileSystemException.message");
var path$ = dart.privateName(io, "FileSystemException.path");
var osError$ = dart.privateName(io, "FileSystemException.osError");
io.FileSystemException = class FileSystemException extends core.Object {
  get message() {
    return this[message$3];
  }
  set message(value) {
    super.message = value;
  }
  get path() {
    return this[path$];
  }
  set path(value) {
    super.path = value;
  }
  get osError() {
    return this[osError$];
  }
  set osError(value) {
    super.osError = value;
  }
  toString() {
    let sb = new core.StringBuffer.new();
    sb.write("FileSystemException");
    if (this.message[$isNotEmpty]) {
      sb.write(": " + dart.str(this.message));
      if (this.path != null) {
        sb.write(", path = '" + dart.str(this.path) + "'");
      }
      if (this.osError != null) {
        sb.write(" (" + dart.str(this.osError) + ")");
      }
    } else if (this.osError != null) {
      sb.write(": " + dart.str(this.osError));
      if (this.path != null) {
        sb.write(", path = '" + dart.str(this.path) + "'");
      }
    } else if (this.path != null) {
      sb.write(": " + dart.str(this.path));
    }
    return sb.toString();
  }
};
(io.FileSystemException.new = function(message = "", path = "", osError = null) {
  if (message == null) dart.nullFailed(I[114], 926, 35, "message");
  this[message$3] = message;
  this[path$] = path;
  this[osError$] = osError;
  ;
}).prototype = io.FileSystemException.prototype;
dart.addTypeTests(io.FileSystemException);
dart.addTypeCaches(io.FileSystemException);
io.FileSystemException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(io.FileSystemException, I[106]);
dart.setFieldSignature(io.FileSystemException, () => ({
  __proto__: dart.getFields(io.FileSystemException.__proto__),
  message: dart.finalFieldType(core.String),
  path: dart.finalFieldType(dart.nullable(core.String)),
  osError: dart.finalFieldType(dart.nullable(io.OSError))
}));
dart.defineExtensionMethods(io.FileSystemException, ['toString']);
var ___FileStream__controller = dart.privateName(io, "_#_FileStream#_controller");
var ___FileStream__controller_isSet = dart.privateName(io, "_#_FileStream#_controller#isSet");
var ___FileStream__openedFile = dart.privateName(io, "_#_FileStream#_openedFile");
var ___FileStream__openedFile_isSet = dart.privateName(io, "_#_FileStream#_openedFile#isSet");
var _closeCompleter = dart.privateName(io, "_closeCompleter");
var _unsubscribed = dart.privateName(io, "_unsubscribed");
var _readInProgress = dart.privateName(io, "_readInProgress");
var _atEnd = dart.privateName(io, "_atEnd");
var _end$ = dart.privateName(io, "_end");
var _position$ = dart.privateName(io, "_position");
var _controller = dart.privateName(io, "_controller");
var _openedFile = dart.privateName(io, "_openedFile");
var _start$1 = dart.privateName(io, "_start");
var _readBlock = dart.privateName(io, "_readBlock");
var _closeFile = dart.privateName(io, "_closeFile");
io._FileStream = class _FileStream extends async.Stream$(core.List$(core.int)) {
  get [_controller]() {
    let t191;
    return dart.test(this[___FileStream__controller_isSet]) ? (t191 = this[___FileStream__controller], t191) : dart.throw(new _internal.LateError.fieldNI("_controller"));
  }
  set [_controller](t191) {
    if (t191 == null) dart.nullFailed(I[115], 12, 36, "null");
    this[___FileStream__controller_isSet] = true;
    this[___FileStream__controller] = t191;
  }
  get [_openedFile]() {
    let t192;
    return dart.test(this[___FileStream__openedFile_isSet]) ? (t192 = this[___FileStream__openedFile], t192) : dart.throw(new _internal.LateError.fieldNI("_openedFile"));
  }
  set [_openedFile](t192) {
    if (t192 == null) dart.nullFailed(I[115], 16, 25, "null");
    this[___FileStream__openedFile_isSet] = true;
    this[___FileStream__openedFile] = t192;
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    this[_controller] = T$0.StreamControllerOfUint8List().new({sync: true, onListen: dart.bind(this, _start$1), onResume: dart.bind(this, _readBlock), onCancel: dart.fn(() => {
        this[_unsubscribed] = true;
        return this[_closeFile]();
      }, T$0.VoidToFuture())});
    return this[_controller].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  [_closeFile]() {
    if (dart.test(this[_readInProgress]) || dart.test(this[_closed])) {
      return this[_closeCompleter].future;
    }
    this[_closed] = true;
    const done = () => {
      this[_closeCompleter].complete();
      this[_controller].close();
    };
    dart.fn(done, T$.VoidTovoid());
    this[_openedFile].close().catchError(dart.bind(this[_controller], 'addError')).whenComplete(done);
    return this[_closeCompleter].future;
  }
  [_readBlock]() {
    if (dart.test(this[_readInProgress])) return;
    if (dart.test(this[_atEnd])) {
      this[_closeFile]();
      return;
    }
    this[_readInProgress] = true;
    let readBytes = 65536;
    let end = this[_end$];
    if (end != null) {
      readBytes = math.min(core.int, readBytes, dart.notNull(end) - dart.notNull(this[_position$]));
      if (readBytes < 0) {
        this[_readInProgress] = false;
        if (!dart.test(this[_unsubscribed])) {
          this[_controller].addError(new core.RangeError.new("Bad end position: " + dart.str(end)));
          this[_closeFile]();
          this[_unsubscribed] = true;
        }
        return;
      }
    }
    this[_openedFile].read(readBytes).then(core.Null, dart.fn(block => {
      if (block == null) dart.nullFailed(I[115], 85, 39, "block");
      this[_readInProgress] = false;
      if (dart.test(this[_unsubscribed])) {
        this[_closeFile]();
        return;
      }
      this[_position$] = dart.notNull(this[_position$]) + dart.notNull(block[$length]);
      if (dart.notNull(block[$length]) < readBytes || this[_end$] != null && this[_position$] == this[_end$]) {
        this[_atEnd] = true;
      }
      if (!dart.test(this[_atEnd]) && !dart.test(this[_controller].isPaused)) {
        this[_readBlock]();
      }
      this[_controller].add(block);
      if (dart.test(this[_atEnd])) {
        this[_closeFile]();
      }
    }, T$0.Uint8ListToNull())).catchError(dart.fn((e, s) => {
      if (!dart.test(this[_unsubscribed])) {
        this[_controller].addError(core.Object.as(e), T$.StackTraceN().as(s));
        this[_closeFile]();
        this[_unsubscribed] = true;
      }
    }, T$.dynamicAnddynamicToNull()));
  }
  [_start$1]() {
    if (dart.notNull(this[_position$]) < 0) {
      this[_controller].addError(new core.RangeError.new("Bad start position: " + dart.str(this[_position$])));
      this[_controller].close();
      this[_closeCompleter].complete();
      return;
    }
    const onReady = file => {
      if (file == null) dart.nullFailed(I[115], 119, 35, "file");
      this[_openedFile] = file;
      this[_readInProgress] = false;
      this[_readBlock]();
    };
    dart.fn(onReady, T$0.RandomAccessFileTovoid());
    const onOpenFile = file => {
      if (file == null) dart.nullFailed(I[115], 125, 38, "file");
      if (dart.notNull(this[_position$]) > 0) {
        file.setPosition(this[_position$]).then(dart.void, onReady, {onError: dart.fn((e, s) => {
            this[_controller].addError(core.Object.as(e), T$.StackTraceN().as(s));
            this[_readInProgress] = false;
            this[_closeFile]();
          }, T$.dynamicAnddynamicToNull())});
      } else {
        onReady(file);
      }
    };
    dart.fn(onOpenFile, T$0.RandomAccessFileTovoid());
    const openFailed = (error, stackTrace) => {
      this[_controller].addError(core.Object.as(error), T$.StackTraceN().as(stackTrace));
      this[_controller].close();
      this[_closeCompleter].complete();
    };
    dart.fn(openFailed, T$.dynamicAnddynamicTovoid());
    let path = this[_path$0];
    if (path != null) {
      io.File.new(path).open({mode: io.FileMode.read}).then(dart.void, onOpenFile, {onError: openFailed});
    } else {
      try {
        onOpenFile(io._File._openStdioSync(0));
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          openFailed(e, s);
        } else
          throw e$;
      }
    }
  }
};
(io._FileStream.new = function(_path, position, _end) {
  let t191;
  this[___FileStream__controller] = null;
  this[___FileStream__controller_isSet] = false;
  this[___FileStream__openedFile] = null;
  this[___FileStream__openedFile_isSet] = false;
  this[_closeCompleter] = async.Completer.new();
  this[_unsubscribed] = false;
  this[_readInProgress] = true;
  this[_closed] = false;
  this[_atEnd] = false;
  this[_path$0] = _path;
  this[_end$] = _end;
  this[_position$] = (t191 = position, t191 == null ? 0 : t191);
  io._FileStream.__proto__.new.call(this);
  ;
}).prototype = io._FileStream.prototype;
(io._FileStream.forStdin = function() {
  this[___FileStream__controller] = null;
  this[___FileStream__controller_isSet] = false;
  this[___FileStream__openedFile] = null;
  this[___FileStream__openedFile_isSet] = false;
  this[_closeCompleter] = async.Completer.new();
  this[_unsubscribed] = false;
  this[_readInProgress] = true;
  this[_closed] = false;
  this[_atEnd] = false;
  this[_end$] = null;
  this[_path$0] = null;
  this[_position$] = 0;
  io._FileStream.__proto__.new.call(this);
  ;
}).prototype = io._FileStream.prototype;
dart.addTypeTests(io._FileStream);
dart.addTypeCaches(io._FileStream);
dart.setMethodSignature(io._FileStream, () => ({
  __proto__: dart.getMethods(io._FileStream.__proto__),
  listen: dart.fnType(async.StreamSubscription$(typed_data.Uint8List), [dart.nullable(dart.fnType(dart.void, [typed_data.Uint8List]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  [_closeFile]: dart.fnType(async.Future, []),
  [_readBlock]: dart.fnType(dart.void, []),
  [_start$1]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(io._FileStream, () => ({
  __proto__: dart.getGetters(io._FileStream.__proto__),
  [_controller]: async.StreamController$(typed_data.Uint8List),
  [_openedFile]: io.RandomAccessFile
}));
dart.setSetterSignature(io._FileStream, () => ({
  __proto__: dart.getSetters(io._FileStream.__proto__),
  [_controller]: async.StreamController$(typed_data.Uint8List),
  [_openedFile]: io.RandomAccessFile
}));
dart.setLibraryUri(io._FileStream, I[106]);
dart.setFieldSignature(io._FileStream, () => ({
  __proto__: dart.getFields(io._FileStream.__proto__),
  [___FileStream__controller]: dart.fieldType(dart.nullable(async.StreamController$(typed_data.Uint8List))),
  [___FileStream__controller_isSet]: dart.fieldType(core.bool),
  [_path$0]: dart.fieldType(dart.nullable(core.String)),
  [___FileStream__openedFile]: dart.fieldType(dart.nullable(io.RandomAccessFile)),
  [___FileStream__openedFile_isSet]: dart.fieldType(core.bool),
  [_position$]: dart.fieldType(core.int),
  [_end$]: dart.fieldType(dart.nullable(core.int)),
  [_closeCompleter]: dart.finalFieldType(async.Completer),
  [_unsubscribed]: dart.fieldType(core.bool),
  [_readInProgress]: dart.fieldType(core.bool),
  [_closed]: dart.fieldType(core.bool),
  [_atEnd]: dart.fieldType(core.bool)
}));
var _file = dart.privateName(io, "_file");
var _openFuture = dart.privateName(io, "_openFuture");
io._FileStreamConsumer = class _FileStreamConsumer extends async.StreamConsumer$(core.List$(core.int)) {
  addStream(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[115], 169, 45, "stream");
    let completer = T$0.CompleterOfFileN().sync();
    this[_openFuture].then(core.Null, dart.fn(openedFile => {
      if (openedFile == null) dart.nullFailed(I[115], 171, 23, "openedFile");
      let _subscription = null;
      let _subscription$35isSet = false;
      function _subscription$35get() {
        return _subscription$35isSet ? _subscription : dart.throw(new _internal.LateError.localNI("_subscription"));
      }
      dart.fn(_subscription$35get, T$0.VoidToStreamSubscriptionOfListOfint());
      function _subscription$35set(t197) {
        if (t197 == null) dart.nullFailed(I[115], 172, 42, "null");
        _subscription$35isSet = true;
        return _subscription = t197;
      }
      dart.fn(_subscription$35set, T$0.StreamSubscriptionOfListOfintTodynamic());
      function error(e, stackTrace) {
        if (stackTrace == null) dart.nullFailed(I[115], 173, 32, "stackTrace");
        _subscription$35get().cancel();
        openedFile.close();
        completer.completeError(core.Object.as(e), stackTrace);
      }
      dart.fn(error, T$0.dynamicAndStackTraceTovoid());
      _subscription$35set(stream.listen(dart.fn(d => {
        if (d == null) dart.nullFailed(I[115], 179, 38, "d");
        _subscription$35get().pause();
        try {
          openedFile.writeFrom(d, 0, d[$length]).then(dart.void, dart.fn(_ => {
            if (_ == null) dart.nullFailed(I[115], 184, 22, "_");
            return _subscription$35get().resume();
          }, T$0.RandomAccessFileTovoid()), {onError: error});
        } catch (e$) {
          let e = dart.getThrown(e$);
          let stackTrace = dart.stackTrace(e$);
          if (core.Object.is(e)) {
            error(e, stackTrace);
          } else
            throw e$;
        }
      }, T$0.ListOfintTovoid()), {onDone: dart.fn(() => {
          completer.complete(this[_file]);
        }, T$.VoidTovoid()), onError: error, cancelOnError: true}));
    }, T$0.RandomAccessFileToNull())).catchError(dart.bind(completer, 'completeError'));
    return completer.future;
  }
  close() {
    return this[_openFuture].then(dart.void, dart.fn(openedFile => {
      if (openedFile == null) dart.nullFailed(I[115], 196, 25, "openedFile");
      return openedFile.close();
    }, T$0.RandomAccessFileToFutureOfvoid())).then(T$0.FileN(), dart.fn(_ => this[_file], T$0.voidToFileN()));
  }
};
(io._FileStreamConsumer.new = function(file, mode) {
  if (file == null) dart.nullFailed(I[115], 162, 28, "file");
  if (mode == null) dart.nullFailed(I[115], 162, 43, "mode");
  this[_file] = file;
  this[_openFuture] = file.open({mode: mode});
  ;
}).prototype = io._FileStreamConsumer.prototype;
(io._FileStreamConsumer.fromStdio = function(fd) {
  if (fd == null) dart.nullFailed(I[115], 166, 37, "fd");
  this[_file] = null;
  this[_openFuture] = T$0.FutureOfRandomAccessFile().value(io._File._openStdioSync(fd));
  ;
}).prototype = io._FileStreamConsumer.prototype;
dart.addTypeTests(io._FileStreamConsumer);
dart.addTypeCaches(io._FileStreamConsumer);
dart.setMethodSignature(io._FileStreamConsumer, () => ({
  __proto__: dart.getMethods(io._FileStreamConsumer.__proto__),
  addStream: dart.fnType(async.Future$(dart.nullable(io.File)), [dart.nullable(core.Object)]),
  close: dart.fnType(async.Future$(dart.nullable(io.File)), [])
}));
dart.setLibraryUri(io._FileStreamConsumer, I[106]);
dart.setFieldSignature(io._FileStreamConsumer, () => ({
  __proto__: dart.getFields(io._FileStreamConsumer.__proto__),
  [_file]: dart.fieldType(dart.nullable(io.File)),
  [_openFuture]: dart.fieldType(async.Future$(io.RandomAccessFile))
}));
var _path$1 = dart.privateName(io, "_File._path");
var _rawPath$0 = dart.privateName(io, "_File._rawPath");
var _tryDecode = dart.privateName(io, "_tryDecode");
io._File = class _File extends io.FileSystemEntity {
  get [_path$0]() {
    return this[_path$1];
  }
  set [_path$0](value) {
    super[_path$0] = value;
  }
  get [_rawPath$]() {
    return this[_rawPath$0];
  }
  set [_rawPath$](value) {
    super[_rawPath$] = value;
  }
  get path() {
    return this[_path$0];
  }
  static _namespacePointer() {
    return io._Namespace._namespacePointer;
  }
  static _dispatchWithNamespace(request, data) {
    if (request == null) dart.nullFailed(I[115], 222, 44, "request");
    if (data == null) dart.nullFailed(I[115], 222, 58, "data");
    data[$_set](0, io._File._namespacePointer());
    return io._IOService._dispatch(request, data);
  }
  exists() {
    return io._File._dispatchWithNamespace(0, [null, this[_rawPath$]]).then(core.bool, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot check existence", this.path));
      }
      return T$.FutureOrOfbool().as(response);
    }, T$0.dynamicToFutureOrOfbool()));
  }
  static _exists(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 111, 29, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 111, 50, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._exists"));
  }
  existsSync() {
    let result = io._File._exists(io._Namespace._namespace, this[_rawPath$]);
    io._File.throwIfError(core.Object.as(result), "Cannot check existence of file", this.path);
    return core.bool.as(result);
  }
  get absolute() {
    return io.File.new(this[_absolutePath]);
  }
  create(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[115], 247, 29, "recursive");
    let result = dart.test(recursive) ? this.parent.create({recursive: true}) : T$.FutureOfNull().value(null);
    return result.then(dart.dynamic, dart.fn(_ => io._File._dispatchWithNamespace(1, [null, this[_rawPath$]]), T$0.DirectoryNToFuture())).then(io.File, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot create file", this.path));
      }
      return this;
    }, T$0.dynamicTo_File()));
  }
  static _create(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 116, 29, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 116, 50, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._create"));
  }
  static _createLink(namespace, rawPath, target) {
    if (namespace == null) dart.nullFailed(I[108], 121, 33, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 121, 54, "rawPath");
    if (target == null) dart.nullFailed(I[108], 121, 70, "target");
    dart.throw(new core.UnsupportedError.new("File._createLink"));
  }
  static _linkTarget(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 126, 33, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 126, 54, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._linkTarget"));
  }
  createSync(opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[115], 268, 25, "recursive");
    if (dart.test(recursive)) {
      this.parent.createSync({recursive: true});
    }
    let result = io._File._create(io._Namespace._namespace, this[_rawPath$]);
    io._File.throwIfError(core.Object.as(result), "Cannot create file", this.path);
  }
  [_delete](opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[115], 276, 30, "recursive");
    if (dart.test(recursive)) {
      return io.Directory.new(this.path).delete({recursive: true}).then(io.File, dart.fn(_ => {
        if (_ == null) dart.nullFailed(I[115], 278, 64, "_");
        return this;
      }, T$0.FileSystemEntityTo_File()));
    }
    return io._File._dispatchWithNamespace(2, [null, this[_rawPath$]]).then(io.File, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot delete file", this.path));
      }
      return this;
    }, T$0.dynamicTo_File()));
  }
  static _deleteNative(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 131, 35, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 131, 56, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._deleteNative"));
  }
  static _deleteLinkNative(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 136, 39, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 136, 60, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._deleteLinkNative"));
  }
  [_deleteSync](opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[115], 293, 26, "recursive");
    if (dart.test(recursive)) {
      return io.Directory.fromRawPath(this[_rawPath$]).deleteSync({recursive: true});
    }
    let result = io._File._deleteNative(io._Namespace._namespace, this[_rawPath$]);
    io._File.throwIfError(core.Object.as(result), "Cannot delete file", this.path);
  }
  rename(newPath) {
    if (newPath == null) dart.nullFailed(I[115], 301, 30, "newPath");
    return io._File._dispatchWithNamespace(3, [null, this[_rawPath$], newPath]).then(io.File, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot rename file to '" + dart.str(newPath) + "'", this.path));
      }
      return io.File.new(newPath);
    }, T$0.dynamicToFile()));
  }
  static _rename(namespace, oldPath, newPath) {
    if (namespace == null) dart.nullFailed(I[108], 141, 29, "namespace");
    if (oldPath == null) dart.nullFailed(I[108], 141, 50, "oldPath");
    if (newPath == null) dart.nullFailed(I[108], 141, 66, "newPath");
    dart.throw(new core.UnsupportedError.new("File._rename"));
  }
  static _renameLink(namespace, oldPath, newPath) {
    if (namespace == null) dart.nullFailed(I[108], 146, 33, "namespace");
    if (oldPath == null) dart.nullFailed(I[108], 146, 54, "oldPath");
    if (newPath == null) dart.nullFailed(I[108], 146, 70, "newPath");
    dart.throw(new core.UnsupportedError.new("File._renameLink"));
  }
  renameSync(newPath) {
    if (newPath == null) dart.nullFailed(I[115], 318, 26, "newPath");
    let result = io._File._rename(io._Namespace._namespace, this[_rawPath$], newPath);
    io._File.throwIfError(core.Object.as(result), "Cannot rename file to '" + dart.str(newPath) + "'", this.path);
    return io.File.new(newPath);
  }
  copy(newPath) {
    if (newPath == null) dart.nullFailed(I[115], 324, 28, "newPath");
    return io._File._dispatchWithNamespace(4, [null, this[_rawPath$], newPath]).then(io.File, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot copy file to '" + dart.str(newPath) + "'", this.path));
      }
      return io.File.new(newPath);
    }, T$0.dynamicToFile()));
  }
  static _copy(namespace, oldPath, newPath) {
    if (namespace == null) dart.nullFailed(I[108], 151, 27, "namespace");
    if (oldPath == null) dart.nullFailed(I[108], 151, 48, "oldPath");
    if (newPath == null) dart.nullFailed(I[108], 151, 64, "newPath");
    dart.throw(new core.UnsupportedError.new("File._copy"));
  }
  copySync(newPath) {
    if (newPath == null) dart.nullFailed(I[115], 338, 24, "newPath");
    let result = io._File._copy(io._Namespace._namespace, this[_rawPath$], newPath);
    io._File.throwIfError(core.Object.as(result), "Cannot copy file to '" + dart.str(newPath) + "'", this.path);
    return io.File.new(newPath);
  }
  open(opts) {
    let mode = opts && 'mode' in opts ? opts.mode : C[111] || CT.C111;
    if (mode == null) dart.nullFailed(I[115], 344, 43, "mode");
    if (!dart.equals(mode, io.FileMode.read) && !dart.equals(mode, io.FileMode.write) && !dart.equals(mode, io.FileMode.append) && !dart.equals(mode, io.FileMode.writeOnly) && !dart.equals(mode, io.FileMode.writeOnlyAppend)) {
      return T$0.FutureOfRandomAccessFile().error(new core.ArgumentError.new("Invalid file mode for this operation"));
    }
    return io._File._dispatchWithNamespace(5, [null, this[_rawPath$], mode[_mode]]).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot open file", this.path));
      }
      return new io._RandomAccessFile.new(core.int.as(response), this.path);
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  length() {
    return io._File._dispatchWithNamespace(12, [null, this[_rawPath$]]).then(core.int, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot retrieve length of file", this.path));
      }
      return T$0.FutureOrOfint().as(response);
    }, T$0.dynamicToFutureOrOfint()));
  }
  static _lengthFromPath(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 156, 37, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 156, 58, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._lengthFromPath"));
  }
  lengthSync() {
    let result = io._File._lengthFromPath(io._Namespace._namespace, this[_rawPath$]);
    io._File.throwIfError(core.Object.as(result), "Cannot retrieve length of file", this.path);
    return core.int.as(result);
  }
  lastAccessed() {
    return io._File._dispatchWithNamespace(13, [null, this[_rawPath$]]).then(core.DateTime, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot retrieve access time", this.path));
      }
      return new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(response));
    }, T$0.dynamicToDateTime()));
  }
  static _lastAccessed(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 166, 35, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 166, 56, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._lastAccessed"));
  }
  lastAccessedSync() {
    let ms = io._File._lastAccessed(io._Namespace._namespace, this[_rawPath$]);
    io._File.throwIfError(core.Object.as(ms), "Cannot retrieve access time", this.path);
    return new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(ms));
  }
  setLastAccessed(time) {
    if (time == null) dart.nullFailed(I[115], 400, 35, "time");
    let millis = time.millisecondsSinceEpoch;
    return io._File._dispatchWithNamespace(14, [null, this[_rawPath$], millis]).then(dart.dynamic, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot set access time", this.path));
      }
      return null;
    }, T$.dynamicToNull()));
  }
  static _setLastAccessed(namespace, rawPath, millis) {
    if (namespace == null) dart.nullFailed(I[108], 176, 38, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 176, 59, "rawPath");
    if (millis == null) dart.nullFailed(I[108], 176, 72, "millis");
    dart.throw(new core.UnsupportedError.new("File._setLastAccessed"));
  }
  setLastAccessedSync(time) {
    if (time == null) dart.nullFailed(I[115], 415, 37, "time");
    let millis = time.millisecondsSinceEpoch;
    let result = io._File._setLastAccessed(io._Namespace._namespace, this[_rawPath$], millis);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Failed to set file access time", this.path, result));
    }
  }
  lastModified() {
    return io._File._dispatchWithNamespace(15, [null, this[_rawPath$]]).then(core.DateTime, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot retrieve modification time", this.path));
      }
      return new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(response));
    }, T$0.dynamicToDateTime()));
  }
  static _lastModified(namespace, rawPath) {
    if (namespace == null) dart.nullFailed(I[108], 161, 35, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 161, 56, "rawPath");
    dart.throw(new core.UnsupportedError.new("File._lastModified"));
  }
  lastModifiedSync() {
    let ms = io._File._lastModified(io._Namespace._namespace, this[_rawPath$]);
    io._File.throwIfError(core.Object.as(ms), "Cannot retrieve modification time", this.path);
    return new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(ms));
  }
  setLastModified(time) {
    if (time == null) dart.nullFailed(I[115], 443, 35, "time");
    let millis = time.millisecondsSinceEpoch;
    return io._File._dispatchWithNamespace(16, [null, this[_rawPath$], millis]).then(dart.dynamic, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "Cannot set modification time", this.path));
      }
      return null;
    }, T$.dynamicToNull()));
  }
  static _setLastModified(namespace, rawPath, millis) {
    if (namespace == null) dart.nullFailed(I[108], 171, 38, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 171, 59, "rawPath");
    if (millis == null) dart.nullFailed(I[108], 171, 72, "millis");
    dart.throw(new core.UnsupportedError.new("File._setLastModified"));
  }
  setLastModifiedSync(time) {
    if (time == null) dart.nullFailed(I[115], 459, 37, "time");
    let millis = time.millisecondsSinceEpoch;
    let result = io._File._setLastModified(io._Namespace._namespace, this[_rawPath$], millis);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("Failed to set file modification time", this.path, result));
    }
  }
  static _open(namespace, rawPath, mode) {
    if (namespace == null) dart.nullFailed(I[108], 181, 27, "namespace");
    if (rawPath == null) dart.nullFailed(I[108], 181, 48, "rawPath");
    if (mode == null) dart.nullFailed(I[108], 181, 61, "mode");
    dart.throw(new core.UnsupportedError.new("File._open"));
  }
  openSync(opts) {
    let mode = opts && 'mode' in opts ? opts.mode : C[111] || CT.C111;
    if (mode == null) dart.nullFailed(I[115], 470, 39, "mode");
    if (!dart.equals(mode, io.FileMode.read) && !dart.equals(mode, io.FileMode.write) && !dart.equals(mode, io.FileMode.append) && !dart.equals(mode, io.FileMode.writeOnly) && !dart.equals(mode, io.FileMode.writeOnlyAppend)) {
      dart.throw(new core.ArgumentError.new("Invalid file mode for this operation"));
    }
    let id = io._File._open(io._Namespace._namespace, this[_rawPath$], mode[_mode]);
    io._File.throwIfError(core.Object.as(id), "Cannot open file", this.path);
    return new io._RandomAccessFile.new(core.int.as(id), this[_path$0]);
  }
  static _openStdio(fd) {
    if (fd == null) dart.nullFailed(I[108], 186, 29, "fd");
    dart.throw(new core.UnsupportedError.new("File._openStdio"));
  }
  static _openStdioSync(fd) {
    if (fd == null) dart.nullFailed(I[115], 485, 46, "fd");
    let id = io._File._openStdio(fd);
    if (id === 0) {
      dart.throw(new io.FileSystemException.new("Cannot open stdio file for: " + dart.str(fd)));
    }
    return new io._RandomAccessFile.new(id, "");
  }
  openRead(start = null, end = null) {
    return new io._FileStream.new(this.path, start, end);
  }
  openWrite(opts) {
    let mode = opts && 'mode' in opts ? opts.mode : C[112] || CT.C112;
    if (mode == null) dart.nullFailed(I[115], 497, 30, "mode");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 497, 62, "encoding");
    if (!dart.equals(mode, io.FileMode.write) && !dart.equals(mode, io.FileMode.append) && !dart.equals(mode, io.FileMode.writeOnly) && !dart.equals(mode, io.FileMode.writeOnlyAppend)) {
      dart.throw(new core.ArgumentError.new("Invalid file mode for this operation"));
    }
    let consumer = new io._FileStreamConsumer.new(this, mode);
    return io.IOSink.new(consumer, {encoding: encoding});
  }
  readAsBytes() {
    function readDataChunked(file) {
      if (file == null) dart.nullFailed(I[115], 509, 56, "file");
      let builder = _internal.BytesBuilder.new({copy: false});
      let completer = T$0.CompleterOfUint8List().new();
      function read() {
        file.read(65536).then(core.Null, dart.fn(data => {
          if (data == null) dart.nullFailed(I[115], 513, 37, "data");
          if (dart.notNull(data[$length]) > 0) {
            builder.add(data);
            read();
          } else {
            completer.complete(builder.takeBytes());
          }
        }, T$0.Uint8ListToNull()), {onError: dart.bind(completer, 'completeError')});
      }
      dart.fn(read, T$.VoidTovoid());
      read();
      return completer.future;
    }
    dart.fn(readDataChunked, T$0.RandomAccessFileToFutureOfUint8List());
    return this.open().then(typed_data.Uint8List, dart.fn(file => {
      if (file == null) dart.nullFailed(I[115], 527, 25, "file");
      return file.length().then(typed_data.Uint8List, dart.fn(length => {
        if (length == null) dart.nullFailed(I[115], 528, 34, "length");
        if (length === 0) {
          return readDataChunked(file);
        }
        return file.read(length);
      }, T$0.intToFutureOfUint8List())).whenComplete(dart.bind(file, 'close'));
    }, T$0.RandomAccessFileToFutureOfUint8List()));
  }
  readAsBytesSync() {
    let opened = this.openSync();
    try {
      let data = null;
      let length = opened.lengthSync();
      if (length === 0) {
        let builder = _internal.BytesBuilder.new({copy: false});
        do {
          data = opened.readSync(65536);
          if (dart.notNull(data[$length]) > 0) builder.add(data);
        } while (dart.notNull(data[$length]) > 0);
        data = builder.takeBytes();
      } else {
        data = opened.readSync(length);
      }
      return data;
    } finally {
      opened.closeSync();
    }
  }
  [_tryDecode](bytes, encoding) {
    if (bytes == null) dart.nullFailed(I[115], 560, 31, "bytes");
    if (encoding == null) dart.nullFailed(I[115], 560, 47, "encoding");
    try {
      return encoding.decode(bytes);
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
        dart.throw(new io.FileSystemException.new("Failed to decode data using encoding '" + dart.str(encoding.name) + "'", this.path));
      } else
        throw e;
    }
  }
  readAsString(opts) {
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 569, 41, "encoding");
    let stack = core.StackTrace.current;
    return this.readAsBytes().then(core.String, dart.fn(bytes => {
      if (bytes == null) dart.nullFailed(I[115], 574, 32, "bytes");
      try {
        return this[_tryDecode](bytes, encoding);
      } catch (e$) {
        let e = dart.getThrown(e$);
        if (core.Object.is(e)) {
          return T$0.FutureOfString().error(e, stack);
        } else
          throw e$;
      }
    }, T$0.Uint8ListToFutureOrOfString()));
  }
  readAsStringSync(opts) {
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 583, 37, "encoding");
    return this[_tryDecode](this.readAsBytesSync(), encoding);
  }
  readAsLines(opts) {
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 586, 46, "encoding");
    return this.readAsString({encoding: encoding}).then(T$.ListOfString(), dart.bind(C[120] || CT.C120, 'convert'));
  }
  readAsLinesSync(opts) {
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 589, 42, "encoding");
    return (C[120] || CT.C120).convert(this.readAsStringSync({encoding: encoding}));
  }
  writeAsBytes(bytes, opts) {
    if (bytes == null) dart.nullFailed(I[115], 592, 39, "bytes");
    let mode = opts && 'mode' in opts ? opts.mode : C[112] || CT.C112;
    if (mode == null) dart.nullFailed(I[115], 593, 17, "mode");
    let flush = opts && 'flush' in opts ? opts.flush : false;
    if (flush == null) dart.nullFailed(I[115], 593, 45, "flush");
    return this.open({mode: mode}).then(io.File, dart.fn(file => {
      if (file == null) dart.nullFailed(I[115], 594, 35, "file");
      return file.writeFrom(bytes, 0, bytes[$length]).then(io.File, dart.fn(_ => {
        if (_ == null) dart.nullFailed(I[115], 595, 65, "_");
        if (dart.test(flush)) return file.flush().then(io.File, dart.fn(_ => {
          if (_ == null) dart.nullFailed(I[115], 596, 46, "_");
          return this;
        }, T$0.RandomAccessFileTo_File()));
        return this;
      }, T$0.RandomAccessFileToFutureOrOfFile())).whenComplete(dart.bind(file, 'close'));
    }, T$0.RandomAccessFileToFutureOfFile()));
  }
  writeAsBytesSync(bytes, opts) {
    if (bytes == null) dart.nullFailed(I[115], 602, 35, "bytes");
    let mode = opts && 'mode' in opts ? opts.mode : C[112] || CT.C112;
    if (mode == null) dart.nullFailed(I[115], 603, 17, "mode");
    let flush = opts && 'flush' in opts ? opts.flush : false;
    if (flush == null) dart.nullFailed(I[115], 603, 45, "flush");
    let opened = this.openSync({mode: mode});
    try {
      opened.writeFromSync(bytes, 0, bytes[$length]);
      if (dart.test(flush)) opened.flushSync();
    } finally {
      opened.closeSync();
    }
  }
  writeAsString(contents, opts) {
    if (contents == null) dart.nullFailed(I[115], 613, 37, "contents");
    let mode = opts && 'mode' in opts ? opts.mode : C[112] || CT.C112;
    if (mode == null) dart.nullFailed(I[115], 614, 17, "mode");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 615, 16, "encoding");
    let flush = opts && 'flush' in opts ? opts.flush : false;
    if (flush == null) dart.nullFailed(I[115], 616, 12, "flush");
    try {
      return this.writeAsBytes(encoding.encode(contents), {mode: mode, flush: flush});
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        return T$0.FutureOfFile().error(e);
      } else
        throw e$;
    }
  }
  writeAsStringSync(contents, opts) {
    if (contents == null) dart.nullFailed(I[115], 624, 33, "contents");
    let mode = opts && 'mode' in opts ? opts.mode : C[112] || CT.C112;
    if (mode == null) dart.nullFailed(I[115], 625, 17, "mode");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 626, 16, "encoding");
    let flush = opts && 'flush' in opts ? opts.flush : false;
    if (flush == null) dart.nullFailed(I[115], 627, 12, "flush");
    this.writeAsBytesSync(encoding.encode(contents), {mode: mode, flush: flush});
  }
  toString() {
    return "File: '" + dart.str(this.path) + "'";
  }
  static throwIfError(result, msg, path) {
    if (result == null) dart.nullFailed(I[115], 633, 30, "result");
    if (msg == null) dart.nullFailed(I[115], 633, 45, "msg");
    if (path == null) dart.nullFailed(I[115], 633, 57, "path");
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new(msg, path, result));
    }
  }
  static _checkNotNull(T, t, name) {
    if (name == null) dart.nullFailed(I[115], 640, 41, "name");
    core.ArgumentError.checkNotNull(T, t, name);
    return t;
  }
};
(io._File.new = function(path) {
  if (path == null) dart.nullFailed(I[115], 204, 16, "path");
  this[_path$1] = io._File._checkNotNull(core.String, path, "path");
  this[_rawPath$0] = io.FileSystemEntity._toUtf8Array(path);
  ;
}).prototype = io._File.prototype;
(io._File.fromRawPath = function(rawPath) {
  if (rawPath == null) dart.nullFailed(I[115], 208, 31, "rawPath");
  this[_rawPath$0] = io.FileSystemEntity._toNullTerminatedUtf8Array(io._File._checkNotNull(typed_data.Uint8List, rawPath, "rawPath"));
  this[_path$1] = io.FileSystemEntity._toStringFromUtf8Array(rawPath);
  ;
}).prototype = io._File.prototype;
dart.addTypeTests(io._File);
dart.addTypeCaches(io._File);
io._File[dart.implements] = () => [io.File];
dart.setMethodSignature(io._File, () => ({
  __proto__: dart.getMethods(io._File.__proto__),
  exists: dart.fnType(async.Future$(core.bool), []),
  existsSync: dart.fnType(core.bool, []),
  create: dart.fnType(async.Future$(io.File), [], {recursive: core.bool}, {}),
  createSync: dart.fnType(dart.void, [], {recursive: core.bool}, {}),
  [_delete]: dart.fnType(async.Future$(io.File), [], {recursive: core.bool}, {}),
  [_deleteSync]: dart.fnType(dart.void, [], {recursive: core.bool}, {}),
  rename: dart.fnType(async.Future$(io.File), [core.String]),
  renameSync: dart.fnType(io.File, [core.String]),
  copy: dart.fnType(async.Future$(io.File), [core.String]),
  copySync: dart.fnType(io.File, [core.String]),
  open: dart.fnType(async.Future$(io.RandomAccessFile), [], {mode: io.FileMode}, {}),
  length: dart.fnType(async.Future$(core.int), []),
  lengthSync: dart.fnType(core.int, []),
  lastAccessed: dart.fnType(async.Future$(core.DateTime), []),
  lastAccessedSync: dart.fnType(core.DateTime, []),
  setLastAccessed: dart.fnType(async.Future, [core.DateTime]),
  setLastAccessedSync: dart.fnType(dart.void, [core.DateTime]),
  lastModified: dart.fnType(async.Future$(core.DateTime), []),
  lastModifiedSync: dart.fnType(core.DateTime, []),
  setLastModified: dart.fnType(async.Future, [core.DateTime]),
  setLastModifiedSync: dart.fnType(dart.void, [core.DateTime]),
  openSync: dart.fnType(io.RandomAccessFile, [], {mode: io.FileMode}, {}),
  openRead: dart.fnType(async.Stream$(core.List$(core.int)), [], [dart.nullable(core.int), dart.nullable(core.int)]),
  openWrite: dart.fnType(io.IOSink, [], {encoding: convert.Encoding, mode: io.FileMode}, {}),
  readAsBytes: dart.fnType(async.Future$(typed_data.Uint8List), []),
  readAsBytesSync: dart.fnType(typed_data.Uint8List, []),
  [_tryDecode]: dart.fnType(core.String, [core.List$(core.int), convert.Encoding]),
  readAsString: dart.fnType(async.Future$(core.String), [], {encoding: convert.Encoding}, {}),
  readAsStringSync: dart.fnType(core.String, [], {encoding: convert.Encoding}, {}),
  readAsLines: dart.fnType(async.Future$(core.List$(core.String)), [], {encoding: convert.Encoding}, {}),
  readAsLinesSync: dart.fnType(core.List$(core.String), [], {encoding: convert.Encoding}, {}),
  writeAsBytes: dart.fnType(async.Future$(io.File), [core.List$(core.int)], {flush: core.bool, mode: io.FileMode}, {}),
  writeAsBytesSync: dart.fnType(dart.void, [core.List$(core.int)], {flush: core.bool, mode: io.FileMode}, {}),
  writeAsString: dart.fnType(async.Future$(io.File), [core.String], {encoding: convert.Encoding, flush: core.bool, mode: io.FileMode}, {}),
  writeAsStringSync: dart.fnType(dart.void, [core.String], {encoding: convert.Encoding, flush: core.bool, mode: io.FileMode}, {})
}));
dart.setGetterSignature(io._File, () => ({
  __proto__: dart.getGetters(io._File.__proto__),
  path: core.String,
  absolute: io.File
}));
dart.setLibraryUri(io._File, I[106]);
dart.setFieldSignature(io._File, () => ({
  __proto__: dart.getFields(io._File.__proto__),
  [_path$0]: dart.finalFieldType(core.String),
  [_rawPath$]: dart.finalFieldType(typed_data.Uint8List)
}));
dart.defineExtensionMethods(io._File, ['toString']);
io._RandomAccessFileOps = class _RandomAccessFileOps extends core.Object {
  static new(pointer) {
    if (pointer == null) dart.nullFailed(I[108], 212, 36, "pointer");
    dart.throw(new core.UnsupportedError.new("RandomAccessFile"));
  }
};
(io._RandomAccessFileOps[dart.mixinNew] = function() {
}).prototype = io._RandomAccessFileOps.prototype;
dart.addTypeTests(io._RandomAccessFileOps);
dart.addTypeCaches(io._RandomAccessFileOps);
dart.setLibraryUri(io._RandomAccessFileOps, I[106]);
var _asyncDispatched = dart.privateName(io, "_asyncDispatched");
var ___RandomAccessFile__resourceInfo = dart.privateName(io, "_#_RandomAccessFile#_resourceInfo");
var ___RandomAccessFile__resourceInfo_isSet = dart.privateName(io, "_#_RandomAccessFile#_resourceInfo#isSet");
var _resourceInfo = dart.privateName(io, "_resourceInfo");
var _maybeConnectHandler = dart.privateName(io, "_maybeConnectHandler");
var _maybePerformCleanup = dart.privateName(io, "_maybePerformCleanup");
var _dispatch = dart.privateName(io, "_dispatch");
var _checkAvailable = dart.privateName(io, "_checkAvailable");
var _fileLockValue = dart.privateName(io, "_fileLockValue");
io._RandomAccessFile = class _RandomAccessFile extends core.Object {
  get [_resourceInfo]() {
    let t203;
    return dart.test(this[___RandomAccessFile__resourceInfo_isSet]) ? (t203 = this[___RandomAccessFile__resourceInfo], t203) : dart.throw(new _internal.LateError.fieldNI("_resourceInfo"));
  }
  set [_resourceInfo](t203) {
    if (t203 == null) dart.nullFailed(I[115], 671, 26, "null");
    this[___RandomAccessFile__resourceInfo_isSet] = true;
    this[___RandomAccessFile__resourceInfo] = t203;
  }
  [_maybePerformCleanup]() {
    if (dart.test(this.closed)) {
      io._FileResourceInfo.fileClosed(this[_resourceInfo]);
    }
  }
  [_maybeConnectHandler]() {
    if (!dart.test(io._RandomAccessFile._connectedResourceHandler)) {
      developer.registerExtension("ext.dart.io.getOpenFiles", C[121] || CT.C121);
      developer.registerExtension("ext.dart.io.getOpenFileById", C[122] || CT.C122);
      io._RandomAccessFile._connectedResourceHandler = true;
    }
  }
  close() {
    return this[_dispatch](7, [null], {markClosed: true}).then(dart.void, dart.fn(result => {
      if (dart.equals(result, -1)) {
        dart.throw(new io.FileSystemException.new("Cannot close file", this.path));
      }
      this.closed = dart.test(this.closed) || dart.equals(result, 0);
      this[_maybePerformCleanup]();
    }, T$.dynamicToNull()));
  }
  closeSync() {
    this[_checkAvailable]();
    let id = this[_ops].close();
    if (id === -1) {
      dart.throw(new io.FileSystemException.new("Cannot close file", this.path));
    }
    this.closed = dart.test(this.closed) || id === 0;
    this[_maybePerformCleanup]();
  }
  readByte() {
    return this[_dispatch](18, [null]).then(core.int, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "readByte failed", this.path));
      }
      this[_resourceInfo].addRead(1);
      return T$0.FutureOrOfint().as(response);
    }, T$0.dynamicToFutureOrOfint()));
  }
  readByteSync() {
    this[_checkAvailable]();
    let result = this[_ops].readByte();
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("readByte failed", this.path, result));
    }
    this[_resourceInfo].addRead(1);
    return core.int.as(result);
  }
  read(bytes) {
    if (bytes == null) dart.nullFailed(I[115], 741, 30, "bytes");
    core.ArgumentError.checkNotNull(core.int, bytes, "bytes");
    return this[_dispatch](20, [null, bytes]).then(typed_data.Uint8List, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "read failed", this.path));
      }
      this[_resourceInfo].addRead(core.int.as(dart.dload(dart.dsend(response, '_get', [1]), 'length')));
      let result = typed_data.Uint8List.as(dart.dsend(response, '_get', [1]));
      return result;
    }, T$0.dynamicToUint8List()));
  }
  readSync(bytes) {
    if (bytes == null) dart.nullFailed(I[115], 754, 26, "bytes");
    core.ArgumentError.checkNotNull(core.int, bytes, "bytes");
    this[_checkAvailable]();
    let result = this[_ops].read(bytes);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("readSync failed", this.path, result));
    }
    this[_resourceInfo].addRead(core.int.as(dart.dload(result, 'length')));
    return typed_data.Uint8List.as(result);
  }
  readInto(buffer, start = 0, end = null) {
    if (buffer == null) dart.nullFailed(I[115], 766, 34, "buffer");
    if (start == null) dart.nullFailed(I[115], 766, 47, "start");
    core.ArgumentError.checkNotNull(T$0.ListOfint(), buffer, "buffer");
    end = core.RangeError.checkValidRange(start, end, buffer[$length]);
    if (end == start) {
      return T$0.FutureOfint().value(0);
    }
    let length = dart.notNull(end) - dart.notNull(start);
    return this[_dispatch](21, [null, length]).then(core.int, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "readInto failed", this.path));
      }
      let read = core.int.as(dart.dsend(response, '_get', [1]));
      let data = T$0.ListOfint().as(dart.dsend(response, '_get', [2]));
      buffer[$setRange](start, dart.notNull(start) + dart.notNull(read), data);
      this[_resourceInfo].addRead(read);
      return read;
    }, T$0.dynamicToint()));
  }
  readIntoSync(buffer, start = 0, end = null) {
    if (buffer == null) dart.nullFailed(I[115], 786, 30, "buffer");
    if (start == null) dart.nullFailed(I[115], 786, 43, "start");
    core.ArgumentError.checkNotNull(T$0.ListOfint(), buffer, "buffer");
    this[_checkAvailable]();
    end = core.RangeError.checkValidRange(start, end, buffer[$length]);
    if (end == start) {
      return 0;
    }
    let result = this[_ops].readInto(buffer, start, end);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("readInto failed", this.path, result));
    }
    this[_resourceInfo].addRead(core.int.as(result));
    return core.int.as(result);
  }
  writeByte(value) {
    if (value == null) dart.nullFailed(I[115], 802, 42, "value");
    core.ArgumentError.checkNotNull(core.int, value, "value");
    return this[_dispatch](19, [null, value]).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "writeByte failed", this.path));
      }
      this[_resourceInfo].addWrite(1);
      return this;
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  writeByteSync(value) {
    if (value == null) dart.nullFailed(I[115], 814, 25, "value");
    this[_checkAvailable]();
    core.ArgumentError.checkNotNull(core.int, value, "value");
    let result = this[_ops].writeByte(value);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("writeByte failed", this.path, result));
    }
    this[_resourceInfo].addWrite(1);
    return core.int.as(result);
  }
  writeFrom(buffer, start = 0, end = null) {
    if (buffer == null) dart.nullFailed(I[115], 826, 48, "buffer");
    if (start == null) dart.nullFailed(I[115], 827, 12, "start");
    core.ArgumentError.checkNotNull(T$0.ListOfint(), buffer, "buffer");
    core.ArgumentError.checkNotNull(core.int, start, "start");
    end = core.RangeError.checkValidRange(start, end, buffer[$length]);
    if (end == start) {
      return T$0.FutureOfRandomAccessFile().value(this);
    }
    let result = null;
    try {
      result = io._ensureFastAndSerializableByteData(buffer, start, end);
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        return T$0.FutureOfRandomAccessFile().error(e);
      } else
        throw e$;
    }
    let request = core.List.filled(4, null);
    request[$_set](0, null);
    request[$_set](1, result.buffer);
    request[$_set](2, result.start);
    request[$_set](3, dart.notNull(end) - (dart.notNull(start) - dart.notNull(result.start)));
    return this[_dispatch](22, request).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "writeFrom failed", this.path));
      }
      this[_resourceInfo].addWrite(dart.nullCheck(end) - (dart.notNull(start) - dart.notNull(result.start)));
      return this;
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  writeFromSync(buffer, start = 0, end = null) {
    if (buffer == null) dart.nullFailed(I[115], 856, 32, "buffer");
    if (start == null) dart.nullFailed(I[115], 856, 45, "start");
    this[_checkAvailable]();
    core.ArgumentError.checkNotNull(T$0.ListOfint(), buffer, "buffer");
    core.ArgumentError.checkNotNull(core.int, start, "start");
    end = core.RangeError.checkValidRange(start, end, buffer[$length]);
    if (end == start) {
      return;
    }
    let bufferAndStart = io._ensureFastAndSerializableByteData(buffer, start, end);
    let result = this[_ops].writeFrom(bufferAndStart.buffer, bufferAndStart.start, dart.notNull(end) - (dart.notNull(start) - dart.notNull(bufferAndStart.start)));
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("writeFrom failed", this.path, result));
    }
    this[_resourceInfo].addWrite(dart.notNull(end) - (dart.notNull(start) - dart.notNull(bufferAndStart.start)));
  }
  writeString(string, opts) {
    if (string == null) dart.nullFailed(I[115], 875, 47, "string");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 876, 17, "encoding");
    core.ArgumentError.checkNotNull(convert.Encoding, encoding, "encoding");
    let data = encoding.encode(string);
    return this.writeFrom(data, 0, data[$length]);
  }
  writeStringSync(string, opts) {
    if (string == null) dart.nullFailed(I[115], 883, 31, "string");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[115], 883, 49, "encoding");
    core.ArgumentError.checkNotNull(convert.Encoding, encoding, "encoding");
    let data = encoding.encode(string);
    this.writeFromSync(data, 0, data[$length]);
  }
  position() {
    return this[_dispatch](8, [null]).then(core.int, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "position failed", this.path));
      }
      return T$0.FutureOrOfint().as(response);
    }, T$0.dynamicToFutureOrOfint()));
  }
  positionSync() {
    this[_checkAvailable]();
    let result = this[_ops].position();
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("position failed", this.path, result));
    }
    return core.int.as(result);
  }
  setPosition(position) {
    if (position == null) dart.nullFailed(I[115], 908, 44, "position");
    return this[_dispatch](9, [null, position]).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "setPosition failed", this.path));
      }
      return this;
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  setPositionSync(position) {
    if (position == null) dart.nullFailed(I[115], 918, 28, "position");
    this[_checkAvailable]();
    let result = this[_ops].setPosition(position);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("setPosition failed", this.path, result));
    }
  }
  truncate(length) {
    if (length == null) dart.nullFailed(I[115], 926, 41, "length");
    return this[_dispatch](10, [null, length]).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "truncate failed", this.path));
      }
      return this;
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  truncateSync(length) {
    if (length == null) dart.nullFailed(I[115], 935, 25, "length");
    this[_checkAvailable]();
    let result = this[_ops].truncate(length);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("truncate failed", this.path, result));
    }
  }
  length() {
    return this[_dispatch](11, [null]).then(core.int, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "length failed", this.path));
      }
      return T$0.FutureOrOfint().as(response);
    }, T$0.dynamicToFutureOrOfint()));
  }
  lengthSync() {
    this[_checkAvailable]();
    let result = this[_ops].length();
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("length failed", this.path, result));
    }
    return core.int.as(result);
  }
  flush() {
    return this[_dispatch](17, [null]).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "flush failed", this.path));
      }
      return this;
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  flushSync() {
    this[_checkAvailable]();
    let result = this[_ops].flush();
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("flush failed", this.path, result));
    }
  }
  [_fileLockValue](fl) {
    if (fl == null) dart.nullFailed(I[115], 984, 31, "fl");
    return fl[_type];
  }
  lock(mode = C[117] || CT.C117, start = 0, end = -1) {
    if (mode == null) dart.nullFailed(I[115], 987, 17, "mode");
    if (start == null) dart.nullFailed(I[115], 987, 48, "start");
    if (end == null) dart.nullFailed(I[115], 987, 63, "end");
    core.ArgumentError.checkNotNull(io.FileLock, mode, "mode");
    core.ArgumentError.checkNotNull(core.int, start, "start");
    core.ArgumentError.checkNotNull(core.int, end, "end");
    if (dart.notNull(start) < 0 || dart.notNull(end) < -1 || end !== -1 && dart.notNull(start) >= dart.notNull(end)) {
      dart.throw(new core.ArgumentError.new());
    }
    let lock = this[_fileLockValue](mode);
    return this[_dispatch](30, [null, lock, start, end]).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "lock failed", this.path));
      }
      return this;
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  unlock(start = 0, end = -1) {
    if (start == null) dart.nullFailed(I[115], 1005, 40, "start");
    if (end == null) dart.nullFailed(I[115], 1005, 55, "end");
    core.ArgumentError.checkNotNull(core.int, start, "start");
    core.ArgumentError.checkNotNull(core.int, end, "end");
    if (start == end) {
      dart.throw(new core.ArgumentError.new());
    }
    return this[_dispatch](30, [null, 0, start, end]).then(io.RandomAccessFile, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        dart.throw(io._exceptionFromResponse(response, "unlock failed", this.path));
      }
      return this;
    }, T$0.dynamicTo_RandomAccessFile()));
  }
  lockSync(mode = C[117] || CT.C117, start = 0, end = -1) {
    if (mode == null) dart.nullFailed(I[115], 1022, 17, "mode");
    if (start == null) dart.nullFailed(I[115], 1022, 48, "start");
    if (end == null) dart.nullFailed(I[115], 1022, 63, "end");
    this[_checkAvailable]();
    core.ArgumentError.checkNotNull(io.FileLock, mode, "mode");
    core.ArgumentError.checkNotNull(core.int, start, "start");
    core.ArgumentError.checkNotNull(core.int, end, "end");
    if (dart.notNull(start) < 0 || dart.notNull(end) < -1 || end !== -1 && dart.notNull(start) >= dart.notNull(end)) {
      dart.throw(new core.ArgumentError.new());
    }
    let lock = this[_fileLockValue](mode);
    let result = this[_ops].lock(lock, start, end);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("lock failed", this.path, result));
    }
  }
  unlockSync(start = 0, end = -1) {
    if (start == null) dart.nullFailed(I[115], 1038, 24, "start");
    if (end == null) dart.nullFailed(I[115], 1038, 39, "end");
    this[_checkAvailable]();
    core.ArgumentError.checkNotNull(core.int, start, "start");
    core.ArgumentError.checkNotNull(core.int, end, "end");
    if (start == end) {
      dart.throw(new core.ArgumentError.new());
    }
    let result = this[_ops].lock(0, start, end);
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new("unlock failed", this.path, result));
    }
  }
  [_pointer]() {
    return this[_ops].getPointer();
  }
  [_dispatch](request, data, opts) {
    if (request == null) dart.nullFailed(I[115], 1061, 24, "request");
    if (data == null) dart.nullFailed(I[115], 1061, 38, "data");
    let markClosed = opts && 'markClosed' in opts ? opts.markClosed : false;
    if (markClosed == null) dart.nullFailed(I[115], 1061, 50, "markClosed");
    if (dart.test(this.closed)) {
      return async.Future.error(new io.FileSystemException.new("File closed", this.path));
    }
    if (dart.test(this[_asyncDispatched])) {
      let msg = "An async operation is currently pending";
      return async.Future.error(new io.FileSystemException.new(msg, this.path));
    }
    if (dart.test(markClosed)) {
      this.closed = true;
    }
    this[_asyncDispatched] = true;
    data[$_set](0, this[_pointer]());
    return io._IOService._dispatch(request, data).whenComplete(dart.fn(() => {
      this[_asyncDispatched] = false;
    }, T$.VoidToNull()));
  }
  [_checkAvailable]() {
    if (dart.test(this[_asyncDispatched])) {
      dart.throw(new io.FileSystemException.new("An async operation is currently pending", this.path));
    }
    if (dart.test(this.closed)) {
      dart.throw(new io.FileSystemException.new("File closed", this.path));
    }
  }
};
(io._RandomAccessFile.new = function(pointer, path) {
  if (pointer == null) dart.nullFailed(I[115], 674, 25, "pointer");
  if (path == null) dart.nullFailed(I[115], 674, 39, "path");
  this[_asyncDispatched] = false;
  this[___RandomAccessFile__resourceInfo] = null;
  this[___RandomAccessFile__resourceInfo_isSet] = false;
  this.closed = false;
  this.path = path;
  this[_ops] = io._RandomAccessFileOps.new(pointer);
  this[_resourceInfo] = new io._FileResourceInfo.new(this);
  this[_maybeConnectHandler]();
}).prototype = io._RandomAccessFile.prototype;
dart.addTypeTests(io._RandomAccessFile);
dart.addTypeCaches(io._RandomAccessFile);
io._RandomAccessFile[dart.implements] = () => [io.RandomAccessFile];
dart.setMethodSignature(io._RandomAccessFile, () => ({
  __proto__: dart.getMethods(io._RandomAccessFile.__proto__),
  [_maybePerformCleanup]: dart.fnType(dart.void, []),
  [_maybeConnectHandler]: dart.fnType(dart.dynamic, []),
  close: dart.fnType(async.Future$(dart.void), []),
  closeSync: dart.fnType(dart.void, []),
  readByte: dart.fnType(async.Future$(core.int), []),
  readByteSync: dart.fnType(core.int, []),
  read: dart.fnType(async.Future$(typed_data.Uint8List), [core.int]),
  readSync: dart.fnType(typed_data.Uint8List, [core.int]),
  readInto: dart.fnType(async.Future$(core.int), [core.List$(core.int)], [core.int, dart.nullable(core.int)]),
  readIntoSync: dart.fnType(core.int, [core.List$(core.int)], [core.int, dart.nullable(core.int)]),
  writeByte: dart.fnType(async.Future$(io.RandomAccessFile), [core.int]),
  writeByteSync: dart.fnType(core.int, [core.int]),
  writeFrom: dart.fnType(async.Future$(io.RandomAccessFile), [core.List$(core.int)], [core.int, dart.nullable(core.int)]),
  writeFromSync: dart.fnType(dart.void, [core.List$(core.int)], [core.int, dart.nullable(core.int)]),
  writeString: dart.fnType(async.Future$(io.RandomAccessFile), [core.String], {encoding: convert.Encoding}, {}),
  writeStringSync: dart.fnType(dart.void, [core.String], {encoding: convert.Encoding}, {}),
  position: dart.fnType(async.Future$(core.int), []),
  positionSync: dart.fnType(core.int, []),
  setPosition: dart.fnType(async.Future$(io.RandomAccessFile), [core.int]),
  setPositionSync: dart.fnType(dart.void, [core.int]),
  truncate: dart.fnType(async.Future$(io.RandomAccessFile), [core.int]),
  truncateSync: dart.fnType(dart.void, [core.int]),
  length: dart.fnType(async.Future$(core.int), []),
  lengthSync: dart.fnType(core.int, []),
  flush: dart.fnType(async.Future$(io.RandomAccessFile), []),
  flushSync: dart.fnType(dart.void, []),
  [_fileLockValue]: dart.fnType(core.int, [io.FileLock]),
  lock: dart.fnType(async.Future$(io.RandomAccessFile), [], [io.FileLock, core.int, core.int]),
  unlock: dart.fnType(async.Future$(io.RandomAccessFile), [], [core.int, core.int]),
  lockSync: dart.fnType(dart.void, [], [io.FileLock, core.int, core.int]),
  unlockSync: dart.fnType(dart.void, [], [core.int, core.int]),
  [_pointer]: dart.fnType(core.int, []),
  [_dispatch]: dart.fnType(async.Future, [core.int, core.List], {markClosed: core.bool}, {}),
  [_checkAvailable]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(io._RandomAccessFile, () => ({
  __proto__: dart.getGetters(io._RandomAccessFile.__proto__),
  [_resourceInfo]: io._FileResourceInfo
}));
dart.setSetterSignature(io._RandomAccessFile, () => ({
  __proto__: dart.getSetters(io._RandomAccessFile.__proto__),
  [_resourceInfo]: io._FileResourceInfo
}));
dart.setLibraryUri(io._RandomAccessFile, I[106]);
dart.setFieldSignature(io._RandomAccessFile, () => ({
  __proto__: dart.getFields(io._RandomAccessFile.__proto__),
  path: dart.finalFieldType(core.String),
  [_asyncDispatched]: dart.fieldType(core.bool),
  [___RandomAccessFile__resourceInfo]: dart.fieldType(dart.nullable(io._FileResourceInfo)),
  [___RandomAccessFile__resourceInfo_isSet]: dart.fieldType(core.bool),
  [_ops]: dart.fieldType(io._RandomAccessFileOps),
  closed: dart.fieldType(core.bool)
}));
dart.defineLazy(io._RandomAccessFile, {
  /*io._RandomAccessFile._connectedResourceHandler*/get _connectedResourceHandler() {
    return false;
  },
  set _connectedResourceHandler(_) {},
  /*io._RandomAccessFile.lockUnlock*/get lockUnlock() {
    return 0;
  }
}, false);
var _type$2 = dart.privateName(io, "FileSystemEntityType._type");
io.FileSystemEntityType = class FileSystemEntityType extends core.Object {
  get [_type]() {
    return this[_type$2];
  }
  set [_type](value) {
    super[_type] = value;
  }
  static _lookup(type) {
    if (type == null) dart.nullFailed(I[112], 39, 43, "type");
    return io.FileSystemEntityType._typeList[$_get](type);
  }
  toString() {
    return (C[123] || CT.C123)[$_get](this[_type]);
  }
};
(io.FileSystemEntityType._internal = function(_type) {
  if (_type == null) dart.nullFailed(I[112], 37, 45, "_type");
  this[_type$2] = _type;
  ;
}).prototype = io.FileSystemEntityType.prototype;
dart.addTypeTests(io.FileSystemEntityType);
dart.addTypeCaches(io.FileSystemEntityType);
dart.setLibraryUri(io.FileSystemEntityType, I[106]);
dart.setFieldSignature(io.FileSystemEntityType, () => ({
  __proto__: dart.getFields(io.FileSystemEntityType.__proto__),
  [_type]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(io.FileSystemEntityType, ['toString']);
dart.defineLazy(io.FileSystemEntityType, {
  /*io.FileSystemEntityType.file*/get file() {
    return C[124] || CT.C124;
  },
  /*io.FileSystemEntityType.FILE*/get FILE() {
    return C[124] || CT.C124;
  },
  /*io.FileSystemEntityType.directory*/get directory() {
    return C[125] || CT.C125;
  },
  /*io.FileSystemEntityType.DIRECTORY*/get DIRECTORY() {
    return C[125] || CT.C125;
  },
  /*io.FileSystemEntityType.link*/get link() {
    return C[126] || CT.C126;
  },
  /*io.FileSystemEntityType.LINK*/get LINK() {
    return C[126] || CT.C126;
  },
  /*io.FileSystemEntityType.notFound*/get notFound() {
    return C[127] || CT.C127;
  },
  /*io.FileSystemEntityType.NOT_FOUND*/get NOT_FOUND() {
    return C[127] || CT.C127;
  },
  /*io.FileSystemEntityType._typeList*/get _typeList() {
    return C[128] || CT.C128;
  }
}, false);
var changed$ = dart.privateName(io, "FileStat.changed");
var modified$ = dart.privateName(io, "FileStat.modified");
var accessed$ = dart.privateName(io, "FileStat.accessed");
var type$1 = dart.privateName(io, "FileStat.type");
var mode$0 = dart.privateName(io, "FileStat.mode");
var size$ = dart.privateName(io, "FileStat.size");
io.FileStat = class FileStat extends core.Object {
  get changed() {
    return this[changed$];
  }
  set changed(value) {
    super.changed = value;
  }
  get modified() {
    return this[modified$];
  }
  set modified(value) {
    super.modified = value;
  }
  get accessed() {
    return this[accessed$];
  }
  set accessed(value) {
    super.accessed = value;
  }
  get type() {
    return this[type$1];
  }
  set type(value) {
    super.type = value;
  }
  get mode() {
    return this[mode$0];
  }
  set mode(value) {
    super.mode = value;
  }
  get size() {
    return this[size$];
  }
  set size(value) {
    super.size = value;
  }
  static _statSync(namespace, path) {
    if (namespace == null) dart.nullFailed(I[108], 84, 31, "namespace");
    if (path == null) dart.nullFailed(I[108], 84, 49, "path");
    dart.throw(new core.UnsupportedError.new("FileStat.stat"));
  }
  static statSync(path) {
    if (path == null) dart.nullFailed(I[112], 99, 35, "path");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.FileStat._statSyncInternal(path);
    }
    return overrides.statSync(path);
  }
  static _statSyncInternal(path) {
    if (path == null) dart.nullFailed(I[112], 107, 44, "path");
    if (dart.test(io.Platform.isWindows)) {
      path = io.FileSystemEntity._trimTrailingPathSeparators(path);
    }
    let data = io.FileStat._statSync(io._Namespace._namespace, path);
    if (io.OSError.is(data)) return io.FileStat._notFound;
    return new io.FileStat._internal(new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(dart.dsend(data, '_get', [1]))), new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(dart.dsend(data, '_get', [2]))), new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(dart.dsend(data, '_get', [3]))), io.FileSystemEntityType._lookup(core.int.as(dart.dsend(data, '_get', [0]))), core.int.as(dart.dsend(data, '_get', [4])), core.int.as(dart.dsend(data, '_get', [5])));
  }
  static stat(path) {
    if (path == null) dart.nullFailed(I[112], 127, 39, "path");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.FileStat._stat(path);
    }
    return overrides.stat(path);
  }
  static _stat(path) {
    if (path == null) dart.nullFailed(I[112], 135, 40, "path");
    if (dart.test(io.Platform.isWindows)) {
      path = io.FileSystemEntity._trimTrailingPathSeparators(path);
    }
    return io._File._dispatchWithNamespace(29, [null, path]).then(io.FileStat, dart.fn(response => {
      if (dart.test(io._isErrorResponse(response))) {
        return io.FileStat._notFound;
      }
      let data = core.List.as(dart.dsend(response, '_get', [1]));
      return new io.FileStat._internal(new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(data[$_get](1))), new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(data[$_get](2))), new core.DateTime.fromMillisecondsSinceEpoch(core.int.as(data[$_get](3))), io.FileSystemEntityType._lookup(core.int.as(data[$_get](0))), core.int.as(data[$_get](4)), core.int.as(data[$_get](5)));
    }, T$0.dynamicToFileStat()));
  }
  toString() {
    return "FileStat: type " + dart.str(this.type) + "\n          changed " + dart.str(this.changed) + "\n          modified " + dart.str(this.modified) + "\n          accessed " + dart.str(this.accessed) + "\n          mode " + dart.str(this.modeString()) + "\n          size " + dart.str(this.size);
  }
  modeString() {
    let t205;
    let permissions = dart.notNull(this.mode) & 4095;
    let codes = C[129] || CT.C129;
    let result = [];
    if ((permissions & 2048) !== 0) result[$add]("(suid) ");
    if ((permissions & 1024) !== 0) result[$add]("(guid) ");
    if ((permissions & 512) !== 0) result[$add]("(sticky) ");
    t205 = result;
    (() => {
      t205[$add](codes[$_get](permissions >> 6 & 7));
      t205[$add](codes[$_get](permissions >> 3 & 7));
      t205[$add](codes[$_get](permissions & 7));
      return t205;
    })();
    return result[$join]();
  }
};
(io.FileStat._internal = function(changed, modified, accessed, type, mode, size) {
  if (changed == null) dart.nullFailed(I[112], 89, 27, "changed");
  if (modified == null) dart.nullFailed(I[112], 89, 41, "modified");
  if (accessed == null) dart.nullFailed(I[112], 89, 56, "accessed");
  if (type == null) dart.nullFailed(I[112], 89, 71, "type");
  if (mode == null) dart.nullFailed(I[112], 90, 12, "mode");
  if (size == null) dart.nullFailed(I[112], 90, 23, "size");
  this[changed$] = changed;
  this[modified$] = modified;
  this[accessed$] = accessed;
  this[type$1] = type;
  this[mode$0] = mode;
  this[size$] = size;
  ;
}).prototype = io.FileStat.prototype;
dart.addTypeTests(io.FileStat);
dart.addTypeCaches(io.FileStat);
dart.setMethodSignature(io.FileStat, () => ({
  __proto__: dart.getMethods(io.FileStat.__proto__),
  modeString: dart.fnType(core.String, [])
}));
dart.setLibraryUri(io.FileStat, I[106]);
dart.setFieldSignature(io.FileStat, () => ({
  __proto__: dart.getFields(io.FileStat.__proto__),
  changed: dart.finalFieldType(core.DateTime),
  modified: dart.finalFieldType(core.DateTime),
  accessed: dart.finalFieldType(core.DateTime),
  type: dart.finalFieldType(io.FileSystemEntityType),
  mode: dart.finalFieldType(core.int),
  size: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(io.FileStat, ['toString']);
dart.defineLazy(io.FileStat, {
  /*io.FileStat._type*/get _type() {
    return 0;
  },
  /*io.FileStat._changedTime*/get _changedTime() {
    return 1;
  },
  /*io.FileStat._modifiedTime*/get _modifiedTime() {
    return 2;
  },
  /*io.FileStat._accessedTime*/get _accessedTime() {
    return 3;
  },
  /*io.FileStat._mode*/get _mode() {
    return 4;
  },
  /*io.FileStat._size*/get _size() {
    return 5;
  },
  /*io.FileStat._epoch*/get _epoch() {
    return new core.DateTime.fromMillisecondsSinceEpoch(0, {isUtc: true});
  },
  /*io.FileStat._notFound*/get _notFound() {
    return new io.FileStat._internal(io.FileStat._epoch, io.FileStat._epoch, io.FileStat._epoch, io.FileSystemEntityType.notFound, 0, -1);
  }
}, false);
var type$2 = dart.privateName(io, "FileSystemEvent.type");
var path$0 = dart.privateName(io, "FileSystemEvent.path");
var isDirectory$ = dart.privateName(io, "FileSystemEvent.isDirectory");
io.FileSystemEvent = class FileSystemEvent extends core.Object {
  get type() {
    return this[type$2];
  }
  set type(value) {
    super.type = value;
  }
  get path() {
    return this[path$0];
  }
  set path(value) {
    super.path = value;
  }
  get isDirectory() {
    return this[isDirectory$];
  }
  set isDirectory(value) {
    super.isDirectory = value;
  }
};
(io.FileSystemEvent.__ = function(type, path, isDirectory) {
  if (type == null) dart.nullFailed(I[112], 905, 26, "type");
  if (path == null) dart.nullFailed(I[112], 905, 37, "path");
  if (isDirectory == null) dart.nullFailed(I[112], 905, 48, "isDirectory");
  this[type$2] = type;
  this[path$0] = path;
  this[isDirectory$] = isDirectory;
  ;
}).prototype = io.FileSystemEvent.prototype;
dart.addTypeTests(io.FileSystemEvent);
dart.addTypeCaches(io.FileSystemEvent);
dart.setLibraryUri(io.FileSystemEvent, I[106]);
dart.setFieldSignature(io.FileSystemEvent, () => ({
  __proto__: dart.getFields(io.FileSystemEvent.__proto__),
  type: dart.finalFieldType(core.int),
  path: dart.finalFieldType(core.String),
  isDirectory: dart.finalFieldType(core.bool)
}));
dart.defineLazy(io.FileSystemEvent, {
  /*io.FileSystemEvent.create*/get create() {
    return 1;
  },
  /*io.FileSystemEvent.CREATE*/get CREATE() {
    return 1;
  },
  /*io.FileSystemEvent.modify*/get modify() {
    return 2;
  },
  /*io.FileSystemEvent.MODIFY*/get MODIFY() {
    return 2;
  },
  /*io.FileSystemEvent.delete*/get delete() {
    return 4;
  },
  /*io.FileSystemEvent.DELETE*/get DELETE() {
    return 4;
  },
  /*io.FileSystemEvent.move*/get move() {
    return 8;
  },
  /*io.FileSystemEvent.MOVE*/get MOVE() {
    return 8;
  },
  /*io.FileSystemEvent.all*/get all() {
    return 15;
  },
  /*io.FileSystemEvent.ALL*/get ALL() {
    return 15;
  },
  /*io.FileSystemEvent._modifyAttributes*/get _modifyAttributes() {
    return 16;
  },
  /*io.FileSystemEvent._deleteSelf*/get _deleteSelf() {
    return 32;
  },
  /*io.FileSystemEvent._isDir*/get _isDir() {
    return 64;
  }
}, false);
io.FileSystemCreateEvent = class FileSystemCreateEvent extends io.FileSystemEvent {
  toString() {
    return "FileSystemCreateEvent('" + dart.str(this.path) + "')";
  }
};
(io.FileSystemCreateEvent.__ = function(path, isDirectory) {
  io.FileSystemCreateEvent.__proto__.__.call(this, 1, core.String.as(path), core.bool.as(isDirectory));
  ;
}).prototype = io.FileSystemCreateEvent.prototype;
dart.addTypeTests(io.FileSystemCreateEvent);
dart.addTypeCaches(io.FileSystemCreateEvent);
dart.setLibraryUri(io.FileSystemCreateEvent, I[106]);
dart.defineExtensionMethods(io.FileSystemCreateEvent, ['toString']);
var contentChanged$ = dart.privateName(io, "FileSystemModifyEvent.contentChanged");
io.FileSystemModifyEvent = class FileSystemModifyEvent extends io.FileSystemEvent {
  get contentChanged() {
    return this[contentChanged$];
  }
  set contentChanged(value) {
    super.contentChanged = value;
  }
  toString() {
    return "FileSystemModifyEvent('" + dart.str(this.path) + "', contentChanged=" + dart.str(this.contentChanged) + ")";
  }
};
(io.FileSystemModifyEvent.__ = function(path, isDirectory, contentChanged) {
  if (contentChanged == null) dart.nullFailed(I[112], 922, 51, "contentChanged");
  this[contentChanged$] = contentChanged;
  io.FileSystemModifyEvent.__proto__.__.call(this, 2, core.String.as(path), core.bool.as(isDirectory));
  ;
}).prototype = io.FileSystemModifyEvent.prototype;
dart.addTypeTests(io.FileSystemModifyEvent);
dart.addTypeCaches(io.FileSystemModifyEvent);
dart.setLibraryUri(io.FileSystemModifyEvent, I[106]);
dart.setFieldSignature(io.FileSystemModifyEvent, () => ({
  __proto__: dart.getFields(io.FileSystemModifyEvent.__proto__),
  contentChanged: dart.finalFieldType(core.bool)
}));
dart.defineExtensionMethods(io.FileSystemModifyEvent, ['toString']);
io.FileSystemDeleteEvent = class FileSystemDeleteEvent extends io.FileSystemEvent {
  toString() {
    return "FileSystemDeleteEvent('" + dart.str(this.path) + "')";
  }
};
(io.FileSystemDeleteEvent.__ = function(path, isDirectory) {
  io.FileSystemDeleteEvent.__proto__.__.call(this, 4, core.String.as(path), core.bool.as(isDirectory));
  ;
}).prototype = io.FileSystemDeleteEvent.prototype;
dart.addTypeTests(io.FileSystemDeleteEvent);
dart.addTypeCaches(io.FileSystemDeleteEvent);
dart.setLibraryUri(io.FileSystemDeleteEvent, I[106]);
dart.defineExtensionMethods(io.FileSystemDeleteEvent, ['toString']);
var destination$ = dart.privateName(io, "FileSystemMoveEvent.destination");
io.FileSystemMoveEvent = class FileSystemMoveEvent extends io.FileSystemEvent {
  get destination() {
    return this[destination$];
  }
  set destination(value) {
    super.destination = value;
  }
  toString() {
    let buffer = new core.StringBuffer.new();
    buffer.write("FileSystemMoveEvent('" + dart.str(this.path) + "'");
    if (this.destination != null) buffer.write(", '" + dart.str(this.destination) + "'");
    buffer.write(")");
    return buffer.toString();
  }
};
(io.FileSystemMoveEvent.__ = function(path, isDirectory, destination) {
  this[destination$] = destination;
  io.FileSystemMoveEvent.__proto__.__.call(this, 8, core.String.as(path), core.bool.as(isDirectory));
  ;
}).prototype = io.FileSystemMoveEvent.prototype;
dart.addTypeTests(io.FileSystemMoveEvent);
dart.addTypeCaches(io.FileSystemMoveEvent);
dart.setLibraryUri(io.FileSystemMoveEvent, I[106]);
dart.setFieldSignature(io.FileSystemMoveEvent, () => ({
  __proto__: dart.getFields(io.FileSystemMoveEvent.__proto__),
  destination: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(io.FileSystemMoveEvent, ['toString']);
io._FileSystemWatcher = class _FileSystemWatcher extends core.Object {
  static _watch(path, events, recursive) {
    if (path == null) dart.nullFailed(I[108], 691, 14, "path");
    if (events == null) dart.nullFailed(I[108], 691, 24, "events");
    if (recursive == null) dart.nullFailed(I[108], 691, 37, "recursive");
    dart.throw(new core.UnsupportedError.new("_FileSystemWatcher.watch"));
  }
  static get isSupported() {
    dart.throw(new core.UnsupportedError.new("_FileSystemWatcher.isSupported"));
  }
};
(io._FileSystemWatcher.new = function() {
  ;
}).prototype = io._FileSystemWatcher.prototype;
dart.addTypeTests(io._FileSystemWatcher);
dart.addTypeCaches(io._FileSystemWatcher);
dart.setLibraryUri(io._FileSystemWatcher, I[106]);
io._IOResourceInfo = class _IOResourceInfo extends core.Object {
  static get timestamp() {
    return dart.notNull(io._IOResourceInfo._startTime) + (dart.notNull(io._IOResourceInfo._sw.elapsedMicroseconds) / 1000)[$truncate]();
  }
  get referenceValueMap() {
    return new (T$0.IdentityMapOfString$dynamic()).from(["type", "@" + dart.str(this.type), "id", this.id, "name", this.name]);
  }
  static getNextID() {
    let t205;
    t205 = io._IOResourceInfo._count;
    io._IOResourceInfo._count = dart.notNull(t205) + 1;
    return t205;
  }
};
(io._IOResourceInfo.new = function(type) {
  if (type == null) dart.nullFailed(I[116], 18, 24, "type");
  this.type = type;
  this.id = io._IOResourceInfo.getNextID();
  ;
}).prototype = io._IOResourceInfo.prototype;
dart.addTypeTests(io._IOResourceInfo);
dart.addTypeCaches(io._IOResourceInfo);
dart.setGetterSignature(io._IOResourceInfo, () => ({
  __proto__: dart.getGetters(io._IOResourceInfo.__proto__),
  referenceValueMap: core.Map$(core.String, dart.dynamic)
}));
dart.setLibraryUri(io._IOResourceInfo, I[106]);
dart.setFieldSignature(io._IOResourceInfo, () => ({
  __proto__: dart.getFields(io._IOResourceInfo.__proto__),
  type: dart.finalFieldType(core.String),
  id: dart.finalFieldType(core.int)
}));
dart.defineLazy(io._IOResourceInfo, {
  /*io._IOResourceInfo._count*/get _count() {
    return 0;
  },
  set _count(_) {},
  /*io._IOResourceInfo._sw*/get _sw() {
    let t205;
    return t205 = new core.Stopwatch.new(), (() => {
      t205.start();
      return t205;
    })();
  },
  /*io._IOResourceInfo._startTime*/get _startTime() {
    return new core.DateTime.now().millisecondsSinceEpoch;
  }
}, false);
io._ReadWriteResourceInfo = class _ReadWriteResourceInfo extends io._IOResourceInfo {
  addRead(bytes) {
    if (bytes == null) dart.nullFailed(I[116], 47, 20, "bytes");
    this.readBytes = dart.notNull(this.readBytes) + dart.notNull(bytes);
    this.readCount = dart.notNull(this.readCount) + 1;
    this.lastReadTime = io._IOResourceInfo.timestamp;
  }
  didRead() {
    this.addRead(0);
  }
  addWrite(bytes) {
    if (bytes == null) dart.nullFailed(I[116], 60, 21, "bytes");
    this.writeBytes = dart.notNull(this.writeBytes) + dart.notNull(bytes);
    this.writeCount = dart.notNull(this.writeCount) + 1;
    this.lastWriteTime = io._IOResourceInfo.timestamp;
  }
  get fullValueMap() {
    return new (T$0.IdentityMapOfString$dynamic()).from(["type", this.type, "id", this.id, "name", this.name, "readBytes", this.readBytes, "writeBytes", this.writeBytes, "readCount", this.readCount, "writeCount", this.writeCount, "lastReadTime", this.lastReadTime, "lastWriteTime", this.lastWriteTime]);
  }
};
(io._ReadWriteResourceInfo.new = function(type) {
  if (type == null) dart.nullFailed(I[116], 66, 33, "type");
  this.readBytes = 0;
  this.writeBytes = 0;
  this.readCount = 0;
  this.writeCount = 0;
  this.lastReadTime = 0;
  this.lastWriteTime = 0;
  io._ReadWriteResourceInfo.__proto__.new.call(this, type);
  ;
}).prototype = io._ReadWriteResourceInfo.prototype;
dart.addTypeTests(io._ReadWriteResourceInfo);
dart.addTypeCaches(io._ReadWriteResourceInfo);
dart.setMethodSignature(io._ReadWriteResourceInfo, () => ({
  __proto__: dart.getMethods(io._ReadWriteResourceInfo.__proto__),
  addRead: dart.fnType(dart.void, [core.int]),
  didRead: dart.fnType(dart.void, []),
  addWrite: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(io._ReadWriteResourceInfo, () => ({
  __proto__: dart.getGetters(io._ReadWriteResourceInfo.__proto__),
  fullValueMap: core.Map$(core.String, dart.dynamic)
}));
dart.setLibraryUri(io._ReadWriteResourceInfo, I[106]);
dart.setFieldSignature(io._ReadWriteResourceInfo, () => ({
  __proto__: dart.getFields(io._ReadWriteResourceInfo.__proto__),
  readBytes: dart.fieldType(core.int),
  writeBytes: dart.fieldType(core.int),
  readCount: dart.fieldType(core.int),
  writeCount: dart.fieldType(core.int),
  lastReadTime: dart.fieldType(core.int),
  lastWriteTime: dart.fieldType(core.int)
}));
io._FileResourceInfo = class _FileResourceInfo extends io._ReadWriteResourceInfo {
  static fileOpened(info) {
    if (info == null) dart.nullFailed(I[116], 99, 39, "info");
    if (!!dart.test(io._FileResourceInfo.openFiles[$containsKey](info.id))) dart.assertFailed(null, I[116], 100, 12, "!openFiles.containsKey(info.id)");
    io._FileResourceInfo.openFiles[$_set](info.id, info);
  }
  static fileClosed(info) {
    if (info == null) dart.nullFailed(I[116], 104, 39, "info");
    if (!dart.test(io._FileResourceInfo.openFiles[$containsKey](info.id))) dart.assertFailed(null, I[116], 105, 12, "openFiles.containsKey(info.id)");
    io._FileResourceInfo.openFiles[$remove](info.id);
  }
  static getOpenFilesList() {
    return T$0.ListOfMapOfString$dynamic().from(io._FileResourceInfo.openFiles[$values][$map](dart.dynamic, dart.fn(e => {
      if (e == null) dart.nullFailed(I[116], 111, 8, "e");
      return e.referenceValueMap;
    }, T$0._FileResourceInfoToMapOfString$dynamic())));
  }
  static getOpenFiles($function, params) {
    if (!dart.equals($function, "ext.dart.io.getOpenFiles")) dart.assertFailed(null, I[116], 116, 12, "function == 'ext.dart.io.getOpenFiles'");
    let data = new (T$.IdentityMapOfString$Object()).from(["type", "OpenFileList", "files", io._FileResourceInfo.getOpenFilesList()]);
    let jsonValue = convert.json.encode(data);
    return T$0.FutureOfServiceExtensionResponse().value(new developer.ServiceExtensionResponse.result(jsonValue));
  }
  get fileInfoMap() {
    return this.fullValueMap;
  }
  static getOpenFileInfoMapByID($function, params) {
    let id = core.int.parse(core.String.as(dart.nullCheck(dart.dsend(params, '_get', ["id"]))));
    let result = dart.test(io._FileResourceInfo.openFiles[$containsKey](id)) ? dart.nullCheck(io._FileResourceInfo.openFiles[$_get](id)).fileInfoMap : new _js_helper.LinkedMap.new();
    let jsonValue = convert.json.encode(result);
    return T$0.FutureOfServiceExtensionResponse().value(new developer.ServiceExtensionResponse.result(jsonValue));
  }
  get name() {
    return core.String.as(dart.dload(this.file, 'path'));
  }
};
(io._FileResourceInfo.new = function(file) {
  this.file = file;
  io._FileResourceInfo.__proto__.new.call(this, "OpenFile");
  io._FileResourceInfo.fileOpened(this);
}).prototype = io._FileResourceInfo.prototype;
dart.addTypeTests(io._FileResourceInfo);
dart.addTypeCaches(io._FileResourceInfo);
dart.setGetterSignature(io._FileResourceInfo, () => ({
  __proto__: dart.getGetters(io._FileResourceInfo.__proto__),
  fileInfoMap: core.Map$(core.String, dart.dynamic),
  name: core.String
}));
dart.setLibraryUri(io._FileResourceInfo, I[106]);
dart.setFieldSignature(io._FileResourceInfo, () => ({
  __proto__: dart.getFields(io._FileResourceInfo.__proto__),
  file: dart.finalFieldType(dart.dynamic)
}));
dart.defineLazy(io._FileResourceInfo, {
  /*io._FileResourceInfo._type*/get _type() {
    return "OpenFile";
  },
  /*io._FileResourceInfo.openFiles*/get openFiles() {
    return new (T$0.IdentityMapOfint$_FileResourceInfo()).new();
  },
  set openFiles(_) {}
}, false);
var _arguments$2 = dart.privateName(io, "_arguments");
var _workingDirectory = dart.privateName(io, "_workingDirectory");
io._SpawnedProcessResourceInfo = class _SpawnedProcessResourceInfo extends io._IOResourceInfo {
  get name() {
    return core.String.as(dart.dload(this.process, _path$0));
  }
  stopped() {
    return io._SpawnedProcessResourceInfo.processStopped(this);
  }
  get fullValueMap() {
    return new (T$0.IdentityMapOfString$dynamic()).from(["type", this.type, "id", this.id, "name", this.name, "pid", dart.dload(this.process, 'pid'), "startedAt", this.startedAt, "arguments", dart.dload(this.process, _arguments$2), "workingDirectory", dart.dload(this.process, _workingDirectory) == null ? "." : dart.dload(this.process, _workingDirectory)]);
  }
  static processStarted(info) {
    if (info == null) dart.nullFailed(I[116], 167, 53, "info");
    if (!!dart.test(io._SpawnedProcessResourceInfo.startedProcesses[$containsKey](info.id))) dart.assertFailed(null, I[116], 168, 12, "!startedProcesses.containsKey(info.id)");
    io._SpawnedProcessResourceInfo.startedProcesses[$_set](info.id, info);
  }
  static processStopped(info) {
    if (info == null) dart.nullFailed(I[116], 172, 53, "info");
    if (!dart.test(io._SpawnedProcessResourceInfo.startedProcesses[$containsKey](info.id))) dart.assertFailed(null, I[116], 173, 12, "startedProcesses.containsKey(info.id)");
    io._SpawnedProcessResourceInfo.startedProcesses[$remove](info.id);
  }
  static getStartedProcessesList() {
    return T$0.ListOfMapOfString$dynamic().from(io._SpawnedProcessResourceInfo.startedProcesses[$values][$map](dart.dynamic, dart.fn(e => {
      if (e == null) dart.nullFailed(I[116], 179, 10, "e");
      return e.referenceValueMap;
    }, T$0._SpawnedProcessResourceInfoToMapOfString$dynamic())));
  }
  static getStartedProcesses($function, params) {
    if ($function == null) dart.nullFailed(I[116], 183, 14, "function");
    if (params == null) dart.nullFailed(I[116], 183, 44, "params");
    if (!($function === "ext.dart.io.getSpawnedProcesses")) dart.assertFailed(null, I[116], 184, 12, "function == 'ext.dart.io.getSpawnedProcesses'");
    let data = new (T$.IdentityMapOfString$Object()).from(["type", "SpawnedProcessList", "processes", io._SpawnedProcessResourceInfo.getStartedProcessesList()]);
    let jsonValue = convert.json.encode(data);
    return T$0.FutureOfServiceExtensionResponse().value(new developer.ServiceExtensionResponse.result(jsonValue));
  }
  static getProcessInfoMapById($function, params) {
    if ($function == null) dart.nullFailed(I[116], 194, 14, "function");
    if (params == null) dart.nullFailed(I[116], 194, 44, "params");
    let id = core.int.parse(dart.nullCheck(params[$_get]("id")));
    let result = dart.test(io._SpawnedProcessResourceInfo.startedProcesses[$containsKey](id)) ? dart.nullCheck(io._SpawnedProcessResourceInfo.startedProcesses[$_get](id)).fullValueMap : new _js_helper.LinkedMap.new();
    let jsonValue = convert.json.encode(result);
    return T$0.FutureOfServiceExtensionResponse().value(new developer.ServiceExtensionResponse.result(jsonValue));
  }
};
(io._SpawnedProcessResourceInfo.new = function(process) {
  this.process = process;
  this.startedAt = io._IOResourceInfo.timestamp;
  io._SpawnedProcessResourceInfo.__proto__.new.call(this, "SpawnedProcess");
  io._SpawnedProcessResourceInfo.processStarted(this);
}).prototype = io._SpawnedProcessResourceInfo.prototype;
dart.addTypeTests(io._SpawnedProcessResourceInfo);
dart.addTypeCaches(io._SpawnedProcessResourceInfo);
dart.setMethodSignature(io._SpawnedProcessResourceInfo, () => ({
  __proto__: dart.getMethods(io._SpawnedProcessResourceInfo.__proto__),
  stopped: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(io._SpawnedProcessResourceInfo, () => ({
  __proto__: dart.getGetters(io._SpawnedProcessResourceInfo.__proto__),
  name: core.String,
  fullValueMap: core.Map$(core.String, dart.dynamic)
}));
dart.setLibraryUri(io._SpawnedProcessResourceInfo, I[106]);
dart.setFieldSignature(io._SpawnedProcessResourceInfo, () => ({
  __proto__: dart.getFields(io._SpawnedProcessResourceInfo.__proto__),
  process: dart.finalFieldType(dart.dynamic),
  startedAt: dart.finalFieldType(core.int)
}));
dart.defineLazy(io._SpawnedProcessResourceInfo, {
  /*io._SpawnedProcessResourceInfo._type*/get _type() {
    return "SpawnedProcess";
  },
  /*io._SpawnedProcessResourceInfo.startedProcesses*/get startedProcesses() {
    return new (T$0.LinkedMapOfint$_SpawnedProcessResourceInfo()).new();
  },
  set startedProcesses(_) {}
}, false);
var __IOSink_encoding = dart.privateName(io, "_#IOSink#encoding");
var __IOSink_encoding_isSet = dart.privateName(io, "_#IOSink#encoding#isSet");
io.IOSink = class IOSink extends core.Object {
  static new(target, opts) {
    if (target == null) dart.nullFailed(I[117], 23, 44, "target");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[117], 24, 21, "encoding");
    return new io._IOSinkImpl.new(target, encoding);
  }
  get encoding() {
    let t205;
    return dart.test(this[__IOSink_encoding_isSet]) ? (t205 = this[__IOSink_encoding], t205) : dart.throw(new _internal.LateError.fieldNI("encoding"));
  }
  set encoding(t205) {
    if (t205 == null) dart.nullFailed(I[117], 30, 17, "null");
    this[__IOSink_encoding_isSet] = true;
    this[__IOSink_encoding] = t205;
  }
};
(io.IOSink[dart.mixinNew] = function() {
  this[__IOSink_encoding] = null;
  this[__IOSink_encoding_isSet] = false;
}).prototype = io.IOSink.prototype;
dart.addTypeTests(io.IOSink);
dart.addTypeCaches(io.IOSink);
io.IOSink[dart.implements] = () => [async.StreamSink$(core.List$(core.int)), core.StringSink];
dart.setGetterSignature(io.IOSink, () => ({
  __proto__: dart.getGetters(io.IOSink.__proto__),
  encoding: convert.Encoding
}));
dart.setSetterSignature(io.IOSink, () => ({
  __proto__: dart.getSetters(io.IOSink.__proto__),
  encoding: convert.Encoding
}));
dart.setLibraryUri(io.IOSink, I[106]);
dart.setFieldSignature(io.IOSink, () => ({
  __proto__: dart.getFields(io.IOSink.__proto__),
  [__IOSink_encoding]: dart.fieldType(dart.nullable(convert.Encoding)),
  [__IOSink_encoding_isSet]: dart.fieldType(core.bool)
}));
var _doneCompleter = dart.privateName(io, "_doneCompleter");
var _controllerInstance = dart.privateName(io, "_controllerInstance");
var _controllerCompleter = dart.privateName(io, "_controllerCompleter");
var _isClosed$ = dart.privateName(io, "_isClosed");
var _isBound = dart.privateName(io, "_isBound");
var _hasError$ = dart.privateName(io, "_hasError");
var _target$0 = dart.privateName(io, "_target");
var _closeTarget = dart.privateName(io, "_closeTarget");
var _completeDoneValue = dart.privateName(io, "_completeDoneValue");
var _completeDoneError = dart.privateName(io, "_completeDoneError");
const _is__StreamSinkImpl_default = Symbol('_is__StreamSinkImpl_default');
io._StreamSinkImpl$ = dart.generic(T => {
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  var __t$StreamControllerOfT = () => (__t$StreamControllerOfT = dart.constFn(async.StreamController$(T)))();
  class _StreamSinkImpl extends core.Object {
    add(data) {
      T.as(data);
      if (dart.test(this[_isClosed$])) {
        dart.throw(new core.StateError.new("StreamSink is closed"));
      }
      this[_controller].add(data);
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[117], 139, 17, "error");
      if (dart.test(this[_isClosed$])) {
        dart.throw(new core.StateError.new("StreamSink is closed"));
      }
      this[_controller].addError(error, stackTrace);
    }
    addStream(stream) {
      let t206;
      __t$StreamOfT().as(stream);
      if (stream == null) dart.nullFailed(I[117], 146, 30, "stream");
      if (dart.test(this[_isBound])) {
        dart.throw(new core.StateError.new("StreamSink is already bound to a stream"));
      }
      if (dart.test(this[_hasError$])) return this.done;
      this[_isBound] = true;
      let future = this[_controllerCompleter] == null ? this[_target$0].addStream(stream) : dart.nullCheck(this[_controllerCompleter]).future.then(dart.dynamic, dart.fn(_ => this[_target$0].addStream(stream), T$.dynamicToFuture()));
      t206 = this[_controllerInstance];
      t206 == null ? null : t206.close();
      return future.whenComplete(dart.fn(() => {
        this[_isBound] = false;
      }, T$.VoidToNull()));
    }
    flush() {
      if (dart.test(this[_isBound])) {
        dart.throw(new core.StateError.new("StreamSink is bound to a stream"));
      }
      if (this[_controllerInstance] == null) return async.Future.value(this);
      this[_isBound] = true;
      let future = dart.nullCheck(this[_controllerCompleter]).future;
      dart.nullCheck(this[_controllerInstance]).close();
      return future.whenComplete(dart.fn(() => {
        this[_isBound] = false;
      }, T$.VoidToNull()));
    }
    close() {
      if (dart.test(this[_isBound])) {
        dart.throw(new core.StateError.new("StreamSink is bound to a stream"));
      }
      if (!dart.test(this[_isClosed$])) {
        this[_isClosed$] = true;
        if (this[_controllerInstance] != null) {
          dart.nullCheck(this[_controllerInstance]).close();
        } else {
          this[_closeTarget]();
        }
      }
      return this.done;
    }
    [_closeTarget]() {
      this[_target$0].close().then(dart.void, dart.bind(this, _completeDoneValue), {onError: dart.bind(this, _completeDoneError)});
    }
    get done() {
      return this[_doneCompleter].future;
    }
    [_completeDoneValue](value) {
      if (!dart.test(this[_doneCompleter].isCompleted)) {
        this[_doneCompleter].complete(value);
      }
    }
    [_completeDoneError](error, stackTrace) {
      if (!dart.test(this[_doneCompleter].isCompleted)) {
        this[_hasError$] = true;
        this[_doneCompleter].completeError(core.Object.as(error), stackTrace);
      }
    }
    get [_controller]() {
      if (dart.test(this[_isBound])) {
        dart.throw(new core.StateError.new("StreamSink is bound to a stream"));
      }
      if (dart.test(this[_isClosed$])) {
        dart.throw(new core.StateError.new("StreamSink is closed"));
      }
      if (this[_controllerInstance] == null) {
        this[_controllerInstance] = __t$StreamControllerOfT().new({sync: true});
        this[_controllerCompleter] = async.Completer.new();
        this[_target$0].addStream(this[_controller].stream).then(core.Null, dart.fn(_ => {
          if (dart.test(this[_isBound])) {
            dart.nullCheck(this[_controllerCompleter]).complete(this);
            this[_controllerCompleter] = null;
            this[_controllerInstance] = null;
          } else {
            this[_closeTarget]();
          }
        }, T$.dynamicToNull()), {onError: dart.fn((error, stackTrace) => {
            if (dart.test(this[_isBound])) {
              dart.nullCheck(this[_controllerCompleter]).completeError(core.Object.as(error), T$.StackTraceN().as(stackTrace));
              this[_controllerCompleter] = null;
              this[_controllerInstance] = null;
            } else {
              this[_completeDoneError](error, T$.StackTraceN().as(stackTrace));
            }
          }, T$.dynamicAnddynamicToNull())});
      }
      return dart.nullCheck(this[_controllerInstance]);
    }
  }
  (_StreamSinkImpl.new = function(_target) {
    if (_target == null) dart.nullFailed(I[117], 130, 24, "_target");
    this[_doneCompleter] = async.Completer.new();
    this[_controllerInstance] = null;
    this[_controllerCompleter] = null;
    this[_isClosed$] = false;
    this[_isBound] = false;
    this[_hasError$] = false;
    this[_target$0] = _target;
    ;
  }).prototype = _StreamSinkImpl.prototype;
  dart.addTypeTests(_StreamSinkImpl);
  _StreamSinkImpl.prototype[_is__StreamSinkImpl_default] = true;
  dart.addTypeCaches(_StreamSinkImpl);
  _StreamSinkImpl[dart.implements] = () => [async.StreamSink$(T)];
  dart.setMethodSignature(_StreamSinkImpl, () => ({
    __proto__: dart.getMethods(_StreamSinkImpl.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
    flush: dart.fnType(async.Future, []),
    close: dart.fnType(async.Future, []),
    [_closeTarget]: dart.fnType(dart.void, []),
    [_completeDoneValue]: dart.fnType(dart.void, [dart.dynamic]),
    [_completeDoneError]: dart.fnType(dart.void, [dart.dynamic, dart.nullable(core.StackTrace)])
  }));
  dart.setGetterSignature(_StreamSinkImpl, () => ({
    __proto__: dart.getGetters(_StreamSinkImpl.__proto__),
    done: async.Future,
    [_controller]: async.StreamController$(T)
  }));
  dart.setLibraryUri(_StreamSinkImpl, I[106]);
  dart.setFieldSignature(_StreamSinkImpl, () => ({
    __proto__: dart.getFields(_StreamSinkImpl.__proto__),
    [_target$0]: dart.finalFieldType(async.StreamConsumer$(T)),
    [_doneCompleter]: dart.finalFieldType(async.Completer),
    [_controllerInstance]: dart.fieldType(dart.nullable(async.StreamController$(T))),
    [_controllerCompleter]: dart.fieldType(dart.nullable(async.Completer)),
    [_isClosed$]: dart.fieldType(core.bool),
    [_isBound]: dart.fieldType(core.bool),
    [_hasError$]: dart.fieldType(core.bool)
  }));
  return _StreamSinkImpl;
});
io._StreamSinkImpl = io._StreamSinkImpl$();
dart.addTypeTests(io._StreamSinkImpl, _is__StreamSinkImpl_default);
var _encodingMutable = dart.privateName(io, "_encodingMutable");
var _encoding$ = dart.privateName(io, "_encoding");
io._IOSinkImpl = class _IOSinkImpl extends io._StreamSinkImpl$(core.List$(core.int)) {
  get encoding() {
    return this[_encoding$];
  }
  set encoding(value) {
    if (value == null) dart.nullFailed(I[117], 259, 30, "value");
    if (!dart.test(this[_encodingMutable])) {
      dart.throw(new core.StateError.new("IOSink encoding is not mutable"));
    }
    this[_encoding$] = value;
  }
  write(obj) {
    let string = dart.str(obj);
    if (string[$isEmpty]) return;
    this.add(this[_encoding$].encode(string));
  }
  writeAll(objects, separator = "") {
    if (objects == null) dart.nullFailed(I[117], 272, 26, "objects");
    if (separator == null) dart.nullFailed(I[117], 272, 43, "separator");
    let iterator = objects[$iterator];
    if (!dart.test(iterator.moveNext())) return;
    if (separator[$isEmpty]) {
      do {
        this.write(iterator.current);
      } while (dart.test(iterator.moveNext()));
    } else {
      this.write(iterator.current);
      while (dart.test(iterator.moveNext())) {
        this.write(separator);
        this.write(iterator.current);
      }
    }
  }
  writeln(object = "") {
    this.write(object);
    this.write("\n");
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[117], 293, 26, "charCode");
    this.write(core.String.fromCharCode(charCode));
  }
};
(io._IOSinkImpl.new = function(target, _encoding) {
  if (target == null) dart.nullFailed(I[117], 255, 41, "target");
  if (_encoding == null) dart.nullFailed(I[117], 255, 54, "_encoding");
  this[_encodingMutable] = true;
  this[_encoding$] = _encoding;
  io._IOSinkImpl.__proto__.new.call(this, target);
  ;
}).prototype = io._IOSinkImpl.prototype;
dart.addTypeTests(io._IOSinkImpl);
dart.addTypeCaches(io._IOSinkImpl);
io._IOSinkImpl[dart.implements] = () => [io.IOSink];
dart.setMethodSignature(io._IOSinkImpl, () => ({
  __proto__: dart.getMethods(io._IOSinkImpl.__proto__),
  write: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeAll: dart.fnType(dart.void, [core.Iterable], [core.String]),
  writeln: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  writeCharCode: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(io._IOSinkImpl, () => ({
  __proto__: dart.getGetters(io._IOSinkImpl.__proto__),
  encoding: convert.Encoding
}));
dart.setSetterSignature(io._IOSinkImpl, () => ({
  __proto__: dart.getSetters(io._IOSinkImpl.__proto__),
  encoding: convert.Encoding
}));
dart.setLibraryUri(io._IOSinkImpl, I[106]);
dart.setFieldSignature(io._IOSinkImpl, () => ({
  __proto__: dart.getFields(io._IOSinkImpl.__proto__),
  [_encoding$]: dart.fieldType(convert.Encoding),
  [_encodingMutable]: dart.fieldType(core.bool)
}));
io._IOService = class _IOService extends core.Object {
  static _dispatch(request, data) {
    if (request == null) dart.nullFailed(I[108], 704, 31, "request");
    if (data == null) dart.nullFailed(I[108], 704, 45, "data");
    dart.throw(new core.UnsupportedError.new("_IOService._dispatch"));
  }
};
(io._IOService.new = function() {
  ;
}).prototype = io._IOService.prototype;
dart.addTypeTests(io._IOService);
dart.addTypeCaches(io._IOService);
dart.setLibraryUri(io._IOService, I[106]);
dart.defineLazy(io._IOService, {
  /*io._IOService.fileExists*/get fileExists() {
    return 0;
  },
  /*io._IOService.fileCreate*/get fileCreate() {
    return 1;
  },
  /*io._IOService.fileDelete*/get fileDelete() {
    return 2;
  },
  /*io._IOService.fileRename*/get fileRename() {
    return 3;
  },
  /*io._IOService.fileCopy*/get fileCopy() {
    return 4;
  },
  /*io._IOService.fileOpen*/get fileOpen() {
    return 5;
  },
  /*io._IOService.fileResolveSymbolicLinks*/get fileResolveSymbolicLinks() {
    return 6;
  },
  /*io._IOService.fileClose*/get fileClose() {
    return 7;
  },
  /*io._IOService.filePosition*/get filePosition() {
    return 8;
  },
  /*io._IOService.fileSetPosition*/get fileSetPosition() {
    return 9;
  },
  /*io._IOService.fileTruncate*/get fileTruncate() {
    return 10;
  },
  /*io._IOService.fileLength*/get fileLength() {
    return 11;
  },
  /*io._IOService.fileLengthFromPath*/get fileLengthFromPath() {
    return 12;
  },
  /*io._IOService.fileLastAccessed*/get fileLastAccessed() {
    return 13;
  },
  /*io._IOService.fileSetLastAccessed*/get fileSetLastAccessed() {
    return 14;
  },
  /*io._IOService.fileLastModified*/get fileLastModified() {
    return 15;
  },
  /*io._IOService.fileSetLastModified*/get fileSetLastModified() {
    return 16;
  },
  /*io._IOService.fileFlush*/get fileFlush() {
    return 17;
  },
  /*io._IOService.fileReadByte*/get fileReadByte() {
    return 18;
  },
  /*io._IOService.fileWriteByte*/get fileWriteByte() {
    return 19;
  },
  /*io._IOService.fileRead*/get fileRead() {
    return 20;
  },
  /*io._IOService.fileReadInto*/get fileReadInto() {
    return 21;
  },
  /*io._IOService.fileWriteFrom*/get fileWriteFrom() {
    return 22;
  },
  /*io._IOService.fileCreateLink*/get fileCreateLink() {
    return 23;
  },
  /*io._IOService.fileDeleteLink*/get fileDeleteLink() {
    return 24;
  },
  /*io._IOService.fileRenameLink*/get fileRenameLink() {
    return 25;
  },
  /*io._IOService.fileLinkTarget*/get fileLinkTarget() {
    return 26;
  },
  /*io._IOService.fileType*/get fileType() {
    return 27;
  },
  /*io._IOService.fileIdentical*/get fileIdentical() {
    return 28;
  },
  /*io._IOService.fileStat*/get fileStat() {
    return 29;
  },
  /*io._IOService.fileLock*/get fileLock() {
    return 30;
  },
  /*io._IOService.socketLookup*/get socketLookup() {
    return 31;
  },
  /*io._IOService.socketListInterfaces*/get socketListInterfaces() {
    return 32;
  },
  /*io._IOService.socketReverseLookup*/get socketReverseLookup() {
    return 33;
  },
  /*io._IOService.directoryCreate*/get directoryCreate() {
    return 34;
  },
  /*io._IOService.directoryDelete*/get directoryDelete() {
    return 35;
  },
  /*io._IOService.directoryExists*/get directoryExists() {
    return 36;
  },
  /*io._IOService.directoryCreateTemp*/get directoryCreateTemp() {
    return 37;
  },
  /*io._IOService.directoryListStart*/get directoryListStart() {
    return 38;
  },
  /*io._IOService.directoryListNext*/get directoryListNext() {
    return 39;
  },
  /*io._IOService.directoryListStop*/get directoryListStop() {
    return 40;
  },
  /*io._IOService.directoryRename*/get directoryRename() {
    return 41;
  },
  /*io._IOService.sslProcessFilter*/get sslProcessFilter() {
    return 42;
  }
}, false);
io.Link = class Link extends core.Object {
  static new(path) {
    if (path == null) dart.nullFailed(I[118], 12, 23, "path");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return new io._Link.new(path);
    }
    return overrides.createLink(path);
  }
  static fromRawPath(rawPath) {
    if (rawPath == null) dart.nullFailed(I[118], 21, 38, "rawPath");
    return new io._Link.fromRawPath(rawPath);
  }
  static fromUri(uri) {
    if (uri == null) dart.nullFailed(I[118], 33, 28, "uri");
    return io.Link.new(uri.toFilePath());
  }
};
(io.Link[dart.mixinNew] = function() {
}).prototype = io.Link.prototype;
dart.addTypeTests(io.Link);
dart.addTypeCaches(io.Link);
io.Link[dart.implements] = () => [io.FileSystemEntity];
dart.setLibraryUri(io.Link, I[106]);
var _path$2 = dart.privateName(io, "_Link._path");
var _rawPath$1 = dart.privateName(io, "_Link._rawPath");
var _exceptionFromResponse = dart.privateName(io, "_exceptionFromResponse");
io._Link = class _Link extends io.FileSystemEntity {
  get [_path$0]() {
    return this[_path$2];
  }
  set [_path$0](value) {
    super[_path$0] = value;
  }
  get [_rawPath$]() {
    return this[_rawPath$1];
  }
  set [_rawPath$](value) {
    super[_rawPath$] = value;
  }
  get path() {
    return this[_path$0];
  }
  toString() {
    return "Link: '" + dart.str(this.path) + "'";
  }
  exists() {
    return io.FileSystemEntity._isLinkRaw(this[_rawPath$]);
  }
  existsSync() {
    return io.FileSystemEntity._isLinkRawSync(this[_rawPath$]);
  }
  get absolute() {
    return dart.test(this.isAbsolute) ? this : new io._Link.new(this[_absolutePath]);
  }
  create(target, opts) {
    if (target == null) dart.nullFailed(I[118], 164, 30, "target");
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[118], 164, 44, "recursive");
    let result = dart.test(recursive) ? this.parent.create({recursive: true}) : T$.FutureOfNull().value(null);
    return result.then(dart.dynamic, dart.fn(_ => io._File._dispatchWithNamespace(23, [null, this[_rawPath$], target]), T$0.DirectoryNToFuture())).then(io.Link, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionFromResponse](response, "Cannot create link to target '" + dart.str(target) + "'", this.path));
      }
      return this;
    }, T$0.dynamicTo_Link()));
  }
  createSync(target, opts) {
    if (target == null) dart.nullFailed(I[118], 179, 26, "target");
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[118], 179, 40, "recursive");
    if (dart.test(recursive)) {
      this.parent.createSync({recursive: true});
    }
    let result = io._File._createLink(io._Namespace._namespace, this[_rawPath$], target);
    io._Link.throwIfError(result, "Cannot create link", this.path);
  }
  updateSync(target) {
    if (target == null) dart.nullFailed(I[118], 187, 26, "target");
    this.deleteSync();
    this.createSync(target);
  }
  update(target) {
    if (target == null) dart.nullFailed(I[118], 196, 30, "target");
    return this.delete().then(io.Link, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[118], 201, 33, "_");
      return this.create(target);
    }, T$0.FileSystemEntityToFutureOfLink()));
  }
  [_delete](opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[118], 204, 30, "recursive");
    if (dart.test(recursive)) {
      return io.Directory.fromRawPath(this[_rawPath$]).delete({recursive: true}).then(io.Link, dart.fn(_ => {
        if (_ == null) dart.nullFailed(I[118], 208, 18, "_");
        return this;
      }, T$0.FileSystemEntityTo_Link()));
    }
    return io._File._dispatchWithNamespace(24, [null, this[_rawPath$]]).then(io.Link, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionFromResponse](response, "Cannot delete link", this.path));
      }
      return this;
    }, T$0.dynamicTo_Link()));
  }
  [_deleteSync](opts) {
    let recursive = opts && 'recursive' in opts ? opts.recursive : false;
    if (recursive == null) dart.nullFailed(I[118], 219, 26, "recursive");
    if (dart.test(recursive)) {
      return io.Directory.fromRawPath(this[_rawPath$]).deleteSync({recursive: true});
    }
    let result = io._File._deleteLinkNative(io._Namespace._namespace, this[_rawPath$]);
    io._Link.throwIfError(result, "Cannot delete link", this.path);
  }
  rename(newPath) {
    if (newPath == null) dart.nullFailed(I[118], 227, 30, "newPath");
    return io._File._dispatchWithNamespace(25, [null, this[_rawPath$], newPath]).then(io.Link, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionFromResponse](response, "Cannot rename link to '" + dart.str(newPath) + "'", this.path));
      }
      return io.Link.new(newPath);
    }, T$0.dynamicToLink()));
  }
  renameSync(newPath) {
    if (newPath == null) dart.nullFailed(I[118], 238, 26, "newPath");
    let result = io._File._renameLink(io._Namespace._namespace, this[_rawPath$], newPath);
    io._Link.throwIfError(result, "Cannot rename link '" + dart.str(this.path) + "' to '" + dart.str(newPath) + "'");
    return io.Link.new(newPath);
  }
  target() {
    return io._File._dispatchWithNamespace(26, [null, this[_rawPath$]]).then(core.String, dart.fn(response => {
      if (dart.test(this[_isErrorResponse](response))) {
        dart.throw(this[_exceptionFromResponse](response, "Cannot get target of link", this.path));
      }
      return T$0.FutureOrOfString().as(response);
    }, T$0.dynamicToFutureOrOfString()));
  }
  targetSync() {
    let result = io._File._linkTarget(io._Namespace._namespace, this[_rawPath$]);
    io._Link.throwIfError(result, "Cannot read link", this.path);
    return core.String.as(result);
  }
  static throwIfError(result, msg, path = "") {
    if (msg == null) dart.nullFailed(I[118], 261, 46, "msg");
    if (path == null) dart.nullFailed(I[118], 261, 59, "path");
    if (io.OSError.is(result)) {
      dart.throw(new io.FileSystemException.new(msg, path, result));
    }
  }
  [_isErrorResponse](response) {
    return core.List.is(response) && !dart.equals(response[$_get](0), 0);
  }
  [_exceptionFromResponse](response, message, path) {
    if (message == null) dart.nullFailed(I[118], 271, 43, "message");
    if (path == null) dart.nullFailed(I[118], 271, 59, "path");
    if (!dart.test(this[_isErrorResponse](response))) dart.assertFailed(null, I[118], 272, 12, "_isErrorResponse(response)");
    switch (dart.dsend(response, '_get', [0])) {
      case 1:
      {
        return new core.ArgumentError.new();
      }
      case 2:
      {
        let err = new io.OSError.new(core.String.as(dart.dsend(response, '_get', [2])), core.int.as(dart.dsend(response, '_get', [1])));
        return new io.FileSystemException.new(message, path, err);
      }
      default:
      {
        return core.Exception.new("Unknown error");
      }
    }
  }
};
(io._Link.new = function(path) {
  if (path == null) dart.nullFailed(I[118], 146, 16, "path");
  this[_path$2] = path;
  this[_rawPath$1] = io.FileSystemEntity._toUtf8Array(path);
  ;
}).prototype = io._Link.prototype;
(io._Link.fromRawPath = function(rawPath) {
  if (rawPath == null) dart.nullFailed(I[118], 150, 31, "rawPath");
  this[_rawPath$1] = io.FileSystemEntity._toNullTerminatedUtf8Array(rawPath);
  this[_path$2] = io.FileSystemEntity._toStringFromUtf8Array(rawPath);
  ;
}).prototype = io._Link.prototype;
dart.addTypeTests(io._Link);
dart.addTypeCaches(io._Link);
io._Link[dart.implements] = () => [io.Link];
dart.setMethodSignature(io._Link, () => ({
  __proto__: dart.getMethods(io._Link.__proto__),
  exists: dart.fnType(async.Future$(core.bool), []),
  existsSync: dart.fnType(core.bool, []),
  create: dart.fnType(async.Future$(io.Link), [core.String], {recursive: core.bool}, {}),
  createSync: dart.fnType(dart.void, [core.String], {recursive: core.bool}, {}),
  updateSync: dart.fnType(dart.void, [core.String]),
  update: dart.fnType(async.Future$(io.Link), [core.String]),
  [_delete]: dart.fnType(async.Future$(io.Link), [], {recursive: core.bool}, {}),
  [_deleteSync]: dart.fnType(dart.void, [], {recursive: core.bool}, {}),
  rename: dart.fnType(async.Future$(io.Link), [core.String]),
  renameSync: dart.fnType(io.Link, [core.String]),
  target: dart.fnType(async.Future$(core.String), []),
  targetSync: dart.fnType(core.String, []),
  [_isErrorResponse]: dart.fnType(core.bool, [dart.dynamic]),
  [_exceptionFromResponse]: dart.fnType(dart.dynamic, [dart.dynamic, core.String, core.String])
}));
dart.setGetterSignature(io._Link, () => ({
  __proto__: dart.getGetters(io._Link.__proto__),
  path: core.String,
  absolute: io.Link
}));
dart.setLibraryUri(io._Link, I[106]);
dart.setFieldSignature(io._Link, () => ({
  __proto__: dart.getFields(io._Link.__proto__),
  [_path$0]: dart.finalFieldType(core.String),
  [_rawPath$]: dart.finalFieldType(typed_data.Uint8List)
}));
dart.defineExtensionMethods(io._Link, ['toString']);
io._Namespace = class _Namespace extends core.Object {
  static get _namespace() {
    dart.throw(new core.UnsupportedError.new("_Namespace"));
  }
  static get _namespacePointer() {
    dart.throw(new core.UnsupportedError.new("_Namespace"));
  }
  static _setupNamespace(namespace) {
    dart.throw(new core.UnsupportedError.new("_Namespace"));
  }
};
(io._Namespace.new = function() {
  ;
}).prototype = io._Namespace.prototype;
dart.addTypeTests(io._Namespace);
dart.addTypeCaches(io._Namespace);
dart.setLibraryUri(io._Namespace, I[106]);
io._NetworkProfiling = class _NetworkProfiling extends core.Object {
  static _registerServiceExtension() {
    developer.registerExtension(io._NetworkProfiling._kGetHttpEnableTimelineLogging, C[130] || CT.C130);
    developer.registerExtension(io._NetworkProfiling._kSetHttpEnableTimelineLogging, C[130] || CT.C130);
    developer.registerExtension(io._NetworkProfiling._kHttpEnableTimelineLogging, C[130] || CT.C130);
    developer.registerExtension("ext.dart.io.getSocketProfile", C[130] || CT.C130);
    developer.registerExtension(io._NetworkProfiling._kStartSocketProfilingRPC, C[130] || CT.C130);
    developer.registerExtension(io._NetworkProfiling._kPauseSocketProfilingRPC, C[130] || CT.C130);
    developer.registerExtension(io._NetworkProfiling._kSocketProfilingEnabledRPC, C[130] || CT.C130);
    developer.registerExtension("ext.dart.io.clearSocketProfile", C[130] || CT.C130);
    developer.registerExtension("ext.dart.io.getVersion", C[130] || CT.C130);
    developer.registerExtension("ext.dart.io.getHttpProfile", C[130] || CT.C130);
    developer.registerExtension(io._NetworkProfiling._kGetHttpProfileRequestRPC, C[130] || CT.C130);
    developer.registerExtension("ext.dart.io.clearHttpProfile", C[130] || CT.C130);
  }
  static _serviceExtensionHandler(method, parameters) {
    if (method == null) dart.nullFailed(I[119], 60, 14, "method");
    if (parameters == null) dart.nullFailed(I[119], 60, 42, "parameters");
    try {
      let responseJson = null;
      switch (method) {
        case "ext.dart.io.getHttpEnableTimelineLogging":
        {
          responseJson = io._getHttpEnableTimelineLogging();
          break;
        }
        case "ext.dart.io.setHttpEnableTimelineLogging":
        {
          responseJson = io._setHttpEnableTimelineLogging(parameters);
          break;
        }
        case "ext.dart.io.httpEnableTimelineLogging":
        {
          if (dart.test(parameters[$containsKey]("enabled")) || dart.test(parameters[$containsKey]("enable"))) {
            if (!(1 === 1)) dart.assertFailed("'enable' is deprecated and should be removed (See #43638)", I[119], 75, 20, "_versionMajor == 1");
            if (dart.test(parameters[$containsKey]("enabled"))) {
              parameters[$_set]("enable", dart.nullCheck(parameters[$_get]("enabled")));
            }
            io._setHttpEnableTimelineLogging(parameters);
          }
          responseJson = io._getHttpEnableTimelineLogging();
          break;
        }
        case "ext.dart.io.getHttpProfile":
        {
          responseJson = _http.HttpProfiler.toJson(dart.test(parameters[$containsKey]("updatedSince")) ? core.int.tryParse(dart.nullCheck(parameters[$_get]("updatedSince"))) : null);
          break;
        }
        case "ext.dart.io.getHttpProfileRequest":
        {
          responseJson = io._getHttpProfileRequest(parameters);
          break;
        }
        case "ext.dart.io.clearHttpProfile":
        {
          _http.HttpProfiler.clear();
          responseJson = io._success();
          break;
        }
        case "ext.dart.io.getSocketProfile":
        {
          responseJson = io._SocketProfile.toJson();
          break;
        }
        case "ext.dart.io.socketProfilingEnabled":
        {
          responseJson = io._socketProfilingEnabled(parameters);
          break;
        }
        case "ext.dart.io.startSocketProfiling":
        {
          responseJson = io._SocketProfile.start();
          break;
        }
        case "ext.dart.io.pauseSocketProfiling":
        {
          responseJson = io._SocketProfile.pause();
          break;
        }
        case "ext.dart.io.clearSocketProfile":
        {
          responseJson = io._SocketProfile.clear();
          break;
        }
        case "ext.dart.io.getVersion":
        {
          responseJson = io._NetworkProfiling.getVersion();
          break;
        }
        default:
        {
          return T$0.FutureOfServiceExtensionResponse().value(new developer.ServiceExtensionResponse.error(-32000, "Method " + dart.str(method) + " does not exist"));
        }
      }
      return T$0.FutureOfServiceExtensionResponse().value(new developer.ServiceExtensionResponse.result(responseJson));
    } catch (e) {
      let errorMessage = dart.getThrown(e);
      if (core.Object.is(errorMessage)) {
        return T$0.FutureOfServiceExtensionResponse().value(new developer.ServiceExtensionResponse.error(-32602, dart.toString(errorMessage)));
      } else
        throw e;
    }
  }
  static getVersion() {
    return convert.json.encode(new (T$.IdentityMapOfString$Object()).from(["type", "Version", "major", 1, "minor", 6]));
  }
};
(io._NetworkProfiling.new = function() {
  ;
}).prototype = io._NetworkProfiling.prototype;
dart.addTypeTests(io._NetworkProfiling);
dart.addTypeCaches(io._NetworkProfiling);
dart.setLibraryUri(io._NetworkProfiling, I[106]);
dart.defineLazy(io._NetworkProfiling, {
  /*io._NetworkProfiling._kGetHttpEnableTimelineLogging*/get _kGetHttpEnableTimelineLogging() {
    return "ext.dart.io.getHttpEnableTimelineLogging";
  },
  /*io._NetworkProfiling._kSetHttpEnableTimelineLogging*/get _kSetHttpEnableTimelineLogging() {
    return "ext.dart.io.setHttpEnableTimelineLogging";
  },
  /*io._NetworkProfiling._kHttpEnableTimelineLogging*/get _kHttpEnableTimelineLogging() {
    return "ext.dart.io.httpEnableTimelineLogging";
  },
  /*io._NetworkProfiling._kGetHttpProfileRPC*/get _kGetHttpProfileRPC() {
    return "ext.dart.io.getHttpProfile";
  },
  /*io._NetworkProfiling._kGetHttpProfileRequestRPC*/get _kGetHttpProfileRequestRPC() {
    return "ext.dart.io.getHttpProfileRequest";
  },
  /*io._NetworkProfiling._kClearHttpProfileRPC*/get _kClearHttpProfileRPC() {
    return "ext.dart.io.clearHttpProfile";
  },
  /*io._NetworkProfiling._kClearSocketProfileRPC*/get _kClearSocketProfileRPC() {
    return "ext.dart.io.clearSocketProfile";
  },
  /*io._NetworkProfiling._kGetSocketProfileRPC*/get _kGetSocketProfileRPC() {
    return "ext.dart.io.getSocketProfile";
  },
  /*io._NetworkProfiling._kSocketProfilingEnabledRPC*/get _kSocketProfilingEnabledRPC() {
    return "ext.dart.io.socketProfilingEnabled";
  },
  /*io._NetworkProfiling._kPauseSocketProfilingRPC*/get _kPauseSocketProfilingRPC() {
    return "ext.dart.io.pauseSocketProfiling";
  },
  /*io._NetworkProfiling._kStartSocketProfilingRPC*/get _kStartSocketProfilingRPC() {
    return "ext.dart.io.startSocketProfiling";
  },
  /*io._NetworkProfiling._kGetVersionRPC*/get _kGetVersionRPC() {
    return "ext.dart.io.getVersion";
  }
}, false);
var _name$4 = dart.privateName(io, "_name");
io._SocketProfile = class _SocketProfile extends core.Object {
  static set enableSocketProfiling(enabled) {
    if (enabled == null) dart.nullFailed(I[119], 205, 41, "enabled");
    if (enabled != io._SocketProfile._enableSocketProfiling) {
      developer.postEvent("SocketProfilingStateChange", new _js_helper.LinkedMap.from(["isolateId", developer.Service.getIsolateID(isolate$.Isolate.current), "enabled", enabled]));
      io._SocketProfile._enableSocketProfiling = enabled;
    }
  }
  static get enableSocketProfiling() {
    return io._SocketProfile._enableSocketProfiling;
  }
  static toJson() {
    return convert.json.encode(new (T$.IdentityMapOfString$Object()).from(["type", "SocketProfile", "sockets", io._SocketProfile._idToSocketStatistic[$values][$map](T$0.MapOfString$dynamic(), dart.fn(f => {
        if (f == null) dart.nullFailed(I[119], 222, 53, "f");
        return f.toMap();
      }, T$0._SocketStatisticToMapOfString$dynamic()))[$toList]()]));
  }
  static collectNewSocket(id, type, addr, port) {
    if (id == null) dart.nullFailed(I[119], 226, 11, "id");
    if (type == null) dart.nullFailed(I[119], 226, 22, "type");
    if (addr == null) dart.nullFailed(I[119], 226, 44, "addr");
    if (port == null) dart.nullFailed(I[119], 226, 54, "port");
    io._SocketProfile.collectStatistic(id, io._SocketProfileType.startTime);
    io._SocketProfile.collectStatistic(id, io._SocketProfileType.socketType, type);
    io._SocketProfile.collectStatistic(id, io._SocketProfileType.address, addr);
    io._SocketProfile.collectStatistic(id, io._SocketProfileType.port, port);
  }
  static collectStatistic(id, type, object = null) {
    let t210, t209, t208, t207, t207$, t207$0;
    if (id == null) dart.nullFailed(I[119], 233, 36, "id");
    if (type == null) dart.nullFailed(I[119], 233, 59, "type");
    if (!dart.test(io._SocketProfile._enableSocketProfiling)) {
      return;
    }
    if (!dart.test(io._SocketProfile._idToSocketStatistic[$containsKey](id)) && type != io._SocketProfileType.startTime) return;
    let stats = (t207 = io._SocketProfile._idToSocketStatistic, t208 = id, t209 = t207[$_get](t208), t209 == null ? (t210 = new io._SocketStatistic.new(id), t207[$_set](t208, t210), t210) : t209);
    switch (type) {
      case C[131] || CT.C131:
      {
        stats.startTime = developer.Timeline.now;
        break;
      }
      case C[132] || CT.C132:
      {
        stats.endTime = developer.Timeline.now;
        break;
      }
      case C[133] || CT.C133:
      {
        if (!io.InternetAddress.is(object)) dart.assertFailed(null, I[119], 250, 16, "object is InternetAddress");
        stats.address = dart.toString(io.InternetAddress.as(object));
        break;
      }
      case C[134] || CT.C134:
      {
        if (!core.int.is(object)) dart.assertFailed(null, I[119], 254, 16, "object is int");
        stats.port = T$.intN().as(object);
        break;
      }
      case C[135] || CT.C135:
      {
        if (!(typeof object == 'string')) dart.assertFailed(null, I[119], 258, 16, "object is String");
        stats.socketType = T$.StringN().as(object);
        break;
      }
      case C[136] || CT.C136:
      {
        if (object == null) return;
        t207$ = stats;
        t207$.readBytes = dart.notNull(t207$.readBytes) + dart.notNull(core.int.as(object));
        stats.lastReadTime = developer.Timeline.now;
        break;
      }
      case C[137] || CT.C137:
      {
        if (object == null) return;
        t207$0 = stats;
        t207$0.writeBytes = dart.notNull(t207$0.writeBytes) + dart.notNull(core.int.as(object));
        stats.lastWriteTime = developer.Timeline.now;
        break;
      }
      default:
      {
        dart.throw(new core.ArgumentError.new("type " + dart.str(type) + " does not exist"));
      }
    }
  }
  static start() {
    io._SocketProfile.enableSocketProfiling = true;
    return io._success();
  }
  static pause() {
    io._SocketProfile.enableSocketProfiling = false;
    return io._success();
  }
  static clear() {
    io._SocketProfile._idToSocketStatistic[$clear]();
    return io._success();
  }
};
(io._SocketProfile.new = function() {
  ;
}).prototype = io._SocketProfile.prototype;
dart.addTypeTests(io._SocketProfile);
dart.addTypeCaches(io._SocketProfile);
dart.setLibraryUri(io._SocketProfile, I[106]);
dart.defineLazy(io._SocketProfile, {
  /*io._SocketProfile._kType*/get _kType() {
    return "SocketProfile";
  },
  /*io._SocketProfile._enableSocketProfiling*/get _enableSocketProfiling() {
    return false;
  },
  set _enableSocketProfiling(_) {},
  /*io._SocketProfile._idToSocketStatistic*/get _idToSocketStatistic() {
    return new (T$0.IdentityMapOfint$_SocketStatistic()).new();
  },
  set _idToSocketStatistic(_) {}
}, false);
io._SocketProfileType = class _SocketProfileType extends core.Object {
  toString() {
    return this[_name$4];
  }
};
(io._SocketProfileType.new = function(index, _name) {
  if (index == null) dart.nullFailed(I[119], 295, 6, "index");
  if (_name == null) dart.nullFailed(I[119], 295, 6, "_name");
  this.index = index;
  this[_name$4] = _name;
  ;
}).prototype = io._SocketProfileType.prototype;
dart.addTypeTests(io._SocketProfileType);
dart.addTypeCaches(io._SocketProfileType);
io._SocketProfileType[dart.implements] = () => [core.Enum];
dart.setLibraryUri(io._SocketProfileType, I[106]);
dart.setFieldSignature(io._SocketProfileType, () => ({
  __proto__: dart.getFields(io._SocketProfileType.__proto__),
  index: dart.finalFieldType(core.int),
  [_name$4]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(io._SocketProfileType, ['toString']);
io._SocketProfileType.startTime = C[131] || CT.C131;
io._SocketProfileType.endTime = C[132] || CT.C132;
io._SocketProfileType.address = C[133] || CT.C133;
io._SocketProfileType.port = C[134] || CT.C134;
io._SocketProfileType.socketType = C[135] || CT.C135;
io._SocketProfileType.readBytes = C[136] || CT.C136;
io._SocketProfileType.writeBytes = C[137] || CT.C137;
io._SocketProfileType.values = C[138] || CT.C138;
var _setIfNotNull = dart.privateName(io, "_setIfNotNull");
io._SocketStatistic = class _SocketStatistic extends core.Object {
  toMap() {
    let map = new (T$0.IdentityMapOfString$dynamic()).from(["id", this.id]);
    this[_setIfNotNull](map, "startTime", this.startTime);
    this[_setIfNotNull](map, "endTime", this.endTime);
    this[_setIfNotNull](map, "address", this.address);
    this[_setIfNotNull](map, "port", this.port);
    this[_setIfNotNull](map, "socketType", this.socketType);
    this[_setIfNotNull](map, "readBytes", this.readBytes);
    this[_setIfNotNull](map, "writeBytes", this.writeBytes);
    this[_setIfNotNull](map, "lastWriteTime", this.lastWriteTime);
    this[_setIfNotNull](map, "lastReadTime", this.lastReadTime);
    return map;
  }
  [_setIfNotNull](json, key, value) {
    if (json == null) dart.nullFailed(I[119], 336, 43, "json");
    if (key == null) dart.nullFailed(I[119], 336, 56, "key");
    if (value == null) return;
    json[$_set](key, value);
  }
};
(io._SocketStatistic.new = function(id) {
  if (id == null) dart.nullFailed(I[119], 318, 25, "id");
  this.startTime = null;
  this.endTime = null;
  this.address = null;
  this.port = null;
  this.socketType = null;
  this.readBytes = 0;
  this.writeBytes = 0;
  this.lastWriteTime = null;
  this.lastReadTime = null;
  this.id = id;
  ;
}).prototype = io._SocketStatistic.prototype;
dart.addTypeTests(io._SocketStatistic);
dart.addTypeCaches(io._SocketStatistic);
dart.setMethodSignature(io._SocketStatistic, () => ({
  __proto__: dart.getMethods(io._SocketStatistic.__proto__),
  toMap: dart.fnType(core.Map$(core.String, dart.dynamic), []),
  [_setIfNotNull]: dart.fnType(dart.void, [core.Map$(core.String, dart.dynamic), core.String, dart.nullable(core.Object)])
}));
dart.setLibraryUri(io._SocketStatistic, I[106]);
dart.setFieldSignature(io._SocketStatistic, () => ({
  __proto__: dart.getFields(io._SocketStatistic.__proto__),
  id: dart.finalFieldType(core.int),
  startTime: dart.fieldType(dart.nullable(core.int)),
  endTime: dart.fieldType(dart.nullable(core.int)),
  address: dart.fieldType(dart.nullable(core.String)),
  port: dart.fieldType(dart.nullable(core.int)),
  socketType: dart.fieldType(dart.nullable(core.String)),
  readBytes: dart.fieldType(core.int),
  writeBytes: dart.fieldType(core.int),
  lastWriteTime: dart.fieldType(dart.nullable(core.int)),
  lastReadTime: dart.fieldType(dart.nullable(core.int))
}));
io.IOOverrides = class IOOverrides extends core.Object {
  static get current() {
    let t207;
    return T$0.IOOverridesN().as((t207 = async.Zone.current._get(io._ioOverridesToken), t207 == null ? io.IOOverrides._global : t207));
  }
  static set global(overrides) {
    io.IOOverrides._global = overrides;
  }
  static runZoned(R, body, opts) {
    if (body == null) dart.nullFailed(I[120], 54, 26, "body");
    let createDirectory = opts && 'createDirectory' in opts ? opts.createDirectory : null;
    let getCurrentDirectory = opts && 'getCurrentDirectory' in opts ? opts.getCurrentDirectory : null;
    let setCurrentDirectory = opts && 'setCurrentDirectory' in opts ? opts.setCurrentDirectory : null;
    let getSystemTempDirectory = opts && 'getSystemTempDirectory' in opts ? opts.getSystemTempDirectory : null;
    let createFile = opts && 'createFile' in opts ? opts.createFile : null;
    let stat = opts && 'stat' in opts ? opts.stat : null;
    let statSync = opts && 'statSync' in opts ? opts.statSync : null;
    let fseIdentical = opts && 'fseIdentical' in opts ? opts.fseIdentical : null;
    let fseIdenticalSync = opts && 'fseIdenticalSync' in opts ? opts.fseIdenticalSync : null;
    let fseGetType = opts && 'fseGetType' in opts ? opts.fseGetType : null;
    let fseGetTypeSync = opts && 'fseGetTypeSync' in opts ? opts.fseGetTypeSync : null;
    let fsWatch = opts && 'fsWatch' in opts ? opts.fsWatch : null;
    let fsWatchIsSupported = opts && 'fsWatchIsSupported' in opts ? opts.fsWatchIsSupported : null;
    let createLink = opts && 'createLink' in opts ? opts.createLink : null;
    let socketConnect = opts && 'socketConnect' in opts ? opts.socketConnect : null;
    let socketStartConnect = opts && 'socketStartConnect' in opts ? opts.socketStartConnect : null;
    let serverSocketBind = opts && 'serverSocketBind' in opts ? opts.serverSocketBind : null;
    let overrides = new io._IOOverridesScope.new(createDirectory, getCurrentDirectory, setCurrentDirectory, getSystemTempDirectory, createFile, stat, statSync, fseIdentical, fseIdenticalSync, fseGetType, fseGetTypeSync, fsWatch, fsWatchIsSupported, createLink, socketConnect, socketStartConnect, serverSocketBind);
    return io._asyncRunZoned(R, body, {zoneValues: new (T$0.LinkedMapOfObjectN$ObjectN()).from([io._ioOverridesToken, overrides])});
  }
  static runWithIOOverrides(R, body, overrides) {
    if (body == null) dart.nullFailed(I[120], 135, 36, "body");
    if (overrides == null) dart.nullFailed(I[120], 135, 56, "overrides");
    return io._asyncRunZoned(R, body, {zoneValues: new (T$0.LinkedMapOfObjectN$ObjectN()).from([io._ioOverridesToken, overrides])});
  }
  createDirectory(path) {
    if (path == null) dart.nullFailed(I[120], 145, 36, "path");
    return new io._Directory.new(path);
  }
  getCurrentDirectory() {
    return io._Directory.current;
  }
  setCurrentDirectory(path) {
    if (path == null) dart.nullFailed(I[120], 157, 35, "path");
    io._Directory.current = path;
  }
  getSystemTempDirectory() {
    return io._Directory.systemTemp;
  }
  createFile(path) {
    if (path == null) dart.nullFailed(I[120], 173, 26, "path");
    return new io._File.new(path);
  }
  stat(path) {
    if (path == null) dart.nullFailed(I[120], 181, 32, "path");
    return io.FileStat._stat(path);
  }
  statSync(path) {
    if (path == null) dart.nullFailed(I[120], 189, 28, "path");
    return io.FileStat._statSyncInternal(path);
  }
  fseIdentical(path1, path2) {
    if (path1 == null) dart.nullFailed(I[120], 200, 36, "path1");
    if (path2 == null) dart.nullFailed(I[120], 200, 50, "path2");
    return io.FileSystemEntity._identical(path1, path2);
  }
  fseIdenticalSync(path1, path2) {
    if (path1 == null) dart.nullFailed(I[120], 209, 32, "path1");
    if (path2 == null) dart.nullFailed(I[120], 209, 46, "path2");
    return io.FileSystemEntity._identicalSync(path1, path2);
  }
  fseGetType(path, followLinks) {
    if (path == null) dart.nullFailed(I[120], 217, 50, "path");
    if (followLinks == null) dart.nullFailed(I[120], 217, 61, "followLinks");
    return io.FileSystemEntity._getTypeRequest(convert.utf8.encoder.convert(path), followLinks);
  }
  fseGetTypeSync(path, followLinks) {
    if (path == null) dart.nullFailed(I[120], 226, 46, "path");
    if (followLinks == null) dart.nullFailed(I[120], 226, 57, "followLinks");
    return io.FileSystemEntity._getTypeSyncHelper(convert.utf8.encoder.convert(path), followLinks);
  }
  fsWatch(path, events, recursive) {
    if (path == null) dart.nullFailed(I[120], 237, 42, "path");
    if (events == null) dart.nullFailed(I[120], 237, 52, "events");
    if (recursive == null) dart.nullFailed(I[120], 237, 65, "recursive");
    return io._FileSystemWatcher._watch(path, events, recursive);
  }
  fsWatchIsSupported() {
    return io._FileSystemWatcher.isSupported;
  }
  createLink(path) {
    if (path == null) dart.nullFailed(I[120], 253, 26, "path");
    return new io._Link.new(path);
  }
  socketConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[120], 261, 42, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    return io.Socket._connect(host, port, {sourceAddress: sourceAddress, timeout: timeout});
  }
  socketStartConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[120], 272, 63, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    return io.Socket._startConnect(host, port, {sourceAddress: sourceAddress});
  }
  serverSocketBind(address, port, opts) {
    if (port == null) dart.nullFailed(I[120], 284, 54, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[120], 285, 12, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[120], 285, 30, "v6Only");
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[120], 285, 51, "shared");
    return io.ServerSocket._bind(address, port, {backlog: backlog, v6Only: v6Only, shared: shared});
  }
};
(io.IOOverrides.new = function() {
  ;
}).prototype = io.IOOverrides.prototype;
dart.addTypeTests(io.IOOverrides);
dart.addTypeCaches(io.IOOverrides);
dart.setMethodSignature(io.IOOverrides, () => ({
  __proto__: dart.getMethods(io.IOOverrides.__proto__),
  createDirectory: dart.fnType(io.Directory, [core.String]),
  getCurrentDirectory: dart.fnType(io.Directory, []),
  setCurrentDirectory: dart.fnType(dart.void, [core.String]),
  getSystemTempDirectory: dart.fnType(io.Directory, []),
  createFile: dart.fnType(io.File, [core.String]),
  stat: dart.fnType(async.Future$(io.FileStat), [core.String]),
  statSync: dart.fnType(io.FileStat, [core.String]),
  fseIdentical: dart.fnType(async.Future$(core.bool), [core.String, core.String]),
  fseIdenticalSync: dart.fnType(core.bool, [core.String, core.String]),
  fseGetType: dart.fnType(async.Future$(io.FileSystemEntityType), [core.String, core.bool]),
  fseGetTypeSync: dart.fnType(io.FileSystemEntityType, [core.String, core.bool]),
  fsWatch: dart.fnType(async.Stream$(io.FileSystemEvent), [core.String, core.int, core.bool]),
  fsWatchIsSupported: dart.fnType(core.bool, []),
  createLink: dart.fnType(io.Link, [core.String]),
  socketConnect: dart.fnType(async.Future$(io.Socket), [dart.dynamic, core.int], {sourceAddress: dart.dynamic, timeout: dart.nullable(core.Duration)}, {}),
  socketStartConnect: dart.fnType(async.Future$(io.ConnectionTask$(io.Socket)), [dart.dynamic, core.int], {sourceAddress: dart.dynamic}, {}),
  serverSocketBind: dart.fnType(async.Future$(io.ServerSocket), [dart.dynamic, core.int], {backlog: core.int, shared: core.bool, v6Only: core.bool}, {})
}));
dart.setLibraryUri(io.IOOverrides, I[106]);
dart.defineLazy(io.IOOverrides, {
  /*io.IOOverrides._global*/get _global() {
    return null;
  },
  set _global(_) {}
}, false);
var _previous$4 = dart.privateName(io, "_previous");
var _createDirectory$ = dart.privateName(io, "_createDirectory");
var _getCurrentDirectory$ = dart.privateName(io, "_getCurrentDirectory");
var _setCurrentDirectory$ = dart.privateName(io, "_setCurrentDirectory");
var _getSystemTempDirectory$ = dart.privateName(io, "_getSystemTempDirectory");
var _createFile$ = dart.privateName(io, "_createFile");
var _stat$ = dart.privateName(io, "_stat");
var _statSync$ = dart.privateName(io, "_statSync");
var _fseIdentical$ = dart.privateName(io, "_fseIdentical");
var _fseIdenticalSync$ = dart.privateName(io, "_fseIdenticalSync");
var _fseGetType$ = dart.privateName(io, "_fseGetType");
var _fseGetTypeSync$ = dart.privateName(io, "_fseGetTypeSync");
var _fsWatch$ = dart.privateName(io, "_fsWatch");
var _fsWatchIsSupported$ = dart.privateName(io, "_fsWatchIsSupported");
var _createLink$ = dart.privateName(io, "_createLink");
var _socketConnect$ = dart.privateName(io, "_socketConnect");
var _socketStartConnect$ = dart.privateName(io, "_socketStartConnect");
var _serverSocketBind$ = dart.privateName(io, "_serverSocketBind");
io._IOOverridesScope = class _IOOverridesScope extends io.IOOverrides {
  createDirectory(path) {
    if (path == null) dart.nullFailed(I[120], 367, 36, "path");
    if (this[_createDirectory$] != null) return dart.nullCheck(this[_createDirectory$])(path);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).createDirectory(path);
    return super.createDirectory(path);
  }
  getCurrentDirectory() {
    if (this[_getCurrentDirectory$] != null) return dart.nullCheck(this[_getCurrentDirectory$])();
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).getCurrentDirectory();
    return super.getCurrentDirectory();
  }
  setCurrentDirectory(path) {
    if (path == null) dart.nullFailed(I[120], 381, 35, "path");
    if (this[_setCurrentDirectory$] != null)
      dart.nullCheck(this[_setCurrentDirectory$])(path);
    else if (this[_previous$4] != null)
      dart.nullCheck(this[_previous$4]).setCurrentDirectory(path);
    else
      super.setCurrentDirectory(path);
  }
  getSystemTempDirectory() {
    if (this[_getSystemTempDirectory$] != null) return dart.nullCheck(this[_getSystemTempDirectory$])();
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).getSystemTempDirectory();
    return super.getSystemTempDirectory();
  }
  createFile(path) {
    if (path == null) dart.nullFailed(I[120], 399, 26, "path");
    if (this[_createFile$] != null) return dart.nullCheck(this[_createFile$])(path);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).createFile(path);
    return super.createFile(path);
  }
  stat(path) {
    if (path == null) dart.nullFailed(I[120], 407, 32, "path");
    if (this[_stat$] != null) return dart.nullCheck(this[_stat$])(path);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).stat(path);
    return super.stat(path);
  }
  statSync(path) {
    if (path == null) dart.nullFailed(I[120], 414, 28, "path");
    if (this[_stat$] != null) return dart.nullCheck(this[_statSync$])(path);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).statSync(path);
    return super.statSync(path);
  }
  fseIdentical(path1, path2) {
    if (path1 == null) dart.nullFailed(I[120], 422, 36, "path1");
    if (path2 == null) dart.nullFailed(I[120], 422, 50, "path2");
    if (this[_fseIdentical$] != null) return dart.nullCheck(this[_fseIdentical$])(path1, path2);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).fseIdentical(path1, path2);
    return super.fseIdentical(path1, path2);
  }
  fseIdenticalSync(path1, path2) {
    if (path1 == null) dart.nullFailed(I[120], 429, 32, "path1");
    if (path2 == null) dart.nullFailed(I[120], 429, 46, "path2");
    if (this[_fseIdenticalSync$] != null) return dart.nullCheck(this[_fseIdenticalSync$])(path1, path2);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).fseIdenticalSync(path1, path2);
    return super.fseIdenticalSync(path1, path2);
  }
  fseGetType(path, followLinks) {
    if (path == null) dart.nullFailed(I[120], 436, 50, "path");
    if (followLinks == null) dart.nullFailed(I[120], 436, 61, "followLinks");
    if (this[_fseGetType$] != null) return dart.nullCheck(this[_fseGetType$])(path, followLinks);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).fseGetType(path, followLinks);
    return super.fseGetType(path, followLinks);
  }
  fseGetTypeSync(path, followLinks) {
    if (path == null) dart.nullFailed(I[120], 443, 46, "path");
    if (followLinks == null) dart.nullFailed(I[120], 443, 57, "followLinks");
    if (this[_fseGetTypeSync$] != null) return dart.nullCheck(this[_fseGetTypeSync$])(path, followLinks);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).fseGetTypeSync(path, followLinks);
    return super.fseGetTypeSync(path, followLinks);
  }
  fsWatch(path, events, recursive) {
    if (path == null) dart.nullFailed(I[120], 451, 42, "path");
    if (events == null) dart.nullFailed(I[120], 451, 52, "events");
    if (recursive == null) dart.nullFailed(I[120], 451, 65, "recursive");
    if (this[_fsWatch$] != null) return dart.nullCheck(this[_fsWatch$])(path, events, recursive);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).fsWatch(path, events, recursive);
    return super.fsWatch(path, events, recursive);
  }
  fsWatchIsSupported() {
    if (this[_fsWatchIsSupported$] != null) return dart.nullCheck(this[_fsWatchIsSupported$])();
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).fsWatchIsSupported();
    return super.fsWatchIsSupported();
  }
  createLink(path) {
    if (path == null) dart.nullFailed(I[120], 466, 26, "path");
    if (this[_createLink$] != null) return dart.nullCheck(this[_createLink$])(path);
    if (this[_previous$4] != null) return dart.nullCheck(this[_previous$4]).createLink(path);
    return super.createLink(path);
  }
  socketConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[120], 474, 42, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    if (this[_socketConnect$] != null) {
      return dart.nullCheck(this[_socketConnect$])(host, port, {sourceAddress: sourceAddress, timeout: timeout});
    }
    if (this[_previous$4] != null) {
      return dart.nullCheck(this[_previous$4]).socketConnect(host, port, {sourceAddress: sourceAddress, timeout: timeout});
    }
    return super.socketConnect(host, port, {sourceAddress: sourceAddress, timeout: timeout});
  }
  socketStartConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[120], 489, 63, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    if (this[_socketStartConnect$] != null) {
      return dart.nullCheck(this[_socketStartConnect$])(host, port, {sourceAddress: sourceAddress});
    }
    if (this[_previous$4] != null) {
      return dart.nullCheck(this[_previous$4]).socketStartConnect(host, port, {sourceAddress: sourceAddress});
    }
    return super.socketStartConnect(host, port, {sourceAddress: sourceAddress});
  }
  serverSocketBind(address, port, opts) {
    if (port == null) dart.nullFailed(I[120], 504, 54, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[120], 505, 12, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[120], 505, 30, "v6Only");
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[120], 505, 51, "shared");
    if (this[_serverSocketBind$] != null) {
      return dart.nullCheck(this[_serverSocketBind$])(address, port, {backlog: backlog, v6Only: v6Only, shared: shared});
    }
    if (this[_previous$4] != null) {
      return dart.nullCheck(this[_previous$4]).serverSocketBind(address, port, {backlog: backlog, v6Only: v6Only, shared: shared});
    }
    return super.serverSocketBind(address, port, {backlog: backlog, v6Only: v6Only, shared: shared});
  }
};
(io._IOOverridesScope.new = function(_createDirectory, _getCurrentDirectory, _setCurrentDirectory, _getSystemTempDirectory, _createFile, _stat, _statSync, _fseIdentical, _fseIdenticalSync, _fseGetType, _fseGetTypeSync, _fsWatch, _fsWatchIsSupported, _createLink, _socketConnect, _socketStartConnect, _serverSocketBind) {
  this[_previous$4] = io.IOOverrides.current;
  this[_createDirectory$] = _createDirectory;
  this[_getCurrentDirectory$] = _getCurrentDirectory;
  this[_setCurrentDirectory$] = _setCurrentDirectory;
  this[_getSystemTempDirectory$] = _getSystemTempDirectory;
  this[_createFile$] = _createFile;
  this[_stat$] = _stat;
  this[_statSync$] = _statSync;
  this[_fseIdentical$] = _fseIdentical;
  this[_fseIdenticalSync$] = _fseIdenticalSync;
  this[_fseGetType$] = _fseGetType;
  this[_fseGetTypeSync$] = _fseGetTypeSync;
  this[_fsWatch$] = _fsWatch;
  this[_fsWatchIsSupported$] = _fsWatchIsSupported;
  this[_createLink$] = _createLink;
  this[_socketConnect$] = _socketConnect;
  this[_socketStartConnect$] = _socketStartConnect;
  this[_serverSocketBind$] = _serverSocketBind;
  ;
}).prototype = io._IOOverridesScope.prototype;
dart.addTypeTests(io._IOOverridesScope);
dart.addTypeCaches(io._IOOverridesScope);
dart.setLibraryUri(io._IOOverridesScope, I[106]);
dart.setFieldSignature(io._IOOverridesScope, () => ({
  __proto__: dart.getFields(io._IOOverridesScope.__proto__),
  [_previous$4]: dart.finalFieldType(dart.nullable(io.IOOverrides)),
  [_createDirectory$]: dart.fieldType(dart.nullable(dart.fnType(io.Directory, [core.String]))),
  [_getCurrentDirectory$]: dart.fieldType(dart.nullable(dart.fnType(io.Directory, []))),
  [_setCurrentDirectory$]: dart.fieldType(dart.nullable(dart.fnType(dart.void, [core.String]))),
  [_getSystemTempDirectory$]: dart.fieldType(dart.nullable(dart.fnType(io.Directory, []))),
  [_createFile$]: dart.fieldType(dart.nullable(dart.fnType(io.File, [core.String]))),
  [_stat$]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(io.FileStat), [core.String]))),
  [_statSync$]: dart.fieldType(dart.nullable(dart.fnType(io.FileStat, [core.String]))),
  [_fseIdentical$]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(core.bool), [core.String, core.String]))),
  [_fseIdenticalSync$]: dart.fieldType(dart.nullable(dart.fnType(core.bool, [core.String, core.String]))),
  [_fseGetType$]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(io.FileSystemEntityType), [core.String, core.bool]))),
  [_fseGetTypeSync$]: dart.fieldType(dart.nullable(dart.fnType(io.FileSystemEntityType, [core.String, core.bool]))),
  [_fsWatch$]: dart.fieldType(dart.nullable(dart.fnType(async.Stream$(io.FileSystemEvent), [core.String, core.int, core.bool]))),
  [_fsWatchIsSupported$]: dart.fieldType(dart.nullable(dart.fnType(core.bool, []))),
  [_createLink$]: dart.fieldType(dart.nullable(dart.fnType(io.Link, [core.String]))),
  [_socketConnect$]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(io.Socket), [dart.dynamic, core.int], {sourceAddress: dart.dynamic, timeout: dart.nullable(core.Duration)}, {}))),
  [_socketStartConnect$]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(io.ConnectionTask$(io.Socket)), [dart.dynamic, core.int], {sourceAddress: dart.dynamic}, {}))),
  [_serverSocketBind$]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(io.ServerSocket), [dart.dynamic, core.int], {backlog: core.int, shared: core.bool, v6Only: core.bool}, {})))
}));
io.Platform = class Platform extends core.Object {
  static get numberOfProcessors() {
    return io.Platform._numberOfProcessors;
  }
  static get pathSeparator() {
    return io.Platform._pathSeparator;
  }
  static get localeName() {
    return io._Platform.localeName();
  }
  static get operatingSystem() {
    return io.Platform._operatingSystem;
  }
  static get operatingSystemVersion() {
    return io.Platform._operatingSystemVersion;
  }
  static get localHostname() {
    return io.Platform._localHostname;
  }
  static get environment() {
    return io._Platform.environment;
  }
  static get executable() {
    return io._Platform.executable;
  }
  static get resolvedExecutable() {
    return io._Platform.resolvedExecutable;
  }
  static get script() {
    return io._Platform.script;
  }
  static get executableArguments() {
    return io._Platform.executableArguments;
  }
  static get packageRoot() {
    return null;
  }
  static get packageConfig() {
    return io._Platform.packageConfig;
  }
  static get version() {
    return io.Platform._version;
  }
};
(io.Platform.new = function() {
  ;
}).prototype = io.Platform.prototype;
dart.addTypeTests(io.Platform);
dart.addTypeCaches(io.Platform);
dart.setLibraryUri(io.Platform, I[106]);
dart.defineLazy(io.Platform, {
  /*io.Platform._numberOfProcessors*/get _numberOfProcessors() {
    return io._Platform.numberOfProcessors;
  },
  /*io.Platform._pathSeparator*/get _pathSeparator() {
    return io._Platform.pathSeparator;
  },
  /*io.Platform._operatingSystem*/get _operatingSystem() {
    return io._Platform.operatingSystem;
  },
  /*io.Platform._operatingSystemVersion*/get _operatingSystemVersion() {
    return io._Platform.operatingSystemVersion;
  },
  /*io.Platform._localHostname*/get _localHostname() {
    return io._Platform.localHostname;
  },
  /*io.Platform._version*/get _version() {
    return io._Platform.version;
  },
  /*io.Platform.isLinux*/get isLinux() {
    return io.Platform._operatingSystem === "linux";
  },
  /*io.Platform.isMacOS*/get isMacOS() {
    return io.Platform._operatingSystem === "macos";
  },
  /*io.Platform.isWindows*/get isWindows() {
    return io.Platform._operatingSystem === "windows";
  },
  /*io.Platform.isAndroid*/get isAndroid() {
    return io.Platform._operatingSystem === "android";
  },
  /*io.Platform.isIOS*/get isIOS() {
    return io.Platform._operatingSystem === "ios";
  },
  /*io.Platform.isFuchsia*/get isFuchsia() {
    return io.Platform._operatingSystem === "fuchsia";
  }
}, false);
io._Platform = class _Platform extends core.Object {
  static _packageRoot() {
    dart.throw(new core.UnsupportedError.new("Platform._packageRoot"));
  }
  static _numberOfProcessors() {
    dart.throw(new core.UnsupportedError.new("Platform._numberOfProcessors"));
  }
  static _pathSeparator() {
    dart.throw(new core.UnsupportedError.new("Platform._pathSeparator"));
  }
  static _operatingSystem() {
    dart.throw(new core.UnsupportedError.new("Platform._operatingSystem"));
  }
  static _operatingSystemVersion() {
    dart.throw(new core.UnsupportedError.new("Platform._operatingSystemVersion"));
  }
  static _localHostname() {
    dart.throw(new core.UnsupportedError.new("Platform._localHostname"));
  }
  static _executable() {
    dart.throw(new core.UnsupportedError.new("Platform._executable"));
  }
  static _resolvedExecutable() {
    dart.throw(new core.UnsupportedError.new("Platform._resolvedExecutable"));
  }
  static _environment() {
    dart.throw(new core.UnsupportedError.new("Platform._environment"));
  }
  static _executableArguments() {
    dart.throw(new core.UnsupportedError.new("Platform._executableArguments"));
  }
  static _packageConfig() {
    dart.throw(new core.UnsupportedError.new("Platform._packageConfig"));
  }
  static _version() {
    dart.throw(new core.UnsupportedError.new("Platform._version"));
  }
  static _localeName() {
    dart.throw(new core.UnsupportedError.new("Platform._localeName"));
  }
  static _script() {
    dart.throw(new core.UnsupportedError.new("Platform._script"));
  }
  static localeName() {
    let result = io._Platform._localeClosure == null ? io._Platform._localeName() : dart.nullCheck(io._Platform._localeClosure)();
    if (io.OSError.is(result)) {
      dart.throw(result);
    }
    return result;
  }
  static get numberOfProcessors() {
    return io._Platform._numberOfProcessors();
  }
  static get pathSeparator() {
    return io._Platform._pathSeparator();
  }
  static get operatingSystem() {
    return io._Platform._operatingSystem();
  }
  static get script() {
    return io._Platform._script();
  }
  static get operatingSystemVersion() {
    if (io._Platform._cachedOSVersion == null) {
      let result = io._Platform._operatingSystemVersion();
      if (io.OSError.is(result)) {
        dart.throw(result);
      }
      io._Platform._cachedOSVersion = T$.StringN().as(result);
    }
    return dart.nullCheck(io._Platform._cachedOSVersion);
  }
  static get localHostname() {
    let result = io._Platform._localHostname();
    if (io.OSError.is(result)) {
      dart.throw(result);
    }
    return core.String.as(result);
  }
  static get executableArguments() {
    return io._Platform._executableArguments();
  }
  static get environment() {
    if (io._Platform._environmentCache == null) {
      let env = io._Platform._environment();
      if (!io.OSError.is(env)) {
        let isWindows = io._Platform.operatingSystem === "windows";
        let result = isWindows ? new (T$0._CaseInsensitiveStringMapOfString()).new() : new (T$0.LinkedMapOfString$String()).new();
        for (let str of core.Iterable.as(env)) {
          if (str == null) {
            continue;
          }
          let equalsIndex = dart.dsend(str, 'indexOf', ["="]);
          if (dart.dtest(dart.dsend(equalsIndex, '>', [0]))) {
            result[$_set](core.String.as(dart.dsend(str, 'substring', [0, equalsIndex])), core.String.as(dart.dsend(str, 'substring', [dart.dsend(equalsIndex, '+', [1])])));
          }
        }
        io._Platform._environmentCache = new (T$0.UnmodifiableMapViewOfString$String()).new(result);
      } else {
        io._Platform._environmentCache = env;
      }
    }
    if (io.OSError.is(io._Platform._environmentCache)) {
      dart.throw(io._Platform._environmentCache);
    } else {
      return T$0.MapOfString$String().as(dart.nullCheck(io._Platform._environmentCache));
    }
  }
  static get version() {
    return io._Platform._version();
  }
};
(io._Platform.new = function() {
  ;
}).prototype = io._Platform.prototype;
dart.addTypeTests(io._Platform);
dart.addTypeCaches(io._Platform);
dart.setLibraryUri(io._Platform, I[106]);
dart.defineLazy(io._Platform, {
  /*io._Platform.executable*/get executable() {
    return core.String.as(io._Platform._executable());
  },
  set executable(_) {},
  /*io._Platform.resolvedExecutable*/get resolvedExecutable() {
    return core.String.as(io._Platform._resolvedExecutable());
  },
  set resolvedExecutable(_) {},
  /*io._Platform.packageConfig*/get packageConfig() {
    return io._Platform._packageConfig();
  },
  set packageConfig(_) {},
  /*io._Platform._localeClosure*/get _localeClosure() {
    return null;
  },
  set _localeClosure(_) {},
  /*io._Platform._environmentCache*/get _environmentCache() {
    return null;
  },
  set _environmentCache(_) {},
  /*io._Platform._cachedOSVersion*/get _cachedOSVersion() {
    return null;
  },
  set _cachedOSVersion(_) {}
}, false);
var _map$10 = dart.privateName(io, "_map");
const _is__CaseInsensitiveStringMap_default = Symbol('_is__CaseInsensitiveStringMap_default');
io._CaseInsensitiveStringMap$ = dart.generic(V => {
  var __t$LinkedMapOfString$V = () => (__t$LinkedMapOfString$V = dart.constFn(_js_helper.LinkedMap$(core.String, V)))();
  var __t$VoidToV = () => (__t$VoidToV = dart.constFn(dart.fnType(V, [])))();
  var __t$MapOfString$V = () => (__t$MapOfString$V = dart.constFn(core.Map$(core.String, V)))();
  var __t$StringAndVTovoid = () => (__t$StringAndVTovoid = dart.constFn(dart.fnType(dart.void, [core.String, V])))();
  var __t$VToV = () => (__t$VToV = dart.constFn(dart.fnType(V, [V])))();
  var __t$VoidToNV = () => (__t$VoidToNV = dart.constFn(dart.nullable(__t$VoidToV())))();
  var __t$StringAndVToV = () => (__t$StringAndVToV = dart.constFn(dart.fnType(V, [core.String, V])))();
  class _CaseInsensitiveStringMap extends collection.MapBase$(core.String, V) {
    containsKey(key) {
      return typeof key == 'string' && dart.test(this[_map$10][$containsKey](key[$toUpperCase]()));
    }
    containsValue(value) {
      return this[_map$10][$containsValue](value);
    }
    _get(key) {
      return typeof key == 'string' ? this[_map$10][$_get](key[$toUpperCase]()) : null;
    }
    _set(key, value$) {
      let value = value$;
      core.String.as(key);
      if (key == null) dart.nullFailed(I[121], 129, 28, "key");
      V.as(value);
      this[_map$10][$_set](key[$toUpperCase](), value);
      return value$;
    }
    putIfAbsent(key, ifAbsent) {
      core.String.as(key);
      if (key == null) dart.nullFailed(I[121], 133, 24, "key");
      __t$VoidToV().as(ifAbsent);
      if (ifAbsent == null) dart.nullFailed(I[121], 133, 31, "ifAbsent");
      return this[_map$10][$putIfAbsent](key[$toUpperCase](), ifAbsent);
    }
    addAll(other) {
      __t$MapOfString$V().as(other);
      if (other == null) dart.nullFailed(I[121], 137, 30, "other");
      other[$forEach](dart.fn((key, value) => {
        let t208, t207;
        if (key == null) dart.nullFailed(I[121], 138, 20, "key");
        t207 = key[$toUpperCase]();
        t208 = value;
        this._set(t207, t208);
        return t208;
      }, __t$StringAndVTovoid()));
    }
    remove(key) {
      return typeof key == 'string' ? this[_map$10][$remove](key[$toUpperCase]()) : null;
    }
    clear() {
      this[_map$10][$clear]();
    }
    forEach(f) {
      if (f == null) dart.nullFailed(I[121], 148, 21, "f");
      this[_map$10][$forEach](f);
    }
    get keys() {
      return this[_map$10][$keys];
    }
    get values() {
      return this[_map$10][$values];
    }
    get length() {
      return this[_map$10][$length];
    }
    get isEmpty() {
      return this[_map$10][$isEmpty];
    }
    get isNotEmpty() {
      return this[_map$10][$isNotEmpty];
    }
    get entries() {
      return this[_map$10][$entries];
    }
    map(K2, V2, transform) {
      if (transform == null) dart.nullFailed(I[121], 160, 44, "transform");
      return this[_map$10][$map](K2, V2, transform);
    }
    update(key, update, opts) {
      core.String.as(key);
      if (key == null) dart.nullFailed(I[121], 163, 19, "key");
      __t$VToV().as(update);
      if (update == null) dart.nullFailed(I[121], 163, 26, "update");
      let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
      __t$VoidToNV().as(ifAbsent);
      return this[_map$10][$update](key[$toUpperCase](), update, {ifAbsent: ifAbsent});
    }
    updateAll(update) {
      __t$StringAndVToV().as(update);
      if (update == null) dart.nullFailed(I[121], 166, 20, "update");
      this[_map$10][$updateAll](update);
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[121], 170, 25, "test");
      this[_map$10][$removeWhere](test);
    }
    toString() {
      return dart.toString(this[_map$10]);
    }
  }
  (_CaseInsensitiveStringMap.new = function() {
    this[_map$10] = new (__t$LinkedMapOfString$V()).new();
    ;
  }).prototype = _CaseInsensitiveStringMap.prototype;
  dart.addTypeTests(_CaseInsensitiveStringMap);
  _CaseInsensitiveStringMap.prototype[_is__CaseInsensitiveStringMap_default] = true;
  dart.addTypeCaches(_CaseInsensitiveStringMap);
  dart.setMethodSignature(_CaseInsensitiveStringMap, () => ({
    __proto__: dart.getMethods(_CaseInsensitiveStringMap.__proto__),
    _get: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$_get]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
    remove: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(dart.nullable(V), [dart.nullable(core.Object)]),
    clear: dart.fnType(dart.void, []),
    [$clear]: dart.fnType(dart.void, []),
    map: dart.gFnType((K2, V2) => [core.Map$(K2, V2), [dart.fnType(core.MapEntry$(K2, V2), [core.String, V])]], (K2, V2) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
    [$map]: dart.gFnType((K2, V2) => [core.Map$(K2, V2), [dart.fnType(core.MapEntry$(K2, V2), [core.String, V])]], (K2, V2) => [dart.nullable(core.Object), dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_CaseInsensitiveStringMap, () => ({
    __proto__: dart.getGetters(_CaseInsensitiveStringMap.__proto__),
    keys: core.Iterable$(core.String),
    [$keys]: core.Iterable$(core.String)
  }));
  dart.setLibraryUri(_CaseInsensitiveStringMap, I[106]);
  dart.setFieldSignature(_CaseInsensitiveStringMap, () => ({
    __proto__: dart.getFields(_CaseInsensitiveStringMap.__proto__),
    [_map$10]: dart.finalFieldType(core.Map$(core.String, V))
  }));
  dart.defineExtensionMethods(_CaseInsensitiveStringMap, [
    'containsKey',
    'containsValue',
    '_get',
    '_set',
    'putIfAbsent',
    'addAll',
    'remove',
    'clear',
    'forEach',
    'map',
    'update',
    'updateAll',
    'removeWhere',
    'toString'
  ]);
  dart.defineExtensionAccessors(_CaseInsensitiveStringMap, [
    'keys',
    'values',
    'length',
    'isEmpty',
    'isNotEmpty',
    'entries'
  ]);
  return _CaseInsensitiveStringMap;
});
io._CaseInsensitiveStringMap = io._CaseInsensitiveStringMap$();
dart.addTypeTests(io._CaseInsensitiveStringMap, _is__CaseInsensitiveStringMap_default);
io._ProcessUtils = class _ProcessUtils extends core.Object {
  static _exit(status) {
    if (status == null) dart.nullFailed(I[108], 306, 26, "status");
    dart.throw(new core.UnsupportedError.new("ProcessUtils._exit"));
  }
  static _setExitCode(status) {
    if (status == null) dart.nullFailed(I[108], 311, 32, "status");
    dart.throw(new core.UnsupportedError.new("ProcessUtils._setExitCode"));
  }
  static _getExitCode() {
    dart.throw(new core.UnsupportedError.new("ProcessUtils._getExitCode"));
  }
  static _sleep(millis) {
    if (millis == null) dart.nullFailed(I[108], 321, 26, "millis");
    dart.throw(new core.UnsupportedError.new("ProcessUtils._sleep"));
  }
  static _pid(process) {
    dart.throw(new core.UnsupportedError.new("ProcessUtils._pid"));
  }
  static _watchSignal(signal) {
    if (signal == null) dart.nullFailed(I[108], 331, 59, "signal");
    dart.throw(new core.UnsupportedError.new("ProcessUtils._watchSignal"));
  }
};
(io._ProcessUtils.new = function() {
  ;
}).prototype = io._ProcessUtils.prototype;
dart.addTypeTests(io._ProcessUtils);
dart.addTypeCaches(io._ProcessUtils);
dart.setLibraryUri(io._ProcessUtils, I[106]);
io.ProcessInfo = class ProcessInfo extends core.Object {
  static get currentRss() {
    dart.throw(new core.UnsupportedError.new("ProcessInfo.currentRss"));
  }
  static get maxRss() {
    dart.throw(new core.UnsupportedError.new("ProcessInfo.maxRss"));
  }
};
(io.ProcessInfo.new = function() {
  ;
}).prototype = io.ProcessInfo.prototype;
dart.addTypeTests(io.ProcessInfo);
dart.addTypeCaches(io.ProcessInfo);
dart.setLibraryUri(io.ProcessInfo, I[106]);
var _mode$0 = dart.privateName(io, "ProcessStartMode._mode");
io.ProcessStartMode = class ProcessStartMode extends core.Object {
  get [_mode]() {
    return this[_mode$0];
  }
  set [_mode](value) {
    super[_mode] = value;
  }
  static get values() {
    return C[139] || CT.C139;
  }
  toString() {
    return (C[144] || CT.C144)[$_get](this[_mode]);
  }
};
(io.ProcessStartMode._internal = function(_mode) {
  if (_mode == null) dart.nullFailed(I[122], 156, 41, "_mode");
  this[_mode$0] = _mode;
  ;
}).prototype = io.ProcessStartMode.prototype;
dart.addTypeTests(io.ProcessStartMode);
dart.addTypeCaches(io.ProcessStartMode);
dart.setLibraryUri(io.ProcessStartMode, I[106]);
dart.setFieldSignature(io.ProcessStartMode, () => ({
  __proto__: dart.getFields(io.ProcessStartMode.__proto__),
  [_mode]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(io.ProcessStartMode, ['toString']);
dart.defineLazy(io.ProcessStartMode, {
  /*io.ProcessStartMode.normal*/get normal() {
    return C[140] || CT.C140;
  },
  /*io.ProcessStartMode.NORMAL*/get NORMAL() {
    return C[140] || CT.C140;
  },
  /*io.ProcessStartMode.inheritStdio*/get inheritStdio() {
    return C[141] || CT.C141;
  },
  /*io.ProcessStartMode.INHERIT_STDIO*/get INHERIT_STDIO() {
    return C[141] || CT.C141;
  },
  /*io.ProcessStartMode.detached*/get detached() {
    return C[142] || CT.C142;
  },
  /*io.ProcessStartMode.DETACHED*/get DETACHED() {
    return C[142] || CT.C142;
  },
  /*io.ProcessStartMode.detachedWithStdio*/get detachedWithStdio() {
    return C[143] || CT.C143;
  },
  /*io.ProcessStartMode.DETACHED_WITH_STDIO*/get DETACHED_WITH_STDIO() {
    return C[143] || CT.C143;
  }
}, false);
var ProcessSignal__name = dart.privateName(io, "ProcessSignal._name");
var ProcessSignal__signalNumber = dart.privateName(io, "ProcessSignal._signalNumber");
io.Process = class Process extends core.Object {
  static start(executable, $arguments, opts) {
    if (executable == null) dart.nullFailed(I[108], 352, 39, "executable");
    if ($arguments == null) dart.nullFailed(I[108], 352, 64, "arguments");
    let workingDirectory = opts && 'workingDirectory' in opts ? opts.workingDirectory : null;
    let environment = opts && 'environment' in opts ? opts.environment : null;
    let includeParentEnvironment = opts && 'includeParentEnvironment' in opts ? opts.includeParentEnvironment : true;
    if (includeParentEnvironment == null) dart.nullFailed(I[108], 355, 12, "includeParentEnvironment");
    let runInShell = opts && 'runInShell' in opts ? opts.runInShell : false;
    if (runInShell == null) dart.nullFailed(I[108], 356, 12, "runInShell");
    let mode = opts && 'mode' in opts ? opts.mode : C[140] || CT.C140;
    if (mode == null) dart.nullFailed(I[108], 357, 24, "mode");
    dart.throw(new core.UnsupportedError.new("Process.start"));
  }
  static run(executable, $arguments, opts) {
    if (executable == null) dart.nullFailed(I[108], 362, 43, "executable");
    if ($arguments == null) dart.nullFailed(I[108], 362, 68, "arguments");
    let workingDirectory = opts && 'workingDirectory' in opts ? opts.workingDirectory : null;
    let environment = opts && 'environment' in opts ? opts.environment : null;
    let includeParentEnvironment = opts && 'includeParentEnvironment' in opts ? opts.includeParentEnvironment : true;
    if (includeParentEnvironment == null) dart.nullFailed(I[108], 365, 12, "includeParentEnvironment");
    let runInShell = opts && 'runInShell' in opts ? opts.runInShell : false;
    if (runInShell == null) dart.nullFailed(I[108], 366, 12, "runInShell");
    let stdoutEncoding = opts && 'stdoutEncoding' in opts ? opts.stdoutEncoding : C[145] || CT.C145;
    let stderrEncoding = opts && 'stderrEncoding' in opts ? opts.stderrEncoding : C[145] || CT.C145;
    dart.throw(new core.UnsupportedError.new("Process.run"));
  }
  static runSync(executable, $arguments, opts) {
    if (executable == null) dart.nullFailed(I[108], 373, 39, "executable");
    if ($arguments == null) dart.nullFailed(I[108], 373, 64, "arguments");
    let workingDirectory = opts && 'workingDirectory' in opts ? opts.workingDirectory : null;
    let environment = opts && 'environment' in opts ? opts.environment : null;
    let includeParentEnvironment = opts && 'includeParentEnvironment' in opts ? opts.includeParentEnvironment : true;
    if (includeParentEnvironment == null) dart.nullFailed(I[108], 376, 12, "includeParentEnvironment");
    let runInShell = opts && 'runInShell' in opts ? opts.runInShell : false;
    if (runInShell == null) dart.nullFailed(I[108], 377, 12, "runInShell");
    let stdoutEncoding = opts && 'stdoutEncoding' in opts ? opts.stdoutEncoding : C[145] || CT.C145;
    let stderrEncoding = opts && 'stderrEncoding' in opts ? opts.stderrEncoding : C[145] || CT.C145;
    dart.throw(new core.UnsupportedError.new("Process.runSync"));
  }
  static killPid(pid, signal = C[146] || CT.C146) {
    if (pid == null) dart.nullFailed(I[108], 384, 27, "pid");
    if (signal == null) dart.nullFailed(I[108], 384, 47, "signal");
    dart.throw(new core.UnsupportedError.new("Process.killPid"));
  }
};
(io.Process.new = function() {
  ;
}).prototype = io.Process.prototype;
dart.addTypeTests(io.Process);
dart.addTypeCaches(io.Process);
dart.setLibraryUri(io.Process, I[106]);
var exitCode$ = dart.privateName(io, "ProcessResult.exitCode");
var stdout$ = dart.privateName(io, "ProcessResult.stdout");
var stderr$ = dart.privateName(io, "ProcessResult.stderr");
var pid$ = dart.privateName(io, "ProcessResult.pid");
io.ProcessResult = class ProcessResult extends core.Object {
  get exitCode() {
    return this[exitCode$];
  }
  set exitCode(value) {
    super.exitCode = value;
  }
  get stdout() {
    return this[stdout$];
  }
  set stdout(value) {
    super.stdout = value;
  }
  get stderr() {
    return this[stderr$];
  }
  set stderr(value) {
    super.stderr = value;
  }
  get pid() {
    return this[pid$];
  }
  set pid(value) {
    super.pid = value;
  }
};
(io.ProcessResult.new = function(pid, exitCode, stdout, stderr) {
  if (pid == null) dart.nullFailed(I[122], 469, 22, "pid");
  if (exitCode == null) dart.nullFailed(I[122], 469, 32, "exitCode");
  this[pid$] = pid;
  this[exitCode$] = exitCode;
  this[stdout$] = stdout;
  this[stderr$] = stderr;
  ;
}).prototype = io.ProcessResult.prototype;
dart.addTypeTests(io.ProcessResult);
dart.addTypeCaches(io.ProcessResult);
dart.setLibraryUri(io.ProcessResult, I[106]);
dart.setFieldSignature(io.ProcessResult, () => ({
  __proto__: dart.getFields(io.ProcessResult.__proto__),
  exitCode: dart.finalFieldType(core.int),
  stdout: dart.finalFieldType(dart.dynamic),
  stderr: dart.finalFieldType(dart.dynamic),
  pid: dart.finalFieldType(core.int)
}));
var _signalNumber = dart.privateName(io, "_signalNumber");
const _signalNumber$ = ProcessSignal__signalNumber;
const _name$5 = ProcessSignal__name;
io.ProcessSignal = class ProcessSignal extends core.Object {
  get [_signalNumber]() {
    return this[_signalNumber$];
  }
  set [_signalNumber](value) {
    super[_signalNumber] = value;
  }
  get [_name$4]() {
    return this[_name$5];
  }
  set [_name$4](value) {
    super[_name$4] = value;
  }
  toString() {
    return this[_name$4];
  }
  watch() {
    return io._ProcessUtils._watchSignal(this);
  }
};
(io.ProcessSignal.__ = function(_signalNumber, _name) {
  if (_signalNumber == null) dart.nullFailed(I[122], 571, 30, "_signalNumber");
  if (_name == null) dart.nullFailed(I[122], 571, 50, "_name");
  this[_signalNumber$] = _signalNumber;
  this[_name$5] = _name;
  ;
}).prototype = io.ProcessSignal.prototype;
dart.addTypeTests(io.ProcessSignal);
dart.addTypeCaches(io.ProcessSignal);
dart.setMethodSignature(io.ProcessSignal, () => ({
  __proto__: dart.getMethods(io.ProcessSignal.__proto__),
  watch: dart.fnType(async.Stream$(io.ProcessSignal), [])
}));
dart.setLibraryUri(io.ProcessSignal, I[106]);
dart.setFieldSignature(io.ProcessSignal, () => ({
  __proto__: dart.getFields(io.ProcessSignal.__proto__),
  [_signalNumber]: dart.finalFieldType(core.int),
  [_name$4]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(io.ProcessSignal, ['toString']);
dart.defineLazy(io.ProcessSignal, {
  /*io.ProcessSignal.sighup*/get sighup() {
    return C[147] || CT.C147;
  },
  /*io.ProcessSignal.sigint*/get sigint() {
    return C[148] || CT.C148;
  },
  /*io.ProcessSignal.sigquit*/get sigquit() {
    return C[149] || CT.C149;
  },
  /*io.ProcessSignal.sigill*/get sigill() {
    return C[150] || CT.C150;
  },
  /*io.ProcessSignal.sigtrap*/get sigtrap() {
    return C[151] || CT.C151;
  },
  /*io.ProcessSignal.sigabrt*/get sigabrt() {
    return C[152] || CT.C152;
  },
  /*io.ProcessSignal.sigbus*/get sigbus() {
    return C[153] || CT.C153;
  },
  /*io.ProcessSignal.sigfpe*/get sigfpe() {
    return C[154] || CT.C154;
  },
  /*io.ProcessSignal.sigkill*/get sigkill() {
    return C[155] || CT.C155;
  },
  /*io.ProcessSignal.sigusr1*/get sigusr1() {
    return C[156] || CT.C156;
  },
  /*io.ProcessSignal.sigsegv*/get sigsegv() {
    return C[157] || CT.C157;
  },
  /*io.ProcessSignal.sigusr2*/get sigusr2() {
    return C[158] || CT.C158;
  },
  /*io.ProcessSignal.sigpipe*/get sigpipe() {
    return C[159] || CT.C159;
  },
  /*io.ProcessSignal.sigalrm*/get sigalrm() {
    return C[160] || CT.C160;
  },
  /*io.ProcessSignal.sigterm*/get sigterm() {
    return C[146] || CT.C146;
  },
  /*io.ProcessSignal.sigchld*/get sigchld() {
    return C[161] || CT.C161;
  },
  /*io.ProcessSignal.sigcont*/get sigcont() {
    return C[162] || CT.C162;
  },
  /*io.ProcessSignal.sigstop*/get sigstop() {
    return C[163] || CT.C163;
  },
  /*io.ProcessSignal.sigtstp*/get sigtstp() {
    return C[164] || CT.C164;
  },
  /*io.ProcessSignal.sigttin*/get sigttin() {
    return C[165] || CT.C165;
  },
  /*io.ProcessSignal.sigttou*/get sigttou() {
    return C[166] || CT.C166;
  },
  /*io.ProcessSignal.sigurg*/get sigurg() {
    return C[167] || CT.C167;
  },
  /*io.ProcessSignal.sigxcpu*/get sigxcpu() {
    return C[168] || CT.C168;
  },
  /*io.ProcessSignal.sigxfsz*/get sigxfsz() {
    return C[169] || CT.C169;
  },
  /*io.ProcessSignal.sigvtalrm*/get sigvtalrm() {
    return C[170] || CT.C170;
  },
  /*io.ProcessSignal.sigprof*/get sigprof() {
    return C[171] || CT.C171;
  },
  /*io.ProcessSignal.sigwinch*/get sigwinch() {
    return C[172] || CT.C172;
  },
  /*io.ProcessSignal.sigpoll*/get sigpoll() {
    return C[173] || CT.C173;
  },
  /*io.ProcessSignal.sigsys*/get sigsys() {
    return C[174] || CT.C174;
  },
  /*io.ProcessSignal.SIGHUP*/get SIGHUP() {
    return C[147] || CT.C147;
  },
  /*io.ProcessSignal.SIGINT*/get SIGINT() {
    return C[148] || CT.C148;
  },
  /*io.ProcessSignal.SIGQUIT*/get SIGQUIT() {
    return C[149] || CT.C149;
  },
  /*io.ProcessSignal.SIGILL*/get SIGILL() {
    return C[150] || CT.C150;
  },
  /*io.ProcessSignal.SIGTRAP*/get SIGTRAP() {
    return C[151] || CT.C151;
  },
  /*io.ProcessSignal.SIGABRT*/get SIGABRT() {
    return C[152] || CT.C152;
  },
  /*io.ProcessSignal.SIGBUS*/get SIGBUS() {
    return C[153] || CT.C153;
  },
  /*io.ProcessSignal.SIGFPE*/get SIGFPE() {
    return C[154] || CT.C154;
  },
  /*io.ProcessSignal.SIGKILL*/get SIGKILL() {
    return C[155] || CT.C155;
  },
  /*io.ProcessSignal.SIGUSR1*/get SIGUSR1() {
    return C[156] || CT.C156;
  },
  /*io.ProcessSignal.SIGSEGV*/get SIGSEGV() {
    return C[157] || CT.C157;
  },
  /*io.ProcessSignal.SIGUSR2*/get SIGUSR2() {
    return C[158] || CT.C158;
  },
  /*io.ProcessSignal.SIGPIPE*/get SIGPIPE() {
    return C[159] || CT.C159;
  },
  /*io.ProcessSignal.SIGALRM*/get SIGALRM() {
    return C[160] || CT.C160;
  },
  /*io.ProcessSignal.SIGTERM*/get SIGTERM() {
    return C[146] || CT.C146;
  },
  /*io.ProcessSignal.SIGCHLD*/get SIGCHLD() {
    return C[161] || CT.C161;
  },
  /*io.ProcessSignal.SIGCONT*/get SIGCONT() {
    return C[162] || CT.C162;
  },
  /*io.ProcessSignal.SIGSTOP*/get SIGSTOP() {
    return C[163] || CT.C163;
  },
  /*io.ProcessSignal.SIGTSTP*/get SIGTSTP() {
    return C[164] || CT.C164;
  },
  /*io.ProcessSignal.SIGTTIN*/get SIGTTIN() {
    return C[165] || CT.C165;
  },
  /*io.ProcessSignal.SIGTTOU*/get SIGTTOU() {
    return C[166] || CT.C166;
  },
  /*io.ProcessSignal.SIGURG*/get SIGURG() {
    return C[167] || CT.C167;
  },
  /*io.ProcessSignal.SIGXCPU*/get SIGXCPU() {
    return C[168] || CT.C168;
  },
  /*io.ProcessSignal.SIGXFSZ*/get SIGXFSZ() {
    return C[169] || CT.C169;
  },
  /*io.ProcessSignal.SIGVTALRM*/get SIGVTALRM() {
    return C[170] || CT.C170;
  },
  /*io.ProcessSignal.SIGPROF*/get SIGPROF() {
    return C[171] || CT.C171;
  },
  /*io.ProcessSignal.SIGWINCH*/get SIGWINCH() {
    return C[172] || CT.C172;
  },
  /*io.ProcessSignal.SIGPOLL*/get SIGPOLL() {
    return C[173] || CT.C173;
  },
  /*io.ProcessSignal.SIGSYS*/get SIGSYS() {
    return C[174] || CT.C174;
  }
}, false);
var message$4 = dart.privateName(io, "SignalException.message");
var osError$0 = dart.privateName(io, "SignalException.osError");
io.SignalException = class SignalException extends core.Object {
  get message() {
    return this[message$4];
  }
  set message(value) {
    super.message = value;
  }
  get osError() {
    return this[osError$0];
  }
  set osError(value) {
    super.osError = value;
  }
  toString() {
    let msg = "";
    if (this.osError != null) {
      msg = ", osError: " + dart.str(this.osError);
    }
    return "SignalException: " + dart.str(this.message) + msg;
  }
};
(io.SignalException.new = function(message, osError = null) {
  if (message == null) dart.nullFailed(I[122], 597, 30, "message");
  this[message$4] = message;
  this[osError$0] = osError;
  ;
}).prototype = io.SignalException.prototype;
dart.addTypeTests(io.SignalException);
dart.addTypeCaches(io.SignalException);
io.SignalException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(io.SignalException, I[106]);
dart.setFieldSignature(io.SignalException, () => ({
  __proto__: dart.getFields(io.SignalException.__proto__),
  message: dart.finalFieldType(core.String),
  osError: dart.finalFieldType(dart.dynamic)
}));
dart.defineExtensionMethods(io.SignalException, ['toString']);
var executable$ = dart.privateName(io, "ProcessException.executable");
var $arguments$ = dart.privateName(io, "ProcessException.arguments");
var message$5 = dart.privateName(io, "ProcessException.message");
var errorCode$1 = dart.privateName(io, "ProcessException.errorCode");
io.ProcessException = class ProcessException extends core.Object {
  get executable() {
    return this[executable$];
  }
  set executable(value) {
    super.executable = value;
  }
  get arguments() {
    return this[$arguments$];
  }
  set arguments(value) {
    super.arguments = value;
  }
  get message() {
    return this[message$5];
  }
  set message(value) {
    super.message = value;
  }
  get errorCode() {
    return this[errorCode$1];
  }
  set errorCode(value) {
    super.errorCode = value;
  }
  toString() {
    let args = this.arguments[$join](" ");
    return "ProcessException: " + dart.str(this.message) + "\n  Command: " + dart.str(this.executable) + " " + dart.str(args);
  }
};
(io.ProcessException.new = function(executable, $arguments, message = "", errorCode = 0) {
  if (executable == null) dart.nullFailed(I[122], 625, 31, "executable");
  if ($arguments == null) dart.nullFailed(I[122], 625, 48, "arguments");
  if (message == null) dart.nullFailed(I[122], 626, 13, "message");
  if (errorCode == null) dart.nullFailed(I[122], 626, 32, "errorCode");
  this[executable$] = executable;
  this[$arguments$] = $arguments;
  this[message$5] = message;
  this[errorCode$1] = errorCode;
  ;
}).prototype = io.ProcessException.prototype;
dart.addTypeTests(io.ProcessException);
dart.addTypeCaches(io.ProcessException);
io.ProcessException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(io.ProcessException, I[106]);
dart.setFieldSignature(io.ProcessException, () => ({
  __proto__: dart.getFields(io.ProcessException.__proto__),
  executable: dart.finalFieldType(core.String),
  arguments: dart.finalFieldType(core.List$(core.String)),
  message: dart.finalFieldType(core.String),
  errorCode: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(io.ProcessException, ['toString']);
var _socket$ = dart.privateName(io, "_socket");
var _owner = dart.privateName(io, "_owner");
var _onCancel$ = dart.privateName(io, "_onCancel");
var _detachRaw = dart.privateName(io, "_detachRaw");
io.SecureSocket = class SecureSocket extends core.Object {
  static connect(host, port, opts) {
    if (port == null) dart.nullFailed(I[124], 40, 49, "port");
    let context = opts && 'context' in opts ? opts.context : null;
    let onBadCertificate = opts && 'onBadCertificate' in opts ? opts.onBadCertificate : null;
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    return io.RawSecureSocket.connect(host, port, {context: context, onBadCertificate: onBadCertificate, supportedProtocols: supportedProtocols, timeout: timeout}).then(io.SecureSocket, dart.fn(rawSocket => {
      if (rawSocket == null) dart.nullFailed(I[124], 50, 16, "rawSocket");
      return io.SecureSocket.__(rawSocket);
    }, T$0.RawSecureSocketToSecureSocket()));
  }
  static startConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[124], 56, 70, "port");
    let context = opts && 'context' in opts ? opts.context : null;
    let onBadCertificate = opts && 'onBadCertificate' in opts ? opts.onBadCertificate : null;
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    return io.RawSecureSocket.startConnect(host, port, {context: context, onBadCertificate: onBadCertificate, supportedProtocols: supportedProtocols}).then(T$0.ConnectionTaskOfSecureSocket(), dart.fn(rawState => {
      if (rawState == null) dart.nullFailed(I[124], 64, 16, "rawState");
      let socket = rawState.socket.then(io.SecureSocket, dart.fn(rawSocket => {
        if (rawSocket == null) dart.nullFailed(I[124], 66, 33, "rawSocket");
        return io.SecureSocket.__(rawSocket);
      }, T$0.RawSecureSocketToSecureSocket()));
      return new (T$0.ConnectionTaskOfSecureSocket()).__(socket, rawState[_onCancel$]);
    }, T$0.ConnectionTaskOfRawSecureSocketToConnectionTaskOfSecureSocket()));
  }
  static secure(socket, opts) {
    if (socket == null) dart.nullFailed(I[124], 103, 45, "socket");
    let host = opts && 'host' in opts ? opts.host : null;
    let context = opts && 'context' in opts ? opts.context : null;
    let onBadCertificate = opts && 'onBadCertificate' in opts ? opts.onBadCertificate : null;
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    return async.Future.as(dart.dsend(socket, _detachRaw, [])).then(io.RawSecureSocket, dart.fn(detachedRaw => io.RawSecureSocket.secure(io.RawSocket.as(dart.dsend(detachedRaw, '_get', [0])), {subscription: T$0.StreamSubscriptionNOfRawSocketEvent().as(dart.dsend(detachedRaw, '_get', [1])), host: host, context: context, onBadCertificate: onBadCertificate, supportedProtocols: supportedProtocols}), T$0.dynamicToFutureOfRawSecureSocket())).then(io.SecureSocket, dart.fn(raw => {
      if (raw == null) dart.nullFailed(I[124], 116, 28, "raw");
      return io.SecureSocket.__(raw);
    }, T$0.RawSecureSocketToSecureSocket()));
  }
  static secureServer(socket, context, opts) {
    if (socket == null) dart.nullFailed(I[124], 140, 14, "socket");
    let bufferedData = opts && 'bufferedData' in opts ? opts.bufferedData : null;
    let requestClientCertificate = opts && 'requestClientCertificate' in opts ? opts.requestClientCertificate : false;
    if (requestClientCertificate == null) dart.nullFailed(I[124], 142, 12, "requestClientCertificate");
    let requireClientCertificate = opts && 'requireClientCertificate' in opts ? opts.requireClientCertificate : false;
    if (requireClientCertificate == null) dart.nullFailed(I[124], 143, 12, "requireClientCertificate");
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    return async.Future.as(dart.dsend(socket, _detachRaw, [])).then(io.RawSecureSocket, dart.fn(detachedRaw => io.RawSecureSocket.secureServer(io.RawSocket.as(dart.dsend(detachedRaw, '_get', [0])), context, {subscription: T$0.StreamSubscriptionNOfRawSocketEvent().as(dart.dsend(detachedRaw, '_get', [1])), bufferedData: bufferedData, requestClientCertificate: requestClientCertificate, requireClientCertificate: requireClientCertificate, supportedProtocols: supportedProtocols}), T$0.dynamicToFutureOfRawSecureSocket())).then(io.SecureSocket, dart.fn(raw => {
      if (raw == null) dart.nullFailed(I[124], 153, 28, "raw");
      return io.SecureSocket.__(raw);
    }, T$0.RawSecureSocketToSecureSocket()));
  }
};
(io.SecureSocket[dart.mixinNew] = function() {
}).prototype = io.SecureSocket.prototype;
dart.addTypeTests(io.SecureSocket);
dart.addTypeCaches(io.SecureSocket);
io.SecureSocket[dart.implements] = () => [io.Socket];
dart.setLibraryUri(io.SecureSocket, I[106]);
io.SecureServerSocket = class SecureServerSocket extends async.Stream$(io.SecureSocket) {
  static bind(address, port, context, opts) {
    if (port == null) dart.nullFailed(I[123], 66, 20, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[123], 67, 12, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[123], 68, 12, "v6Only");
    let requestClientCertificate = opts && 'requestClientCertificate' in opts ? opts.requestClientCertificate : false;
    if (requestClientCertificate == null) dart.nullFailed(I[123], 69, 12, "requestClientCertificate");
    let requireClientCertificate = opts && 'requireClientCertificate' in opts ? opts.requireClientCertificate : false;
    if (requireClientCertificate == null) dart.nullFailed(I[123], 70, 12, "requireClientCertificate");
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[123], 72, 12, "shared");
    return io.RawSecureServerSocket.bind(address, port, context, {backlog: backlog, v6Only: v6Only, requestClientCertificate: requestClientCertificate, requireClientCertificate: requireClientCertificate, supportedProtocols: supportedProtocols, shared: shared}).then(io.SecureServerSocket, dart.fn(serverSocket => {
      if (serverSocket == null) dart.nullFailed(I[123], 80, 16, "serverSocket");
      return new io.SecureServerSocket.__(serverSocket);
    }, T$0.RawSecureServerSocketToSecureServerSocket()));
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    return this[_socket$].map(io.SecureSocket, dart.fn(rawSocket => {
      if (rawSocket == null) dart.nullFailed(I[123], 85, 25, "rawSocket");
      return io.SecureSocket.__(rawSocket);
    }, T$0.RawSecureSocketToSecureSocket())).listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  get port() {
    return this[_socket$].port;
  }
  get address() {
    return this[_socket$].address;
  }
  close() {
    return this[_socket$].close().then(io.SecureServerSocket, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[123], 102, 63, "_");
      return this;
    }, T$0.RawSecureServerSocketToSecureServerSocket()));
  }
  set [_owner](owner) {
    this[_socket$][_owner] = owner;
  }
};
(io.SecureServerSocket.__ = function(_socket) {
  if (_socket == null) dart.nullFailed(I[123], 13, 29, "_socket");
  this[_socket$] = _socket;
  io.SecureServerSocket.__proto__.new.call(this);
  ;
}).prototype = io.SecureServerSocket.prototype;
dart.addTypeTests(io.SecureServerSocket);
dart.addTypeCaches(io.SecureServerSocket);
dart.setMethodSignature(io.SecureServerSocket, () => ({
  __proto__: dart.getMethods(io.SecureServerSocket.__proto__),
  listen: dart.fnType(async.StreamSubscription$(io.SecureSocket), [dart.nullable(dart.fnType(dart.void, [io.SecureSocket]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  close: dart.fnType(async.Future$(io.SecureServerSocket), [])
}));
dart.setGetterSignature(io.SecureServerSocket, () => ({
  __proto__: dart.getGetters(io.SecureServerSocket.__proto__),
  port: core.int,
  address: io.InternetAddress
}));
dart.setSetterSignature(io.SecureServerSocket, () => ({
  __proto__: dart.getSetters(io.SecureServerSocket.__proto__),
  [_owner]: dart.dynamic
}));
dart.setLibraryUri(io.SecureServerSocket, I[106]);
dart.setFieldSignature(io.SecureServerSocket, () => ({
  __proto__: dart.getFields(io.SecureServerSocket.__proto__),
  [_socket$]: dart.finalFieldType(io.RawSecureServerSocket)
}));
var requestClientCertificate$ = dart.privateName(io, "RawSecureServerSocket.requestClientCertificate");
var requireClientCertificate$ = dart.privateName(io, "RawSecureServerSocket.requireClientCertificate");
var supportedProtocols$ = dart.privateName(io, "RawSecureServerSocket.supportedProtocols");
var __RawSecureServerSocket__controller = dart.privateName(io, "_#RawSecureServerSocket#_controller");
var __RawSecureServerSocket__controller_isSet = dart.privateName(io, "_#RawSecureServerSocket#_controller#isSet");
var _subscription$ = dart.privateName(io, "_subscription");
var _context$ = dart.privateName(io, "_context");
var _onSubscriptionStateChange = dart.privateName(io, "_onSubscriptionStateChange");
var _onPauseStateChange = dart.privateName(io, "_onPauseStateChange");
var _onData$0 = dart.privateName(io, "_onData");
io.RawSecureSocket = class RawSecureSocket extends core.Object {
  static connect(host, port, opts) {
    if (port == null) dart.nullFailed(I[124], 216, 52, "port");
    let context = opts && 'context' in opts ? opts.context : null;
    let onBadCertificate = opts && 'onBadCertificate' in opts ? opts.onBadCertificate : null;
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    io._RawSecureSocket._verifyFields(host, port, false, false);
    return io.RawSocket.connect(host, port, {timeout: timeout}).then(io.RawSecureSocket, dart.fn(socket => {
      if (socket == null) dart.nullFailed(I[124], 222, 66, "socket");
      return io.RawSecureSocket.secure(socket, {context: context, onBadCertificate: onBadCertificate, supportedProtocols: supportedProtocols});
    }, T$0.RawSocketToFutureOfRawSecureSocket()));
  }
  static startConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[124], 233, 73, "port");
    let context = opts && 'context' in opts ? opts.context : null;
    let onBadCertificate = opts && 'onBadCertificate' in opts ? opts.onBadCertificate : null;
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    return io.RawSocket.startConnect(host, port).then(T$0.ConnectionTaskOfRawSecureSocket(), dart.fn(rawState => {
      if (rawState == null) dart.nullFailed(I[124], 238, 42, "rawState");
      let socket = rawState.socket.then(io.RawSecureSocket, dart.fn(rawSocket => {
        if (rawSocket == null) dart.nullFailed(I[124], 239, 62, "rawSocket");
        return io.RawSecureSocket.secure(rawSocket, {context: context, onBadCertificate: onBadCertificate, supportedProtocols: supportedProtocols});
      }, T$0.RawSocketToFutureOfRawSecureSocket()));
      return new (T$0.ConnectionTaskOfRawSecureSocket()).__(socket, rawState[_onCancel$]);
    }, T$0.ConnectionTaskOfRawSocketToConnectionTaskOfRawSecureSocket()));
  }
  static secure(socket, opts) {
    if (socket == null) dart.nullFailed(I[124], 281, 51, "socket");
    let subscription = opts && 'subscription' in opts ? opts.subscription : null;
    let host = opts && 'host' in opts ? opts.host : null;
    let context = opts && 'context' in opts ? opts.context : null;
    let onBadCertificate = opts && 'onBadCertificate' in opts ? opts.onBadCertificate : null;
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    socket.readEventsEnabled = false;
    socket.writeEventsEnabled = false;
    return io._RawSecureSocket.connect(host != null ? host : socket.address.host, socket.port, false, socket, {subscription: subscription, context: context, onBadCertificate: onBadCertificate, supportedProtocols: supportedProtocols});
  }
  static secureServer(socket, context, opts) {
    if (socket == null) dart.nullFailed(I[124], 320, 17, "socket");
    let subscription = opts && 'subscription' in opts ? opts.subscription : null;
    let bufferedData = opts && 'bufferedData' in opts ? opts.bufferedData : null;
    let requestClientCertificate = opts && 'requestClientCertificate' in opts ? opts.requestClientCertificate : false;
    if (requestClientCertificate == null) dart.nullFailed(I[124], 323, 12, "requestClientCertificate");
    let requireClientCertificate = opts && 'requireClientCertificate' in opts ? opts.requireClientCertificate : false;
    if (requireClientCertificate == null) dart.nullFailed(I[124], 324, 12, "requireClientCertificate");
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    socket.readEventsEnabled = false;
    socket.writeEventsEnabled = false;
    return io._RawSecureSocket.connect(socket.address, socket.remotePort, true, socket, {context: context, subscription: subscription, bufferedData: bufferedData, requestClientCertificate: requestClientCertificate, requireClientCertificate: requireClientCertificate, supportedProtocols: supportedProtocols});
  }
};
(io.RawSecureSocket.new = function() {
  ;
}).prototype = io.RawSecureSocket.prototype;
dart.addTypeTests(io.RawSecureSocket);
dart.addTypeCaches(io.RawSecureSocket);
io.RawSecureSocket[dart.implements] = () => [io.RawSocket];
dart.setLibraryUri(io.RawSecureSocket, I[106]);
io.RawSecureServerSocket = class RawSecureServerSocket extends async.Stream$(io.RawSecureSocket) {
  get requestClientCertificate() {
    return this[requestClientCertificate$];
  }
  set requestClientCertificate(value) {
    super.requestClientCertificate = value;
  }
  get requireClientCertificate() {
    return this[requireClientCertificate$];
  }
  set requireClientCertificate(value) {
    super.requireClientCertificate = value;
  }
  get supportedProtocols() {
    return this[supportedProtocols$];
  }
  set supportedProtocols(value) {
    super.supportedProtocols = value;
  }
  get [_controller]() {
    let t207;
    return dart.test(this[__RawSecureServerSocket__controller_isSet]) ? (t207 = this[__RawSecureServerSocket__controller], t207) : dart.throw(new _internal.LateError.fieldNI("_controller"));
  }
  set [_controller](t207) {
    if (t207 == null) dart.nullFailed(I[123], 114, 42, "null");
    this[__RawSecureServerSocket__controller_isSet] = true;
    this[__RawSecureServerSocket__controller] = t207;
  }
  static bind(address, port, context, opts) {
    if (port == null) dart.nullFailed(I[123], 186, 20, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[123], 187, 12, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[123], 188, 12, "v6Only");
    let requestClientCertificate = opts && 'requestClientCertificate' in opts ? opts.requestClientCertificate : false;
    if (requestClientCertificate == null) dart.nullFailed(I[123], 189, 12, "requestClientCertificate");
    let requireClientCertificate = opts && 'requireClientCertificate' in opts ? opts.requireClientCertificate : false;
    if (requireClientCertificate == null) dart.nullFailed(I[123], 190, 12, "requireClientCertificate");
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[123], 192, 12, "shared");
    return io.RawServerSocket.bind(address, port, {backlog: backlog, v6Only: v6Only, shared: shared}).then(io.RawSecureServerSocket, dart.fn(serverSocket => {
      if (serverSocket == null) dart.nullFailed(I[123], 195, 16, "serverSocket");
      return new io.RawSecureServerSocket.__(serverSocket, context, requestClientCertificate, requireClientCertificate, supportedProtocols);
    }, T$0.RawServerSocketToRawSecureServerSocket()));
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    return this[_controller].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  get port() {
    return this[_socket$].port;
  }
  get address() {
    return this[_socket$].address;
  }
  close() {
    this[_closed] = true;
    return this[_socket$].close().then(io.RawSecureServerSocket, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[123], 221, 34, "_");
      return this;
    }, T$0.RawServerSocketToRawSecureServerSocket()));
  }
  [_onData$0](connection) {
    if (connection == null) dart.nullFailed(I[123], 224, 26, "connection");
    let remotePort = null;
    try {
      remotePort = connection.remotePort;
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        return;
      } else
        throw e$;
    }
    io._RawSecureSocket.connect(connection.address, core.int.as(remotePort), true, connection, {context: this[_context$], requestClientCertificate: this.requestClientCertificate, requireClientCertificate: this.requireClientCertificate, supportedProtocols: this.supportedProtocols}).then(core.Null, dart.fn(secureConnection => {
      if (secureConnection == null) dart.nullFailed(I[123], 238, 32, "secureConnection");
      if (dart.test(this[_closed])) {
        secureConnection.close();
      } else {
        this[_controller].add(secureConnection);
      }
    }, T$0.RawSecureSocketToNull())).catchError(dart.fn((e, s) => {
      if (!dart.test(this[_closed])) {
        this[_controller].addError(core.Object.as(e), T$.StackTraceN().as(s));
      }
    }, T$.dynamicAnddynamicToNull()));
  }
  [_onPauseStateChange]() {
    if (dart.test(this[_controller].isPaused)) {
      dart.nullCheck(this[_subscription$]).pause();
    } else {
      dart.nullCheck(this[_subscription$]).resume();
    }
  }
  [_onSubscriptionStateChange]() {
    if (dart.test(this[_controller].hasListener)) {
      this[_subscription$] = this[_socket$].listen(dart.bind(this, _onData$0), {onError: dart.bind(this[_controller], 'addError'), onDone: dart.bind(this[_controller], 'close')});
    } else {
      this.close();
    }
  }
  set [_owner](owner) {
    dart.dput(this[_socket$], _owner, owner);
  }
};
(io.RawSecureServerSocket.__ = function(_socket, _context, requestClientCertificate, requireClientCertificate, supportedProtocols) {
  if (_socket == null) dart.nullFailed(I[123], 123, 12, "_socket");
  if (requestClientCertificate == null) dart.nullFailed(I[123], 125, 12, "requestClientCertificate");
  if (requireClientCertificate == null) dart.nullFailed(I[123], 126, 12, "requireClientCertificate");
  this[__RawSecureServerSocket__controller] = null;
  this[__RawSecureServerSocket__controller_isSet] = false;
  this[_subscription$] = null;
  this[_closed] = false;
  this[_socket$] = _socket;
  this[_context$] = _context;
  this[requestClientCertificate$] = requestClientCertificate;
  this[requireClientCertificate$] = requireClientCertificate;
  this[supportedProtocols$] = supportedProtocols;
  io.RawSecureServerSocket.__proto__.new.call(this);
  this[_controller] = T$0.StreamControllerOfRawSecureSocket().new({sync: true, onListen: dart.bind(this, _onSubscriptionStateChange), onPause: dart.bind(this, _onPauseStateChange), onResume: dart.bind(this, _onPauseStateChange), onCancel: dart.bind(this, _onSubscriptionStateChange)});
}).prototype = io.RawSecureServerSocket.prototype;
dart.addTypeTests(io.RawSecureServerSocket);
dart.addTypeCaches(io.RawSecureServerSocket);
dart.setMethodSignature(io.RawSecureServerSocket, () => ({
  __proto__: dart.getMethods(io.RawSecureServerSocket.__proto__),
  listen: dart.fnType(async.StreamSubscription$(io.RawSecureSocket), [dart.nullable(dart.fnType(dart.void, [io.RawSecureSocket]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  close: dart.fnType(async.Future$(io.RawSecureServerSocket), []),
  [_onData$0]: dart.fnType(dart.void, [io.RawSocket]),
  [_onPauseStateChange]: dart.fnType(dart.void, []),
  [_onSubscriptionStateChange]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(io.RawSecureServerSocket, () => ({
  __proto__: dart.getGetters(io.RawSecureServerSocket.__proto__),
  [_controller]: async.StreamController$(io.RawSecureSocket),
  port: core.int,
  address: io.InternetAddress
}));
dart.setSetterSignature(io.RawSecureServerSocket, () => ({
  __proto__: dart.getSetters(io.RawSecureServerSocket.__proto__),
  [_controller]: async.StreamController$(io.RawSecureSocket),
  [_owner]: dart.dynamic
}));
dart.setLibraryUri(io.RawSecureServerSocket, I[106]);
dart.setFieldSignature(io.RawSecureServerSocket, () => ({
  __proto__: dart.getFields(io.RawSecureServerSocket.__proto__),
  [_socket$]: dart.finalFieldType(io.RawServerSocket),
  [__RawSecureServerSocket__controller]: dart.fieldType(dart.nullable(async.StreamController$(io.RawSecureSocket))),
  [__RawSecureServerSocket__controller_isSet]: dart.fieldType(core.bool),
  [_subscription$]: dart.fieldType(dart.nullable(async.StreamSubscription$(io.RawSocket))),
  [_context$]: dart.finalFieldType(dart.nullable(io.SecurityContext)),
  requestClientCertificate: dart.finalFieldType(core.bool),
  requireClientCertificate: dart.finalFieldType(core.bool),
  supportedProtocols: dart.finalFieldType(dart.nullable(core.List$(core.String))),
  [_closed]: dart.fieldType(core.bool)
}));
io.X509Certificate = class X509Certificate extends core.Object {};
(io.X509Certificate[dart.mixinNew] = function() {
}).prototype = io.X509Certificate.prototype;
dart.addTypeTests(io.X509Certificate);
dart.addTypeCaches(io.X509Certificate);
dart.setLibraryUri(io.X509Certificate, I[106]);
io._FilterStatus = class _FilterStatus extends core.Object {};
(io._FilterStatus.new = function() {
  this.progress = false;
  this.readEmpty = true;
  this.writeEmpty = true;
  this.readPlaintextNoLongerEmpty = false;
  this.writePlaintextNoLongerFull = false;
  this.readEncryptedNoLongerFull = false;
  this.writeEncryptedNoLongerEmpty = false;
  ;
}).prototype = io._FilterStatus.prototype;
dart.addTypeTests(io._FilterStatus);
dart.addTypeCaches(io._FilterStatus);
dart.setLibraryUri(io._FilterStatus, I[106]);
dart.setFieldSignature(io._FilterStatus, () => ({
  __proto__: dart.getFields(io._FilterStatus.__proto__),
  progress: dart.fieldType(core.bool),
  readEmpty: dart.fieldType(core.bool),
  writeEmpty: dart.fieldType(core.bool),
  readPlaintextNoLongerEmpty: dart.fieldType(core.bool),
  writePlaintextNoLongerFull: dart.fieldType(core.bool),
  readEncryptedNoLongerFull: dart.fieldType(core.bool),
  writeEncryptedNoLongerEmpty: dart.fieldType(core.bool)
}));
var _handshakeComplete = dart.privateName(io, "_handshakeComplete");
var ___RawSecureSocket__socketSubscription = dart.privateName(io, "_#_RawSecureSocket#_socketSubscription");
var ___RawSecureSocket__socketSubscription_isSet = dart.privateName(io, "_#_RawSecureSocket#_socketSubscription#isSet");
var _bufferedDataIndex = dart.privateName(io, "_bufferedDataIndex");
var _status = dart.privateName(io, "_status");
var _writeEventsEnabled = dart.privateName(io, "_writeEventsEnabled");
var _readEventsEnabled = dart.privateName(io, "_readEventsEnabled");
var _pauseCount = dart.privateName(io, "_pauseCount");
var _pendingReadEvent = dart.privateName(io, "_pendingReadEvent");
var _socketClosedRead = dart.privateName(io, "_socketClosedRead");
var _socketClosedWrite = dart.privateName(io, "_socketClosedWrite");
var _closedRead = dart.privateName(io, "_closedRead");
var _closedWrite = dart.privateName(io, "_closedWrite");
var _filterStatus = dart.privateName(io, "_filterStatus");
var _connectPending = dart.privateName(io, "_connectPending");
var _filterPending = dart.privateName(io, "_filterPending");
var _filterActive = dart.privateName(io, "_filterActive");
var _secureFilter = dart.privateName(io, "_secureFilter");
var _selectedProtocol = dart.privateName(io, "_selectedProtocol");
var _bufferedData$ = dart.privateName(io, "_bufferedData");
var _secureHandshakeCompleteHandler = dart.privateName(io, "_secureHandshakeCompleteHandler");
var _onBadCertificateWrapper = dart.privateName(io, "_onBadCertificateWrapper");
var _socketSubscription = dart.privateName(io, "_socketSubscription");
var _eventDispatcher = dart.privateName(io, "_eventDispatcher");
var _reportError = dart.privateName(io, "_reportError");
var _doneHandler = dart.privateName(io, "_doneHandler");
var _secureHandshake = dart.privateName(io, "_secureHandshake");
var _sendWriteEvent = dart.privateName(io, "_sendWriteEvent");
var _completeCloseCompleter = dart.privateName(io, "_completeCloseCompleter");
var _close$ = dart.privateName(io, "_close");
var _scheduleReadEvent = dart.privateName(io, "_scheduleReadEvent");
var _scheduleFilter = dart.privateName(io, "_scheduleFilter");
var _readHandler = dart.privateName(io, "_readHandler");
var _writeHandler = dart.privateName(io, "_writeHandler");
var _closeHandler = dart.privateName(io, "_closeHandler");
var _readSocket = dart.privateName(io, "_readSocket");
var _writeSocket = dart.privateName(io, "_writeSocket");
var _tryFilter = dart.privateName(io, "_tryFilter");
var _pushAllFilterStages = dart.privateName(io, "_pushAllFilterStages");
var _readSocketOrBufferedData = dart.privateName(io, "_readSocketOrBufferedData");
var _sendReadEvent = dart.privateName(io, "_sendReadEvent");
var _value$ = dart.privateName(io, "RawSocketEvent._value");
var _value$0 = dart.privateName(io, "_value");
io.RawSocketEvent = class RawSocketEvent extends core.Object {
  get [_value$0]() {
    return this[_value$];
  }
  set [_value$0](value) {
    super[_value$0] = value;
  }
  toString() {
    return (C[175] || CT.C175)[$_get](this[_value$0]);
  }
};
(io.RawSocketEvent.__ = function(_value) {
  if (_value == null) dart.nullFailed(I[125], 518, 31, "_value");
  this[_value$] = _value;
  ;
}).prototype = io.RawSocketEvent.prototype;
dart.addTypeTests(io.RawSocketEvent);
dart.addTypeCaches(io.RawSocketEvent);
dart.setLibraryUri(io.RawSocketEvent, I[106]);
dart.setFieldSignature(io.RawSocketEvent, () => ({
  __proto__: dart.getFields(io.RawSocketEvent.__proto__),
  [_value$0]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(io.RawSocketEvent, ['toString']);
dart.defineLazy(io.RawSocketEvent, {
  /*io.RawSocketEvent.read*/get read() {
    return C[176] || CT.C176;
  },
  /*io.RawSocketEvent.write*/get write() {
    return C[177] || CT.C177;
  },
  /*io.RawSocketEvent.readClosed*/get readClosed() {
    return C[178] || CT.C178;
  },
  /*io.RawSocketEvent.closed*/get closed() {
    return C[179] || CT.C179;
  },
  /*io.RawSocketEvent.READ*/get READ() {
    return C[176] || CT.C176;
  },
  /*io.RawSocketEvent.WRITE*/get WRITE() {
    return C[177] || CT.C177;
  },
  /*io.RawSocketEvent.READ_CLOSED*/get READ_CLOSED() {
    return C[178] || CT.C178;
  },
  /*io.RawSocketEvent.CLOSED*/get CLOSED() {
    return C[179] || CT.C179;
  }
}, false);
io._RawSecureSocket = class _RawSecureSocket extends async.Stream$(io.RawSocketEvent) {
  static _isBufferEncrypted(identifier) {
    if (identifier == null) dart.nullFailed(I[124], 414, 38, "identifier");
    return dart.notNull(identifier) >= 2;
  }
  get [_socketSubscription]() {
    let t210;
    return dart.test(this[___RawSecureSocket__socketSubscription_isSet]) ? (t210 = this[___RawSecureSocket__socketSubscription], t210) : dart.throw(new _internal.LateError.fieldNI("_socketSubscription"));
  }
  set [_socketSubscription](t210) {
    if (t210 == null) dart.nullFailed(I[124], 421, 49, "null");
    if (dart.test(this[___RawSecureSocket__socketSubscription_isSet]))
      dart.throw(new _internal.LateError.fieldAI("_socketSubscription"));
    else {
      this[___RawSecureSocket__socketSubscription_isSet] = true;
      this[___RawSecureSocket__socketSubscription] = t210;
    }
  }
  static connect(host, requestedPort, isServer, socket, opts) {
    let t211;
    if (requestedPort == null) dart.nullFailed(I[124], 452, 11, "requestedPort");
    if (isServer == null) dart.nullFailed(I[124], 453, 12, "isServer");
    if (socket == null) dart.nullFailed(I[124], 454, 17, "socket");
    let context = opts && 'context' in opts ? opts.context : null;
    let subscription = opts && 'subscription' in opts ? opts.subscription : null;
    let bufferedData = opts && 'bufferedData' in opts ? opts.bufferedData : null;
    let requestClientCertificate = opts && 'requestClientCertificate' in opts ? opts.requestClientCertificate : false;
    if (requestClientCertificate == null) dart.nullFailed(I[124], 458, 12, "requestClientCertificate");
    let requireClientCertificate = opts && 'requireClientCertificate' in opts ? opts.requireClientCertificate : false;
    if (requireClientCertificate == null) dart.nullFailed(I[124], 459, 12, "requireClientCertificate");
    let onBadCertificate = opts && 'onBadCertificate' in opts ? opts.onBadCertificate : null;
    let supportedProtocols = opts && 'supportedProtocols' in opts ? opts.supportedProtocols : null;
    io._RawSecureSocket._verifyFields(host, requestedPort, requestClientCertificate, requireClientCertificate);
    if (io.InternetAddress.is(host)) host = host.host;
    let address = socket.address;
    if (host != null) {
      address = io.InternetAddress._cloneWithNewHost(address, core.String.as(host));
    }
    return new io._RawSecureSocket.new(address, requestedPort, isServer, (t211 = context, t211 == null ? io.SecurityContext.defaultContext : t211), socket, subscription, bufferedData, requestClientCertificate, requireClientCertificate, onBadCertificate, supportedProtocols)[_handshakeComplete].future;
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    this[_sendWriteEvent]();
    return this[_controller].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  static _verifyFields(host, requestedPort, requestClientCertificate, requireClientCertificate) {
    if (requestedPort == null) dart.nullFailed(I[124], 558, 39, "requestedPort");
    if (requestClientCertificate == null) dart.nullFailed(I[124], 559, 12, "requestClientCertificate");
    if (requireClientCertificate == null) dart.nullFailed(I[124], 559, 43, "requireClientCertificate");
    if (!(typeof host == 'string') && !io.InternetAddress.is(host)) {
      dart.throw(new core.ArgumentError.new("host is not a String or an InternetAddress"));
    }
    core.ArgumentError.checkNotNull(core.int, requestedPort, "requestedPort");
    if (dart.notNull(requestedPort) < 0 || dart.notNull(requestedPort) > 65535) {
      dart.throw(new core.ArgumentError.new("requestedPort is not in the range 0..65535"));
    }
    core.ArgumentError.checkNotNull(core.bool, requestClientCertificate, "requestClientCertificate");
    core.ArgumentError.checkNotNull(core.bool, requireClientCertificate, "requireClientCertificate");
  }
  get port() {
    return this[_socket$].port;
  }
  get remoteAddress() {
    return this[_socket$].remoteAddress;
  }
  get remotePort() {
    return this[_socket$].remotePort;
  }
  set [_owner](owner) {
    dart.dput(this[_socket$], _owner, owner);
  }
  available() {
    return this[_status] !== 202 ? 0 : dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](0).length;
  }
  close() {
    this.shutdown(io.SocketDirection.both);
    return this[_closeCompleter].future;
  }
  [_completeCloseCompleter](dummy = null) {
    if (!dart.test(this[_closeCompleter].isCompleted)) this[_closeCompleter].complete(this);
  }
  [_close$]() {
    this[_closedWrite] = true;
    this[_closedRead] = true;
    this[_socket$].close().then(dart.void, dart.bind(this, _completeCloseCompleter));
    this[_socketClosedWrite] = true;
    this[_socketClosedRead] = true;
    if (!dart.test(this[_filterActive]) && this[_secureFilter] != null) {
      dart.nullCheck(this[_secureFilter]).destroy();
      this[_secureFilter] = null;
    }
    if (this[_socketSubscription] != null) {
      this[_socketSubscription].cancel();
    }
    this[_controller].close();
    this[_status] = 203;
  }
  shutdown(direction) {
    if (direction == null) dart.nullFailed(I[124], 617, 33, "direction");
    if (dart.equals(direction, io.SocketDirection.send) || dart.equals(direction, io.SocketDirection.both)) {
      this[_closedWrite] = true;
      if (dart.test(this[_filterStatus].writeEmpty)) {
        this[_socket$].shutdown(io.SocketDirection.send);
        this[_socketClosedWrite] = true;
        if (dart.test(this[_closedRead])) {
          this[_close$]();
        }
      }
    }
    if (dart.equals(direction, io.SocketDirection.receive) || dart.equals(direction, io.SocketDirection.both)) {
      this[_closedRead] = true;
      this[_socketClosedRead] = true;
      this[_socket$].shutdown(io.SocketDirection.receive);
      if (dart.test(this[_socketClosedWrite])) {
        this[_close$]();
      }
    }
  }
  get writeEventsEnabled() {
    return this[_writeEventsEnabled];
  }
  set writeEventsEnabled(value) {
    if (value == null) dart.nullFailed(I[124], 642, 36, "value");
    this[_writeEventsEnabled] = value;
    if (dart.test(value)) {
      async.Timer.run(dart.fn(() => this[_sendWriteEvent](), T$.VoidTovoid()));
    }
  }
  get readEventsEnabled() {
    return this[_readEventsEnabled];
  }
  set readEventsEnabled(value) {
    if (value == null) dart.nullFailed(I[124], 651, 35, "value");
    this[_readEventsEnabled] = value;
    this[_scheduleReadEvent]();
  }
  read(length = null) {
    if (length != null && dart.notNull(length) < 0) {
      dart.throw(new core.ArgumentError.new("Invalid length parameter in SecureSocket.read (length: " + dart.str(length) + ")"));
    }
    if (dart.test(this[_closedRead])) {
      dart.throw(new io.SocketException.new("Reading from a closed socket"));
    }
    if (this[_status] !== 202) {
      return null;
    }
    let result = dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](0).read(length);
    this[_scheduleFilter]();
    return result;
  }
  static _fixOffset(offset) {
    let t211;
    t211 = offset;
    return t211 == null ? 0 : t211;
  }
  write(data, offset = 0, bytes = null) {
    if (data == null) dart.nullFailed(I[124], 675, 23, "data");
    if (offset == null) dart.nullFailed(I[124], 675, 34, "offset");
    if (bytes != null && dart.notNull(bytes) < 0) {
      dart.throw(new core.ArgumentError.new("Invalid bytes parameter in SecureSocket.read (bytes: " + dart.str(bytes) + ")"));
    }
    offset = io._RawSecureSocket._fixOffset(offset);
    if (dart.notNull(offset) < 0) {
      dart.throw(new core.ArgumentError.new("Invalid offset parameter in SecureSocket.read (offset: " + dart.str(offset) + ")"));
    }
    if (dart.test(this[_closedWrite])) {
      this[_controller].addError(new io.SocketException.new("Writing to a closed socket"));
      return 0;
    }
    if (this[_status] !== 202) return 0;
    bytes == null ? bytes = dart.notNull(data[$length]) - dart.notNull(offset) : null;
    let written = dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](1).write(data, offset, bytes);
    if (dart.notNull(written) > 0) {
      this[_filterStatus].writeEmpty = false;
    }
    this[_scheduleFilter]();
    return written;
  }
  get peerCertificate() {
    return dart.nullCheck(this[_secureFilter]).peerCertificate;
  }
  get selectedProtocol() {
    return this[_selectedProtocol];
  }
  [_onBadCertificateWrapper](certificate) {
    if (certificate == null) dart.nullFailed(I[124], 706, 49, "certificate");
    if (this.onBadCertificate == null) return false;
    return dart.nullCheck(this.onBadCertificate)(certificate);
  }
  setOption(option, enabled) {
    if (option == null) dart.nullFailed(I[124], 711, 31, "option");
    if (enabled == null) dart.nullFailed(I[124], 711, 44, "enabled");
    return this[_socket$].setOption(option, enabled);
  }
  getRawOption(option) {
    if (option == null) dart.nullFailed(I[124], 715, 42, "option");
    return this[_socket$].getRawOption(option);
  }
  setRawOption(option) {
    if (option == null) dart.nullFailed(I[124], 719, 37, "option");
    this[_socket$].setRawOption(option);
  }
  [_eventDispatcher](event) {
    if (event == null) dart.nullFailed(I[124], 723, 40, "event");
    try {
      if (dart.equals(event, io.RawSocketEvent.read)) {
        this[_readHandler]();
      } else if (dart.equals(event, io.RawSocketEvent.write)) {
        this[_writeHandler]();
      } else if (dart.equals(event, io.RawSocketEvent.readClosed)) {
        this[_closeHandler]();
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stackTrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        this[_reportError](e, stackTrace);
      } else
        throw e$;
    }
  }
  [_readHandler]() {
    this[_readSocket]();
    this[_scheduleFilter]();
  }
  [_writeHandler]() {
    this[_writeSocket]();
    this[_scheduleFilter]();
  }
  [_doneHandler]() {
    if (dart.test(this[_filterStatus].readEmpty)) {
      this[_close$]();
    }
  }
  [_reportError](e, stackTrace = null) {
    if (this[_status] === 203) {
      return;
    } else if (dart.test(this[_connectPending])) {
      this[_handshakeComplete].completeError(core.Object.as(e), stackTrace);
    } else {
      this[_controller].addError(core.Object.as(e), stackTrace);
    }
    this[_close$]();
  }
  [_closeHandler]() {
    return async.async(dart.void, (function* _closeHandler() {
      if (this[_status] === 202) {
        if (dart.test(this[_closedRead])) return;
        this[_socketClosedRead] = true;
        if (dart.test(this[_filterStatus].readEmpty)) {
          this[_closedRead] = true;
          this[_controller].add(io.RawSocketEvent.readClosed);
          if (dart.test(this[_socketClosedWrite])) {
            this[_close$]();
          }
        } else {
          yield this[_scheduleFilter]();
        }
      } else if (this[_status] === 201) {
        this[_socketClosedRead] = true;
        if (dart.test(this[_filterStatus].readEmpty)) {
          this[_reportError](new io.HandshakeException.new("Connection terminated during handshake"), null);
        } else {
          yield this[_secureHandshake]();
        }
      }
    }).bind(this));
  }
  [_secureHandshake]() {
    return async.async(dart.void, (function* _secureHandshake$() {
      try {
        let needRetryHandshake = (yield dart.nullCheck(this[_secureFilter]).handshake());
        if (dart.test(needRetryHandshake)) {
          yield this[_secureHandshake]();
        } else {
          this[_filterStatus].writeEmpty = false;
          this[_readSocket]();
          this[_writeSocket]();
          yield this[_scheduleFilter]();
        }
      } catch (e$) {
        let e = dart.getThrown(e$);
        let stackTrace = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          this[_reportError](e, stackTrace);
        } else
          throw e$;
      }
    }).bind(this));
  }
  renegotiate(opts) {
    let useSessionCache = opts && 'useSessionCache' in opts ? opts.useSessionCache : true;
    if (useSessionCache == null) dart.nullFailed(I[124], 810, 13, "useSessionCache");
    let requestClientCertificate = opts && 'requestClientCertificate' in opts ? opts.requestClientCertificate : false;
    if (requestClientCertificate == null) dart.nullFailed(I[124], 811, 12, "requestClientCertificate");
    let requireClientCertificate = opts && 'requireClientCertificate' in opts ? opts.requireClientCertificate : false;
    if (requireClientCertificate == null) dart.nullFailed(I[124], 812, 12, "requireClientCertificate");
    if (this[_status] !== 202) {
      dart.throw(new io.HandshakeException.new("Called renegotiate on a non-connected socket"));
    }
    dart.nullCheck(this[_secureFilter]).renegotiate(useSessionCache, requestClientCertificate, requireClientCertificate);
    this[_status] = 201;
    this[_filterStatus].writeEmpty = false;
    this[_scheduleFilter]();
  }
  [_secureHandshakeCompleteHandler]() {
    this[_status] = 202;
    if (dart.test(this[_connectPending])) {
      this[_connectPending] = false;
      try {
        this[_selectedProtocol] = dart.nullCheck(this[_secureFilter]).selectedProtocol();
        async.Timer.run(dart.fn(() => this[_handshakeComplete].complete(this), T$.VoidTovoid()));
      } catch (e) {
        let error = dart.getThrown(e);
        let stack = dart.stackTrace(e);
        if (core.Object.is(error)) {
          this[_handshakeComplete].completeError(error, stack);
        } else
          throw e;
      }
    }
  }
  [_onPauseStateChange]() {
    if (dart.test(this[_controller].isPaused)) {
      this[_pauseCount] = dart.notNull(this[_pauseCount]) + 1;
    } else {
      this[_pauseCount] = dart.notNull(this[_pauseCount]) - 1;
      if (this[_pauseCount] === 0) {
        this[_scheduleReadEvent]();
        this[_sendWriteEvent]();
      }
    }
    if (!dart.test(this[_socketClosedRead]) || !dart.test(this[_socketClosedWrite])) {
      if (dart.test(this[_controller].isPaused)) {
        this[_socketSubscription].pause();
      } else {
        this[_socketSubscription].resume();
      }
    }
  }
  [_onSubscriptionStateChange]() {
    if (dart.test(this[_controller].hasListener)) {
    }
  }
  [_scheduleFilter]() {
    this[_filterPending] = true;
    return this[_tryFilter]();
  }
  [_tryFilter]() {
    return async.async(dart.void, (function* _tryFilter() {
      try {
        while (true) {
          if (this[_status] === 203) {
            return;
          }
          if (!dart.test(this[_filterPending]) || dart.test(this[_filterActive])) {
            return;
          }
          this[_filterActive] = true;
          this[_filterPending] = false;
          this[_filterStatus] = (yield this[_pushAllFilterStages]());
          this[_filterActive] = false;
          if (this[_status] === 203) {
            dart.nullCheck(this[_secureFilter]).destroy();
            this[_secureFilter] = null;
            return;
          }
          this[_socket$].readEventsEnabled = true;
          if (dart.test(this[_filterStatus].writeEmpty) && dart.test(this[_closedWrite]) && !dart.test(this[_socketClosedWrite])) {
            this.shutdown(io.SocketDirection.send);
            if (this[_status] === 203) {
              return;
            }
          }
          if (dart.test(this[_filterStatus].readEmpty) && dart.test(this[_socketClosedRead]) && !dart.test(this[_closedRead])) {
            if (this[_status] === 201) {
              dart.nullCheck(this[_secureFilter]).handshake();
              if (this[_status] === 201) {
                dart.throw(new io.HandshakeException.new("Connection terminated during handshake"));
              }
            }
            this[_closeHandler]();
          }
          if (this[_status] === 203) {
            return;
          }
          if (dart.test(this[_filterStatus].progress)) {
            this[_filterPending] = true;
            if (dart.test(this[_filterStatus].writeEncryptedNoLongerEmpty)) {
              this[_writeSocket]();
            }
            if (dart.test(this[_filterStatus].writePlaintextNoLongerFull)) {
              this[_sendWriteEvent]();
            }
            if (dart.test(this[_filterStatus].readEncryptedNoLongerFull)) {
              this[_readSocket]();
            }
            if (dart.test(this[_filterStatus].readPlaintextNoLongerEmpty)) {
              this[_scheduleReadEvent]();
            }
            if (this[_status] === 201) {
              yield this[_secureHandshake]();
            }
          }
        }
      } catch (e$) {
        let e = dart.getThrown(e$);
        let st = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          this[_reportError](e, st);
        } else
          throw e$;
      }
    }).bind(this));
  }
  [_readSocketOrBufferedData](bytes) {
    if (bytes == null) dart.nullFailed(I[124], 933, 44, "bytes");
    let bufferedData = this[_bufferedData$];
    if (bufferedData != null) {
      if (dart.notNull(bytes) > dart.notNull(bufferedData[$length]) - dart.notNull(this[_bufferedDataIndex])) {
        bytes = dart.notNull(bufferedData[$length]) - dart.notNull(this[_bufferedDataIndex]);
      }
      let result = bufferedData[$sublist](this[_bufferedDataIndex], dart.notNull(this[_bufferedDataIndex]) + dart.notNull(bytes));
      this[_bufferedDataIndex] = dart.notNull(this[_bufferedDataIndex]) + dart.notNull(bytes);
      if (bufferedData[$length] == this[_bufferedDataIndex]) {
        this[_bufferedData$] = null;
      }
      return result;
    } else if (!dart.test(this[_socketClosedRead])) {
      return this[_socket$].read(bytes);
    } else {
      return null;
    }
  }
  [_readSocket]() {
    if (this[_status] === 203) return;
    let buffer = dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](2);
    if (dart.notNull(buffer.writeFromSource(dart.bind(this, _readSocketOrBufferedData))) > 0) {
      this[_filterStatus].readEmpty = false;
    } else {
      this[_socket$].readEventsEnabled = false;
    }
  }
  [_writeSocket]() {
    if (dart.test(this[_socketClosedWrite])) return;
    let buffer = dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](3);
    if (dart.test(buffer.readToSocket(this[_socket$]))) {
      this[_socket$].writeEventsEnabled = true;
    }
  }
  [_scheduleReadEvent]() {
    if (!dart.test(this[_pendingReadEvent]) && dart.test(this[_readEventsEnabled]) && this[_pauseCount] === 0 && this[_secureFilter] != null && !dart.test(dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](0).isEmpty)) {
      this[_pendingReadEvent] = true;
      async.Timer.run(dart.bind(this, _sendReadEvent));
    }
  }
  [_sendReadEvent]() {
    this[_pendingReadEvent] = false;
    if (this[_status] !== 203 && dart.test(this[_readEventsEnabled]) && this[_pauseCount] === 0 && this[_secureFilter] != null && !dart.test(dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](0).isEmpty)) {
      this[_controller].add(io.RawSocketEvent.read);
      this[_scheduleReadEvent]();
    }
  }
  [_sendWriteEvent]() {
    if (!dart.test(this[_closedWrite]) && dart.test(this[_writeEventsEnabled]) && this[_pauseCount] === 0 && this[_secureFilter] != null && dart.notNull(dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers)[$_get](1).free) > 0) {
      this[_writeEventsEnabled] = false;
      this[_controller].add(io.RawSocketEvent.write);
    }
  }
  [_pushAllFilterStages]() {
    return async.async(io._FilterStatus, (function* _pushAllFilterStages() {
      let wasInHandshake = this[_status] !== 202;
      let args = core.List.filled(2 + 4 * 2, null);
      args[$_set](0, dart.nullCheck(this[_secureFilter])[_pointer]());
      args[$_set](1, wasInHandshake);
      let bufs = dart.nullCheck(dart.nullCheck(this[_secureFilter]).buffers);
      for (let i = 0; i < 4; i = i + 1) {
        args[$_set](2 * i + 2, bufs[$_get](i).start);
        args[$_set](2 * i + 3, bufs[$_get](i).end);
      }
      let response = (yield io._IOService._dispatch(42, args));
      if (dart.equals(dart.dload(response, 'length'), 2)) {
        if (wasInHandshake) {
          this[_reportError](new io.HandshakeException.new(dart.str(dart.dsend(response, '_get', [1])) + " error " + dart.str(dart.dsend(response, '_get', [0]))), null);
        } else {
          this[_reportError](new io.TlsException.new(dart.str(dart.dsend(response, '_get', [1])) + " error " + dart.str(dart.dsend(response, '_get', [0]))), null);
        }
      }
      function start(index) {
        if (index == null) dart.nullFailed(I[124], 1033, 19, "index");
        return core.int.as(dart.dsend(response, '_get', [2 * dart.notNull(index)]));
      }
      dart.fn(start, T$0.intToint());
      function end(index) {
        if (index == null) dart.nullFailed(I[124], 1034, 17, "index");
        return core.int.as(dart.dsend(response, '_get', [2 * dart.notNull(index) + 1]));
      }
      dart.fn(end, T$0.intToint());
      let status = new io._FilterStatus.new();
      status.writeEmpty = dart.test(bufs[$_get](1).isEmpty) && start(3) == end(3);
      if (wasInHandshake) status.writeEmpty = false;
      status.readEmpty = dart.test(bufs[$_get](2).isEmpty) && start(0) == end(0);
      let buffer = bufs[$_get](1);
      let new_start = start(1);
      if (new_start != buffer.start) {
        status.progress = true;
        if (buffer.free === 0) {
          status.writePlaintextNoLongerFull = true;
        }
        buffer.start = new_start;
      }
      buffer = bufs[$_get](2);
      new_start = start(2);
      if (new_start != buffer.start) {
        status.progress = true;
        if (buffer.free === 0) {
          status.readEncryptedNoLongerFull = true;
        }
        buffer.start = new_start;
      }
      buffer = bufs[$_get](3);
      let new_end = end(3);
      if (new_end != buffer.end) {
        status.progress = true;
        if (buffer.length === 0) {
          status.writeEncryptedNoLongerEmpty = true;
        }
        buffer.end = new_end;
      }
      buffer = bufs[$_get](0);
      new_end = end(0);
      if (new_end != buffer.end) {
        status.progress = true;
        if (buffer.length === 0) {
          status.readPlaintextNoLongerEmpty = true;
        }
        buffer.end = new_end;
      }
      return status;
    }).bind(this));
  }
};
(io._RawSecureSocket.new = function(address, requestedPort, isServer, context, _socket, subscription, _bufferedData, requestClientCertificate, requireClientCertificate, onBadCertificate, supportedProtocols) {
  let t209, t209$;
  if (address == null) dart.nullFailed(I[124], 486, 12, "address");
  if (requestedPort == null) dart.nullFailed(I[124], 487, 11, "requestedPort");
  if (isServer == null) dart.nullFailed(I[124], 488, 12, "isServer");
  if (context == null) dart.nullFailed(I[124], 489, 12, "context");
  if (_socket == null) dart.nullFailed(I[124], 490, 12, "_socket");
  if (requestClientCertificate == null) dart.nullFailed(I[124], 493, 12, "requestClientCertificate");
  if (requireClientCertificate == null) dart.nullFailed(I[124], 494, 12, "requireClientCertificate");
  this[_handshakeComplete] = T$0.CompleterOf_RawSecureSocket().new();
  this[_controller] = T$0.StreamControllerOfRawSocketEvent().new({sync: true});
  this[___RawSecureSocket__socketSubscription] = null;
  this[___RawSecureSocket__socketSubscription_isSet] = false;
  this[_bufferedDataIndex] = 0;
  this[_status] = 201;
  this[_writeEventsEnabled] = true;
  this[_readEventsEnabled] = true;
  this[_pauseCount] = 0;
  this[_pendingReadEvent] = false;
  this[_socketClosedRead] = false;
  this[_socketClosedWrite] = false;
  this[_closedRead] = false;
  this[_closedWrite] = false;
  this[_closeCompleter] = T$0.CompleterOfRawSecureSocket().new();
  this[_filterStatus] = new io._FilterStatus.new();
  this[_connectPending] = true;
  this[_filterPending] = false;
  this[_filterActive] = false;
  this[_secureFilter] = io._SecureFilter.__();
  this[_selectedProtocol] = null;
  this.address = address;
  this.isServer = isServer;
  this.context = context;
  this[_socket$] = _socket;
  this[_bufferedData$] = _bufferedData;
  this.requestClientCertificate = requestClientCertificate;
  this.requireClientCertificate = requireClientCertificate;
  this.onBadCertificate = onBadCertificate;
  io._RawSecureSocket.__proto__.new.call(this);
  t209 = this[_controller];
  (() => {
    t209.onListen = dart.bind(this, _onSubscriptionStateChange);
    t209.onPause = dart.bind(this, _onPauseStateChange);
    t209.onResume = dart.bind(this, _onPauseStateChange);
    t209.onCancel = dart.bind(this, _onSubscriptionStateChange);
    return t209;
  })();
  let secureFilter = dart.nullCheck(this[_secureFilter]);
  secureFilter.init();
  secureFilter.registerHandshakeCompleteCallback(dart.bind(this, _secureHandshakeCompleteHandler));
  if (this.onBadCertificate != null) {
    secureFilter.registerBadCertificateCallback(dart.bind(this, _onBadCertificateWrapper));
  }
  this[_socket$].readEventsEnabled = true;
  this[_socket$].writeEventsEnabled = false;
  if (subscription == null) {
    this[_socketSubscription] = this[_socket$].listen(dart.bind(this, _eventDispatcher), {onError: dart.bind(this, _reportError), onDone: dart.bind(this, _doneHandler)});
  } else {
    this[_socketSubscription] = subscription;
    if (dart.test(this[_socketSubscription].isPaused)) {
      this[_socket$].close();
      dart.throw(new core.ArgumentError.new("Subscription passed to TLS upgrade is paused"));
    }
    let s = this[_socket$];
    if (dart.dtest(dart.dload(dart.dload(s, _socket$), 'closedReadEventSent'))) {
      this[_eventDispatcher](io.RawSocketEvent.readClosed);
    }
    t209$ = this[_socketSubscription];
    (() => {
      t209$.onData(dart.bind(this, _eventDispatcher));
      t209$.onError(dart.bind(this, _reportError));
      t209$.onDone(dart.bind(this, _doneHandler));
      return t209$;
    })();
  }
  try {
    let encodedProtocols = io.SecurityContext._protocolsToLengthEncoding(supportedProtocols);
    secureFilter.connect(this.address.host, this.context, this.isServer, dart.test(this.requestClientCertificate) || dart.test(this.requireClientCertificate), this.requireClientCertificate, encodedProtocols);
    this[_secureHandshake]();
  } catch (e$) {
    let e = dart.getThrown(e$);
    let s = dart.stackTrace(e$);
    if (core.Object.is(e)) {
      this[_reportError](e, s);
    } else
      throw e$;
  }
}).prototype = io._RawSecureSocket.prototype;
dart.addTypeTests(io._RawSecureSocket);
dart.addTypeCaches(io._RawSecureSocket);
io._RawSecureSocket[dart.implements] = () => [io.RawSecureSocket];
dart.setMethodSignature(io._RawSecureSocket, () => ({
  __proto__: dart.getMethods(io._RawSecureSocket.__proto__),
  listen: dart.fnType(async.StreamSubscription$(io.RawSocketEvent), [dart.nullable(dart.fnType(dart.void, [io.RawSocketEvent]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  available: dart.fnType(core.int, []),
  close: dart.fnType(async.Future$(io.RawSecureSocket), []),
  [_completeCloseCompleter]: dart.fnType(dart.void, [], [dart.nullable(io.RawSocket)]),
  [_close$]: dart.fnType(dart.void, []),
  shutdown: dart.fnType(dart.void, [io.SocketDirection]),
  read: dart.fnType(dart.nullable(typed_data.Uint8List), [], [dart.nullable(core.int)]),
  write: dart.fnType(core.int, [core.List$(core.int)], [core.int, dart.nullable(core.int)]),
  [_onBadCertificateWrapper]: dart.fnType(core.bool, [io.X509Certificate]),
  setOption: dart.fnType(core.bool, [io.SocketOption, core.bool]),
  getRawOption: dart.fnType(typed_data.Uint8List, [io.RawSocketOption]),
  setRawOption: dart.fnType(dart.void, [io.RawSocketOption]),
  [_eventDispatcher]: dart.fnType(dart.void, [io.RawSocketEvent]),
  [_readHandler]: dart.fnType(dart.void, []),
  [_writeHandler]: dart.fnType(dart.void, []),
  [_doneHandler]: dart.fnType(dart.void, []),
  [_reportError]: dart.fnType(dart.void, [dart.dynamic], [dart.nullable(core.StackTrace)]),
  [_closeHandler]: dart.fnType(dart.void, []),
  [_secureHandshake]: dart.fnType(async.Future$(dart.void), []),
  renegotiate: dart.fnType(dart.void, [], {requestClientCertificate: core.bool, requireClientCertificate: core.bool, useSessionCache: core.bool}, {}),
  [_secureHandshakeCompleteHandler]: dart.fnType(dart.void, []),
  [_onPauseStateChange]: dart.fnType(dart.void, []),
  [_onSubscriptionStateChange]: dart.fnType(dart.void, []),
  [_scheduleFilter]: dart.fnType(async.Future$(dart.void), []),
  [_tryFilter]: dart.fnType(async.Future$(dart.void), []),
  [_readSocketOrBufferedData]: dart.fnType(dart.nullable(core.List$(core.int)), [core.int]),
  [_readSocket]: dart.fnType(dart.void, []),
  [_writeSocket]: dart.fnType(dart.void, []),
  [_scheduleReadEvent]: dart.fnType(dart.dynamic, []),
  [_sendReadEvent]: dart.fnType(dart.dynamic, []),
  [_sendWriteEvent]: dart.fnType(dart.dynamic, []),
  [_pushAllFilterStages]: dart.fnType(async.Future$(io._FilterStatus), [])
}));
dart.setGetterSignature(io._RawSecureSocket, () => ({
  __proto__: dart.getGetters(io._RawSecureSocket.__proto__),
  [_socketSubscription]: async.StreamSubscription$(io.RawSocketEvent),
  port: core.int,
  remoteAddress: io.InternetAddress,
  remotePort: core.int,
  writeEventsEnabled: core.bool,
  readEventsEnabled: core.bool,
  peerCertificate: dart.nullable(io.X509Certificate),
  selectedProtocol: dart.nullable(core.String)
}));
dart.setSetterSignature(io._RawSecureSocket, () => ({
  __proto__: dart.getSetters(io._RawSecureSocket.__proto__),
  [_socketSubscription]: async.StreamSubscription$(io.RawSocketEvent),
  [_owner]: dart.dynamic,
  writeEventsEnabled: core.bool,
  readEventsEnabled: core.bool
}));
dart.setLibraryUri(io._RawSecureSocket, I[106]);
dart.setFieldSignature(io._RawSecureSocket, () => ({
  __proto__: dart.getFields(io._RawSecureSocket.__proto__),
  [_socket$]: dart.finalFieldType(io.RawSocket),
  [_handshakeComplete]: dart.finalFieldType(async.Completer$(io._RawSecureSocket)),
  [_controller]: dart.finalFieldType(async.StreamController$(io.RawSocketEvent)),
  [___RawSecureSocket__socketSubscription]: dart.fieldType(dart.nullable(async.StreamSubscription$(io.RawSocketEvent))),
  [___RawSecureSocket__socketSubscription_isSet]: dart.fieldType(core.bool),
  [_bufferedData$]: dart.fieldType(dart.nullable(core.List$(core.int))),
  [_bufferedDataIndex]: dart.fieldType(core.int),
  address: dart.finalFieldType(io.InternetAddress),
  isServer: dart.finalFieldType(core.bool),
  context: dart.finalFieldType(io.SecurityContext),
  requestClientCertificate: dart.finalFieldType(core.bool),
  requireClientCertificate: dart.finalFieldType(core.bool),
  onBadCertificate: dart.finalFieldType(dart.nullable(dart.fnType(core.bool, [io.X509Certificate]))),
  [_status]: dart.fieldType(core.int),
  [_writeEventsEnabled]: dart.fieldType(core.bool),
  [_readEventsEnabled]: dart.fieldType(core.bool),
  [_pauseCount]: dart.fieldType(core.int),
  [_pendingReadEvent]: dart.fieldType(core.bool),
  [_socketClosedRead]: dart.fieldType(core.bool),
  [_socketClosedWrite]: dart.fieldType(core.bool),
  [_closedRead]: dart.fieldType(core.bool),
  [_closedWrite]: dart.fieldType(core.bool),
  [_closeCompleter]: dart.fieldType(async.Completer$(io.RawSecureSocket)),
  [_filterStatus]: dart.fieldType(io._FilterStatus),
  [_connectPending]: dart.fieldType(core.bool),
  [_filterPending]: dart.fieldType(core.bool),
  [_filterActive]: dart.fieldType(core.bool),
  [_secureFilter]: dart.fieldType(dart.nullable(io._SecureFilter)),
  [_selectedProtocol]: dart.fieldType(dart.nullable(core.String))
}));
dart.defineLazy(io._RawSecureSocket, {
  /*io._RawSecureSocket.handshakeStatus*/get handshakeStatus() {
    return 201;
  },
  /*io._RawSecureSocket.connectedStatus*/get connectedStatus() {
    return 202;
  },
  /*io._RawSecureSocket.closedStatus*/get closedStatus() {
    return 203;
  },
  /*io._RawSecureSocket.readPlaintextId*/get readPlaintextId() {
    return 0;
  },
  /*io._RawSecureSocket.writePlaintextId*/get writePlaintextId() {
    return 1;
  },
  /*io._RawSecureSocket.readEncryptedId*/get readEncryptedId() {
    return 2;
  },
  /*io._RawSecureSocket.writeEncryptedId*/get writeEncryptedId() {
    return 3;
  },
  /*io._RawSecureSocket.bufferCount*/get bufferCount() {
    return 4;
  }
}, false);
io._ExternalBuffer = class _ExternalBuffer extends core.Object {
  advanceStart(bytes) {
    if (bytes == null) dart.nullFailed(I[124], 1111, 25, "bytes");
    if (!(dart.notNull(this.start) > dart.notNull(this.end) || dart.notNull(this.start) + dart.notNull(bytes) <= dart.notNull(this.end))) dart.assertFailed(null, I[124], 1112, 12, "start > end || start + bytes <= end");
    this.start = dart.notNull(this.start) + dart.notNull(bytes);
    if (dart.notNull(this.start) >= dart.notNull(this.size)) {
      this.start = dart.notNull(this.start) - dart.notNull(this.size);
      if (!(dart.notNull(this.start) <= dart.notNull(this.end))) dart.assertFailed(null, I[124], 1116, 14, "start <= end");
      if (!(dart.notNull(this.start) < dart.notNull(this.size))) dart.assertFailed(null, I[124], 1117, 14, "start < size");
    }
  }
  advanceEnd(bytes) {
    if (bytes == null) dart.nullFailed(I[124], 1121, 23, "bytes");
    if (!(dart.notNull(this.start) <= dart.notNull(this.end) || dart.notNull(this.start) > dart.notNull(this.end) + dart.notNull(bytes))) dart.assertFailed(null, I[124], 1122, 12, "start <= end || start > end + bytes");
    this.end = dart.notNull(this.end) + dart.notNull(bytes);
    if (dart.notNull(this.end) >= dart.notNull(this.size)) {
      this.end = dart.notNull(this.end) - dart.notNull(this.size);
      if (!(dart.notNull(this.end) < dart.notNull(this.start))) dart.assertFailed(null, I[124], 1126, 14, "end < start");
      if (!(dart.notNull(this.end) < dart.notNull(this.size))) dart.assertFailed(null, I[124], 1127, 14, "end < size");
    }
  }
  get isEmpty() {
    return this.end == this.start;
  }
  get length() {
    return dart.notNull(this.start) > dart.notNull(this.end) ? dart.notNull(this.size) + dart.notNull(this.end) - dart.notNull(this.start) : dart.notNull(this.end) - dart.notNull(this.start);
  }
  get linearLength() {
    return dart.notNull(this.start) > dart.notNull(this.end) ? dart.notNull(this.size) - dart.notNull(this.start) : dart.notNull(this.end) - dart.notNull(this.start);
  }
  get free() {
    return dart.notNull(this.start) > dart.notNull(this.end) ? dart.notNull(this.start) - dart.notNull(this.end) - 1 : dart.notNull(this.size) + dart.notNull(this.start) - dart.notNull(this.end) - 1;
  }
  get linearFree() {
    if (dart.notNull(this.start) > dart.notNull(this.end)) return dart.notNull(this.start) - dart.notNull(this.end) - 1;
    if (this.start === 0) return dart.notNull(this.size) - dart.notNull(this.end) - 1;
    return dart.notNull(this.size) - dart.notNull(this.end);
  }
  read(bytes) {
    if (bytes == null) {
      bytes = this.length;
    } else {
      bytes = math.min(core.int, bytes, this.length);
    }
    if (bytes === 0) return null;
    let result = _native_typed_data.NativeUint8List.new(bytes);
    let bytesRead = 0;
    while (bytesRead < dart.notNull(bytes)) {
      let toRead = math.min(core.int, dart.notNull(bytes) - bytesRead, this.linearLength);
      result[$setRange](bytesRead, bytesRead + toRead, dart.nullCheck(this.data), this.start);
      this.advanceStart(toRead);
      bytesRead = bytesRead + toRead;
    }
    return result;
  }
  write(inputData, offset, bytes) {
    if (inputData == null) dart.nullFailed(I[124], 1164, 23, "inputData");
    if (offset == null) dart.nullFailed(I[124], 1164, 38, "offset");
    if (bytes == null) dart.nullFailed(I[124], 1164, 50, "bytes");
    if (dart.notNull(bytes) > dart.notNull(this.free)) {
      bytes = this.free;
    }
    let written = 0;
    let toWrite = math.min(core.int, bytes, this.linearFree);
    while (toWrite > 0) {
      dart.nullCheck(this.data)[$setRange](this.end, dart.notNull(this.end) + toWrite, inputData, offset);
      this.advanceEnd(toWrite);
      offset = dart.notNull(offset) + toWrite;
      written = written + toWrite;
      toWrite = math.min(core.int, dart.notNull(bytes) - written, this.linearFree);
    }
    return written;
  }
  writeFromSource(getData) {
    if (getData == null) dart.nullFailed(I[124], 1181, 34, "getData");
    let written = 0;
    let toWrite = this.linearFree;
    while (dart.notNull(toWrite) > 0) {
      let inputData = getData(toWrite);
      if (inputData == null || inputData[$length] === 0) break;
      let len = inputData[$length];
      dart.nullCheck(this.data)[$setRange](this.end, dart.notNull(this.end) + dart.notNull(len), inputData);
      this.advanceEnd(len);
      written = written + dart.notNull(len);
      toWrite = this.linearFree;
    }
    return written;
  }
  readToSocket(socket) {
    if (socket == null) dart.nullFailed(I[124], 1198, 31, "socket");
    while (true) {
      let toWrite = this.linearLength;
      if (toWrite === 0) return false;
      let bytes = socket.write(dart.nullCheck(this.data), this.start, toWrite);
      this.advanceStart(bytes);
      if (dart.notNull(bytes) < dart.notNull(toWrite)) {
        return true;
      }
    }
  }
};
(io._ExternalBuffer.new = function(size) {
  if (size == null) dart.nullFailed(I[124], 1106, 23, "size");
  this.data = null;
  this.size = size;
  this.start = (dart.notNull(size) / 2)[$truncate]();
  this.end = (dart.notNull(size) / 2)[$truncate]();
  ;
}).prototype = io._ExternalBuffer.prototype;
dart.addTypeTests(io._ExternalBuffer);
dart.addTypeCaches(io._ExternalBuffer);
dart.setMethodSignature(io._ExternalBuffer, () => ({
  __proto__: dart.getMethods(io._ExternalBuffer.__proto__),
  advanceStart: dart.fnType(dart.void, [core.int]),
  advanceEnd: dart.fnType(dart.void, [core.int]),
  read: dart.fnType(dart.nullable(typed_data.Uint8List), [dart.nullable(core.int)]),
  write: dart.fnType(core.int, [core.List$(core.int), core.int, core.int]),
  writeFromSource: dart.fnType(core.int, [dart.fnType(dart.nullable(core.List$(core.int)), [core.int])]),
  readToSocket: dart.fnType(core.bool, [io.RawSocket])
}));
dart.setGetterSignature(io._ExternalBuffer, () => ({
  __proto__: dart.getGetters(io._ExternalBuffer.__proto__),
  isEmpty: core.bool,
  length: core.int,
  linearLength: core.int,
  free: core.int,
  linearFree: core.int
}));
dart.setLibraryUri(io._ExternalBuffer, I[106]);
dart.setFieldSignature(io._ExternalBuffer, () => ({
  __proto__: dart.getFields(io._ExternalBuffer.__proto__),
  data: dart.fieldType(dart.nullable(core.List$(core.int))),
  start: dart.fieldType(core.int),
  end: dart.fieldType(core.int),
  size: dart.finalFieldType(core.int)
}));
io._SecureFilter = class _SecureFilter extends core.Object {};
(io._SecureFilter[dart.mixinNew] = function() {
}).prototype = io._SecureFilter.prototype;
dart.addTypeTests(io._SecureFilter);
dart.addTypeCaches(io._SecureFilter);
dart.setLibraryUri(io._SecureFilter, I[106]);
var type$3 = dart.privateName(io, "TlsException.type");
var message$6 = dart.privateName(io, "TlsException.message");
var osError$1 = dart.privateName(io, "TlsException.osError");
io.TlsException = class TlsException extends core.Object {
  get type() {
    return this[type$3];
  }
  set type(value) {
    super.type = value;
  }
  get message() {
    return this[message$6];
  }
  set message(value) {
    super.message = value;
  }
  get osError() {
    return this[osError$1];
  }
  set osError(value) {
    super.osError = value;
  }
  toString() {
    let sb = new core.StringBuffer.new();
    sb.write(this.type);
    if (this.message[$isNotEmpty]) {
      sb.write(": " + dart.str(this.message));
      if (this.osError != null) {
        sb.write(" (" + dart.str(this.osError) + ")");
      }
    } else if (this.osError != null) {
      sb.write(": " + dart.str(this.osError));
    }
    return sb.toString();
  }
};
(io.TlsException.new = function(message = "", osError = null) {
  if (message == null) dart.nullFailed(I[124], 1251, 30, "message");
  io.TlsException.__.call(this, "TlsException", message, osError);
}).prototype = io.TlsException.prototype;
(io.TlsException.__ = function(type, message, osError) {
  if (type == null) dart.nullFailed(I[124], 1254, 29, "type");
  if (message == null) dart.nullFailed(I[124], 1254, 40, "message");
  this[type$3] = type;
  this[message$6] = message;
  this[osError$1] = osError;
  ;
}).prototype = io.TlsException.prototype;
dart.addTypeTests(io.TlsException);
dart.addTypeCaches(io.TlsException);
io.TlsException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(io.TlsException, I[106]);
dart.setFieldSignature(io.TlsException, () => ({
  __proto__: dart.getFields(io.TlsException.__proto__),
  type: dart.finalFieldType(core.String),
  message: dart.finalFieldType(core.String),
  osError: dart.finalFieldType(dart.nullable(io.OSError))
}));
dart.defineExtensionMethods(io.TlsException, ['toString']);
io.HandshakeException = class HandshakeException extends io.TlsException {};
(io.HandshakeException.new = function(message = "", osError = null) {
  if (message == null) dart.nullFailed(I[124], 1276, 36, "message");
  io.HandshakeException.__proto__.__.call(this, "HandshakeException", message, osError);
  ;
}).prototype = io.HandshakeException.prototype;
dart.addTypeTests(io.HandshakeException);
dart.addTypeCaches(io.HandshakeException);
dart.setLibraryUri(io.HandshakeException, I[106]);
io.CertificateException = class CertificateException extends io.TlsException {};
(io.CertificateException.new = function(message = "", osError = null) {
  if (message == null) dart.nullFailed(I[124], 1285, 38, "message");
  io.CertificateException.__proto__.__.call(this, "CertificateException", message, osError);
  ;
}).prototype = io.CertificateException.prototype;
dart.addTypeTests(io.CertificateException);
dart.addTypeCaches(io.CertificateException);
dart.setLibraryUri(io.CertificateException, I[106]);
io.SecurityContext = class SecurityContext extends core.Object {
  static new(opts) {
    let withTrustedRoots = opts && 'withTrustedRoots' in opts ? opts.withTrustedRoots : false;
    if (withTrustedRoots == null) dart.nullFailed(I[108], 531, 33, "withTrustedRoots");
    dart.throw(new core.UnsupportedError.new("SecurityContext constructor"));
  }
  static get defaultContext() {
    dart.throw(new core.UnsupportedError.new("default SecurityContext getter"));
  }
  static get alpnSupported() {
    dart.throw(new core.UnsupportedError.new("SecurityContext alpnSupported getter"));
  }
  static _protocolsToLengthEncoding(protocols) {
    let t215, t215$;
    if (protocols == null || protocols[$length] === 0) {
      return _native_typed_data.NativeUint8List.new(0);
    }
    let protocolsLength = protocols[$length];
    let expectedLength = protocolsLength;
    for (let i = 0; i < dart.notNull(protocolsLength); i = i + 1) {
      let length = protocols[$_get](i).length;
      if (length > 0 && length <= 255) {
        expectedLength = dart.notNull(expectedLength) + length;
      } else {
        dart.throw(new core.ArgumentError.new("Length of protocol must be between 1 and 255 (was: " + dart.str(length) + ")."));
      }
    }
    if (dart.notNull(expectedLength) >= 1 << 13) {
      dart.throw(new core.ArgumentError.new("The maximum message length supported is 2^13-1."));
    }
    let bytes = _native_typed_data.NativeUint8List.new(expectedLength);
    let bytesOffset = 0;
    for (let i = 0; i < dart.notNull(protocolsLength); i = i + 1) {
      let proto = protocols[$_get](i);
      bytes[$_set]((t215 = bytesOffset, bytesOffset = t215 + 1, t215), proto.length);
      let bits = 0;
      for (let j = 0; j < proto.length; j = j + 1) {
        let char = proto[$codeUnitAt](j);
        bits = (bits | char) >>> 0;
        bytes[$_set]((t215$ = bytesOffset, bytesOffset = t215$ + 1, t215$), char & 255);
      }
      if (bits > 127) {
        return io.SecurityContext._protocolsToLengthEncodingNonAsciiBailout(protocols);
      }
    }
    return bytes;
  }
  static _protocolsToLengthEncodingNonAsciiBailout(protocols) {
    if (protocols == null) dart.nullFailed(I[126], 233, 20, "protocols");
    function addProtocol(outBytes, protocol) {
      if (outBytes == null) dart.nullFailed(I[126], 234, 32, "outBytes");
      if (protocol == null) dart.nullFailed(I[126], 234, 49, "protocol");
      let protocolBytes = convert.utf8.encode(protocol);
      let len = protocolBytes[$length];
      if (dart.notNull(len) > 255) {
        dart.throw(new core.ArgumentError.new("Length of protocol must be between 1 and 255 (was: " + dart.str(len) + ")"));
      }
      outBytes[$add](len);
      outBytes[$addAll](protocolBytes);
    }
    dart.fn(addProtocol, T$0.ListOfintAndStringTovoid());
    let bytes = T$.JSArrayOfint().of([]);
    for (let i = 0; i < dart.notNull(protocols[$length]); i = i + 1) {
      addProtocol(bytes, protocols[$_get](i));
    }
    if (dart.notNull(bytes[$length]) >= 1 << 13) {
      dart.throw(new core.ArgumentError.new("The maximum message length supported is 2^13-1."));
    }
    return _native_typed_data.NativeUint8List.fromList(bytes);
  }
};
(io.SecurityContext[dart.mixinNew] = function() {
}).prototype = io.SecurityContext.prototype;
dart.addTypeTests(io.SecurityContext);
dart.addTypeCaches(io.SecurityContext);
dart.setLibraryUri(io.SecurityContext, I[106]);
var __serviceId = dart.privateName(io, "__serviceId");
var _serviceId = dart.privateName(io, "_serviceId");
var _serviceTypePath = dart.privateName(io, "_serviceTypePath");
var _servicePath = dart.privateName(io, "_servicePath");
var _serviceTypeName = dart.privateName(io, "_serviceTypeName");
var _serviceType = dart.privateName(io, "_serviceType");
io._ServiceObject = class _ServiceObject extends core.Object {
  get [_serviceId]() {
    let t215;
    if (this[__serviceId] === 0) this[__serviceId] = (t215 = io._nextServiceId, io._nextServiceId = dart.notNull(t215) + 1, t215);
    return this[__serviceId];
  }
  get [_servicePath]() {
    return dart.str(this[_serviceTypePath]) + "/" + dart.str(this[_serviceId]);
  }
  [_serviceType](ref) {
    if (ref == null) dart.nullFailed(I[127], 25, 28, "ref");
    if (dart.test(ref)) return "@" + dart.str(this[_serviceTypeName]);
    return this[_serviceTypeName];
  }
};
(io._ServiceObject.new = function() {
  this[__serviceId] = 0;
  ;
}).prototype = io._ServiceObject.prototype;
dart.addTypeTests(io._ServiceObject);
dart.addTypeCaches(io._ServiceObject);
dart.setMethodSignature(io._ServiceObject, () => ({
  __proto__: dart.getMethods(io._ServiceObject.__proto__),
  [_serviceType]: dart.fnType(core.String, [core.bool])
}));
dart.setGetterSignature(io._ServiceObject, () => ({
  __proto__: dart.getGetters(io._ServiceObject.__proto__),
  [_serviceId]: core.int,
  [_servicePath]: core.String
}));
dart.setLibraryUri(io._ServiceObject, I[106]);
dart.setFieldSignature(io._ServiceObject, () => ({
  __proto__: dart.getFields(io._ServiceObject.__proto__),
  [__serviceId]: dart.fieldType(core.int)
}));
var _value$1 = dart.privateName(io, "InternetAddressType._value");
io.InternetAddressType = class InternetAddressType extends core.Object {
  get [_value$0]() {
    return this[_value$1];
  }
  set [_value$0](value) {
    super[_value$0] = value;
  }
  static _from(value) {
    if (value == null) dart.nullFailed(I[125], 30, 41, "value");
    if (value == io.InternetAddressType.IPv4[_value$0]) return io.InternetAddressType.IPv4;
    if (value == io.InternetAddressType.IPv6[_value$0]) return io.InternetAddressType.IPv6;
    if (value == io.InternetAddressType.unix[_value$0]) return io.InternetAddressType.unix;
    dart.throw(new core.ArgumentError.new("Invalid type: " + dart.str(value)));
  }
  get name() {
    return (C[180] || CT.C180)[$_get](dart.notNull(this[_value$0]) + 1);
  }
  toString() {
    return "InternetAddressType: " + dart.str(this.name);
  }
};
(io.InternetAddressType.__ = function(_value) {
  if (_value == null) dart.nullFailed(I[125], 28, 36, "_value");
  this[_value$1] = _value;
  ;
}).prototype = io.InternetAddressType.prototype;
dart.addTypeTests(io.InternetAddressType);
dart.addTypeCaches(io.InternetAddressType);
dart.setGetterSignature(io.InternetAddressType, () => ({
  __proto__: dart.getGetters(io.InternetAddressType.__proto__),
  name: core.String
}));
dart.setLibraryUri(io.InternetAddressType, I[106]);
dart.setFieldSignature(io.InternetAddressType, () => ({
  __proto__: dart.getFields(io.InternetAddressType.__proto__),
  [_value$0]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(io.InternetAddressType, ['toString']);
dart.defineLazy(io.InternetAddressType, {
  /*io.InternetAddressType.IPv4*/get IPv4() {
    return C[181] || CT.C181;
  },
  /*io.InternetAddressType.IPv6*/get IPv6() {
    return C[182] || CT.C182;
  },
  /*io.InternetAddressType.unix*/get unix() {
    return C[183] || CT.C183;
  },
  /*io.InternetAddressType.any*/get any() {
    return C[184] || CT.C184;
  },
  /*io.InternetAddressType.IP_V4*/get IP_V4() {
    return C[181] || CT.C181;
  },
  /*io.InternetAddressType.IP_V6*/get IP_V6() {
    return C[182] || CT.C182;
  },
  /*io.InternetAddressType.ANY*/get ANY() {
    return C[184] || CT.C184;
  }
}, false);
io.InternetAddress = class InternetAddress extends core.Object {
  static get loopbackIPv4() {
    return io.InternetAddress.LOOPBACK_IP_V4;
  }
  static get LOOPBACK_IP_V4() {
    dart.throw(new core.UnsupportedError.new("InternetAddress.LOOPBACK_IP_V4"));
  }
  static get loopbackIPv6() {
    return io.InternetAddress.LOOPBACK_IP_V6;
  }
  static get LOOPBACK_IP_V6() {
    dart.throw(new core.UnsupportedError.new("InternetAddress.LOOPBACK_IP_V6"));
  }
  static get anyIPv4() {
    return io.InternetAddress.ANY_IP_V4;
  }
  static get ANY_IP_V4() {
    dart.throw(new core.UnsupportedError.new("InternetAddress.ANY_IP_V4"));
  }
  static get anyIPv6() {
    return io.InternetAddress.ANY_IP_V6;
  }
  static get ANY_IP_V6() {
    dart.throw(new core.UnsupportedError.new("InternetAddress.ANY_IP_V6"));
  }
  static new(address, opts) {
    if (address == null) dart.nullFailed(I[108], 412, 34, "address");
    let type = opts && 'type' in opts ? opts.type : null;
    dart.throw(new core.UnsupportedError.new("InternetAddress"));
  }
  static fromRawAddress(rawAddress, opts) {
    if (rawAddress == null) dart.nullFailed(I[108], 417, 52, "rawAddress");
    let type = opts && 'type' in opts ? opts.type : null;
    dart.throw(new core.UnsupportedError.new("InternetAddress.fromRawAddress"));
  }
  static lookup(host, opts) {
    if (host == null) dart.nullFailed(I[108], 423, 54, "host");
    let type = opts && 'type' in opts ? opts.type : C[184] || CT.C184;
    if (type == null) dart.nullFailed(I[108], 424, 28, "type");
    dart.throw(new core.UnsupportedError.new("InternetAddress.lookup"));
  }
  static _cloneWithNewHost(address, host) {
    if (address == null) dart.nullFailed(I[108], 430, 23, "address");
    if (host == null) dart.nullFailed(I[108], 430, 39, "host");
    dart.throw(new core.UnsupportedError.new("InternetAddress._cloneWithNewHost"));
  }
  static tryParse(address) {
    if (address == null) dart.nullFailed(I[108], 435, 43, "address");
    dart.throw(new core.UnsupportedError.new("InternetAddress.tryParse"));
  }
};
(io.InternetAddress[dart.mixinNew] = function() {
}).prototype = io.InternetAddress.prototype;
dart.addTypeTests(io.InternetAddress);
dart.addTypeCaches(io.InternetAddress);
dart.setLibraryUri(io.InternetAddress, I[106]);
io.NetworkInterface = class NetworkInterface extends core.Object {
  static get listSupported() {
    dart.throw(new core.UnsupportedError.new("NetworkInterface.listSupported"));
  }
  static list(opts) {
    let includeLoopback = opts && 'includeLoopback' in opts ? opts.includeLoopback : false;
    if (includeLoopback == null) dart.nullFailed(I[108], 449, 13, "includeLoopback");
    let includeLinkLocal = opts && 'includeLinkLocal' in opts ? opts.includeLinkLocal : false;
    if (includeLinkLocal == null) dart.nullFailed(I[108], 450, 12, "includeLinkLocal");
    let type = opts && 'type' in opts ? opts.type : C[184] || CT.C184;
    if (type == null) dart.nullFailed(I[108], 451, 27, "type");
    dart.throw(new core.UnsupportedError.new("NetworkInterface.list"));
  }
};
(io.NetworkInterface.new = function() {
  ;
}).prototype = io.NetworkInterface.prototype;
dart.addTypeTests(io.NetworkInterface);
dart.addTypeCaches(io.NetworkInterface);
dart.setLibraryUri(io.NetworkInterface, I[106]);
io.RawServerSocket = class RawServerSocket extends core.Object {
  static bind(address, port, opts) {
    if (port == null) dart.nullFailed(I[108], 459, 52, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[108], 460, 12, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[108], 460, 30, "v6Only");
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[108], 460, 51, "shared");
    dart.throw(new core.UnsupportedError.new("RawServerSocket.bind"));
  }
};
(io.RawServerSocket.new = function() {
  ;
}).prototype = io.RawServerSocket.prototype;
io.RawServerSocket.prototype[dart.isStream] = true;
dart.addTypeTests(io.RawServerSocket);
dart.addTypeCaches(io.RawServerSocket);
io.RawServerSocket[dart.implements] = () => [async.Stream$(io.RawSocket)];
dart.setLibraryUri(io.RawServerSocket, I[106]);
io.ServerSocket = class ServerSocket extends core.Object {
  static bind(address, port, opts) {
    if (port == null) dart.nullFailed(I[125], 318, 49, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[125], 319, 12, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[125], 319, 30, "v6Only");
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[125], 319, 51, "shared");
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.ServerSocket._bind(address, port, {backlog: backlog, v6Only: v6Only, shared: shared});
    }
    return overrides.serverSocketBind(address, port, {backlog: backlog, v6Only: v6Only, shared: shared});
  }
  static _bind(address, port, opts) {
    if (port == null) dart.nullFailed(I[108], 468, 50, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[108], 469, 12, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[108], 469, 30, "v6Only");
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[108], 469, 51, "shared");
    dart.throw(new core.UnsupportedError.new("ServerSocket.bind"));
  }
};
(io.ServerSocket.new = function() {
  ;
}).prototype = io.ServerSocket.prototype;
io.ServerSocket.prototype[dart.isStream] = true;
dart.addTypeTests(io.ServerSocket);
dart.addTypeCaches(io.ServerSocket);
io.ServerSocket[dart.implements] = () => [async.Stream$(io.Socket)];
dart.setLibraryUri(io.ServerSocket, I[106]);
var _value$2 = dart.privateName(io, "SocketDirection._value");
io.SocketDirection = class SocketDirection extends core.Object {
  get [_value$0]() {
    return this[_value$2];
  }
  set [_value$0](value) {
    super[_value$0] = value;
  }
};
(io.SocketDirection.__ = function(_value) {
  this[_value$2] = _value;
  ;
}).prototype = io.SocketDirection.prototype;
dart.addTypeTests(io.SocketDirection);
dart.addTypeCaches(io.SocketDirection);
dart.setLibraryUri(io.SocketDirection, I[106]);
dart.setFieldSignature(io.SocketDirection, () => ({
  __proto__: dart.getFields(io.SocketDirection.__proto__),
  [_value$0]: dart.finalFieldType(dart.dynamic)
}));
dart.defineLazy(io.SocketDirection, {
  /*io.SocketDirection.receive*/get receive() {
    return C[185] || CT.C185;
  },
  /*io.SocketDirection.send*/get send() {
    return C[186] || CT.C186;
  },
  /*io.SocketDirection.both*/get both() {
    return C[187] || CT.C187;
  },
  /*io.SocketDirection.RECEIVE*/get RECEIVE() {
    return C[185] || CT.C185;
  },
  /*io.SocketDirection.SEND*/get SEND() {
    return C[186] || CT.C186;
  },
  /*io.SocketDirection.BOTH*/get BOTH() {
    return C[187] || CT.C187;
  }
}, false);
var _value$3 = dart.privateName(io, "SocketOption._value");
io.SocketOption = class SocketOption extends core.Object {
  get [_value$0]() {
    return this[_value$3];
  }
  set [_value$0](value) {
    super[_value$0] = value;
  }
};
(io.SocketOption.__ = function(_value) {
  this[_value$3] = _value;
  ;
}).prototype = io.SocketOption.prototype;
dart.addTypeTests(io.SocketOption);
dart.addTypeCaches(io.SocketOption);
dart.setLibraryUri(io.SocketOption, I[106]);
dart.setFieldSignature(io.SocketOption, () => ({
  __proto__: dart.getFields(io.SocketOption.__proto__),
  [_value$0]: dart.finalFieldType(dart.dynamic)
}));
dart.defineLazy(io.SocketOption, {
  /*io.SocketOption.tcpNoDelay*/get tcpNoDelay() {
    return C[188] || CT.C188;
  },
  /*io.SocketOption.TCP_NODELAY*/get TCP_NODELAY() {
    return C[188] || CT.C188;
  },
  /*io.SocketOption._ipMulticastLoop*/get _ipMulticastLoop() {
    return C[189] || CT.C189;
  },
  /*io.SocketOption._ipMulticastHops*/get _ipMulticastHops() {
    return C[190] || CT.C190;
  },
  /*io.SocketOption._ipMulticastIf*/get _ipMulticastIf() {
    return C[191] || CT.C191;
  },
  /*io.SocketOption._ipBroadcast*/get _ipBroadcast() {
    return C[192] || CT.C192;
  }
}, false);
io._RawSocketOptions = class _RawSocketOptions extends core.Object {
  toString() {
    return this[_name$4];
  }
};
(io._RawSocketOptions.new = function(index, _name) {
  if (index == null) dart.nullFailed(I[125], 390, 6, "index");
  if (_name == null) dart.nullFailed(I[125], 390, 6, "_name");
  this.index = index;
  this[_name$4] = _name;
  ;
}).prototype = io._RawSocketOptions.prototype;
dart.addTypeTests(io._RawSocketOptions);
dart.addTypeCaches(io._RawSocketOptions);
io._RawSocketOptions[dart.implements] = () => [core.Enum];
dart.setLibraryUri(io._RawSocketOptions, I[106]);
dart.setFieldSignature(io._RawSocketOptions, () => ({
  __proto__: dart.getFields(io._RawSocketOptions.__proto__),
  index: dart.finalFieldType(core.int),
  [_name$4]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(io._RawSocketOptions, ['toString']);
io._RawSocketOptions.SOL_SOCKET = C[193] || CT.C193;
io._RawSocketOptions.IPPROTO_IP = C[194] || CT.C194;
io._RawSocketOptions.IP_MULTICAST_IF = C[195] || CT.C195;
io._RawSocketOptions.IPPROTO_IPV6 = C[196] || CT.C196;
io._RawSocketOptions.IPV6_MULTICAST_IF = C[197] || CT.C197;
io._RawSocketOptions.IPPROTO_TCP = C[198] || CT.C198;
io._RawSocketOptions.IPPROTO_UDP = C[199] || CT.C199;
io._RawSocketOptions.values = C[200] || CT.C200;
var level$2 = dart.privateName(io, "RawSocketOption.level");
var option$ = dart.privateName(io, "RawSocketOption.option");
var value$3 = dart.privateName(io, "RawSocketOption.value");
io.RawSocketOption = class RawSocketOption extends core.Object {
  get level() {
    return this[level$2];
  }
  set level(value) {
    super.level = value;
  }
  get option() {
    return this[option$];
  }
  set option(value) {
    super.option = value;
  }
  get value() {
    return this[value$3];
  }
  set value(value) {
    super.value = value;
  }
  static fromInt(level, option, value) {
    if (level == null) dart.nullFailed(I[125], 426, 39, "level");
    if (option == null) dart.nullFailed(I[125], 426, 50, "option");
    if (value == null) dart.nullFailed(I[125], 426, 62, "value");
    let list = _native_typed_data.NativeUint8List.new(4);
    let buffer = typed_data.ByteData.view(list[$buffer], list[$offsetInBytes]);
    buffer[$setInt32](0, value, typed_data.Endian.host);
    return new io.RawSocketOption.new(level, option, list);
  }
  static fromBool(level, option, value) {
    if (level == null) dart.nullFailed(I[125], 434, 40, "level");
    if (option == null) dart.nullFailed(I[125], 434, 51, "option");
    if (value == null) dart.nullFailed(I[125], 434, 64, "value");
    return io.RawSocketOption.fromInt(level, option, dart.test(value) ? 1 : 0);
  }
  static get levelSocket() {
    return io.RawSocketOption._getOptionValue(io._RawSocketOptions.SOL_SOCKET.index);
  }
  static get levelIPv4() {
    return io.RawSocketOption._getOptionValue(io._RawSocketOptions.IPPROTO_IP.index);
  }
  static get IPv4MulticastInterface() {
    return io.RawSocketOption._getOptionValue(io._RawSocketOptions.IP_MULTICAST_IF.index);
  }
  static get levelIPv6() {
    return io.RawSocketOption._getOptionValue(io._RawSocketOptions.IPPROTO_IPV6.index);
  }
  static get IPv6MulticastInterface() {
    return io.RawSocketOption._getOptionValue(io._RawSocketOptions.IPV6_MULTICAST_IF.index);
  }
  static get levelTcp() {
    return io.RawSocketOption._getOptionValue(io._RawSocketOptions.IPPROTO_TCP.index);
  }
  static get levelUdp() {
    return io.RawSocketOption._getOptionValue(io._RawSocketOptions.IPPROTO_UDP.index);
  }
  static _getOptionValue(key) {
    if (key == null) dart.nullFailed(I[108], 523, 34, "key");
    dart.throw(new core.UnsupportedError.new("RawSocketOption._getOptionValue"));
  }
};
(io.RawSocketOption.new = function(level, option, value) {
  if (level == null) dart.nullFailed(I[125], 423, 30, "level");
  if (option == null) dart.nullFailed(I[125], 423, 42, "option");
  if (value == null) dart.nullFailed(I[125], 423, 55, "value");
  this[level$2] = level;
  this[option$] = option;
  this[value$3] = value;
  ;
}).prototype = io.RawSocketOption.prototype;
dart.addTypeTests(io.RawSocketOption);
dart.addTypeCaches(io.RawSocketOption);
dart.setLibraryUri(io.RawSocketOption, I[106]);
dart.setFieldSignature(io.RawSocketOption, () => ({
  __proto__: dart.getFields(io.RawSocketOption.__proto__),
  level: dart.finalFieldType(core.int),
  option: dart.finalFieldType(core.int),
  value: dart.finalFieldType(typed_data.Uint8List)
}));
var socket$ = dart.privateName(io, "ConnectionTask.socket");
const _is_ConnectionTask_default = Symbol('_is_ConnectionTask_default');
io.ConnectionTask$ = dart.generic(S => {
  class ConnectionTask extends core.Object {
    get socket() {
      return this[socket$];
    }
    set socket(value) {
      super.socket = value;
    }
    cancel() {
      this[_onCancel$]();
    }
  }
  (ConnectionTask.__ = function(socket, onCancel) {
    if (socket == null) dart.nullFailed(I[125], 542, 35, "socket");
    if (onCancel == null) dart.nullFailed(I[125], 542, 59, "onCancel");
    this[socket$] = socket;
    this[_onCancel$] = onCancel;
    ;
  }).prototype = ConnectionTask.prototype;
  dart.addTypeTests(ConnectionTask);
  ConnectionTask.prototype[_is_ConnectionTask_default] = true;
  dart.addTypeCaches(ConnectionTask);
  dart.setMethodSignature(ConnectionTask, () => ({
    __proto__: dart.getMethods(ConnectionTask.__proto__),
    cancel: dart.fnType(dart.void, [])
  }));
  dart.setLibraryUri(ConnectionTask, I[106]);
  dart.setFieldSignature(ConnectionTask, () => ({
    __proto__: dart.getFields(ConnectionTask.__proto__),
    socket: dart.finalFieldType(async.Future$(S)),
    [_onCancel$]: dart.finalFieldType(dart.fnType(dart.void, []))
  }));
  return ConnectionTask;
});
io.ConnectionTask = io.ConnectionTask$();
dart.addTypeTests(io.ConnectionTask, _is_ConnectionTask_default);
io.RawSocket = class RawSocket extends core.Object {
  static connect(host, port, opts) {
    if (port == null) dart.nullFailed(I[108], 477, 54, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    dart.throw(new core.UnsupportedError.new("RawSocket constructor"));
  }
  static startConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[108], 483, 75, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    dart.throw(new core.UnsupportedError.new("RawSocket constructor"));
  }
};
(io.RawSocket.new = function() {
  ;
}).prototype = io.RawSocket.prototype;
io.RawSocket.prototype[dart.isStream] = true;
dart.addTypeTests(io.RawSocket);
dart.addTypeCaches(io.RawSocket);
io.RawSocket[dart.implements] = () => [async.Stream$(io.RawSocketEvent)];
dart.setLibraryUri(io.RawSocket, I[106]);
io.Socket = class Socket extends core.Object {
  static connect(host, port, opts) {
    if (port == null) dart.nullFailed(I[125], 720, 43, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.Socket._connect(host, port, {sourceAddress: sourceAddress, timeout: timeout});
    }
    return overrides.socketConnect(host, port, {sourceAddress: sourceAddress, timeout: timeout});
  }
  static startConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[125], 734, 64, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    let overrides = io.IOOverrides.current;
    if (overrides == null) {
      return io.Socket._startConnect(host, port, {sourceAddress: sourceAddress});
    }
    return overrides.socketStartConnect(host, port, {sourceAddress: sourceAddress});
  }
  static _connect(host, port, opts) {
    if (port == null) dart.nullFailed(I[108], 492, 52, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    dart.throw(new core.UnsupportedError.new("Socket constructor"));
  }
  static _startConnect(host, port, opts) {
    if (port == null) dart.nullFailed(I[108], 498, 73, "port");
    let sourceAddress = opts && 'sourceAddress' in opts ? opts.sourceAddress : null;
    dart.throw(new core.UnsupportedError.new("Socket constructor"));
  }
};
(io.Socket.new = function() {
  ;
}).prototype = io.Socket.prototype;
io.Socket.prototype[dart.isStream] = true;
dart.addTypeTests(io.Socket);
dart.addTypeCaches(io.Socket);
io.Socket[dart.implements] = () => [async.Stream$(typed_data.Uint8List), io.IOSink];
dart.setLibraryUri(io.Socket, I[106]);
var data$ = dart.privateName(io, "Datagram.data");
var address$ = dart.privateName(io, "Datagram.address");
var port$ = dart.privateName(io, "Datagram.port");
io.Datagram = class Datagram extends core.Object {
  get data() {
    return this[data$];
  }
  set data(value) {
    this[data$] = value;
  }
  get address() {
    return this[address$];
  }
  set address(value) {
    this[address$] = value;
  }
  get port() {
    return this[port$];
  }
  set port(value) {
    this[port$] = value;
  }
};
(io.Datagram.new = function(data, address, port) {
  if (data == null) dart.nullFailed(I[125], 825, 17, "data");
  if (address == null) dart.nullFailed(I[125], 825, 28, "address");
  if (port == null) dart.nullFailed(I[125], 825, 42, "port");
  this[data$] = data;
  this[address$] = address;
  this[port$] = port;
  ;
}).prototype = io.Datagram.prototype;
dart.addTypeTests(io.Datagram);
dart.addTypeCaches(io.Datagram);
dart.setLibraryUri(io.Datagram, I[106]);
dart.setFieldSignature(io.Datagram, () => ({
  __proto__: dart.getFields(io.Datagram.__proto__),
  data: dart.fieldType(typed_data.Uint8List),
  address: dart.fieldType(io.InternetAddress),
  port: dart.fieldType(core.int)
}));
var multicastInterface = dart.privateName(io, "RawDatagramSocket.multicastInterface");
io.RawDatagramSocket = class RawDatagramSocket extends async.Stream$(io.RawSocketEvent) {
  get multicastInterface() {
    return this[multicastInterface];
  }
  set multicastInterface(value) {
    this[multicastInterface] = value;
  }
  static bind(host, port, opts) {
    if (port == null) dart.nullFailed(I[108], 557, 59, "port");
    let reuseAddress = opts && 'reuseAddress' in opts ? opts.reuseAddress : true;
    if (reuseAddress == null) dart.nullFailed(I[108], 558, 13, "reuseAddress");
    let reusePort = opts && 'reusePort' in opts ? opts.reusePort : false;
    if (reusePort == null) dart.nullFailed(I[108], 558, 39, "reusePort");
    let ttl = opts && 'ttl' in opts ? opts.ttl : 1;
    if (ttl == null) dart.nullFailed(I[108], 558, 62, "ttl");
    dart.throw(new core.UnsupportedError.new("RawDatagramSocket.bind"));
  }
};
(io.RawDatagramSocket.new = function() {
  this[multicastInterface] = null;
  io.RawDatagramSocket.__proto__.new.call(this);
  ;
}).prototype = io.RawDatagramSocket.prototype;
dart.addTypeTests(io.RawDatagramSocket);
dart.addTypeCaches(io.RawDatagramSocket);
dart.setLibraryUri(io.RawDatagramSocket, I[106]);
dart.setFieldSignature(io.RawDatagramSocket, () => ({
  __proto__: dart.getFields(io.RawDatagramSocket.__proto__),
  multicastInterface: dart.fieldType(dart.nullable(io.NetworkInterface))
}));
var message$7 = dart.privateName(io, "SocketException.message");
var osError$2 = dart.privateName(io, "SocketException.osError");
var address$0 = dart.privateName(io, "SocketException.address");
var port$0 = dart.privateName(io, "SocketException.port");
io.SocketException = class SocketException extends core.Object {
  get message() {
    return this[message$7];
  }
  set message(value) {
    super.message = value;
  }
  get osError() {
    return this[osError$2];
  }
  set osError(value) {
    super.osError = value;
  }
  get address() {
    return this[address$0];
  }
  set address(value) {
    super.address = value;
  }
  get port() {
    return this[port$0];
  }
  set port(value) {
    super.port = value;
  }
  toString() {
    let sb = new core.StringBuffer.new();
    sb.write("SocketException");
    if (this.message[$isNotEmpty]) {
      sb.write(": " + dart.str(this.message));
      if (this.osError != null) {
        sb.write(" (" + dart.str(this.osError) + ")");
      }
    } else if (this.osError != null) {
      sb.write(": " + dart.str(this.osError));
    }
    if (this.address != null) {
      sb.write(", address = " + dart.str(dart.nullCheck(this.address).host));
    }
    if (this.port != null) {
      sb.write(", port = " + dart.str(this.port));
    }
    return sb.toString();
  }
};
(io.SocketException.new = function(message, opts) {
  if (message == null) dart.nullFailed(I[125], 985, 30, "message");
  let osError = opts && 'osError' in opts ? opts.osError : null;
  let address = opts && 'address' in opts ? opts.address : null;
  let port = opts && 'port' in opts ? opts.port : null;
  this[message$7] = message;
  this[osError$2] = osError;
  this[address$0] = address;
  this[port$0] = port;
  ;
}).prototype = io.SocketException.prototype;
(io.SocketException.closed = function() {
  this[message$7] = "Socket has been closed";
  this[osError$2] = null;
  this[address$0] = null;
  this[port$0] = null;
  ;
}).prototype = io.SocketException.prototype;
dart.addTypeTests(io.SocketException);
dart.addTypeCaches(io.SocketException);
io.SocketException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(io.SocketException, I[106]);
dart.setFieldSignature(io.SocketException, () => ({
  __proto__: dart.getFields(io.SocketException.__proto__),
  message: dart.finalFieldType(core.String),
  osError: dart.finalFieldType(dart.nullable(io.OSError)),
  address: dart.finalFieldType(dart.nullable(io.InternetAddress)),
  port: dart.finalFieldType(dart.nullable(core.int))
}));
dart.defineExtensionMethods(io.SocketException, ['toString']);
var _stream$0 = dart.privateName(io, "_stream");
io._StdStream = class _StdStream extends async.Stream$(core.List$(core.int)) {
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    return this[_stream$0].listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
};
(io._StdStream.new = function(_stream) {
  if (_stream == null) dart.nullFailed(I[128], 18, 19, "_stream");
  this[_stream$0] = _stream;
  io._StdStream.__proto__.new.call(this);
  ;
}).prototype = io._StdStream.prototype;
dart.addTypeTests(io._StdStream);
dart.addTypeCaches(io._StdStream);
dart.setMethodSignature(io._StdStream, () => ({
  __proto__: dart.getMethods(io._StdStream.__proto__),
  listen: dart.fnType(async.StreamSubscription$(core.List$(core.int)), [dart.nullable(dart.fnType(dart.void, [core.List$(core.int)]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
}));
dart.setLibraryUri(io._StdStream, I[106]);
dart.setFieldSignature(io._StdStream, () => ({
  __proto__: dart.getFields(io._StdStream.__proto__),
  [_stream$0]: dart.finalFieldType(async.Stream$(core.List$(core.int)))
}));
var _fd$ = dart.privateName(io, "_fd");
io.Stdin = class Stdin extends io._StdStream {
  readLineSync(opts) {
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[145] || CT.C145;
    if (encoding == null) dart.nullFailed(I[128], 57, 17, "encoding");
    let retainNewlines = opts && 'retainNewlines' in opts ? opts.retainNewlines : false;
    if (retainNewlines == null) dart.nullFailed(I[128], 57, 49, "retainNewlines");
    let line = T$.JSArrayOfint().of([]);
    let crIsNewline = dart.test(io.Platform.isWindows) && dart.equals(io.stdioType(io.stdin), io.StdioType.terminal) && !dart.test(this.lineMode);
    if (dart.test(retainNewlines)) {
      let byte = null;
      do {
        byte = this.readByteSync();
        if (dart.notNull(byte) < 0) {
          break;
        }
        line[$add](byte);
      } while (byte !== 10 && !(byte === 13 && crIsNewline));
      if (dart.test(line[$isEmpty])) {
        return null;
      }
    } else if (crIsNewline) {
      while (true) {
        let byte = this.readByteSync();
        if (dart.notNull(byte) < 0) {
          if (dart.test(line[$isEmpty])) return null;
          break;
        }
        if (byte === 10 || byte === 13) break;
        line[$add](byte);
      }
    } else {
      L2:
        while (true) {
          let byte = this.readByteSync();
          if (byte === 10) break;
          if (byte === 13) {
            do {
              byte = this.readByteSync();
              if (byte === 10) break L2;
              line[$add](13);
            } while (byte === 13);
          }
          if (dart.notNull(byte) < 0) {
            if (dart.test(line[$isEmpty])) return null;
            break;
          }
          line[$add](byte);
        }
    }
    return encoding.decode(line);
  }
  get echoMode() {
    dart.throw(new core.UnsupportedError.new("Stdin.echoMode"));
  }
  set echoMode(enabled) {
    if (enabled == null) dart.nullFailed(I[108], 644, 26, "enabled");
    dart.throw(new core.UnsupportedError.new("Stdin.echoMode"));
  }
  get lineMode() {
    dart.throw(new core.UnsupportedError.new("Stdin.lineMode"));
  }
  set lineMode(enabled) {
    if (enabled == null) dart.nullFailed(I[108], 654, 26, "enabled");
    dart.throw(new core.UnsupportedError.new("Stdin.lineMode"));
  }
  get supportsAnsiEscapes() {
    dart.throw(new core.UnsupportedError.new("Stdin.supportsAnsiEscapes"));
  }
  readByteSync() {
    dart.throw(new core.UnsupportedError.new("Stdin.readByteSync"));
  }
  get hasTerminal() {
    try {
      return dart.equals(io.stdioType(this), io.StdioType.terminal);
    } catch (e) {
      let _ = dart.getThrown(e);
      if (io.FileSystemException.is(_)) {
        return false;
      } else
        throw e;
    }
  }
};
(io.Stdin.__ = function(stream, _fd) {
  if (stream == null) dart.nullFailed(I[128], 36, 29, "stream");
  if (_fd == null) dart.nullFailed(I[128], 36, 42, "_fd");
  this[_fd$] = _fd;
  io.Stdin.__proto__.new.call(this, stream);
  ;
}).prototype = io.Stdin.prototype;
io.Stdin.prototype[dart.isStream] = true;
dart.addTypeTests(io.Stdin);
dart.addTypeCaches(io.Stdin);
io.Stdin[dart.implements] = () => [async.Stream$(core.List$(core.int))];
dart.setMethodSignature(io.Stdin, () => ({
  __proto__: dart.getMethods(io.Stdin.__proto__),
  readLineSync: dart.fnType(dart.nullable(core.String), [], {encoding: convert.Encoding, retainNewlines: core.bool}, {}),
  readByteSync: dart.fnType(core.int, [])
}));
dart.setGetterSignature(io.Stdin, () => ({
  __proto__: dart.getGetters(io.Stdin.__proto__),
  echoMode: core.bool,
  lineMode: core.bool,
  supportsAnsiEscapes: core.bool,
  hasTerminal: core.bool
}));
dart.setSetterSignature(io.Stdin, () => ({
  __proto__: dart.getSetters(io.Stdin.__proto__),
  echoMode: core.bool,
  lineMode: core.bool
}));
dart.setLibraryUri(io.Stdin, I[106]);
dart.setFieldSignature(io.Stdin, () => ({
  __proto__: dart.getFields(io.Stdin.__proto__),
  [_fd$]: dart.fieldType(core.int)
}));
var _nonBlocking = dart.privateName(io, "_nonBlocking");
var _hasTerminal = dart.privateName(io, "_hasTerminal");
var _terminalColumns = dart.privateName(io, "_terminalColumns");
var _terminalLines = dart.privateName(io, "_terminalLines");
io._StdSink = class _StdSink extends core.Object {
  get encoding() {
    return this[_sink$1].encoding;
  }
  set encoding(encoding) {
    if (encoding == null) dart.nullFailed(I[128], 310, 30, "encoding");
    this[_sink$1].encoding = encoding;
  }
  write(object) {
    this[_sink$1].write(object);
  }
  writeln(object = "") {
    this[_sink$1].writeln(object);
  }
  writeAll(objects, sep = "") {
    if (objects == null) dart.nullFailed(I[128], 322, 26, "objects");
    if (sep == null) dart.nullFailed(I[128], 322, 43, "sep");
    this[_sink$1].writeAll(objects, sep);
  }
  add(data) {
    T$0.ListOfint().as(data);
    if (data == null) dart.nullFailed(I[128], 326, 22, "data");
    this[_sink$1].add(data);
  }
  addError(error, stackTrace = null) {
    if (error == null) dart.nullFailed(I[128], 330, 17, "error");
    this[_sink$1].addError(error, stackTrace);
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[128], 334, 26, "charCode");
    this[_sink$1].writeCharCode(charCode);
  }
  addStream(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[128], 338, 38, "stream");
    return this[_sink$1].addStream(stream);
  }
  flush() {
    return this[_sink$1].flush();
  }
  close() {
    return this[_sink$1].close();
  }
  get done() {
    return this[_sink$1].done;
  }
};
(io._StdSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[128], 307, 17, "_sink");
  this[_sink$1] = _sink;
  ;
}).prototype = io._StdSink.prototype;
dart.addTypeTests(io._StdSink);
dart.addTypeCaches(io._StdSink);
io._StdSink[dart.implements] = () => [io.IOSink];
dart.setMethodSignature(io._StdSink, () => ({
  __proto__: dart.getMethods(io._StdSink.__proto__),
  write: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeln: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  writeAll: dart.fnType(dart.void, [core.Iterable], [core.String]),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
  writeCharCode: dart.fnType(dart.void, [core.int]),
  addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
  flush: dart.fnType(async.Future, []),
  close: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(io._StdSink, () => ({
  __proto__: dart.getGetters(io._StdSink.__proto__),
  encoding: convert.Encoding,
  done: async.Future
}));
dart.setSetterSignature(io._StdSink, () => ({
  __proto__: dart.getSetters(io._StdSink.__proto__),
  encoding: convert.Encoding
}));
dart.setLibraryUri(io._StdSink, I[106]);
dart.setFieldSignature(io._StdSink, () => ({
  __proto__: dart.getFields(io._StdSink.__proto__),
  [_sink$1]: dart.finalFieldType(io.IOSink)
}));
io.Stdout = class Stdout extends io._StdSink {
  get hasTerminal() {
    return this[_hasTerminal](this[_fd$]);
  }
  get terminalColumns() {
    return this[_terminalColumns](this[_fd$]);
  }
  get terminalLines() {
    return this[_terminalLines](this[_fd$]);
  }
  get supportsAnsiEscapes() {
    return io.Stdout._supportsAnsiEscapes(this[_fd$]);
  }
  [_hasTerminal](fd) {
    if (fd == null) dart.nullFailed(I[108], 667, 25, "fd");
    dart.throw(new core.UnsupportedError.new("Stdout.hasTerminal"));
  }
  [_terminalColumns](fd) {
    if (fd == null) dart.nullFailed(I[108], 672, 28, "fd");
    dart.throw(new core.UnsupportedError.new("Stdout.terminalColumns"));
  }
  [_terminalLines](fd) {
    if (fd == null) dart.nullFailed(I[108], 677, 26, "fd");
    dart.throw(new core.UnsupportedError.new("Stdout.terminalLines"));
  }
  static _supportsAnsiEscapes(fd) {
    if (fd == null) dart.nullFailed(I[108], 682, 40, "fd");
    dart.throw(new core.UnsupportedError.new("Stdout.supportsAnsiEscapes"));
  }
  get nonBlocking() {
    let t216;
    t216 = this[_nonBlocking];
    return t216 == null ? this[_nonBlocking] = io.IOSink.new(new io._FileStreamConsumer.fromStdio(this[_fd$])) : t216;
  }
};
(io.Stdout.__ = function(sink, _fd) {
  if (sink == null) dart.nullFailed(I[128], 196, 19, "sink");
  if (_fd == null) dart.nullFailed(I[128], 196, 30, "_fd");
  this[_nonBlocking] = null;
  this[_fd$] = _fd;
  io.Stdout.__proto__.new.call(this, sink);
  ;
}).prototype = io.Stdout.prototype;
dart.addTypeTests(io.Stdout);
dart.addTypeCaches(io.Stdout);
io.Stdout[dart.implements] = () => [io.IOSink];
dart.setMethodSignature(io.Stdout, () => ({
  __proto__: dart.getMethods(io.Stdout.__proto__),
  [_hasTerminal]: dart.fnType(core.bool, [core.int]),
  [_terminalColumns]: dart.fnType(core.int, [core.int]),
  [_terminalLines]: dart.fnType(core.int, [core.int])
}));
dart.setGetterSignature(io.Stdout, () => ({
  __proto__: dart.getGetters(io.Stdout.__proto__),
  hasTerminal: core.bool,
  terminalColumns: core.int,
  terminalLines: core.int,
  supportsAnsiEscapes: core.bool,
  nonBlocking: io.IOSink
}));
dart.setLibraryUri(io.Stdout, I[106]);
dart.setFieldSignature(io.Stdout, () => ({
  __proto__: dart.getFields(io.Stdout.__proto__),
  [_fd$]: dart.finalFieldType(core.int),
  [_nonBlocking]: dart.fieldType(dart.nullable(io.IOSink))
}));
var message$8 = dart.privateName(io, "StdoutException.message");
var osError$3 = dart.privateName(io, "StdoutException.osError");
io.StdoutException = class StdoutException extends core.Object {
  get message() {
    return this[message$8];
  }
  set message(value) {
    super.message = value;
  }
  get osError() {
    return this[osError$3];
  }
  set osError(value) {
    super.osError = value;
  }
  toString() {
    return "StdoutException: " + dart.str(this.message) + (this.osError == null ? "" : ", " + dart.str(this.osError));
  }
};
(io.StdoutException.new = function(message, osError = null) {
  if (message == null) dart.nullFailed(I[128], 254, 30, "message");
  this[message$8] = message;
  this[osError$3] = osError;
  ;
}).prototype = io.StdoutException.prototype;
dart.addTypeTests(io.StdoutException);
dart.addTypeCaches(io.StdoutException);
io.StdoutException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(io.StdoutException, I[106]);
dart.setFieldSignature(io.StdoutException, () => ({
  __proto__: dart.getFields(io.StdoutException.__proto__),
  message: dart.finalFieldType(core.String),
  osError: dart.finalFieldType(dart.nullable(io.OSError))
}));
dart.defineExtensionMethods(io.StdoutException, ['toString']);
var message$9 = dart.privateName(io, "StdinException.message");
var osError$4 = dart.privateName(io, "StdinException.osError");
io.StdinException = class StdinException extends core.Object {
  get message() {
    return this[message$9];
  }
  set message(value) {
    super.message = value;
  }
  get osError() {
    return this[osError$4];
  }
  set osError(value) {
    super.osError = value;
  }
  toString() {
    return "StdinException: " + dart.str(this.message) + (this.osError == null ? "" : ", " + dart.str(this.osError));
  }
};
(io.StdinException.new = function(message, osError = null) {
  if (message == null) dart.nullFailed(I[128], 269, 29, "message");
  this[message$9] = message;
  this[osError$4] = osError;
  ;
}).prototype = io.StdinException.prototype;
dart.addTypeTests(io.StdinException);
dart.addTypeCaches(io.StdinException);
io.StdinException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(io.StdinException, I[106]);
dart.setFieldSignature(io.StdinException, () => ({
  __proto__: dart.getFields(io.StdinException.__proto__),
  message: dart.finalFieldType(core.String),
  osError: dart.finalFieldType(dart.nullable(io.OSError))
}));
dart.defineExtensionMethods(io.StdinException, ['toString']);
io._StdConsumer = class _StdConsumer extends core.Object {
  addStream(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[128], 281, 38, "stream");
    let completer = async.Completer.new();
    let sub = null;
    sub = stream.listen(dart.fn(data => {
      if (data == null) dart.nullFailed(I[128], 284, 26, "data");
      try {
        dart.dsend(this[_file], 'writeFromSync', [data]);
      } catch (e$) {
        let e = dart.getThrown(e$);
        let s = dart.stackTrace(e$);
        if (core.Object.is(e)) {
          dart.dsend(sub, 'cancel', []);
          completer.completeError(e, s);
        } else
          throw e$;
      }
    }, T$0.ListOfintTovoid()), {onError: dart.bind(completer, 'completeError'), onDone: dart.bind(completer, 'complete'), cancelOnError: true});
    return completer.future;
  }
  close() {
    dart.dsend(this[_file], 'closeSync', []);
    return async.Future.value();
  }
};
(io._StdConsumer.new = function(fd) {
  if (fd == null) dart.nullFailed(I[128], 279, 20, "fd");
  this[_file] = io._File._openStdioSync(fd);
  ;
}).prototype = io._StdConsumer.prototype;
dart.addTypeTests(io._StdConsumer);
dart.addTypeCaches(io._StdConsumer);
io._StdConsumer[dart.implements] = () => [async.StreamConsumer$(core.List$(core.int))];
dart.setMethodSignature(io._StdConsumer, () => ({
  __proto__: dart.getMethods(io._StdConsumer.__proto__),
  addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
  close: dart.fnType(async.Future, [])
}));
dart.setLibraryUri(io._StdConsumer, I[106]);
dart.setFieldSignature(io._StdConsumer, () => ({
  __proto__: dart.getFields(io._StdConsumer.__proto__),
  [_file]: dart.finalFieldType(dart.dynamic)
}));
var name$11 = dart.privateName(io, "StdioType.name");
io.StdioType = class StdioType extends core.Object {
  get name() {
    return this[name$11];
  }
  set name(value) {
    super.name = value;
  }
  toString() {
    return "StdioType: " + dart.str(this.name);
  }
};
(io.StdioType.__ = function(name) {
  if (name == null) dart.nullFailed(I[128], 361, 26, "name");
  this[name$11] = name;
  ;
}).prototype = io.StdioType.prototype;
dart.addTypeTests(io.StdioType);
dart.addTypeCaches(io.StdioType);
dart.setLibraryUri(io.StdioType, I[106]);
dart.setFieldSignature(io.StdioType, () => ({
  __proto__: dart.getFields(io.StdioType.__proto__),
  name: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(io.StdioType, ['toString']);
dart.defineLazy(io.StdioType, {
  /*io.StdioType.terminal*/get terminal() {
    return C[201] || CT.C201;
  },
  /*io.StdioType.pipe*/get pipe() {
    return C[202] || CT.C202;
  },
  /*io.StdioType.file*/get file() {
    return C[203] || CT.C203;
  },
  /*io.StdioType.other*/get other() {
    return C[204] || CT.C204;
  },
  /*io.StdioType.TERMINAL*/get TERMINAL() {
    return C[201] || CT.C201;
  },
  /*io.StdioType.PIPE*/get PIPE() {
    return C[202] || CT.C202;
  },
  /*io.StdioType.FILE*/get FILE() {
    return C[203] || CT.C203;
  },
  /*io.StdioType.OTHER*/get OTHER() {
    return C[204] || CT.C204;
  }
}, false);
io._StdIOUtils = class _StdIOUtils extends core.Object {
  static _getStdioOutputStream(fd) {
    if (fd == null) dart.nullFailed(I[108], 579, 36, "fd");
    dart.throw(new core.UnsupportedError.new("StdIOUtils._getStdioOutputStream"));
  }
  static _getStdioInputStream(fd) {
    if (fd == null) dart.nullFailed(I[108], 574, 41, "fd");
    dart.throw(new core.UnsupportedError.new("StdIOUtils._getStdioInputStream"));
  }
  static _socketType(socket) {
    if (socket == null) dart.nullFailed(I[108], 584, 33, "socket");
    dart.throw(new core.UnsupportedError.new("StdIOUtils._socketType"));
  }
  static _getStdioHandleType(fd) {
    if (fd == null) dart.nullFailed(I[108], 589, 34, "fd");
    dart.throw(new core.UnsupportedError.new("StdIOUtils._getStdioHandleType"));
  }
};
(io._StdIOUtils.new = function() {
  ;
}).prototype = io._StdIOUtils.prototype;
dart.addTypeTests(io._StdIOUtils);
dart.addTypeCaches(io._StdIOUtils);
dart.setLibraryUri(io._StdIOUtils, I[106]);
io.SystemEncoding = class SystemEncoding extends convert.Encoding {
  get name() {
    return "system";
  }
  encode(input) {
    core.String.as(input);
    if (input == null) dart.nullFailed(I[129], 28, 27, "input");
    return this.encoder.convert(input);
  }
  decode(encoded) {
    T$0.ListOfint().as(encoded);
    if (encoded == null) dart.nullFailed(I[129], 29, 27, "encoded");
    return this.decoder.convert(encoded);
  }
  get encoder() {
    if (io.Platform.operatingSystem === "windows") {
      return C[205] || CT.C205;
    } else {
      return C[103] || CT.C103;
    }
  }
  get decoder() {
    if (io.Platform.operatingSystem === "windows") {
      return C[206] || CT.C206;
    } else {
      return C[102] || CT.C102;
    }
  }
};
(io.SystemEncoding.new = function() {
  io.SystemEncoding.__proto__.new.call(this);
  ;
}).prototype = io.SystemEncoding.prototype;
dart.addTypeTests(io.SystemEncoding);
dart.addTypeCaches(io.SystemEncoding);
dart.setGetterSignature(io.SystemEncoding, () => ({
  __proto__: dart.getGetters(io.SystemEncoding.__proto__),
  name: core.String,
  encoder: convert.Converter$(core.String, core.List$(core.int)),
  decoder: convert.Converter$(core.List$(core.int), core.String)
}));
dart.setLibraryUri(io.SystemEncoding, I[106]);
io._WindowsCodePageEncoder = class _WindowsCodePageEncoder extends convert.Converter$(core.String, core.List$(core.int)) {
  convert(input) {
    core.String.as(input);
    if (input == null) dart.nullFailed(I[129], 51, 28, "input");
    let encoded = io._WindowsCodePageEncoder._encodeString(input);
    if (encoded == null) {
      dart.throw(new core.FormatException.new("Invalid character for encoding"));
    }
    return encoded;
  }
  startChunkedConversion(sink) {
    T$0.SinkOfListOfint().as(sink);
    if (sink == null) dart.nullFailed(I[129], 60, 63, "sink");
    return new io._WindowsCodePageEncoderSink.new(sink);
  }
  static _encodeString(string) {
    if (string == null) dart.nullFailed(I[108], 605, 41, "string");
    dart.throw(new core.UnsupportedError.new("_WindowsCodePageEncoder._encodeString"));
  }
};
(io._WindowsCodePageEncoder.new = function() {
  io._WindowsCodePageEncoder.__proto__.new.call(this);
  ;
}).prototype = io._WindowsCodePageEncoder.prototype;
dart.addTypeTests(io._WindowsCodePageEncoder);
dart.addTypeCaches(io._WindowsCodePageEncoder);
dart.setMethodSignature(io._WindowsCodePageEncoder, () => ({
  __proto__: dart.getMethods(io._WindowsCodePageEncoder.__proto__),
  convert: dart.fnType(core.List$(core.int), [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.StringConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(io._WindowsCodePageEncoder, I[106]);
io._WindowsCodePageEncoderSink = class _WindowsCodePageEncoderSink extends convert.StringConversionSinkBase {
  close() {
    this[_sink$1].close();
  }
  add(string) {
    core.String.as(string);
    if (string == null) dart.nullFailed(I[129], 79, 19, "string");
    let encoded = io._WindowsCodePageEncoder._encodeString(string);
    if (encoded == null) {
      dart.throw(new core.FormatException.new("Invalid character for encoding"));
    }
    this[_sink$1].add(encoded);
  }
  addSlice(source, start, end, isLast) {
    if (source == null) dart.nullFailed(I[129], 87, 24, "source");
    if (start == null) dart.nullFailed(I[129], 87, 36, "start");
    if (end == null) dart.nullFailed(I[129], 87, 47, "end");
    if (isLast == null) dart.nullFailed(I[129], 87, 57, "isLast");
    if (start !== 0 || end !== source.length) {
      source = source[$substring](start, end);
    }
    this.add(source);
    if (dart.test(isLast)) this.close();
  }
};
(io._WindowsCodePageEncoderSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[129], 73, 36, "_sink");
  this[_sink$1] = _sink;
  ;
}).prototype = io._WindowsCodePageEncoderSink.prototype;
dart.addTypeTests(io._WindowsCodePageEncoderSink);
dart.addTypeCaches(io._WindowsCodePageEncoderSink);
dart.setMethodSignature(io._WindowsCodePageEncoderSink, () => ({
  __proto__: dart.getMethods(io._WindowsCodePageEncoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  addSlice: dart.fnType(dart.void, [core.String, core.int, core.int, core.bool])
}));
dart.setLibraryUri(io._WindowsCodePageEncoderSink, I[106]);
dart.setFieldSignature(io._WindowsCodePageEncoderSink, () => ({
  __proto__: dart.getFields(io._WindowsCodePageEncoderSink.__proto__),
  [_sink$1]: dart.finalFieldType(core.Sink$(core.List$(core.int)))
}));
io._WindowsCodePageDecoder = class _WindowsCodePageDecoder extends convert.Converter$(core.List$(core.int), core.String) {
  convert(input) {
    T$0.ListOfint().as(input);
    if (input == null) dart.nullFailed(I[129], 99, 28, "input");
    return io._WindowsCodePageDecoder._decodeBytes(input);
  }
  startChunkedConversion(sink) {
    T$0.SinkOfString().as(sink);
    if (sink == null) dart.nullFailed(I[129], 104, 58, "sink");
    return new io._WindowsCodePageDecoderSink.new(sink);
  }
  static _decodeBytes(bytes) {
    if (bytes == null) dart.nullFailed(I[108], 597, 40, "bytes");
    dart.throw(new core.UnsupportedError.new("_WindowsCodePageDecoder._decodeBytes"));
  }
};
(io._WindowsCodePageDecoder.new = function() {
  io._WindowsCodePageDecoder.__proto__.new.call(this);
  ;
}).prototype = io._WindowsCodePageDecoder.prototype;
dart.addTypeTests(io._WindowsCodePageDecoder);
dart.addTypeCaches(io._WindowsCodePageDecoder);
dart.setMethodSignature(io._WindowsCodePageDecoder, () => ({
  __proto__: dart.getMethods(io._WindowsCodePageDecoder.__proto__),
  convert: dart.fnType(core.String, [dart.nullable(core.Object)]),
  startChunkedConversion: dart.fnType(convert.ByteConversionSink, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(io._WindowsCodePageDecoder, I[106]);
io._WindowsCodePageDecoderSink = class _WindowsCodePageDecoderSink extends convert.ByteConversionSinkBase {
  close() {
    this[_sink$1].close();
  }
  add(bytes) {
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[129], 123, 22, "bytes");
    this[_sink$1].add(io._WindowsCodePageDecoder._decodeBytes(bytes));
  }
};
(io._WindowsCodePageDecoderSink.new = function(_sink) {
  if (_sink == null) dart.nullFailed(I[129], 117, 36, "_sink");
  this[_sink$1] = _sink;
  io._WindowsCodePageDecoderSink.__proto__.new.call(this);
  ;
}).prototype = io._WindowsCodePageDecoderSink.prototype;
dart.addTypeTests(io._WindowsCodePageDecoderSink);
dart.addTypeCaches(io._WindowsCodePageDecoderSink);
dart.setMethodSignature(io._WindowsCodePageDecoderSink, () => ({
  __proto__: dart.getMethods(io._WindowsCodePageDecoderSink.__proto__),
  close: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(io._WindowsCodePageDecoderSink, I[106]);
dart.setFieldSignature(io._WindowsCodePageDecoderSink, () => ({
  __proto__: dart.getFields(io._WindowsCodePageDecoderSink.__proto__),
  [_sink$1]: dart.finalFieldType(core.Sink$(core.String))
}));
io.RawSynchronousSocket = class RawSynchronousSocket extends core.Object {
  static connectSync(host, port) {
    if (port == null) dart.nullFailed(I[108], 515, 61, "port");
    dart.throw(new core.UnsupportedError.new("RawSynchronousSocket.connectSync"));
  }
};
(io.RawSynchronousSocket.new = function() {
  ;
}).prototype = io.RawSynchronousSocket.prototype;
dart.addTypeTests(io.RawSynchronousSocket);
dart.addTypeCaches(io.RawSynchronousSocket);
dart.setLibraryUri(io.RawSynchronousSocket, I[106]);
io._isErrorResponse = function _isErrorResponse$(response) {
  return core.List.is(response) && !dart.equals(response[$_get](0), 0);
};
io._exceptionFromResponse = function _exceptionFromResponse$(response, message, path) {
  if (message == null) dart.nullFailed(I[107], 23, 41, "message");
  if (path == null) dart.nullFailed(I[107], 23, 57, "path");
  if (!dart.test(io._isErrorResponse(response))) dart.assertFailed(null, I[107], 24, 10, "_isErrorResponse(response)");
  switch (dart.dsend(response, '_get', [0])) {
    case 1:
    {
      return new core.ArgumentError.new(dart.str(message) + ": " + dart.str(path));
    }
    case 2:
    {
      let err = new io.OSError.new(core.String.as(dart.dsend(response, '_get', [2])), core.int.as(dart.dsend(response, '_get', [1])));
      return new io.FileSystemException.new(message, path, err);
    }
    case 3:
    {
      return new io.FileSystemException.new("File closed", path);
    }
    default:
    {
      return core.Exception.new("Unknown error");
    }
  }
};
io._ensureFastAndSerializableByteData = function _ensureFastAndSerializableByteData(buffer, start, end) {
  if (buffer == null) dart.nullFailed(I[107], 93, 15, "buffer");
  if (start == null) dart.nullFailed(I[107], 93, 27, "start");
  if (end == null) dart.nullFailed(I[107], 93, 38, "end");
  if (dart.test(io._isDirectIOCapableTypedList(buffer))) {
    return new io._BufferAndStart.new(buffer, start);
  }
  let length = dart.notNull(end) - dart.notNull(start);
  let newBuffer = _native_typed_data.NativeUint8List.new(length);
  newBuffer[$setRange](0, length, buffer, start);
  return new io._BufferAndStart.new(newBuffer, 0);
};
io._isDirectIOCapableTypedList = function _isDirectIOCapableTypedList(buffer) {
  if (buffer == null) dart.nullFailed(I[108], 218, 44, "buffer");
  dart.throw(new core.UnsupportedError.new("_isDirectIOCapableTypedList"));
};
io._validateZLibWindowBits = function _validateZLibWindowBits(windowBits) {
  if (windowBits == null) dart.nullFailed(I[109], 570, 34, "windowBits");
  if (8 > dart.notNull(windowBits) || 15 < dart.notNull(windowBits)) {
    dart.throw(new core.RangeError.range(windowBits, 8, 15));
  }
};
io._validateZLibeLevel = function _validateZLibeLevel(level) {
  if (level == null) dart.nullFailed(I[109], 578, 30, "level");
  if (-1 > dart.notNull(level) || 9 < dart.notNull(level)) {
    dart.throw(new core.RangeError.range(level, -1, 9));
  }
};
io._validateZLibMemLevel = function _validateZLibMemLevel(memLevel) {
  if (memLevel == null) dart.nullFailed(I[109], 584, 32, "memLevel");
  if (1 > dart.notNull(memLevel) || 9 < dart.notNull(memLevel)) {
    dart.throw(new core.RangeError.range(memLevel, 1, 9));
  }
};
io._validateZLibStrategy = function _validateZLibStrategy(strategy) {
  if (strategy == null) dart.nullFailed(I[109], 591, 32, "strategy");
  let strategies = C[207] || CT.C207;
  if (strategies[$indexOf](strategy) === -1) {
    dart.throw(new core.ArgumentError.new("Unsupported 'strategy'"));
  }
};
io.isInsecureConnectionAllowed = function isInsecureConnectionAllowed(host) {
  return true;
};
io._success = function _success() {
  return convert.json.encode(new (T$.IdentityMapOfString$String()).from(["type", "Success"]));
};
io._invalidArgument = function _invalidArgument(argument, value) {
  if (argument == null) dart.nullFailed(I[119], 148, 32, "argument");
  return "Value for parameter '" + dart.str(argument) + "' is not valid: " + dart.str(value);
};
io._missingArgument = function _missingArgument(argument) {
  if (argument == null) dart.nullFailed(I[119], 151, 32, "argument");
  return "Parameter '" + dart.str(argument) + "' is required";
};
io._getHttpEnableTimelineLogging = function _getHttpEnableTimelineLogging() {
  return convert.json.encode(new (T$.IdentityMapOfString$Object()).from(["type", "HttpTimelineLoggingState", "enabled", _http.HttpClient.enableTimelineLogging]));
};
io._setHttpEnableTimelineLogging = function _setHttpEnableTimelineLogging(parameters) {
  if (parameters == null) dart.nullFailed(I[119], 158, 58, "parameters");
  if (!dart.test(parameters[$containsKey]("enable"))) {
    dart.throw(io._missingArgument("enable"));
  }
  let enable = dart.nullCheck(parameters[$_get]("enable"))[$toLowerCase]();
  if (enable !== "true" && enable !== "false") {
    dart.throw(io._invalidArgument("enable", enable));
  }
  _http.HttpClient.enableTimelineLogging = enable === "true";
  return io._success();
};
io._getHttpProfileRequest = function _getHttpProfileRequest(parameters) {
  if (parameters == null) dart.nullFailed(I[119], 171, 51, "parameters");
  if (!dart.test(parameters[$containsKey]("id"))) {
    dart.throw(io._missingArgument("id"));
  }
  let id = core.int.tryParse(dart.nullCheck(parameters[$_get]("id")));
  if (id == null) {
    dart.throw(io._invalidArgument("id", dart.nullCheck(parameters[$_get]("id"))));
  }
  let request = _http.HttpProfiler.getHttpProfileRequest(id);
  if (request == null) {
    dart.throw("Unable to find request with id: '" + dart.str(id) + "'");
  }
  return convert.json.encode(request.toJson({ref: false}));
};
io._socketProfilingEnabled = function _socketProfilingEnabled(parameters) {
  if (parameters == null) dart.nullFailed(I[119], 188, 52, "parameters");
  if (dart.test(parameters[$containsKey]("enabled"))) {
    let enable = dart.nullCheck(parameters[$_get]("enabled"))[$toLowerCase]();
    if (enable !== "true" && enable !== "false") {
      dart.throw(io._invalidArgument("enabled", enable));
    }
    enable === "true" ? io._SocketProfile.start() : io._SocketProfile.pause();
  }
  return convert.json.encode(new (T$.IdentityMapOfString$Object()).from(["type", "SocketProfilingState", "enabled", io._SocketProfile.enableSocketProfiling]));
};
io.exit = function exit(code) {
  if (code == null) dart.nullFailed(I[122], 50, 16, "code");
  core.ArgumentError.checkNotNull(core.int, code, "code");
  if (!dart.test(io._EmbedderConfig._mayExit)) {
    dart.throw(new core.UnsupportedError.new("This embedder disallows calling dart:io's exit()"));
  }
  io._ProcessUtils._exit(code);
  dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
};
io.sleep = function sleep(duration) {
  if (duration == null) dart.nullFailed(I[122], 88, 21, "duration");
  let milliseconds = duration.inMilliseconds;
  if (dart.notNull(milliseconds) < 0) {
    dart.throw(new core.ArgumentError.new("sleep: duration cannot be negative"));
  }
  if (!dart.test(io._EmbedderConfig._maySleep)) {
    dart.throw(new core.UnsupportedError.new("This embedder disallows calling dart:io's sleep()"));
  }
  io._ProcessUtils._sleep(milliseconds);
};
io._setStdioFDs = function _setStdioFDs(stdin, stdout, stderr) {
  if (stdin == null) dart.nullFailed(I[128], 376, 23, "stdin");
  if (stdout == null) dart.nullFailed(I[128], 376, 34, "stdout");
  if (stderr == null) dart.nullFailed(I[128], 376, 46, "stderr");
  io._stdinFD = stdin;
  io._stdoutFD = stdout;
  io._stderrFD = stderr;
};
io.stdioType = function stdioType(object) {
  if (io._StdStream.is(object)) {
    object = object[_stream$0];
  } else if (dart.equals(object, io.stdout) || dart.equals(object, io.stderr)) {
    let stdiofd = dart.equals(object, io.stdout) ? io._stdoutFD : io._stderrFD;
    let type = io._StdIOUtils._getStdioHandleType(stdiofd);
    if (io.OSError.is(type)) {
      dart.throw(new io.FileSystemException.new("Failed to get type of stdio handle (fd " + dart.str(stdiofd) + ")", "", type));
    }
    switch (type) {
      case 0:
      {
        return io.StdioType.terminal;
      }
      case 1:
      {
        return io.StdioType.pipe;
      }
      case 2:
      {
        return io.StdioType.file;
      }
    }
  }
  if (io._FileStream.is(object)) {
    return io.StdioType.file;
  }
  if (io.Socket.is(object)) {
    let socketType = io._StdIOUtils._socketType(object);
    if (socketType == null) return io.StdioType.other;
    switch (socketType) {
      case 0:
      {
        return io.StdioType.terminal;
      }
      case 1:
      {
        return io.StdioType.pipe;
      }
      case 2:
      {
        return io.StdioType.file;
      }
    }
  }
  if (io._IOSinkImpl.is(object)) {
    try {
      if (io._FileStreamConsumer.is(object[_target$0])) {
        return io.StdioType.file;
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
  }
  return io.StdioType.other;
};
dart.copyProperties(io, {
  set exitCode(code) {
    if (code == null) dart.nullFailed(I[122], 69, 23, "code");
    core.ArgumentError.checkNotNull(core.int, code, "code");
    io._ProcessUtils._setExitCode(code);
  },
  get exitCode() {
    return io._ProcessUtils._getExitCode();
  },
  get pid() {
    return io._ProcessUtils._pid(null);
  },
  get stdin() {
    let t218;
    t218 = io._stdin;
    return t218 == null ? io._stdin = io._StdIOUtils._getStdioInputStream(io._stdinFD) : t218;
  },
  get stdout() {
    let t218;
    return io.Stdout.as((t218 = io._stdout, t218 == null ? io._stdout = T$0.StdoutN().as(io._StdIOUtils._getStdioOutputStream(io._stdoutFD)) : t218));
  },
  get stderr() {
    let t218;
    return io.Stdout.as((t218 = io._stderr, t218 == null ? io._stderr = T$0.StdoutN().as(io._StdIOUtils._getStdioOutputStream(io._stderrFD)) : t218));
  }
});
dart.defineLazy(io, {
  /*io._successResponse*/get _successResponse() {
    return 0;
  },
  /*io._illegalArgumentResponse*/get _illegalArgumentResponse() {
    return 1;
  },
  /*io._osErrorResponse*/get _osErrorResponse() {
    return 2;
  },
  /*io._fileClosedResponse*/get _fileClosedResponse() {
    return 3;
  },
  /*io._errorResponseErrorType*/get _errorResponseErrorType() {
    return 0;
  },
  /*io._osErrorResponseErrorCode*/get _osErrorResponseErrorCode() {
    return 1;
  },
  /*io._osErrorResponseMessage*/get _osErrorResponseMessage() {
    return 2;
  },
  /*io.zlib*/get zlib() {
    return C[208] || CT.C208;
  },
  /*io.ZLIB*/get ZLIB() {
    return C[208] || CT.C208;
  },
  /*io.gzip*/get gzip() {
    return C[209] || CT.C209;
  },
  /*io.GZIP*/get GZIP() {
    return C[209] || CT.C209;
  },
  /*io.READ*/get READ() {
    return C[111] || CT.C111;
  },
  /*io.WRITE*/get WRITE() {
    return C[112] || CT.C112;
  },
  /*io.APPEND*/get APPEND() {
    return C[113] || CT.C113;
  },
  /*io.WRITE_ONLY*/get WRITE_ONLY() {
    return C[114] || CT.C114;
  },
  /*io.WRITE_ONLY_APPEND*/get WRITE_ONLY_APPEND() {
    return C[115] || CT.C115;
  },
  /*io._blockSize*/get _blockSize() {
    return 65536;
  },
  /*io._versionMajor*/get _versionMajor() {
    return 1;
  },
  /*io._versionMinor*/get _versionMinor() {
    return 6;
  },
  /*io._tcpSocket*/get _tcpSocket() {
    return "tcp";
  },
  /*io._udpSocket*/get _udpSocket() {
    return "udp";
  },
  /*io._ioOverridesToken*/get _ioOverridesToken() {
    return new core.Object.new();
  },
  /*io._asyncRunZoned*/get _asyncRunZoned() {
    return C[210] || CT.C210;
  },
  /*io._nextServiceId*/get _nextServiceId() {
    return 1;
  },
  set _nextServiceId(_) {},
  /*io._stdioHandleTypeTerminal*/get _stdioHandleTypeTerminal() {
    return 0;
  },
  /*io._stdioHandleTypePipe*/get _stdioHandleTypePipe() {
    return 1;
  },
  /*io._stdioHandleTypeFile*/get _stdioHandleTypeFile() {
    return 2;
  },
  /*io._stdioHandleTypeSocket*/get _stdioHandleTypeSocket() {
    return 3;
  },
  /*io._stdioHandleTypeOther*/get _stdioHandleTypeOther() {
    return 4;
  },
  /*io._stdioHandleTypeError*/get _stdioHandleTypeError() {
    return 5;
  },
  /*io._stdin*/get _stdin() {
    return null;
  },
  set _stdin(_) {},
  /*io._stdout*/get _stdout() {
    return null;
  },
  set _stdout(_) {},
  /*io._stderr*/get _stderr() {
    return null;
  },
  set _stderr(_) {},
  /*io._stdinFD*/get _stdinFD() {
    return 0;
  },
  set _stdinFD(_) {},
  /*io._stdoutFD*/get _stdoutFD() {
    return 1;
  },
  set _stdoutFD(_) {},
  /*io._stderrFD*/get _stderrFD() {
    return 2;
  },
  set _stderrFD(_) {},
  /*io.systemEncoding*/get systemEncoding() {
    return C[145] || CT.C145;
  },
  /*io.SYSTEM_ENCODING*/get SYSTEM_ENCODING() {
    return C[145] || CT.C145;
  }
}, false);
isolate$._ReceivePort = class _ReceivePort extends async.Stream {
  close() {
  }
  get sendPort() {
    return isolate$._unsupported();
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : true;
    return isolate$._unsupported();
  }
};
(isolate$._ReceivePort.new = function(debugName = "") {
  if (debugName == null) dart.nullFailed(I[130], 97, 24, "debugName");
  isolate$._ReceivePort.__proto__.new.call(this);
  ;
}).prototype = isolate$._ReceivePort.prototype;
dart.addTypeTests(isolate$._ReceivePort);
dart.addTypeCaches(isolate$._ReceivePort);
isolate$._ReceivePort[dart.implements] = () => [isolate$.ReceivePort];
dart.setMethodSignature(isolate$._ReceivePort, () => ({
  __proto__: dart.getMethods(isolate$._ReceivePort.__proto__),
  close: dart.fnType(dart.void, []),
  listen: dart.fnType(async.StreamSubscription, [dart.nullable(dart.fnType(dart.void, [dart.dynamic]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
}));
dart.setGetterSignature(isolate$._ReceivePort, () => ({
  __proto__: dart.getGetters(isolate$._ReceivePort.__proto__),
  sendPort: isolate$.SendPort
}));
dart.setLibraryUri(isolate$._ReceivePort, I[131]);
var message$10 = dart.privateName(isolate$, "IsolateSpawnException.message");
isolate$.IsolateSpawnException = class IsolateSpawnException extends core.Object {
  get message() {
    return this[message$10];
  }
  set message(value) {
    super.message = value;
  }
  toString() {
    return "IsolateSpawnException: " + dart.str(this.message);
  }
};
(isolate$.IsolateSpawnException.new = function(message) {
  if (message == null) dart.nullFailed(I[132], 28, 30, "message");
  this[message$10] = message;
  ;
}).prototype = isolate$.IsolateSpawnException.prototype;
dart.addTypeTests(isolate$.IsolateSpawnException);
dart.addTypeCaches(isolate$.IsolateSpawnException);
isolate$.IsolateSpawnException[dart.implements] = () => [core.Exception];
dart.setLibraryUri(isolate$.IsolateSpawnException, I[131]);
dart.setFieldSignature(isolate$.IsolateSpawnException, () => ({
  __proto__: dart.getFields(isolate$.IsolateSpawnException.__proto__),
  message: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(isolate$.IsolateSpawnException, ['toString']);
var controlPort$ = dart.privateName(isolate$, "Isolate.controlPort");
var pauseCapability$ = dart.privateName(isolate$, "Isolate.pauseCapability");
var terminateCapability$ = dart.privateName(isolate$, "Isolate.terminateCapability");
var _pause = dart.privateName(isolate$, "_pause");
isolate$.Isolate = class Isolate extends core.Object {
  get controlPort() {
    return this[controlPort$];
  }
  set controlPort(value) {
    super.controlPort = value;
  }
  get pauseCapability() {
    return this[pauseCapability$];
  }
  set pauseCapability(value) {
    super.pauseCapability = value;
  }
  get terminateCapability() {
    return this[terminateCapability$];
  }
  set terminateCapability(value) {
    super.terminateCapability = value;
  }
  get debugName() {
    return isolate$._unsupported();
  }
  static get current() {
    return isolate$._unsupported();
  }
  static get packageRoot() {
    return isolate$._unsupported();
  }
  static get packageConfig() {
    return isolate$._unsupported();
  }
  static resolvePackageUri(packageUri) {
    if (packageUri == null) dart.nullFailed(I[130], 28, 45, "packageUri");
    return isolate$._unsupported();
  }
  static spawn(T, entryPoint, message, opts) {
    if (entryPoint == null) dart.nullFailed(I[130], 31, 40, "entryPoint");
    let paused = opts && 'paused' in opts ? opts.paused : false;
    if (paused == null) dart.nullFailed(I[130], 32, 17, "paused");
    let errorsAreFatal = opts && 'errorsAreFatal' in opts ? opts.errorsAreFatal : true;
    if (errorsAreFatal == null) dart.nullFailed(I[130], 33, 16, "errorsAreFatal");
    let onExit = opts && 'onExit' in opts ? opts.onExit : null;
    let onError = opts && 'onError' in opts ? opts.onError : null;
    return isolate$._unsupported();
  }
  static spawnUri(uri, args, message, opts) {
    if (uri == null) dart.nullFailed(I[130], 39, 39, "uri");
    if (args == null) dart.nullFailed(I[130], 39, 57, "args");
    let paused = opts && 'paused' in opts ? opts.paused : false;
    if (paused == null) dart.nullFailed(I[130], 40, 17, "paused");
    let onExit = opts && 'onExit' in opts ? opts.onExit : null;
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let errorsAreFatal = opts && 'errorsAreFatal' in opts ? opts.errorsAreFatal : true;
    if (errorsAreFatal == null) dart.nullFailed(I[130], 43, 16, "errorsAreFatal");
    let checked = opts && 'checked' in opts ? opts.checked : null;
    let environment = opts && 'environment' in opts ? opts.environment : null;
    let packageRoot = opts && 'packageRoot' in opts ? opts.packageRoot : null;
    let packageConfig = opts && 'packageConfig' in opts ? opts.packageConfig : null;
    let automaticPackageResolution = opts && 'automaticPackageResolution' in opts ? opts.automaticPackageResolution : false;
    if (automaticPackageResolution == null) dart.nullFailed(I[130], 48, 16, "automaticPackageResolution");
    let debugName = opts && 'debugName' in opts ? opts.debugName : null;
    return isolate$._unsupported();
  }
  pause(resumeCapability = null) {
    resumeCapability == null ? resumeCapability = isolate$.Capability.new() : null;
    this[_pause](resumeCapability);
    return resumeCapability;
  }
  [_pause](resumeCapability) {
    if (resumeCapability == null) dart.nullFailed(I[130], 53, 26, "resumeCapability");
    return isolate$._unsupported();
  }
  resume(resumeCapability) {
    if (resumeCapability == null) dart.nullFailed(I[130], 56, 26, "resumeCapability");
    return isolate$._unsupported();
  }
  addOnExitListener(responsePort, opts) {
    if (responsePort == null) dart.nullFailed(I[130], 59, 35, "responsePort");
    let response = opts && 'response' in opts ? opts.response : null;
    return isolate$._unsupported();
  }
  removeOnExitListener(responsePort) {
    if (responsePort == null) dart.nullFailed(I[130], 63, 38, "responsePort");
    return isolate$._unsupported();
  }
  setErrorsFatal(errorsAreFatal) {
    if (errorsAreFatal == null) dart.nullFailed(I[130], 66, 28, "errorsAreFatal");
    return isolate$._unsupported();
  }
  kill(opts) {
    let priority = opts && 'priority' in opts ? opts.priority : 1;
    if (priority == null) dart.nullFailed(I[130], 69, 18, "priority");
    return isolate$._unsupported();
  }
  ping(responsePort, opts) {
    if (responsePort == null) dart.nullFailed(I[130], 71, 22, "responsePort");
    let response = opts && 'response' in opts ? opts.response : null;
    let priority = opts && 'priority' in opts ? opts.priority : 0;
    if (priority == null) dart.nullFailed(I[130], 72, 34, "priority");
    return isolate$._unsupported();
  }
  addErrorListener(port) {
    if (port == null) dart.nullFailed(I[130], 76, 34, "port");
    return isolate$._unsupported();
  }
  removeErrorListener(port) {
    if (port == null) dart.nullFailed(I[130], 79, 37, "port");
    return isolate$._unsupported();
  }
  get errors() {
    let controller = async.StreamController.broadcast({sync: true});
    let port = null;
    function handleError(message) {
      let listMessage = T$.ListOfObjectN().as(message);
      let errorDescription = core.String.as(listMessage[$_get](0));
      let stackDescription = core.String.as(listMessage[$_get](1));
      let error = new isolate$.RemoteError.new(errorDescription, stackDescription);
      controller.addError(error, error.stackTrace);
    }
    dart.fn(handleError, T$.ObjectNTovoid());
    controller.onListen = dart.fn(() => {
      let receivePort = isolate$.RawReceivePort.new(handleError);
      port = receivePort;
      this.addErrorListener(receivePort.sendPort);
    }, T$.VoidTovoid());
    controller.onCancel = dart.fn(() => {
      let listenPort = dart.nullCheck(port);
      port = null;
      this.removeErrorListener(listenPort.sendPort);
      listenPort.close();
    }, T$.VoidToNull());
    return controller.stream;
  }
};
(isolate$.Isolate.new = function(controlPort, opts) {
  if (controlPort == null) dart.nullFailed(I[132], 141, 16, "controlPort");
  let pauseCapability = opts && 'pauseCapability' in opts ? opts.pauseCapability : null;
  let terminateCapability = opts && 'terminateCapability' in opts ? opts.terminateCapability : null;
  this[controlPort$] = controlPort;
  this[pauseCapability$] = pauseCapability;
  this[terminateCapability$] = terminateCapability;
  ;
}).prototype = isolate$.Isolate.prototype;
dart.addTypeTests(isolate$.Isolate);
dart.addTypeCaches(isolate$.Isolate);
dart.setMethodSignature(isolate$.Isolate, () => ({
  __proto__: dart.getMethods(isolate$.Isolate.__proto__),
  pause: dart.fnType(isolate$.Capability, [], [dart.nullable(isolate$.Capability)]),
  [_pause]: dart.fnType(dart.void, [isolate$.Capability]),
  resume: dart.fnType(dart.void, [isolate$.Capability]),
  addOnExitListener: dart.fnType(dart.void, [isolate$.SendPort], {response: dart.nullable(core.Object)}, {}),
  removeOnExitListener: dart.fnType(dart.void, [isolate$.SendPort]),
  setErrorsFatal: dart.fnType(dart.void, [core.bool]),
  kill: dart.fnType(dart.void, [], {priority: core.int}, {}),
  ping: dart.fnType(dart.void, [isolate$.SendPort], {priority: core.int, response: dart.nullable(core.Object)}, {}),
  addErrorListener: dart.fnType(dart.void, [isolate$.SendPort]),
  removeErrorListener: dart.fnType(dart.void, [isolate$.SendPort])
}));
dart.setGetterSignature(isolate$.Isolate, () => ({
  __proto__: dart.getGetters(isolate$.Isolate.__proto__),
  debugName: dart.nullable(core.String),
  errors: async.Stream
}));
dart.setLibraryUri(isolate$.Isolate, I[131]);
dart.setFieldSignature(isolate$.Isolate, () => ({
  __proto__: dart.getFields(isolate$.Isolate.__proto__),
  controlPort: dart.finalFieldType(isolate$.SendPort),
  pauseCapability: dart.finalFieldType(dart.nullable(isolate$.Capability)),
  terminateCapability: dart.finalFieldType(dart.nullable(isolate$.Capability))
}));
dart.defineLazy(isolate$.Isolate, {
  /*isolate$.Isolate.immediate*/get immediate() {
    return 0;
  },
  /*isolate$.Isolate.beforeNextEvent*/get beforeNextEvent() {
    return 1;
  }
}, false);
isolate$.SendPort = class SendPort extends core.Object {};
(isolate$.SendPort.new = function() {
  ;
}).prototype = isolate$.SendPort.prototype;
dart.addTypeTests(isolate$.SendPort);
dart.addTypeCaches(isolate$.SendPort);
isolate$.SendPort[dart.implements] = () => [isolate$.Capability];
dart.setLibraryUri(isolate$.SendPort, I[131]);
isolate$.ReceivePort = class ReceivePort extends core.Object {
  static fromRawReceivePort(rawPort) {
    if (rawPort == null) dart.nullFailed(I[130], 89, 57, "rawPort");
    return isolate$._unsupported();
  }
};
(isolate$.ReceivePort[dart.mixinNew] = function() {
}).prototype = isolate$.ReceivePort.prototype;
isolate$.ReceivePort.prototype[dart.isStream] = true;
dart.addTypeTests(isolate$.ReceivePort);
dart.addTypeCaches(isolate$.ReceivePort);
isolate$.ReceivePort[dart.implements] = () => [async.Stream];
dart.setLibraryUri(isolate$.ReceivePort, I[131]);
isolate$.RawReceivePort = class RawReceivePort extends core.Object {
  static new(handler = null, debugName = "") {
    if (debugName == null) dart.nullFailed(I[130], 113, 53, "debugName");
    return isolate$._unsupported();
  }
};
(isolate$.RawReceivePort[dart.mixinNew] = function() {
}).prototype = isolate$.RawReceivePort.prototype;
dart.addTypeTests(isolate$.RawReceivePort);
dart.addTypeCaches(isolate$.RawReceivePort);
dart.setLibraryUri(isolate$.RawReceivePort, I[131]);
var stackTrace$0 = dart.privateName(isolate$, "RemoteError.stackTrace");
var _description = dart.privateName(isolate$, "_description");
isolate$.RemoteError = class RemoteError extends core.Object {
  get stackTrace() {
    return this[stackTrace$0];
  }
  set stackTrace(value) {
    super.stackTrace = value;
  }
  toString() {
    return this[_description];
  }
};
(isolate$.RemoteError.new = function(description, stackDescription) {
  if (description == null) dart.nullFailed(I[132], 720, 22, "description");
  if (stackDescription == null) dart.nullFailed(I[132], 720, 42, "stackDescription");
  this[_description] = description;
  this[stackTrace$0] = new core._StringStackTrace.new(stackDescription);
  ;
}).prototype = isolate$.RemoteError.prototype;
dart.addTypeTests(isolate$.RemoteError);
dart.addTypeCaches(isolate$.RemoteError);
isolate$.RemoteError[dart.implements] = () => [core.Error];
dart.setLibraryUri(isolate$.RemoteError, I[131]);
dart.setFieldSignature(isolate$.RemoteError, () => ({
  __proto__: dart.getFields(isolate$.RemoteError.__proto__),
  [_description]: dart.finalFieldType(core.String),
  stackTrace: dart.finalFieldType(core.StackTrace)
}));
dart.defineExtensionMethods(isolate$.RemoteError, ['toString']);
dart.defineExtensionAccessors(isolate$.RemoteError, ['stackTrace']);
isolate$.TransferableTypedData = class TransferableTypedData extends core.Object {
  static fromList(list) {
    if (list == null) dart.nullFailed(I[130], 126, 58, "list");
    return isolate$._unsupported();
  }
};
(isolate$.TransferableTypedData[dart.mixinNew] = function() {
}).prototype = isolate$.TransferableTypedData.prototype;
dart.addTypeTests(isolate$.TransferableTypedData);
dart.addTypeCaches(isolate$.TransferableTypedData);
dart.setLibraryUri(isolate$.TransferableTypedData, I[131]);
isolate$.Capability = class Capability extends core.Object {
  static new() {
    return isolate$._unsupported();
  }
};
(isolate$.Capability[dart.mixinNew] = function() {
}).prototype = isolate$.Capability.prototype;
dart.addTypeTests(isolate$.Capability);
dart.addTypeCaches(isolate$.Capability);
dart.setLibraryUri(isolate$.Capability, I[131]);
isolate$._unsupported = function _unsupported() {
  dart.throw(new core.UnsupportedError.new("dart:isolate is not supported on dart4web"));
};
var _dartObj$ = dart.privateName(js, "_dartObj");
js._DartObject = class _DartObject extends core.Object {};
(js._DartObject.new = function(_dartObj) {
  if (_dartObj == null) dart.nullFailed(I[133], 328, 20, "_dartObj");
  this[_dartObj$] = _dartObj;
  ;
}).prototype = js._DartObject.prototype;
dart.addTypeTests(js._DartObject);
dart.addTypeCaches(js._DartObject);
dart.setLibraryUri(js._DartObject, I[134]);
dart.setFieldSignature(js._DartObject, () => ({
  __proto__: dart.getFields(js._DartObject.__proto__),
  [_dartObj$]: dart.finalFieldType(core.Object)
}));
var _jsObject$ = dart.privateName(js, "_jsObject");
js.JsObject = class JsObject extends core.Object {
  static _convertDataTree(data) {
    if (data == null) dart.nullFailed(I[133], 56, 34, "data");
    let _convertedObjects = new _js_helper.IdentityMap.new();
    function _convert(o) {
      if (dart.test(_convertedObjects[$containsKey](o))) {
        return _convertedObjects[$_get](o);
      }
      if (core.Map.is(o)) {
        let convertedMap = {};
        _convertedObjects[$_set](o, convertedMap);
        for (let key of o[$keys]) {
          convertedMap[key] = _convert(o[$_get](key));
        }
        return convertedMap;
      } else if (core.Iterable.is(o)) {
        let convertedList = [];
        _convertedObjects[$_set](o, convertedList);
        convertedList[$addAll](o[$map](dart.dynamic, _convert));
        return convertedList;
      } else {
        return js._convertToJS(o);
      }
    }
    dart.fn(_convert, T$0.ObjectNTodynamic());
    return _convert(data);
  }
  static new(constructor, $arguments = null) {
    if (constructor == null) dart.nullFailed(I[133], 31, 31, "constructor");
    let ctor = constructor[_jsObject$];
    if ($arguments == null) {
      return js._wrapToDart(new ctor());
    }
    let unwrapped = core.List.from($arguments[$map](dart.dynamic, C[211] || CT.C211));
    return js._wrapToDart(new ctor(...unwrapped));
  }
  static fromBrowserObject(object) {
    if (object == null) dart.nullFailed(I[133], 41, 45, "object");
    if (typeof object == 'number' || typeof object == 'string' || typeof object == 'boolean' || object == null) {
      dart.throw(new core.ArgumentError.new("object cannot be a num, string, bool, or null"));
    }
    return js._wrapToDart(dart.nullCheck(js._convertToJS(object)));
  }
  static jsify(object) {
    if (object == null) dart.nullFailed(I[133], 49, 33, "object");
    if (!core.Map.is(object) && !core.Iterable.is(object)) {
      dart.throw(new core.ArgumentError.new("object must be a Map or Iterable"));
    }
    return js._wrapToDart(core.Object.as(js.JsObject._convertDataTree(object)));
  }
  _get(property) {
    if (property == null) dart.nullFailed(I[133], 84, 30, "property");
    if (!(typeof property == 'string') && !(typeof property == 'number')) {
      dart.throw(new core.ArgumentError.new("property is not a String or num"));
    }
    return js._convertToDart(this[_jsObject$][property]);
  }
  _set(property, value$) {
    let value = value$;
    if (property == null) dart.nullFailed(I[133], 92, 28, "property");
    if (!(typeof property == 'string') && !(typeof property == 'number')) {
      dart.throw(new core.ArgumentError.new("property is not a String or num"));
    }
    this[_jsObject$][property] = js._convertToJS(value);
    return value$;
  }
  get hashCode() {
    return 0;
  }
  _equals(other) {
    if (other == null) return false;
    return js.JsObject.is(other) && this[_jsObject$] === other[_jsObject$];
  }
  hasProperty(property) {
    if (property == null) dart.nullFailed(I[133], 104, 27, "property");
    if (!(typeof property == 'string') && !(typeof property == 'number')) {
      dart.throw(new core.ArgumentError.new("property is not a String or num"));
    }
    return property in this[_jsObject$];
  }
  deleteProperty(property) {
    if (property == null) dart.nullFailed(I[133], 112, 30, "property");
    if (!(typeof property == 'string') && !(typeof property == 'number')) {
      dart.throw(new core.ArgumentError.new("property is not a String or num"));
    }
    delete this[_jsObject$][property];
  }
  instanceof(type) {
    if (type == null) dart.nullFailed(I[133], 120, 30, "type");
    return this[_jsObject$] instanceof js._convertToJS(type);
  }
  toString() {
    try {
      return String(this[_jsObject$]);
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
        return super[$toString]();
      } else
        throw e$;
    }
  }
  callMethod(method, args = null) {
    if (method == null) dart.nullFailed(I[133], 134, 29, "method");
    if (!(typeof method == 'string') && !(typeof method == 'number')) {
      dart.throw(new core.ArgumentError.new("method is not a String or num"));
    }
    if (args != null) args = core.List.from(args[$map](dart.dynamic, C[211] || CT.C211));
    let fn = this[_jsObject$][method];
    if (typeof fn !== "function") {
      dart.throw(new core.NoSuchMethodError.new(this[_jsObject$], new _internal.Symbol.new(dart.str(method)), args, new (T$0.LinkedMapOfSymbol$dynamic()).new()));
    }
    return js._convertToDart(fn.apply(this[_jsObject$], args));
  }
};
(js.JsObject._fromJs = function(_jsObject) {
  if (_jsObject == null) dart.nullFailed(I[133], 26, 25, "_jsObject");
  this[_jsObject$] = _jsObject;
  if (!(this[_jsObject$] != null)) dart.assertFailed(null, I[133], 27, 12, "_jsObject != null");
}).prototype = js.JsObject.prototype;
dart.addTypeTests(js.JsObject);
dart.addTypeCaches(js.JsObject);
dart.setMethodSignature(js.JsObject, () => ({
  __proto__: dart.getMethods(js.JsObject.__proto__),
  _get: dart.fnType(dart.dynamic, [core.Object]),
  _set: dart.fnType(dart.void, [core.Object, dart.nullable(core.Object)]),
  hasProperty: dart.fnType(core.bool, [core.Object]),
  deleteProperty: dart.fnType(dart.void, [core.Object]),
  instanceof: dart.fnType(core.bool, [js.JsFunction]),
  callMethod: dart.fnType(dart.dynamic, [core.Object], [dart.nullable(core.List)])
}));
dart.setLibraryUri(js.JsObject, I[134]);
dart.setFieldSignature(js.JsObject, () => ({
  __proto__: dart.getFields(js.JsObject.__proto__),
  [_jsObject$]: dart.finalFieldType(core.Object)
}));
dart.defineExtensionMethods(js.JsObject, ['_equals', 'toString']);
dart.defineExtensionAccessors(js.JsObject, ['hashCode']);
js.JsFunction = class JsFunction extends js.JsObject {
  static withThis(f) {
    if (f == null) dart.nullFailed(I[133], 150, 40, "f");
    return new js.JsFunction._fromJs(function() {
      let args = [js._convertToDart(this)];
      for (let arg of arguments) {
        args.push(js._convertToDart(arg));
      }
      return js._convertToJS(f(...args));
    });
  }
  apply(args, opts) {
    if (args == null) dart.nullFailed(I[133], 169, 22, "args");
    let thisArg = opts && 'thisArg' in opts ? opts.thisArg : null;
    return js._convertToDart(this[_jsObject$].apply(js._convertToJS(thisArg), args == null ? null : core.List.from(args[$map](dart.dynamic, js._convertToJS))));
  }
};
(js.JsFunction._fromJs = function(jsObject) {
  if (jsObject == null) dart.nullFailed(I[133], 166, 29, "jsObject");
  js.JsFunction.__proto__._fromJs.call(this, jsObject);
  ;
}).prototype = js.JsFunction.prototype;
dart.addTypeTests(js.JsFunction);
dart.addTypeCaches(js.JsFunction);
dart.setMethodSignature(js.JsFunction, () => ({
  __proto__: dart.getMethods(js.JsFunction.__proto__),
  apply: dart.fnType(dart.dynamic, [core.List], {thisArg: dart.dynamic}, {})
}));
dart.setLibraryUri(js.JsFunction, I[134]);
var _checkIndex = dart.privateName(js, "_checkIndex");
var _checkInsertIndex = dart.privateName(js, "_checkInsertIndex");
const _is_JsArray_default = Symbol('_is_JsArray_default');
js.JsArray$ = dart.generic(E => {
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  const JsObject_ListMixin$36 = class JsObject_ListMixin extends js.JsObject {
    _set(property, value$) {
      let value = value$;
      if (property == null) dart.nullFailed(I[135], 175, 7, "property");
      super._set(property, value);
      return value$;
    }
  };
  (JsObject_ListMixin$36._fromJs = function(_jsObject) {
    JsObject_ListMixin$36.__proto__._fromJs.call(this, _jsObject);
  }).prototype = JsObject_ListMixin$36.prototype;
  dart.applyMixin(JsObject_ListMixin$36, collection.ListMixin$(E));
  class JsArray extends JsObject_ListMixin$36 {
    [_checkIndex](index) {
      if (index == null) dart.nullFailed(I[133], 189, 19, "index");
      if (dart.notNull(index) < 0 || dart.notNull(index) >= dart.notNull(this.length)) {
        dart.throw(new core.RangeError.range(index, 0, this.length));
      }
    }
    [_checkInsertIndex](index) {
      if (index == null) dart.nullFailed(I[133], 195, 25, "index");
      if (dart.notNull(index) < 0 || dart.notNull(index) >= dart.notNull(this.length) + 1) {
        dart.throw(new core.RangeError.range(index, 0, this.length));
      }
    }
    static _checkRange(start, end, length) {
      if (start == null) dart.nullFailed(I[133], 201, 26, "start");
      if (end == null) dart.nullFailed(I[133], 201, 37, "end");
      if (length == null) dart.nullFailed(I[133], 201, 46, "length");
      if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(length)) {
        dart.throw(new core.RangeError.range(start, 0, length));
      }
      if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(length)) {
        dart.throw(new core.RangeError.range(end, start, length));
      }
    }
    static new() {
      return new (js.JsArray$(E))._fromJs([]);
    }
    static from(other) {
      let t219;
      if (other == null) dart.nullFailed(I[133], 184, 36, "other");
      return new (js.JsArray$(E))._fromJs((t219 = [], (() => {
        t219[$addAll](other[$map](dart.dynamic, C[211] || CT.C211));
        return t219;
      })()));
    }
    _get(index) {
      if (index == null) dart.nullFailed(I[133], 211, 24, "index");
      if (core.int.is(index)) {
        this[_checkIndex](index);
      }
      return E.as(super._get(index));
    }
    _set(index, value$) {
      let value = value$;
      if (index == null) dart.nullFailed(I[133], 219, 28, "index");
      if (core.int.is(index)) {
        this[_checkIndex](index);
      }
      super._set(index, value);
      return value$;
    }
    get length() {
      let len = this[_jsObject$].length;
      if (typeof len === "number" && len >>> 0 === len) {
        return len;
      }
      dart.throw(new core.StateError.new("Bad JsArray length"));
    }
    set length(length) {
      if (length == null) dart.nullFailed(I[133], 239, 23, "length");
      super._set("length", length);
    }
    add(value) {
      E.as(value);
      this.callMethod("push", [value]);
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[133], 249, 27, "iterable");
      let list = iterable instanceof Array ? iterable : core.List.from(iterable);
      this.callMethod("push", list);
    }
    insert(index, element) {
      if (index == null) dart.nullFailed(I[133], 257, 19, "index");
      E.as(element);
      this[_checkInsertIndex](index);
      this.callMethod("splice", [index, 0, element]);
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[133], 263, 18, "index");
      this[_checkIndex](index);
      return E.as(dart.dsend(this.callMethod("splice", [index, 1]), '_get', [0]));
    }
    removeLast() {
      if (this.length === 0) dart.throw(new core.RangeError.new(-1));
      return E.as(this.callMethod("pop"));
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[133], 275, 24, "start");
      if (end == null) dart.nullFailed(I[133], 275, 35, "end");
      js.JsArray._checkRange(start, end, this.length);
      this.callMethod("splice", [start, dart.notNull(end) - dart.notNull(start)]);
    }
    setRange(start, end, iterable, skipCount = 0) {
      let t219;
      if (start == null) dart.nullFailed(I[133], 281, 21, "start");
      if (end == null) dart.nullFailed(I[133], 281, 32, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[133], 281, 49, "iterable");
      if (skipCount == null) dart.nullFailed(I[133], 281, 64, "skipCount");
      js.JsArray._checkRange(start, end, this.length);
      let length = dart.notNull(end) - dart.notNull(start);
      if (length === 0) return;
      if (dart.notNull(skipCount) < 0) dart.throw(new core.ArgumentError.new(skipCount));
      let args = (t219 = T$.JSArrayOfObjectN().of([start, length]), (() => {
        t219[$addAll](iterable[$skip](skipCount)[$take](length));
        return t219;
      })());
      this.callMethod("splice", args);
    }
    sort(compare = null) {
      this.callMethod("sort", compare == null ? [] : [compare]);
    }
  }
  (JsArray._fromJs = function(jsObject) {
    if (jsObject == null) dart.nullFailed(I[133], 187, 26, "jsObject");
    JsArray.__proto__._fromJs.call(this, jsObject);
    ;
  }).prototype = JsArray.prototype;
  dart.addTypeTests(JsArray);
  JsArray.prototype[_is_JsArray_default] = true;
  dart.addTypeCaches(JsArray);
  dart.setMethodSignature(JsArray, () => ({
    __proto__: dart.getMethods(JsArray.__proto__),
    [_checkIndex]: dart.fnType(dart.dynamic, [core.int]),
    [_checkInsertIndex]: dart.fnType(dart.dynamic, [core.int]),
    _get: dart.fnType(E, [core.Object]),
    [$_get]: dart.fnType(E, [core.Object]),
    _set: dart.fnType(dart.void, [core.Object, dart.dynamic]),
    [$_set]: dart.fnType(dart.void, [core.Object, dart.dynamic])
  }));
  dart.setGetterSignature(JsArray, () => ({
    __proto__: dart.getGetters(JsArray.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setSetterSignature(JsArray, () => ({
    __proto__: dart.getSetters(JsArray.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(JsArray, I[134]);
  dart.defineExtensionMethods(JsArray, [
    '_get',
    '_set',
    'add',
    'addAll',
    'insert',
    'removeAt',
    'removeLast',
    'removeRange',
    'setRange',
    'sort'
  ]);
  dart.defineExtensionAccessors(JsArray, ['length']);
  return JsArray;
});
js.JsArray = js.JsArray$();
dart.addTypeTests(js.JsArray, _is_JsArray_default);
js._isBrowserType = function _isBrowserType(o) {
  if (o == null) dart.nullFailed(I[133], 302, 28, "o");
  return o instanceof Object && (o instanceof Blob || o instanceof Event || window.KeyRange && o instanceof KeyRange || window.IDBKeyRange && o instanceof IDBKeyRange || o instanceof ImageData || o instanceof Node || window.DataView && o instanceof DataView || window.Int8Array && o instanceof Int8Array.__proto__ || o instanceof Window);
};
js._convertToJS = function _convertToJS(o) {
  if (o == null || typeof o == 'string' || typeof o == 'number' || typeof o == 'boolean' || dart.test(js._isBrowserType(o))) {
    return o;
  } else if (core.DateTime.is(o)) {
    return _js_helper.Primitives.lazyAsJsDate(o);
  } else if (js.JsObject.is(o)) {
    return o[_jsObject$];
  } else if (core.Function.is(o)) {
    return js._putIfAbsent(js._jsProxies, o, C[212] || CT.C212);
  } else {
    return js._putIfAbsent(js._jsProxies, o, dart.fn(o => {
      if (o == null) dart.nullFailed(I[133], 343, 41, "o");
      return new js._DartObject.new(o);
    }, T$0.ObjectTo_DartObject()));
  }
};
js._wrapDartFunction = function _wrapDartFunction(f) {
  if (f == null) dart.nullFailed(I[133], 347, 33, "f");
  let wrapper = function() {
    let args = Array.prototype.map.call(arguments, js._convertToDart);
    return js._convertToJS(f(...args));
  };
  js._dartProxies.set(wrapper, f);
  return wrapper;
};
js._convertToDart = function _convertToDart(o) {
  if (o == null || typeof o == 'string' || typeof o == 'number' || typeof o == 'boolean' || dart.test(js._isBrowserType(o))) {
    return o;
  } else if (o instanceof Date) {
    let ms = o.getTime();
    return new core.DateTime.fromMillisecondsSinceEpoch(ms);
  } else if (js._DartObject.is(o) && dart.getReifiedType(o) !== _interceptors.JavaScriptObject) {
    return o[_dartObj$];
  } else {
    return js._wrapToDart(o);
  }
};
js._wrapToDart = function _wrapToDart(o) {
  if (o == null) dart.nullFailed(I[133], 378, 29, "o");
  return js._putIfAbsent(js._dartProxies, o, C[213] || CT.C213);
};
js._wrapToDartHelper = function _wrapToDartHelper(o) {
  if (o == null) dart.nullFailed(I[133], 381, 35, "o");
  if (typeof o == "function") {
    return new js.JsFunction._fromJs(o);
  }
  if (o instanceof Array) {
    return new js.JsArray._fromJs(o);
  }
  return new js.JsObject._fromJs(o);
};
js._putIfAbsent = function _putIfAbsent(weakMap, o, getValue) {
  if (weakMap == null) dart.nullFailed(I[133], 395, 26, "weakMap");
  if (o == null) dart.nullFailed(I[133], 395, 42, "o");
  if (getValue == null) dart.nullFailed(I[133], 395, 47, "getValue");
  let value = weakMap.get(o);
  if (value == null) {
    value = getValue(o);
    weakMap.set(o, value);
  }
  return value;
};
js.allowInterop = function allowInterop(F, f) {
  if (f == null) dart.nullFailed(I[133], 408, 38, "f");
  if (!dart.test(dart.isDartFunction(f))) return f;
  let ret = dart.nullable(F).as(js._interopExpando._get(f));
  if (ret == null) {
    ret = function(...args) {
      return dart.dcall(f, args);
    };
    js._interopExpando._set(f, ret);
  }
  return ret;
};
js.allowInteropCaptureThis = function allowInteropCaptureThis(f) {
  if (f == null) dart.nullFailed(I[133], 427, 43, "f");
  if (!dart.test(dart.isDartFunction(f))) return f;
  let ret = js._interopCaptureThisExpando._get(f);
  if (ret == null) {
    ret = function(...arguments$) {
      let args = [this];
      args.push.apply(args, arguments$);
      return dart.dcall(f, args);
    };
    js._interopCaptureThisExpando._set(f, ret);
  }
  return ret;
};
dart.copyProperties(js, {
  get context() {
    return js._context;
  }
});
dart.defineLazy(js, {
  /*js._context*/get _context() {
    return js._wrapToDart(dart.global);
  },
  /*js._dartProxies*/get _dartProxies() {
    return new WeakMap();
  },
  /*js._jsProxies*/get _jsProxies() {
    return new WeakMap();
  },
  /*js._interopExpando*/get _interopExpando() {
    return new (T$.ExpandoOfFunction()).new();
  },
  set _interopExpando(_) {},
  /*js._interopCaptureThisExpando*/get _interopCaptureThisExpando() {
    return new (T$.ExpandoOfFunction()).new();
  },
  set _interopCaptureThisExpando(_) {}
}, false);
var isUndefined$ = dart.privateName(js_util, "NullRejectionException.isUndefined");
js_util.NullRejectionException = class NullRejectionException extends core.Object {
  get isUndefined() {
    return this[isUndefined$];
  }
  set isUndefined(value) {
    super.isUndefined = value;
  }
  toString() {
    let value = dart.test(this.isUndefined) ? "undefined" : "null";
    return "Promise was rejected with a value of `" + value + "`.";
  }
};
(js_util.NullRejectionException.__ = function(isUndefined) {
  if (isUndefined == null) dart.nullFailed(I[136], 207, 33, "isUndefined");
  this[isUndefined$] = isUndefined;
  ;
}).prototype = js_util.NullRejectionException.prototype;
dart.addTypeTests(js_util.NullRejectionException);
dart.addTypeCaches(js_util.NullRejectionException);
js_util.NullRejectionException[dart.implements] = () => [core.Exception];
dart.setLibraryUri(js_util.NullRejectionException, I[137]);
dart.setFieldSignature(js_util.NullRejectionException, () => ({
  __proto__: dart.getFields(js_util.NullRejectionException.__proto__),
  isUndefined: dart.finalFieldType(core.bool)
}));
dart.defineExtensionMethods(js_util.NullRejectionException, ['toString']);
js_util.jsify = function jsify(object) {
  if (object == null) dart.nullFailed(I[136], 33, 22, "object");
  if (!core.Map.is(object) && !core.Iterable.is(object)) {
    dart.throw(new core.ArgumentError.new("object must be a Map or Iterable"));
  }
  return js_util._convertDataTree(object);
};
js_util._convertDataTree = function _convertDataTree(data) {
  if (data == null) dart.nullFailed(I[136], 40, 32, "data");
  let _convertedObjects = new _js_helper.IdentityMap.new();
  function _convert(o) {
    if (dart.test(_convertedObjects[$containsKey](o))) {
      return _convertedObjects[$_get](o);
    }
    if (core.Map.is(o)) {
      let convertedMap = {};
      _convertedObjects[$_set](o, convertedMap);
      for (let key of o[$keys]) {
        convertedMap[key] = _convert(o[$_get](key));
      }
      return convertedMap;
    } else if (core.Iterable.is(o)) {
      let convertedList = [];
      _convertedObjects[$_set](o, convertedList);
      convertedList[$addAll](o[$map](dart.dynamic, _convert));
      return convertedList;
    } else {
      return o;
    }
  }
  dart.fn(_convert, T$.ObjectNToObjectN());
  return dart.nullCheck(_convert(data));
};
js_util.newObject = function newObject() {
  return {};
};
js_util.hasProperty = function hasProperty(o, name) {
  if (o == null) dart.nullFailed(I[136], 69, 25, "o");
  if (name == null) dart.nullFailed(I[136], 69, 35, "name");
  return name in o;
};
js_util.getProperty = function getProperty(o, name) {
  if (o == null) dart.nullFailed(I[136], 72, 28, "o");
  if (name == null) dart.nullFailed(I[136], 72, 38, "name");
  return o[name];
};
js_util.setProperty = function setProperty(o, name, value) {
  if (o == null) dart.nullFailed(I[136], 77, 28, "o");
  if (name == null) dart.nullFailed(I[136], 77, 38, "name");
  _js_helper.assertInterop(value);
  return o[name] = value;
};
js_util._setPropertyUnchecked = function _setPropertyUnchecked(o, name, value) {
  if (o == null) dart.nullFailed(I[136], 84, 38, "o");
  if (name == null) dart.nullFailed(I[136], 84, 48, "name");
  return o[name] = value;
};
js_util.callMethod = function callMethod$(o, method, args) {
  if (o == null) dart.nullFailed(I[136], 91, 27, "o");
  if (method == null) dart.nullFailed(I[136], 91, 37, "method");
  if (args == null) dart.nullFailed(I[136], 91, 59, "args");
  _js_helper.assertInteropArgs(args);
  return o[method].apply(o, args);
};
js_util._callMethodUnchecked0 = function _callMethodUnchecked0(o, method) {
  if (o == null) dart.nullFailed(I[136], 98, 38, "o");
  if (method == null) dart.nullFailed(I[136], 98, 48, "method");
  return o[method]();
};
js_util._callMethodUnchecked1 = function _callMethodUnchecked1(o, method, arg1) {
  if (o == null) dart.nullFailed(I[136], 104, 38, "o");
  if (method == null) dart.nullFailed(I[136], 104, 48, "method");
  return o[method](arg1);
};
js_util._callMethodUnchecked2 = function _callMethodUnchecked2(o, method, arg1, arg2) {
  if (o == null) dart.nullFailed(I[136], 111, 12, "o");
  if (method == null) dart.nullFailed(I[136], 111, 22, "method");
  return o[method](arg1, arg2);
};
js_util._callMethodUnchecked3 = function _callMethodUnchecked3(o, method, arg1, arg2, arg3) {
  if (o == null) dart.nullFailed(I[136], 118, 12, "o");
  if (method == null) dart.nullFailed(I[136], 118, 22, "method");
  return o[method](arg1, arg2, arg3);
};
js_util._callMethodUnchecked4 = function _callMethodUnchecked4(o, method, arg1, arg2, arg3, arg4) {
  if (o == null) dart.nullFailed(I[136], 124, 38, "o");
  if (method == null) dart.nullFailed(I[136], 124, 48, "method");
  return o[method](arg1, arg2, arg3, arg4);
};
js_util.instanceof = function $instanceof(o, type) {
  if (type == null) dart.nullFailed(I[136], 134, 35, "type");
  return o instanceof type;
};
js_util.callConstructor = function callConstructor(constr, $arguments) {
  let t219;
  if (constr == null) dart.nullFailed(I[136], 137, 32, "constr");
  if ($arguments == null) {
    return new constr();
  } else {
    _js_helper.assertInteropArgs($arguments);
  }
  if ($arguments instanceof Array) {
    let argumentCount = $arguments.length;
    switch (argumentCount) {
      case 0:
      {
        return new constr();
      }
      case 1:
      {
        let arg0 = $arguments[0];
        return new constr(arg0);
      }
      case 2:
      {
        let arg0 = $arguments[0];
        let arg1 = $arguments[1];
        return new constr(arg0, arg1);
      }
      case 3:
      {
        let arg0 = $arguments[0];
        let arg1 = $arguments[1];
        let arg2 = $arguments[2];
        return new constr(arg0, arg1, arg2);
      }
      case 4:
      {
        let arg0 = $arguments[0];
        let arg1 = $arguments[1];
        let arg2 = $arguments[2];
        let arg3 = $arguments[3];
        return new constr(arg0, arg1, arg2, arg3);
      }
    }
  }
  let args = (t219 = [null], (() => {
    t219[$addAll]($arguments);
    return t219;
  })());
  let factoryFunction = constr.bind.apply(constr, args);
  String(factoryFunction);
  return new factoryFunction();
};
js_util.promiseToFuture = function promiseToFuture(T, jsPromise) {
  if (jsPromise == null) dart.nullFailed(I[136], 226, 37, "jsPromise");
  let completer = async.Completer$(T).new();
  let success = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), dart.fn(r => completer.complete(dart.nullable(async.FutureOr$(T)).as(r)), T$.dynamicTovoid()), 1);
  let error = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), dart.fn(e => {
    if (e == null) {
      return completer.completeError(new js_util.NullRejectionException.__(e === undefined));
    }
    return completer.completeError(core.Object.as(e));
  }, T$.dynamicTovoid()), 1);
  jsPromise.then(success, error);
  return completer.future;
};
math._JSRandom = class _JSRandom extends core.Object {
  nextInt(max) {
    if (max == null) dart.nullFailed(I[138], 85, 19, "max");
    if (dart.notNull(max) <= 0 || dart.notNull(max) > 4294967296.0) {
      dart.throw(new core.RangeError.new("max must be in range 0 < max ≤ 2^32, was " + dart.str(max)));
    }
    return Math.random() * max >>> 0;
  }
  nextDouble() {
    return Math.random();
  }
  nextBool() {
    return Math.random() < 0.5;
  }
};
(math._JSRandom.new = function() {
  ;
}).prototype = math._JSRandom.prototype;
dart.addTypeTests(math._JSRandom);
dart.addTypeCaches(math._JSRandom);
math._JSRandom[dart.implements] = () => [math.Random];
dart.setMethodSignature(math._JSRandom, () => ({
  __proto__: dart.getMethods(math._JSRandom.__proto__),
  nextInt: dart.fnType(core.int, [core.int]),
  nextDouble: dart.fnType(core.double, []),
  nextBool: dart.fnType(core.bool, [])
}));
dart.setLibraryUri(math._JSRandom, I[139]);
var _lo = dart.privateName(math, "_lo");
var _hi = dart.privateName(math, "_hi");
var _nextState = dart.privateName(math, "_nextState");
math._Random = class _Random extends core.Object {
  [_nextState]() {
    let tmpHi = 4294901760 * this[_lo];
    let tmpHiLo = (tmpHi & 4294967295.0) >>> 0;
    let tmpHiHi = tmpHi - tmpHiLo;
    let tmpLo = 55905 * this[_lo];
    let tmpLoLo = (tmpLo & 4294967295.0) >>> 0;
    let tmpLoHi = tmpLo - tmpLoLo;
    let newLo = tmpLoLo + tmpHiLo + this[_hi];
    this[_lo] = (newLo & 4294967295.0) >>> 0;
    let newLoHi = newLo - this[_lo];
    this[_hi] = (((tmpLoHi + tmpHiHi + newLoHi) / 4294967296.0)[$truncate]() & 4294967295.0) >>> 0;
    if (!(this[_lo] < 4294967296.0)) dart.assertFailed(null, I[138], 221, 12, "_lo < _POW2_32");
    if (!(this[_hi] < 4294967296.0)) dart.assertFailed(null, I[138], 222, 12, "_hi < _POW2_32");
  }
  nextInt(max) {
    if (max == null) dart.argumentError(max);
    if (max <= 0 || max > 4294967296.0) {
      dart.throw(new core.RangeError.new("max must be in range 0 < max ≤ 2^32, was " + dart.str(max)));
    }
    if ((max & max - 1) === 0) {
      this[_nextState]();
      return (this[_lo] & max - 1) >>> 0;
    }
    let rnd32 = null;
    let result = null;
    do {
      this[_nextState]();
      rnd32 = this[_lo];
      result = rnd32[$remainder](max)[$toInt]();
    } while (dart.notNull(rnd32) - dart.notNull(result) + max >= 4294967296.0);
    return result;
  }
  nextDouble() {
    this[_nextState]();
    let bits26 = (this[_lo] & (1 << 26) - 1) >>> 0;
    this[_nextState]();
    let bits27 = (this[_lo] & (1 << 27) - 1) >>> 0;
    return (bits26 * 134217728 + bits27) / 9007199254740992.0;
  }
  nextBool() {
    this[_nextState]();
    return (this[_lo] & 1) === 0;
  }
};
(math._Random.new = function(seed) {
  if (seed == null) dart.nullFailed(I[138], 130, 15, "seed");
  this[_lo] = 0;
  this[_hi] = 0;
  let empty_seed = 0;
  if (dart.notNull(seed) < 0) {
    empty_seed = -1;
  }
  do {
    let low = (dart.notNull(seed) & 4294967295.0) >>> 0;
    seed = ((dart.notNull(seed) - low) / 4294967296.0)[$truncate]();
    let high = (dart.notNull(seed) & 4294967295.0) >>> 0;
    seed = ((dart.notNull(seed) - high) / 4294967296.0)[$truncate]();
    let tmplow = low << 21 >>> 0;
    let tmphigh = (high << 21 | low[$rightShift](11)) >>> 0;
    tmplow = ((~low & 4294967295.0) >>> 0) + tmplow;
    low = (tmplow & 4294967295.0) >>> 0;
    high = ((~high >>> 0) + tmphigh + ((tmplow - low) / 4294967296)[$truncate]() & 4294967295.0) >>> 0;
    tmphigh = high[$rightShift](24);
    tmplow = (low[$rightShift](24) | high << 8 >>> 0) >>> 0;
    low = (low ^ tmplow) >>> 0;
    high = (high ^ tmphigh) >>> 0;
    tmplow = low * 265;
    low = (tmplow & 4294967295.0) >>> 0;
    high = (high * 265 + ((tmplow - low) / 4294967296)[$truncate]() & 4294967295.0) >>> 0;
    tmphigh = high[$rightShift](14);
    tmplow = (low[$rightShift](14) | high << 18 >>> 0) >>> 0;
    low = (low ^ tmplow) >>> 0;
    high = (high ^ tmphigh) >>> 0;
    tmplow = low * 21;
    low = (tmplow & 4294967295.0) >>> 0;
    high = (high * 21 + ((tmplow - low) / 4294967296)[$truncate]() & 4294967295.0) >>> 0;
    tmphigh = high[$rightShift](28);
    tmplow = (low[$rightShift](28) | high << 4 >>> 0) >>> 0;
    low = (low ^ tmplow) >>> 0;
    high = (high ^ tmphigh) >>> 0;
    tmplow = low << 31 >>> 0;
    tmphigh = (high << 31 | low[$rightShift](1)) >>> 0;
    tmplow = tmplow + low;
    low = (tmplow & 4294967295.0) >>> 0;
    high = (high + tmphigh + ((tmplow - low) / 4294967296)[$truncate]() & 4294967295.0) >>> 0;
    tmplow = this[_lo] * 1037;
    this[_lo] = (tmplow & 4294967295.0) >>> 0;
    this[_hi] = (this[_hi] * 1037 + ((tmplow - this[_lo]) / 4294967296)[$truncate]() & 4294967295.0) >>> 0;
    this[_lo] = (this[_lo] ^ low) >>> 0;
    this[_hi] = (this[_hi] ^ high) >>> 0;
  } while (seed !== empty_seed);
  if (this[_hi] === 0 && this[_lo] === 0) {
    this[_lo] = 23063;
  }
  this[_nextState]();
  this[_nextState]();
  this[_nextState]();
  this[_nextState]();
}).prototype = math._Random.prototype;
dart.addTypeTests(math._Random);
dart.addTypeCaches(math._Random);
math._Random[dart.implements] = () => [math.Random];
dart.setMethodSignature(math._Random, () => ({
  __proto__: dart.getMethods(math._Random.__proto__),
  [_nextState]: dart.fnType(dart.void, []),
  nextInt: dart.fnType(core.int, [core.int]),
  nextDouble: dart.fnType(core.double, []),
  nextBool: dart.fnType(core.bool, [])
}));
dart.setLibraryUri(math._Random, I[139]);
dart.setFieldSignature(math._Random, () => ({
  __proto__: dart.getFields(math._Random.__proto__),
  [_lo]: dart.fieldType(core.int),
  [_hi]: dart.fieldType(core.int)
}));
dart.defineLazy(math._Random, {
  /*math._Random._POW2_53_D*/get _POW2_53_D() {
    return 9007199254740992.0;
  },
  /*math._Random._POW2_27_D*/get _POW2_27_D() {
    return 134217728;
  },
  /*math._Random._MASK32*/get _MASK32() {
    return 4294967295.0;
  }
}, false);
var _buffer$0 = dart.privateName(math, "_buffer");
var _getRandomBytes = dart.privateName(math, "_getRandomBytes");
math._JSSecureRandom = class _JSSecureRandom extends core.Object {
  [_getRandomBytes](start, length) {
    if (start == null) dart.nullFailed(I[138], 279, 28, "start");
    if (length == null) dart.nullFailed(I[138], 279, 39, "length");
    crypto.getRandomValues(this[_buffer$0][$buffer][$asUint8List](start, length));
  }
  nextBool() {
    this[_getRandomBytes](0, 1);
    return this[_buffer$0][$getUint8](0)[$isOdd];
  }
  nextDouble() {
    this[_getRandomBytes](1, 7);
    this[_buffer$0][$setUint8](0, 63);
    let highByte = this[_buffer$0][$getUint8](1);
    this[_buffer$0][$setUint8](1, (dart.notNull(highByte) | 240) >>> 0);
    let result = dart.notNull(this[_buffer$0][$getFloat64](0)) - 1.0;
    if ((dart.notNull(highByte) & 16) !== 0) {
      result = result + 1.1102230246251565e-16;
    }
    return result;
  }
  nextInt(max) {
    if (max == null) dart.argumentError(max);
    if (max <= 0 || max > 4294967296.0) {
      dart.throw(new core.RangeError.new("max must be in range 0 < max ≤ 2^32, was " + dart.str(max)));
    }
    let byteCount = 1;
    if (max > 255) {
      byteCount = byteCount + 1;
      if (max > 65535) {
        byteCount = byteCount + 1;
        if (max > 16777215) {
          byteCount = byteCount + 1;
        }
      }
    }
    this[_buffer$0][$setUint32](0, 0);
    let start = 4 - byteCount;
    let randomLimit = math.pow(256, byteCount)[$toInt]();
    while (true) {
      this[_getRandomBytes](start, byteCount);
      let random = this[_buffer$0][$getUint32](0);
      if ((max & max - 1) === 0) {
        return (dart.notNull(random) & max - 1) >>> 0;
      }
      let result = random[$remainder](max)[$toInt]();
      if (dart.notNull(random) - result + max < randomLimit) {
        return result;
      }
    }
  }
};
(math._JSSecureRandom.new = function() {
  this[_buffer$0] = _native_typed_data.NativeByteData.new(8);
  let crypto = self.crypto;
  if (crypto != null) {
    let getRandomValues = crypto.getRandomValues;
    if (getRandomValues != null) {
      return;
    }
  }
  dart.throw(new core.UnsupportedError.new("No source of cryptographically secure random numbers available."));
}).prototype = math._JSSecureRandom.prototype;
dart.addTypeTests(math._JSSecureRandom);
dart.addTypeCaches(math._JSSecureRandom);
math._JSSecureRandom[dart.implements] = () => [math.Random];
dart.setMethodSignature(math._JSSecureRandom, () => ({
  __proto__: dart.getMethods(math._JSSecureRandom.__proto__),
  [_getRandomBytes]: dart.fnType(dart.void, [core.int, core.int]),
  nextBool: dart.fnType(core.bool, []),
  nextDouble: dart.fnType(core.double, []),
  nextInt: dart.fnType(core.int, [core.int])
}));
dart.setLibraryUri(math._JSSecureRandom, I[139]);
dart.setFieldSignature(math._JSSecureRandom, () => ({
  __proto__: dart.getFields(math._JSSecureRandom.__proto__),
  [_buffer$0]: dart.finalFieldType(typed_data.ByteData)
}));
var x$2 = dart.privateName(math, "Point.x");
var y$2 = dart.privateName(math, "Point.y");
const _is_Point_default = Symbol('_is_Point_default');
math.Point$ = dart.generic(T => {
  var __t$PointOfT = () => (__t$PointOfT = dart.constFn(math.Point$(T)))();
  class Point extends core.Object {
    get x() {
      return this[x$2];
    }
    set x(value) {
      super.x = value;
    }
    get y() {
      return this[y$2];
    }
    set y(value) {
      super.y = value;
    }
    toString() {
      return "Point(" + dart.str(this.x) + ", " + dart.str(this.y) + ")";
    }
    _equals(other) {
      if (other == null) return false;
      return T$0.PointOfnum().is(other) && this.x == other.x && this.y == other.y;
    }
    get hashCode() {
      return _internal.SystemHash.hash2(dart.hashCode(this.x), dart.hashCode(this.y));
    }
    ['+'](other) {
      __t$PointOfT().as(other);
      if (other == null) dart.nullFailed(I[140], 32, 32, "other");
      return new (__t$PointOfT()).new(T.as(dart.notNull(this.x) + dart.notNull(other.x)), T.as(dart.notNull(this.y) + dart.notNull(other.y)));
    }
    ['-'](other) {
      __t$PointOfT().as(other);
      if (other == null) dart.nullFailed(I[140], 39, 32, "other");
      return new (__t$PointOfT()).new(T.as(dart.notNull(this.x) - dart.notNull(other.x)), T.as(dart.notNull(this.y) - dart.notNull(other.y)));
    }
    ['*'](factor) {
      if (factor == null) dart.nullFailed(I[140], 50, 37, "factor");
      return new (__t$PointOfT()).new(T.as(dart.notNull(this.x) * dart.notNull(factor)), T.as(dart.notNull(this.y) * dart.notNull(factor)));
    }
    get magnitude() {
      return math.sqrt(dart.notNull(this.x) * dart.notNull(this.x) + dart.notNull(this.y) * dart.notNull(this.y));
    }
    distanceTo(other) {
      __t$PointOfT().as(other);
      if (other == null) dart.nullFailed(I[140], 59, 30, "other");
      let dx = dart.notNull(this.x) - dart.notNull(other.x);
      let dy = dart.notNull(this.y) - dart.notNull(other.y);
      return math.sqrt(dx * dx + dy * dy);
    }
    squaredDistanceTo(other) {
      __t$PointOfT().as(other);
      if (other == null) dart.nullFailed(I[140], 69, 32, "other");
      let dx = dart.notNull(this.x) - dart.notNull(other.x);
      let dy = dart.notNull(this.y) - dart.notNull(other.y);
      return T.as(dx * dx + dy * dy);
    }
  }
  (Point.new = function(x, y) {
    if (x == null) dart.nullFailed(I[140], 13, 17, "x");
    if (y == null) dart.nullFailed(I[140], 13, 22, "y");
    this[x$2] = x;
    this[y$2] = y;
    ;
  }).prototype = Point.prototype;
  dart.addTypeTests(Point);
  Point.prototype[_is_Point_default] = true;
  dart.addTypeCaches(Point);
  dart.setMethodSignature(Point, () => ({
    __proto__: dart.getMethods(Point.__proto__),
    '+': dart.fnType(math.Point$(T), [dart.nullable(core.Object)]),
    '-': dart.fnType(math.Point$(T), [dart.nullable(core.Object)]),
    '*': dart.fnType(math.Point$(T), [core.num]),
    distanceTo: dart.fnType(core.double, [dart.nullable(core.Object)]),
    squaredDistanceTo: dart.fnType(T, [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(Point, () => ({
    __proto__: dart.getGetters(Point.__proto__),
    magnitude: core.double
  }));
  dart.setLibraryUri(Point, I[139]);
  dart.setFieldSignature(Point, () => ({
    __proto__: dart.getFields(Point.__proto__),
    x: dart.finalFieldType(T),
    y: dart.finalFieldType(T)
  }));
  dart.defineExtensionMethods(Point, ['toString', '_equals']);
  dart.defineExtensionAccessors(Point, ['hashCode']);
  return Point;
});
math.Point = math.Point$();
dart.addTypeTests(math.Point, _is_Point_default);
math.Random = class Random extends core.Object {
  static new(seed = null) {
    return seed == null ? C[214] || CT.C214 : new math._Random.new(seed);
  }
  static secure() {
    let t219;
    t219 = math.Random._secureRandom;
    return t219 == null ? math.Random._secureRandom = new math._JSSecureRandom.new() : t219;
  }
};
(math.Random[dart.mixinNew] = function() {
}).prototype = math.Random.prototype;
dart.addTypeTests(math.Random);
dart.addTypeCaches(math.Random);
dart.setLibraryUri(math.Random, I[139]);
dart.defineLazy(math.Random, {
  /*math.Random._secureRandom*/get _secureRandom() {
    return null;
  },
  set _secureRandom(_) {}
}, false);
const _is__RectangleBase_default = Symbol('_is__RectangleBase_default');
math._RectangleBase$ = dart.generic(T => {
  var __t$RectangleOfT = () => (__t$RectangleOfT = dart.constFn(math.Rectangle$(T)))();
  var __t$PointOfT = () => (__t$PointOfT = dart.constFn(math.Point$(T)))();
  class _RectangleBase extends core.Object {
    get right() {
      return T.as(dart.notNull(this[$left]) + dart.notNull(this[$width]));
    }
    get bottom() {
      return T.as(dart.notNull(this[$top]) + dart.notNull(this[$height]));
    }
    toString() {
      return "Rectangle (" + dart.str(this[$left]) + ", " + dart.str(this[$top]) + ") " + dart.str(this[$width]) + " x " + dart.str(this[$height]);
    }
    _equals(other) {
      if (other == null) return false;
      return T$0.RectangleOfnum().is(other) && this[$left] == other[$left] && this[$top] == other[$top] && this[$right] == other[$right] && this[$bottom] == other[$bottom];
    }
    get hashCode() {
      return _internal.SystemHash.hash4(dart.hashCode(this[$left]), dart.hashCode(this[$top]), dart.hashCode(this[$right]), dart.hashCode(this[$bottom]));
    }
    intersection(other) {
      __t$RectangleOfT().as(other);
      if (other == null) dart.nullFailed(I[141], 61, 43, "other");
      let x0 = math.max(T, this[$left], other[$left]);
      let x1 = math.min(core.num, dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(other[$left]) + dart.notNull(other[$width]));
      if (x0 <= x1) {
        let y0 = math.max(T, this[$top], other[$top]);
        let y1 = math.min(core.num, dart.notNull(this[$top]) + dart.notNull(this[$height]), dart.notNull(other[$top]) + dart.notNull(other[$height]));
        if (y0 <= y1) {
          return new (__t$RectangleOfT()).new(x0, y0, T.as(x1 - x0), T.as(y1 - y0));
        }
      }
      return null;
    }
    intersects(other) {
      if (other == null) dart.nullFailed(I[141], 77, 34, "other");
      return dart.notNull(this[$left]) <= dart.notNull(other[$left]) + dart.notNull(other[$width]) && dart.notNull(other[$left]) <= dart.notNull(this[$left]) + dart.notNull(this[$width]) && dart.notNull(this[$top]) <= dart.notNull(other[$top]) + dart.notNull(other[$height]) && dart.notNull(other[$top]) <= dart.notNull(this[$top]) + dart.notNull(this[$height]);
    }
    boundingBox(other) {
      __t$RectangleOfT().as(other);
      if (other == null) dart.nullFailed(I[141], 85, 41, "other");
      let right = math.max(core.num, dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(other[$left]) + dart.notNull(other[$width]));
      let bottom = math.max(core.num, dart.notNull(this[$top]) + dart.notNull(this[$height]), dart.notNull(other[$top]) + dart.notNull(other[$height]));
      let left = math.min(T, this[$left], other[$left]);
      let top = math.min(T, this[$top], other[$top]);
      return new (__t$RectangleOfT()).new(left, top, T.as(right - left), T.as(bottom - top));
    }
    containsRectangle(another) {
      if (another == null) dart.nullFailed(I[141], 96, 41, "another");
      return dart.notNull(this[$left]) <= dart.notNull(another[$left]) && dart.notNull(this[$left]) + dart.notNull(this[$width]) >= dart.notNull(another[$left]) + dart.notNull(another[$width]) && dart.notNull(this[$top]) <= dart.notNull(another[$top]) && dart.notNull(this[$top]) + dart.notNull(this[$height]) >= dart.notNull(another[$top]) + dart.notNull(another[$height]);
    }
    containsPoint(another) {
      if (another == null) dart.nullFailed(I[141], 104, 33, "another");
      return dart.notNull(another.x) >= dart.notNull(this[$left]) && dart.notNull(another.x) <= dart.notNull(this[$left]) + dart.notNull(this[$width]) && dart.notNull(another.y) >= dart.notNull(this[$top]) && dart.notNull(another.y) <= dart.notNull(this[$top]) + dart.notNull(this[$height]);
    }
    get topLeft() {
      return new (__t$PointOfT()).new(this[$left], this[$top]);
    }
    get topRight() {
      return new (__t$PointOfT()).new(T.as(dart.notNull(this[$left]) + dart.notNull(this[$width])), this[$top]);
    }
    get bottomRight() {
      return new (__t$PointOfT()).new(T.as(dart.notNull(this[$left]) + dart.notNull(this[$width])), T.as(dart.notNull(this[$top]) + dart.notNull(this[$height])));
    }
    get bottomLeft() {
      return new (__t$PointOfT()).new(this[$left], T.as(dart.notNull(this[$top]) + dart.notNull(this[$height])));
    }
  }
  (_RectangleBase.new = function() {
    ;
  }).prototype = _RectangleBase.prototype;
  dart.addTypeTests(_RectangleBase);
  _RectangleBase.prototype[_is__RectangleBase_default] = true;
  dart.addTypeCaches(_RectangleBase);
  dart.setMethodSignature(_RectangleBase, () => ({
    __proto__: dart.getMethods(_RectangleBase.__proto__),
    intersection: dart.fnType(dart.nullable(math.Rectangle$(T)), [dart.nullable(core.Object)]),
    [$intersection]: dart.fnType(dart.nullable(math.Rectangle$(T)), [dart.nullable(core.Object)]),
    intersects: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
    [$intersects]: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
    boundingBox: dart.fnType(math.Rectangle$(T), [dart.nullable(core.Object)]),
    [$boundingBox]: dart.fnType(math.Rectangle$(T), [dart.nullable(core.Object)]),
    containsRectangle: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
    [$containsRectangle]: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
    containsPoint: dart.fnType(core.bool, [math.Point$(core.num)]),
    [$containsPoint]: dart.fnType(core.bool, [math.Point$(core.num)])
  }));
  dart.setGetterSignature(_RectangleBase, () => ({
    __proto__: dart.getGetters(_RectangleBase.__proto__),
    right: T,
    [$right]: T,
    bottom: T,
    [$bottom]: T,
    topLeft: math.Point$(T),
    [$topLeft]: math.Point$(T),
    topRight: math.Point$(T),
    [$topRight]: math.Point$(T),
    bottomRight: math.Point$(T),
    [$bottomRight]: math.Point$(T),
    bottomLeft: math.Point$(T),
    [$bottomLeft]: math.Point$(T)
  }));
  dart.setLibraryUri(_RectangleBase, I[139]);
  dart.defineExtensionMethods(_RectangleBase, [
    'toString',
    '_equals',
    'intersection',
    'intersects',
    'boundingBox',
    'containsRectangle',
    'containsPoint'
  ]);
  dart.defineExtensionAccessors(_RectangleBase, [
    'right',
    'bottom',
    'hashCode',
    'topLeft',
    'topRight',
    'bottomRight',
    'bottomLeft'
  ]);
  return _RectangleBase;
});
math._RectangleBase = math._RectangleBase$();
dart.addTypeTests(math._RectangleBase, _is__RectangleBase_default);
var left$ = dart.privateName(math, "Rectangle.left");
var top$ = dart.privateName(math, "Rectangle.top");
var width$ = dart.privateName(math, "Rectangle.width");
var height$ = dart.privateName(math, "Rectangle.height");
const _is_Rectangle_default = Symbol('_is_Rectangle_default');
math.Rectangle$ = dart.generic(T => {
  class Rectangle extends math._RectangleBase$(T) {
    get left() {
      return this[left$];
    }
    set left(value) {
      super.left = value;
    }
    get top() {
      return this[top$];
    }
    set top(value) {
      super.top = value;
    }
    get width() {
      return this[width$];
    }
    set width(value) {
      super.width = value;
    }
    get height() {
      return this[height$];
    }
    set height(value) {
      super.height = value;
    }
    static fromPoints(a, b) {
      if (a == null) dart.nullFailed(I[141], 157, 41, "a");
      if (b == null) dart.nullFailed(I[141], 157, 53, "b");
      let left = math.min(T, a.x, b.x);
      let width = T.as(math.max(T, a.x, b.x) - left);
      let top = math.min(T, a.y, b.y);
      let height = T.as(math.max(T, a.y, b.y) - top);
      return new (math.Rectangle$(T)).new(left, top, width, height);
    }
  }
  (Rectangle.new = function(left, top, width, height) {
    if (left == null) dart.nullFailed(I[141], 138, 24, "left");
    if (top == null) dart.nullFailed(I[141], 138, 35, "top");
    if (width == null) dart.nullFailed(I[141], 138, 42, "width");
    if (height == null) dart.nullFailed(I[141], 138, 51, "height");
    this[left$] = left;
    this[top$] = top;
    this[width$] = T.as(dart.notNull(width) < 0 ? width === -1 / 0 ? 0.0 : -dart.notNull(width) * 0 : dart.notNull(width) + 0);
    this[height$] = T.as(dart.notNull(height) < 0 ? height === -1 / 0 ? 0.0 : -dart.notNull(height) * 0 : dart.notNull(height) + 0);
    Rectangle.__proto__.new.call(this);
    ;
  }).prototype = Rectangle.prototype;
  dart.addTypeTests(Rectangle);
  Rectangle.prototype[_is_Rectangle_default] = true;
  dart.addTypeCaches(Rectangle);
  dart.setLibraryUri(Rectangle, I[139]);
  dart.setFieldSignature(Rectangle, () => ({
    __proto__: dart.getFields(Rectangle.__proto__),
    left: dart.finalFieldType(T),
    top: dart.finalFieldType(T),
    width: dart.finalFieldType(T),
    height: dart.finalFieldType(T)
  }));
  dart.defineExtensionAccessors(Rectangle, ['left', 'top', 'width', 'height']);
  return Rectangle;
});
math.Rectangle = math.Rectangle$();
dart.addTypeTests(math.Rectangle, _is_Rectangle_default);
var left$0 = dart.privateName(math, "MutableRectangle.left");
var top$0 = dart.privateName(math, "MutableRectangle.top");
var _width = dart.privateName(math, "_width");
var _height = dart.privateName(math, "_height");
const _is_MutableRectangle_default = Symbol('_is_MutableRectangle_default');
math.MutableRectangle$ = dart.generic(T => {
  class MutableRectangle extends math._RectangleBase$(T) {
    get left() {
      return this[left$0];
    }
    set left(value) {
      this[left$0] = T.as(value);
    }
    get top() {
      return this[top$0];
    }
    set top(value) {
      this[top$0] = T.as(value);
    }
    static fromPoints(a, b) {
      if (a == null) dart.nullFailed(I[141], 210, 48, "a");
      if (b == null) dart.nullFailed(I[141], 210, 60, "b");
      let left = math.min(T, a.x, b.x);
      let width = T.as(math.max(T, a.x, b.x) - left);
      let top = math.min(T, a.y, b.y);
      let height = T.as(math.max(T, a.y, b.y) - top);
      return new (math.MutableRectangle$(T)).new(left, top, width, height);
    }
    get width() {
      return this[_width];
    }
    set width(width) {
      T.as(width);
      if (width == null) dart.nullFailed(I[141], 227, 15, "width");
      if (dart.notNull(width) < 0) width = math._clampToZero(T, width);
      this[_width] = width;
    }
    get height() {
      return this[_height];
    }
    set height(height) {
      T.as(height);
      if (height == null) dart.nullFailed(I[141], 241, 16, "height");
      if (dart.notNull(height) < 0) height = math._clampToZero(T, height);
      this[_height] = height;
    }
  }
  (MutableRectangle.new = function(left, top, width, height) {
    if (left == null) dart.nullFailed(I[141], 194, 25, "left");
    if (top == null) dart.nullFailed(I[141], 194, 36, "top");
    if (width == null) dart.nullFailed(I[141], 194, 43, "width");
    if (height == null) dart.nullFailed(I[141], 194, 52, "height");
    this[left$0] = left;
    this[top$0] = top;
    this[_width] = T.as(dart.notNull(width) < 0 ? math._clampToZero(T, width) : dart.notNull(width) + 0);
    this[_height] = T.as(dart.notNull(height) < 0 ? math._clampToZero(T, height) : dart.notNull(height) + 0);
    MutableRectangle.__proto__.new.call(this);
    ;
  }).prototype = MutableRectangle.prototype;
  dart.addTypeTests(MutableRectangle);
  MutableRectangle.prototype[_is_MutableRectangle_default] = true;
  dart.addTypeCaches(MutableRectangle);
  MutableRectangle[dart.implements] = () => [math.Rectangle$(T)];
  dart.setGetterSignature(MutableRectangle, () => ({
    __proto__: dart.getGetters(MutableRectangle.__proto__),
    width: T,
    [$width]: T,
    height: T,
    [$height]: T
  }));
  dart.setSetterSignature(MutableRectangle, () => ({
    __proto__: dart.getSetters(MutableRectangle.__proto__),
    width: dart.nullable(core.Object),
    [$width]: dart.nullable(core.Object),
    height: dart.nullable(core.Object),
    [$height]: dart.nullable(core.Object)
  }));
  dart.setLibraryUri(MutableRectangle, I[139]);
  dart.setFieldSignature(MutableRectangle, () => ({
    __proto__: dart.getFields(MutableRectangle.__proto__),
    left: dart.fieldType(T),
    top: dart.fieldType(T),
    [_width]: dart.fieldType(T),
    [_height]: dart.fieldType(T)
  }));
  dart.defineExtensionAccessors(MutableRectangle, ['left', 'top', 'width', 'height']);
  return MutableRectangle;
});
math.MutableRectangle = math.MutableRectangle$();
dart.addTypeTests(math.MutableRectangle, _is_MutableRectangle_default);
math.min = function min(T, a, b) {
  if (a == null) dart.argumentError(a);
  if (b == null) dart.argumentError(b);
  return Math.min(a, b);
};
math.max = function max(T, a, b) {
  if (a == null) dart.argumentError(a);
  if (b == null) dart.argumentError(b);
  return Math.max(a, b);
};
math.atan2 = function atan2(a, b) {
  if (a == null) dart.argumentError(a);
  if (b == null) dart.argumentError(b);
  return Math.atan2(a, b);
};
math.pow = function pow(x, exponent) {
  if (x == null) dart.argumentError(x);
  if (exponent == null) dart.argumentError(exponent);
  return Math.pow(x, exponent);
};
math.sin = function sin(radians) {
  if (radians == null) dart.argumentError(radians);
  return Math.sin(radians);
};
math.cos = function cos(radians) {
  if (radians == null) dart.argumentError(radians);
  return Math.cos(radians);
};
math.tan = function tan(radians) {
  if (radians == null) dart.argumentError(radians);
  return Math.tan(radians);
};
math.acos = function acos(x) {
  if (x == null) dart.argumentError(x);
  return Math.acos(x);
};
math.asin = function asin(x) {
  if (x == null) dart.argumentError(x);
  return Math.asin(x);
};
math.atan = function atan(x) {
  if (x == null) dart.argumentError(x);
  return Math.atan(x);
};
math.sqrt = function sqrt(x) {
  if (x == null) dart.argumentError(x);
  return Math.sqrt(x);
};
math.exp = function exp(x) {
  if (x == null) dart.argumentError(x);
  return Math.exp(x);
};
math.log = function log$(x) {
  if (x == null) dart.argumentError(x);
  return Math.log(x);
};
math._clampToZero = function _clampToZero(T, value) {
  if (value == null) dart.nullFailed(I[141], 250, 33, "value");
  if (!(dart.notNull(value) < 0)) dart.assertFailed(null, I[141], 251, 10, "value < 0");
  if (value === -1 / 0) return T.as(0.0);
  return T.as(-dart.notNull(value) * 0);
};
dart.defineLazy(math, {
  /*math._POW2_32*/get _POW2_32() {
    return 4294967296.0;
  },
  /*math.e*/get e() {
    return 2.718281828459045;
  },
  /*math.ln10*/get ln10() {
    return 2.302585092994046;
  },
  /*math.ln2*/get ln2() {
    return 0.6931471805599453;
  },
  /*math.log2e*/get log2e() {
    return 1.4426950408889634;
  },
  /*math.log10e*/get log10e() {
    return 0.4342944819032518;
  },
  /*math.pi*/get pi() {
    return 3.141592653589793;
  },
  /*math.sqrt1_2*/get sqrt1_2() {
    return 0.7071067811865476;
  },
  /*math.sqrt2*/get sqrt2() {
    return 1.4142135623730951;
  }
}, false);
typed_data.ByteBuffer = class ByteBuffer extends core.Object {};
(typed_data.ByteBuffer.new = function() {
  ;
}).prototype = typed_data.ByteBuffer.prototype;
dart.addTypeTests(typed_data.ByteBuffer);
dart.addTypeCaches(typed_data.ByteBuffer);
dart.setLibraryUri(typed_data.ByteBuffer, I[61]);
typed_data.TypedData = class TypedData extends core.Object {};
(typed_data.TypedData.new = function() {
  ;
}).prototype = typed_data.TypedData.prototype;
dart.addTypeTests(typed_data.TypedData);
dart.addTypeCaches(typed_data.TypedData);
dart.setLibraryUri(typed_data.TypedData, I[61]);
typed_data._TypedIntList = class _TypedIntList extends typed_data.TypedData {};
(typed_data._TypedIntList.new = function() {
  ;
}).prototype = typed_data._TypedIntList.prototype;
dart.addTypeTests(typed_data._TypedIntList);
dart.addTypeCaches(typed_data._TypedIntList);
dart.setLibraryUri(typed_data._TypedIntList, I[61]);
typed_data._TypedFloatList = class _TypedFloatList extends typed_data.TypedData {};
(typed_data._TypedFloatList.new = function() {
  ;
}).prototype = typed_data._TypedFloatList.prototype;
dart.addTypeTests(typed_data._TypedFloatList);
dart.addTypeCaches(typed_data._TypedFloatList);
dart.setLibraryUri(typed_data._TypedFloatList, I[61]);
var _littleEndian = dart.privateName(typed_data, "_littleEndian");
const _littleEndian$ = Endian__littleEndian;
typed_data.Endian = class Endian extends core.Object {
  get [_littleEndian]() {
    return this[_littleEndian$];
  }
  set [_littleEndian](value) {
    super[_littleEndian] = value;
  }
};
(typed_data.Endian.__ = function(_littleEndian) {
  if (_littleEndian == null) dart.nullFailed(I[142], 375, 23, "_littleEndian");
  this[_littleEndian$] = _littleEndian;
  ;
}).prototype = typed_data.Endian.prototype;
dart.addTypeTests(typed_data.Endian);
dart.addTypeCaches(typed_data.Endian);
dart.setLibraryUri(typed_data.Endian, I[61]);
dart.setFieldSignature(typed_data.Endian, () => ({
  __proto__: dart.getFields(typed_data.Endian.__proto__),
  [_littleEndian]: dart.finalFieldType(core.bool)
}));
dart.defineLazy(typed_data.Endian, {
  /*typed_data.Endian.big*/get big() {
    return C[37] || CT.C37;
  },
  /*typed_data.Endian.little*/get little() {
    return C[215] || CT.C215;
  },
  /*typed_data.Endian.host*/get host() {
    return typed_data.ByteData.view(_native_typed_data.NativeUint16List.fromList(T$.JSArrayOfint().of([1]))[$buffer])[$getInt8](0) === 1 ? typed_data.Endian.little : typed_data.Endian.big;
  }
}, false);
typed_data.ByteData = class ByteData extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 452, 36, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 453, 12, "offsetInBytes");
    return buffer[$asByteData](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 474, 42, "data");
    if (start == null) dart.nullFailed(I[142], 474, 53, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    return data[$buffer][$asByteData](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize));
  }
};
(typed_data.ByteData[dart.mixinNew] = function() {
}).prototype = typed_data.ByteData.prototype;
dart.addTypeTests(typed_data.ByteData);
dart.addTypeCaches(typed_data.ByteData);
typed_data.ByteData[dart.implements] = () => [typed_data.TypedData];
dart.setLibraryUri(typed_data.ByteData, I[61]);
typed_data.Int8List = class Int8List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 746, 36, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 747, 12, "offsetInBytes");
    return buffer[$asInt8List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 768, 42, "data");
    if (start == null) dart.nullFailed(I[142], 768, 53, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    return data[$buffer][$asInt8List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize));
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Int8List[dart.mixinNew] = function() {
}).prototype = typed_data.Int8List.prototype;
typed_data.Int8List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Int8List);
dart.addTypeCaches(typed_data.Int8List);
typed_data.Int8List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Int8List, I[61]);
dart.defineLazy(typed_data.Int8List, {
  /*typed_data.Int8List.bytesPerElement*/get bytesPerElement() {
    return 1;
  }
}, false);
typed_data.Uint8List = class Uint8List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 856, 37, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 857, 12, "offsetInBytes");
    return buffer[$asUint8List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 878, 43, "data");
    if (start == null) dart.nullFailed(I[142], 878, 54, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    return data[$buffer][$asUint8List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize));
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Uint8List[dart.mixinNew] = function() {
}).prototype = typed_data.Uint8List.prototype;
typed_data.Uint8List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Uint8List);
dart.addTypeCaches(typed_data.Uint8List);
typed_data.Uint8List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Uint8List, I[61]);
dart.defineLazy(typed_data.Uint8List, {
  /*typed_data.Uint8List.bytesPerElement*/get bytesPerElement() {
    return 1;
  }
}, false);
typed_data.Uint8ClampedList = class Uint8ClampedList extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 974, 44, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 975, 12, "offsetInBytes");
    return buffer[$asUint8ClampedList](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 996, 50, "data");
    if (start == null) dart.nullFailed(I[142], 997, 12, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    return data[$buffer][$asUint8ClampedList](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize));
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Uint8ClampedList[dart.mixinNew] = function() {
}).prototype = typed_data.Uint8ClampedList.prototype;
typed_data.Uint8ClampedList.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Uint8ClampedList);
dart.addTypeCaches(typed_data.Uint8ClampedList);
typed_data.Uint8ClampedList[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Uint8ClampedList, I[61]);
dart.defineLazy(typed_data.Uint8ClampedList, {
  /*typed_data.Uint8ClampedList.bytesPerElement*/get bytesPerElement() {
    return 1;
  }
}, false);
typed_data.Int16List = class Int16List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1089, 37, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1090, 12, "offsetInBytes");
    return buffer[$asInt16List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1114, 43, "data");
    if (start == null) dart.nullFailed(I[142], 1114, 54, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](2) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(2)));
    }
    return data[$buffer][$asInt16List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 2)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Int16List[dart.mixinNew] = function() {
}).prototype = typed_data.Int16List.prototype;
typed_data.Int16List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Int16List);
dart.addTypeCaches(typed_data.Int16List);
typed_data.Int16List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Int16List, I[61]);
dart.defineLazy(typed_data.Int16List, {
  /*typed_data.Int16List.bytesPerElement*/get bytesPerElement() {
    return 2;
  }
}, false);
typed_data.Uint16List = class Uint16List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1212, 38, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1213, 12, "offsetInBytes");
    return buffer[$asUint16List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1237, 44, "data");
    if (start == null) dart.nullFailed(I[142], 1237, 55, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](2) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(2)));
    }
    return data[$buffer][$asUint16List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 2)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Uint16List[dart.mixinNew] = function() {
}).prototype = typed_data.Uint16List.prototype;
typed_data.Uint16List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Uint16List);
dart.addTypeCaches(typed_data.Uint16List);
typed_data.Uint16List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Uint16List, I[61]);
dart.defineLazy(typed_data.Uint16List, {
  /*typed_data.Uint16List.bytesPerElement*/get bytesPerElement() {
    return 2;
  }
}, false);
typed_data.Int32List = class Int32List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1334, 37, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1335, 12, "offsetInBytes");
    return buffer[$asInt32List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1359, 43, "data");
    if (start == null) dart.nullFailed(I[142], 1359, 54, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](4) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(4)));
    }
    return data[$buffer][$asInt32List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 4)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Int32List[dart.mixinNew] = function() {
}).prototype = typed_data.Int32List.prototype;
typed_data.Int32List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Int32List);
dart.addTypeCaches(typed_data.Int32List);
typed_data.Int32List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Int32List, I[61]);
dart.defineLazy(typed_data.Int32List, {
  /*typed_data.Int32List.bytesPerElement*/get bytesPerElement() {
    return 4;
  }
}, false);
typed_data.Uint32List = class Uint32List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1457, 38, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1458, 12, "offsetInBytes");
    return buffer[$asUint32List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1482, 44, "data");
    if (start == null) dart.nullFailed(I[142], 1482, 55, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](4) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(4)));
    }
    return data[$buffer][$asUint32List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 4)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Uint32List[dart.mixinNew] = function() {
}).prototype = typed_data.Uint32List.prototype;
typed_data.Uint32List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Uint32List);
dart.addTypeCaches(typed_data.Uint32List);
typed_data.Uint32List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Uint32List, I[61]);
dart.defineLazy(typed_data.Uint32List, {
  /*typed_data.Uint32List.bytesPerElement*/get bytesPerElement() {
    return 4;
  }
}, false);
typed_data.Int64List = class Int64List extends core.Object {
  static new(length) {
    if (length == null) dart.nullFailed(I[143], 101, 25, "length");
    dart.throw(new core.UnsupportedError.new("Int64List not supported on the web."));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[143], 106, 40, "elements");
    dart.throw(new core.UnsupportedError.new("Int64List not supported on the web."));
  }
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1579, 37, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1580, 12, "offsetInBytes");
    return buffer[$asInt64List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1604, 43, "data");
    if (start == null) dart.nullFailed(I[142], 1604, 54, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](8) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(8)));
    }
    return data[$buffer][$asInt64List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 8)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Int64List[dart.mixinNew] = function() {
}).prototype = typed_data.Int64List.prototype;
typed_data.Int64List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Int64List);
dart.addTypeCaches(typed_data.Int64List);
typed_data.Int64List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Int64List, I[61]);
dart.defineLazy(typed_data.Int64List, {
  /*typed_data.Int64List.bytesPerElement*/get bytesPerElement() {
    return 8;
  }
}, false);
typed_data.Uint64List = class Uint64List extends core.Object {
  static new(length) {
    if (length == null) dart.nullFailed(I[143], 114, 26, "length");
    dart.throw(new core.UnsupportedError.new("Uint64List not supported on the web."));
  }
  static fromList(elements) {
    if (elements == null) dart.nullFailed(I[143], 119, 41, "elements");
    dart.throw(new core.UnsupportedError.new("Uint64List not supported on the web."));
  }
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1702, 38, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1703, 12, "offsetInBytes");
    return buffer[$asUint64List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1727, 44, "data");
    if (start == null) dart.nullFailed(I[142], 1727, 55, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](8) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(8)));
    }
    return data[$buffer][$asUint64List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 8)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Uint64List[dart.mixinNew] = function() {
}).prototype = typed_data.Uint64List.prototype;
typed_data.Uint64List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Uint64List);
dart.addTypeCaches(typed_data.Uint64List);
typed_data.Uint64List[dart.implements] = () => [core.List$(core.int), typed_data._TypedIntList];
dart.setLibraryUri(typed_data.Uint64List, I[61]);
dart.defineLazy(typed_data.Uint64List, {
  /*typed_data.Uint64List.bytesPerElement*/get bytesPerElement() {
    return 8;
  }
}, false);
typed_data.Float32List = class Float32List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1825, 39, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1826, 12, "offsetInBytes");
    return buffer[$asFloat32List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1850, 45, "data");
    if (start == null) dart.nullFailed(I[142], 1850, 56, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](4) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(4)));
    }
    return data[$buffer][$asFloat32List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 4)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Float32List[dart.mixinNew] = function() {
}).prototype = typed_data.Float32List.prototype;
typed_data.Float32List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Float32List);
dart.addTypeCaches(typed_data.Float32List);
typed_data.Float32List[dart.implements] = () => [core.List$(core.double), typed_data._TypedFloatList];
dart.setLibraryUri(typed_data.Float32List, I[61]);
dart.defineLazy(typed_data.Float32List, {
  /*typed_data.Float32List.bytesPerElement*/get bytesPerElement() {
    return 4;
  }
}, false);
typed_data.Float64List = class Float64List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 1941, 39, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 1942, 12, "offsetInBytes");
    return buffer[$asFloat64List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 1966, 45, "data");
    if (start == null) dart.nullFailed(I[142], 1966, 56, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](8) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(8)));
    }
    return data[$buffer][$asFloat64List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 8)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Float64List[dart.mixinNew] = function() {
}).prototype = typed_data.Float64List.prototype;
typed_data.Float64List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Float64List);
dart.addTypeCaches(typed_data.Float64List);
typed_data.Float64List[dart.implements] = () => [core.List$(core.double), typed_data._TypedFloatList];
dart.setLibraryUri(typed_data.Float64List, I[61]);
dart.defineLazy(typed_data.Float64List, {
  /*typed_data.Float64List.bytesPerElement*/get bytesPerElement() {
    return 8;
  }
}, false);
typed_data.Float32x4List = class Float32x4List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 2056, 41, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 2057, 12, "offsetInBytes");
    return buffer[$asFloat32x4List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 2081, 47, "data");
    if (start == null) dart.nullFailed(I[142], 2081, 58, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](16) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(16)));
    }
    return data[$buffer][$asFloat32x4List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 16)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Float32x4List[dart.mixinNew] = function() {
}).prototype = typed_data.Float32x4List.prototype;
typed_data.Float32x4List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Float32x4List);
dart.addTypeCaches(typed_data.Float32x4List);
typed_data.Float32x4List[dart.implements] = () => [core.List$(typed_data.Float32x4), typed_data.TypedData];
dart.setLibraryUri(typed_data.Float32x4List, I[61]);
dart.defineLazy(typed_data.Float32x4List, {
  /*typed_data.Float32x4List.bytesPerElement*/get bytesPerElement() {
    return 16;
  }
}, false);
typed_data.Int32x4List = class Int32x4List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 2177, 39, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 2178, 12, "offsetInBytes");
    return buffer[$asInt32x4List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 2202, 45, "data");
    if (start == null) dart.nullFailed(I[142], 2202, 56, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](16) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(16)));
    }
    return data[$buffer][$asInt32x4List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 16)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Int32x4List[dart.mixinNew] = function() {
}).prototype = typed_data.Int32x4List.prototype;
typed_data.Int32x4List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Int32x4List);
dart.addTypeCaches(typed_data.Int32x4List);
typed_data.Int32x4List[dart.implements] = () => [core.List$(typed_data.Int32x4), typed_data.TypedData];
dart.setLibraryUri(typed_data.Int32x4List, I[61]);
dart.defineLazy(typed_data.Int32x4List, {
  /*typed_data.Int32x4List.bytesPerElement*/get bytesPerElement() {
    return 16;
  }
}, false);
typed_data.Float64x2List = class Float64x2List extends core.Object {
  static view(buffer, offsetInBytes = 0, length = null) {
    if (buffer == null) dart.nullFailed(I[142], 2304, 41, "buffer");
    if (offsetInBytes == null) dart.nullFailed(I[142], 2305, 12, "offsetInBytes");
    return buffer[$asFloat64x2List](offsetInBytes, length);
  }
  static sublistView(data, start = 0, end = null) {
    if (data == null) dart.nullFailed(I[142], 2329, 47, "data");
    if (start == null) dart.nullFailed(I[142], 2329, 58, "start");
    let elementSize = data[$elementSizeInBytes];
    end = core.RangeError.checkValidRange(start, end, (dart.notNull(data[$lengthInBytes]) / dart.notNull(elementSize))[$truncate]());
    let byteLength = (dart.notNull(end) - dart.notNull(start)) * dart.notNull(elementSize);
    if (byteLength[$modulo](16) !== 0) {
      dart.throw(new core.ArgumentError.new("The number of bytes to view must be a multiple of " + dart.str(16)));
    }
    return data[$buffer][$asFloat64x2List](dart.notNull(data[$offsetInBytes]) + dart.notNull(start) * dart.notNull(elementSize), (byteLength / 16)[$truncate]());
  }
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(typed_data.Float64x2List[dart.mixinNew] = function() {
}).prototype = typed_data.Float64x2List.prototype;
typed_data.Float64x2List.prototype[dart.isList] = true;
dart.addTypeTests(typed_data.Float64x2List);
dart.addTypeCaches(typed_data.Float64x2List);
typed_data.Float64x2List[dart.implements] = () => [core.List$(typed_data.Float64x2), typed_data.TypedData];
dart.setLibraryUri(typed_data.Float64x2List, I[61]);
dart.defineLazy(typed_data.Float64x2List, {
  /*typed_data.Float64x2List.bytesPerElement*/get bytesPerElement() {
    return 16;
  }
}, false);
var _data$ = dart.privateName(typed_data, "_data");
typed_data.UnmodifiableByteBufferView = class UnmodifiableByteBufferView extends core.Object {
  get lengthInBytes() {
    return this[_data$][$lengthInBytes];
  }
  asUint8List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 15, 30, "offsetInBytes");
    return new typed_data.UnmodifiableUint8ListView.new(this[_data$][$asUint8List](offsetInBytes, length));
  }
  asInt8List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 18, 28, "offsetInBytes");
    return new typed_data.UnmodifiableInt8ListView.new(this[_data$][$asInt8List](offsetInBytes, length));
  }
  asUint8ClampedList(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 21, 44, "offsetInBytes");
    return new typed_data.UnmodifiableUint8ClampedListView.new(this[_data$][$asUint8ClampedList](offsetInBytes, length));
  }
  asUint16List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 25, 32, "offsetInBytes");
    return new typed_data.UnmodifiableUint16ListView.new(this[_data$][$asUint16List](offsetInBytes, length));
  }
  asInt16List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 28, 30, "offsetInBytes");
    return new typed_data.UnmodifiableInt16ListView.new(this[_data$][$asInt16List](offsetInBytes, length));
  }
  asUint32List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 31, 32, "offsetInBytes");
    return new typed_data.UnmodifiableUint32ListView.new(this[_data$][$asUint32List](offsetInBytes, length));
  }
  asInt32List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 34, 30, "offsetInBytes");
    return new typed_data.UnmodifiableInt32ListView.new(this[_data$][$asInt32List](offsetInBytes, length));
  }
  asUint64List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 37, 32, "offsetInBytes");
    return new typed_data.UnmodifiableUint64ListView.new(this[_data$][$asUint64List](offsetInBytes, length));
  }
  asInt64List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 40, 30, "offsetInBytes");
    return new typed_data.UnmodifiableInt64ListView.new(this[_data$][$asInt64List](offsetInBytes, length));
  }
  asInt32x4List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 43, 34, "offsetInBytes");
    return new typed_data.UnmodifiableInt32x4ListView.new(this[_data$][$asInt32x4List](offsetInBytes, length));
  }
  asFloat32List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 47, 34, "offsetInBytes");
    return new typed_data.UnmodifiableFloat32ListView.new(this[_data$][$asFloat32List](offsetInBytes, length));
  }
  asFloat64List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 51, 34, "offsetInBytes");
    return new typed_data.UnmodifiableFloat64ListView.new(this[_data$][$asFloat64List](offsetInBytes, length));
  }
  asFloat32x4List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 55, 38, "offsetInBytes");
    return new typed_data.UnmodifiableFloat32x4ListView.new(this[_data$][$asFloat32x4List](offsetInBytes, length));
  }
  asFloat64x2List(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 59, 38, "offsetInBytes");
    return new typed_data.UnmodifiableFloat64x2ListView.new(this[_data$][$asFloat64x2List](offsetInBytes, length));
  }
  asByteData(offsetInBytes = 0, length = null) {
    if (offsetInBytes == null) dart.nullFailed(I[144], 63, 28, "offsetInBytes");
    return new typed_data.UnmodifiableByteDataView.new(this[_data$][$asByteData](offsetInBytes, length));
  }
};
(typed_data.UnmodifiableByteBufferView.new = function(data) {
  if (data == null) dart.nullFailed(I[144], 11, 41, "data");
  this[_data$] = data;
  ;
}).prototype = typed_data.UnmodifiableByteBufferView.prototype;
dart.addTypeTests(typed_data.UnmodifiableByteBufferView);
dart.addTypeCaches(typed_data.UnmodifiableByteBufferView);
typed_data.UnmodifiableByteBufferView[dart.implements] = () => [typed_data.ByteBuffer];
dart.setMethodSignature(typed_data.UnmodifiableByteBufferView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableByteBufferView.__proto__),
  asUint8List: dart.fnType(typed_data.Uint8List, [], [core.int, dart.nullable(core.int)]),
  [$asUint8List]: dart.fnType(typed_data.Uint8List, [], [core.int, dart.nullable(core.int)]),
  asInt8List: dart.fnType(typed_data.Int8List, [], [core.int, dart.nullable(core.int)]),
  [$asInt8List]: dart.fnType(typed_data.Int8List, [], [core.int, dart.nullable(core.int)]),
  asUint8ClampedList: dart.fnType(typed_data.Uint8ClampedList, [], [core.int, dart.nullable(core.int)]),
  [$asUint8ClampedList]: dart.fnType(typed_data.Uint8ClampedList, [], [core.int, dart.nullable(core.int)]),
  asUint16List: dart.fnType(typed_data.Uint16List, [], [core.int, dart.nullable(core.int)]),
  [$asUint16List]: dart.fnType(typed_data.Uint16List, [], [core.int, dart.nullable(core.int)]),
  asInt16List: dart.fnType(typed_data.Int16List, [], [core.int, dart.nullable(core.int)]),
  [$asInt16List]: dart.fnType(typed_data.Int16List, [], [core.int, dart.nullable(core.int)]),
  asUint32List: dart.fnType(typed_data.Uint32List, [], [core.int, dart.nullable(core.int)]),
  [$asUint32List]: dart.fnType(typed_data.Uint32List, [], [core.int, dart.nullable(core.int)]),
  asInt32List: dart.fnType(typed_data.Int32List, [], [core.int, dart.nullable(core.int)]),
  [$asInt32List]: dart.fnType(typed_data.Int32List, [], [core.int, dart.nullable(core.int)]),
  asUint64List: dart.fnType(typed_data.Uint64List, [], [core.int, dart.nullable(core.int)]),
  [$asUint64List]: dart.fnType(typed_data.Uint64List, [], [core.int, dart.nullable(core.int)]),
  asInt64List: dart.fnType(typed_data.Int64List, [], [core.int, dart.nullable(core.int)]),
  [$asInt64List]: dart.fnType(typed_data.Int64List, [], [core.int, dart.nullable(core.int)]),
  asInt32x4List: dart.fnType(typed_data.Int32x4List, [], [core.int, dart.nullable(core.int)]),
  [$asInt32x4List]: dart.fnType(typed_data.Int32x4List, [], [core.int, dart.nullable(core.int)]),
  asFloat32List: dart.fnType(typed_data.Float32List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat32List]: dart.fnType(typed_data.Float32List, [], [core.int, dart.nullable(core.int)]),
  asFloat64List: dart.fnType(typed_data.Float64List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat64List]: dart.fnType(typed_data.Float64List, [], [core.int, dart.nullable(core.int)]),
  asFloat32x4List: dart.fnType(typed_data.Float32x4List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat32x4List]: dart.fnType(typed_data.Float32x4List, [], [core.int, dart.nullable(core.int)]),
  asFloat64x2List: dart.fnType(typed_data.Float64x2List, [], [core.int, dart.nullable(core.int)]),
  [$asFloat64x2List]: dart.fnType(typed_data.Float64x2List, [], [core.int, dart.nullable(core.int)]),
  asByteData: dart.fnType(typed_data.ByteData, [], [core.int, dart.nullable(core.int)]),
  [$asByteData]: dart.fnType(typed_data.ByteData, [], [core.int, dart.nullable(core.int)])
}));
dart.setGetterSignature(typed_data.UnmodifiableByteBufferView, () => ({
  __proto__: dart.getGetters(typed_data.UnmodifiableByteBufferView.__proto__),
  lengthInBytes: core.int,
  [$lengthInBytes]: core.int
}));
dart.setLibraryUri(typed_data.UnmodifiableByteBufferView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableByteBufferView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableByteBufferView.__proto__),
  [_data$]: dart.finalFieldType(typed_data.ByteBuffer)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableByteBufferView, [
  'asUint8List',
  'asInt8List',
  'asUint8ClampedList',
  'asUint16List',
  'asInt16List',
  'asUint32List',
  'asInt32List',
  'asUint64List',
  'asInt64List',
  'asInt32x4List',
  'asFloat32List',
  'asFloat64List',
  'asFloat32x4List',
  'asFloat64x2List',
  'asByteData'
]);
dart.defineExtensionAccessors(typed_data.UnmodifiableByteBufferView, ['lengthInBytes']);
var _unsupported$ = dart.privateName(typed_data, "_unsupported");
typed_data.UnmodifiableByteDataView = class UnmodifiableByteDataView extends core.Object {
  getInt8(byteOffset) {
    if (byteOffset == null) dart.nullFailed(I[144], 73, 19, "byteOffset");
    return this[_data$][$getInt8](byteOffset);
  }
  setInt8(byteOffset, value) {
    if (byteOffset == null) dart.nullFailed(I[144], 75, 20, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 75, 36, "value");
    return this[_unsupported$]();
  }
  getUint8(byteOffset) {
    if (byteOffset == null) dart.nullFailed(I[144], 77, 20, "byteOffset");
    return this[_data$][$getUint8](byteOffset);
  }
  setUint8(byteOffset, value) {
    if (byteOffset == null) dart.nullFailed(I[144], 79, 21, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 79, 37, "value");
    return this[_unsupported$]();
  }
  getInt16(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 81, 20, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 81, 40, "endian");
    return this[_data$][$getInt16](byteOffset, endian);
  }
  setInt16(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 84, 21, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 84, 37, "value");
    if (endian == null) dart.nullFailed(I[144], 84, 52, "endian");
    return this[_unsupported$]();
  }
  getUint16(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 87, 21, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 87, 41, "endian");
    return this[_data$][$getUint16](byteOffset, endian);
  }
  setUint16(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 90, 22, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 90, 38, "value");
    if (endian == null) dart.nullFailed(I[144], 90, 53, "endian");
    return this[_unsupported$]();
  }
  getInt32(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 93, 20, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 93, 40, "endian");
    return this[_data$][$getInt32](byteOffset, endian);
  }
  setInt32(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 96, 21, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 96, 37, "value");
    if (endian == null) dart.nullFailed(I[144], 96, 52, "endian");
    return this[_unsupported$]();
  }
  getUint32(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 99, 21, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 99, 41, "endian");
    return this[_data$][$getUint32](byteOffset, endian);
  }
  setUint32(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 102, 22, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 102, 38, "value");
    if (endian == null) dart.nullFailed(I[144], 102, 53, "endian");
    return this[_unsupported$]();
  }
  getInt64(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 105, 20, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 105, 40, "endian");
    return this[_data$][$getInt64](byteOffset, endian);
  }
  setInt64(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 108, 21, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 108, 37, "value");
    if (endian == null) dart.nullFailed(I[144], 108, 52, "endian");
    return this[_unsupported$]();
  }
  getUint64(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 111, 21, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 111, 41, "endian");
    return this[_data$][$getUint64](byteOffset, endian);
  }
  setUint64(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 114, 22, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 114, 38, "value");
    if (endian == null) dart.nullFailed(I[144], 114, 53, "endian");
    return this[_unsupported$]();
  }
  getFloat32(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 117, 25, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 117, 45, "endian");
    return this[_data$][$getFloat32](byteOffset, endian);
  }
  setFloat32(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 120, 23, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 120, 42, "value");
    if (endian == null) dart.nullFailed(I[144], 120, 57, "endian");
    return this[_unsupported$]();
  }
  getFloat64(byteOffset, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 123, 25, "byteOffset");
    if (endian == null) dart.nullFailed(I[144], 123, 45, "endian");
    return this[_data$][$getFloat64](byteOffset, endian);
  }
  setFloat64(byteOffset, value, endian = C[37] || CT.C37) {
    if (byteOffset == null) dart.nullFailed(I[144], 126, 23, "byteOffset");
    if (value == null) dart.nullFailed(I[144], 126, 42, "value");
    if (endian == null) dart.nullFailed(I[144], 126, 57, "endian");
    return this[_unsupported$]();
  }
  get elementSizeInBytes() {
    return this[_data$][$elementSizeInBytes];
  }
  get offsetInBytes() {
    return this[_data$][$offsetInBytes];
  }
  get lengthInBytes() {
    return this[_data$][$lengthInBytes];
  }
  get buffer() {
    return new typed_data.UnmodifiableByteBufferView.new(this[_data$][$buffer]);
  }
  [_unsupported$]() {
    dart.throw(new core.UnsupportedError.new("An UnmodifiableByteDataView may not be modified"));
  }
};
(typed_data.UnmodifiableByteDataView.new = function(data) {
  if (data == null) dart.nullFailed(I[144], 71, 37, "data");
  this[_data$] = data;
  ;
}).prototype = typed_data.UnmodifiableByteDataView.prototype;
dart.addTypeTests(typed_data.UnmodifiableByteDataView);
dart.addTypeCaches(typed_data.UnmodifiableByteDataView);
typed_data.UnmodifiableByteDataView[dart.implements] = () => [typed_data.ByteData];
dart.setMethodSignature(typed_data.UnmodifiableByteDataView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableByteDataView.__proto__),
  getInt8: dart.fnType(core.int, [core.int]),
  [$getInt8]: dart.fnType(core.int, [core.int]),
  setInt8: dart.fnType(dart.void, [core.int, core.int]),
  [$setInt8]: dart.fnType(dart.void, [core.int, core.int]),
  getUint8: dart.fnType(core.int, [core.int]),
  [$getUint8]: dart.fnType(core.int, [core.int]),
  setUint8: dart.fnType(dart.void, [core.int, core.int]),
  [$setUint8]: dart.fnType(dart.void, [core.int, core.int]),
  getInt16: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getInt16]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  setInt16: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setInt16]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  getUint16: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getUint16]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  setUint16: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setUint16]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  getInt32: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getInt32]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  setInt32: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setInt32]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  getUint32: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getUint32]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  setUint32: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setUint32]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  getInt64: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getInt64]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  setInt64: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setInt64]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  getUint64: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  [$getUint64]: dart.fnType(core.int, [core.int], [typed_data.Endian]),
  setUint64: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  [$setUint64]: dart.fnType(dart.void, [core.int, core.int], [typed_data.Endian]),
  getFloat32: dart.fnType(core.double, [core.int], [typed_data.Endian]),
  [$getFloat32]: dart.fnType(core.double, [core.int], [typed_data.Endian]),
  setFloat32: dart.fnType(dart.void, [core.int, core.double], [typed_data.Endian]),
  [$setFloat32]: dart.fnType(dart.void, [core.int, core.double], [typed_data.Endian]),
  getFloat64: dart.fnType(core.double, [core.int], [typed_data.Endian]),
  [$getFloat64]: dart.fnType(core.double, [core.int], [typed_data.Endian]),
  setFloat64: dart.fnType(dart.void, [core.int, core.double], [typed_data.Endian]),
  [$setFloat64]: dart.fnType(dart.void, [core.int, core.double], [typed_data.Endian]),
  [_unsupported$]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(typed_data.UnmodifiableByteDataView, () => ({
  __proto__: dart.getGetters(typed_data.UnmodifiableByteDataView.__proto__),
  elementSizeInBytes: core.int,
  [$elementSizeInBytes]: core.int,
  offsetInBytes: core.int,
  [$offsetInBytes]: core.int,
  lengthInBytes: core.int,
  [$lengthInBytes]: core.int,
  buffer: typed_data.ByteBuffer,
  [$buffer]: typed_data.ByteBuffer
}));
dart.setLibraryUri(typed_data.UnmodifiableByteDataView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableByteDataView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableByteDataView.__proto__),
  [_data$]: dart.finalFieldType(typed_data.ByteData)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableByteDataView, [
  'getInt8',
  'setInt8',
  'getUint8',
  'setUint8',
  'getInt16',
  'setInt16',
  'getUint16',
  'setUint16',
  'getInt32',
  'setInt32',
  'getUint32',
  'setUint32',
  'getInt64',
  'setInt64',
  'getUint64',
  'setUint64',
  'getFloat32',
  'setFloat32',
  'getFloat64',
  'setFloat64'
]);
dart.defineExtensionAccessors(typed_data.UnmodifiableByteDataView, ['elementSizeInBytes', 'offsetInBytes', 'lengthInBytes', 'buffer']);
var _list$2 = dart.privateName(typed_data, "_list");
var _createList = dart.privateName(typed_data, "_createList");
const _is__UnmodifiableListMixin_default = Symbol('_is__UnmodifiableListMixin_default');
typed_data._UnmodifiableListMixin$ = dart.generic((N, L, TD) => {
  class _UnmodifiableListMixin extends core.Object {
    get [_data$]() {
      return TD.as(this[_list$2]);
    }
    get length() {
      return this[_list$2][$length];
    }
    _get(index) {
      if (index == null) dart.nullFailed(I[144], 150, 21, "index");
      return this[_list$2][$_get](index);
    }
    get elementSizeInBytes() {
      return this[_data$][$elementSizeInBytes];
    }
    get offsetInBytes() {
      return this[_data$][$offsetInBytes];
    }
    get lengthInBytes() {
      return this[_data$][$lengthInBytes];
    }
    get buffer() {
      return new typed_data.UnmodifiableByteBufferView.new(this[_data$][$buffer]);
    }
    sublist(start, end = null) {
      if (start == null) dart.nullFailed(I[144], 162, 17, "start");
      let endIndex = core.RangeError.checkValidRange(start, dart.nullCheck(end), this.length);
      let sublistLength = dart.notNull(endIndex) - dart.notNull(start);
      let result = this[_createList](sublistLength);
      result[$setRange](0, sublistLength, this[_list$2], start);
      return result;
    }
  }
  (_UnmodifiableListMixin.new = function() {
    ;
  }).prototype = _UnmodifiableListMixin.prototype;
  dart.addTypeTests(_UnmodifiableListMixin);
  _UnmodifiableListMixin.prototype[_is__UnmodifiableListMixin_default] = true;
  dart.addTypeCaches(_UnmodifiableListMixin);
  dart.setMethodSignature(_UnmodifiableListMixin, () => ({
    __proto__: dart.getMethods(_UnmodifiableListMixin.__proto__),
    _get: dart.fnType(N, [core.int]),
    sublist: dart.fnType(L, [core.int], [dart.nullable(core.int)])
  }));
  dart.setGetterSignature(_UnmodifiableListMixin, () => ({
    __proto__: dart.getGetters(_UnmodifiableListMixin.__proto__),
    [_data$]: TD,
    length: core.int,
    elementSizeInBytes: core.int,
    offsetInBytes: core.int,
    lengthInBytes: core.int,
    buffer: typed_data.ByteBuffer
  }));
  dart.setLibraryUri(_UnmodifiableListMixin, I[61]);
  return _UnmodifiableListMixin;
});
typed_data._UnmodifiableListMixin = typed_data._UnmodifiableListMixin$();
dart.addTypeTests(typed_data._UnmodifiableListMixin, _is__UnmodifiableListMixin_default);
var _list$3 = dart.privateName(typed_data, "UnmodifiableUint8ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36, typed_data._UnmodifiableListMixin$(core.int, typed_data.Uint8List, typed_data.Uint8List));
typed_data.UnmodifiableUint8ListView = class UnmodifiableUint8ListView extends UnmodifiableListBase__UnmodifiableListMixin$36 {
  get [_list$2]() {
    return this[_list$3];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 179, 29, "length");
    return _native_typed_data.NativeUint8List.new(length);
  }
};
(typed_data.UnmodifiableUint8ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 177, 39, "list");
  this[_list$3] = list;
  ;
}).prototype = typed_data.UnmodifiableUint8ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableUint8ListView);
dart.addTypeCaches(typed_data.UnmodifiableUint8ListView);
typed_data.UnmodifiableUint8ListView[dart.implements] = () => [typed_data.Uint8List];
dart.setMethodSignature(typed_data.UnmodifiableUint8ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableUint8ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Uint8List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableUint8ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableUint8ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableUint8ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Uint8List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableUint8ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableUint8ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$4 = dart.privateName(typed_data, "UnmodifiableInt8ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$ = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$, typed_data._UnmodifiableListMixin$(core.int, typed_data.Int8List, typed_data.Int8List));
typed_data.UnmodifiableInt8ListView = class UnmodifiableInt8ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$ {
  get [_list$2]() {
    return this[_list$4];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 189, 28, "length");
    return _native_typed_data.NativeInt8List.new(length);
  }
};
(typed_data.UnmodifiableInt8ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 187, 37, "list");
  this[_list$4] = list;
  ;
}).prototype = typed_data.UnmodifiableInt8ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableInt8ListView);
dart.addTypeCaches(typed_data.UnmodifiableInt8ListView);
typed_data.UnmodifiableInt8ListView[dart.implements] = () => [typed_data.Int8List];
dart.setMethodSignature(typed_data.UnmodifiableInt8ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableInt8ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Int8List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableInt8ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableInt8ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableInt8ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Int8List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableInt8ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableInt8ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$5 = dart.privateName(typed_data, "UnmodifiableUint8ClampedListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$0 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$0.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$0.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$0, typed_data._UnmodifiableListMixin$(core.int, typed_data.Uint8ClampedList, typed_data.Uint8ClampedList));
typed_data.UnmodifiableUint8ClampedListView = class UnmodifiableUint8ClampedListView extends UnmodifiableListBase__UnmodifiableListMixin$36$0 {
  get [_list$2]() {
    return this[_list$5];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 199, 36, "length");
    return _native_typed_data.NativeUint8ClampedList.new(length);
  }
};
(typed_data.UnmodifiableUint8ClampedListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 197, 53, "list");
  this[_list$5] = list;
  ;
}).prototype = typed_data.UnmodifiableUint8ClampedListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableUint8ClampedListView);
dart.addTypeCaches(typed_data.UnmodifiableUint8ClampedListView);
typed_data.UnmodifiableUint8ClampedListView[dart.implements] = () => [typed_data.Uint8ClampedList];
dart.setMethodSignature(typed_data.UnmodifiableUint8ClampedListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableUint8ClampedListView.__proto__),
  [_createList]: dart.fnType(typed_data.Uint8ClampedList, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableUint8ClampedListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableUint8ClampedListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableUint8ClampedListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Uint8ClampedList)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableUint8ClampedListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableUint8ClampedListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$6 = dart.privateName(typed_data, "UnmodifiableUint16ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$1 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$1.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$1.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$1, typed_data._UnmodifiableListMixin$(core.int, typed_data.Uint16List, typed_data.Uint16List));
typed_data.UnmodifiableUint16ListView = class UnmodifiableUint16ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$1 {
  get [_list$2]() {
    return this[_list$6];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 209, 30, "length");
    return _native_typed_data.NativeUint16List.new(length);
  }
};
(typed_data.UnmodifiableUint16ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 207, 41, "list");
  this[_list$6] = list;
  ;
}).prototype = typed_data.UnmodifiableUint16ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableUint16ListView);
dart.addTypeCaches(typed_data.UnmodifiableUint16ListView);
typed_data.UnmodifiableUint16ListView[dart.implements] = () => [typed_data.Uint16List];
dart.setMethodSignature(typed_data.UnmodifiableUint16ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableUint16ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Uint16List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableUint16ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableUint16ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableUint16ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Uint16List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableUint16ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableUint16ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$7 = dart.privateName(typed_data, "UnmodifiableInt16ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$2 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$2.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$2.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$2, typed_data._UnmodifiableListMixin$(core.int, typed_data.Int16List, typed_data.Int16List));
typed_data.UnmodifiableInt16ListView = class UnmodifiableInt16ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$2 {
  get [_list$2]() {
    return this[_list$7];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 219, 29, "length");
    return _native_typed_data.NativeInt16List.new(length);
  }
};
(typed_data.UnmodifiableInt16ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 217, 39, "list");
  this[_list$7] = list;
  ;
}).prototype = typed_data.UnmodifiableInt16ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableInt16ListView);
dart.addTypeCaches(typed_data.UnmodifiableInt16ListView);
typed_data.UnmodifiableInt16ListView[dart.implements] = () => [typed_data.Int16List];
dart.setMethodSignature(typed_data.UnmodifiableInt16ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableInt16ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Int16List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableInt16ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableInt16ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableInt16ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Int16List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableInt16ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableInt16ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$8 = dart.privateName(typed_data, "UnmodifiableUint32ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$3 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$3.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$3.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$3, typed_data._UnmodifiableListMixin$(core.int, typed_data.Uint32List, typed_data.Uint32List));
typed_data.UnmodifiableUint32ListView = class UnmodifiableUint32ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$3 {
  get [_list$2]() {
    return this[_list$8];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 229, 30, "length");
    return _native_typed_data.NativeUint32List.new(length);
  }
};
(typed_data.UnmodifiableUint32ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 227, 41, "list");
  this[_list$8] = list;
  ;
}).prototype = typed_data.UnmodifiableUint32ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableUint32ListView);
dart.addTypeCaches(typed_data.UnmodifiableUint32ListView);
typed_data.UnmodifiableUint32ListView[dart.implements] = () => [typed_data.Uint32List];
dart.setMethodSignature(typed_data.UnmodifiableUint32ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableUint32ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Uint32List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableUint32ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableUint32ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableUint32ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Uint32List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableUint32ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableUint32ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$9 = dart.privateName(typed_data, "UnmodifiableInt32ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$4 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$4.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$4.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$4, typed_data._UnmodifiableListMixin$(core.int, typed_data.Int32List, typed_data.Int32List));
typed_data.UnmodifiableInt32ListView = class UnmodifiableInt32ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$4 {
  get [_list$2]() {
    return this[_list$9];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 239, 29, "length");
    return _native_typed_data.NativeInt32List.new(length);
  }
};
(typed_data.UnmodifiableInt32ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 237, 39, "list");
  this[_list$9] = list;
  ;
}).prototype = typed_data.UnmodifiableInt32ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableInt32ListView);
dart.addTypeCaches(typed_data.UnmodifiableInt32ListView);
typed_data.UnmodifiableInt32ListView[dart.implements] = () => [typed_data.Int32List];
dart.setMethodSignature(typed_data.UnmodifiableInt32ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableInt32ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Int32List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableInt32ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableInt32ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableInt32ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Int32List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableInt32ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableInt32ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$10 = dart.privateName(typed_data, "UnmodifiableUint64ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$5 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$5.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$5.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$5, typed_data._UnmodifiableListMixin$(core.int, typed_data.Uint64List, typed_data.Uint64List));
typed_data.UnmodifiableUint64ListView = class UnmodifiableUint64ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$5 {
  get [_list$2]() {
    return this[_list$10];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 249, 30, "length");
    return typed_data.Uint64List.new(length);
  }
};
(typed_data.UnmodifiableUint64ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 247, 41, "list");
  this[_list$10] = list;
  ;
}).prototype = typed_data.UnmodifiableUint64ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableUint64ListView);
dart.addTypeCaches(typed_data.UnmodifiableUint64ListView);
typed_data.UnmodifiableUint64ListView[dart.implements] = () => [typed_data.Uint64List];
dart.setMethodSignature(typed_data.UnmodifiableUint64ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableUint64ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Uint64List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableUint64ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableUint64ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableUint64ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Uint64List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableUint64ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableUint64ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$11 = dart.privateName(typed_data, "UnmodifiableInt64ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$6 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.int) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$6.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$6.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$6, typed_data._UnmodifiableListMixin$(core.int, typed_data.Int64List, typed_data.Int64List));
typed_data.UnmodifiableInt64ListView = class UnmodifiableInt64ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$6 {
  get [_list$2]() {
    return this[_list$11];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 259, 29, "length");
    return typed_data.Int64List.new(length);
  }
};
(typed_data.UnmodifiableInt64ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 257, 39, "list");
  this[_list$11] = list;
  ;
}).prototype = typed_data.UnmodifiableInt64ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableInt64ListView);
dart.addTypeCaches(typed_data.UnmodifiableInt64ListView);
typed_data.UnmodifiableInt64ListView[dart.implements] = () => [typed_data.Int64List];
dart.setMethodSignature(typed_data.UnmodifiableInt64ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableInt64ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Int64List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableInt64ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableInt64ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableInt64ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Int64List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableInt64ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableInt64ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$12 = dart.privateName(typed_data, "UnmodifiableInt32x4ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$7 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(typed_data.Int32x4) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$7.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$7.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$7, typed_data._UnmodifiableListMixin$(typed_data.Int32x4, typed_data.Int32x4List, typed_data.Int32x4List));
typed_data.UnmodifiableInt32x4ListView = class UnmodifiableInt32x4ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$7 {
  get [_list$2]() {
    return this[_list$12];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 269, 31, "length");
    return new _native_typed_data.NativeInt32x4List.new(length);
  }
};
(typed_data.UnmodifiableInt32x4ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 267, 43, "list");
  this[_list$12] = list;
  ;
}).prototype = typed_data.UnmodifiableInt32x4ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableInt32x4ListView);
dart.addTypeCaches(typed_data.UnmodifiableInt32x4ListView);
typed_data.UnmodifiableInt32x4ListView[dart.implements] = () => [typed_data.Int32x4List];
dart.setMethodSignature(typed_data.UnmodifiableInt32x4ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableInt32x4ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Int32x4List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableInt32x4ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableInt32x4ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableInt32x4ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Int32x4List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableInt32x4ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableInt32x4ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$13 = dart.privateName(typed_data, "UnmodifiableFloat32x4ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$8 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(typed_data.Float32x4) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$8.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$8.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$8, typed_data._UnmodifiableListMixin$(typed_data.Float32x4, typed_data.Float32x4List, typed_data.Float32x4List));
typed_data.UnmodifiableFloat32x4ListView = class UnmodifiableFloat32x4ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$8 {
  get [_list$2]() {
    return this[_list$13];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 279, 33, "length");
    return new _native_typed_data.NativeFloat32x4List.new(length);
  }
};
(typed_data.UnmodifiableFloat32x4ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 277, 47, "list");
  this[_list$13] = list;
  ;
}).prototype = typed_data.UnmodifiableFloat32x4ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableFloat32x4ListView);
dart.addTypeCaches(typed_data.UnmodifiableFloat32x4ListView);
typed_data.UnmodifiableFloat32x4ListView[dart.implements] = () => [typed_data.Float32x4List];
dart.setMethodSignature(typed_data.UnmodifiableFloat32x4ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableFloat32x4ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Float32x4List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableFloat32x4ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableFloat32x4ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableFloat32x4ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Float32x4List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableFloat32x4ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableFloat32x4ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$14 = dart.privateName(typed_data, "UnmodifiableFloat64x2ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$9 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(typed_data.Float64x2) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$9.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$9.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$9, typed_data._UnmodifiableListMixin$(typed_data.Float64x2, typed_data.Float64x2List, typed_data.Float64x2List));
typed_data.UnmodifiableFloat64x2ListView = class UnmodifiableFloat64x2ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$9 {
  get [_list$2]() {
    return this[_list$14];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 289, 33, "length");
    return new _native_typed_data.NativeFloat64x2List.new(length);
  }
};
(typed_data.UnmodifiableFloat64x2ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 287, 47, "list");
  this[_list$14] = list;
  ;
}).prototype = typed_data.UnmodifiableFloat64x2ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableFloat64x2ListView);
dart.addTypeCaches(typed_data.UnmodifiableFloat64x2ListView);
typed_data.UnmodifiableFloat64x2ListView[dart.implements] = () => [typed_data.Float64x2List];
dart.setMethodSignature(typed_data.UnmodifiableFloat64x2ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableFloat64x2ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Float64x2List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableFloat64x2ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableFloat64x2ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableFloat64x2ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Float64x2List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableFloat64x2ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableFloat64x2ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$15 = dart.privateName(typed_data, "UnmodifiableFloat32ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$10 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.double) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$10.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$10.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$10, typed_data._UnmodifiableListMixin$(core.double, typed_data.Float32List, typed_data.Float32List));
typed_data.UnmodifiableFloat32ListView = class UnmodifiableFloat32ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$10 {
  get [_list$2]() {
    return this[_list$15];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 299, 31, "length");
    return _native_typed_data.NativeFloat32List.new(length);
  }
};
(typed_data.UnmodifiableFloat32ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 297, 43, "list");
  this[_list$15] = list;
  ;
}).prototype = typed_data.UnmodifiableFloat32ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableFloat32ListView);
dart.addTypeCaches(typed_data.UnmodifiableFloat32ListView);
typed_data.UnmodifiableFloat32ListView[dart.implements] = () => [typed_data.Float32List];
dart.setMethodSignature(typed_data.UnmodifiableFloat32ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableFloat32ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Float32List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableFloat32ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableFloat32ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableFloat32ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Float32List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableFloat32ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableFloat32ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
var _list$16 = dart.privateName(typed_data, "UnmodifiableFloat64ListView._list");
const UnmodifiableListBase__UnmodifiableListMixin$36$11 = class UnmodifiableListBase__UnmodifiableListMixin extends _internal.UnmodifiableListBase$(core.double) {};
(UnmodifiableListBase__UnmodifiableListMixin$36$11.new = function() {
}).prototype = UnmodifiableListBase__UnmodifiableListMixin$36$11.prototype;
dart.applyMixin(UnmodifiableListBase__UnmodifiableListMixin$36$11, typed_data._UnmodifiableListMixin$(core.double, typed_data.Float64List, typed_data.Float64List));
typed_data.UnmodifiableFloat64ListView = class UnmodifiableFloat64ListView extends UnmodifiableListBase__UnmodifiableListMixin$36$11 {
  get [_list$2]() {
    return this[_list$16];
  }
  set [_list$2](value) {
    super[_list$2] = value;
  }
  [_createList](length) {
    if (length == null) dart.nullFailed(I[144], 309, 31, "length");
    return _native_typed_data.NativeFloat64List.new(length);
  }
};
(typed_data.UnmodifiableFloat64ListView.new = function(list) {
  if (list == null) dart.nullFailed(I[144], 307, 43, "list");
  this[_list$16] = list;
  ;
}).prototype = typed_data.UnmodifiableFloat64ListView.prototype;
dart.addTypeTests(typed_data.UnmodifiableFloat64ListView);
dart.addTypeCaches(typed_data.UnmodifiableFloat64ListView);
typed_data.UnmodifiableFloat64ListView[dart.implements] = () => [typed_data.Float64List];
dart.setMethodSignature(typed_data.UnmodifiableFloat64ListView, () => ({
  __proto__: dart.getMethods(typed_data.UnmodifiableFloat64ListView.__proto__),
  [_createList]: dart.fnType(typed_data.Float64List, [core.int])
}));
dart.setLibraryUri(typed_data.UnmodifiableFloat64ListView, I[61]);
dart.setFieldSignature(typed_data.UnmodifiableFloat64ListView, () => ({
  __proto__: dart.getFields(typed_data.UnmodifiableFloat64ListView.__proto__),
  [_list$2]: dart.finalFieldType(typed_data.Float64List)
}));
dart.defineExtensionMethods(typed_data.UnmodifiableFloat64ListView, ['_get', 'sublist']);
dart.defineExtensionAccessors(typed_data.UnmodifiableFloat64ListView, [
  'length',
  'elementSizeInBytes',
  'offsetInBytes',
  'lengthInBytes',
  'buffer'
]);
indexed_db._KeyRangeFactoryProvider = class _KeyRangeFactoryProvider extends core.Object {
  static createKeyRange_only(value) {
    return indexed_db._KeyRangeFactoryProvider._only(indexed_db._KeyRangeFactoryProvider._class(), indexed_db._KeyRangeFactoryProvider._translateKey(value));
  }
  static createKeyRange_lowerBound(bound, open = false) {
    if (open == null) dart.nullFailed(I[145], 93, 17, "open");
    return indexed_db._KeyRangeFactoryProvider._lowerBound(indexed_db._KeyRangeFactoryProvider._class(), indexed_db._KeyRangeFactoryProvider._translateKey(bound), open);
  }
  static createKeyRange_upperBound(bound, open = false) {
    if (open == null) dart.nullFailed(I[145], 97, 17, "open");
    return indexed_db._KeyRangeFactoryProvider._upperBound(indexed_db._KeyRangeFactoryProvider._class(), indexed_db._KeyRangeFactoryProvider._translateKey(bound), open);
  }
  static createKeyRange_bound(lower, upper, lowerOpen = false, upperOpen = false) {
    if (lowerOpen == null) dart.nullFailed(I[145], 101, 17, "lowerOpen");
    if (upperOpen == null) dart.nullFailed(I[145], 101, 41, "upperOpen");
    return indexed_db._KeyRangeFactoryProvider._bound(indexed_db._KeyRangeFactoryProvider._class(), indexed_db._KeyRangeFactoryProvider._translateKey(lower), indexed_db._KeyRangeFactoryProvider._translateKey(upper), lowerOpen, upperOpen);
  }
  static _class() {
    if (indexed_db._KeyRangeFactoryProvider._cachedClass != null) return indexed_db._KeyRangeFactoryProvider._cachedClass;
    return indexed_db._KeyRangeFactoryProvider._cachedClass = indexed_db._KeyRangeFactoryProvider._uncachedClass();
  }
  static _uncachedClass() {
    return window.webkitIDBKeyRange || window.mozIDBKeyRange || window.msIDBKeyRange || window.IDBKeyRange;
  }
  static _translateKey(idbkey) {
    return idbkey;
  }
  static _only(cls, value) {
    return cls.only(value);
  }
  static _lowerBound(cls, bound, open) {
    return cls.lowerBound(bound, open);
  }
  static _upperBound(cls, bound, open) {
    return cls.upperBound(bound, open);
  }
  static _bound(cls, lower, upper, lowerOpen, upperOpen) {
    return cls.bound(lower, upper, lowerOpen, upperOpen);
  }
};
(indexed_db._KeyRangeFactoryProvider.new = function() {
  ;
}).prototype = indexed_db._KeyRangeFactoryProvider.prototype;
dart.addTypeTests(indexed_db._KeyRangeFactoryProvider);
dart.addTypeCaches(indexed_db._KeyRangeFactoryProvider);
dart.setLibraryUri(indexed_db._KeyRangeFactoryProvider, I[146]);
dart.defineLazy(indexed_db._KeyRangeFactoryProvider, {
  /*indexed_db._KeyRangeFactoryProvider._cachedClass*/get _cachedClass() {
    return null;
  },
  set _cachedClass(_) {}
}, false);
indexed_db.Cursor = class Cursor extends _interceptors.Interceptor {
  [S.$delete]() {
    try {
      return indexed_db._completeRequest(dart.dynamic, this[S._delete$1]());
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [$update](value) {
    try {
      return indexed_db._completeRequest(dart.dynamic, this[S._update](value));
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$next](key = null) {
    if (key == null) {
      this.continue();
    } else {
      this.continue(key);
    }
  }
  get [S.$direction]() {
    return this.direction;
  }
  get [S.$key]() {
    return this.key;
  }
  get [S.$primaryKey]() {
    return this.primaryKey;
  }
  get [S.$source]() {
    return this.source;
  }
  [S.$advance](...args) {
    return this.advance.apply(this, args);
  }
  [S.$continuePrimaryKey](...args) {
    return this.continuePrimaryKey.apply(this, args);
  }
  [S._delete$1](...args) {
    return this.delete.apply(this, args);
  }
  [S._update](value) {
    let value_1 = html_common.convertDartToNative_SerializedScriptValue(value);
    return this[S._update_1](value_1);
  }
  [S._update_1](...args) {
    return this.update.apply(this, args);
  }
};
dart.addTypeTests(indexed_db.Cursor);
dart.addTypeCaches(indexed_db.Cursor);
dart.setMethodSignature(indexed_db.Cursor, () => ({
  __proto__: dart.getMethods(indexed_db.Cursor.__proto__),
  [S.$delete]: dart.fnType(async.Future, []),
  [$update]: dart.fnType(async.Future, [dart.dynamic]),
  [S.$next]: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  [S.$advance]: dart.fnType(dart.void, [core.int]),
  [S.$continuePrimaryKey]: dart.fnType(dart.void, [core.Object, core.Object]),
  [S._delete$1]: dart.fnType(indexed_db.Request, []),
  [S._update]: dart.fnType(indexed_db.Request, [dart.dynamic]),
  [S._update_1]: dart.fnType(indexed_db.Request, [dart.dynamic])
}));
dart.setGetterSignature(indexed_db.Cursor, () => ({
  __proto__: dart.getGetters(indexed_db.Cursor.__proto__),
  [S.$direction]: dart.nullable(core.String),
  [S.$key]: dart.nullable(core.Object),
  [S.$primaryKey]: dart.nullable(core.Object),
  [S.$source]: dart.nullable(core.Object)
}));
dart.setLibraryUri(indexed_db.Cursor, I[146]);
dart.registerExtension("IDBCursor", indexed_db.Cursor);
indexed_db.CursorWithValue = class CursorWithValue extends indexed_db.Cursor {
  get [S.$value]() {
    return indexed_db._convertNativeToDart_IDBAny(this[S._get_value]);
  }
  get [S._get_value]() {
    return this.value;
  }
};
dart.addTypeTests(indexed_db.CursorWithValue);
dart.addTypeCaches(indexed_db.CursorWithValue);
dart.setGetterSignature(indexed_db.CursorWithValue, () => ({
  __proto__: dart.getGetters(indexed_db.CursorWithValue.__proto__),
  [S.$value]: dart.dynamic,
  [S._get_value]: dart.dynamic
}));
dart.setLibraryUri(indexed_db.CursorWithValue, I[146]);
dart.registerExtension("IDBCursorWithValue", indexed_db.CursorWithValue);
html$.EventTarget = class EventTarget extends _interceptors.Interceptor {
  get [S.$on]() {
    return new html$.Events.new(this);
  }
  [S.$addEventListener](type, listener, useCapture = null) {
    if (type == null) dart.nullFailed(I[147], 15805, 32, "type");
    if (listener != null) {
      this[S._addEventListener](type, listener, useCapture);
    }
  }
  [S.$removeEventListener](type, listener, useCapture = null) {
    if (type == null) dart.nullFailed(I[147], 15815, 35, "type");
    if (listener != null) {
      this[S._removeEventListener](type, listener, useCapture);
    }
  }
  [S._addEventListener](...args) {
    return this.addEventListener.apply(this, args);
  }
  [S.$dispatchEvent](...args) {
    return this.dispatchEvent.apply(this, args);
  }
  [S._removeEventListener](...args) {
    return this.removeEventListener.apply(this, args);
  }
};
(html$.EventTarget._created = function() {
  html$.EventTarget.__proto__.new.call(this);
  ;
}).prototype = html$.EventTarget.prototype;
dart.addTypeTests(html$.EventTarget);
dart.addTypeCaches(html$.EventTarget);
dart.setMethodSignature(html$.EventTarget, () => ({
  __proto__: dart.getMethods(html$.EventTarget.__proto__),
  [S.$addEventListener]: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  [S.$removeEventListener]: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  [S._addEventListener]: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  [S.$dispatchEvent]: dart.fnType(core.bool, [html$.Event]),
  [S._removeEventListener]: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)])
}));
dart.setGetterSignature(html$.EventTarget, () => ({
  __proto__: dart.getGetters(html$.EventTarget.__proto__),
  [S.$on]: html$.Events
}));
dart.setLibraryUri(html$.EventTarget, I[148]);
dart.registerExtension("EventTarget", html$.EventTarget);
indexed_db.Database = class Database extends html$.EventTarget {
  [S.$createObjectStore](name, opts) {
    if (name == null) dart.nullFailed(I[145], 300, 40, "name");
    let keyPath = opts && 'keyPath' in opts ? opts.keyPath : null;
    let autoIncrement = opts && 'autoIncrement' in opts ? opts.autoIncrement : null;
    let options = new _js_helper.LinkedMap.new();
    if (keyPath != null) {
      options[$_set]("keyPath", keyPath);
    }
    if (autoIncrement != null) {
      options[$_set]("autoIncrement", autoIncrement);
    }
    return this[S._createObjectStore](name, options);
  }
  [S.$transaction](storeName_OR_storeNames, mode) {
    if (mode == null) dart.nullFailed(I[145], 312, 59, "mode");
    if (mode !== "readonly" && mode !== "readwrite") {
      dart.throw(new core.ArgumentError.new(mode));
    }
    return this[S._transaction](storeName_OR_storeNames, mode);
  }
  [S.$transactionStore](storeName, mode) {
    if (storeName == null) dart.nullFailed(I[145], 326, 39, "storeName");
    if (mode == null) dart.nullFailed(I[145], 326, 57, "mode");
    if (mode !== "readonly" && mode !== "readwrite") {
      dart.throw(new core.ArgumentError.new(mode));
    }
    return this[S._transaction](storeName, mode);
  }
  [S.$transactionList](storeNames, mode) {
    if (storeNames == null) dart.nullFailed(I[145], 336, 44, "storeNames");
    if (mode == null) dart.nullFailed(I[145], 336, 63, "mode");
    if (mode !== "readonly" && mode !== "readwrite") {
      dart.throw(new core.ArgumentError.new(mode));
    }
    let storeNames_1 = html_common.convertDartToNative_StringArray(storeNames);
    return this[S._transaction](storeNames_1, mode);
  }
  [S.$transactionStores](storeNames, mode) {
    if (storeNames == null) dart.nullFailed(I[145], 344, 47, "storeNames");
    if (mode == null) dart.nullFailed(I[145], 344, 66, "mode");
    if (mode !== "readonly" && mode !== "readwrite") {
      dart.throw(new core.ArgumentError.new(mode));
    }
    return this[S._transaction](storeNames, mode);
  }
  [S._transaction](...args) {
    return this.transaction.apply(this, args);
  }
  get [$name]() {
    return this.name;
  }
  get [S.$objectStoreNames]() {
    return this.objectStoreNames;
  }
  get [S.$version]() {
    return this.version;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S._createObjectStore](name, options = null) {
    if (name == null) dart.nullFailed(I[145], 407, 41, "name");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return this[S._createObjectStore_1](name, options_1);
    }
    return this[S._createObjectStore_2](name);
  }
  [S._createObjectStore_1](...args) {
    return this.createObjectStore.apply(this, args);
  }
  [S._createObjectStore_2](...args) {
    return this.createObjectStore.apply(this, args);
  }
  [S.$deleteObjectStore](...args) {
    return this.deleteObjectStore.apply(this, args);
  }
  get [S.$onAbort]() {
    return indexed_db.Database.abortEvent.forTarget(this);
  }
  get [S.$onClose]() {
    return indexed_db.Database.closeEvent.forTarget(this);
  }
  get [S.$onError]() {
    return indexed_db.Database.errorEvent.forTarget(this);
  }
  get [S.$onVersionChange]() {
    return indexed_db.Database.versionChangeEvent.forTarget(this);
  }
};
dart.addTypeTests(indexed_db.Database);
dart.addTypeCaches(indexed_db.Database);
dart.setMethodSignature(indexed_db.Database, () => ({
  __proto__: dart.getMethods(indexed_db.Database.__proto__),
  [S.$createObjectStore]: dart.fnType(indexed_db.ObjectStore, [core.String], {autoIncrement: dart.nullable(core.bool), keyPath: dart.dynamic}, {}),
  [S.$transaction]: dart.fnType(indexed_db.Transaction, [dart.dynamic, core.String]),
  [S.$transactionStore]: dart.fnType(indexed_db.Transaction, [core.String, core.String]),
  [S.$transactionList]: dart.fnType(indexed_db.Transaction, [core.List$(core.String), core.String]),
  [S.$transactionStores]: dart.fnType(indexed_db.Transaction, [html$.DomStringList, core.String]),
  [S._transaction]: dart.fnType(indexed_db.Transaction, [dart.dynamic, dart.dynamic]),
  [S.$close]: dart.fnType(dart.void, []),
  [S._createObjectStore]: dart.fnType(indexed_db.ObjectStore, [core.String], [dart.nullable(core.Map)]),
  [S._createObjectStore_1]: dart.fnType(indexed_db.ObjectStore, [dart.dynamic, dart.dynamic]),
  [S._createObjectStore_2]: dart.fnType(indexed_db.ObjectStore, [dart.dynamic]),
  [S.$deleteObjectStore]: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(indexed_db.Database, () => ({
  __proto__: dart.getGetters(indexed_db.Database.__proto__),
  [$name]: dart.nullable(core.String),
  [S.$objectStoreNames]: dart.nullable(core.List$(core.String)),
  [S.$version]: dart.nullable(core.int),
  [S.$onAbort]: async.Stream$(html$.Event),
  [S.$onClose]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event),
  [S.$onVersionChange]: async.Stream$(indexed_db.VersionChangeEvent)
}));
dart.setLibraryUri(indexed_db.Database, I[146]);
dart.defineLazy(indexed_db.Database, {
  /*indexed_db.Database.abortEvent*/get abortEvent() {
    return C[216] || CT.C216;
  },
  /*indexed_db.Database.closeEvent*/get closeEvent() {
    return C[217] || CT.C217;
  },
  /*indexed_db.Database.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*indexed_db.Database.versionChangeEvent*/get versionChangeEvent() {
    return C[219] || CT.C219;
  }
}, false);
dart.registerExtension("IDBDatabase", indexed_db.Database);
indexed_db.IdbFactory = class IdbFactory extends _interceptors.Interceptor {
  static get supported() {
    return !!(window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB);
  }
  [S.$open](name, opts) {
    if (name == null) dart.nullFailed(I[145], 463, 32, "name");
    let version = opts && 'version' in opts ? opts.version : null;
    let onUpgradeNeeded = opts && 'onUpgradeNeeded' in opts ? opts.onUpgradeNeeded : null;
    let onBlocked = opts && 'onBlocked' in opts ? opts.onBlocked : null;
    if (version == null !== (onUpgradeNeeded == null)) {
      return T$0.FutureOfDatabase().error(new core.ArgumentError.new("version and onUpgradeNeeded must be specified together"));
    }
    try {
      let request = null;
      if (version != null) {
        request = this[S._open](name, version);
      } else {
        request = this[S._open](name);
      }
      if (onUpgradeNeeded != null) {
        request[S.$onUpgradeNeeded].listen(onUpgradeNeeded);
      }
      if (onBlocked != null) {
        request[S.$onBlocked].listen(onBlocked);
      }
      return indexed_db._completeRequest(indexed_db.Database, request);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return T$0.FutureOfDatabase().error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$deleteDatabase](name, opts) {
    if (name == null) dart.nullFailed(I[145], 491, 44, "name");
    let onBlocked = opts && 'onBlocked' in opts ? opts.onBlocked : null;
    try {
      let request = this[S._deleteDatabase](name);
      if (onBlocked != null) {
        request[S.$onBlocked].listen(onBlocked);
      }
      let completer = T$0.CompleterOfIdbFactory().sync();
      request[S.$onSuccess].listen(dart.fn(e => {
        if (e == null) dart.nullFailed(I[145], 499, 33, "e");
        completer.complete(this);
      }, T$0.EventTovoid()));
      request[S.$onError].listen(dart.bind(completer, 'completeError'));
      return completer.future;
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return T$0.FutureOfIdbFactory().error(e, stacktrace);
      } else
        throw e$;
    }
  }
  get [S.$supportsDatabaseNames]() {
    return dart.test(indexed_db.IdbFactory.supported) && !!(this.getDatabaseNames || this.webkitGetDatabaseNames);
  }
  [S.$cmp](...args) {
    return this.cmp.apply(this, args);
  }
  [S._deleteDatabase](...args) {
    return this.deleteDatabase.apply(this, args);
  }
  [S._open](...args) {
    return this.open.apply(this, args);
  }
};
dart.addTypeTests(indexed_db.IdbFactory);
dart.addTypeCaches(indexed_db.IdbFactory);
dart.setMethodSignature(indexed_db.IdbFactory, () => ({
  __proto__: dart.getMethods(indexed_db.IdbFactory.__proto__),
  [S.$open]: dart.fnType(async.Future$(indexed_db.Database), [core.String], {onBlocked: dart.nullable(dart.fnType(dart.void, [html$.Event])), onUpgradeNeeded: dart.nullable(dart.fnType(dart.void, [indexed_db.VersionChangeEvent])), version: dart.nullable(core.int)}, {}),
  [S.$deleteDatabase]: dart.fnType(async.Future$(indexed_db.IdbFactory), [core.String], {onBlocked: dart.nullable(dart.fnType(dart.void, [html$.Event]))}, {}),
  [S.$cmp]: dart.fnType(core.int, [core.Object, core.Object]),
  [S._deleteDatabase]: dart.fnType(indexed_db.OpenDBRequest, [core.String]),
  [S._open]: dart.fnType(indexed_db.OpenDBRequest, [core.String], [dart.nullable(core.int)])
}));
dart.setGetterSignature(indexed_db.IdbFactory, () => ({
  __proto__: dart.getGetters(indexed_db.IdbFactory.__proto__),
  [S.$supportsDatabaseNames]: core.bool
}));
dart.setLibraryUri(indexed_db.IdbFactory, I[146]);
dart.registerExtension("IDBFactory", indexed_db.IdbFactory);
indexed_db.Index = class Index extends _interceptors.Interceptor {
  [S.$count](key_OR_range = null) {
    try {
      let request = this[S._count$2](key_OR_range);
      return indexed_db._completeRequest(core.int, request);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return T$0.FutureOfint().error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$get](key) {
    try {
      let request = this[S._get](core.Object.as(key));
      return indexed_db._completeRequest(dart.dynamic, request);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$getKey](key) {
    try {
      let request = this[S._getKey](core.Object.as(key));
      return indexed_db._completeRequest(dart.dynamic, request);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$openCursor](opts) {
    let key = opts && 'key' in opts ? opts.key : null;
    let range = opts && 'range' in opts ? opts.range : null;
    let direction = opts && 'direction' in opts ? opts.direction : null;
    let autoAdvance = opts && 'autoAdvance' in opts ? opts.autoAdvance : null;
    let key_OR_range = null;
    if (key != null) {
      if (range != null) {
        dart.throw(new core.ArgumentError.new("Cannot specify both key and range."));
      }
      key_OR_range = key;
    } else {
      key_OR_range = range;
    }
    let request = null;
    if (direction == null) {
      request = this[S._openCursor](key_OR_range, "next");
    } else {
      request = this[S._openCursor](key_OR_range, direction);
    }
    return indexed_db.ObjectStore._cursorStreamFromResult(indexed_db.CursorWithValue, indexed_db.Request.as(request), autoAdvance);
  }
  [S.$openKeyCursor](opts) {
    let key = opts && 'key' in opts ? opts.key : null;
    let range = opts && 'range' in opts ? opts.range : null;
    let direction = opts && 'direction' in opts ? opts.direction : null;
    let autoAdvance = opts && 'autoAdvance' in opts ? opts.autoAdvance : null;
    let key_OR_range = null;
    if (key != null) {
      if (range != null) {
        dart.throw(new core.ArgumentError.new("Cannot specify both key and range."));
      }
      key_OR_range = key;
    } else {
      key_OR_range = range;
    }
    let request = null;
    if (direction == null) {
      request = this[S._openKeyCursor](key_OR_range, "next");
    } else {
      request = this[S._openKeyCursor](key_OR_range, direction);
    }
    return indexed_db.ObjectStore._cursorStreamFromResult(indexed_db.Cursor, indexed_db.Request.as(request), autoAdvance);
  }
  get [S.$keyPath]() {
    return this.keyPath;
  }
  get [S.$multiEntry]() {
    return this.multiEntry;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S.$objectStore]() {
    return this.objectStore;
  }
  get [S.$unique]() {
    return this.unique;
  }
  [S._count$2](...args) {
    return this.count.apply(this, args);
  }
  [S._get](...args) {
    return this.get.apply(this, args);
  }
  [S.$getAll](...args) {
    return this.getAll.apply(this, args);
  }
  [S.$getAllKeys](...args) {
    return this.getAllKeys.apply(this, args);
  }
  [S._getKey](...args) {
    return this.getKey.apply(this, args);
  }
  [S._openCursor](...args) {
    return this.openCursor.apply(this, args);
  }
  [S._openKeyCursor](...args) {
    return this.openKeyCursor.apply(this, args);
  }
};
dart.addTypeTests(indexed_db.Index);
dart.addTypeCaches(indexed_db.Index);
dart.setMethodSignature(indexed_db.Index, () => ({
  __proto__: dart.getMethods(indexed_db.Index.__proto__),
  [S.$count]: dart.fnType(async.Future$(core.int), [], [dart.dynamic]),
  [S.$get]: dart.fnType(async.Future, [dart.dynamic]),
  [S.$getKey]: dart.fnType(async.Future, [dart.dynamic]),
  [S.$openCursor]: dart.fnType(async.Stream$(indexed_db.CursorWithValue), [], {autoAdvance: dart.nullable(core.bool), direction: dart.nullable(core.String), key: dart.dynamic, range: dart.nullable(indexed_db.KeyRange)}, {}),
  [S.$openKeyCursor]: dart.fnType(async.Stream$(indexed_db.Cursor), [], {autoAdvance: dart.nullable(core.bool), direction: dart.nullable(core.String), key: dart.dynamic, range: dart.nullable(indexed_db.KeyRange)}, {}),
  [S._count$2]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)]),
  [S._get]: dart.fnType(indexed_db.Request, [core.Object]),
  [S.$getAll]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.int)]),
  [S.$getAllKeys]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.int)]),
  [S._getKey]: dart.fnType(indexed_db.Request, [core.Object]),
  [S._openCursor]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.String)]),
  [S._openKeyCursor]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.String)])
}));
dart.setGetterSignature(indexed_db.Index, () => ({
  __proto__: dart.getGetters(indexed_db.Index.__proto__),
  [S.$keyPath]: dart.nullable(core.Object),
  [S.$multiEntry]: dart.nullable(core.bool),
  [$name]: dart.nullable(core.String),
  [S.$objectStore]: dart.nullable(indexed_db.ObjectStore),
  [S.$unique]: dart.nullable(core.bool)
}));
dart.setSetterSignature(indexed_db.Index, () => ({
  __proto__: dart.getSetters(indexed_db.Index.__proto__),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(indexed_db.Index, I[146]);
dart.registerExtension("IDBIndex", indexed_db.Index);
indexed_db.KeyRange = class KeyRange extends _interceptors.Interceptor {
  static only(value) {
    return indexed_db._KeyRangeFactoryProvider.createKeyRange_only(value);
  }
  static lowerBound(bound, open = false) {
    if (open == null) dart.nullFailed(I[145], 703, 52, "open");
    return indexed_db._KeyRangeFactoryProvider.createKeyRange_lowerBound(bound, open);
  }
  static upperBound(bound, open = false) {
    if (open == null) dart.nullFailed(I[145], 706, 52, "open");
    return indexed_db._KeyRangeFactoryProvider.createKeyRange_upperBound(bound, open);
  }
  static bound(lower, upper, lowerOpen = false, upperOpen = false) {
    if (lowerOpen == null) dart.nullFailed(I[145], 710, 17, "lowerOpen");
    if (upperOpen == null) dart.nullFailed(I[145], 710, 41, "upperOpen");
    return indexed_db._KeyRangeFactoryProvider.createKeyRange_bound(lower, upper, lowerOpen, upperOpen);
  }
  get [S.$lower]() {
    return this.lower;
  }
  get [S.$lowerOpen]() {
    return this.lowerOpen;
  }
  get [S.$upper]() {
    return this.upper;
  }
  get [S.$upperOpen]() {
    return this.upperOpen;
  }
  [S.$includes](...args) {
    return this.includes.apply(this, args);
  }
};
dart.addTypeTests(indexed_db.KeyRange);
dart.addTypeCaches(indexed_db.KeyRange);
dart.setMethodSignature(indexed_db.KeyRange, () => ({
  __proto__: dart.getMethods(indexed_db.KeyRange.__proto__),
  [S.$includes]: dart.fnType(core.bool, [core.Object])
}));
dart.setGetterSignature(indexed_db.KeyRange, () => ({
  __proto__: dart.getGetters(indexed_db.KeyRange.__proto__),
  [S.$lower]: dart.nullable(core.Object),
  [S.$lowerOpen]: dart.nullable(core.bool),
  [S.$upper]: dart.nullable(core.Object),
  [S.$upperOpen]: dart.nullable(core.bool)
}));
dart.setLibraryUri(indexed_db.KeyRange, I[146]);
dart.registerExtension("IDBKeyRange", indexed_db.KeyRange);
indexed_db.ObjectStore = class ObjectStore extends _interceptors.Interceptor {
  [$add](value, key = null) {
    try {
      let request = null;
      if (key != null) {
        request = this[S._add$3](value, key);
      } else {
        request = this[S._add$3](value);
      }
      return indexed_db._completeRequest(dart.dynamic, indexed_db.Request.as(request));
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [$clear]() {
    try {
      return indexed_db._completeRequest(dart.dynamic, this[S._clear$2]());
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$delete](key_OR_keyRange) {
    try {
      return indexed_db._completeRequest(dart.dynamic, this[S._delete$1](core.Object.as(key_OR_keyRange)));
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$count](key_OR_range = null) {
    try {
      let request = this[S._count$2](key_OR_range);
      return indexed_db._completeRequest(core.int, request);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return T$0.FutureOfint().error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$put](value, key = null) {
    try {
      let request = null;
      if (key != null) {
        request = this[S._put](value, key);
      } else {
        request = this[S._put](value);
      }
      return indexed_db._completeRequest(dart.dynamic, indexed_db.Request.as(request));
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$getObject](key) {
    try {
      let request = this[S._get](core.Object.as(key));
      return indexed_db._completeRequest(dart.dynamic, request);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        return async.Future.error(e, stacktrace);
      } else
        throw e$;
    }
  }
  [S.$openCursor](opts) {
    let key = opts && 'key' in opts ? opts.key : null;
    let range = opts && 'range' in opts ? opts.range : null;
    let direction = opts && 'direction' in opts ? opts.direction : null;
    let autoAdvance = opts && 'autoAdvance' in opts ? opts.autoAdvance : null;
    let key_OR_range = null;
    if (key != null) {
      if (range != null) {
        dart.throw(new core.ArgumentError.new("Cannot specify both key and range."));
      }
      key_OR_range = key;
    } else {
      key_OR_range = range;
    }
    let request = null;
    if (direction == null) {
      request = this[S._openCursor](key_OR_range);
    } else {
      request = this[S._openCursor](key_OR_range, direction);
    }
    return indexed_db.ObjectStore._cursorStreamFromResult(indexed_db.CursorWithValue, indexed_db.Request.as(request), autoAdvance);
  }
  [S.$createIndex](name, keyPath, opts) {
    if (name == null) dart.nullFailed(I[145], 857, 28, "name");
    let unique = opts && 'unique' in opts ? opts.unique : null;
    let multiEntry = opts && 'multiEntry' in opts ? opts.multiEntry : null;
    let options = new _js_helper.LinkedMap.new();
    if (unique != null) {
      options[$_set]("unique", unique);
    }
    if (multiEntry != null) {
      options[$_set]("multiEntry", multiEntry);
    }
    return this[S._createIndex](name, core.Object.as(keyPath), options);
  }
  get [S.$autoIncrement]() {
    return this.autoIncrement;
  }
  get [S.$indexNames]() {
    return this.indexNames;
  }
  get [S.$keyPath]() {
    return this.keyPath;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S.$transaction]() {
    return this.transaction;
  }
  [S._add$3](value, key = null) {
    if (key != null) {
      let value_1 = html_common.convertDartToNative_SerializedScriptValue(value);
      let key_2 = html_common.convertDartToNative_SerializedScriptValue(key);
      return this[S._add_1](value_1, key_2);
    }
    let value_1 = html_common.convertDartToNative_SerializedScriptValue(value);
    return this[S._add_2](value_1);
  }
  [S._add_1](...args) {
    return this.add.apply(this, args);
  }
  [S._add_2](...args) {
    return this.add.apply(this, args);
  }
  [S._clear$2](...args) {
    return this.clear.apply(this, args);
  }
  [S._count$2](...args) {
    return this.count.apply(this, args);
  }
  [S._createIndex](name, keyPath, options = null) {
    if (name == null) dart.nullFailed(I[145], 919, 29, "name");
    if (keyPath == null) dart.nullFailed(I[145], 919, 42, "keyPath");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return this[S._createIndex_1](name, keyPath, options_1);
    }
    return this[S._createIndex_2](name, keyPath);
  }
  [S._createIndex_1](...args) {
    return this.createIndex.apply(this, args);
  }
  [S._createIndex_2](...args) {
    return this.createIndex.apply(this, args);
  }
  [S._delete$1](...args) {
    return this.delete.apply(this, args);
  }
  [S.$deleteIndex](...args) {
    return this.deleteIndex.apply(this, args);
  }
  [S._get](...args) {
    return this.get.apply(this, args);
  }
  [S.$getAll](...args) {
    return this.getAll.apply(this, args);
  }
  [S.$getAllKeys](...args) {
    return this.getAllKeys.apply(this, args);
  }
  [S.$getKey](...args) {
    return this.getKey.apply(this, args);
  }
  [S.$index](...args) {
    return this.index.apply(this, args);
  }
  [S._openCursor](...args) {
    return this.openCursor.apply(this, args);
  }
  [S.$openKeyCursor](...args) {
    return this.openKeyCursor.apply(this, args);
  }
  [S._put](value, key = null) {
    if (key != null) {
      let value_1 = html_common.convertDartToNative_SerializedScriptValue(value);
      let key_2 = html_common.convertDartToNative_SerializedScriptValue(key);
      return this[S._put_1](value_1, key_2);
    }
    let value_1 = html_common.convertDartToNative_SerializedScriptValue(value);
    return this[S._put_2](value_1);
  }
  [S._put_1](...args) {
    return this.put.apply(this, args);
  }
  [S._put_2](...args) {
    return this.put.apply(this, args);
  }
  static _cursorStreamFromResult(T, request, autoAdvance) {
    if (request == null) dart.nullFailed(I[145], 987, 15, "request");
    let controller = async.StreamController$(T).new({sync: true});
    request[S.$onError].listen(dart.bind(controller, 'addError'));
    request[S.$onSuccess].listen(dart.fn(e => {
      if (e == null) dart.nullFailed(I[145], 996, 31, "e");
      let cursor = dart.nullable(T).as(request[S.$result]);
      if (cursor == null) {
        controller.close();
      } else {
        controller.add(cursor);
        if (autoAdvance === true && dart.test(controller.hasListener)) {
          cursor[S.$next]();
        }
      }
    }, T$0.EventTovoid()));
    return controller.stream;
  }
};
dart.addTypeTests(indexed_db.ObjectStore);
dart.addTypeCaches(indexed_db.ObjectStore);
dart.setMethodSignature(indexed_db.ObjectStore, () => ({
  __proto__: dart.getMethods(indexed_db.ObjectStore.__proto__),
  [$add]: dart.fnType(async.Future, [dart.dynamic], [dart.dynamic]),
  [$clear]: dart.fnType(async.Future, []),
  [S.$delete]: dart.fnType(async.Future, [dart.dynamic]),
  [S.$count]: dart.fnType(async.Future$(core.int), [], [dart.dynamic]),
  [S.$put]: dart.fnType(async.Future, [dart.dynamic], [dart.dynamic]),
  [S.$getObject]: dart.fnType(async.Future, [dart.dynamic]),
  [S.$openCursor]: dart.fnType(async.Stream$(indexed_db.CursorWithValue), [], {autoAdvance: dart.nullable(core.bool), direction: dart.nullable(core.String), key: dart.dynamic, range: dart.nullable(indexed_db.KeyRange)}, {}),
  [S.$createIndex]: dart.fnType(indexed_db.Index, [core.String, dart.dynamic], {multiEntry: dart.nullable(core.bool), unique: dart.nullable(core.bool)}, {}),
  [S._add$3]: dart.fnType(indexed_db.Request, [dart.dynamic], [dart.dynamic]),
  [S._add_1]: dart.fnType(indexed_db.Request, [dart.dynamic, dart.dynamic]),
  [S._add_2]: dart.fnType(indexed_db.Request, [dart.dynamic]),
  [S._clear$2]: dart.fnType(indexed_db.Request, []),
  [S._count$2]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)]),
  [S._createIndex]: dart.fnType(indexed_db.Index, [core.String, core.Object], [dart.nullable(core.Map)]),
  [S._createIndex_1]: dart.fnType(indexed_db.Index, [dart.dynamic, dart.dynamic, dart.dynamic]),
  [S._createIndex_2]: dart.fnType(indexed_db.Index, [dart.dynamic, dart.dynamic]),
  [S._delete$1]: dart.fnType(indexed_db.Request, [core.Object]),
  [S.$deleteIndex]: dart.fnType(dart.void, [core.String]),
  [S._get]: dart.fnType(indexed_db.Request, [core.Object]),
  [S.$getAll]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.int)]),
  [S.$getAllKeys]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.int)]),
  [S.$getKey]: dart.fnType(indexed_db.Request, [core.Object]),
  [S.$index]: dart.fnType(indexed_db.Index, [core.String]),
  [S._openCursor]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.String)]),
  [S.$openKeyCursor]: dart.fnType(indexed_db.Request, [dart.nullable(core.Object)], [dart.nullable(core.String)]),
  [S._put]: dart.fnType(indexed_db.Request, [dart.dynamic], [dart.dynamic]),
  [S._put_1]: dart.fnType(indexed_db.Request, [dart.dynamic, dart.dynamic]),
  [S._put_2]: dart.fnType(indexed_db.Request, [dart.dynamic])
}));
dart.setGetterSignature(indexed_db.ObjectStore, () => ({
  __proto__: dart.getGetters(indexed_db.ObjectStore.__proto__),
  [S.$autoIncrement]: dart.nullable(core.bool),
  [S.$indexNames]: dart.nullable(core.List$(core.String)),
  [S.$keyPath]: dart.nullable(core.Object),
  [$name]: dart.nullable(core.String),
  [S.$transaction]: dart.nullable(indexed_db.Transaction)
}));
dart.setSetterSignature(indexed_db.ObjectStore, () => ({
  __proto__: dart.getSetters(indexed_db.ObjectStore.__proto__),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(indexed_db.ObjectStore, I[146]);
dart.registerExtension("IDBObjectStore", indexed_db.ObjectStore);
indexed_db.Observation = class Observation extends _interceptors.Interceptor {
  get [S.$key]() {
    return this.key;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S.$value]() {
    return this.value;
  }
};
dart.addTypeTests(indexed_db.Observation);
dart.addTypeCaches(indexed_db.Observation);
dart.setGetterSignature(indexed_db.Observation, () => ({
  __proto__: dart.getGetters(indexed_db.Observation.__proto__),
  [S.$key]: dart.nullable(core.Object),
  [S.$type]: dart.nullable(core.String),
  [S.$value]: dart.nullable(core.Object)
}));
dart.setLibraryUri(indexed_db.Observation, I[146]);
dart.registerExtension("IDBObservation", indexed_db.Observation);
indexed_db.Observer = class Observer extends _interceptors.Interceptor {
  static new(callback) {
    if (callback == null) dart.nullFailed(I[145], 1038, 37, "callback");
    let callback_1 = _js_helper.convertDartClosureToJS(T$0.ObserverChangesTovoid(), callback, 1);
    return indexed_db.Observer._create_1(callback_1);
  }
  static _create_1(callback) {
    return new IDBObserver(callback);
  }
  [S.$observe](db, tx, options) {
    if (db == null) dart.nullFailed(I[145], 1045, 25, "db");
    if (tx == null) dart.nullFailed(I[145], 1045, 41, "tx");
    if (options == null) dart.nullFailed(I[145], 1045, 49, "options");
    let options_1 = html_common.convertDartToNative_Dictionary(options);
    this[S._observe_1](db, tx, options_1);
    return;
  }
  [S._observe_1](...args) {
    return this.observe.apply(this, args);
  }
  [S.$unobserve](...args) {
    return this.unobserve.apply(this, args);
  }
};
dart.addTypeTests(indexed_db.Observer);
dart.addTypeCaches(indexed_db.Observer);
dart.setMethodSignature(indexed_db.Observer, () => ({
  __proto__: dart.getMethods(indexed_db.Observer.__proto__),
  [S.$observe]: dart.fnType(dart.void, [indexed_db.Database, indexed_db.Transaction, core.Map]),
  [S._observe_1]: dart.fnType(dart.void, [indexed_db.Database, indexed_db.Transaction, dart.dynamic]),
  [S.$unobserve]: dart.fnType(dart.void, [indexed_db.Database])
}));
dart.setLibraryUri(indexed_db.Observer, I[146]);
dart.registerExtension("IDBObserver", indexed_db.Observer);
indexed_db.ObserverChanges = class ObserverChanges extends _interceptors.Interceptor {
  get [S.$database]() {
    return this.database;
  }
  get [S.$records]() {
    return this.records;
  }
  get [S.$transaction]() {
    return this.transaction;
  }
};
dart.addTypeTests(indexed_db.ObserverChanges);
dart.addTypeCaches(indexed_db.ObserverChanges);
dart.setGetterSignature(indexed_db.ObserverChanges, () => ({
  __proto__: dart.getGetters(indexed_db.ObserverChanges.__proto__),
  [S.$database]: dart.nullable(indexed_db.Database),
  [S.$records]: dart.nullable(core.Object),
  [S.$transaction]: dart.nullable(indexed_db.Transaction)
}));
dart.setLibraryUri(indexed_db.ObserverChanges, I[146]);
dart.registerExtension("IDBObserverChanges", indexed_db.ObserverChanges);
indexed_db.Request = class Request extends html$.EventTarget {
  get [S.$error]() {
    return this.error;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S.$result]() {
    return indexed_db._convertNativeToDart_IDBAny(this[S._get_result]);
  }
  get [S._get_result]() {
    return this.result;
  }
  get [S.$source]() {
    return this.source;
  }
  get [S.$transaction]() {
    return this.transaction;
  }
  get [S.$onError]() {
    return indexed_db.Request.errorEvent.forTarget(this);
  }
  get [S.$onSuccess]() {
    return indexed_db.Request.successEvent.forTarget(this);
  }
};
dart.addTypeTests(indexed_db.Request);
dart.addTypeCaches(indexed_db.Request);
dart.setGetterSignature(indexed_db.Request, () => ({
  __proto__: dart.getGetters(indexed_db.Request.__proto__),
  [S.$error]: dart.nullable(html$.DomException),
  [S.$readyState]: dart.nullable(core.String),
  [S.$result]: dart.dynamic,
  [S._get_result]: dart.dynamic,
  [S.$source]: dart.nullable(core.Object),
  [S.$transaction]: dart.nullable(indexed_db.Transaction),
  [S.$onError]: async.Stream$(html$.Event),
  [S.$onSuccess]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(indexed_db.Request, I[146]);
dart.defineLazy(indexed_db.Request, {
  /*indexed_db.Request.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*indexed_db.Request.successEvent*/get successEvent() {
    return C[220] || CT.C220;
  }
}, false);
dart.registerExtension("IDBRequest", indexed_db.Request);
indexed_db.OpenDBRequest = class OpenDBRequest extends indexed_db.Request {
  get [S.$onBlocked]() {
    return indexed_db.OpenDBRequest.blockedEvent.forTarget(this);
  }
  get [S.$onUpgradeNeeded]() {
    return indexed_db.OpenDBRequest.upgradeNeededEvent.forTarget(this);
  }
};
dart.addTypeTests(indexed_db.OpenDBRequest);
dart.addTypeCaches(indexed_db.OpenDBRequest);
dart.setGetterSignature(indexed_db.OpenDBRequest, () => ({
  __proto__: dart.getGetters(indexed_db.OpenDBRequest.__proto__),
  [S.$onBlocked]: async.Stream$(html$.Event),
  [S.$onUpgradeNeeded]: async.Stream$(indexed_db.VersionChangeEvent)
}));
dart.setLibraryUri(indexed_db.OpenDBRequest, I[146]);
dart.defineLazy(indexed_db.OpenDBRequest, {
  /*indexed_db.OpenDBRequest.blockedEvent*/get blockedEvent() {
    return C[221] || CT.C221;
  },
  /*indexed_db.OpenDBRequest.upgradeNeededEvent*/get upgradeNeededEvent() {
    return C[222] || CT.C222;
  }
}, false);
dart.registerExtension("IDBOpenDBRequest", indexed_db.OpenDBRequest);
dart.registerExtension("IDBVersionChangeRequest", indexed_db.OpenDBRequest);
indexed_db.Transaction = class Transaction extends html$.EventTarget {
  get [S.$completed]() {
    let completer = T$0.CompleterOfDatabase().new();
    this[S.$onComplete].first.then(core.Null, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[145], 1177, 33, "_");
      completer.complete(this.db);
    }, T$0.EventToNull()));
    this[S.$onError].first.then(core.Null, dart.fn(e => {
      if (e == null) dart.nullFailed(I[145], 1181, 30, "e");
      completer.completeError(e);
    }, T$0.EventToNull()));
    this[S.$onAbort].first.then(core.Null, dart.fn(e => {
      if (e == null) dart.nullFailed(I[145], 1185, 30, "e");
      if (!dart.test(completer.isCompleted)) {
        completer.completeError(e);
      }
    }, T$0.EventToNull()));
    return completer.future;
  }
  get [S.$db]() {
    return this.db;
  }
  get [S.$error]() {
    return this.error;
  }
  get [S.$mode]() {
    return this.mode;
  }
  get [S.$objectStoreNames]() {
    return this.objectStoreNames;
  }
  [S.$abort](...args) {
    return this.abort.apply(this, args);
  }
  [S.$objectStore](...args) {
    return this.objectStore.apply(this, args);
  }
  get [S.$onAbort]() {
    return indexed_db.Transaction.abortEvent.forTarget(this);
  }
  get [S.$onComplete]() {
    return indexed_db.Transaction.completeEvent.forTarget(this);
  }
  get [S.$onError]() {
    return indexed_db.Transaction.errorEvent.forTarget(this);
  }
};
dart.addTypeTests(indexed_db.Transaction);
dart.addTypeCaches(indexed_db.Transaction);
dart.setMethodSignature(indexed_db.Transaction, () => ({
  __proto__: dart.getMethods(indexed_db.Transaction.__proto__),
  [S.$abort]: dart.fnType(dart.void, []),
  [S.$objectStore]: dart.fnType(indexed_db.ObjectStore, [core.String])
}));
dart.setGetterSignature(indexed_db.Transaction, () => ({
  __proto__: dart.getGetters(indexed_db.Transaction.__proto__),
  [S.$completed]: async.Future$(indexed_db.Database),
  [S.$db]: dart.nullable(indexed_db.Database),
  [S.$error]: dart.nullable(html$.DomException),
  [S.$mode]: dart.nullable(core.String),
  [S.$objectStoreNames]: dart.nullable(core.List$(core.String)),
  [S.$onAbort]: async.Stream$(html$.Event),
  [S.$onComplete]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(indexed_db.Transaction, I[146]);
dart.defineLazy(indexed_db.Transaction, {
  /*indexed_db.Transaction.abortEvent*/get abortEvent() {
    return C[216] || CT.C216;
  },
  /*indexed_db.Transaction.completeEvent*/get completeEvent() {
    return C[223] || CT.C223;
  },
  /*indexed_db.Transaction.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  }
}, false);
dart.registerExtension("IDBTransaction", indexed_db.Transaction);
html$.Event = class Event$ extends _interceptors.Interceptor {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 15495, 24, "type");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 15495, 36, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 15495, 58, "cancelable");
    return html$.Event.eventType("Event", type, {canBubble: canBubble, cancelable: cancelable});
  }
  static eventType(type, name, opts) {
    if (type == null) dart.nullFailed(I[147], 15508, 34, "type");
    if (name == null) dart.nullFailed(I[147], 15508, 47, "name");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 15509, 13, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 15509, 35, "cancelable");
    let e = html$.document[S._createEvent](type);
    e[S._initEvent](name, canBubble, cancelable);
    return e;
  }
  get [S._selector]() {
    return this._selector;
  }
  set [S._selector](value) {
    this._selector = value;
  }
  get [S.$matchingTarget]() {
    if (this[S._selector] == null) {
      dart.throw(new core.UnsupportedError.new("Cannot call matchingTarget if this Event did" + " not arise as a result of event delegation."));
    }
    let currentTarget = T$0.ElementN().as(this[S.$currentTarget]);
    let target = T$0.ElementN().as(this[S.$target]);
    let matchedTarget = null;
    do {
      if (dart.test(dart.nullCheck(target)[S.$matches](dart.nullCheck(this[S._selector])))) return target;
      target = target[S.$parent];
    } while (target != null && !dart.equals(target, dart.nullCheck(currentTarget)[S.$parent]));
    dart.throw(new core.StateError.new("No selector matched for populating matchedTarget."));
  }
  get [S.$path]() {
    return !!this.composedPath ? this.composedPath() : T$0.JSArrayOfEventTarget().of([]);
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 15542, 26, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.Event._create_1(type, eventInitDict_1);
    }
    return html$.Event._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new Event(type, eventInitDict);
  }
  static _create_2(type) {
    return new Event(type);
  }
  get [S.$bubbles]() {
    return this.bubbles;
  }
  get [S.$cancelable]() {
    return this.cancelable;
  }
  get [S.$composed]() {
    return this.composed;
  }
  get [S.$currentTarget]() {
    return html$._convertNativeToDart_EventTarget(this[S._get_currentTarget]);
  }
  get [S._get_currentTarget]() {
    return this.currentTarget;
  }
  get [S.$defaultPrevented]() {
    return this.defaultPrevented;
  }
  get [S.$eventPhase]() {
    return this.eventPhase;
  }
  get [S.$isTrusted]() {
    return this.isTrusted;
  }
  get [S.$target]() {
    return html$._convertNativeToDart_EventTarget(this[S._get_target]);
  }
  get [S._get_target]() {
    return this.target;
  }
  get [S.$timeStamp]() {
    return this.timeStamp;
  }
  get [S.$type]() {
    return this.type;
  }
  [S.$composedPath](...args) {
    return this.composedPath.apply(this, args);
  }
  [S._initEvent](...args) {
    return this.initEvent.apply(this, args);
  }
  [S.$preventDefault](...args) {
    return this.preventDefault.apply(this, args);
  }
  [S.$stopImmediatePropagation](...args) {
    return this.stopImmediatePropagation.apply(this, args);
  }
  [S.$stopPropagation](...args) {
    return this.stopPropagation.apply(this, args);
  }
};
dart.addTypeTests(html$.Event);
dart.addTypeCaches(html$.Event);
dart.setMethodSignature(html$.Event, () => ({
  __proto__: dart.getMethods(html$.Event.__proto__),
  [S.$composedPath]: dart.fnType(core.List$(html$.EventTarget), []),
  [S._initEvent]: dart.fnType(dart.void, [core.String], [dart.nullable(core.bool), dart.nullable(core.bool)]),
  [S.$preventDefault]: dart.fnType(dart.void, []),
  [S.$stopImmediatePropagation]: dart.fnType(dart.void, []),
  [S.$stopPropagation]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.Event, () => ({
  __proto__: dart.getGetters(html$.Event.__proto__),
  [S._selector]: dart.nullable(core.String),
  [S.$matchingTarget]: html$.Element,
  [S.$path]: core.List$(html$.EventTarget),
  [S.$bubbles]: dart.nullable(core.bool),
  [S.$cancelable]: dart.nullable(core.bool),
  [S.$composed]: dart.nullable(core.bool),
  [S.$currentTarget]: dart.nullable(html$.EventTarget),
  [S._get_currentTarget]: dart.dynamic,
  [S.$defaultPrevented]: core.bool,
  [S.$eventPhase]: core.int,
  [S.$isTrusted]: dart.nullable(core.bool),
  [S.$target]: dart.nullable(html$.EventTarget),
  [S._get_target]: dart.dynamic,
  [S.$timeStamp]: dart.nullable(core.num),
  [S.$type]: core.String
}));
dart.setSetterSignature(html$.Event, () => ({
  __proto__: dart.getSetters(html$.Event.__proto__),
  [S._selector]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Event, I[148]);
dart.defineLazy(html$.Event, {
  /*html$.Event.AT_TARGET*/get AT_TARGET() {
    return 2;
  },
  /*html$.Event.BUBBLING_PHASE*/get BUBBLING_PHASE() {
    return 3;
  },
  /*html$.Event.CAPTURING_PHASE*/get CAPTURING_PHASE() {
    return 1;
  }
}, false);
dart.registerExtension("Event", html$.Event);
dart.registerExtension("InputEvent", html$.Event);
dart.registerExtension("SubmitEvent", html$.Event);
indexed_db.VersionChangeEvent = class VersionChangeEvent extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[145], 1262, 37, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return indexed_db.VersionChangeEvent._create_1(type, eventInitDict_1);
    }
    return indexed_db.VersionChangeEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new IDBVersionChangeEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new IDBVersionChangeEvent(type);
  }
  get [S.$dataLoss]() {
    return this.dataLoss;
  }
  get [S.$dataLossMessage]() {
    return this.dataLossMessage;
  }
  get [S.$newVersion]() {
    return this.newVersion;
  }
  get [S.$oldVersion]() {
    return this.oldVersion;
  }
  get [S.$target]() {
    return this.target;
  }
};
dart.addTypeTests(indexed_db.VersionChangeEvent);
dart.addTypeCaches(indexed_db.VersionChangeEvent);
dart.setGetterSignature(indexed_db.VersionChangeEvent, () => ({
  __proto__: dart.getGetters(indexed_db.VersionChangeEvent.__proto__),
  [S.$dataLoss]: dart.nullable(core.String),
  [S.$dataLossMessage]: dart.nullable(core.String),
  [S.$newVersion]: dart.nullable(core.int),
  [S.$oldVersion]: dart.nullable(core.int),
  [S.$target]: indexed_db.OpenDBRequest
}));
dart.setLibraryUri(indexed_db.VersionChangeEvent, I[146]);
dart.registerExtension("IDBVersionChangeEvent", indexed_db.VersionChangeEvent);
indexed_db._convertNativeToDart_IDBKey = function _convertNativeToDart_IDBKey(nativeKey) {
  function containsDate(object) {
    if (dart.test(html_common.isJavaScriptDate(object))) return true;
    if (core.List.is(object)) {
      for (let i = 0; i < dart.notNull(object[$length]); i = i + 1) {
        if (dart.dtest(containsDate(object[$_get](i)))) return true;
      }
    }
    return false;
  }
  dart.fn(containsDate, T$0.dynamicTobool());
  if (dart.test(containsDate(nativeKey))) {
    dart.throw(new core.UnimplementedError.new("Key containing DateTime"));
  }
  return nativeKey;
};
indexed_db._convertDartToNative_IDBKey = function _convertDartToNative_IDBKey(dartKey) {
  return dartKey;
};
indexed_db._convertNativeToDart_IDBAny = function _convertNativeToDart_IDBAny(object) {
  return html_common.convertNativeToDart_AcceptStructuredClone(object, {mustCopy: false});
};
indexed_db._completeRequest = function _completeRequest(T, request) {
  if (request == null) dart.nullFailed(I[145], 540, 39, "request");
  let completer = async.Completer$(T).sync();
  request[S.$onSuccess].listen(dart.fn(e => {
    if (e == null) dart.nullFailed(I[145], 544, 29, "e");
    let result = T.as(request[S.$result]);
    completer.complete(result);
  }, T$0.EventTovoid()));
  request[S.$onError].listen(dart.bind(completer, 'completeError'));
  return completer.future;
};
dart.defineLazy(indexed_db, {
  /*indexed_db._idbKey*/get _idbKey() {
    return "JSExtendableArray|=Object|num|String";
  },
  /*indexed_db._annotation_Creates_IDBKey*/get _annotation_Creates_IDBKey() {
    return C[224] || CT.C224;
  },
  /*indexed_db._annotation_Returns_IDBKey*/get _annotation_Returns_IDBKey() {
    return C[225] || CT.C225;
  }
}, false);
html$.Node = class Node extends html$.EventTarget {
  get [S.$nodes]() {
    return new html$._ChildNodeListLazy.new(this);
  }
  set [S.$nodes](value) {
    if (value == null) dart.nullFailed(I[147], 23201, 28, "value");
    let copy = value[$toList]();
    this[S.$text] = "";
    for (let node of copy) {
      this[S.$append](node);
    }
  }
  [$remove]() {
    if (this.parentNode != null) {
      let parent = dart.nullCheck(this.parentNode);
      parent[S$._removeChild](this);
    }
  }
  [S$.$replaceWith](otherNode) {
    if (otherNode == null) dart.nullFailed(I[147], 23226, 25, "otherNode");
    try {
      let parent = dart.nullCheck(this.parentNode);
      parent[S$._replaceChild](otherNode, this);
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
    return this;
  }
  [S$.$insertAllBefore](newNodes, refChild) {
    if (newNodes == null) dart.nullFailed(I[147], 23241, 39, "newNodes");
    if (refChild == null) dart.nullFailed(I[147], 23241, 54, "refChild");
    if (html$._ChildNodeListLazy.is(newNodes)) {
      let otherList = newNodes;
      if (otherList[S$._this] === this) {
        dart.throw(new core.ArgumentError.new(newNodes));
      }
      for (let i = 0, len = otherList.length; i < dart.notNull(len); i = i + 1) {
        this.insertBefore(dart.nullCheck(otherList[S$._this].firstChild), refChild);
      }
    } else {
      for (let node of newNodes) {
        this.insertBefore(node, refChild);
      }
    }
  }
  [S$._clearChildren]() {
    while (this.firstChild != null) {
      this[S$._removeChild](dart.nullCheck(this.firstChild));
    }
  }
  [$toString]() {
    let value = this.nodeValue;
    return value == null ? super[$toString]() : value;
  }
  get [S$.$childNodes]() {
    return this.childNodes;
  }
  get [S.$baseUri]() {
    return this.baseURI;
  }
  get [S$.$firstChild]() {
    return this.firstChild;
  }
  get [S$.$isConnected]() {
    return this.isConnected;
  }
  get [S$.$lastChild]() {
    return this.lastChild;
  }
  get [S.$nextNode]() {
    return this.nextSibling;
  }
  get [S$.$nodeName]() {
    return this.nodeName;
  }
  get [S$.$nodeType]() {
    return this.nodeType;
  }
  get [S$.$nodeValue]() {
    return this.nodeValue;
  }
  get [S$.$ownerDocument]() {
    return this.ownerDocument;
  }
  get [S.$parent]() {
    return this.parentElement;
  }
  get [S$.$parentNode]() {
    return this.parentNode;
  }
  get [S$.$previousNode]() {
    return this.previousSibling;
  }
  get [S.$text]() {
    return this.textContent;
  }
  set [S.$text](value) {
    this.textContent = value;
  }
  [S.$append](...args) {
    return this.appendChild.apply(this, args);
  }
  [S$.$clone](...args) {
    return this.cloneNode.apply(this, args);
  }
  [$contains](...args) {
    return this.contains.apply(this, args);
  }
  [S$.$getRootNode](options = null) {
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return this[S$._getRootNode_1](options_1);
    }
    return this[S$._getRootNode_2]();
  }
  [S$._getRootNode_1](...args) {
    return this.getRootNode.apply(this, args);
  }
  [S$._getRootNode_2](...args) {
    return this.getRootNode.apply(this, args);
  }
  [S$.$hasChildNodes](...args) {
    return this.hasChildNodes.apply(this, args);
  }
  [S$.$insertBefore](...args) {
    return this.insertBefore.apply(this, args);
  }
  [S$._removeChild](...args) {
    return this.removeChild.apply(this, args);
  }
  [S$._replaceChild](...args) {
    return this.replaceChild.apply(this, args);
  }
};
(html$.Node._created = function() {
  html$.Node.__proto__._created.call(this);
  ;
}).prototype = html$.Node.prototype;
dart.addTypeTests(html$.Node);
dart.addTypeCaches(html$.Node);
dart.setMethodSignature(html$.Node, () => ({
  __proto__: dart.getMethods(html$.Node.__proto__),
  [$remove]: dart.fnType(dart.void, []),
  [S$.$replaceWith]: dart.fnType(html$.Node, [html$.Node]),
  [S$.$insertAllBefore]: dart.fnType(dart.void, [core.Iterable$(html$.Node), html$.Node]),
  [S$._clearChildren]: dart.fnType(dart.void, []),
  [S.$append]: dart.fnType(html$.Node, [html$.Node]),
  [S$.$clone]: dart.fnType(html$.Node, [dart.nullable(core.bool)]),
  [$contains]: dart.fnType(core.bool, [dart.nullable(html$.Node)]),
  [S$.$getRootNode]: dart.fnType(html$.Node, [], [dart.nullable(core.Map)]),
  [S$._getRootNode_1]: dart.fnType(html$.Node, [dart.dynamic]),
  [S$._getRootNode_2]: dart.fnType(html$.Node, []),
  [S$.$hasChildNodes]: dart.fnType(core.bool, []),
  [S$.$insertBefore]: dart.fnType(html$.Node, [html$.Node, dart.nullable(html$.Node)]),
  [S$._removeChild]: dart.fnType(html$.Node, [html$.Node]),
  [S$._replaceChild]: dart.fnType(html$.Node, [html$.Node, html$.Node])
}));
dart.setGetterSignature(html$.Node, () => ({
  __proto__: dart.getGetters(html$.Node.__proto__),
  [S.$nodes]: core.List$(html$.Node),
  [S$.$childNodes]: core.List$(html$.Node),
  [S.$baseUri]: dart.nullable(core.String),
  [S$.$firstChild]: dart.nullable(html$.Node),
  [S$.$isConnected]: dart.nullable(core.bool),
  [S$.$lastChild]: dart.nullable(html$.Node),
  [S.$nextNode]: dart.nullable(html$.Node),
  [S$.$nodeName]: dart.nullable(core.String),
  [S$.$nodeType]: core.int,
  [S$.$nodeValue]: dart.nullable(core.String),
  [S$.$ownerDocument]: dart.nullable(html$.Document),
  [S.$parent]: dart.nullable(html$.Element),
  [S$.$parentNode]: dart.nullable(html$.Node),
  [S$.$previousNode]: dart.nullable(html$.Node),
  [S.$text]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.Node, () => ({
  __proto__: dart.getSetters(html$.Node.__proto__),
  [S.$nodes]: core.Iterable$(html$.Node),
  [S.$text]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Node, I[148]);
dart.defineLazy(html$.Node, {
  /*html$.Node.ATTRIBUTE_NODE*/get ATTRIBUTE_NODE() {
    return 2;
  },
  /*html$.Node.CDATA_SECTION_NODE*/get CDATA_SECTION_NODE() {
    return 4;
  },
  /*html$.Node.COMMENT_NODE*/get COMMENT_NODE() {
    return 8;
  },
  /*html$.Node.DOCUMENT_FRAGMENT_NODE*/get DOCUMENT_FRAGMENT_NODE() {
    return 11;
  },
  /*html$.Node.DOCUMENT_NODE*/get DOCUMENT_NODE() {
    return 9;
  },
  /*html$.Node.DOCUMENT_TYPE_NODE*/get DOCUMENT_TYPE_NODE() {
    return 10;
  },
  /*html$.Node.ELEMENT_NODE*/get ELEMENT_NODE() {
    return 1;
  },
  /*html$.Node.ENTITY_NODE*/get ENTITY_NODE() {
    return 6;
  },
  /*html$.Node.ENTITY_REFERENCE_NODE*/get ENTITY_REFERENCE_NODE() {
    return 5;
  },
  /*html$.Node.NOTATION_NODE*/get NOTATION_NODE() {
    return 12;
  },
  /*html$.Node.PROCESSING_INSTRUCTION_NODE*/get PROCESSING_INSTRUCTION_NODE() {
    return 7;
  },
  /*html$.Node.TEXT_NODE*/get TEXT_NODE() {
    return 3;
  }
}, false);
dart.registerExtension("Node", html$.Node);
html$.Element = class Element extends html$.Node {
  static html(html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    let fragment = dart.nullCheck(html$.document.body)[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer});
    return html$.Element.as(fragment[S.$nodes][$where](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 12737, 34, "e");
      return html$.Element.is(e);
    }, T$0.NodeTobool()))[$single]);
  }
  static tag(tag, typeExtension = null) {
    if (tag == null) dart.nullFailed(I[147], 12782, 30, "tag");
    return html$.Element.as(html$._ElementFactoryProvider.createElement_tag(tag, typeExtension));
  }
  static a() {
    return html$.AnchorElement.new();
  }
  static article() {
    return html$.Element.tag("article");
  }
  static aside() {
    return html$.Element.tag("aside");
  }
  static audio() {
    return html$.Element.tag("audio");
  }
  static br() {
    return html$.BRElement.new();
  }
  static canvas() {
    return html$.CanvasElement.new();
  }
  static div() {
    return html$.DivElement.new();
  }
  static footer() {
    return html$.Element.tag("footer");
  }
  static header() {
    return html$.Element.tag("header");
  }
  static hr() {
    return html$.Element.tag("hr");
  }
  static iframe() {
    return html$.Element.tag("iframe");
  }
  static img() {
    return html$.Element.tag("img");
  }
  static li() {
    return html$.Element.tag("li");
  }
  static nav() {
    return html$.Element.tag("nav");
  }
  static ol() {
    return html$.Element.tag("ol");
  }
  static option() {
    return html$.Element.tag("option");
  }
  static p() {
    return html$.Element.tag("p");
  }
  static pre() {
    return html$.Element.tag("pre");
  }
  static section() {
    return html$.Element.tag("section");
  }
  static select() {
    return html$.Element.tag("select");
  }
  static span() {
    return html$.Element.tag("span");
  }
  static svg() {
    return html$.Element.tag("svg");
  }
  static table() {
    return html$.Element.tag("table");
  }
  static td() {
    return html$.Element.tag("td");
  }
  static textarea() {
    return html$.Element.tag("textarea");
  }
  static th() {
    return html$.Element.tag("th");
  }
  static tr() {
    return html$.Element.tag("tr");
  }
  static ul() {
    return html$.Element.tag("ul");
  }
  static video() {
    return html$.Element.tag("video");
  }
  get [S.$attributes]() {
    return new html$._ElementAttributeMap.new(this);
  }
  set [S.$attributes](value) {
    if (value == null) dart.nullFailed(I[147], 12942, 38, "value");
    let attributes = this[S.$attributes];
    attributes[$clear]();
    for (let key of value[$keys]) {
      attributes[$_set](key, dart.nullCheck(value[$_get](key)));
    }
  }
  [S.$getAttribute](name) {
    if (name == null) dart.nullFailed(I[147], 12951, 31, "name");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 12954, 12, "name != null");
    return this[S._getAttribute](name);
  }
  [S.$getAttributeNS](namespaceURI, name) {
    if (name == null) dart.nullFailed(I[147], 12959, 55, "name");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 12963, 12, "name != null");
    return this[S._getAttributeNS](namespaceURI, name);
  }
  [S.$hasAttribute](name) {
    if (name == null) dart.nullFailed(I[147], 12968, 28, "name");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 12971, 12, "name != null");
    return this[S._hasAttribute](name);
  }
  [S.$hasAttributeNS](namespaceURI, name) {
    if (name == null) dart.nullFailed(I[147], 12976, 52, "name");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 12980, 12, "name != null");
    return this[S._hasAttributeNS](namespaceURI, name);
  }
  [S.$removeAttribute](name) {
    if (name == null) dart.nullFailed(I[147], 12985, 31, "name");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 12988, 12, "name != null");
    this[S._removeAttribute](name);
  }
  [S.$removeAttributeNS](namespaceURI, name) {
    if (name == null) dart.nullFailed(I[147], 12993, 55, "name");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 12996, 12, "name != null");
    this[S._removeAttributeNS](namespaceURI, name);
  }
  [S.$setAttribute](name, value) {
    if (name == null) dart.nullFailed(I[147], 13001, 28, "name");
    if (value == null) dart.nullFailed(I[147], 13001, 41, "value");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 13004, 12, "name != null");
    this[S._setAttribute](name, value);
  }
  [S.$setAttributeNS](namespaceURI, name, value) {
    if (name == null) dart.nullFailed(I[147], 13010, 52, "name");
    if (value == null) dart.nullFailed(I[147], 13010, 65, "value");
    if (!(name != null)) dart.assertFailed("Attribute name cannot be null", I[147], 13013, 12, "name != null");
    this[S._setAttributeNS](namespaceURI, name, value);
  }
  get [S.$children]() {
    return new html$._ChildrenElementList._wrap(this);
  }
  get [S._children]() {
    return this.children;
  }
  set [S.$children](value) {
    if (value == null) dart.nullFailed(I[147], 13042, 30, "value");
    let copy = value[$toList]();
    let children = this[S.$children];
    children[$clear]();
    children[$addAll](copy);
  }
  [S.$querySelectorAll](T, selectors) {
    if (selectors == null) dart.nullFailed(I[147], 13061, 61, "selectors");
    return new (html$._FrozenElementList$(T))._wrap(this[S._querySelectorAll](selectors));
  }
  [S._setApplyScroll](...args) {
    return this.setApplyScroll.apply(this, args);
  }
  [S.$setApplyScroll](nativeScrollBehavior) {
    if (nativeScrollBehavior == null) dart.nullFailed(I[147], 13068, 45, "nativeScrollBehavior");
    let completer = T$0.CompleterOfScrollState().new();
    this[S._setApplyScroll](dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 13070, 22, "value");
      completer.complete(value);
    }, T$0.ScrollStateTovoid()), nativeScrollBehavior);
    return completer.future;
  }
  [S._setDistributeScroll](...args) {
    return this.setDistributeScroll.apply(this, args);
  }
  [S.$setDistributeScroll](nativeScrollBehavior) {
    if (nativeScrollBehavior == null) dart.nullFailed(I[147], 13080, 50, "nativeScrollBehavior");
    let completer = T$0.CompleterOfScrollState().new();
    this[S._setDistributeScroll](dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 13082, 27, "value");
      completer.complete(value);
    }, T$0.ScrollStateTovoid()), nativeScrollBehavior);
    return completer.future;
  }
  get [S.$classes]() {
    return new html$._ElementCssClassSet.new(this);
  }
  set [S.$classes](value) {
    if (value == null) dart.nullFailed(I[147], 13100, 32, "value");
    let classSet = this[S.$classes];
    classSet.clear();
    classSet.addAll(value);
  }
  get [S.$dataset]() {
    return new html$._DataAttributeMap.new(this[S.$attributes]);
  }
  set [S.$dataset](value) {
    if (value == null) dart.nullFailed(I[147], 13134, 35, "value");
    let data = this[S.$dataset];
    data[$clear]();
    for (let key of value[$keys]) {
      data[$_set](key, dart.nullCheck(value[$_get](key)));
    }
  }
  [S.$getNamespacedAttributes](namespace) {
    if (namespace == null) dart.nullFailed(I[147], 13147, 54, "namespace");
    return new html$._NamespacedAttributeMap.new(this, namespace);
  }
  [S.$getComputedStyle](pseudoElement = null) {
    if (pseudoElement == null) {
      pseudoElement = "";
    }
    return html$.window[S._getComputedStyle](this, pseudoElement);
  }
  get [S.$client]() {
    return new (T$0.RectangleOfnum()).new(dart.nullCheck(this.clientLeft), dart.nullCheck(this.clientTop), this.clientWidth, this.clientHeight);
  }
  get [S.$offset]() {
    return new (T$0.RectangleOfnum()).new(this[S.$offsetLeft], this[S.$offsetTop], this[S.$offsetWidth], this[S.$offsetHeight]);
  }
  [S.$appendText](text) {
    if (text == null) dart.nullFailed(I[147], 13193, 26, "text");
    this[S.$append](html$.Text.new(text));
  }
  [S.$appendHtml](text, opts) {
    if (text == null) dart.nullFailed(I[147], 13201, 26, "text");
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    this[S.$insertAdjacentHtml]("beforeend", text, {validator: validator, treeSanitizer: treeSanitizer});
  }
  static isTagSupported(tag) {
    if (tag == null) dart.nullFailed(I[147], 13212, 37, "tag");
    let e = html$._ElementFactoryProvider.createElement_tag(tag, null);
    return html$.Element.is(e) && !html$.UnknownElement.is(e);
  }
  [S.$attached]() {
    this[S.$enteredView]();
  }
  [S.$detached]() {
    this[S.$leftView]();
  }
  [S.$enteredView]() {
  }
  [S.$getClientRects]() {
    let value = this[S._getClientRects]();
    let jsProto = value.prototype;
    if (jsProto == null) {
      value.prototype = Object.create(null);
    }
    _js_helper.applyExtension("DOMRectList", value);
    return value;
  }
  [S.$leftView]() {
  }
  [S.$animate](frames, timing = null) {
    if (frames == null) dart.nullFailed(I[147], 13288, 52, "frames");
    if (!core.Iterable.is(frames) || !dart.test(frames[$every](dart.fn(x => {
      if (x == null) dart.nullFailed(I[147], 13289, 48, "x");
      return core.Map.is(x);
    }, T$0.MapOfString$dynamicTobool())))) {
      dart.throw(new core.ArgumentError.new("The frames parameter should be a List of Maps " + "with frame information"));
    }
    let convertedFrames = null;
    if (core.Iterable.is(frames)) {
      convertedFrames = frames[$map](dart.dynamic, C[226] || CT.C226)[$toList]();
    } else {
      convertedFrames = frames;
    }
    let convertedTiming = core.Map.is(timing) ? html_common.convertDartToNative_Dictionary(timing) : timing;
    return convertedTiming == null ? this[S._animate](core.Object.as(convertedFrames)) : this[S._animate](core.Object.as(convertedFrames), convertedTiming);
  }
  [S._animate](...args) {
    return this.animate.apply(this, args);
  }
  [S.$attributeChanged](name, oldValue, newValue) {
    if (name == null) dart.nullFailed(I[147], 13311, 32, "name");
    if (oldValue == null) dart.nullFailed(I[147], 13311, 45, "oldValue");
    if (newValue == null) dart.nullFailed(I[147], 13311, 62, "newValue");
  }
  get [S.$localName]() {
    return this[S._localName];
  }
  get [S.$namespaceUri]() {
    return this[S._namespaceUri];
  }
  [$toString]() {
    return this[S.$localName];
  }
  [S.$scrollIntoView](alignment = null) {
    let hasScrollIntoViewIfNeeded = true;
    hasScrollIntoViewIfNeeded = !!this.scrollIntoViewIfNeeded;
    if (dart.equals(alignment, html$.ScrollAlignment.TOP)) {
      this[S._scrollIntoView](true);
    } else if (dart.equals(alignment, html$.ScrollAlignment.BOTTOM)) {
      this[S._scrollIntoView](false);
    } else if (hasScrollIntoViewIfNeeded) {
      if (dart.equals(alignment, html$.ScrollAlignment.CENTER)) {
        this[S._scrollIntoViewIfNeeded](true);
      } else {
        this[S._scrollIntoViewIfNeeded]();
      }
    } else {
      this[S._scrollIntoView]();
    }
  }
  static _determineMouseWheelEventType(e) {
    if (e == null) dart.nullFailed(I[147], 13384, 59, "e");
    return "wheel";
  }
  static _determineTransitionEventType(e) {
    if (e == null) dart.nullFailed(I[147], 13396, 59, "e");
    if (dart.test(html_common.Device.isWebKit)) {
      return "webkitTransitionEnd";
    } else if (dart.test(html_common.Device.isOpera)) {
      return "oTransitionEnd";
    }
    return "transitionend";
  }
  [S.$insertAdjacentText](where, text) {
    if (where == null) dart.nullFailed(I[147], 13416, 34, "where");
    if (text == null) dart.nullFailed(I[147], 13416, 48, "text");
    if (!!this.insertAdjacentText) {
      this[S._insertAdjacentText](where, text);
    } else {
      this[S._insertAdjacentNode](where, html$.Text.new(text));
    }
  }
  [S._insertAdjacentText](...args) {
    return this.insertAdjacentText.apply(this, args);
  }
  [S.$insertAdjacentHtml](where, html, opts) {
    if (where == null) dart.nullFailed(I[147], 13451, 34, "where");
    if (html == null) dart.nullFailed(I[147], 13451, 48, "html");
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    if (html$._TrustedHtmlTreeSanitizer.is(treeSanitizer)) {
      this[S._insertAdjacentHtml](where, html);
    } else {
      this[S._insertAdjacentNode](where, this[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer}));
    }
  }
  [S._insertAdjacentHtml](...args) {
    return this.insertAdjacentHTML.apply(this, args);
  }
  [S.$insertAdjacentElement](where, element) {
    if (where == null) dart.nullFailed(I[147], 13476, 40, "where");
    if (element == null) dart.nullFailed(I[147], 13476, 55, "element");
    if (!!this.insertAdjacentElement) {
      this[S._insertAdjacentElement](where, element);
    } else {
      this[S._insertAdjacentNode](where, element);
    }
    return element;
  }
  [S._insertAdjacentElement](...args) {
    return this.insertAdjacentElement.apply(this, args);
  }
  [S._insertAdjacentNode](where, node) {
    if (where == null) dart.nullFailed(I[147], 13488, 35, "where");
    if (node == null) dart.nullFailed(I[147], 13488, 47, "node");
    switch (where[$toLowerCase]()) {
      case "beforebegin":
      {
        dart.nullCheck(this.parentNode).insertBefore(node, this);
        break;
      }
      case "afterbegin":
      {
        let first = dart.notNull(this[S.$nodes][$length]) > 0 ? this[S.$nodes][$_get](0) : null;
        this.insertBefore(node, first);
        break;
      }
      case "beforeend":
      {
        this[S.$append](node);
        break;
      }
      case "afterend":
      {
        dart.nullCheck(this.parentNode).insertBefore(node, this[S.$nextNode]);
        break;
      }
      default:
      {
        dart.throw(new core.ArgumentError.new("Invalid position " + dart.str(where)));
      }
    }
  }
  [S.$matches](selectors) {
    if (selectors == null) dart.nullFailed(I[147], 13511, 23, "selectors");
    if (!!this.matches) {
      return this.matches(selectors);
    } else if (!!this.webkitMatchesSelector) {
      return this.webkitMatchesSelector(selectors);
    } else if (!!this.mozMatchesSelector) {
      return this.mozMatchesSelector(selectors);
    } else if (!!this.msMatchesSelector) {
      return this.msMatchesSelector(selectors);
    } else if (!!this.oMatchesSelector) {
      return this.oMatchesSelector(selectors);
    } else {
      dart.throw(new core.UnsupportedError.new("Not supported on this platform"));
    }
  }
  [S.$matchesWithAncestors](selectors) {
    if (selectors == null) dart.nullFailed(I[147], 13528, 36, "selectors");
    let elem = this;
    do {
      if (dart.test(dart.nullCheck(elem)[S.$matches](selectors))) return true;
      elem = elem[S.$parent];
    } while (elem != null);
    return false;
  }
  [S.$createShadowRoot]() {
    return (this.createShadowRoot || this.webkitCreateShadowRoot).call(this);
  }
  get [S.$shadowRoot]() {
    return this.shadowRoot || this.webkitShadowRoot;
  }
  get [S.$contentEdge]() {
    return new html$._ContentCssRect.new(this);
  }
  get [S.$paddingEdge]() {
    return new html$._PaddingCssRect.new(this);
  }
  get [S.$borderEdge]() {
    return new html$._BorderCssRect.new(this);
  }
  get [S.$marginEdge]() {
    return new html$._MarginCssRect.new(this);
  }
  get [S.$documentOffset]() {
    return this[S.$offsetTo](dart.nullCheck(html$.document.documentElement));
  }
  [S.$offsetTo](parent) {
    if (parent == null) dart.nullFailed(I[147], 13660, 26, "parent");
    return html$.Element._offsetToHelper(this, parent);
  }
  static _offsetToHelper(current, parent) {
    if (parent == null) dart.nullFailed(I[147], 13664, 58, "parent");
    let sameAsParent = current == parent;
    let foundAsParent = sameAsParent || parent.tagName === "HTML";
    if (current == null || sameAsParent) {
      if (foundAsParent) return new (T$0.PointOfnum()).new(0, 0);
      dart.throw(new core.ArgumentError.new("Specified element is not a transitive offset " + "parent of this element."));
    }
    let parentOffset = current.offsetParent;
    let p = html$.Element._offsetToHelper(parentOffset, parent);
    return new (T$0.PointOfnum()).new(dart.notNull(p.x) + dart.notNull(current[S.$offsetLeft]), dart.notNull(p.y) + dart.notNull(current[S.$offsetTop]));
  }
  [S.$createFragment](html, opts) {
    let t232;
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    if (treeSanitizer == null) {
      if (validator == null) {
        if (html$.Element._defaultValidator == null) {
          html$.Element._defaultValidator = new html$.NodeValidatorBuilder.common();
        }
        validator = html$.Element._defaultValidator;
      }
      if (html$.Element._defaultSanitizer == null) {
        html$.Element._defaultSanitizer = new html$._ValidatingTreeSanitizer.new(dart.nullCheck(validator));
      } else {
        dart.nullCheck(html$.Element._defaultSanitizer).validator = dart.nullCheck(validator);
      }
      treeSanitizer = html$.Element._defaultSanitizer;
    } else if (validator != null) {
      dart.throw(new core.ArgumentError.new("validator can only be passed if treeSanitizer is null"));
    }
    if (html$.Element._parseDocument == null) {
      html$.Element._parseDocument = dart.nullCheck(html$.document.implementation)[S.$createHtmlDocument]("");
      html$.Element._parseRange = dart.nullCheck(html$.Element._parseDocument).createRange();
      let base = html$.BaseElement.as(dart.nullCheck(html$.Element._parseDocument)[S.$createElement]("base"));
      base.href = dart.nullCheck(html$.document[S.$baseUri]);
      dart.nullCheck(dart.nullCheck(html$.Element._parseDocument)[S.$head])[S.$append](base);
    }
    if (dart.nullCheck(html$.Element._parseDocument).body == null) {
      dart.nullCheck(html$.Element._parseDocument).body = html$.BodyElement.as(dart.nullCheck(html$.Element._parseDocument)[S.$createElement]("body"));
    }
    let contextElement = null;
    if (html$.BodyElement.is(this)) {
      contextElement = dart.nullCheck(dart.nullCheck(html$.Element._parseDocument).body);
    } else {
      contextElement = dart.nullCheck(html$.Element._parseDocument)[S.$createElement](this.tagName);
      dart.nullCheck(dart.nullCheck(html$.Element._parseDocument).body)[S.$append](html$.Node.as(contextElement));
    }
    let fragment = null;
    if (dart.test(html$.Range.supportsCreateContextualFragment) && dart.test(this[S._canBeUsedToCreateContextualFragment])) {
      dart.nullCheck(html$.Element._parseRange).selectNodeContents(html$.Node.as(contextElement));
      fragment = dart.nullCheck(html$.Element._parseRange).createContextualFragment((t232 = html, t232 == null ? "null" : t232));
    } else {
      dart.dput(contextElement, S._innerHtml, html);
      fragment = dart.nullCheck(html$.Element._parseDocument).createDocumentFragment();
      while (dart.dload(contextElement, 'firstChild') != null) {
        fragment[S.$append](html$.Node.as(dart.dload(contextElement, 'firstChild')));
      }
    }
    if (!dart.equals(contextElement, dart.nullCheck(html$.Element._parseDocument).body)) {
      dart.dsend(contextElement, 'remove', []);
    }
    dart.nullCheck(treeSanitizer).sanitizeTree(fragment);
    html$.document.adoptNode(fragment);
    return fragment;
  }
  get [S._canBeUsedToCreateContextualFragment]() {
    return !dart.test(this[S._cannotBeUsedToCreateContextualFragment]);
  }
  get [S._cannotBeUsedToCreateContextualFragment]() {
    return html$.Element._tagsForWhichCreateContextualFragmentIsNotSupported[$contains](this.tagName);
  }
  set [S.$innerHtml](html) {
    this[S.$setInnerHtml](html);
  }
  [S.$setInnerHtml](html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    this[S.$text] = null;
    if (html$._TrustedHtmlTreeSanitizer.is(treeSanitizer)) {
      this[S._innerHtml] = html;
    } else {
      this[S.$append](this[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer}));
    }
  }
  get [S.$innerHtml]() {
    return this[S._innerHtml];
  }
  get [S.$innerText]() {
    return this.innerText;
  }
  set [S.$innerText](value) {
    this.innerText = value;
  }
  get [S.$on]() {
    return new html$.ElementEvents.new(this);
  }
  static _hasCorruptedAttributes(element) {
    if (element == null) dart.nullFailed(I[147], 13873, 47, "element");
    return (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);
  }
  static _hasCorruptedAttributesAdditionalCheck(element) {
    if (element == null) dart.nullFailed(I[147], 13925, 62, "element");
    return !(element.attributes instanceof NamedNodeMap);
  }
  static _safeTagName(element) {
    let result = "element tag unavailable";
    try {
      if (typeof dart.dload(element, 'tagName') == 'string') {
        result = core.String.as(dart.dload(element, 'tagName'));
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
    return result;
  }
  get [S.$offsetParent]() {
    return this.offsetParent;
  }
  get [S.$offsetHeight]() {
    return this.offsetHeight[$round]();
  }
  get [S.$offsetLeft]() {
    return this.offsetLeft[$round]();
  }
  get [S.$offsetTop]() {
    return this.offsetTop[$round]();
  }
  get [S.$offsetWidth]() {
    return this.offsetWidth[$round]();
  }
  get [S.$scrollHeight]() {
    return this.scrollHeight[$round]();
  }
  get [S.$scrollLeft]() {
    return this.scrollLeft[$round]();
  }
  set [S.$scrollLeft](value) {
    if (value == null) dart.nullFailed(I[147], 13952, 22, "value");
    this.scrollLeft = value[$round]();
  }
  get [S.$scrollTop]() {
    return this.scrollTop[$round]();
  }
  set [S.$scrollTop](value) {
    if (value == null) dart.nullFailed(I[147], 13958, 21, "value");
    this.scrollTop = value[$round]();
  }
  get [S.$scrollWidth]() {
    return this.scrollWidth[$round]();
  }
  get [S.$contentEditable]() {
    return this.contentEditable;
  }
  set [S.$contentEditable](value) {
    this.contentEditable = value;
  }
  get [S.$dir]() {
    return this.dir;
  }
  set [S.$dir](value) {
    this.dir = value;
  }
  get [S.$draggable]() {
    return this.draggable;
  }
  set [S.$draggable](value) {
    this.draggable = value;
  }
  get [S.$hidden]() {
    return this.hidden;
  }
  set [S.$hidden](value) {
    this.hidden = value;
  }
  get [S.$inert]() {
    return this.inert;
  }
  set [S.$inert](value) {
    this.inert = value;
  }
  get [S.$inputMode]() {
    return this.inputMode;
  }
  set [S.$inputMode](value) {
    this.inputMode = value;
  }
  get [S.$isContentEditable]() {
    return this.isContentEditable;
  }
  get [S.$lang]() {
    return this.lang;
  }
  set [S.$lang](value) {
    this.lang = value;
  }
  get [S.$spellcheck]() {
    return this.spellcheck;
  }
  set [S.$spellcheck](value) {
    this.spellcheck = value;
  }
  get [S.$style]() {
    return this.style;
  }
  get [S.$tabIndex]() {
    return this.tabIndex;
  }
  set [S.$tabIndex](value) {
    this.tabIndex = value;
  }
  get [S.$title]() {
    return this.title;
  }
  set [S.$title](value) {
    this.title = value;
  }
  get [S.$translate]() {
    return this.translate;
  }
  set [S.$translate](value) {
    this.translate = value;
  }
  [S.$blur](...args) {
    return this.blur.apply(this, args);
  }
  [S.$click](...args) {
    return this.click.apply(this, args);
  }
  [S.$focus](...args) {
    return this.focus.apply(this, args);
  }
  get [S.$accessibleNode]() {
    return this.accessibleNode;
  }
  get [S.$assignedSlot]() {
    return this.assignedSlot;
  }
  get [S._attributes$1]() {
    return this.attributes;
  }
  get [S.$className]() {
    return this.className;
  }
  set [S.$className](value) {
    this.className = value;
  }
  get [S.$clientHeight]() {
    return this.clientHeight;
  }
  get [S.$clientLeft]() {
    return this.clientLeft;
  }
  get [S.$clientTop]() {
    return this.clientTop;
  }
  get [S.$clientWidth]() {
    return this.clientWidth;
  }
  get [S.$computedName]() {
    return this.computedName;
  }
  get [S.$computedRole]() {
    return this.computedRole;
  }
  get [S.$id]() {
    return this.id;
  }
  set [S.$id](value) {
    this.id = value;
  }
  get [S._innerHtml]() {
    return this.innerHTML;
  }
  set [S._innerHtml](value) {
    this.innerHTML = value;
  }
  get [S._localName]() {
    return this.localName;
  }
  get [S._namespaceUri]() {
    return this.namespaceURI;
  }
  get [S.$outerHtml]() {
    return this.outerHTML;
  }
  get [S._scrollHeight]() {
    return this.scrollHeight;
  }
  get [S._scrollLeft]() {
    return this.scrollLeft;
  }
  set [S._scrollLeft](value) {
    this.scrollLeft = value;
  }
  get [S._scrollTop]() {
    return this.scrollTop;
  }
  set [S._scrollTop](value) {
    this.scrollTop = value;
  }
  get [S._scrollWidth]() {
    return this.scrollWidth;
  }
  get [S.$slot]() {
    return this.slot;
  }
  set [S.$slot](value) {
    this.slot = value;
  }
  get [S.$styleMap]() {
    return this.styleMap;
  }
  get [S.$tagName]() {
    return this.tagName;
  }
  [S.$attachShadow](shadowRootInitDict) {
    if (shadowRootInitDict == null) dart.nullFailed(I[147], 14681, 31, "shadowRootInitDict");
    let shadowRootInitDict_1 = html_common.convertDartToNative_Dictionary(shadowRootInitDict);
    return this[S._attachShadow_1](shadowRootInitDict_1);
  }
  [S._attachShadow_1](...args) {
    return this.attachShadow.apply(this, args);
  }
  [S.$closest](...args) {
    return this.closest.apply(this, args);
  }
  [S.$getAnimations](...args) {
    return this.getAnimations.apply(this, args);
  }
  [S._getAttribute](...args) {
    return this.getAttribute.apply(this, args);
  }
  [S._getAttributeNS](...args) {
    return this.getAttributeNS.apply(this, args);
  }
  [S.$getAttributeNames](...args) {
    return this.getAttributeNames.apply(this, args);
  }
  [S.$getBoundingClientRect](...args) {
    return this.getBoundingClientRect.apply(this, args);
  }
  [S._getClientRects](...args) {
    return this.getClientRects.apply(this, args);
  }
  [S.$getDestinationInsertionPoints](...args) {
    return this.getDestinationInsertionPoints.apply(this, args);
  }
  [S.$getElementsByClassName](...args) {
    return this.getElementsByClassName.apply(this, args);
  }
  [S._getElementsByTagName](...args) {
    return this.getElementsByTagName.apply(this, args);
  }
  [S._hasAttribute](...args) {
    return this.hasAttribute.apply(this, args);
  }
  [S._hasAttributeNS](...args) {
    return this.hasAttributeNS.apply(this, args);
  }
  [S.$hasPointerCapture](...args) {
    return this.hasPointerCapture.apply(this, args);
  }
  [S.$releasePointerCapture](...args) {
    return this.releasePointerCapture.apply(this, args);
  }
  [S._removeAttribute](...args) {
    return this.removeAttribute.apply(this, args);
  }
  [S._removeAttributeNS](...args) {
    return this.removeAttributeNS.apply(this, args);
  }
  [S.$requestPointerLock](...args) {
    return this.requestPointerLock.apply(this, args);
  }
  [S.$scroll](options_OR_x = null, y = null) {
    if (options_OR_x == null && y == null) {
      this[S._scroll_1]();
      return;
    }
    if (core.Map.is(options_OR_x) && y == null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options_OR_x);
      this[S._scroll_2](options_1);
      return;
    }
    if (y != null && typeof options_OR_x == 'number') {
      this[S._scroll_3](options_OR_x, y);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S._scroll_1](...args) {
    return this.scroll.apply(this, args);
  }
  [S._scroll_2](...args) {
    return this.scroll.apply(this, args);
  }
  [S._scroll_3](...args) {
    return this.scroll.apply(this, args);
  }
  [S.$scrollBy](options_OR_x = null, y = null) {
    if (options_OR_x == null && y == null) {
      this[S._scrollBy_1]();
      return;
    }
    if (core.Map.is(options_OR_x) && y == null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options_OR_x);
      this[S._scrollBy_2](options_1);
      return;
    }
    if (y != null && typeof options_OR_x == 'number') {
      this[S._scrollBy_3](options_OR_x, y);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S._scrollBy_1](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S._scrollBy_2](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S._scrollBy_3](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S._scrollIntoView](...args) {
    return this.scrollIntoView.apply(this, args);
  }
  [S._scrollIntoViewIfNeeded](...args) {
    return this.scrollIntoViewIfNeeded.apply(this, args);
  }
  [S.$scrollTo](options_OR_x = null, y = null) {
    if (options_OR_x == null && y == null) {
      this[S._scrollTo_1]();
      return;
    }
    if (core.Map.is(options_OR_x) && y == null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options_OR_x);
      this[S._scrollTo_2](options_1);
      return;
    }
    if (y != null && typeof options_OR_x == 'number') {
      this[S._scrollTo_3](options_OR_x, y);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S._scrollTo_1](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S._scrollTo_2](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S._scrollTo_3](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S._setAttribute](...args) {
    return this.setAttribute.apply(this, args);
  }
  [S._setAttributeNS](...args) {
    return this.setAttributeNS.apply(this, args);
  }
  [S.$setPointerCapture](...args) {
    return this.setPointerCapture.apply(this, args);
  }
  [S.$requestFullscreen](...args) {
    return this.webkitRequestFullscreen.apply(this, args);
  }
  [S.$after](...args) {
    return this.after.apply(this, args);
  }
  [S.$before](...args) {
    return this.before.apply(this, args);
  }
  get [S.$nextElementSibling]() {
    return this.nextElementSibling;
  }
  get [S.$previousElementSibling]() {
    return this.previousElementSibling;
  }
  get [S._childElementCount]() {
    return this.childElementCount;
  }
  get [S._firstElementChild]() {
    return this.firstElementChild;
  }
  get [S._lastElementChild]() {
    return this.lastElementChild;
  }
  [S.$querySelector](...args) {
    return this.querySelector.apply(this, args);
  }
  [S._querySelectorAll](...args) {
    return this.querySelectorAll.apply(this, args);
  }
  get [S.$onAbort]() {
    return html$.Element.abortEvent.forElement(this);
  }
  get [S.$onBeforeCopy]() {
    return html$.Element.beforeCopyEvent.forElement(this);
  }
  get [S.$onBeforeCut]() {
    return html$.Element.beforeCutEvent.forElement(this);
  }
  get [S.$onBeforePaste]() {
    return html$.Element.beforePasteEvent.forElement(this);
  }
  get [S.$onBlur]() {
    return html$.Element.blurEvent.forElement(this);
  }
  get [S.$onCanPlay]() {
    return html$.Element.canPlayEvent.forElement(this);
  }
  get [S.$onCanPlayThrough]() {
    return html$.Element.canPlayThroughEvent.forElement(this);
  }
  get [S.$onChange]() {
    return html$.Element.changeEvent.forElement(this);
  }
  get [S.$onClick]() {
    return html$.Element.clickEvent.forElement(this);
  }
  get [S.$onContextMenu]() {
    return html$.Element.contextMenuEvent.forElement(this);
  }
  get [S.$onCopy]() {
    return html$.Element.copyEvent.forElement(this);
  }
  get [S.$onCut]() {
    return html$.Element.cutEvent.forElement(this);
  }
  get [S.$onDoubleClick]() {
    return html$.Element.doubleClickEvent.forElement(this);
  }
  get [S.$onDrag]() {
    return html$.Element.dragEvent.forElement(this);
  }
  get [S.$onDragEnd]() {
    return html$.Element.dragEndEvent.forElement(this);
  }
  get [S.$onDragEnter]() {
    return html$.Element.dragEnterEvent.forElement(this);
  }
  get [S.$onDragLeave]() {
    return html$.Element.dragLeaveEvent.forElement(this);
  }
  get [S.$onDragOver]() {
    return html$.Element.dragOverEvent.forElement(this);
  }
  get [S.$onDragStart]() {
    return html$.Element.dragStartEvent.forElement(this);
  }
  get [S.$onDrop]() {
    return html$.Element.dropEvent.forElement(this);
  }
  get [S.$onDurationChange]() {
    return html$.Element.durationChangeEvent.forElement(this);
  }
  get [S.$onEmptied]() {
    return html$.Element.emptiedEvent.forElement(this);
  }
  get [S.$onEnded]() {
    return html$.Element.endedEvent.forElement(this);
  }
  get [S.$onError]() {
    return html$.Element.errorEvent.forElement(this);
  }
  get [S.$onFocus]() {
    return html$.Element.focusEvent.forElement(this);
  }
  get [S.$onInput]() {
    return html$.Element.inputEvent.forElement(this);
  }
  get [S.$onInvalid]() {
    return html$.Element.invalidEvent.forElement(this);
  }
  get [S.$onKeyDown]() {
    return html$.Element.keyDownEvent.forElement(this);
  }
  get [S.$onKeyPress]() {
    return html$.Element.keyPressEvent.forElement(this);
  }
  get [S.$onKeyUp]() {
    return html$.Element.keyUpEvent.forElement(this);
  }
  get [S.$onLoad]() {
    return html$.Element.loadEvent.forElement(this);
  }
  get [S.$onLoadedData]() {
    return html$.Element.loadedDataEvent.forElement(this);
  }
  get [S.$onLoadedMetadata]() {
    return html$.Element.loadedMetadataEvent.forElement(this);
  }
  get [S.$onMouseDown]() {
    return html$.Element.mouseDownEvent.forElement(this);
  }
  get [S.$onMouseEnter]() {
    return html$.Element.mouseEnterEvent.forElement(this);
  }
  get [S.$onMouseLeave]() {
    return html$.Element.mouseLeaveEvent.forElement(this);
  }
  get [S.$onMouseMove]() {
    return html$.Element.mouseMoveEvent.forElement(this);
  }
  get [S.$onMouseOut]() {
    return html$.Element.mouseOutEvent.forElement(this);
  }
  get [S.$onMouseOver]() {
    return html$.Element.mouseOverEvent.forElement(this);
  }
  get [S.$onMouseUp]() {
    return html$.Element.mouseUpEvent.forElement(this);
  }
  get [S.$onMouseWheel]() {
    return html$.Element.mouseWheelEvent.forElement(this);
  }
  get [S.$onPaste]() {
    return html$.Element.pasteEvent.forElement(this);
  }
  get [S.$onPause]() {
    return html$.Element.pauseEvent.forElement(this);
  }
  get [S.$onPlay]() {
    return html$.Element.playEvent.forElement(this);
  }
  get [S.$onPlaying]() {
    return html$.Element.playingEvent.forElement(this);
  }
  get [S.$onRateChange]() {
    return html$.Element.rateChangeEvent.forElement(this);
  }
  get [S.$onReset]() {
    return html$.Element.resetEvent.forElement(this);
  }
  get [S.$onResize]() {
    return html$.Element.resizeEvent.forElement(this);
  }
  get [S.$onScroll]() {
    return html$.Element.scrollEvent.forElement(this);
  }
  get [S.$onSearch]() {
    return html$.Element.searchEvent.forElement(this);
  }
  get [S.$onSeeked]() {
    return html$.Element.seekedEvent.forElement(this);
  }
  get [S.$onSeeking]() {
    return html$.Element.seekingEvent.forElement(this);
  }
  get [S.$onSelect]() {
    return html$.Element.selectEvent.forElement(this);
  }
  get [S.$onSelectStart]() {
    return html$.Element.selectStartEvent.forElement(this);
  }
  get [S$.$onStalled]() {
    return html$.Element.stalledEvent.forElement(this);
  }
  get [S$.$onSubmit]() {
    return html$.Element.submitEvent.forElement(this);
  }
  get [S$.$onSuspend]() {
    return html$.Element.suspendEvent.forElement(this);
  }
  get [S$.$onTimeUpdate]() {
    return html$.Element.timeUpdateEvent.forElement(this);
  }
  get [S$.$onTouchCancel]() {
    return html$.Element.touchCancelEvent.forElement(this);
  }
  get [S$.$onTouchEnd]() {
    return html$.Element.touchEndEvent.forElement(this);
  }
  get [S$.$onTouchEnter]() {
    return html$.Element.touchEnterEvent.forElement(this);
  }
  get [S$.$onTouchLeave]() {
    return html$.Element.touchLeaveEvent.forElement(this);
  }
  get [S$.$onTouchMove]() {
    return html$.Element.touchMoveEvent.forElement(this);
  }
  get [S$.$onTouchStart]() {
    return html$.Element.touchStartEvent.forElement(this);
  }
  get [S$.$onTransitionEnd]() {
    return html$.Element.transitionEndEvent.forElement(this);
  }
  get [S$.$onVolumeChange]() {
    return html$.Element.volumeChangeEvent.forElement(this);
  }
  get [S$.$onWaiting]() {
    return html$.Element.waitingEvent.forElement(this);
  }
  get [S$.$onFullscreenChange]() {
    return html$.Element.fullscreenChangeEvent.forElement(this);
  }
  get [S$.$onFullscreenError]() {
    return html$.Element.fullscreenErrorEvent.forElement(this);
  }
  get [S$.$onWheel]() {
    return html$.Element.wheelEvent.forElement(this);
  }
};
(html$.Element.created = function() {
  html$.Element.__proto__._created.call(this);
  ;
}).prototype = html$.Element.prototype;
dart.addTypeTests(html$.Element);
dart.addTypeCaches(html$.Element);
html$.Element[dart.implements] = () => [html$.NonDocumentTypeChildNode, html$.GlobalEventHandlers, html$.ParentNode, html$.ChildNode];
dart.setMethodSignature(html$.Element, () => ({
  __proto__: dart.getMethods(html$.Element.__proto__),
  [S.$getAttribute]: dart.fnType(dart.nullable(core.String), [core.String]),
  [S.$getAttributeNS]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.String), core.String]),
  [S.$hasAttribute]: dart.fnType(core.bool, [core.String]),
  [S.$hasAttributeNS]: dart.fnType(core.bool, [dart.nullable(core.String), core.String]),
  [S.$removeAttribute]: dart.fnType(dart.void, [core.String]),
  [S.$removeAttributeNS]: dart.fnType(dart.void, [dart.nullable(core.String), core.String]),
  [S.$setAttribute]: dart.fnType(dart.void, [core.String, core.String]),
  [S.$setAttributeNS]: dart.fnType(dart.void, [dart.nullable(core.String), core.String, core.String]),
  [S.$querySelectorAll]: dart.gFnType(T => [html$.ElementList$(T), [core.String]], T => [html$.Element]),
  [S._setApplyScroll]: dart.fnType(dart.void, [dart.fnType(dart.void, [html$.ScrollState]), core.String]),
  [S.$setApplyScroll]: dart.fnType(async.Future$(html$.ScrollState), [core.String]),
  [S._setDistributeScroll]: dart.fnType(dart.void, [dart.fnType(dart.void, [html$.ScrollState]), core.String]),
  [S.$setDistributeScroll]: dart.fnType(async.Future$(html$.ScrollState), [core.String]),
  [S.$getNamespacedAttributes]: dart.fnType(core.Map$(core.String, core.String), [core.String]),
  [S.$getComputedStyle]: dart.fnType(html$.CssStyleDeclaration, [], [dart.nullable(core.String)]),
  [S.$appendText]: dart.fnType(dart.void, [core.String]),
  [S.$appendHtml]: dart.fnType(dart.void, [core.String], {treeSanitizer: dart.nullable(html$.NodeTreeSanitizer), validator: dart.nullable(html$.NodeValidator)}, {}),
  [S.$attached]: dart.fnType(dart.void, []),
  [S.$detached]: dart.fnType(dart.void, []),
  [S.$enteredView]: dart.fnType(dart.void, []),
  [S.$getClientRects]: dart.fnType(core.List$(math.Rectangle$(core.num)), []),
  [S.$leftView]: dart.fnType(dart.void, []),
  [S.$animate]: dart.fnType(html$.Animation, [core.Iterable$(core.Map$(core.String, dart.dynamic))], [dart.dynamic]),
  [S._animate]: dart.fnType(html$.Animation, [core.Object], [dart.dynamic]),
  [S.$attributeChanged]: dart.fnType(dart.void, [core.String, core.String, core.String]),
  [S.$scrollIntoView]: dart.fnType(dart.void, [], [dart.nullable(html$.ScrollAlignment)]),
  [S.$insertAdjacentText]: dart.fnType(dart.void, [core.String, core.String]),
  [S._insertAdjacentText]: dart.fnType(dart.void, [core.String, core.String]),
  [S.$insertAdjacentHtml]: dart.fnType(dart.void, [core.String, core.String], {treeSanitizer: dart.nullable(html$.NodeTreeSanitizer), validator: dart.nullable(html$.NodeValidator)}, {}),
  [S._insertAdjacentHtml]: dart.fnType(dart.void, [core.String, core.String]),
  [S.$insertAdjacentElement]: dart.fnType(html$.Element, [core.String, html$.Element]),
  [S._insertAdjacentElement]: dart.fnType(dart.void, [core.String, html$.Element]),
  [S._insertAdjacentNode]: dart.fnType(dart.void, [core.String, html$.Node]),
  [S.$matches]: dart.fnType(core.bool, [core.String]),
  [S.$matchesWithAncestors]: dart.fnType(core.bool, [core.String]),
  [S.$createShadowRoot]: dart.fnType(html$.ShadowRoot, []),
  [S.$offsetTo]: dart.fnType(math.Point$(core.num), [html$.Element]),
  [S.$createFragment]: dart.fnType(html$.DocumentFragment, [dart.nullable(core.String)], {treeSanitizer: dart.nullable(html$.NodeTreeSanitizer), validator: dart.nullable(html$.NodeValidator)}, {}),
  [S.$setInnerHtml]: dart.fnType(dart.void, [dart.nullable(core.String)], {treeSanitizer: dart.nullable(html$.NodeTreeSanitizer), validator: dart.nullable(html$.NodeValidator)}, {}),
  [S.$blur]: dart.fnType(dart.void, []),
  [S.$click]: dart.fnType(dart.void, []),
  [S.$focus]: dart.fnType(dart.void, []),
  [S.$attachShadow]: dart.fnType(html$.ShadowRoot, [core.Map]),
  [S._attachShadow_1]: dart.fnType(html$.ShadowRoot, [dart.dynamic]),
  [S.$closest]: dart.fnType(dart.nullable(html$.Element), [core.String]),
  [S.$getAnimations]: dart.fnType(core.List$(html$.Animation), []),
  [S._getAttribute]: dart.fnType(dart.nullable(core.String), [core.String]),
  [S._getAttributeNS]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.String), core.String]),
  [S.$getAttributeNames]: dart.fnType(core.List$(core.String), []),
  [S.$getBoundingClientRect]: dart.fnType(math.Rectangle$(core.num), []),
  [S._getClientRects]: dart.fnType(core.List$(math.Rectangle$(core.num)), []),
  [S.$getDestinationInsertionPoints]: dart.fnType(core.List$(html$.Node), []),
  [S.$getElementsByClassName]: dart.fnType(core.List$(html$.Node), [core.String]),
  [S._getElementsByTagName]: dart.fnType(core.List$(html$.Node), [core.String]),
  [S._hasAttribute]: dart.fnType(core.bool, [core.String]),
  [S._hasAttributeNS]: dart.fnType(core.bool, [dart.nullable(core.String), core.String]),
  [S.$hasPointerCapture]: dart.fnType(core.bool, [core.int]),
  [S.$releasePointerCapture]: dart.fnType(dart.void, [core.int]),
  [S._removeAttribute]: dart.fnType(dart.void, [core.String]),
  [S._removeAttributeNS]: dart.fnType(dart.void, [dart.nullable(core.String), core.String]),
  [S.$requestPointerLock]: dart.fnType(dart.void, []),
  [S.$scroll]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.num)]),
  [S._scroll_1]: dart.fnType(dart.void, []),
  [S._scroll_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S._scroll_3]: dart.fnType(dart.void, [dart.nullable(core.num), dart.dynamic]),
  [S.$scrollBy]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.num)]),
  [S._scrollBy_1]: dart.fnType(dart.void, []),
  [S._scrollBy_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S._scrollBy_3]: dart.fnType(dart.void, [dart.nullable(core.num), dart.dynamic]),
  [S._scrollIntoView]: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  [S._scrollIntoViewIfNeeded]: dart.fnType(dart.void, [], [dart.nullable(core.bool)]),
  [S.$scrollTo]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.num)]),
  [S._scrollTo_1]: dart.fnType(dart.void, []),
  [S._scrollTo_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S._scrollTo_3]: dart.fnType(dart.void, [dart.nullable(core.num), dart.dynamic]),
  [S._setAttribute]: dart.fnType(dart.void, [core.String, core.String]),
  [S._setAttributeNS]: dart.fnType(dart.void, [dart.nullable(core.String), core.String, core.String]),
  [S.$setPointerCapture]: dart.fnType(dart.void, [core.int]),
  [S.$requestFullscreen]: dart.fnType(dart.void, []),
  [S.$after]: dart.fnType(dart.void, [core.Object]),
  [S.$before]: dart.fnType(dart.void, [core.Object]),
  [S.$querySelector]: dart.fnType(dart.nullable(html$.Element), [core.String]),
  [S._querySelectorAll]: dart.fnType(core.List$(html$.Node), [core.String])
}));
dart.setGetterSignature(html$.Element, () => ({
  __proto__: dart.getGetters(html$.Element.__proto__),
  [S.$attributes]: core.Map$(core.String, core.String),
  [S.$children]: core.List$(html$.Element),
  [S._children]: core.List$(html$.Node),
  [S.$classes]: html$.CssClassSet,
  [S.$dataset]: core.Map$(core.String, core.String),
  [S.$client]: math.Rectangle$(core.num),
  [S.$offset]: math.Rectangle$(core.num),
  [S.$localName]: core.String,
  [S.$namespaceUri]: dart.nullable(core.String),
  [S.$shadowRoot]: dart.nullable(html$.ShadowRoot),
  [S.$contentEdge]: html$.CssRect,
  [S.$paddingEdge]: html$.CssRect,
  [S.$borderEdge]: html$.CssRect,
  [S.$marginEdge]: html$.CssRect,
  [S.$documentOffset]: math.Point$(core.num),
  [S._canBeUsedToCreateContextualFragment]: core.bool,
  [S._cannotBeUsedToCreateContextualFragment]: core.bool,
  [S.$innerHtml]: dart.nullable(core.String),
  [S.$innerText]: core.String,
  [S.$on]: html$.ElementEvents,
  [S.$offsetParent]: dart.nullable(html$.Element),
  [S.$offsetHeight]: core.int,
  [S.$offsetLeft]: core.int,
  [S.$offsetTop]: core.int,
  [S.$offsetWidth]: core.int,
  [S.$scrollHeight]: core.int,
  [S.$scrollLeft]: core.int,
  [S.$scrollTop]: core.int,
  [S.$scrollWidth]: core.int,
  [S.$contentEditable]: core.String,
  [S.$dir]: dart.nullable(core.String),
  [S.$draggable]: core.bool,
  [S.$hidden]: core.bool,
  [S.$inert]: dart.nullable(core.bool),
  [S.$inputMode]: dart.nullable(core.String),
  [S.$isContentEditable]: dart.nullable(core.bool),
  [S.$lang]: dart.nullable(core.String),
  [S.$spellcheck]: dart.nullable(core.bool),
  [S.$style]: html$.CssStyleDeclaration,
  [S.$tabIndex]: dart.nullable(core.int),
  [S.$title]: dart.nullable(core.String),
  [S.$translate]: dart.nullable(core.bool),
  [S.$accessibleNode]: dart.nullable(html$.AccessibleNode),
  [S.$assignedSlot]: dart.nullable(html$.SlotElement),
  [S._attributes$1]: dart.nullable(html$._NamedNodeMap),
  [S.$className]: core.String,
  [S.$clientHeight]: core.int,
  [S.$clientLeft]: dart.nullable(core.int),
  [S.$clientTop]: dart.nullable(core.int),
  [S.$clientWidth]: core.int,
  [S.$computedName]: dart.nullable(core.String),
  [S.$computedRole]: dart.nullable(core.String),
  [S.$id]: core.String,
  [S._innerHtml]: dart.nullable(core.String),
  [S._localName]: dart.nullable(core.String),
  [S._namespaceUri]: dart.nullable(core.String),
  [S.$outerHtml]: dart.nullable(core.String),
  [S._scrollHeight]: dart.nullable(core.int),
  [S._scrollLeft]: core.num,
  [S._scrollTop]: core.num,
  [S._scrollWidth]: dart.nullable(core.int),
  [S.$slot]: dart.nullable(core.String),
  [S.$styleMap]: dart.nullable(html$.StylePropertyMap),
  [S.$tagName]: core.String,
  [S.$nextElementSibling]: dart.nullable(html$.Element),
  [S.$previousElementSibling]: dart.nullable(html$.Element),
  [S._childElementCount]: core.int,
  [S._firstElementChild]: dart.nullable(html$.Element),
  [S._lastElementChild]: dart.nullable(html$.Element),
  [S.$onAbort]: html$.ElementStream$(html$.Event),
  [S.$onBeforeCopy]: html$.ElementStream$(html$.Event),
  [S.$onBeforeCut]: html$.ElementStream$(html$.Event),
  [S.$onBeforePaste]: html$.ElementStream$(html$.Event),
  [S.$onBlur]: html$.ElementStream$(html$.Event),
  [S.$onCanPlay]: html$.ElementStream$(html$.Event),
  [S.$onCanPlayThrough]: html$.ElementStream$(html$.Event),
  [S.$onChange]: html$.ElementStream$(html$.Event),
  [S.$onClick]: html$.ElementStream$(html$.MouseEvent),
  [S.$onContextMenu]: html$.ElementStream$(html$.MouseEvent),
  [S.$onCopy]: html$.ElementStream$(html$.ClipboardEvent),
  [S.$onCut]: html$.ElementStream$(html$.ClipboardEvent),
  [S.$onDoubleClick]: html$.ElementStream$(html$.Event),
  [S.$onDrag]: html$.ElementStream$(html$.MouseEvent),
  [S.$onDragEnd]: html$.ElementStream$(html$.MouseEvent),
  [S.$onDragEnter]: html$.ElementStream$(html$.MouseEvent),
  [S.$onDragLeave]: html$.ElementStream$(html$.MouseEvent),
  [S.$onDragOver]: html$.ElementStream$(html$.MouseEvent),
  [S.$onDragStart]: html$.ElementStream$(html$.MouseEvent),
  [S.$onDrop]: html$.ElementStream$(html$.MouseEvent),
  [S.$onDurationChange]: html$.ElementStream$(html$.Event),
  [S.$onEmptied]: html$.ElementStream$(html$.Event),
  [S.$onEnded]: html$.ElementStream$(html$.Event),
  [S.$onError]: html$.ElementStream$(html$.Event),
  [S.$onFocus]: html$.ElementStream$(html$.Event),
  [S.$onInput]: html$.ElementStream$(html$.Event),
  [S.$onInvalid]: html$.ElementStream$(html$.Event),
  [S.$onKeyDown]: html$.ElementStream$(html$.KeyboardEvent),
  [S.$onKeyPress]: html$.ElementStream$(html$.KeyboardEvent),
  [S.$onKeyUp]: html$.ElementStream$(html$.KeyboardEvent),
  [S.$onLoad]: html$.ElementStream$(html$.Event),
  [S.$onLoadedData]: html$.ElementStream$(html$.Event),
  [S.$onLoadedMetadata]: html$.ElementStream$(html$.Event),
  [S.$onMouseDown]: html$.ElementStream$(html$.MouseEvent),
  [S.$onMouseEnter]: html$.ElementStream$(html$.MouseEvent),
  [S.$onMouseLeave]: html$.ElementStream$(html$.MouseEvent),
  [S.$onMouseMove]: html$.ElementStream$(html$.MouseEvent),
  [S.$onMouseOut]: html$.ElementStream$(html$.MouseEvent),
  [S.$onMouseOver]: html$.ElementStream$(html$.MouseEvent),
  [S.$onMouseUp]: html$.ElementStream$(html$.MouseEvent),
  [S.$onMouseWheel]: html$.ElementStream$(html$.WheelEvent),
  [S.$onPaste]: html$.ElementStream$(html$.ClipboardEvent),
  [S.$onPause]: html$.ElementStream$(html$.Event),
  [S.$onPlay]: html$.ElementStream$(html$.Event),
  [S.$onPlaying]: html$.ElementStream$(html$.Event),
  [S.$onRateChange]: html$.ElementStream$(html$.Event),
  [S.$onReset]: html$.ElementStream$(html$.Event),
  [S.$onResize]: html$.ElementStream$(html$.Event),
  [S.$onScroll]: html$.ElementStream$(html$.Event),
  [S.$onSearch]: html$.ElementStream$(html$.Event),
  [S.$onSeeked]: html$.ElementStream$(html$.Event),
  [S.$onSeeking]: html$.ElementStream$(html$.Event),
  [S.$onSelect]: html$.ElementStream$(html$.Event),
  [S.$onSelectStart]: html$.ElementStream$(html$.Event),
  [S$.$onStalled]: html$.ElementStream$(html$.Event),
  [S$.$onSubmit]: html$.ElementStream$(html$.Event),
  [S$.$onSuspend]: html$.ElementStream$(html$.Event),
  [S$.$onTimeUpdate]: html$.ElementStream$(html$.Event),
  [S$.$onTouchCancel]: html$.ElementStream$(html$.TouchEvent),
  [S$.$onTouchEnd]: html$.ElementStream$(html$.TouchEvent),
  [S$.$onTouchEnter]: html$.ElementStream$(html$.TouchEvent),
  [S$.$onTouchLeave]: html$.ElementStream$(html$.TouchEvent),
  [S$.$onTouchMove]: html$.ElementStream$(html$.TouchEvent),
  [S$.$onTouchStart]: html$.ElementStream$(html$.TouchEvent),
  [S$.$onTransitionEnd]: html$.ElementStream$(html$.TransitionEvent),
  [S$.$onVolumeChange]: html$.ElementStream$(html$.Event),
  [S$.$onWaiting]: html$.ElementStream$(html$.Event),
  [S$.$onFullscreenChange]: html$.ElementStream$(html$.Event),
  [S$.$onFullscreenError]: html$.ElementStream$(html$.Event),
  [S$.$onWheel]: html$.ElementStream$(html$.WheelEvent)
}));
dart.setSetterSignature(html$.Element, () => ({
  __proto__: dart.getSetters(html$.Element.__proto__),
  [S.$attributes]: core.Map$(core.String, core.String),
  [S.$children]: core.List$(html$.Element),
  [S.$classes]: core.Iterable$(core.String),
  [S.$dataset]: core.Map$(core.String, core.String),
  [S.$innerHtml]: dart.nullable(core.String),
  [S.$innerText]: core.String,
  [S.$scrollLeft]: core.int,
  [S.$scrollTop]: core.int,
  [S.$contentEditable]: core.String,
  [S.$dir]: dart.nullable(core.String),
  [S.$draggable]: core.bool,
  [S.$hidden]: core.bool,
  [S.$inert]: dart.nullable(core.bool),
  [S.$inputMode]: dart.nullable(core.String),
  [S.$lang]: dart.nullable(core.String),
  [S.$spellcheck]: dart.nullable(core.bool),
  [S.$tabIndex]: dart.nullable(core.int),
  [S.$title]: dart.nullable(core.String),
  [S.$translate]: dart.nullable(core.bool),
  [S.$className]: core.String,
  [S.$id]: core.String,
  [S._innerHtml]: dart.nullable(core.String),
  [S._scrollLeft]: core.num,
  [S._scrollTop]: core.num,
  [S.$slot]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Element, I[148]);
dart.defineLazy(html$.Element, {
  /*html$.Element.mouseWheelEvent*/get mouseWheelEvent() {
    return C[227] || CT.C227;
  },
  /*html$.Element.transitionEndEvent*/get transitionEndEvent() {
    return C[229] || CT.C229;
  },
  /*html$.Element._parseDocument*/get _parseDocument() {
    return null;
  },
  set _parseDocument(_) {},
  /*html$.Element._parseRange*/get _parseRange() {
    return null;
  },
  set _parseRange(_) {},
  /*html$.Element._defaultValidator*/get _defaultValidator() {
    return null;
  },
  set _defaultValidator(_) {},
  /*html$.Element._defaultSanitizer*/get _defaultSanitizer() {
    return null;
  },
  set _defaultSanitizer(_) {},
  /*html$.Element._tagsForWhichCreateContextualFragmentIsNotSupported*/get _tagsForWhichCreateContextualFragmentIsNotSupported() {
    return C[231] || CT.C231;
  },
  /*html$.Element.abortEvent*/get abortEvent() {
    return C[216] || CT.C216;
  },
  /*html$.Element.beforeCopyEvent*/get beforeCopyEvent() {
    return C[232] || CT.C232;
  },
  /*html$.Element.beforeCutEvent*/get beforeCutEvent() {
    return C[233] || CT.C233;
  },
  /*html$.Element.beforePasteEvent*/get beforePasteEvent() {
    return C[234] || CT.C234;
  },
  /*html$.Element.blurEvent*/get blurEvent() {
    return C[235] || CT.C235;
  },
  /*html$.Element.canPlayEvent*/get canPlayEvent() {
    return C[236] || CT.C236;
  },
  /*html$.Element.canPlayThroughEvent*/get canPlayThroughEvent() {
    return C[237] || CT.C237;
  },
  /*html$.Element.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  },
  /*html$.Element.clickEvent*/get clickEvent() {
    return C[239] || CT.C239;
  },
  /*html$.Element.contextMenuEvent*/get contextMenuEvent() {
    return C[240] || CT.C240;
  },
  /*html$.Element.copyEvent*/get copyEvent() {
    return C[241] || CT.C241;
  },
  /*html$.Element.cutEvent*/get cutEvent() {
    return C[242] || CT.C242;
  },
  /*html$.Element.doubleClickEvent*/get doubleClickEvent() {
    return C[243] || CT.C243;
  },
  /*html$.Element.dragEvent*/get dragEvent() {
    return C[244] || CT.C244;
  },
  /*html$.Element.dragEndEvent*/get dragEndEvent() {
    return C[245] || CT.C245;
  },
  /*html$.Element.dragEnterEvent*/get dragEnterEvent() {
    return C[246] || CT.C246;
  },
  /*html$.Element.dragLeaveEvent*/get dragLeaveEvent() {
    return C[247] || CT.C247;
  },
  /*html$.Element.dragOverEvent*/get dragOverEvent() {
    return C[248] || CT.C248;
  },
  /*html$.Element.dragStartEvent*/get dragStartEvent() {
    return C[249] || CT.C249;
  },
  /*html$.Element.dropEvent*/get dropEvent() {
    return C[250] || CT.C250;
  },
  /*html$.Element.durationChangeEvent*/get durationChangeEvent() {
    return C[251] || CT.C251;
  },
  /*html$.Element.emptiedEvent*/get emptiedEvent() {
    return C[252] || CT.C252;
  },
  /*html$.Element.endedEvent*/get endedEvent() {
    return C[253] || CT.C253;
  },
  /*html$.Element.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.Element.focusEvent*/get focusEvent() {
    return C[254] || CT.C254;
  },
  /*html$.Element.inputEvent*/get inputEvent() {
    return C[255] || CT.C255;
  },
  /*html$.Element.invalidEvent*/get invalidEvent() {
    return C[256] || CT.C256;
  },
  /*html$.Element.keyDownEvent*/get keyDownEvent() {
    return C[257] || CT.C257;
  },
  /*html$.Element.keyPressEvent*/get keyPressEvent() {
    return C[258] || CT.C258;
  },
  /*html$.Element.keyUpEvent*/get keyUpEvent() {
    return C[259] || CT.C259;
  },
  /*html$.Element.loadEvent*/get loadEvent() {
    return C[260] || CT.C260;
  },
  /*html$.Element.loadedDataEvent*/get loadedDataEvent() {
    return C[261] || CT.C261;
  },
  /*html$.Element.loadedMetadataEvent*/get loadedMetadataEvent() {
    return C[262] || CT.C262;
  },
  /*html$.Element.mouseDownEvent*/get mouseDownEvent() {
    return C[263] || CT.C263;
  },
  /*html$.Element.mouseEnterEvent*/get mouseEnterEvent() {
    return C[264] || CT.C264;
  },
  /*html$.Element.mouseLeaveEvent*/get mouseLeaveEvent() {
    return C[265] || CT.C265;
  },
  /*html$.Element.mouseMoveEvent*/get mouseMoveEvent() {
    return C[266] || CT.C266;
  },
  /*html$.Element.mouseOutEvent*/get mouseOutEvent() {
    return C[267] || CT.C267;
  },
  /*html$.Element.mouseOverEvent*/get mouseOverEvent() {
    return C[268] || CT.C268;
  },
  /*html$.Element.mouseUpEvent*/get mouseUpEvent() {
    return C[269] || CT.C269;
  },
  /*html$.Element.pasteEvent*/get pasteEvent() {
    return C[270] || CT.C270;
  },
  /*html$.Element.pauseEvent*/get pauseEvent() {
    return C[271] || CT.C271;
  },
  /*html$.Element.playEvent*/get playEvent() {
    return C[272] || CT.C272;
  },
  /*html$.Element.playingEvent*/get playingEvent() {
    return C[273] || CT.C273;
  },
  /*html$.Element.rateChangeEvent*/get rateChangeEvent() {
    return C[274] || CT.C274;
  },
  /*html$.Element.resetEvent*/get resetEvent() {
    return C[275] || CT.C275;
  },
  /*html$.Element.resizeEvent*/get resizeEvent() {
    return C[276] || CT.C276;
  },
  /*html$.Element.scrollEvent*/get scrollEvent() {
    return C[277] || CT.C277;
  },
  /*html$.Element.searchEvent*/get searchEvent() {
    return C[278] || CT.C278;
  },
  /*html$.Element.seekedEvent*/get seekedEvent() {
    return C[279] || CT.C279;
  },
  /*html$.Element.seekingEvent*/get seekingEvent() {
    return C[280] || CT.C280;
  },
  /*html$.Element.selectEvent*/get selectEvent() {
    return C[281] || CT.C281;
  },
  /*html$.Element.selectStartEvent*/get selectStartEvent() {
    return C[282] || CT.C282;
  },
  /*html$.Element.stalledEvent*/get stalledEvent() {
    return C[283] || CT.C283;
  },
  /*html$.Element.submitEvent*/get submitEvent() {
    return C[284] || CT.C284;
  },
  /*html$.Element.suspendEvent*/get suspendEvent() {
    return C[285] || CT.C285;
  },
  /*html$.Element.timeUpdateEvent*/get timeUpdateEvent() {
    return C[286] || CT.C286;
  },
  /*html$.Element.touchCancelEvent*/get touchCancelEvent() {
    return C[287] || CT.C287;
  },
  /*html$.Element.touchEndEvent*/get touchEndEvent() {
    return C[288] || CT.C288;
  },
  /*html$.Element.touchEnterEvent*/get touchEnterEvent() {
    return C[289] || CT.C289;
  },
  /*html$.Element.touchLeaveEvent*/get touchLeaveEvent() {
    return C[290] || CT.C290;
  },
  /*html$.Element.touchMoveEvent*/get touchMoveEvent() {
    return C[291] || CT.C291;
  },
  /*html$.Element.touchStartEvent*/get touchStartEvent() {
    return C[292] || CT.C292;
  },
  /*html$.Element.volumeChangeEvent*/get volumeChangeEvent() {
    return C[293] || CT.C293;
  },
  /*html$.Element.waitingEvent*/get waitingEvent() {
    return C[294] || CT.C294;
  },
  /*html$.Element.fullscreenChangeEvent*/get fullscreenChangeEvent() {
    return C[295] || CT.C295;
  },
  /*html$.Element.fullscreenErrorEvent*/get fullscreenErrorEvent() {
    return C[296] || CT.C296;
  },
  /*html$.Element.wheelEvent*/get wheelEvent() {
    return C[297] || CT.C297;
  }
}, false);
dart.registerExtension("Element", html$.Element);
html$.HtmlElement = class HtmlElement extends html$.Element {
  static new() {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  get [S.$nonce]() {
    return this.nonce;
  }
  set [S.$nonce](value) {
    this.nonce = value;
  }
};
(html$.HtmlElement.created = function() {
  html$.HtmlElement.__proto__.created.call(this);
  ;
}).prototype = html$.HtmlElement.prototype;
dart.addTypeTests(html$.HtmlElement);
dart.addTypeCaches(html$.HtmlElement);
html$.HtmlElement[dart.implements] = () => [html$.NoncedElement];
dart.setGetterSignature(html$.HtmlElement, () => ({
  __proto__: dart.getGetters(html$.HtmlElement.__proto__),
  [S.$nonce]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.HtmlElement, () => ({
  __proto__: dart.getSetters(html$.HtmlElement.__proto__),
  [S.$nonce]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.HtmlElement, I[148]);
dart.registerExtension("HTMLElement", html$.HtmlElement);
html$.ExtendableEvent = class ExtendableEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 15851, 34, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.ExtendableEvent._create_1(type, eventInitDict_1);
    }
    return html$.ExtendableEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new ExtendableEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new ExtendableEvent(type);
  }
  [S$.$waitUntil](...args) {
    return this.waitUntil.apply(this, args);
  }
};
dart.addTypeTests(html$.ExtendableEvent);
dart.addTypeCaches(html$.ExtendableEvent);
dart.setMethodSignature(html$.ExtendableEvent, () => ({
  __proto__: dart.getMethods(html$.ExtendableEvent.__proto__),
  [S$.$waitUntil]: dart.fnType(dart.void, [async.Future])
}));
dart.setLibraryUri(html$.ExtendableEvent, I[148]);
dart.registerExtension("ExtendableEvent", html$.ExtendableEvent);
html$.AbortPaymentEvent = class AbortPaymentEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 142, 36, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 142, 46, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.AbortPaymentEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new AbortPaymentEvent(type, eventInitDict);
  }
  [S$.$respondWith](...args) {
    return this.respondWith.apply(this, args);
  }
};
dart.addTypeTests(html$.AbortPaymentEvent);
dart.addTypeCaches(html$.AbortPaymentEvent);
dart.setMethodSignature(html$.AbortPaymentEvent, () => ({
  __proto__: dart.getMethods(html$.AbortPaymentEvent.__proto__),
  [S$.$respondWith]: dart.fnType(dart.void, [async.Future])
}));
dart.setLibraryUri(html$.AbortPaymentEvent, I[148]);
dart.registerExtension("AbortPaymentEvent", html$.AbortPaymentEvent);
html$.Sensor = class Sensor extends html$.EventTarget {
  get [S$.$activated]() {
    return this.activated;
  }
  get [S$.$hasReading]() {
    return this.hasReading;
  }
  get [S$.$timestamp]() {
    return this.timestamp;
  }
  [S$.$start](...args) {
    return this.start.apply(this, args);
  }
  [S$.$stop](...args) {
    return this.stop.apply(this, args);
  }
  get [S.$onError]() {
    return html$.Sensor.errorEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.Sensor);
dart.addTypeCaches(html$.Sensor);
dart.setMethodSignature(html$.Sensor, () => ({
  __proto__: dart.getMethods(html$.Sensor.__proto__),
  [S$.$start]: dart.fnType(dart.void, []),
  [S$.$stop]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.Sensor, () => ({
  __proto__: dart.getGetters(html$.Sensor.__proto__),
  [S$.$activated]: dart.nullable(core.bool),
  [S$.$hasReading]: dart.nullable(core.bool),
  [S$.$timestamp]: dart.nullable(core.num),
  [S.$onError]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.Sensor, I[148]);
dart.defineLazy(html$.Sensor, {
  /*html$.Sensor.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  }
}, false);
dart.registerExtension("Sensor", html$.Sensor);
html$.OrientationSensor = class OrientationSensor extends html$.Sensor {
  get [S$.$quaternion]() {
    return this.quaternion;
  }
  [S$.$populateMatrix](...args) {
    return this.populateMatrix.apply(this, args);
  }
};
dart.addTypeTests(html$.OrientationSensor);
dart.addTypeCaches(html$.OrientationSensor);
dart.setMethodSignature(html$.OrientationSensor, () => ({
  __proto__: dart.getMethods(html$.OrientationSensor.__proto__),
  [S$.$populateMatrix]: dart.fnType(dart.void, [core.Object])
}));
dart.setGetterSignature(html$.OrientationSensor, () => ({
  __proto__: dart.getGetters(html$.OrientationSensor.__proto__),
  [S$.$quaternion]: dart.nullable(core.List$(core.num))
}));
dart.setLibraryUri(html$.OrientationSensor, I[148]);
dart.registerExtension("OrientationSensor", html$.OrientationSensor);
html$.AbsoluteOrientationSensor = class AbsoluteOrientationSensor$ extends html$.OrientationSensor {
  static new(sensorOptions = null) {
    if (sensorOptions != null) {
      let sensorOptions_1 = html_common.convertDartToNative_Dictionary(sensorOptions);
      return html$.AbsoluteOrientationSensor._create_1(sensorOptions_1);
    }
    return html$.AbsoluteOrientationSensor._create_2();
  }
  static _create_1(sensorOptions) {
    return new AbsoluteOrientationSensor(sensorOptions);
  }
  static _create_2() {
    return new AbsoluteOrientationSensor();
  }
};
dart.addTypeTests(html$.AbsoluteOrientationSensor);
dart.addTypeCaches(html$.AbsoluteOrientationSensor);
dart.setLibraryUri(html$.AbsoluteOrientationSensor, I[148]);
dart.registerExtension("AbsoluteOrientationSensor", html$.AbsoluteOrientationSensor);
html$.AbstractWorker = class AbstractWorker extends _interceptors.Interceptor {
  get onError() {
    return html$.AbstractWorker.errorEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.AbstractWorker);
dart.addTypeCaches(html$.AbstractWorker);
html$.AbstractWorker[dart.implements] = () => [html$.EventTarget];
dart.setGetterSignature(html$.AbstractWorker, () => ({
  __proto__: dart.getGetters(html$.AbstractWorker.__proto__),
  onError: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.AbstractWorker, I[148]);
dart.defineExtensionAccessors(html$.AbstractWorker, ['onError']);
dart.defineLazy(html$.AbstractWorker, {
  /*html$.AbstractWorker.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  }
}, false);
html$.Accelerometer = class Accelerometer$ extends html$.Sensor {
  static new(sensorOptions = null) {
    if (sensorOptions != null) {
      let sensorOptions_1 = html_common.convertDartToNative_Dictionary(sensorOptions);
      return html$.Accelerometer._create_1(sensorOptions_1);
    }
    return html$.Accelerometer._create_2();
  }
  static _create_1(sensorOptions) {
    return new Accelerometer(sensorOptions);
  }
  static _create_2() {
    return new Accelerometer();
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$z]() {
    return this.z;
  }
};
dart.addTypeTests(html$.Accelerometer);
dart.addTypeCaches(html$.Accelerometer);
dart.setGetterSignature(html$.Accelerometer, () => ({
  __proto__: dart.getGetters(html$.Accelerometer.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.Accelerometer, I[148]);
dart.registerExtension("Accelerometer", html$.Accelerometer);
html$.AccessibleNode = class AccessibleNode$ extends html$.EventTarget {
  static new() {
    return html$.AccessibleNode._create_1();
  }
  static _create_1() {
    return new AccessibleNode();
  }
  get [S$.$activeDescendant]() {
    return this.activeDescendant;
  }
  set [S$.$activeDescendant](value) {
    this.activeDescendant = value;
  }
  get [S$.$atomic]() {
    return this.atomic;
  }
  set [S$.$atomic](value) {
    this.atomic = value;
  }
  get [S$.$autocomplete]() {
    return this.autocomplete;
  }
  set [S$.$autocomplete](value) {
    this.autocomplete = value;
  }
  get [S$.$busy]() {
    return this.busy;
  }
  set [S$.$busy](value) {
    this.busy = value;
  }
  get [S$.$checked]() {
    return this.checked;
  }
  set [S$.$checked](value) {
    this.checked = value;
  }
  get [S$.$colCount]() {
    return this.colCount;
  }
  set [S$.$colCount](value) {
    this.colCount = value;
  }
  get [S$.$colIndex]() {
    return this.colIndex;
  }
  set [S$.$colIndex](value) {
    this.colIndex = value;
  }
  get [S$.$colSpan]() {
    return this.colSpan;
  }
  set [S$.$colSpan](value) {
    this.colSpan = value;
  }
  get [S$.$controls]() {
    return this.controls;
  }
  set [S$.$controls](value) {
    this.controls = value;
  }
  get [S$.$current]() {
    return this.current;
  }
  set [S$.$current](value) {
    this.current = value;
  }
  get [S$.$describedBy]() {
    return this.describedBy;
  }
  set [S$.$describedBy](value) {
    this.describedBy = value;
  }
  get [S$.$details]() {
    return this.details;
  }
  set [S$.$details](value) {
    this.details = value;
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$errorMessage]() {
    return this.errorMessage;
  }
  set [S$.$errorMessage](value) {
    this.errorMessage = value;
  }
  get [S$.$expanded]() {
    return this.expanded;
  }
  set [S$.$expanded](value) {
    this.expanded = value;
  }
  get [S$.$flowTo]() {
    return this.flowTo;
  }
  set [S$.$flowTo](value) {
    this.flowTo = value;
  }
  get [S$.$hasPopUp]() {
    return this.hasPopUp;
  }
  set [S$.$hasPopUp](value) {
    this.hasPopUp = value;
  }
  get [S.$hidden]() {
    return this.hidden;
  }
  set [S.$hidden](value) {
    this.hidden = value;
  }
  get [S$.$invalid]() {
    return this.invalid;
  }
  set [S$.$invalid](value) {
    this.invalid = value;
  }
  get [S$.$keyShortcuts]() {
    return this.keyShortcuts;
  }
  set [S$.$keyShortcuts](value) {
    this.keyShortcuts = value;
  }
  get [S$.$label]() {
    return this.label;
  }
  set [S$.$label](value) {
    this.label = value;
  }
  get [S$.$labeledBy]() {
    return this.labeledBy;
  }
  set [S$.$labeledBy](value) {
    this.labeledBy = value;
  }
  get [S$.$level]() {
    return this.level;
  }
  set [S$.$level](value) {
    this.level = value;
  }
  get [S$.$live]() {
    return this.live;
  }
  set [S$.$live](value) {
    this.live = value;
  }
  get [S$.$modal]() {
    return this.modal;
  }
  set [S$.$modal](value) {
    this.modal = value;
  }
  get [S$.$multiline]() {
    return this.multiline;
  }
  set [S$.$multiline](value) {
    this.multiline = value;
  }
  get [S$.$multiselectable]() {
    return this.multiselectable;
  }
  set [S$.$multiselectable](value) {
    this.multiselectable = value;
  }
  get [S$.$orientation]() {
    return this.orientation;
  }
  set [S$.$orientation](value) {
    this.orientation = value;
  }
  get [S$.$owns]() {
    return this.owns;
  }
  set [S$.$owns](value) {
    this.owns = value;
  }
  get [S$.$placeholder]() {
    return this.placeholder;
  }
  set [S$.$placeholder](value) {
    this.placeholder = value;
  }
  get [S$.$posInSet]() {
    return this.posInSet;
  }
  set [S$.$posInSet](value) {
    this.posInSet = value;
  }
  get [S$.$pressed]() {
    return this.pressed;
  }
  set [S$.$pressed](value) {
    this.pressed = value;
  }
  get [S$.$readOnly]() {
    return this.readOnly;
  }
  set [S$.$readOnly](value) {
    this.readOnly = value;
  }
  get [S$.$relevant]() {
    return this.relevant;
  }
  set [S$.$relevant](value) {
    this.relevant = value;
  }
  get [S$.$required]() {
    return this.required;
  }
  set [S$.$required](value) {
    this.required = value;
  }
  get [S$.$role]() {
    return this.role;
  }
  set [S$.$role](value) {
    this.role = value;
  }
  get [S$.$roleDescription]() {
    return this.roleDescription;
  }
  set [S$.$roleDescription](value) {
    this.roleDescription = value;
  }
  get [S$.$rowCount]() {
    return this.rowCount;
  }
  set [S$.$rowCount](value) {
    this.rowCount = value;
  }
  get [S$.$rowIndex]() {
    return this.rowIndex;
  }
  set [S$.$rowIndex](value) {
    this.rowIndex = value;
  }
  get [S$.$rowSpan]() {
    return this.rowSpan;
  }
  set [S$.$rowSpan](value) {
    this.rowSpan = value;
  }
  get [S$.$selected]() {
    return this.selected;
  }
  set [S$.$selected](value) {
    this.selected = value;
  }
  get [S$.$setSize]() {
    return this.setSize;
  }
  set [S$.$setSize](value) {
    this.setSize = value;
  }
  get [$sort]() {
    return this.sort;
  }
  set [$sort](value) {
    this.sort = value;
  }
  get [S$.$valueMax]() {
    return this.valueMax;
  }
  set [S$.$valueMax](value) {
    this.valueMax = value;
  }
  get [S$.$valueMin]() {
    return this.valueMin;
  }
  set [S$.$valueMin](value) {
    this.valueMin = value;
  }
  get [S$.$valueNow]() {
    return this.valueNow;
  }
  set [S$.$valueNow](value) {
    this.valueNow = value;
  }
  get [S$.$valueText]() {
    return this.valueText;
  }
  set [S$.$valueText](value) {
    this.valueText = value;
  }
  [S$.$appendChild](...args) {
    return this.appendChild.apply(this, args);
  }
  get [S$.$onAccessibleClick]() {
    return html$.AccessibleNode.accessibleClickEvent.forTarget(this);
  }
  get [S$.$onAccessibleContextMenu]() {
    return html$.AccessibleNode.accessibleContextMenuEvent.forTarget(this);
  }
  get [S$.$onAccessibleDecrement]() {
    return html$.AccessibleNode.accessibleDecrementEvent.forTarget(this);
  }
  get [S$.$onAccessibleFocus]() {
    return html$.AccessibleNode.accessibleFocusEvent.forTarget(this);
  }
  get [S$.$onAccessibleIncrement]() {
    return html$.AccessibleNode.accessibleIncrementEvent.forTarget(this);
  }
  get [S$.$onAccessibleScrollIntoView]() {
    return html$.AccessibleNode.accessibleScrollIntoViewEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.AccessibleNode);
dart.addTypeCaches(html$.AccessibleNode);
dart.setMethodSignature(html$.AccessibleNode, () => ({
  __proto__: dart.getMethods(html$.AccessibleNode.__proto__),
  [S$.$appendChild]: dart.fnType(dart.void, [html$.AccessibleNode])
}));
dart.setGetterSignature(html$.AccessibleNode, () => ({
  __proto__: dart.getGetters(html$.AccessibleNode.__proto__),
  [S$.$activeDescendant]: dart.nullable(html$.AccessibleNode),
  [S$.$atomic]: dart.nullable(core.bool),
  [S$.$autocomplete]: dart.nullable(core.String),
  [S$.$busy]: dart.nullable(core.bool),
  [S$.$checked]: dart.nullable(core.String),
  [S$.$colCount]: dart.nullable(core.int),
  [S$.$colIndex]: dart.nullable(core.int),
  [S$.$colSpan]: dart.nullable(core.int),
  [S$.$controls]: dart.nullable(html$.AccessibleNodeList),
  [S$.$current]: dart.nullable(core.String),
  [S$.$describedBy]: dart.nullable(html$.AccessibleNodeList),
  [S$.$details]: dart.nullable(html$.AccessibleNode),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$.$errorMessage]: dart.nullable(html$.AccessibleNode),
  [S$.$expanded]: dart.nullable(core.bool),
  [S$.$flowTo]: dart.nullable(html$.AccessibleNodeList),
  [S$.$hasPopUp]: dart.nullable(core.String),
  [S.$hidden]: dart.nullable(core.bool),
  [S$.$invalid]: dart.nullable(core.String),
  [S$.$keyShortcuts]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String),
  [S$.$labeledBy]: dart.nullable(html$.AccessibleNodeList),
  [S$.$level]: dart.nullable(core.int),
  [S$.$live]: dart.nullable(core.String),
  [S$.$modal]: dart.nullable(core.bool),
  [S$.$multiline]: dart.nullable(core.bool),
  [S$.$multiselectable]: dart.nullable(core.bool),
  [S$.$orientation]: dart.nullable(core.String),
  [S$.$owns]: dart.nullable(html$.AccessibleNodeList),
  [S$.$placeholder]: dart.nullable(core.String),
  [S$.$posInSet]: dart.nullable(core.int),
  [S$.$pressed]: dart.nullable(core.String),
  [S$.$readOnly]: dart.nullable(core.bool),
  [S$.$relevant]: dart.nullable(core.String),
  [S$.$required]: dart.nullable(core.bool),
  [S$.$role]: dart.nullable(core.String),
  [S$.$roleDescription]: dart.nullable(core.String),
  [S$.$rowCount]: dart.nullable(core.int),
  [S$.$rowIndex]: dart.nullable(core.int),
  [S$.$rowSpan]: dart.nullable(core.int),
  [S$.$selected]: dart.nullable(core.bool),
  [S$.$setSize]: dart.nullable(core.int),
  [$sort]: dart.nullable(core.String),
  [S$.$valueMax]: dart.nullable(core.num),
  [S$.$valueMin]: dart.nullable(core.num),
  [S$.$valueNow]: dart.nullable(core.num),
  [S$.$valueText]: dart.nullable(core.String),
  [S$.$onAccessibleClick]: async.Stream$(html$.Event),
  [S$.$onAccessibleContextMenu]: async.Stream$(html$.Event),
  [S$.$onAccessibleDecrement]: async.Stream$(html$.Event),
  [S$.$onAccessibleFocus]: async.Stream$(html$.Event),
  [S$.$onAccessibleIncrement]: async.Stream$(html$.Event),
  [S$.$onAccessibleScrollIntoView]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.AccessibleNode, () => ({
  __proto__: dart.getSetters(html$.AccessibleNode.__proto__),
  [S$.$activeDescendant]: dart.nullable(html$.AccessibleNode),
  [S$.$atomic]: dart.nullable(core.bool),
  [S$.$autocomplete]: dart.nullable(core.String),
  [S$.$busy]: dart.nullable(core.bool),
  [S$.$checked]: dart.nullable(core.String),
  [S$.$colCount]: dart.nullable(core.int),
  [S$.$colIndex]: dart.nullable(core.int),
  [S$.$colSpan]: dart.nullable(core.int),
  [S$.$controls]: dart.nullable(html$.AccessibleNodeList),
  [S$.$current]: dart.nullable(core.String),
  [S$.$describedBy]: dart.nullable(html$.AccessibleNodeList),
  [S$.$details]: dart.nullable(html$.AccessibleNode),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$.$errorMessage]: dart.nullable(html$.AccessibleNode),
  [S$.$expanded]: dart.nullable(core.bool),
  [S$.$flowTo]: dart.nullable(html$.AccessibleNodeList),
  [S$.$hasPopUp]: dart.nullable(core.String),
  [S.$hidden]: dart.nullable(core.bool),
  [S$.$invalid]: dart.nullable(core.String),
  [S$.$keyShortcuts]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String),
  [S$.$labeledBy]: dart.nullable(html$.AccessibleNodeList),
  [S$.$level]: dart.nullable(core.int),
  [S$.$live]: dart.nullable(core.String),
  [S$.$modal]: dart.nullable(core.bool),
  [S$.$multiline]: dart.nullable(core.bool),
  [S$.$multiselectable]: dart.nullable(core.bool),
  [S$.$orientation]: dart.nullable(core.String),
  [S$.$owns]: dart.nullable(html$.AccessibleNodeList),
  [S$.$placeholder]: dart.nullable(core.String),
  [S$.$posInSet]: dart.nullable(core.int),
  [S$.$pressed]: dart.nullable(core.String),
  [S$.$readOnly]: dart.nullable(core.bool),
  [S$.$relevant]: dart.nullable(core.String),
  [S$.$required]: dart.nullable(core.bool),
  [S$.$role]: dart.nullable(core.String),
  [S$.$roleDescription]: dart.nullable(core.String),
  [S$.$rowCount]: dart.nullable(core.int),
  [S$.$rowIndex]: dart.nullable(core.int),
  [S$.$rowSpan]: dart.nullable(core.int),
  [S$.$selected]: dart.nullable(core.bool),
  [S$.$setSize]: dart.nullable(core.int),
  [$sort]: dart.nullable(core.String),
  [S$.$valueMax]: dart.nullable(core.num),
  [S$.$valueMin]: dart.nullable(core.num),
  [S$.$valueNow]: dart.nullable(core.num),
  [S$.$valueText]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.AccessibleNode, I[148]);
dart.defineLazy(html$.AccessibleNode, {
  /*html$.AccessibleNode.accessibleClickEvent*/get accessibleClickEvent() {
    return C[298] || CT.C298;
  },
  /*html$.AccessibleNode.accessibleContextMenuEvent*/get accessibleContextMenuEvent() {
    return C[299] || CT.C299;
  },
  /*html$.AccessibleNode.accessibleDecrementEvent*/get accessibleDecrementEvent() {
    return C[300] || CT.C300;
  },
  /*html$.AccessibleNode.accessibleFocusEvent*/get accessibleFocusEvent() {
    return C[301] || CT.C301;
  },
  /*html$.AccessibleNode.accessibleIncrementEvent*/get accessibleIncrementEvent() {
    return C[302] || CT.C302;
  },
  /*html$.AccessibleNode.accessibleScrollIntoViewEvent*/get accessibleScrollIntoViewEvent() {
    return C[303] || CT.C303;
  }
}, false);
dart.registerExtension("AccessibleNode", html$.AccessibleNode);
html$.AccessibleNodeList = class AccessibleNodeList$ extends _interceptors.Interceptor {
  static new(nodes = null) {
    if (nodes != null) {
      return html$.AccessibleNodeList._create_1(nodes);
    }
    return html$.AccessibleNodeList._create_2();
  }
  static _create_1(nodes) {
    return new AccessibleNodeList(nodes);
  }
  static _create_2() {
    return new AccessibleNodeList();
  }
  get [$length]() {
    return this.length;
  }
  set [$length](value) {
    this.length = value;
  }
  [S$.__setter__](...args) {
    return this.__setter__.apply(this, args);
  }
  [$add](...args) {
    return this.add.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [$remove](...args) {
    return this.remove.apply(this, args);
  }
};
dart.addTypeTests(html$.AccessibleNodeList);
dart.addTypeCaches(html$.AccessibleNodeList);
dart.setMethodSignature(html$.AccessibleNodeList, () => ({
  __proto__: dart.getMethods(html$.AccessibleNodeList.__proto__),
  [S$.__setter__]: dart.fnType(dart.void, [core.int, html$.AccessibleNode]),
  [$add]: dart.fnType(dart.void, [html$.AccessibleNode, dart.nullable(html$.AccessibleNode)]),
  [S$.$item]: dart.fnType(dart.nullable(html$.AccessibleNode), [core.int]),
  [$remove]: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(html$.AccessibleNodeList, () => ({
  __proto__: dart.getGetters(html$.AccessibleNodeList.__proto__),
  [$length]: dart.nullable(core.int)
}));
dart.setSetterSignature(html$.AccessibleNodeList, () => ({
  __proto__: dart.getSetters(html$.AccessibleNodeList.__proto__),
  [$length]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.AccessibleNodeList, I[148]);
dart.registerExtension("AccessibleNodeList", html$.AccessibleNodeList);
html$.AmbientLightSensor = class AmbientLightSensor$ extends html$.Sensor {
  static new(sensorOptions = null) {
    if (sensorOptions != null) {
      let sensorOptions_1 = html_common.convertDartToNative_Dictionary(sensorOptions);
      return html$.AmbientLightSensor._create_1(sensorOptions_1);
    }
    return html$.AmbientLightSensor._create_2();
  }
  static _create_1(sensorOptions) {
    return new AmbientLightSensor(sensorOptions);
  }
  static _create_2() {
    return new AmbientLightSensor();
  }
  get [S$.$illuminance]() {
    return this.illuminance;
  }
};
dart.addTypeTests(html$.AmbientLightSensor);
dart.addTypeCaches(html$.AmbientLightSensor);
dart.setGetterSignature(html$.AmbientLightSensor, () => ({
  __proto__: dart.getGetters(html$.AmbientLightSensor.__proto__),
  [S$.$illuminance]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.AmbientLightSensor, I[148]);
dart.registerExtension("AmbientLightSensor", html$.AmbientLightSensor);
html$.AnchorElement = class AnchorElement extends html$.HtmlElement {
  static new(opts) {
    let href = opts && 'href' in opts ? opts.href : null;
    let e = html$.document.createElement("a");
    if (href != null) e.href = href;
    return e;
  }
  get [S$.$download]() {
    return this.download;
  }
  set [S$.$download](value) {
    this.download = value;
  }
  get [S$.$hreflang]() {
    return this.hreflang;
  }
  set [S$.$hreflang](value) {
    this.hreflang = value;
  }
  get [S$.$referrerPolicy]() {
    return this.referrerPolicy;
  }
  set [S$.$referrerPolicy](value) {
    this.referrerPolicy = value;
  }
  get [S$.$rel]() {
    return this.rel;
  }
  set [S$.$rel](value) {
    this.rel = value;
  }
  get [S.$target]() {
    return this.target;
  }
  set [S.$target](value) {
    this.target = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  get [S$.$hash]() {
    return this.hash;
  }
  set [S$.$hash](value) {
    this.hash = value;
  }
  get [S$.$host]() {
    return this.host;
  }
  set [S$.$host](value) {
    this.host = value;
  }
  get [S$.$hostname]() {
    return this.hostname;
  }
  set [S$.$hostname](value) {
    this.hostname = value;
  }
  get [S$.$href]() {
    return this.href;
  }
  set [S$.$href](value) {
    this.href = value;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$.$password]() {
    return this.password;
  }
  set [S$.$password](value) {
    this.password = value;
  }
  get [S$.$pathname]() {
    return this.pathname;
  }
  set [S$.$pathname](value) {
    this.pathname = value;
  }
  get [S$.$port]() {
    return this.port;
  }
  set [S$.$port](value) {
    this.port = value;
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  set [S$.$protocol](value) {
    this.protocol = value;
  }
  get [S$.$search]() {
    return this.search;
  }
  set [S$.$search](value) {
    this.search = value;
  }
  get [S$.$username]() {
    return this.username;
  }
  set [S$.$username](value) {
    this.username = value;
  }
  [$toString]() {
    return String(this);
  }
};
(html$.AnchorElement.created = function() {
  html$.AnchorElement.__proto__.created.call(this);
  ;
}).prototype = html$.AnchorElement.prototype;
dart.addTypeTests(html$.AnchorElement);
dart.addTypeCaches(html$.AnchorElement);
html$.AnchorElement[dart.implements] = () => [html$.HtmlHyperlinkElementUtils];
dart.setGetterSignature(html$.AnchorElement, () => ({
  __proto__: dart.getGetters(html$.AnchorElement.__proto__),
  [S$.$download]: dart.nullable(core.String),
  [S$.$hreflang]: core.String,
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$rel]: core.String,
  [S.$target]: core.String,
  [S.$type]: core.String,
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$origin]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.AnchorElement, () => ({
  __proto__: dart.getSetters(html$.AnchorElement.__proto__),
  [S$.$download]: dart.nullable(core.String),
  [S$.$hreflang]: core.String,
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$rel]: core.String,
  [S.$target]: core.String,
  [S.$type]: core.String,
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.AnchorElement, I[148]);
dart.registerExtension("HTMLAnchorElement", html$.AnchorElement);
html$.Animation = class Animation$ extends html$.EventTarget {
  static new(effect = null, timeline = null) {
    if (timeline != null) {
      return html$.Animation._create_1(effect, timeline);
    }
    if (effect != null) {
      return html$.Animation._create_2(effect);
    }
    return html$.Animation._create_3();
  }
  static _create_1(effect, timeline) {
    return new Animation(effect, timeline);
  }
  static _create_2(effect) {
    return new Animation(effect);
  }
  static _create_3() {
    return new Animation();
  }
  static get supported() {
    return !!document.body.animate;
  }
  get [S$.$currentTime]() {
    return this.currentTime;
  }
  set [S$.$currentTime](value) {
    this.currentTime = value;
  }
  get [S$.$effect]() {
    return this.effect;
  }
  set [S$.$effect](value) {
    this.effect = value;
  }
  get [S$.$finished]() {
    return js_util.promiseToFuture(html$.Animation, this.finished);
  }
  get [S.$id]() {
    return this.id;
  }
  set [S.$id](value) {
    this.id = value;
  }
  get [S$.$playState]() {
    return this.playState;
  }
  get [S$.$playbackRate]() {
    return this.playbackRate;
  }
  set [S$.$playbackRate](value) {
    this.playbackRate = value;
  }
  get [S$.$ready]() {
    return js_util.promiseToFuture(html$.Animation, this.ready);
  }
  get [S$.$startTime]() {
    return this.startTime;
  }
  set [S$.$startTime](value) {
    this.startTime = value;
  }
  get [S$.$timeline]() {
    return this.timeline;
  }
  [S$.$cancel](...args) {
    return this.cancel.apply(this, args);
  }
  [S$.$finish](...args) {
    return this.finish.apply(this, args);
  }
  [S$.$pause](...args) {
    return this.pause.apply(this, args);
  }
  [S$.$play](...args) {
    return this.play.apply(this, args);
  }
  [S$.$reverse](...args) {
    return this.reverse.apply(this, args);
  }
  get [S$.$onCancel]() {
    return html$.Animation.cancelEvent.forTarget(this);
  }
  get [S$.$onFinish]() {
    return html$.Animation.finishEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.Animation);
dart.addTypeCaches(html$.Animation);
dart.setMethodSignature(html$.Animation, () => ({
  __proto__: dart.getMethods(html$.Animation.__proto__),
  [S$.$cancel]: dart.fnType(dart.void, []),
  [S$.$finish]: dart.fnType(dart.void, []),
  [S$.$pause]: dart.fnType(dart.void, []),
  [S$.$play]: dart.fnType(dart.void, []),
  [S$.$reverse]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.Animation, () => ({
  __proto__: dart.getGetters(html$.Animation.__proto__),
  [S$.$currentTime]: dart.nullable(core.num),
  [S$.$effect]: dart.nullable(html$.AnimationEffectReadOnly),
  [S$.$finished]: async.Future$(html$.Animation),
  [S.$id]: dart.nullable(core.String),
  [S$.$playState]: dart.nullable(core.String),
  [S$.$playbackRate]: dart.nullable(core.num),
  [S$.$ready]: async.Future$(html$.Animation),
  [S$.$startTime]: dart.nullable(core.num),
  [S$.$timeline]: dart.nullable(html$.AnimationTimeline),
  [S$.$onCancel]: async.Stream$(html$.Event),
  [S$.$onFinish]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.Animation, () => ({
  __proto__: dart.getSetters(html$.Animation.__proto__),
  [S$.$currentTime]: dart.nullable(core.num),
  [S$.$effect]: dart.nullable(html$.AnimationEffectReadOnly),
  [S.$id]: dart.nullable(core.String),
  [S$.$playbackRate]: dart.nullable(core.num),
  [S$.$startTime]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.Animation, I[148]);
dart.defineLazy(html$.Animation, {
  /*html$.Animation.cancelEvent*/get cancelEvent() {
    return C[304] || CT.C304;
  },
  /*html$.Animation.finishEvent*/get finishEvent() {
    return C[305] || CT.C305;
  }
}, false);
dart.registerExtension("Animation", html$.Animation);
html$.AnimationEffectReadOnly = class AnimationEffectReadOnly extends _interceptors.Interceptor {
  get [S$.$timing]() {
    return this.timing;
  }
  [S$.$getComputedTiming]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$._getComputedTiming_1]()));
  }
  [S$._getComputedTiming_1](...args) {
    return this.getComputedTiming.apply(this, args);
  }
};
dart.addTypeTests(html$.AnimationEffectReadOnly);
dart.addTypeCaches(html$.AnimationEffectReadOnly);
dart.setMethodSignature(html$.AnimationEffectReadOnly, () => ({
  __proto__: dart.getMethods(html$.AnimationEffectReadOnly.__proto__),
  [S$.$getComputedTiming]: dart.fnType(core.Map, []),
  [S$._getComputedTiming_1]: dart.fnType(dart.dynamic, [])
}));
dart.setGetterSignature(html$.AnimationEffectReadOnly, () => ({
  __proto__: dart.getGetters(html$.AnimationEffectReadOnly.__proto__),
  [S$.$timing]: dart.nullable(html$.AnimationEffectTimingReadOnly)
}));
dart.setLibraryUri(html$.AnimationEffectReadOnly, I[148]);
dart.registerExtension("AnimationEffectReadOnly", html$.AnimationEffectReadOnly);
html$.AnimationEffectTimingReadOnly = class AnimationEffectTimingReadOnly extends _interceptors.Interceptor {
  get [S$.$delay]() {
    return this.delay;
  }
  get [S.$direction]() {
    return this.direction;
  }
  get [S$.$duration]() {
    return this.duration;
  }
  get [S$.$easing]() {
    return this.easing;
  }
  get [S$.$endDelay]() {
    return this.endDelay;
  }
  get [S$.$fill]() {
    return this.fill;
  }
  get [S$.$iterationStart]() {
    return this.iterationStart;
  }
  get [S$.$iterations]() {
    return this.iterations;
  }
};
dart.addTypeTests(html$.AnimationEffectTimingReadOnly);
dart.addTypeCaches(html$.AnimationEffectTimingReadOnly);
dart.setGetterSignature(html$.AnimationEffectTimingReadOnly, () => ({
  __proto__: dart.getGetters(html$.AnimationEffectTimingReadOnly.__proto__),
  [S$.$delay]: dart.nullable(core.num),
  [S.$direction]: dart.nullable(core.String),
  [S$.$duration]: dart.nullable(core.Object),
  [S$.$easing]: dart.nullable(core.String),
  [S$.$endDelay]: dart.nullable(core.num),
  [S$.$fill]: dart.nullable(core.String),
  [S$.$iterationStart]: dart.nullable(core.num),
  [S$.$iterations]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.AnimationEffectTimingReadOnly, I[148]);
dart.registerExtension("AnimationEffectTimingReadOnly", html$.AnimationEffectTimingReadOnly);
html$.AnimationEffectTiming = class AnimationEffectTiming extends html$.AnimationEffectTimingReadOnly {
  get [S$.$delay]() {
    return this.delay;
  }
  set [S$.$delay](value) {
    this.delay = value;
  }
  get [S.$direction]() {
    return this.direction;
  }
  set [S.$direction](value) {
    this.direction = value;
  }
  get [S$.$duration]() {
    return this.duration;
  }
  set [S$.$duration](value) {
    this.duration = value;
  }
  get [S$.$easing]() {
    return this.easing;
  }
  set [S$.$easing](value) {
    this.easing = value;
  }
  get [S$.$endDelay]() {
    return this.endDelay;
  }
  set [S$.$endDelay](value) {
    this.endDelay = value;
  }
  get [S$.$fill]() {
    return this.fill;
  }
  set [S$.$fill](value) {
    this.fill = value;
  }
  get [S$.$iterationStart]() {
    return this.iterationStart;
  }
  set [S$.$iterationStart](value) {
    this.iterationStart = value;
  }
  get [S$.$iterations]() {
    return this.iterations;
  }
  set [S$.$iterations](value) {
    this.iterations = value;
  }
};
dart.addTypeTests(html$.AnimationEffectTiming);
dart.addTypeCaches(html$.AnimationEffectTiming);
dart.setSetterSignature(html$.AnimationEffectTiming, () => ({
  __proto__: dart.getSetters(html$.AnimationEffectTiming.__proto__),
  [S$.$delay]: dart.nullable(core.num),
  [S.$direction]: dart.nullable(core.String),
  [S$.$duration]: dart.nullable(core.Object),
  [S$.$easing]: dart.nullable(core.String),
  [S$.$endDelay]: dart.nullable(core.num),
  [S$.$fill]: dart.nullable(core.String),
  [S$.$iterationStart]: dart.nullable(core.num),
  [S$.$iterations]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.AnimationEffectTiming, I[148]);
dart.registerExtension("AnimationEffectTiming", html$.AnimationEffectTiming);
html$.AnimationEvent = class AnimationEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 822, 33, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.AnimationEvent._create_1(type, eventInitDict_1);
    }
    return html$.AnimationEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new AnimationEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new AnimationEvent(type);
  }
  get [S$.$animationName]() {
    return this.animationName;
  }
  get [S$.$elapsedTime]() {
    return this.elapsedTime;
  }
};
dart.addTypeTests(html$.AnimationEvent);
dart.addTypeCaches(html$.AnimationEvent);
dart.setGetterSignature(html$.AnimationEvent, () => ({
  __proto__: dart.getGetters(html$.AnimationEvent.__proto__),
  [S$.$animationName]: dart.nullable(core.String),
  [S$.$elapsedTime]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.AnimationEvent, I[148]);
dart.registerExtension("AnimationEvent", html$.AnimationEvent);
html$.AnimationPlaybackEvent = class AnimationPlaybackEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 849, 41, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.AnimationPlaybackEvent._create_1(type, eventInitDict_1);
    }
    return html$.AnimationPlaybackEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new AnimationPlaybackEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new AnimationPlaybackEvent(type);
  }
  get [S$.$currentTime]() {
    return this.currentTime;
  }
  get [S$.$timelineTime]() {
    return this.timelineTime;
  }
};
dart.addTypeTests(html$.AnimationPlaybackEvent);
dart.addTypeCaches(html$.AnimationPlaybackEvent);
dart.setGetterSignature(html$.AnimationPlaybackEvent, () => ({
  __proto__: dart.getGetters(html$.AnimationPlaybackEvent.__proto__),
  [S$.$currentTime]: dart.nullable(core.num),
  [S$.$timelineTime]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.AnimationPlaybackEvent, I[148]);
dart.registerExtension("AnimationPlaybackEvent", html$.AnimationPlaybackEvent);
html$.AnimationTimeline = class AnimationTimeline extends _interceptors.Interceptor {
  get [S$.$currentTime]() {
    return this.currentTime;
  }
};
dart.addTypeTests(html$.AnimationTimeline);
dart.addTypeCaches(html$.AnimationTimeline);
dart.setGetterSignature(html$.AnimationTimeline, () => ({
  __proto__: dart.getGetters(html$.AnimationTimeline.__proto__),
  [S$.$currentTime]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.AnimationTimeline, I[148]);
dart.registerExtension("AnimationTimeline", html$.AnimationTimeline);
html$.WorkletGlobalScope = class WorkletGlobalScope extends _interceptors.Interceptor {};
dart.addTypeTests(html$.WorkletGlobalScope);
dart.addTypeCaches(html$.WorkletGlobalScope);
dart.setLibraryUri(html$.WorkletGlobalScope, I[148]);
dart.registerExtension("WorkletGlobalScope", html$.WorkletGlobalScope);
html$.AnimationWorkletGlobalScope = class AnimationWorkletGlobalScope extends html$.WorkletGlobalScope {
  [S$.$registerAnimator](...args) {
    return this.registerAnimator.apply(this, args);
  }
};
dart.addTypeTests(html$.AnimationWorkletGlobalScope);
dart.addTypeCaches(html$.AnimationWorkletGlobalScope);
dart.setMethodSignature(html$.AnimationWorkletGlobalScope, () => ({
  __proto__: dart.getMethods(html$.AnimationWorkletGlobalScope.__proto__),
  [S$.$registerAnimator]: dart.fnType(dart.void, [core.String, core.Object])
}));
dart.setLibraryUri(html$.AnimationWorkletGlobalScope, I[148]);
dart.registerExtension("AnimationWorkletGlobalScope", html$.AnimationWorkletGlobalScope);
html$.ApplicationCache = class ApplicationCache extends html$.EventTarget {
  static get supported() {
    return !!window.applicationCache;
  }
  get [S$.$status]() {
    return this.status;
  }
  [S.$abort](...args) {
    return this.abort.apply(this, args);
  }
  [S$.$swapCache](...args) {
    return this.swapCache.apply(this, args);
  }
  [$update](...args) {
    return this.update.apply(this, args);
  }
  get [S$.$onCached]() {
    return html$.ApplicationCache.cachedEvent.forTarget(this);
  }
  get [S$.$onChecking]() {
    return html$.ApplicationCache.checkingEvent.forTarget(this);
  }
  get [S$.$onDownloading]() {
    return html$.ApplicationCache.downloadingEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.ApplicationCache.errorEvent.forTarget(this);
  }
  get [S$.$onNoUpdate]() {
    return html$.ApplicationCache.noUpdateEvent.forTarget(this);
  }
  get [S$.$onObsolete]() {
    return html$.ApplicationCache.obsoleteEvent.forTarget(this);
  }
  get [S$.$onProgress]() {
    return html$.ApplicationCache.progressEvent.forTarget(this);
  }
  get [S$.$onUpdateReady]() {
    return html$.ApplicationCache.updateReadyEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.ApplicationCache);
dart.addTypeCaches(html$.ApplicationCache);
dart.setMethodSignature(html$.ApplicationCache, () => ({
  __proto__: dart.getMethods(html$.ApplicationCache.__proto__),
  [S.$abort]: dart.fnType(dart.void, []),
  [S$.$swapCache]: dart.fnType(dart.void, []),
  [$update]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.ApplicationCache, () => ({
  __proto__: dart.getGetters(html$.ApplicationCache.__proto__),
  [S$.$status]: dart.nullable(core.int),
  [S$.$onCached]: async.Stream$(html$.Event),
  [S$.$onChecking]: async.Stream$(html$.Event),
  [S$.$onDownloading]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event),
  [S$.$onNoUpdate]: async.Stream$(html$.Event),
  [S$.$onObsolete]: async.Stream$(html$.Event),
  [S$.$onProgress]: async.Stream$(html$.ProgressEvent),
  [S$.$onUpdateReady]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.ApplicationCache, I[148]);
dart.defineLazy(html$.ApplicationCache, {
  /*html$.ApplicationCache.cachedEvent*/get cachedEvent() {
    return C[306] || CT.C306;
  },
  /*html$.ApplicationCache.checkingEvent*/get checkingEvent() {
    return C[307] || CT.C307;
  },
  /*html$.ApplicationCache.downloadingEvent*/get downloadingEvent() {
    return C[308] || CT.C308;
  },
  /*html$.ApplicationCache.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.ApplicationCache.noUpdateEvent*/get noUpdateEvent() {
    return C[309] || CT.C309;
  },
  /*html$.ApplicationCache.obsoleteEvent*/get obsoleteEvent() {
    return C[310] || CT.C310;
  },
  /*html$.ApplicationCache.progressEvent*/get progressEvent() {
    return C[311] || CT.C311;
  },
  /*html$.ApplicationCache.updateReadyEvent*/get updateReadyEvent() {
    return C[312] || CT.C312;
  },
  /*html$.ApplicationCache.CHECKING*/get CHECKING() {
    return 2;
  },
  /*html$.ApplicationCache.DOWNLOADING*/get DOWNLOADING() {
    return 3;
  },
  /*html$.ApplicationCache.IDLE*/get IDLE() {
    return 1;
  },
  /*html$.ApplicationCache.OBSOLETE*/get OBSOLETE() {
    return 5;
  },
  /*html$.ApplicationCache.UNCACHED*/get UNCACHED() {
    return 0;
  },
  /*html$.ApplicationCache.UPDATEREADY*/get UPDATEREADY() {
    return 4;
  }
}, false);
dart.registerExtension("ApplicationCache", html$.ApplicationCache);
dart.registerExtension("DOMApplicationCache", html$.ApplicationCache);
dart.registerExtension("OfflineResourceList", html$.ApplicationCache);
html$.ApplicationCacheErrorEvent = class ApplicationCacheErrorEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 1044, 45, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.ApplicationCacheErrorEvent._create_1(type, eventInitDict_1);
    }
    return html$.ApplicationCacheErrorEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new ApplicationCacheErrorEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new ApplicationCacheErrorEvent(type);
  }
  get [$message]() {
    return this.message;
  }
  get [S$.$reason]() {
    return this.reason;
  }
  get [S$.$status]() {
    return this.status;
  }
  get [S$.$url]() {
    return this.url;
  }
};
dart.addTypeTests(html$.ApplicationCacheErrorEvent);
dart.addTypeCaches(html$.ApplicationCacheErrorEvent);
dart.setGetterSignature(html$.ApplicationCacheErrorEvent, () => ({
  __proto__: dart.getGetters(html$.ApplicationCacheErrorEvent.__proto__),
  [$message]: dart.nullable(core.String),
  [S$.$reason]: dart.nullable(core.String),
  [S$.$status]: dart.nullable(core.int),
  [S$.$url]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.ApplicationCacheErrorEvent, I[148]);
dart.registerExtension("ApplicationCacheErrorEvent", html$.ApplicationCacheErrorEvent);
html$.AreaElement = class AreaElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("area");
  }
  get [S$.$alt]() {
    return this.alt;
  }
  set [S$.$alt](value) {
    this.alt = value;
  }
  get [S$.$coords]() {
    return this.coords;
  }
  set [S$.$coords](value) {
    this.coords = value;
  }
  get [S$.$download]() {
    return this.download;
  }
  set [S$.$download](value) {
    this.download = value;
  }
  get [S$.$referrerPolicy]() {
    return this.referrerPolicy;
  }
  set [S$.$referrerPolicy](value) {
    this.referrerPolicy = value;
  }
  get [S$.$rel]() {
    return this.rel;
  }
  set [S$.$rel](value) {
    this.rel = value;
  }
  get [S$.$shape]() {
    return this.shape;
  }
  set [S$.$shape](value) {
    this.shape = value;
  }
  get [S.$target]() {
    return this.target;
  }
  set [S.$target](value) {
    this.target = value;
  }
  get [S$.$hash]() {
    return this.hash;
  }
  set [S$.$hash](value) {
    this.hash = value;
  }
  get [S$.$host]() {
    return this.host;
  }
  set [S$.$host](value) {
    this.host = value;
  }
  get [S$.$hostname]() {
    return this.hostname;
  }
  set [S$.$hostname](value) {
    this.hostname = value;
  }
  get [S$.$href]() {
    return this.href;
  }
  set [S$.$href](value) {
    this.href = value;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$.$password]() {
    return this.password;
  }
  set [S$.$password](value) {
    this.password = value;
  }
  get [S$.$pathname]() {
    return this.pathname;
  }
  set [S$.$pathname](value) {
    this.pathname = value;
  }
  get [S$.$port]() {
    return this.port;
  }
  set [S$.$port](value) {
    this.port = value;
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  set [S$.$protocol](value) {
    this.protocol = value;
  }
  get [S$.$search]() {
    return this.search;
  }
  set [S$.$search](value) {
    this.search = value;
  }
  get [S$.$username]() {
    return this.username;
  }
  set [S$.$username](value) {
    this.username = value;
  }
  [$toString]() {
    return String(this);
  }
};
(html$.AreaElement.created = function() {
  html$.AreaElement.__proto__.created.call(this);
  ;
}).prototype = html$.AreaElement.prototype;
dart.addTypeTests(html$.AreaElement);
dart.addTypeCaches(html$.AreaElement);
html$.AreaElement[dart.implements] = () => [html$.HtmlHyperlinkElementUtils];
dart.setGetterSignature(html$.AreaElement, () => ({
  __proto__: dart.getGetters(html$.AreaElement.__proto__),
  [S$.$alt]: core.String,
  [S$.$coords]: core.String,
  [S$.$download]: dart.nullable(core.String),
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$rel]: core.String,
  [S$.$shape]: core.String,
  [S.$target]: core.String,
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$origin]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.AreaElement, () => ({
  __proto__: dart.getSetters(html$.AreaElement.__proto__),
  [S$.$alt]: core.String,
  [S$.$coords]: core.String,
  [S$.$download]: dart.nullable(core.String),
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$rel]: core.String,
  [S$.$shape]: core.String,
  [S.$target]: core.String,
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.AreaElement, I[148]);
dart.registerExtension("HTMLAreaElement", html$.AreaElement);
html$.MediaElement = class MediaElement extends html$.HtmlElement {
  get [S$.$audioTracks]() {
    return this.audioTracks;
  }
  get [S$.$autoplay]() {
    return this.autoplay;
  }
  set [S$.$autoplay](value) {
    this.autoplay = value;
  }
  get [S$.$buffered]() {
    return this.buffered;
  }
  get [S$.$controls]() {
    return this.controls;
  }
  set [S$.$controls](value) {
    this.controls = value;
  }
  get [S$.$controlsList]() {
    return this.controlsList;
  }
  get [S$.$crossOrigin]() {
    return this.crossOrigin;
  }
  set [S$.$crossOrigin](value) {
    this.crossOrigin = value;
  }
  get [S$.$currentSrc]() {
    return this.currentSrc;
  }
  get [S$.$currentTime]() {
    return this.currentTime;
  }
  set [S$.$currentTime](value) {
    this.currentTime = value;
  }
  get [S$.$defaultMuted]() {
    return this.defaultMuted;
  }
  set [S$.$defaultMuted](value) {
    this.defaultMuted = value;
  }
  get [S$.$defaultPlaybackRate]() {
    return this.defaultPlaybackRate;
  }
  set [S$.$defaultPlaybackRate](value) {
    this.defaultPlaybackRate = value;
  }
  get [S$.$disableRemotePlayback]() {
    return this.disableRemotePlayback;
  }
  set [S$.$disableRemotePlayback](value) {
    this.disableRemotePlayback = value;
  }
  get [S$.$duration]() {
    return this.duration;
  }
  get [S$.$ended]() {
    return this.ended;
  }
  get [S.$error]() {
    return this.error;
  }
  get [S$.$loop]() {
    return this.loop;
  }
  set [S$.$loop](value) {
    this.loop = value;
  }
  get [S$.$mediaKeys]() {
    return this.mediaKeys;
  }
  get [S$.$muted]() {
    return this.muted;
  }
  set [S$.$muted](value) {
    this.muted = value;
  }
  get [S$.$networkState]() {
    return this.networkState;
  }
  get [S$.$paused]() {
    return this.paused;
  }
  get [S$.$playbackRate]() {
    return this.playbackRate;
  }
  set [S$.$playbackRate](value) {
    this.playbackRate = value;
  }
  get [S$.$played]() {
    return this.played;
  }
  get [S$.$preload]() {
    return this.preload;
  }
  set [S$.$preload](value) {
    this.preload = value;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$.$remote]() {
    return this.remote;
  }
  get [S$.$seekable]() {
    return this.seekable;
  }
  get [S$.$seeking]() {
    return this.seeking;
  }
  get [S$.$sinkId]() {
    return this.sinkId;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S$.$srcObject]() {
    return this.srcObject;
  }
  set [S$.$srcObject](value) {
    this.srcObject = value;
  }
  get [S$.$textTracks]() {
    return this.textTracks;
  }
  get [S$.$videoTracks]() {
    return this.videoTracks;
  }
  get [S$.$volume]() {
    return this.volume;
  }
  set [S$.$volume](value) {
    this.volume = value;
  }
  get [S$.$audioDecodedByteCount]() {
    return this.webkitAudioDecodedByteCount;
  }
  get [S$.$videoDecodedByteCount]() {
    return this.webkitVideoDecodedByteCount;
  }
  [S$.$addTextTrack](...args) {
    return this.addTextTrack.apply(this, args);
  }
  [S$.$canPlayType](...args) {
    return this.canPlayType.apply(this, args);
  }
  [S$.$captureStream](...args) {
    return this.captureStream.apply(this, args);
  }
  [S$.$load](...args) {
    return this.load.apply(this, args);
  }
  [S$.$pause](...args) {
    return this.pause.apply(this, args);
  }
  [S$.$play]() {
    return js_util.promiseToFuture(dart.dynamic, this.play());
  }
  [S$.$setMediaKeys](mediaKeys) {
    return js_util.promiseToFuture(dart.dynamic, this.setMediaKeys(mediaKeys));
  }
  [S$.$setSinkId](sinkId) {
    if (sinkId == null) dart.nullFailed(I[147], 20739, 27, "sinkId");
    return js_util.promiseToFuture(dart.dynamic, this.setSinkId(sinkId));
  }
};
(html$.MediaElement.created = function() {
  html$.MediaElement.__proto__.created.call(this);
  ;
}).prototype = html$.MediaElement.prototype;
dart.addTypeTests(html$.MediaElement);
dart.addTypeCaches(html$.MediaElement);
dart.setMethodSignature(html$.MediaElement, () => ({
  __proto__: dart.getMethods(html$.MediaElement.__proto__),
  [S$.$addTextTrack]: dart.fnType(html$.TextTrack, [core.String], [dart.nullable(core.String), dart.nullable(core.String)]),
  [S$.$canPlayType]: dart.fnType(core.String, [dart.nullable(core.String)], [dart.nullable(core.String)]),
  [S$.$captureStream]: dart.fnType(html$.MediaStream, []),
  [S$.$load]: dart.fnType(dart.void, []),
  [S$.$pause]: dart.fnType(dart.void, []),
  [S$.$play]: dart.fnType(async.Future, []),
  [S$.$setMediaKeys]: dart.fnType(async.Future, [dart.nullable(html$.MediaKeys)]),
  [S$.$setSinkId]: dart.fnType(async.Future, [core.String])
}));
dart.setGetterSignature(html$.MediaElement, () => ({
  __proto__: dart.getGetters(html$.MediaElement.__proto__),
  [S$.$audioTracks]: dart.nullable(web_audio.AudioTrackList),
  [S$.$autoplay]: core.bool,
  [S$.$buffered]: html$.TimeRanges,
  [S$.$controls]: core.bool,
  [S$.$controlsList]: dart.nullable(html$.DomTokenList),
  [S$.$crossOrigin]: dart.nullable(core.String),
  [S$.$currentSrc]: core.String,
  [S$.$currentTime]: core.num,
  [S$.$defaultMuted]: dart.nullable(core.bool),
  [S$.$defaultPlaybackRate]: core.num,
  [S$.$disableRemotePlayback]: core.bool,
  [S$.$duration]: core.num,
  [S$.$ended]: core.bool,
  [S.$error]: dart.nullable(html$.MediaError),
  [S$.$loop]: core.bool,
  [S$.$mediaKeys]: dart.nullable(html$.MediaKeys),
  [S$.$muted]: core.bool,
  [S$.$networkState]: dart.nullable(core.int),
  [S$.$paused]: core.bool,
  [S$.$playbackRate]: core.num,
  [S$.$played]: html$.TimeRanges,
  [S$.$preload]: core.String,
  [S.$readyState]: core.int,
  [S$.$remote]: dart.nullable(html$.RemotePlayback),
  [S$.$seekable]: html$.TimeRanges,
  [S$.$seeking]: core.bool,
  [S$.$sinkId]: dart.nullable(core.String),
  [S$.$src]: core.String,
  [S$.$srcObject]: dart.nullable(html$.MediaStream),
  [S$.$textTracks]: dart.nullable(html$.TextTrackList),
  [S$.$videoTracks]: dart.nullable(html$.VideoTrackList),
  [S$.$volume]: core.num,
  [S$.$audioDecodedByteCount]: dart.nullable(core.int),
  [S$.$videoDecodedByteCount]: dart.nullable(core.int)
}));
dart.setSetterSignature(html$.MediaElement, () => ({
  __proto__: dart.getSetters(html$.MediaElement.__proto__),
  [S$.$autoplay]: core.bool,
  [S$.$controls]: core.bool,
  [S$.$crossOrigin]: dart.nullable(core.String),
  [S$.$currentTime]: core.num,
  [S$.$defaultMuted]: dart.nullable(core.bool),
  [S$.$defaultPlaybackRate]: core.num,
  [S$.$disableRemotePlayback]: core.bool,
  [S$.$loop]: core.bool,
  [S$.$muted]: core.bool,
  [S$.$playbackRate]: core.num,
  [S$.$preload]: core.String,
  [S$.$src]: core.String,
  [S$.$srcObject]: dart.nullable(html$.MediaStream),
  [S$.$volume]: core.num
}));
dart.setLibraryUri(html$.MediaElement, I[148]);
dart.defineLazy(html$.MediaElement, {
  /*html$.MediaElement.HAVE_CURRENT_DATA*/get HAVE_CURRENT_DATA() {
    return 2;
  },
  /*html$.MediaElement.HAVE_ENOUGH_DATA*/get HAVE_ENOUGH_DATA() {
    return 4;
  },
  /*html$.MediaElement.HAVE_FUTURE_DATA*/get HAVE_FUTURE_DATA() {
    return 3;
  },
  /*html$.MediaElement.HAVE_METADATA*/get HAVE_METADATA() {
    return 1;
  },
  /*html$.MediaElement.HAVE_NOTHING*/get HAVE_NOTHING() {
    return 0;
  },
  /*html$.MediaElement.NETWORK_EMPTY*/get NETWORK_EMPTY() {
    return 0;
  },
  /*html$.MediaElement.NETWORK_IDLE*/get NETWORK_IDLE() {
    return 1;
  },
  /*html$.MediaElement.NETWORK_LOADING*/get NETWORK_LOADING() {
    return 2;
  },
  /*html$.MediaElement.NETWORK_NO_SOURCE*/get NETWORK_NO_SOURCE() {
    return 3;
  }
}, false);
dart.registerExtension("HTMLMediaElement", html$.MediaElement);
html$.AudioElement = class AudioElement extends html$.MediaElement {
  static __(src = null) {
    if (src != null) {
      return html$.AudioElement._create_1(src);
    }
    return html$.AudioElement._create_2();
  }
  static _create_1(src) {
    return new Audio(src);
  }
  static _create_2() {
    return new Audio();
  }
  static new(src = null) {
    return html$.AudioElement.__(src);
  }
};
(html$.AudioElement.created = function() {
  html$.AudioElement.__proto__.created.call(this);
  ;
}).prototype = html$.AudioElement.prototype;
dart.addTypeTests(html$.AudioElement);
dart.addTypeCaches(html$.AudioElement);
dart.setLibraryUri(html$.AudioElement, I[148]);
dart.registerExtension("HTMLAudioElement", html$.AudioElement);
html$.AuthenticatorResponse = class AuthenticatorResponse extends _interceptors.Interceptor {
  get [S$.$clientDataJson]() {
    return this.clientDataJSON;
  }
};
dart.addTypeTests(html$.AuthenticatorResponse);
dart.addTypeCaches(html$.AuthenticatorResponse);
dart.setGetterSignature(html$.AuthenticatorResponse, () => ({
  __proto__: dart.getGetters(html$.AuthenticatorResponse.__proto__),
  [S$.$clientDataJson]: dart.nullable(typed_data.ByteBuffer)
}));
dart.setLibraryUri(html$.AuthenticatorResponse, I[148]);
dart.registerExtension("AuthenticatorResponse", html$.AuthenticatorResponse);
html$.AuthenticatorAssertionResponse = class AuthenticatorAssertionResponse extends html$.AuthenticatorResponse {
  get [S$.$authenticatorData]() {
    return this.authenticatorData;
  }
  get [S$.$signature]() {
    return this.signature;
  }
};
dart.addTypeTests(html$.AuthenticatorAssertionResponse);
dart.addTypeCaches(html$.AuthenticatorAssertionResponse);
dart.setGetterSignature(html$.AuthenticatorAssertionResponse, () => ({
  __proto__: dart.getGetters(html$.AuthenticatorAssertionResponse.__proto__),
  [S$.$authenticatorData]: dart.nullable(typed_data.ByteBuffer),
  [S$.$signature]: dart.nullable(typed_data.ByteBuffer)
}));
dart.setLibraryUri(html$.AuthenticatorAssertionResponse, I[148]);
dart.registerExtension("AuthenticatorAssertionResponse", html$.AuthenticatorAssertionResponse);
html$.AuthenticatorAttestationResponse = class AuthenticatorAttestationResponse extends html$.AuthenticatorResponse {
  get [S$.$attestationObject]() {
    return this.attestationObject;
  }
};
dart.addTypeTests(html$.AuthenticatorAttestationResponse);
dart.addTypeCaches(html$.AuthenticatorAttestationResponse);
dart.setGetterSignature(html$.AuthenticatorAttestationResponse, () => ({
  __proto__: dart.getGetters(html$.AuthenticatorAttestationResponse.__proto__),
  [S$.$attestationObject]: dart.nullable(typed_data.ByteBuffer)
}));
dart.setLibraryUri(html$.AuthenticatorAttestationResponse, I[148]);
dart.registerExtension("AuthenticatorAttestationResponse", html$.AuthenticatorAttestationResponse);
html$.BRElement = class BRElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("br");
  }
};
(html$.BRElement.created = function() {
  html$.BRElement.__proto__.created.call(this);
  ;
}).prototype = html$.BRElement.prototype;
dart.addTypeTests(html$.BRElement);
dart.addTypeCaches(html$.BRElement);
dart.setLibraryUri(html$.BRElement, I[148]);
dart.registerExtension("HTMLBRElement", html$.BRElement);
html$.BackgroundFetchEvent = class BackgroundFetchEvent$ extends html$.ExtendableEvent {
  static new(type, init) {
    if (type == null) dart.nullFailed(I[147], 1296, 39, "type");
    if (init == null) dart.nullFailed(I[147], 1296, 49, "init");
    let init_1 = html_common.convertDartToNative_Dictionary(init);
    return html$.BackgroundFetchEvent._create_1(type, init_1);
  }
  static _create_1(type, init) {
    return new BackgroundFetchEvent(type, init);
  }
  get [S.$id]() {
    return this.id;
  }
};
dart.addTypeTests(html$.BackgroundFetchEvent);
dart.addTypeCaches(html$.BackgroundFetchEvent);
dart.setGetterSignature(html$.BackgroundFetchEvent, () => ({
  __proto__: dart.getGetters(html$.BackgroundFetchEvent.__proto__),
  [S.$id]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.BackgroundFetchEvent, I[148]);
dart.registerExtension("BackgroundFetchEvent", html$.BackgroundFetchEvent);
html$.BackgroundFetchClickEvent = class BackgroundFetchClickEvent$ extends html$.BackgroundFetchEvent {
  static new(type, init) {
    if (type == null) dart.nullFailed(I[147], 1273, 44, "type");
    if (init == null) dart.nullFailed(I[147], 1273, 54, "init");
    let init_1 = html_common.convertDartToNative_Dictionary(init);
    return html$.BackgroundFetchClickEvent._create_1(type, init_1);
  }
  static _create_1(type, init) {
    return new BackgroundFetchClickEvent(type, init);
  }
  get [S$.$state]() {
    return this.state;
  }
};
dart.addTypeTests(html$.BackgroundFetchClickEvent);
dart.addTypeCaches(html$.BackgroundFetchClickEvent);
dart.setGetterSignature(html$.BackgroundFetchClickEvent, () => ({
  __proto__: dart.getGetters(html$.BackgroundFetchClickEvent.__proto__),
  [S$.$state]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.BackgroundFetchClickEvent, I[148]);
dart.registerExtension("BackgroundFetchClickEvent", html$.BackgroundFetchClickEvent);
html$.BackgroundFetchFailEvent = class BackgroundFetchFailEvent$ extends html$.BackgroundFetchEvent {
  static new(type, init) {
    if (type == null) dart.nullFailed(I[147], 1316, 43, "type");
    if (init == null) dart.nullFailed(I[147], 1316, 53, "init");
    let init_1 = html_common.convertDartToNative_Dictionary(init);
    return html$.BackgroundFetchFailEvent._create_1(type, init_1);
  }
  static _create_1(type, init) {
    return new BackgroundFetchFailEvent(type, init);
  }
  get [S$.$fetches]() {
    return this.fetches;
  }
};
dart.addTypeTests(html$.BackgroundFetchFailEvent);
dart.addTypeCaches(html$.BackgroundFetchFailEvent);
dart.setGetterSignature(html$.BackgroundFetchFailEvent, () => ({
  __proto__: dart.getGetters(html$.BackgroundFetchFailEvent.__proto__),
  [S$.$fetches]: dart.nullable(core.List$(html$.BackgroundFetchSettledFetch))
}));
dart.setLibraryUri(html$.BackgroundFetchFailEvent, I[148]);
dart.registerExtension("BackgroundFetchFailEvent", html$.BackgroundFetchFailEvent);
html$.BackgroundFetchFetch = class BackgroundFetchFetch extends _interceptors.Interceptor {
  get [S$.$request]() {
    return this.request;
  }
};
dart.addTypeTests(html$.BackgroundFetchFetch);
dart.addTypeCaches(html$.BackgroundFetchFetch);
dart.setGetterSignature(html$.BackgroundFetchFetch, () => ({
  __proto__: dart.getGetters(html$.BackgroundFetchFetch.__proto__),
  [S$.$request]: dart.nullable(html$._Request)
}));
dart.setLibraryUri(html$.BackgroundFetchFetch, I[148]);
dart.registerExtension("BackgroundFetchFetch", html$.BackgroundFetchFetch);
html$.BackgroundFetchManager = class BackgroundFetchManager extends _interceptors.Interceptor {
  [S$.$fetch](id, requests, options = null) {
    if (id == null) dart.nullFailed(I[147], 1352, 52, "id");
    if (requests == null) dart.nullFailed(I[147], 1352, 63, "requests");
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(html$.BackgroundFetchRegistration, this.fetch(id, requests, options_dict));
  }
  [S.$get](id) {
    if (id == null) dart.nullFailed(I[147], 1367, 50, "id");
    return js_util.promiseToFuture(html$.BackgroundFetchRegistration, this.get(id));
  }
  [S$.$getIds]() {
    return js_util.promiseToFuture(core.List, this.getIds());
  }
};
dart.addTypeTests(html$.BackgroundFetchManager);
dart.addTypeCaches(html$.BackgroundFetchManager);
dart.setMethodSignature(html$.BackgroundFetchManager, () => ({
  __proto__: dart.getMethods(html$.BackgroundFetchManager.__proto__),
  [S$.$fetch]: dart.fnType(async.Future$(html$.BackgroundFetchRegistration), [core.String, core.Object], [dart.nullable(core.Map)]),
  [S.$get]: dart.fnType(async.Future$(html$.BackgroundFetchRegistration), [core.String]),
  [S$.$getIds]: dart.fnType(async.Future$(core.List), [])
}));
dart.setLibraryUri(html$.BackgroundFetchManager, I[148]);
dart.registerExtension("BackgroundFetchManager", html$.BackgroundFetchManager);
html$.BackgroundFetchRegistration = class BackgroundFetchRegistration extends html$.EventTarget {
  get [S$.$downloadTotal]() {
    return this.downloadTotal;
  }
  get [S$.$downloaded]() {
    return this.downloaded;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S.$title]() {
    return this.title;
  }
  get [S$.$totalDownloadSize]() {
    return this.totalDownloadSize;
  }
  get [S$.$uploadTotal]() {
    return this.uploadTotal;
  }
  get [S$.$uploaded]() {
    return this.uploaded;
  }
  [S.$abort]() {
    return js_util.promiseToFuture(core.bool, this.abort());
  }
};
dart.addTypeTests(html$.BackgroundFetchRegistration);
dart.addTypeCaches(html$.BackgroundFetchRegistration);
dart.setMethodSignature(html$.BackgroundFetchRegistration, () => ({
  __proto__: dart.getMethods(html$.BackgroundFetchRegistration.__proto__),
  [S.$abort]: dart.fnType(async.Future$(core.bool), [])
}));
dart.setGetterSignature(html$.BackgroundFetchRegistration, () => ({
  __proto__: dart.getGetters(html$.BackgroundFetchRegistration.__proto__),
  [S$.$downloadTotal]: dart.nullable(core.int),
  [S$.$downloaded]: dart.nullable(core.int),
  [S.$id]: dart.nullable(core.String),
  [S.$title]: dart.nullable(core.String),
  [S$.$totalDownloadSize]: dart.nullable(core.int),
  [S$.$uploadTotal]: dart.nullable(core.int),
  [S$.$uploaded]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.BackgroundFetchRegistration, I[148]);
dart.registerExtension("BackgroundFetchRegistration", html$.BackgroundFetchRegistration);
html$.BackgroundFetchSettledFetch = class BackgroundFetchSettledFetch$ extends html$.BackgroundFetchFetch {
  static new(request, response) {
    if (request == null) dart.nullFailed(I[147], 1412, 48, "request");
    if (response == null) dart.nullFailed(I[147], 1412, 67, "response");
    return html$.BackgroundFetchSettledFetch._create_1(request, response);
  }
  static _create_1(request, response) {
    return new BackgroundFetchSettledFetch(request, response);
  }
  get [S$.$response]() {
    return this.response;
  }
};
dart.addTypeTests(html$.BackgroundFetchSettledFetch);
dart.addTypeCaches(html$.BackgroundFetchSettledFetch);
dart.setGetterSignature(html$.BackgroundFetchSettledFetch, () => ({
  __proto__: dart.getGetters(html$.BackgroundFetchSettledFetch.__proto__),
  [S$.$response]: dart.nullable(html$._Response)
}));
dart.setLibraryUri(html$.BackgroundFetchSettledFetch, I[148]);
dart.registerExtension("BackgroundFetchSettledFetch", html$.BackgroundFetchSettledFetch);
html$.BackgroundFetchedEvent = class BackgroundFetchedEvent$ extends html$.BackgroundFetchEvent {
  static new(type, init) {
    if (type == null) dart.nullFailed(I[147], 1434, 41, "type");
    if (init == null) dart.nullFailed(I[147], 1434, 51, "init");
    let init_1 = html_common.convertDartToNative_Dictionary(init);
    return html$.BackgroundFetchedEvent._create_1(type, init_1);
  }
  static _create_1(type, init) {
    return new BackgroundFetchedEvent(type, init);
  }
  get [S$.$fetches]() {
    return this.fetches;
  }
  [S$.$updateUI](title) {
    if (title == null) dart.nullFailed(I[147], 1443, 26, "title");
    return js_util.promiseToFuture(dart.dynamic, this.updateUI(title));
  }
};
dart.addTypeTests(html$.BackgroundFetchedEvent);
dart.addTypeCaches(html$.BackgroundFetchedEvent);
dart.setMethodSignature(html$.BackgroundFetchedEvent, () => ({
  __proto__: dart.getMethods(html$.BackgroundFetchedEvent.__proto__),
  [S$.$updateUI]: dart.fnType(async.Future, [core.String])
}));
dart.setGetterSignature(html$.BackgroundFetchedEvent, () => ({
  __proto__: dart.getGetters(html$.BackgroundFetchedEvent.__proto__),
  [S$.$fetches]: dart.nullable(core.List$(html$.BackgroundFetchSettledFetch))
}));
dart.setLibraryUri(html$.BackgroundFetchedEvent, I[148]);
dart.registerExtension("BackgroundFetchedEvent", html$.BackgroundFetchedEvent);
html$.BarProp = class BarProp extends _interceptors.Interceptor {
  get [S$.$visible]() {
    return this.visible;
  }
};
dart.addTypeTests(html$.BarProp);
dart.addTypeCaches(html$.BarProp);
dart.setGetterSignature(html$.BarProp, () => ({
  __proto__: dart.getGetters(html$.BarProp.__proto__),
  [S$.$visible]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.BarProp, I[148]);
dart.registerExtension("BarProp", html$.BarProp);
html$.BarcodeDetector = class BarcodeDetector$ extends _interceptors.Interceptor {
  static new() {
    return html$.BarcodeDetector._create_1();
  }
  static _create_1() {
    return new BarcodeDetector();
  }
  [S$.$detect](image) {
    return js_util.promiseToFuture(core.List, this.detect(image));
  }
};
dart.addTypeTests(html$.BarcodeDetector);
dart.addTypeCaches(html$.BarcodeDetector);
dart.setMethodSignature(html$.BarcodeDetector, () => ({
  __proto__: dart.getMethods(html$.BarcodeDetector.__proto__),
  [S$.$detect]: dart.fnType(async.Future$(core.List), [dart.dynamic])
}));
dart.setLibraryUri(html$.BarcodeDetector, I[148]);
dart.registerExtension("BarcodeDetector", html$.BarcodeDetector);
html$.BaseElement = class BaseElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("base");
  }
  get [S$.$href]() {
    return this.href;
  }
  set [S$.$href](value) {
    this.href = value;
  }
  get [S.$target]() {
    return this.target;
  }
  set [S.$target](value) {
    this.target = value;
  }
};
(html$.BaseElement.created = function() {
  html$.BaseElement.__proto__.created.call(this);
  ;
}).prototype = html$.BaseElement.prototype;
dart.addTypeTests(html$.BaseElement);
dart.addTypeCaches(html$.BaseElement);
dart.setGetterSignature(html$.BaseElement, () => ({
  __proto__: dart.getGetters(html$.BaseElement.__proto__),
  [S$.$href]: core.String,
  [S.$target]: core.String
}));
dart.setSetterSignature(html$.BaseElement, () => ({
  __proto__: dart.getSetters(html$.BaseElement.__proto__),
  [S$.$href]: core.String,
  [S.$target]: core.String
}));
dart.setLibraryUri(html$.BaseElement, I[148]);
dart.registerExtension("HTMLBaseElement", html$.BaseElement);
html$.BatteryManager = class BatteryManager extends html$.EventTarget {
  get [S$.$charging]() {
    return this.charging;
  }
  get [S$.$chargingTime]() {
    return this.chargingTime;
  }
  get [S$.$dischargingTime]() {
    return this.dischargingTime;
  }
  get [S$.$level]() {
    return this.level;
  }
};
dart.addTypeTests(html$.BatteryManager);
dart.addTypeCaches(html$.BatteryManager);
dart.setGetterSignature(html$.BatteryManager, () => ({
  __proto__: dart.getGetters(html$.BatteryManager.__proto__),
  [S$.$charging]: dart.nullable(core.bool),
  [S$.$chargingTime]: dart.nullable(core.num),
  [S$.$dischargingTime]: dart.nullable(core.num),
  [S$.$level]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.BatteryManager, I[148]);
dart.registerExtension("BatteryManager", html$.BatteryManager);
html$.BeforeInstallPromptEvent = class BeforeInstallPromptEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 1542, 43, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.BeforeInstallPromptEvent._create_1(type, eventInitDict_1);
    }
    return html$.BeforeInstallPromptEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new BeforeInstallPromptEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new BeforeInstallPromptEvent(type);
  }
  get [S$.$platforms]() {
    return this.platforms;
  }
  get [S$.$userChoice]() {
    return html$.promiseToFutureAsMap(this.userChoice);
  }
  [S$.$prompt]() {
    return js_util.promiseToFuture(dart.dynamic, this.prompt());
  }
};
dart.addTypeTests(html$.BeforeInstallPromptEvent);
dart.addTypeCaches(html$.BeforeInstallPromptEvent);
dart.setMethodSignature(html$.BeforeInstallPromptEvent, () => ({
  __proto__: dart.getMethods(html$.BeforeInstallPromptEvent.__proto__),
  [S$.$prompt]: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(html$.BeforeInstallPromptEvent, () => ({
  __proto__: dart.getGetters(html$.BeforeInstallPromptEvent.__proto__),
  [S$.$platforms]: dart.nullable(core.List$(core.String)),
  [S$.$userChoice]: async.Future$(dart.nullable(core.Map$(core.String, dart.dynamic)))
}));
dart.setLibraryUri(html$.BeforeInstallPromptEvent, I[148]);
dart.registerExtension("BeforeInstallPromptEvent", html$.BeforeInstallPromptEvent);
html$.BeforeUnloadEvent = class BeforeUnloadEvent extends html$.Event {
  get [S$.$returnValue]() {
    return this.returnValue;
  }
  set [S$.$returnValue](value) {
    this.returnValue = value;
  }
};
dart.addTypeTests(html$.BeforeUnloadEvent);
dart.addTypeCaches(html$.BeforeUnloadEvent);
dart.setGetterSignature(html$.BeforeUnloadEvent, () => ({
  __proto__: dart.getGetters(html$.BeforeUnloadEvent.__proto__),
  [S$.$returnValue]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.BeforeUnloadEvent, () => ({
  __proto__: dart.getSetters(html$.BeforeUnloadEvent.__proto__),
  [S$.$returnValue]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.BeforeUnloadEvent, I[148]);
dart.registerExtension("BeforeUnloadEvent", html$.BeforeUnloadEvent);
html$.Blob = class Blob extends _interceptors.Interceptor {
  get [S$.$size]() {
    return this.size;
  }
  get [S.$type]() {
    return this.type;
  }
  [S$.$slice](...args) {
    return this.slice.apply(this, args);
  }
  static new(blobParts, type = null, endings = null) {
    if (blobParts == null) dart.nullFailed(I[147], 1598, 21, "blobParts");
    if (type == null && endings == null) {
      return html$.Blob.as(html$.Blob._create_1(blobParts));
    }
    let bag = html$.Blob._create_bag();
    if (type != null) html$.Blob._bag_set(bag, "type", type);
    if (endings != null) html$.Blob._bag_set(bag, "endings", endings);
    return html$.Blob.as(html$.Blob._create_2(blobParts, bag));
  }
  static _create_1(parts) {
    return new self.Blob(parts);
  }
  static _create_2(parts, bag) {
    return new self.Blob(parts, bag);
  }
  static _create_bag() {
    return {};
  }
  static _bag_set(bag, key, value) {
    bag[key] = value;
  }
};
dart.addTypeTests(html$.Blob);
dart.addTypeCaches(html$.Blob);
dart.setMethodSignature(html$.Blob, () => ({
  __proto__: dart.getMethods(html$.Blob.__proto__),
  [S$.$slice]: dart.fnType(html$.Blob, [], [dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.Blob, () => ({
  __proto__: dart.getGetters(html$.Blob.__proto__),
  [S$.$size]: core.int,
  [S.$type]: core.String
}));
dart.setLibraryUri(html$.Blob, I[148]);
dart.registerExtension("Blob", html$.Blob);
html$.BlobEvent = class BlobEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 1637, 28, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 1637, 38, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.BlobEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new BlobEvent(type, eventInitDict);
  }
  get [S$.$data]() {
    return this.data;
  }
  get [S$.$timecode]() {
    return this.timecode;
  }
};
dart.addTypeTests(html$.BlobEvent);
dart.addTypeCaches(html$.BlobEvent);
dart.setGetterSignature(html$.BlobEvent, () => ({
  __proto__: dart.getGetters(html$.BlobEvent.__proto__),
  [S$.$data]: dart.nullable(html$.Blob),
  [S$.$timecode]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.BlobEvent, I[148]);
dart.registerExtension("BlobEvent", html$.BlobEvent);
html$.BluetoothRemoteGattDescriptor = class BluetoothRemoteGattDescriptor extends _interceptors.Interceptor {
  get [S$.$characteristic]() {
    return this.characteristic;
  }
  get [S$.$uuid]() {
    return this.uuid;
  }
  get [S.$value]() {
    return this.value;
  }
  [S$.$readValue]() {
    return js_util.promiseToFuture(dart.dynamic, this.readValue());
  }
  [S$.$writeValue](value) {
    return js_util.promiseToFuture(dart.dynamic, this.writeValue(value));
  }
};
dart.addTypeTests(html$.BluetoothRemoteGattDescriptor);
dart.addTypeCaches(html$.BluetoothRemoteGattDescriptor);
dart.setMethodSignature(html$.BluetoothRemoteGattDescriptor, () => ({
  __proto__: dart.getMethods(html$.BluetoothRemoteGattDescriptor.__proto__),
  [S$.$readValue]: dart.fnType(async.Future, []),
  [S$.$writeValue]: dart.fnType(async.Future, [dart.dynamic])
}));
dart.setGetterSignature(html$.BluetoothRemoteGattDescriptor, () => ({
  __proto__: dart.getGetters(html$.BluetoothRemoteGattDescriptor.__proto__),
  [S$.$characteristic]: dart.nullable(html$._BluetoothRemoteGATTCharacteristic),
  [S$.$uuid]: dart.nullable(core.String),
  [S.$value]: dart.nullable(typed_data.ByteData)
}));
dart.setLibraryUri(html$.BluetoothRemoteGattDescriptor, I[148]);
dart.registerExtension("BluetoothRemoteGATTDescriptor", html$.BluetoothRemoteGattDescriptor);
html$.Body = class Body extends _interceptors.Interceptor {
  get [S$.$bodyUsed]() {
    return this.bodyUsed;
  }
  [S$.$arrayBuffer]() {
    return js_util.promiseToFuture(dart.dynamic, this.arrayBuffer());
  }
  [S$.$blob]() {
    return js_util.promiseToFuture(html$.Blob, this.blob());
  }
  [S$.$formData]() {
    return js_util.promiseToFuture(html$.FormData, this.formData());
  }
  [S$.$json]() {
    return js_util.promiseToFuture(dart.dynamic, this.json());
  }
  [S.$text]() {
    return js_util.promiseToFuture(core.String, this.text());
  }
};
dart.addTypeTests(html$.Body);
dart.addTypeCaches(html$.Body);
dart.setMethodSignature(html$.Body, () => ({
  __proto__: dart.getMethods(html$.Body.__proto__),
  [S$.$arrayBuffer]: dart.fnType(async.Future, []),
  [S$.$blob]: dart.fnType(async.Future$(html$.Blob), []),
  [S$.$formData]: dart.fnType(async.Future$(html$.FormData), []),
  [S$.$json]: dart.fnType(async.Future, []),
  [S.$text]: dart.fnType(async.Future$(core.String), [])
}));
dart.setGetterSignature(html$.Body, () => ({
  __proto__: dart.getGetters(html$.Body.__proto__),
  [S$.$bodyUsed]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.Body, I[148]);
dart.registerExtension("Body", html$.Body);
html$.BodyElement = class BodyElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("body");
  }
  get [S.$onBlur]() {
    return html$.BodyElement.blurEvent.forElement(this);
  }
  get [S.$onError]() {
    return html$.BodyElement.errorEvent.forElement(this);
  }
  get [S.$onFocus]() {
    return html$.BodyElement.focusEvent.forElement(this);
  }
  get [S$.$onHashChange]() {
    return html$.BodyElement.hashChangeEvent.forElement(this);
  }
  get [S.$onLoad]() {
    return html$.BodyElement.loadEvent.forElement(this);
  }
  get [S$.$onMessage]() {
    return html$.BodyElement.messageEvent.forElement(this);
  }
  get [S$.$onOffline]() {
    return html$.BodyElement.offlineEvent.forElement(this);
  }
  get [S$.$onOnline]() {
    return html$.BodyElement.onlineEvent.forElement(this);
  }
  get [S$.$onPopState]() {
    return html$.BodyElement.popStateEvent.forElement(this);
  }
  get [S.$onResize]() {
    return html$.BodyElement.resizeEvent.forElement(this);
  }
  get [S.$onScroll]() {
    return html$.BodyElement.scrollEvent.forElement(this);
  }
  get [S$.$onStorage]() {
    return html$.BodyElement.storageEvent.forElement(this);
  }
  get [S$.$onUnload]() {
    return html$.BodyElement.unloadEvent.forElement(this);
  }
};
(html$.BodyElement.created = function() {
  html$.BodyElement.__proto__.created.call(this);
  ;
}).prototype = html$.BodyElement.prototype;
dart.addTypeTests(html$.BodyElement);
dart.addTypeCaches(html$.BodyElement);
html$.BodyElement[dart.implements] = () => [html$.WindowEventHandlers];
dart.setGetterSignature(html$.BodyElement, () => ({
  __proto__: dart.getGetters(html$.BodyElement.__proto__),
  [S$.$onHashChange]: html$.ElementStream$(html$.Event),
  [S$.$onMessage]: html$.ElementStream$(html$.MessageEvent),
  [S$.$onOffline]: html$.ElementStream$(html$.Event),
  [S$.$onOnline]: html$.ElementStream$(html$.Event),
  [S$.$onPopState]: html$.ElementStream$(html$.PopStateEvent),
  [S$.$onStorage]: html$.ElementStream$(html$.StorageEvent),
  [S$.$onUnload]: html$.ElementStream$(html$.Event)
}));
dart.setLibraryUri(html$.BodyElement, I[148]);
dart.defineLazy(html$.BodyElement, {
  /*html$.BodyElement.blurEvent*/get blurEvent() {
    return C[235] || CT.C235;
  },
  /*html$.BodyElement.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.BodyElement.focusEvent*/get focusEvent() {
    return C[254] || CT.C254;
  },
  /*html$.BodyElement.hashChangeEvent*/get hashChangeEvent() {
    return C[313] || CT.C313;
  },
  /*html$.BodyElement.loadEvent*/get loadEvent() {
    return C[260] || CT.C260;
  },
  /*html$.BodyElement.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  },
  /*html$.BodyElement.offlineEvent*/get offlineEvent() {
    return C[315] || CT.C315;
  },
  /*html$.BodyElement.onlineEvent*/get onlineEvent() {
    return C[316] || CT.C316;
  },
  /*html$.BodyElement.popStateEvent*/get popStateEvent() {
    return C[317] || CT.C317;
  },
  /*html$.BodyElement.resizeEvent*/get resizeEvent() {
    return C[276] || CT.C276;
  },
  /*html$.BodyElement.scrollEvent*/get scrollEvent() {
    return C[277] || CT.C277;
  },
  /*html$.BodyElement.storageEvent*/get storageEvent() {
    return C[318] || CT.C318;
  },
  /*html$.BodyElement.unloadEvent*/get unloadEvent() {
    return C[319] || CT.C319;
  }
}, false);
dart.registerExtension("HTMLBodyElement", html$.BodyElement);
html$.BroadcastChannel = class BroadcastChannel$ extends html$.EventTarget {
  static new(name) {
    if (name == null) dart.nullFailed(I[147], 1881, 35, "name");
    return html$.BroadcastChannel._create_1(name);
  }
  static _create_1(name) {
    return new BroadcastChannel(name);
  }
  get [$name]() {
    return this.name;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$.$postMessage](...args) {
    return this.postMessage.apply(this, args);
  }
  get [S$.$onMessage]() {
    return html$.BroadcastChannel.messageEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.BroadcastChannel);
dart.addTypeCaches(html$.BroadcastChannel);
dart.setMethodSignature(html$.BroadcastChannel, () => ({
  __proto__: dart.getMethods(html$.BroadcastChannel.__proto__),
  [S.$close]: dart.fnType(dart.void, []),
  [S$.$postMessage]: dart.fnType(dart.void, [core.Object])
}));
dart.setGetterSignature(html$.BroadcastChannel, () => ({
  __proto__: dart.getGetters(html$.BroadcastChannel.__proto__),
  [$name]: dart.nullable(core.String),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setLibraryUri(html$.BroadcastChannel, I[148]);
dart.defineLazy(html$.BroadcastChannel, {
  /*html$.BroadcastChannel.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  }
}, false);
dart.registerExtension("BroadcastChannel", html$.BroadcastChannel);
html$.BudgetState = class BudgetState extends _interceptors.Interceptor {
  get [S$.$budgetAt]() {
    return this.budgetAt;
  }
  get [S$.$time]() {
    return this.time;
  }
};
dart.addTypeTests(html$.BudgetState);
dart.addTypeCaches(html$.BudgetState);
dart.setGetterSignature(html$.BudgetState, () => ({
  __proto__: dart.getGetters(html$.BudgetState.__proto__),
  [S$.$budgetAt]: dart.nullable(core.num),
  [S$.$time]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.BudgetState, I[148]);
dart.registerExtension("BudgetState", html$.BudgetState);
html$.ButtonElement = class ButtonElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("button");
  }
  get [S$.$autofocus]() {
    return this.autofocus;
  }
  set [S$.$autofocus](value) {
    this.autofocus = value;
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [S$.$formAction]() {
    return this.formAction;
  }
  set [S$.$formAction](value) {
    this.formAction = value;
  }
  get [S$.$formEnctype]() {
    return this.formEnctype;
  }
  set [S$.$formEnctype](value) {
    this.formEnctype = value;
  }
  get [S$.$formMethod]() {
    return this.formMethod;
  }
  set [S$.$formMethod](value) {
    this.formMethod = value;
  }
  get [S$.$formNoValidate]() {
    return this.formNoValidate;
  }
  set [S$.$formNoValidate](value) {
    this.formNoValidate = value;
  }
  get [S$.$formTarget]() {
    return this.formTarget;
  }
  set [S$.$formTarget](value) {
    this.formTarget = value;
  }
  get [S$.$labels]() {
    return this.labels;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  get [S$.$validationMessage]() {
    return this.validationMessage;
  }
  get [S$.$validity]() {
    return this.validity;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  get [S$.$willValidate]() {
    return this.willValidate;
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$.$setCustomValidity](...args) {
    return this.setCustomValidity.apply(this, args);
  }
};
(html$.ButtonElement.created = function() {
  html$.ButtonElement.__proto__.created.call(this);
  ;
}).prototype = html$.ButtonElement.prototype;
dart.addTypeTests(html$.ButtonElement);
dart.addTypeCaches(html$.ButtonElement);
dart.setMethodSignature(html$.ButtonElement, () => ({
  __proto__: dart.getMethods(html$.ButtonElement.__proto__),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$.$setCustomValidity]: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(html$.ButtonElement, () => ({
  __proto__: dart.getGetters(html$.ButtonElement.__proto__),
  [S$.$autofocus]: core.bool,
  [S$.$disabled]: core.bool,
  [S$.$form]: dart.nullable(html$.FormElement),
  [S$.$formAction]: dart.nullable(core.String),
  [S$.$formEnctype]: dart.nullable(core.String),
  [S$.$formMethod]: dart.nullable(core.String),
  [S$.$formNoValidate]: core.bool,
  [S$.$formTarget]: core.String,
  [S$.$labels]: dart.nullable(core.List$(html$.Node)),
  [$name]: core.String,
  [S.$type]: core.String,
  [S$.$validationMessage]: core.String,
  [S$.$validity]: html$.ValidityState,
  [S.$value]: core.String,
  [S$.$willValidate]: core.bool
}));
dart.setSetterSignature(html$.ButtonElement, () => ({
  __proto__: dart.getSetters(html$.ButtonElement.__proto__),
  [S$.$autofocus]: core.bool,
  [S$.$disabled]: core.bool,
  [S$.$formAction]: dart.nullable(core.String),
  [S$.$formEnctype]: dart.nullable(core.String),
  [S$.$formMethod]: dart.nullable(core.String),
  [S$.$formNoValidate]: core.bool,
  [S$.$formTarget]: core.String,
  [$name]: core.String,
  [S.$type]: core.String,
  [S.$value]: core.String
}));
dart.setLibraryUri(html$.ButtonElement, I[148]);
dart.registerExtension("HTMLButtonElement", html$.ButtonElement);
html$.CharacterData = class CharacterData extends html$.Node {
  get [S$.$data]() {
    return this.data;
  }
  set [S$.$data](value) {
    this.data = value;
  }
  get [$length]() {
    return this.length;
  }
  [S$.$appendData](...args) {
    return this.appendData.apply(this, args);
  }
  [S$.$deleteData](...args) {
    return this.deleteData.apply(this, args);
  }
  [S$.$insertData](...args) {
    return this.insertData.apply(this, args);
  }
  [S$.$replaceData](...args) {
    return this.replaceData.apply(this, args);
  }
  [S$.$substringData](...args) {
    return this.substringData.apply(this, args);
  }
  [S.$after](...args) {
    return this.after.apply(this, args);
  }
  [S.$before](...args) {
    return this.before.apply(this, args);
  }
  get [S.$nextElementSibling]() {
    return this.nextElementSibling;
  }
  get [S.$previousElementSibling]() {
    return this.previousElementSibling;
  }
};
dart.addTypeTests(html$.CharacterData);
dart.addTypeCaches(html$.CharacterData);
html$.CharacterData[dart.implements] = () => [html$.NonDocumentTypeChildNode, html$.ChildNode];
dart.setMethodSignature(html$.CharacterData, () => ({
  __proto__: dart.getMethods(html$.CharacterData.__proto__),
  [S$.$appendData]: dart.fnType(dart.void, [core.String]),
  [S$.$deleteData]: dart.fnType(dart.void, [core.int, core.int]),
  [S$.$insertData]: dart.fnType(dart.void, [core.int, core.String]),
  [S$.$replaceData]: dart.fnType(dart.void, [core.int, core.int, core.String]),
  [S$.$substringData]: dart.fnType(core.String, [core.int, core.int]),
  [S.$after]: dart.fnType(dart.void, [core.Object]),
  [S.$before]: dart.fnType(dart.void, [core.Object])
}));
dart.setGetterSignature(html$.CharacterData, () => ({
  __proto__: dart.getGetters(html$.CharacterData.__proto__),
  [S$.$data]: dart.nullable(core.String),
  [$length]: dart.nullable(core.int),
  [S.$nextElementSibling]: dart.nullable(html$.Element),
  [S.$previousElementSibling]: dart.nullable(html$.Element)
}));
dart.setSetterSignature(html$.CharacterData, () => ({
  __proto__: dart.getSetters(html$.CharacterData.__proto__),
  [S$.$data]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CharacterData, I[148]);
dart.registerExtension("CharacterData", html$.CharacterData);
html$.Text = class Text extends html$.CharacterData {
  static new(data) {
    if (data == null) dart.nullFailed(I[147], 29729, 23, "data");
    return html$.document.createTextNode(data);
  }
  get [S.$assignedSlot]() {
    return this.assignedSlot;
  }
  get [S$.$wholeText]() {
    return this.wholeText;
  }
  [S.$getDestinationInsertionPoints](...args) {
    return this.getDestinationInsertionPoints.apply(this, args);
  }
  [S$.$splitText](...args) {
    return this.splitText.apply(this, args);
  }
};
dart.addTypeTests(html$.Text);
dart.addTypeCaches(html$.Text);
dart.setMethodSignature(html$.Text, () => ({
  __proto__: dart.getMethods(html$.Text.__proto__),
  [S.$getDestinationInsertionPoints]: dart.fnType(core.List$(html$.Node), []),
  [S$.$splitText]: dart.fnType(html$.Text, [core.int])
}));
dart.setGetterSignature(html$.Text, () => ({
  __proto__: dart.getGetters(html$.Text.__proto__),
  [S.$assignedSlot]: dart.nullable(html$.SlotElement),
  [S$.$wholeText]: core.String
}));
dart.setLibraryUri(html$.Text, I[148]);
dart.registerExtension("Text", html$.Text);
html$.CDataSection = class CDataSection extends html$.Text {};
dart.addTypeTests(html$.CDataSection);
dart.addTypeCaches(html$.CDataSection);
dart.setLibraryUri(html$.CDataSection, I[148]);
dart.registerExtension("CDATASection", html$.CDataSection);
html$.CacheStorage = class CacheStorage extends _interceptors.Interceptor {
  [S.$delete](cacheName) {
    if (cacheName == null) dart.nullFailed(I[147], 2016, 24, "cacheName");
    return js_util.promiseToFuture(dart.dynamic, this.delete(cacheName));
  }
  [S$.$has](cacheName) {
    if (cacheName == null) dart.nullFailed(I[147], 2019, 21, "cacheName");
    return js_util.promiseToFuture(dart.dynamic, this.has(cacheName));
  }
  [$keys]() {
    return js_util.promiseToFuture(dart.dynamic, this.keys());
  }
  [S$.$match](request, options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.match(request, options_dict));
  }
  [S.$open](cacheName) {
    if (cacheName == null) dart.nullFailed(I[147], 2033, 22, "cacheName");
    return js_util.promiseToFuture(dart.dynamic, this.open(cacheName));
  }
};
dart.addTypeTests(html$.CacheStorage);
dart.addTypeCaches(html$.CacheStorage);
dart.setMethodSignature(html$.CacheStorage, () => ({
  __proto__: dart.getMethods(html$.CacheStorage.__proto__),
  [S.$delete]: dart.fnType(async.Future, [core.String]),
  [S$.$has]: dart.fnType(async.Future, [core.String]),
  [$keys]: dart.fnType(async.Future, []),
  [S$.$match]: dart.fnType(async.Future, [dart.dynamic], [dart.nullable(core.Map)]),
  [S.$open]: dart.fnType(async.Future, [core.String])
}));
dart.setLibraryUri(html$.CacheStorage, I[148]);
dart.registerExtension("CacheStorage", html$.CacheStorage);
html$.CanMakePaymentEvent = class CanMakePaymentEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 2047, 38, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 2047, 48, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.CanMakePaymentEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new CanMakePaymentEvent(type, eventInitDict);
  }
  get [S$.$methodData]() {
    return this.methodData;
  }
  get [S$.$modifiers]() {
    return this.modifiers;
  }
  get [S$.$paymentRequestOrigin]() {
    return this.paymentRequestOrigin;
  }
  get [S$.$topLevelOrigin]() {
    return this.topLevelOrigin;
  }
  [S$.$respondWith](...args) {
    return this.respondWith.apply(this, args);
  }
};
dart.addTypeTests(html$.CanMakePaymentEvent);
dart.addTypeCaches(html$.CanMakePaymentEvent);
dart.setMethodSignature(html$.CanMakePaymentEvent, () => ({
  __proto__: dart.getMethods(html$.CanMakePaymentEvent.__proto__),
  [S$.$respondWith]: dart.fnType(dart.void, [async.Future])
}));
dart.setGetterSignature(html$.CanMakePaymentEvent, () => ({
  __proto__: dart.getGetters(html$.CanMakePaymentEvent.__proto__),
  [S$.$methodData]: dart.nullable(core.List),
  [S$.$modifiers]: dart.nullable(core.List),
  [S$.$paymentRequestOrigin]: dart.nullable(core.String),
  [S$.$topLevelOrigin]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CanMakePaymentEvent, I[148]);
dart.registerExtension("CanMakePaymentEvent", html$.CanMakePaymentEvent);
html$.MediaStreamTrack = class MediaStreamTrack extends html$.EventTarget {
  get [S$.$contentHint]() {
    return this.contentHint;
  }
  set [S$.$contentHint](value) {
    this.contentHint = value;
  }
  get [S$.$enabled]() {
    return this.enabled;
  }
  set [S$.$enabled](value) {
    this.enabled = value;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S$.$kind]() {
    return this.kind;
  }
  get [S$.$label]() {
    return this.label;
  }
  get [S$.$muted]() {
    return this.muted;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  [S$.$applyConstraints](constraints = null) {
    let constraints_dict = null;
    if (constraints != null) {
      constraints_dict = html_common.convertDartToNative_Dictionary(constraints);
    }
    return js_util.promiseToFuture(dart.dynamic, this.applyConstraints(constraints_dict));
  }
  [S$.$clone](...args) {
    return this.clone.apply(this, args);
  }
  [S$.$getCapabilities]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$._getCapabilities_1]()));
  }
  [S$._getCapabilities_1](...args) {
    return this.getCapabilities.apply(this, args);
  }
  [S$.$getConstraints]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$._getConstraints_1]()));
  }
  [S$._getConstraints_1](...args) {
    return this.getConstraints.apply(this, args);
  }
  [S$.$getSettings]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$._getSettings_1]()));
  }
  [S$._getSettings_1](...args) {
    return this.getSettings.apply(this, args);
  }
  [S$.$stop](...args) {
    return this.stop.apply(this, args);
  }
  get [S.$onEnded]() {
    return html$.MediaStreamTrack.endedEvent.forTarget(this);
  }
  get [S$.$onMute]() {
    return html$.MediaStreamTrack.muteEvent.forTarget(this);
  }
  get [S$.$onUnmute]() {
    return html$.MediaStreamTrack.unmuteEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.MediaStreamTrack);
dart.addTypeCaches(html$.MediaStreamTrack);
dart.setMethodSignature(html$.MediaStreamTrack, () => ({
  __proto__: dart.getMethods(html$.MediaStreamTrack.__proto__),
  [S$.$applyConstraints]: dart.fnType(async.Future, [], [dart.nullable(core.Map)]),
  [S$.$clone]: dart.fnType(html$.MediaStreamTrack, []),
  [S$.$getCapabilities]: dart.fnType(core.Map, []),
  [S$._getCapabilities_1]: dart.fnType(dart.dynamic, []),
  [S$.$getConstraints]: dart.fnType(core.Map, []),
  [S$._getConstraints_1]: dart.fnType(dart.dynamic, []),
  [S$.$getSettings]: dart.fnType(core.Map, []),
  [S$._getSettings_1]: dart.fnType(dart.dynamic, []),
  [S$.$stop]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.MediaStreamTrack, () => ({
  __proto__: dart.getGetters(html$.MediaStreamTrack.__proto__),
  [S$.$contentHint]: dart.nullable(core.String),
  [S$.$enabled]: dart.nullable(core.bool),
  [S.$id]: dart.nullable(core.String),
  [S$.$kind]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String),
  [S$.$muted]: dart.nullable(core.bool),
  [S.$readyState]: dart.nullable(core.String),
  [S.$onEnded]: async.Stream$(html$.Event),
  [S$.$onMute]: async.Stream$(html$.Event),
  [S$.$onUnmute]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.MediaStreamTrack, () => ({
  __proto__: dart.getSetters(html$.MediaStreamTrack.__proto__),
  [S$.$contentHint]: dart.nullable(core.String),
  [S$.$enabled]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.MediaStreamTrack, I[148]);
dart.defineLazy(html$.MediaStreamTrack, {
  /*html$.MediaStreamTrack.endedEvent*/get endedEvent() {
    return C[253] || CT.C253;
  },
  /*html$.MediaStreamTrack.muteEvent*/get muteEvent() {
    return C[320] || CT.C320;
  },
  /*html$.MediaStreamTrack.unmuteEvent*/get unmuteEvent() {
    return C[321] || CT.C321;
  }
}, false);
dart.registerExtension("MediaStreamTrack", html$.MediaStreamTrack);
html$.CanvasCaptureMediaStreamTrack = class CanvasCaptureMediaStreamTrack extends html$.MediaStreamTrack {
  get [S$.$canvas]() {
    return this.canvas;
  }
  [S$.$requestFrame](...args) {
    return this.requestFrame.apply(this, args);
  }
};
dart.addTypeTests(html$.CanvasCaptureMediaStreamTrack);
dart.addTypeCaches(html$.CanvasCaptureMediaStreamTrack);
dart.setMethodSignature(html$.CanvasCaptureMediaStreamTrack, () => ({
  __proto__: dart.getMethods(html$.CanvasCaptureMediaStreamTrack.__proto__),
  [S$.$requestFrame]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.CanvasCaptureMediaStreamTrack, () => ({
  __proto__: dart.getGetters(html$.CanvasCaptureMediaStreamTrack.__proto__),
  [S$.$canvas]: dart.nullable(html$.CanvasElement)
}));
dart.setLibraryUri(html$.CanvasCaptureMediaStreamTrack, I[148]);
dart.registerExtension("CanvasCaptureMediaStreamTrack", html$.CanvasCaptureMediaStreamTrack);
html$.CanvasElement = class CanvasElement extends html$.HtmlElement {
  static new(opts) {
    let width = opts && 'width' in opts ? opts.width : null;
    let height = opts && 'height' in opts ? opts.height : null;
    let e = html$.document.createElement("canvas");
    if (width != null) e.width = width;
    if (height != null) e.height = height;
    return e;
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  [S$.$captureStream](...args) {
    return this.captureStream.apply(this, args);
  }
  [S$.$getContext](contextId, attributes = null) {
    if (contextId == null) dart.nullFailed(I[147], 2144, 29, "contextId");
    if (attributes != null) {
      let attributes_1 = html_common.convertDartToNative_Dictionary(attributes);
      return this[S$._getContext_1](contextId, attributes_1);
    }
    return this[S$._getContext_2](contextId);
  }
  [S$._getContext_1](...args) {
    return this.getContext.apply(this, args);
  }
  [S$._getContext_2](...args) {
    return this.getContext.apply(this, args);
  }
  [S$._toDataUrl](...args) {
    return this.toDataURL.apply(this, args);
  }
  [S$.$transferControlToOffscreen](...args) {
    return this.transferControlToOffscreen.apply(this, args);
  }
  get [S$.$onWebGlContextLost]() {
    return html$.CanvasElement.webGlContextLostEvent.forElement(this);
  }
  get [S$.$onWebGlContextRestored]() {
    return html$.CanvasElement.webGlContextRestoredEvent.forElement(this);
  }
  get [S$.$context2D]() {
    return this.getContext("2d");
  }
  [S$.$getContext3d](opts) {
    let alpha = opts && 'alpha' in opts ? opts.alpha : true;
    let depth = opts && 'depth' in opts ? opts.depth : true;
    let stencil = opts && 'stencil' in opts ? opts.stencil : false;
    let antialias = opts && 'antialias' in opts ? opts.antialias : true;
    let premultipliedAlpha = opts && 'premultipliedAlpha' in opts ? opts.premultipliedAlpha : true;
    let preserveDrawingBuffer = opts && 'preserveDrawingBuffer' in opts ? opts.preserveDrawingBuffer : false;
    let options = new (T$0.IdentityMapOfString$dynamic()).from(["alpha", alpha, "depth", depth, "stencil", stencil, "antialias", antialias, "premultipliedAlpha", premultipliedAlpha, "preserveDrawingBuffer", preserveDrawingBuffer]);
    let context = this[S$.$getContext]("webgl", options);
    if (context == null) {
      context = this[S$.$getContext]("experimental-webgl", options);
    }
    return T$0.RenderingContextN().as(context);
  }
  [S$.$toDataUrl](type = "image/png", quality = null) {
    if (type == null) dart.nullFailed(I[147], 2252, 28, "type");
    return this[S$._toDataUrl](type, quality);
  }
  [S$._toBlob](...args) {
    return this.toBlob.apply(this, args);
  }
  [S$.$toBlob](type = null, $arguments = null) {
    let completer = T$0.CompleterOfBlob().new();
    this[S$._toBlob](dart.fn(value => {
      completer.complete(value);
    }, T$0.BlobNTovoid()), type, $arguments);
    return completer.future;
  }
};
(html$.CanvasElement.created = function() {
  html$.CanvasElement.__proto__.created.call(this);
  ;
}).prototype = html$.CanvasElement.prototype;
dart.addTypeTests(html$.CanvasElement);
dart.addTypeCaches(html$.CanvasElement);
html$.CanvasElement[dart.implements] = () => [html$.CanvasImageSource];
dart.setMethodSignature(html$.CanvasElement, () => ({
  __proto__: dart.getMethods(html$.CanvasElement.__proto__),
  [S$.$captureStream]: dart.fnType(html$.MediaStream, [], [dart.nullable(core.num)]),
  [S$.$getContext]: dart.fnType(dart.nullable(core.Object), [core.String], [dart.nullable(core.Map)]),
  [S$._getContext_1]: dart.fnType(dart.nullable(core.Object), [dart.dynamic, dart.dynamic]),
  [S$._getContext_2]: dart.fnType(dart.nullable(core.Object), [dart.dynamic]),
  [S$._toDataUrl]: dart.fnType(core.String, [dart.nullable(core.String)], [dart.dynamic]),
  [S$.$transferControlToOffscreen]: dart.fnType(html$.OffscreenCanvas, []),
  [S$.$getContext3d]: dart.fnType(dart.nullable(web_gl.RenderingContext), [], {alpha: dart.dynamic, antialias: dart.dynamic, depth: dart.dynamic, premultipliedAlpha: dart.dynamic, preserveDrawingBuffer: dart.dynamic, stencil: dart.dynamic}, {}),
  [S$.$toDataUrl]: dart.fnType(core.String, [], [core.String, dart.nullable(core.num)]),
  [S$._toBlob]: dart.fnType(dart.void, [dart.fnType(dart.void, [dart.nullable(html$.Blob)])], [dart.nullable(core.String), dart.nullable(core.Object)]),
  [S$.$toBlob]: dart.fnType(async.Future$(html$.Blob), [], [dart.nullable(core.String), dart.nullable(core.Object)])
}));
dart.setGetterSignature(html$.CanvasElement, () => ({
  __proto__: dart.getGetters(html$.CanvasElement.__proto__),
  [$height]: dart.nullable(core.int),
  [$width]: dart.nullable(core.int),
  [S$.$onWebGlContextLost]: html$.ElementStream$(web_gl.ContextEvent),
  [S$.$onWebGlContextRestored]: html$.ElementStream$(web_gl.ContextEvent),
  [S$.$context2D]: html$.CanvasRenderingContext2D
}));
dart.setSetterSignature(html$.CanvasElement, () => ({
  __proto__: dart.getSetters(html$.CanvasElement.__proto__),
  [$height]: dart.nullable(core.int),
  [$width]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.CanvasElement, I[148]);
dart.defineLazy(html$.CanvasElement, {
  /*html$.CanvasElement.webGlContextLostEvent*/get webGlContextLostEvent() {
    return C[322] || CT.C322;
  },
  /*html$.CanvasElement.webGlContextRestoredEvent*/get webGlContextRestoredEvent() {
    return C[323] || CT.C323;
  }
}, false);
dart.registerExtension("HTMLCanvasElement", html$.CanvasElement);
html$.CanvasGradient = class CanvasGradient extends _interceptors.Interceptor {
  [S$.$addColorStop](...args) {
    return this.addColorStop.apply(this, args);
  }
};
dart.addTypeTests(html$.CanvasGradient);
dart.addTypeCaches(html$.CanvasGradient);
dart.setMethodSignature(html$.CanvasGradient, () => ({
  __proto__: dart.getMethods(html$.CanvasGradient.__proto__),
  [S$.$addColorStop]: dart.fnType(dart.void, [core.num, core.String])
}));
dart.setLibraryUri(html$.CanvasGradient, I[148]);
dart.registerExtension("CanvasGradient", html$.CanvasGradient);
html$.CanvasPattern = class CanvasPattern extends _interceptors.Interceptor {
  [S$.$setTransform](...args) {
    return this.setTransform.apply(this, args);
  }
};
dart.addTypeTests(html$.CanvasPattern);
dart.addTypeCaches(html$.CanvasPattern);
dart.setMethodSignature(html$.CanvasPattern, () => ({
  __proto__: dart.getMethods(html$.CanvasPattern.__proto__),
  [S$.$setTransform]: dart.fnType(dart.void, [svg$.Matrix])
}));
dart.setLibraryUri(html$.CanvasPattern, I[148]);
dart.registerExtension("CanvasPattern", html$.CanvasPattern);
html$.CanvasRenderingContext = class CanvasRenderingContext extends core.Object {};
(html$.CanvasRenderingContext.new = function() {
  ;
}).prototype = html$.CanvasRenderingContext.prototype;
dart.addTypeTests(html$.CanvasRenderingContext);
dart.addTypeCaches(html$.CanvasRenderingContext);
dart.setLibraryUri(html$.CanvasRenderingContext, I[148]);
html$.CanvasRenderingContext2D = class CanvasRenderingContext2D extends _interceptors.Interceptor {
  get [S$.$canvas]() {
    return this.canvas;
  }
  get [S$.$currentTransform]() {
    return this.currentTransform;
  }
  set [S$.$currentTransform](value) {
    this.currentTransform = value;
  }
  get [S.$direction]() {
    return this.direction;
  }
  set [S.$direction](value) {
    this.direction = value;
  }
  get [S$.$fillStyle]() {
    return this.fillStyle;
  }
  set [S$.$fillStyle](value) {
    this.fillStyle = value;
  }
  get [S$.$filter]() {
    return this.filter;
  }
  set [S$.$filter](value) {
    this.filter = value;
  }
  get [S$.$font]() {
    return this.font;
  }
  set [S$.$font](value) {
    this.font = value;
  }
  get [S$.$globalAlpha]() {
    return this.globalAlpha;
  }
  set [S$.$globalAlpha](value) {
    this.globalAlpha = value;
  }
  get [S$.$globalCompositeOperation]() {
    return this.globalCompositeOperation;
  }
  set [S$.$globalCompositeOperation](value) {
    this.globalCompositeOperation = value;
  }
  get [S$.$imageSmoothingEnabled]() {
    return this.imageSmoothingEnabled;
  }
  set [S$.$imageSmoothingEnabled](value) {
    this.imageSmoothingEnabled = value;
  }
  get [S$.$imageSmoothingQuality]() {
    return this.imageSmoothingQuality;
  }
  set [S$.$imageSmoothingQuality](value) {
    this.imageSmoothingQuality = value;
  }
  get [S$.$lineCap]() {
    return this.lineCap;
  }
  set [S$.$lineCap](value) {
    this.lineCap = value;
  }
  get [S$.$lineJoin]() {
    return this.lineJoin;
  }
  set [S$.$lineJoin](value) {
    this.lineJoin = value;
  }
  get [S$.$lineWidth]() {
    return this.lineWidth;
  }
  set [S$.$lineWidth](value) {
    this.lineWidth = value;
  }
  get [S$.$miterLimit]() {
    return this.miterLimit;
  }
  set [S$.$miterLimit](value) {
    this.miterLimit = value;
  }
  get [S$.$shadowBlur]() {
    return this.shadowBlur;
  }
  set [S$.$shadowBlur](value) {
    this.shadowBlur = value;
  }
  get [S$.$shadowColor]() {
    return this.shadowColor;
  }
  set [S$.$shadowColor](value) {
    this.shadowColor = value;
  }
  get [S$.$shadowOffsetX]() {
    return this.shadowOffsetX;
  }
  set [S$.$shadowOffsetX](value) {
    this.shadowOffsetX = value;
  }
  get [S$.$shadowOffsetY]() {
    return this.shadowOffsetY;
  }
  set [S$.$shadowOffsetY](value) {
    this.shadowOffsetY = value;
  }
  get [S$.$strokeStyle]() {
    return this.strokeStyle;
  }
  set [S$.$strokeStyle](value) {
    this.strokeStyle = value;
  }
  get [S$.$textAlign]() {
    return this.textAlign;
  }
  set [S$.$textAlign](value) {
    this.textAlign = value;
  }
  get [S$.$textBaseline]() {
    return this.textBaseline;
  }
  set [S$.$textBaseline](value) {
    this.textBaseline = value;
  }
  [S$.$addHitRegion](options = null) {
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$._addHitRegion_1](options_1);
      return;
    }
    this[S$._addHitRegion_2]();
    return;
  }
  [S$._addHitRegion_1](...args) {
    return this.addHitRegion.apply(this, args);
  }
  [S$._addHitRegion_2](...args) {
    return this.addHitRegion.apply(this, args);
  }
  [S$.$beginPath](...args) {
    return this.beginPath.apply(this, args);
  }
  [S$.$clearHitRegions](...args) {
    return this.clearHitRegions.apply(this, args);
  }
  [S$.$clearRect](...args) {
    return this.clearRect.apply(this, args);
  }
  [S$.$clip](...args) {
    return this.clip.apply(this, args);
  }
  [S$.$createImageData](data_OR_imagedata_OR_sw, sh_OR_sw = null, imageDataColorSettings_OR_sh = null, imageDataColorSettings = null) {
    if (html$.ImageData.is(data_OR_imagedata_OR_sw) && sh_OR_sw == null && imageDataColorSettings_OR_sh == null && imageDataColorSettings == null) {
      let imagedata_1 = html_common.convertDartToNative_ImageData(data_OR_imagedata_OR_sw);
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_1](imagedata_1));
    }
    if (sh_OR_sw != null && core.int.is(data_OR_imagedata_OR_sw) && imageDataColorSettings_OR_sh == null && imageDataColorSettings == null) {
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_2](data_OR_imagedata_OR_sw, sh_OR_sw));
    }
    if (core.Map.is(imageDataColorSettings_OR_sh) && sh_OR_sw != null && core.int.is(data_OR_imagedata_OR_sw) && imageDataColorSettings == null) {
      let imageDataColorSettings_1 = html_common.convertDartToNative_Dictionary(imageDataColorSettings_OR_sh);
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_3](data_OR_imagedata_OR_sw, sh_OR_sw, imageDataColorSettings_1));
    }
    if (core.int.is(imageDataColorSettings_OR_sh) && sh_OR_sw != null && data_OR_imagedata_OR_sw != null && imageDataColorSettings == null) {
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_4](data_OR_imagedata_OR_sw, sh_OR_sw, imageDataColorSettings_OR_sh));
    }
    if (imageDataColorSettings != null && core.int.is(imageDataColorSettings_OR_sh) && sh_OR_sw != null && data_OR_imagedata_OR_sw != null) {
      let imageDataColorSettings_1 = html_common.convertDartToNative_Dictionary(imageDataColorSettings);
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_5](data_OR_imagedata_OR_sw, sh_OR_sw, imageDataColorSettings_OR_sh, imageDataColorSettings_1));
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$._createImageData_1](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$._createImageData_2](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$._createImageData_3](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$._createImageData_4](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$._createImageData_5](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$.$createLinearGradient](...args) {
    return this.createLinearGradient.apply(this, args);
  }
  [S$.$createPattern](...args) {
    return this.createPattern.apply(this, args);
  }
  [S$.$createRadialGradient](...args) {
    return this.createRadialGradient.apply(this, args);
  }
  [S$.$drawFocusIfNeeded](...args) {
    return this.drawFocusIfNeeded.apply(this, args);
  }
  [S$.$fill](...args) {
    return this.fill.apply(this, args);
  }
  [S$.$fillRect](...args) {
    return this.fillRect.apply(this, args);
  }
  [S$.$getContextAttributes]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$._getContextAttributes_1]()));
  }
  [S$._getContextAttributes_1](...args) {
    return this.getContextAttributes.apply(this, args);
  }
  [S$.$getImageData](sx, sy, sw, sh) {
    if (sx == null) dart.nullFailed(I[147], 2585, 30, "sx");
    if (sy == null) dart.nullFailed(I[147], 2585, 38, "sy");
    if (sw == null) dart.nullFailed(I[147], 2585, 46, "sw");
    if (sh == null) dart.nullFailed(I[147], 2585, 54, "sh");
    return html_common.convertNativeToDart_ImageData(this[S$._getImageData_1](sx, sy, sw, sh));
  }
  [S$._getImageData_1](...args) {
    return this.getImageData.apply(this, args);
  }
  [S$._getLineDash](...args) {
    return this.getLineDash.apply(this, args);
  }
  [S$.$isContextLost](...args) {
    return this.isContextLost.apply(this, args);
  }
  [S$.$isPointInPath](...args) {
    return this.isPointInPath.apply(this, args);
  }
  [S$.$isPointInStroke](...args) {
    return this.isPointInStroke.apply(this, args);
  }
  [S$.$measureText](...args) {
    return this.measureText.apply(this, args);
  }
  [S$.$putImageData](imagedata, dx, dy, dirtyX = null, dirtyY = null, dirtyWidth = null, dirtyHeight = null) {
    if (imagedata == null) dart.nullFailed(I[147], 2605, 31, "imagedata");
    if (dx == null) dart.nullFailed(I[147], 2605, 46, "dx");
    if (dy == null) dart.nullFailed(I[147], 2605, 54, "dy");
    if (dirtyX == null && dirtyY == null && dirtyWidth == null && dirtyHeight == null) {
      let imagedata_1 = html_common.convertDartToNative_ImageData(imagedata);
      this[S$._putImageData_1](imagedata_1, dx, dy);
      return;
    }
    if (dirtyHeight != null && dirtyWidth != null && dirtyY != null && dirtyX != null) {
      let imagedata_1 = html_common.convertDartToNative_ImageData(imagedata);
      this[S$._putImageData_2](imagedata_1, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$._putImageData_1](...args) {
    return this.putImageData.apply(this, args);
  }
  [S$._putImageData_2](...args) {
    return this.putImageData.apply(this, args);
  }
  [S$.$removeHitRegion](...args) {
    return this.removeHitRegion.apply(this, args);
  }
  [S$.$resetTransform](...args) {
    return this.resetTransform.apply(this, args);
  }
  [S$.$restore](...args) {
    return this.restore.apply(this, args);
  }
  [S$.$rotate](...args) {
    return this.rotate.apply(this, args);
  }
  [S$.$save](...args) {
    return this.save.apply(this, args);
  }
  [S$.$scale](...args) {
    return this.scale.apply(this, args);
  }
  [S$.$scrollPathIntoView](...args) {
    return this.scrollPathIntoView.apply(this, args);
  }
  [S$.$setTransform](...args) {
    return this.setTransform.apply(this, args);
  }
  [S$.$stroke](...args) {
    return this.stroke.apply(this, args);
  }
  [S$.$strokeRect](...args) {
    return this.strokeRect.apply(this, args);
  }
  [S$.$strokeText](...args) {
    return this.strokeText.apply(this, args);
  }
  [S$.$transform](...args) {
    return this.transform.apply(this, args);
  }
  [S.$translate](...args) {
    return this.translate.apply(this, args);
  }
  [S$._arc](...args) {
    return this.arc.apply(this, args);
  }
  [S$.$arcTo](...args) {
    return this.arcTo.apply(this, args);
  }
  [S$.$bezierCurveTo](...args) {
    return this.bezierCurveTo.apply(this, args);
  }
  [S$.$closePath](...args) {
    return this.closePath.apply(this, args);
  }
  [S$.$ellipse](...args) {
    return this.ellipse.apply(this, args);
  }
  [S$.$lineTo](...args) {
    return this.lineTo.apply(this, args);
  }
  [S$.$moveTo](...args) {
    return this.moveTo.apply(this, args);
  }
  [S$.$quadraticCurveTo](...args) {
    return this.quadraticCurveTo.apply(this, args);
  }
  [S$.$rect](...args) {
    return this.rect.apply(this, args);
  }
  [S$.$createImageDataFromImageData](imagedata) {
    if (imagedata == null) dart.nullFailed(I[147], 2683, 52, "imagedata");
    return this.createImageData(imagedata);
  }
  [S$.$setFillColorRgb](r, g, b, a = 1) {
    if (r == null) dart.nullFailed(I[147], 2690, 28, "r");
    if (g == null) dart.nullFailed(I[147], 2690, 35, "g");
    if (b == null) dart.nullFailed(I[147], 2690, 42, "b");
    if (a == null) dart.nullFailed(I[147], 2690, 50, "a");
    this.fillStyle = "rgba(" + dart.str(r) + ", " + dart.str(g) + ", " + dart.str(b) + ", " + dart.str(a) + ")";
  }
  [S$.$setFillColorHsl](h, s, l, a = 1) {
    if (h == null) dart.nullFailed(I[147], 2700, 28, "h");
    if (s == null) dart.nullFailed(I[147], 2700, 35, "s");
    if (l == null) dart.nullFailed(I[147], 2700, 42, "l");
    if (a == null) dart.nullFailed(I[147], 2700, 50, "a");
    this.fillStyle = "hsla(" + dart.str(h) + ", " + dart.str(s) + "%, " + dart.str(l) + "%, " + dart.str(a) + ")";
  }
  [S$.$setStrokeColorRgb](r, g, b, a = 1) {
    if (r == null) dart.nullFailed(I[147], 2708, 30, "r");
    if (g == null) dart.nullFailed(I[147], 2708, 37, "g");
    if (b == null) dart.nullFailed(I[147], 2708, 44, "b");
    if (a == null) dart.nullFailed(I[147], 2708, 52, "a");
    this.strokeStyle = "rgba(" + dart.str(r) + ", " + dart.str(g) + ", " + dart.str(b) + ", " + dart.str(a) + ")";
  }
  [S$.$setStrokeColorHsl](h, s, l, a = 1) {
    if (h == null) dart.nullFailed(I[147], 2718, 30, "h");
    if (s == null) dart.nullFailed(I[147], 2718, 37, "s");
    if (l == null) dart.nullFailed(I[147], 2718, 44, "l");
    if (a == null) dart.nullFailed(I[147], 2718, 52, "a");
    this.strokeStyle = "hsla(" + dart.str(h) + ", " + dart.str(s) + "%, " + dart.str(l) + "%, " + dart.str(a) + ")";
  }
  [S$.$arc](x, y, radius, startAngle, endAngle, anticlockwise = false) {
    if (x == null) dart.nullFailed(I[147], 2722, 16, "x");
    if (y == null) dart.nullFailed(I[147], 2722, 23, "y");
    if (radius == null) dart.nullFailed(I[147], 2722, 30, "radius");
    if (startAngle == null) dart.nullFailed(I[147], 2722, 42, "startAngle");
    if (endAngle == null) dart.nullFailed(I[147], 2722, 58, "endAngle");
    if (anticlockwise == null) dart.nullFailed(I[147], 2723, 13, "anticlockwise");
    this.arc(x, y, radius, startAngle, endAngle, anticlockwise);
  }
  [S$.$createPatternFromImage](image, repetitionType) {
    if (image == null) dart.nullFailed(I[147], 2730, 24, "image");
    if (repetitionType == null) dart.nullFailed(I[147], 2730, 38, "repetitionType");
    return this.createPattern(image, repetitionType);
  }
  [S$.$drawImageToRect](source, destRect, opts) {
    if (source == null) dart.nullFailed(I[147], 2773, 42, "source");
    if (destRect == null) dart.nullFailed(I[147], 2773, 60, "destRect");
    let sourceRect = opts && 'sourceRect' in opts ? opts.sourceRect : null;
    if (sourceRect == null) {
      this[S$.$drawImageScaled](source, destRect[$left], destRect[$top], destRect[$width], destRect[$height]);
    } else {
      this[S$.$drawImageScaledFromSource](source, sourceRect[$left], sourceRect[$top], sourceRect[$width], sourceRect[$height], destRect[$left], destRect[$top], destRect[$width], destRect[$height]);
    }
  }
  [S$.$drawImage](...args) {
    return this.drawImage.apply(this, args);
  }
  [S$.$drawImageScaled](...args) {
    return this.drawImage.apply(this, args);
  }
  [S$.$drawImageScaledFromSource](...args) {
    return this.drawImage.apply(this, args);
  }
  get [S$.$lineDashOffset]() {
    return this.lineDashOffset || this.webkitLineDashOffset;
  }
  set [S$.$lineDashOffset](value) {
    if (value == null) dart.nullFailed(I[147], 2910, 26, "value");
    typeof this.lineDashOffset != "undefined" ? this.lineDashOffset = value : this.webkitLineDashOffset = value;
  }
  [S$.$getLineDash]() {
    if (!!this.getLineDash) {
      return this.getLineDash();
    } else if (!!this.webkitLineDash) {
      return this.webkitLineDash;
    }
    return T$0.JSArrayOfnum().of([]);
  }
  [S$.$setLineDash](dash) {
    if (dash == null) dart.nullFailed(I[147], 2941, 30, "dash");
    if (!!this.setLineDash) {
      this.setLineDash(dash);
    } else if (!!this.webkitLineDash) {
      this.webkitLineDash = dash;
    }
  }
  [S$.$fillText](text, x, y, maxWidth = null) {
    if (text == null) dart.nullFailed(I[147], 2965, 24, "text");
    if (x == null) dart.nullFailed(I[147], 2965, 34, "x");
    if (y == null) dart.nullFailed(I[147], 2965, 41, "y");
    if (maxWidth != null) {
      this.fillText(text, x, y, maxWidth);
    } else {
      this.fillText(text, x, y);
    }
  }
  get [S$.$backingStorePixelRatio]() {
    return 1.0;
  }
};
dart.addTypeTests(html$.CanvasRenderingContext2D);
dart.addTypeCaches(html$.CanvasRenderingContext2D);
html$.CanvasRenderingContext2D[dart.implements] = () => [html$.CanvasRenderingContext];
dart.setMethodSignature(html$.CanvasRenderingContext2D, () => ({
  __proto__: dart.getMethods(html$.CanvasRenderingContext2D.__proto__),
  [S$.$addHitRegion]: dart.fnType(dart.void, [], [dart.nullable(core.Map)]),
  [S$._addHitRegion_1]: dart.fnType(dart.void, [dart.dynamic]),
  [S$._addHitRegion_2]: dart.fnType(dart.void, []),
  [S$.$beginPath]: dart.fnType(dart.void, []),
  [S$.$clearHitRegions]: dart.fnType(dart.void, []),
  [S$.$clearRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$clip]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$createImageData]: dart.fnType(html$.ImageData, [dart.dynamic], [dart.nullable(core.int), dart.dynamic, dart.nullable(core.Map)]),
  [S$._createImageData_1]: dart.fnType(dart.dynamic, [dart.dynamic]),
  [S$._createImageData_2]: dart.fnType(dart.dynamic, [core.int, dart.dynamic]),
  [S$._createImageData_3]: dart.fnType(dart.dynamic, [core.int, dart.dynamic, dart.dynamic]),
  [S$._createImageData_4]: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.nullable(core.int)]),
  [S$._createImageData_5]: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.nullable(core.int), dart.dynamic]),
  [S$.$createLinearGradient]: dart.fnType(html$.CanvasGradient, [core.num, core.num, core.num, core.num]),
  [S$.$createPattern]: dart.fnType(dart.nullable(html$.CanvasPattern), [core.Object, core.String]),
  [S$.$createRadialGradient]: dart.fnType(html$.CanvasGradient, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$drawFocusIfNeeded]: dart.fnType(dart.void, [dart.dynamic], [dart.nullable(html$.Element)]),
  [S$.$fill]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$fillRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$getContextAttributes]: dart.fnType(core.Map, []),
  [S$._getContextAttributes_1]: dart.fnType(dart.dynamic, []),
  [S$.$getImageData]: dart.fnType(html$.ImageData, [core.int, core.int, core.int, core.int]),
  [S$._getImageData_1]: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$._getLineDash]: dart.fnType(core.List$(core.num), []),
  [S$.$isContextLost]: dart.fnType(core.bool, []),
  [S$.$isPointInPath]: dart.fnType(core.bool, [dart.dynamic, core.num], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$isPointInStroke]: dart.fnType(core.bool, [dart.dynamic, core.num], [dart.nullable(core.num)]),
  [S$.$measureText]: dart.fnType(html$.TextMetrics, [core.String]),
  [S$.$putImageData]: dart.fnType(dart.void, [html$.ImageData, core.int, core.int], [dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int)]),
  [S$._putImageData_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$._putImageData_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$.$removeHitRegion]: dart.fnType(dart.void, [core.String]),
  [S$.$resetTransform]: dart.fnType(dart.void, []),
  [S$.$restore]: dart.fnType(dart.void, []),
  [S$.$rotate]: dart.fnType(dart.void, [core.num]),
  [S$.$save]: dart.fnType(dart.void, []),
  [S$.$scale]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$scrollPathIntoView]: dart.fnType(dart.void, [], [dart.nullable(html$.Path2D)]),
  [S$.$setTransform]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$stroke]: dart.fnType(dart.void, [], [dart.nullable(html$.Path2D)]),
  [S$.$strokeRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$strokeText]: dart.fnType(dart.void, [core.String, core.num, core.num], [dart.nullable(core.num)]),
  [S$.$transform]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S.$translate]: dart.fnType(dart.void, [core.num, core.num]),
  [S$._arc]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$arcTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num]),
  [S$.$bezierCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$closePath]: dart.fnType(dart.void, []),
  [S$.$ellipse]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$lineTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$moveTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$quadraticCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$rect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$createImageDataFromImageData]: dart.fnType(html$.ImageData, [html$.ImageData]),
  [S$.$setFillColorRgb]: dart.fnType(dart.void, [core.int, core.int, core.int], [core.num]),
  [S$.$setFillColorHsl]: dart.fnType(dart.void, [core.int, core.num, core.num], [core.num]),
  [S$.$setStrokeColorRgb]: dart.fnType(dart.void, [core.int, core.int, core.int], [core.num]),
  [S$.$setStrokeColorHsl]: dart.fnType(dart.void, [core.int, core.num, core.num], [core.num]),
  [S$.$arc]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num], [core.bool]),
  [S$.$createPatternFromImage]: dart.fnType(html$.CanvasPattern, [html$.ImageElement, core.String]),
  [S$.$drawImageToRect]: dart.fnType(dart.void, [html$.CanvasImageSource, math.Rectangle$(core.num)], {sourceRect: dart.nullable(math.Rectangle$(core.num))}, {}),
  [S$.$drawImage]: dart.fnType(dart.void, [html$.CanvasImageSource, core.num, core.num]),
  [S$.$drawImageScaled]: dart.fnType(dart.void, [html$.CanvasImageSource, core.num, core.num, core.num, core.num]),
  [S$.$drawImageScaledFromSource]: dart.fnType(dart.void, [html$.CanvasImageSource, core.num, core.num, core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$getLineDash]: dart.fnType(core.List$(core.num), []),
  [S$.$setLineDash]: dart.fnType(dart.void, [core.List$(core.num)]),
  [S$.$fillText]: dart.fnType(dart.void, [core.String, core.num, core.num], [dart.nullable(core.num)])
}));
dart.setGetterSignature(html$.CanvasRenderingContext2D, () => ({
  __proto__: dart.getGetters(html$.CanvasRenderingContext2D.__proto__),
  [S$.$canvas]: html$.CanvasElement,
  [S$.$currentTransform]: dart.nullable(svg$.Matrix),
  [S.$direction]: dart.nullable(core.String),
  [S$.$fillStyle]: dart.nullable(core.Object),
  [S$.$filter]: dart.nullable(core.String),
  [S$.$font]: core.String,
  [S$.$globalAlpha]: core.num,
  [S$.$globalCompositeOperation]: core.String,
  [S$.$imageSmoothingEnabled]: dart.nullable(core.bool),
  [S$.$imageSmoothingQuality]: dart.nullable(core.String),
  [S$.$lineCap]: core.String,
  [S$.$lineJoin]: core.String,
  [S$.$lineWidth]: core.num,
  [S$.$miterLimit]: core.num,
  [S$.$shadowBlur]: core.num,
  [S$.$shadowColor]: core.String,
  [S$.$shadowOffsetX]: core.num,
  [S$.$shadowOffsetY]: core.num,
  [S$.$strokeStyle]: dart.nullable(core.Object),
  [S$.$textAlign]: core.String,
  [S$.$textBaseline]: core.String,
  [S$.$lineDashOffset]: core.num,
  [S$.$backingStorePixelRatio]: core.double
}));
dart.setSetterSignature(html$.CanvasRenderingContext2D, () => ({
  __proto__: dart.getSetters(html$.CanvasRenderingContext2D.__proto__),
  [S$.$currentTransform]: dart.nullable(svg$.Matrix),
  [S.$direction]: dart.nullable(core.String),
  [S$.$fillStyle]: dart.nullable(core.Object),
  [S$.$filter]: dart.nullable(core.String),
  [S$.$font]: core.String,
  [S$.$globalAlpha]: core.num,
  [S$.$globalCompositeOperation]: core.String,
  [S$.$imageSmoothingEnabled]: dart.nullable(core.bool),
  [S$.$imageSmoothingQuality]: dart.nullable(core.String),
  [S$.$lineCap]: core.String,
  [S$.$lineJoin]: core.String,
  [S$.$lineWidth]: core.num,
  [S$.$miterLimit]: core.num,
  [S$.$shadowBlur]: core.num,
  [S$.$shadowColor]: core.String,
  [S$.$shadowOffsetX]: core.num,
  [S$.$shadowOffsetY]: core.num,
  [S$.$strokeStyle]: dart.nullable(core.Object),
  [S$.$textAlign]: core.String,
  [S$.$textBaseline]: core.String,
  [S$.$lineDashOffset]: core.num
}));
dart.setLibraryUri(html$.CanvasRenderingContext2D, I[148]);
dart.registerExtension("CanvasRenderingContext2D", html$.CanvasRenderingContext2D);
html$.ChildNode = class ChildNode extends _interceptors.Interceptor {};
dart.addTypeTests(html$.ChildNode);
dart.addTypeCaches(html$.ChildNode);
dart.setLibraryUri(html$.ChildNode, I[148]);
html$.Client = class Client extends _interceptors.Interceptor {
  get [S$.$frameType]() {
    return this.frameType;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$.$url]() {
    return this.url;
  }
  [S$.$postMessage](...args) {
    return this.postMessage.apply(this, args);
  }
};
dart.addTypeTests(html$.Client);
dart.addTypeCaches(html$.Client);
dart.setMethodSignature(html$.Client, () => ({
  __proto__: dart.getMethods(html$.Client.__proto__),
  [S$.$postMessage]: dart.fnType(dart.void, [core.Object], [dart.nullable(core.List$(core.Object))])
}));
dart.setGetterSignature(html$.Client, () => ({
  __proto__: dart.getGetters(html$.Client.__proto__),
  [S$.$frameType]: dart.nullable(core.String),
  [S.$id]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String),
  [S$.$url]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Client, I[148]);
dart.registerExtension("Client", html$.Client);
html$.Clients = class Clients extends _interceptors.Interceptor {
  [S$.$claim]() {
    return js_util.promiseToFuture(dart.dynamic, this.claim());
  }
  [S.$get](id) {
    if (id == null) dart.nullFailed(I[147], 3067, 21, "id");
    return js_util.promiseToFuture(dart.dynamic, this.get(id));
  }
  [S$.$matchAll](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(core.List, this.matchAll(options_dict));
  }
  [S$.$openWindow](url) {
    if (url == null) dart.nullFailed(I[147], 3078, 42, "url");
    return js_util.promiseToFuture(html$.WindowClient, this.openWindow(url));
  }
};
dart.addTypeTests(html$.Clients);
dart.addTypeCaches(html$.Clients);
dart.setMethodSignature(html$.Clients, () => ({
  __proto__: dart.getMethods(html$.Clients.__proto__),
  [S$.$claim]: dart.fnType(async.Future, []),
  [S.$get]: dart.fnType(async.Future, [core.String]),
  [S$.$matchAll]: dart.fnType(async.Future$(core.List), [], [dart.nullable(core.Map)]),
  [S$.$openWindow]: dart.fnType(async.Future$(html$.WindowClient), [core.String])
}));
dart.setLibraryUri(html$.Clients, I[148]);
dart.registerExtension("Clients", html$.Clients);
html$.ClipboardEvent = class ClipboardEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 3092, 33, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.ClipboardEvent._create_1(type, eventInitDict_1);
    }
    return html$.ClipboardEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new ClipboardEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new ClipboardEvent(type);
  }
  get [S$.$clipboardData]() {
    return this.clipboardData;
  }
};
dart.addTypeTests(html$.ClipboardEvent);
dart.addTypeCaches(html$.ClipboardEvent);
dart.setGetterSignature(html$.ClipboardEvent, () => ({
  __proto__: dart.getGetters(html$.ClipboardEvent.__proto__),
  [S$.$clipboardData]: dart.nullable(html$.DataTransfer)
}));
dart.setLibraryUri(html$.ClipboardEvent, I[148]);
dart.registerExtension("ClipboardEvent", html$.ClipboardEvent);
html$.CloseEvent = class CloseEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 3117, 29, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.CloseEvent._create_1(type, eventInitDict_1);
    }
    return html$.CloseEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new CloseEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new CloseEvent(type);
  }
  get [S$.$code]() {
    return this.code;
  }
  get [S$.$reason]() {
    return this.reason;
  }
  get [S$.$wasClean]() {
    return this.wasClean;
  }
};
dart.addTypeTests(html$.CloseEvent);
dart.addTypeCaches(html$.CloseEvent);
dart.setGetterSignature(html$.CloseEvent, () => ({
  __proto__: dart.getGetters(html$.CloseEvent.__proto__),
  [S$.$code]: dart.nullable(core.int),
  [S$.$reason]: dart.nullable(core.String),
  [S$.$wasClean]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.CloseEvent, I[148]);
dart.registerExtension("CloseEvent", html$.CloseEvent);
html$.Comment = class Comment extends html$.CharacterData {
  static new(data = null) {
    return html$.document.createComment(data == null ? "" : data);
  }
};
dart.addTypeTests(html$.Comment);
dart.addTypeCaches(html$.Comment);
dart.setLibraryUri(html$.Comment, I[148]);
dart.registerExtension("Comment", html$.Comment);
html$.UIEvent = class UIEvent$ extends html$.Event {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 30740, 26, "type");
    let view = opts && 'view' in opts ? opts.view : null;
    let detail = opts && 'detail' in opts ? opts.detail : 0;
    if (detail == null) dart.nullFailed(I[147], 30742, 11, "detail");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 30743, 12, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 30744, 12, "cancelable");
    if (view == null) {
      view = html$.window;
    }
    let e = html$.UIEvent.as(html$.document[S._createEvent]("UIEvent"));
    e[S$._initUIEvent](type, canBubble, cancelable, view, detail);
    return e;
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 30753, 28, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.UIEvent._create_1(type, eventInitDict_1);
    }
    return html$.UIEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new UIEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new UIEvent(type);
  }
  get [S$.$detail]() {
    return this.detail;
  }
  get [S$.$sourceCapabilities]() {
    return this.sourceCapabilities;
  }
  get [S$.$view]() {
    return html$._convertNativeToDart_Window(this[S$._get_view]);
  }
  get [S$._get_view]() {
    return this.view;
  }
  get [S$._which]() {
    return this.which;
  }
  [S$._initUIEvent](...args) {
    return this.initUIEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.UIEvent);
dart.addTypeCaches(html$.UIEvent);
dart.setMethodSignature(html$.UIEvent, () => ({
  __proto__: dart.getMethods(html$.UIEvent.__proto__),
  [S$._initUIEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, dart.nullable(html$.Window), core.int])
}));
dart.setGetterSignature(html$.UIEvent, () => ({
  __proto__: dart.getGetters(html$.UIEvent.__proto__),
  [S$.$detail]: dart.nullable(core.int),
  [S$.$sourceCapabilities]: dart.nullable(html$.InputDeviceCapabilities),
  [S$.$view]: dart.nullable(html$.WindowBase),
  [S$._get_view]: dart.dynamic,
  [S$._which]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.UIEvent, I[148]);
dart.registerExtension("UIEvent", html$.UIEvent);
html$.CompositionEvent = class CompositionEvent$ extends html$.UIEvent {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 3158, 35, "type");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : false;
    if (canBubble == null) dart.nullFailed(I[147], 3159, 13, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : false;
    if (cancelable == null) dart.nullFailed(I[147], 3160, 12, "cancelable");
    let view = opts && 'view' in opts ? opts.view : null;
    let data = opts && 'data' in opts ? opts.data : null;
    let locale = opts && 'locale' in opts ? opts.locale : null;
    if (view == null) {
      view = html$.window;
    }
    let e = html$.CompositionEvent.as(html$.document[S._createEvent]("CompositionEvent"));
    if (dart.test(html_common.Device.isFirefox)) {
      e.initCompositionEvent(type, canBubble, cancelable, view, data, locale);
    } else {
      e[S$._initCompositionEvent](type, canBubble, cancelable, view, data);
    }
    return e;
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 3181, 37, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.CompositionEvent._create_1(type, eventInitDict_1);
    }
    return html$.CompositionEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new CompositionEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new CompositionEvent(type);
  }
  get [S$.$data]() {
    return this.data;
  }
  [S$._initCompositionEvent](...args) {
    return this.initCompositionEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.CompositionEvent);
dart.addTypeCaches(html$.CompositionEvent);
dart.setMethodSignature(html$.CompositionEvent, () => ({
  __proto__: dart.getMethods(html$.CompositionEvent.__proto__),
  [S$._initCompositionEvent]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(html$.Window), dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.CompositionEvent, () => ({
  __proto__: dart.getGetters(html$.CompositionEvent.__proto__),
  [S$.$data]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CompositionEvent, I[148]);
dart.registerExtension("CompositionEvent", html$.CompositionEvent);
html$.ContentElement = class ContentElement extends html$.HtmlElement {
  static new() {
    return html$.ContentElement.as(html$.document[S.$createElement]("content"));
  }
  static get supported() {
    return html$.Element.isTagSupported("content");
  }
  get [S$.$select]() {
    return this.select;
  }
  set [S$.$select](value) {
    this.select = value;
  }
  [S$.$getDistributedNodes](...args) {
    return this.getDistributedNodes.apply(this, args);
  }
};
(html$.ContentElement.created = function() {
  html$.ContentElement.__proto__.created.call(this);
  ;
}).prototype = html$.ContentElement.prototype;
dart.addTypeTests(html$.ContentElement);
dart.addTypeCaches(html$.ContentElement);
dart.setMethodSignature(html$.ContentElement, () => ({
  __proto__: dart.getMethods(html$.ContentElement.__proto__),
  [S$.$getDistributedNodes]: dart.fnType(core.List$(html$.Node), [])
}));
dart.setGetterSignature(html$.ContentElement, () => ({
  __proto__: dart.getGetters(html$.ContentElement.__proto__),
  [S$.$select]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.ContentElement, () => ({
  __proto__: dart.getSetters(html$.ContentElement.__proto__),
  [S$.$select]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.ContentElement, I[148]);
dart.registerExtension("HTMLContentElement", html$.ContentElement);
html$.CookieStore = class CookieStore extends _interceptors.Interceptor {
  [S.$getAll](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.getAll(options_dict));
  }
  [S$.$set](name, value, options = null) {
    if (name == null) dart.nullFailed(I[147], 3250, 21, "name");
    if (value == null) dart.nullFailed(I[147], 3250, 34, "value");
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.set(name, value, options_dict));
  }
};
dart.addTypeTests(html$.CookieStore);
dart.addTypeCaches(html$.CookieStore);
dart.setMethodSignature(html$.CookieStore, () => ({
  __proto__: dart.getMethods(html$.CookieStore.__proto__),
  [S.$getAll]: dart.fnType(async.Future, [], [dart.nullable(core.Map)]),
  [S$.$set]: dart.fnType(async.Future, [core.String, core.String], [dart.nullable(core.Map)])
}));
dart.setLibraryUri(html$.CookieStore, I[148]);
dart.registerExtension("CookieStore", html$.CookieStore);
html$.Coordinates = class Coordinates extends _interceptors.Interceptor {
  get [S$.$accuracy]() {
    return this.accuracy;
  }
  get [S$.$altitude]() {
    return this.altitude;
  }
  get [S$.$altitudeAccuracy]() {
    return this.altitudeAccuracy;
  }
  get [S$.$heading]() {
    return this.heading;
  }
  get [S$.$latitude]() {
    return this.latitude;
  }
  get [S$.$longitude]() {
    return this.longitude;
  }
  get [S$.$speed]() {
    return this.speed;
  }
};
dart.addTypeTests(html$.Coordinates);
dart.addTypeCaches(html$.Coordinates);
dart.setGetterSignature(html$.Coordinates, () => ({
  __proto__: dart.getGetters(html$.Coordinates.__proto__),
  [S$.$accuracy]: dart.nullable(core.num),
  [S$.$altitude]: dart.nullable(core.num),
  [S$.$altitudeAccuracy]: dart.nullable(core.num),
  [S$.$heading]: dart.nullable(core.num),
  [S$.$latitude]: dart.nullable(core.num),
  [S$.$longitude]: dart.nullable(core.num),
  [S$.$speed]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.Coordinates, I[148]);
dart.registerExtension("Coordinates", html$.Coordinates);
html$.Credential = class Credential extends _interceptors.Interceptor {
  get [S.$id]() {
    return this.id;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(html$.Credential);
dart.addTypeCaches(html$.Credential);
dart.setGetterSignature(html$.Credential, () => ({
  __proto__: dart.getGetters(html$.Credential.__proto__),
  [S.$id]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Credential, I[148]);
dart.registerExtension("Credential", html$.Credential);
html$.CredentialUserData = class CredentialUserData extends _interceptors.Interceptor {
  get [S$.$iconUrl]() {
    return this.iconURL;
  }
  get [$name]() {
    return this.name;
  }
};
dart.addTypeTests(html$.CredentialUserData);
dart.addTypeCaches(html$.CredentialUserData);
dart.setGetterSignature(html$.CredentialUserData, () => ({
  __proto__: dart.getGetters(html$.CredentialUserData.__proto__),
  [S$.$iconUrl]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CredentialUserData, I[148]);
dart.registerExtension("CredentialUserData", html$.CredentialUserData);
html$.CredentialsContainer = class CredentialsContainer extends _interceptors.Interceptor {
  [S$.$create](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.create(options_dict));
  }
  [S.$get](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.get(options_dict));
  }
  [S$.$preventSilentAccess]() {
    return js_util.promiseToFuture(dart.dynamic, this.preventSilentAccess());
  }
  [S$.$requireUserMediation]() {
    return js_util.promiseToFuture(dart.dynamic, this.requireUserMediation());
  }
  [S$.$store](credential) {
    if (credential == null) dart.nullFailed(I[147], 3350, 27, "credential");
    return js_util.promiseToFuture(dart.dynamic, this.store(credential));
  }
};
dart.addTypeTests(html$.CredentialsContainer);
dart.addTypeCaches(html$.CredentialsContainer);
dart.setMethodSignature(html$.CredentialsContainer, () => ({
  __proto__: dart.getMethods(html$.CredentialsContainer.__proto__),
  [S$.$create]: dart.fnType(async.Future, [], [dart.nullable(core.Map)]),
  [S.$get]: dart.fnType(async.Future, [], [dart.nullable(core.Map)]),
  [S$.$preventSilentAccess]: dart.fnType(async.Future, []),
  [S$.$requireUserMediation]: dart.fnType(async.Future, []),
  [S$.$store]: dart.fnType(async.Future, [html$.Credential])
}));
dart.setLibraryUri(html$.CredentialsContainer, I[148]);
dart.registerExtension("CredentialsContainer", html$.CredentialsContainer);
html$.Crypto = class Crypto extends _interceptors.Interceptor {
  [S$.$getRandomValues](array) {
    if (array == null) dart.nullFailed(I[147], 3361, 39, "array");
    return this[S$._getRandomValues](array);
  }
  static get supported() {
    return !!(window.crypto && window.crypto.getRandomValues);
  }
  get [S$.$subtle]() {
    return this.subtle;
  }
  [S$._getRandomValues](...args) {
    return this.getRandomValues.apply(this, args);
  }
};
dart.addTypeTests(html$.Crypto);
dart.addTypeCaches(html$.Crypto);
dart.setMethodSignature(html$.Crypto, () => ({
  __proto__: dart.getMethods(html$.Crypto.__proto__),
  [S$.$getRandomValues]: dart.fnType(typed_data.TypedData, [typed_data.TypedData]),
  [S$._getRandomValues]: dart.fnType(typed_data.TypedData, [typed_data.TypedData])
}));
dart.setGetterSignature(html$.Crypto, () => ({
  __proto__: dart.getGetters(html$.Crypto.__proto__),
  [S$.$subtle]: dart.nullable(html$._SubtleCrypto)
}));
dart.setLibraryUri(html$.Crypto, I[148]);
dart.registerExtension("Crypto", html$.Crypto);
html$.CryptoKey = class CryptoKey extends _interceptors.Interceptor {
  get [S$.$algorithm]() {
    return this.algorithm;
  }
  get [S$.$extractable]() {
    return this.extractable;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$.$usages]() {
    return this.usages;
  }
};
dart.addTypeTests(html$.CryptoKey);
dart.addTypeCaches(html$.CryptoKey);
dart.setGetterSignature(html$.CryptoKey, () => ({
  __proto__: dart.getGetters(html$.CryptoKey.__proto__),
  [S$.$algorithm]: dart.nullable(core.Object),
  [S$.$extractable]: dart.nullable(core.bool),
  [S.$type]: dart.nullable(core.String),
  [S$.$usages]: dart.nullable(core.Object)
}));
dart.setLibraryUri(html$.CryptoKey, I[148]);
dart.registerExtension("CryptoKey", html$.CryptoKey);
html$.Css = class Css extends _interceptors.Interceptor {
  static registerProperty(descriptor) {
    if (descriptor == null) dart.nullFailed(I[147], 3459, 36, "descriptor");
    let descriptor_1 = html_common.convertDartToNative_Dictionary(descriptor);
    dart.global.CSS.registerProperty(descriptor_1);
    return;
  }
};
dart.addTypeTests(html$.Css);
dart.addTypeCaches(html$.Css);
dart.setLibraryUri(html$.Css, I[148]);
dart.registerExtension("CSS", html$.Css);
html$.CssRule = class CssRule extends _interceptors.Interceptor {
  get [S$.$cssText]() {
    return this.cssText;
  }
  set [S$.$cssText](value) {
    this.cssText = value;
  }
  get [S$.$parentRule]() {
    return this.parentRule;
  }
  get [S$.$parentStyleSheet]() {
    return this.parentStyleSheet;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(html$.CssRule);
dart.addTypeCaches(html$.CssRule);
dart.setGetterSignature(html$.CssRule, () => ({
  __proto__: dart.getGetters(html$.CssRule.__proto__),
  [S$.$cssText]: dart.nullable(core.String),
  [S$.$parentRule]: dart.nullable(html$.CssRule),
  [S$.$parentStyleSheet]: dart.nullable(html$.CssStyleSheet),
  [S.$type]: dart.nullable(core.int)
}));
dart.setSetterSignature(html$.CssRule, () => ({
  __proto__: dart.getSetters(html$.CssRule.__proto__),
  [S$.$cssText]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssRule, I[148]);
dart.defineLazy(html$.CssRule, {
  /*html$.CssRule.CHARSET_RULE*/get CHARSET_RULE() {
    return 2;
  },
  /*html$.CssRule.FONT_FACE_RULE*/get FONT_FACE_RULE() {
    return 5;
  },
  /*html$.CssRule.IMPORT_RULE*/get IMPORT_RULE() {
    return 3;
  },
  /*html$.CssRule.KEYFRAMES_RULE*/get KEYFRAMES_RULE() {
    return 7;
  },
  /*html$.CssRule.KEYFRAME_RULE*/get KEYFRAME_RULE() {
    return 8;
  },
  /*html$.CssRule.MEDIA_RULE*/get MEDIA_RULE() {
    return 4;
  },
  /*html$.CssRule.NAMESPACE_RULE*/get NAMESPACE_RULE() {
    return 10;
  },
  /*html$.CssRule.PAGE_RULE*/get PAGE_RULE() {
    return 6;
  },
  /*html$.CssRule.STYLE_RULE*/get STYLE_RULE() {
    return 1;
  },
  /*html$.CssRule.SUPPORTS_RULE*/get SUPPORTS_RULE() {
    return 12;
  },
  /*html$.CssRule.VIEWPORT_RULE*/get VIEWPORT_RULE() {
    return 15;
  }
}, false);
dart.registerExtension("CSSRule", html$.CssRule);
html$.CssCharsetRule = class CssCharsetRule extends html$.CssRule {
  get [S$.$encoding]() {
    return this.encoding;
  }
  set [S$.$encoding](value) {
    this.encoding = value;
  }
};
dart.addTypeTests(html$.CssCharsetRule);
dart.addTypeCaches(html$.CssCharsetRule);
dart.setGetterSignature(html$.CssCharsetRule, () => ({
  __proto__: dart.getGetters(html$.CssCharsetRule.__proto__),
  [S$.$encoding]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.CssCharsetRule, () => ({
  __proto__: dart.getSetters(html$.CssCharsetRule.__proto__),
  [S$.$encoding]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssCharsetRule, I[148]);
dart.registerExtension("CSSCharsetRule", html$.CssCharsetRule);
html$.CssGroupingRule = class CssGroupingRule extends html$.CssRule {
  get [S$.$cssRules]() {
    return this.cssRules;
  }
  [S$.$deleteRule](...args) {
    return this.deleteRule.apply(this, args);
  }
  [S$.$insertRule](...args) {
    return this.insertRule.apply(this, args);
  }
};
dart.addTypeTests(html$.CssGroupingRule);
dart.addTypeCaches(html$.CssGroupingRule);
dart.setMethodSignature(html$.CssGroupingRule, () => ({
  __proto__: dart.getMethods(html$.CssGroupingRule.__proto__),
  [S$.$deleteRule]: dart.fnType(dart.void, [core.int]),
  [S$.$insertRule]: dart.fnType(core.int, [core.String, core.int])
}));
dart.setGetterSignature(html$.CssGroupingRule, () => ({
  __proto__: dart.getGetters(html$.CssGroupingRule.__proto__),
  [S$.$cssRules]: dart.nullable(core.List$(html$.CssRule))
}));
dart.setLibraryUri(html$.CssGroupingRule, I[148]);
dart.registerExtension("CSSGroupingRule", html$.CssGroupingRule);
html$.CssConditionRule = class CssConditionRule extends html$.CssGroupingRule {
  get [S$.$conditionText]() {
    return this.conditionText;
  }
};
dart.addTypeTests(html$.CssConditionRule);
dart.addTypeCaches(html$.CssConditionRule);
dart.setGetterSignature(html$.CssConditionRule, () => ({
  __proto__: dart.getGetters(html$.CssConditionRule.__proto__),
  [S$.$conditionText]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssConditionRule, I[148]);
dart.registerExtension("CSSConditionRule", html$.CssConditionRule);
html$.CssFontFaceRule = class CssFontFaceRule extends html$.CssRule {
  get [S.$style]() {
    return this.style;
  }
};
dart.addTypeTests(html$.CssFontFaceRule);
dart.addTypeCaches(html$.CssFontFaceRule);
dart.setGetterSignature(html$.CssFontFaceRule, () => ({
  __proto__: dart.getGetters(html$.CssFontFaceRule.__proto__),
  [S.$style]: dart.nullable(html$.CssStyleDeclaration)
}));
dart.setLibraryUri(html$.CssFontFaceRule, I[148]);
dart.registerExtension("CSSFontFaceRule", html$.CssFontFaceRule);
html$.CssStyleValue = class CssStyleValue extends _interceptors.Interceptor {};
dart.addTypeTests(html$.CssStyleValue);
dart.addTypeCaches(html$.CssStyleValue);
dart.setLibraryUri(html$.CssStyleValue, I[148]);
dart.registerExtension("CSSStyleValue", html$.CssStyleValue);
html$.CssResourceValue = class CssResourceValue extends html$.CssStyleValue {
  get [S$.$state]() {
    return this.state;
  }
};
dart.addTypeTests(html$.CssResourceValue);
dart.addTypeCaches(html$.CssResourceValue);
dart.setGetterSignature(html$.CssResourceValue, () => ({
  __proto__: dart.getGetters(html$.CssResourceValue.__proto__),
  [S$.$state]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssResourceValue, I[148]);
dart.registerExtension("CSSResourceValue", html$.CssResourceValue);
html$.CssImageValue = class CssImageValue extends html$.CssResourceValue {
  get [S$.$intrinsicHeight]() {
    return this.intrinsicHeight;
  }
  get [S$.$intrinsicRatio]() {
    return this.intrinsicRatio;
  }
  get [S$.$intrinsicWidth]() {
    return this.intrinsicWidth;
  }
};
dart.addTypeTests(html$.CssImageValue);
dart.addTypeCaches(html$.CssImageValue);
dart.setGetterSignature(html$.CssImageValue, () => ({
  __proto__: dart.getGetters(html$.CssImageValue.__proto__),
  [S$.$intrinsicHeight]: dart.nullable(core.num),
  [S$.$intrinsicRatio]: dart.nullable(core.num),
  [S$.$intrinsicWidth]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.CssImageValue, I[148]);
dart.registerExtension("CSSImageValue", html$.CssImageValue);
html$.CssImportRule = class CssImportRule extends html$.CssRule {
  get [S$.$href]() {
    return this.href;
  }
  get [S$.$media]() {
    return this.media;
  }
  get [S$.$styleSheet]() {
    return this.styleSheet;
  }
};
dart.addTypeTests(html$.CssImportRule);
dart.addTypeCaches(html$.CssImportRule);
dart.setGetterSignature(html$.CssImportRule, () => ({
  __proto__: dart.getGetters(html$.CssImportRule.__proto__),
  [S$.$href]: dart.nullable(core.String),
  [S$.$media]: dart.nullable(html$.MediaList),
  [S$.$styleSheet]: dart.nullable(html$.CssStyleSheet)
}));
dart.setLibraryUri(html$.CssImportRule, I[148]);
dart.registerExtension("CSSImportRule", html$.CssImportRule);
html$.CssKeyframeRule = class CssKeyframeRule extends html$.CssRule {
  get [S$.$keyText]() {
    return this.keyText;
  }
  set [S$.$keyText](value) {
    this.keyText = value;
  }
  get [S.$style]() {
    return this.style;
  }
};
dart.addTypeTests(html$.CssKeyframeRule);
dart.addTypeCaches(html$.CssKeyframeRule);
dart.setGetterSignature(html$.CssKeyframeRule, () => ({
  __proto__: dart.getGetters(html$.CssKeyframeRule.__proto__),
  [S$.$keyText]: dart.nullable(core.String),
  [S.$style]: dart.nullable(html$.CssStyleDeclaration)
}));
dart.setSetterSignature(html$.CssKeyframeRule, () => ({
  __proto__: dart.getSetters(html$.CssKeyframeRule.__proto__),
  [S$.$keyText]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssKeyframeRule, I[148]);
dart.registerExtension("CSSKeyframeRule", html$.CssKeyframeRule);
dart.registerExtension("MozCSSKeyframeRule", html$.CssKeyframeRule);
dart.registerExtension("WebKitCSSKeyframeRule", html$.CssKeyframeRule);
html$.CssKeyframesRule = class CssKeyframesRule extends html$.CssRule {
  get [S$.$cssRules]() {
    return this.cssRules;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$.$appendRule](...args) {
    return this.appendRule.apply(this, args);
  }
  [S$.$deleteRule](...args) {
    return this.deleteRule.apply(this, args);
  }
  [S$.$findRule](...args) {
    return this.findRule.apply(this, args);
  }
};
dart.addTypeTests(html$.CssKeyframesRule);
dart.addTypeCaches(html$.CssKeyframesRule);
dart.setMethodSignature(html$.CssKeyframesRule, () => ({
  __proto__: dart.getMethods(html$.CssKeyframesRule.__proto__),
  [S$.__getter__]: dart.fnType(html$.CssKeyframeRule, [core.int]),
  [S$.$appendRule]: dart.fnType(dart.void, [core.String]),
  [S$.$deleteRule]: dart.fnType(dart.void, [core.String]),
  [S$.$findRule]: dart.fnType(dart.nullable(html$.CssKeyframeRule), [core.String])
}));
dart.setGetterSignature(html$.CssKeyframesRule, () => ({
  __proto__: dart.getGetters(html$.CssKeyframesRule.__proto__),
  [S$.$cssRules]: dart.nullable(core.List$(html$.CssRule)),
  [$name]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.CssKeyframesRule, () => ({
  __proto__: dart.getSetters(html$.CssKeyframesRule.__proto__),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssKeyframesRule, I[148]);
dart.registerExtension("CSSKeyframesRule", html$.CssKeyframesRule);
dart.registerExtension("MozCSSKeyframesRule", html$.CssKeyframesRule);
dart.registerExtension("WebKitCSSKeyframesRule", html$.CssKeyframesRule);
html$.CssKeywordValue = class CssKeywordValue extends html$.CssStyleValue {
  static new(keyword) {
    if (keyword == null) dart.nullFailed(I[147], 3636, 34, "keyword");
    return html$.CssKeywordValue._create_1(keyword);
  }
  static _create_1(keyword) {
    return new CSSKeywordValue(keyword);
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
dart.addTypeTests(html$.CssKeywordValue);
dart.addTypeCaches(html$.CssKeywordValue);
dart.setGetterSignature(html$.CssKeywordValue, () => ({
  __proto__: dart.getGetters(html$.CssKeywordValue.__proto__),
  [S.$value]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.CssKeywordValue, () => ({
  __proto__: dart.getSetters(html$.CssKeywordValue.__proto__),
  [S.$value]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssKeywordValue, I[148]);
dart.registerExtension("CSSKeywordValue", html$.CssKeywordValue);
html$.CssTransformComponent = class CssTransformComponent extends _interceptors.Interceptor {
  get [S$.$is2D]() {
    return this.is2D;
  }
  set [S$.$is2D](value) {
    this.is2D = value;
  }
};
dart.addTypeTests(html$.CssTransformComponent);
dart.addTypeCaches(html$.CssTransformComponent);
dart.setGetterSignature(html$.CssTransformComponent, () => ({
  __proto__: dart.getGetters(html$.CssTransformComponent.__proto__),
  [S$.$is2D]: dart.nullable(core.bool)
}));
dart.setSetterSignature(html$.CssTransformComponent, () => ({
  __proto__: dart.getSetters(html$.CssTransformComponent.__proto__),
  [S$.$is2D]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.CssTransformComponent, I[148]);
dart.registerExtension("CSSTransformComponent", html$.CssTransformComponent);
html$.CssMatrixComponent = class CssMatrixComponent extends html$.CssTransformComponent {
  static new(matrix, options = null) {
    if (matrix == null) dart.nullFailed(I[147], 3657, 48, "matrix");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return html$.CssMatrixComponent._create_1(matrix, options_1);
    }
    return html$.CssMatrixComponent._create_2(matrix);
  }
  static _create_1(matrix, options) {
    return new CSSMatrixComponent(matrix, options);
  }
  static _create_2(matrix) {
    return new CSSMatrixComponent(matrix);
  }
  get [S$.$matrix]() {
    return this.matrix;
  }
  set [S$.$matrix](value) {
    this.matrix = value;
  }
};
dart.addTypeTests(html$.CssMatrixComponent);
dart.addTypeCaches(html$.CssMatrixComponent);
dart.setGetterSignature(html$.CssMatrixComponent, () => ({
  __proto__: dart.getGetters(html$.CssMatrixComponent.__proto__),
  [S$.$matrix]: dart.nullable(html$.DomMatrix)
}));
dart.setSetterSignature(html$.CssMatrixComponent, () => ({
  __proto__: dart.getSetters(html$.CssMatrixComponent.__proto__),
  [S$.$matrix]: dart.nullable(html$.DomMatrix)
}));
dart.setLibraryUri(html$.CssMatrixComponent, I[148]);
dart.registerExtension("CSSMatrixComponent", html$.CssMatrixComponent);
html$.CssMediaRule = class CssMediaRule extends html$.CssConditionRule {
  get [S$.$media]() {
    return this.media;
  }
};
dart.addTypeTests(html$.CssMediaRule);
dart.addTypeCaches(html$.CssMediaRule);
dart.setGetterSignature(html$.CssMediaRule, () => ({
  __proto__: dart.getGetters(html$.CssMediaRule.__proto__),
  [S$.$media]: dart.nullable(html$.MediaList)
}));
dart.setLibraryUri(html$.CssMediaRule, I[148]);
dart.registerExtension("CSSMediaRule", html$.CssMediaRule);
html$.CssNamespaceRule = class CssNamespaceRule extends html$.CssRule {
  get [S.$namespaceUri]() {
    return this.namespaceURI;
  }
  get [S$.$prefix]() {
    return this.prefix;
  }
};
dart.addTypeTests(html$.CssNamespaceRule);
dart.addTypeCaches(html$.CssNamespaceRule);
dart.setGetterSignature(html$.CssNamespaceRule, () => ({
  __proto__: dart.getGetters(html$.CssNamespaceRule.__proto__),
  [S.$namespaceUri]: dart.nullable(core.String),
  [S$.$prefix]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssNamespaceRule, I[148]);
dart.registerExtension("CSSNamespaceRule", html$.CssNamespaceRule);
html$.CssNumericValue = class CssNumericValue extends html$.CssStyleValue {
  [$add](...args) {
    return this.add.apply(this, args);
  }
  [S$.$div](...args) {
    return this.div.apply(this, args);
  }
  [S$.$mul](...args) {
    return this.mul.apply(this, args);
  }
  [S$.$sub](...args) {
    return this.sub.apply(this, args);
  }
  [S$.$to](...args) {
    return this.to.apply(this, args);
  }
};
dart.addTypeTests(html$.CssNumericValue);
dart.addTypeCaches(html$.CssNumericValue);
dart.setMethodSignature(html$.CssNumericValue, () => ({
  __proto__: dart.getMethods(html$.CssNumericValue.__proto__),
  [$add]: dart.fnType(html$.CssNumericValue, [html$.CssNumericValue]),
  [S$.$div]: dart.fnType(html$.CssNumericValue, [core.num]),
  [S$.$mul]: dart.fnType(html$.CssNumericValue, [core.num]),
  [S$.$sub]: dart.fnType(html$.CssNumericValue, [html$.CssNumericValue]),
  [S$.$to]: dart.fnType(html$.CssNumericValue, [core.String])
}));
dart.setLibraryUri(html$.CssNumericValue, I[148]);
dart.registerExtension("CSSNumericValue", html$.CssNumericValue);
html$.CssPageRule = class CssPageRule extends html$.CssRule {
  get [S$.$selectorText]() {
    return this.selectorText;
  }
  set [S$.$selectorText](value) {
    this.selectorText = value;
  }
  get [S.$style]() {
    return this.style;
  }
};
dart.addTypeTests(html$.CssPageRule);
dart.addTypeCaches(html$.CssPageRule);
dart.setGetterSignature(html$.CssPageRule, () => ({
  __proto__: dart.getGetters(html$.CssPageRule.__proto__),
  [S$.$selectorText]: dart.nullable(core.String),
  [S.$style]: dart.nullable(html$.CssStyleDeclaration)
}));
dart.setSetterSignature(html$.CssPageRule, () => ({
  __proto__: dart.getSetters(html$.CssPageRule.__proto__),
  [S$.$selectorText]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssPageRule, I[148]);
dart.registerExtension("CSSPageRule", html$.CssPageRule);
html$.CssPerspective = class CssPerspective extends html$.CssTransformComponent {
  static new(length) {
    if (length == null) dart.nullFailed(I[147], 3753, 42, "length");
    return html$.CssPerspective._create_1(length);
  }
  static _create_1(length) {
    return new CSSPerspective(length);
  }
  get [$length]() {
    return this.length;
  }
  set [$length](value) {
    this.length = value;
  }
};
dart.addTypeTests(html$.CssPerspective);
dart.addTypeCaches(html$.CssPerspective);
dart.setGetterSignature(html$.CssPerspective, () => ({
  __proto__: dart.getGetters(html$.CssPerspective.__proto__),
  [$length]: dart.nullable(html$.CssNumericValue)
}));
dart.setSetterSignature(html$.CssPerspective, () => ({
  __proto__: dart.getSetters(html$.CssPerspective.__proto__),
  [$length]: dart.nullable(html$.CssNumericValue)
}));
dart.setLibraryUri(html$.CssPerspective, I[148]);
dart.registerExtension("CSSPerspective", html$.CssPerspective);
html$.CssPositionValue = class CssPositionValue extends html$.CssStyleValue {
  static new(x, y) {
    if (x == null) dart.nullFailed(I[147], 3774, 44, "x");
    if (y == null) dart.nullFailed(I[147], 3774, 63, "y");
    return html$.CssPositionValue._create_1(x, y);
  }
  static _create_1(x, y) {
    return new CSSPositionValue(x, y);
  }
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
};
dart.addTypeTests(html$.CssPositionValue);
dart.addTypeCaches(html$.CssPositionValue);
dart.setGetterSignature(html$.CssPositionValue, () => ({
  __proto__: dart.getGetters(html$.CssPositionValue.__proto__),
  [S$.$x]: dart.nullable(html$.CssNumericValue),
  [S$.$y]: dart.nullable(html$.CssNumericValue)
}));
dart.setSetterSignature(html$.CssPositionValue, () => ({
  __proto__: dart.getSetters(html$.CssPositionValue.__proto__),
  [S$.$x]: dart.nullable(html$.CssNumericValue),
  [S$.$y]: dart.nullable(html$.CssNumericValue)
}));
dart.setLibraryUri(html$.CssPositionValue, I[148]);
dart.registerExtension("CSSPositionValue", html$.CssPositionValue);
html$.CssRotation = class CssRotation extends html$.CssTransformComponent {
  static new(angleValue_OR_x, y = null, z = null, angle = null) {
    if (html$.CssNumericValue.is(angleValue_OR_x) && y == null && z == null && angle == null) {
      return html$.CssRotation._create_1(angleValue_OR_x);
    }
    if (html$.CssNumericValue.is(angle) && typeof z == 'number' && typeof y == 'number' && typeof angleValue_OR_x == 'number') {
      return html$.CssRotation._create_2(angleValue_OR_x, y, z, angle);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1(angleValue_OR_x) {
    return new CSSRotation(angleValue_OR_x);
  }
  static _create_2(angleValue_OR_x, y, z, angle) {
    return new CSSRotation(angleValue_OR_x, y, z, angle);
  }
  get [S$.$angle]() {
    return this.angle;
  }
  set [S$.$angle](value) {
    this.angle = value;
  }
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
  get [S$.$z]() {
    return this.z;
  }
  set [S$.$z](value) {
    this.z = value;
  }
};
dart.addTypeTests(html$.CssRotation);
dart.addTypeCaches(html$.CssRotation);
dart.setGetterSignature(html$.CssRotation, () => ({
  __proto__: dart.getGetters(html$.CssRotation.__proto__),
  [S$.$angle]: dart.nullable(html$.CssNumericValue),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setSetterSignature(html$.CssRotation, () => ({
  __proto__: dart.getSetters(html$.CssRotation.__proto__),
  [S$.$angle]: dart.nullable(html$.CssNumericValue),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.CssRotation, I[148]);
dart.registerExtension("CSSRotation", html$.CssRotation);
html$.CssScale = class CssScale extends html$.CssTransformComponent {
  static new(x, y, z = null) {
    if (x == null) dart.nullFailed(I[147], 3903, 24, "x");
    if (y == null) dart.nullFailed(I[147], 3903, 31, "y");
    if (typeof y == 'number' && typeof x == 'number' && z == null) {
      return html$.CssScale._create_1(x, y);
    }
    if (typeof z == 'number' && typeof y == 'number' && typeof x == 'number') {
      return html$.CssScale._create_2(x, y, z);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1(x, y) {
    return new CSSScale(x, y);
  }
  static _create_2(x, y, z) {
    return new CSSScale(x, y, z);
  }
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
  get [S$.$z]() {
    return this.z;
  }
  set [S$.$z](value) {
    this.z = value;
  }
};
dart.addTypeTests(html$.CssScale);
dart.addTypeCaches(html$.CssScale);
dart.setGetterSignature(html$.CssScale, () => ({
  __proto__: dart.getGetters(html$.CssScale.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setSetterSignature(html$.CssScale, () => ({
  __proto__: dart.getSetters(html$.CssScale.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.CssScale, I[148]);
dart.registerExtension("CSSScale", html$.CssScale);
html$.CssSkew = class CssSkew extends html$.CssTransformComponent {
  static new(ax, ay) {
    if (ax == null) dart.nullFailed(I[147], 3939, 35, "ax");
    if (ay == null) dart.nullFailed(I[147], 3939, 55, "ay");
    return html$.CssSkew._create_1(ax, ay);
  }
  static _create_1(ax, ay) {
    return new CSSSkew(ax, ay);
  }
  get [S$.$ax]() {
    return this.ax;
  }
  set [S$.$ax](value) {
    this.ax = value;
  }
  get [S$.$ay]() {
    return this.ay;
  }
  set [S$.$ay](value) {
    this.ay = value;
  }
};
dart.addTypeTests(html$.CssSkew);
dart.addTypeCaches(html$.CssSkew);
dart.setGetterSignature(html$.CssSkew, () => ({
  __proto__: dart.getGetters(html$.CssSkew.__proto__),
  [S$.$ax]: dart.nullable(html$.CssNumericValue),
  [S$.$ay]: dart.nullable(html$.CssNumericValue)
}));
dart.setSetterSignature(html$.CssSkew, () => ({
  __proto__: dart.getSetters(html$.CssSkew.__proto__),
  [S$.$ax]: dart.nullable(html$.CssNumericValue),
  [S$.$ay]: dart.nullable(html$.CssNumericValue)
}));
dart.setLibraryUri(html$.CssSkew, I[148]);
dart.registerExtension("CSSSkew", html$.CssSkew);
html$.CssStyleDeclarationBase = class CssStyleDeclarationBase extends core.Object {
  get alignContent() {
    return this[S$.$getPropertyValue]("align-content");
  }
  set alignContent(value) {
    if (value == null) dart.nullFailed(I[147], 5925, 27, "value");
    this[S$.$setProperty]("align-content", value, "");
  }
  get alignItems() {
    return this[S$.$getPropertyValue]("align-items");
  }
  set alignItems(value) {
    if (value == null) dart.nullFailed(I[147], 5933, 25, "value");
    this[S$.$setProperty]("align-items", value, "");
  }
  get alignSelf() {
    return this[S$.$getPropertyValue]("align-self");
  }
  set alignSelf(value) {
    if (value == null) dart.nullFailed(I[147], 5941, 24, "value");
    this[S$.$setProperty]("align-self", value, "");
  }
  get animation() {
    return this[S$.$getPropertyValue]("animation");
  }
  set animation(value) {
    if (value == null) dart.nullFailed(I[147], 5949, 24, "value");
    this[S$.$setProperty]("animation", value, "");
  }
  get animationDelay() {
    return this[S$.$getPropertyValue]("animation-delay");
  }
  set animationDelay(value) {
    if (value == null) dart.nullFailed(I[147], 5957, 29, "value");
    this[S$.$setProperty]("animation-delay", value, "");
  }
  get animationDirection() {
    return this[S$.$getPropertyValue]("animation-direction");
  }
  set animationDirection(value) {
    if (value == null) dart.nullFailed(I[147], 5965, 33, "value");
    this[S$.$setProperty]("animation-direction", value, "");
  }
  get animationDuration() {
    return this[S$.$getPropertyValue]("animation-duration");
  }
  set animationDuration(value) {
    if (value == null) dart.nullFailed(I[147], 5973, 32, "value");
    this[S$.$setProperty]("animation-duration", value, "");
  }
  get animationFillMode() {
    return this[S$.$getPropertyValue]("animation-fill-mode");
  }
  set animationFillMode(value) {
    if (value == null) dart.nullFailed(I[147], 5981, 32, "value");
    this[S$.$setProperty]("animation-fill-mode", value, "");
  }
  get animationIterationCount() {
    return this[S$.$getPropertyValue]("animation-iteration-count");
  }
  set animationIterationCount(value) {
    if (value == null) dart.nullFailed(I[147], 5990, 38, "value");
    this[S$.$setProperty]("animation-iteration-count", value, "");
  }
  get animationName() {
    return this[S$.$getPropertyValue]("animation-name");
  }
  set animationName(value) {
    if (value == null) dart.nullFailed(I[147], 5998, 28, "value");
    this[S$.$setProperty]("animation-name", value, "");
  }
  get animationPlayState() {
    return this[S$.$getPropertyValue]("animation-play-state");
  }
  set animationPlayState(value) {
    if (value == null) dart.nullFailed(I[147], 6006, 33, "value");
    this[S$.$setProperty]("animation-play-state", value, "");
  }
  get animationTimingFunction() {
    return this[S$.$getPropertyValue]("animation-timing-function");
  }
  set animationTimingFunction(value) {
    if (value == null) dart.nullFailed(I[147], 6015, 38, "value");
    this[S$.$setProperty]("animation-timing-function", value, "");
  }
  get appRegion() {
    return this[S$.$getPropertyValue]("app-region");
  }
  set appRegion(value) {
    if (value == null) dart.nullFailed(I[147], 6023, 24, "value");
    this[S$.$setProperty]("app-region", value, "");
  }
  get appearance() {
    return this[S$.$getPropertyValue]("appearance");
  }
  set appearance(value) {
    if (value == null) dart.nullFailed(I[147], 6031, 25, "value");
    this[S$.$setProperty]("appearance", value, "");
  }
  get aspectRatio() {
    return this[S$.$getPropertyValue]("aspect-ratio");
  }
  set aspectRatio(value) {
    if (value == null) dart.nullFailed(I[147], 6039, 26, "value");
    this[S$.$setProperty]("aspect-ratio", value, "");
  }
  get backfaceVisibility() {
    return this[S$.$getPropertyValue]("backface-visibility");
  }
  set backfaceVisibility(value) {
    if (value == null) dart.nullFailed(I[147], 6047, 33, "value");
    this[S$.$setProperty]("backface-visibility", value, "");
  }
  get background() {
    return this[S$.$getPropertyValue]("background");
  }
  set background(value) {
    if (value == null) dart.nullFailed(I[147], 6055, 25, "value");
    this[S$.$setProperty]("background", value, "");
  }
  get backgroundAttachment() {
    return this[S$.$getPropertyValue]("background-attachment");
  }
  set backgroundAttachment(value) {
    if (value == null) dart.nullFailed(I[147], 6063, 35, "value");
    this[S$.$setProperty]("background-attachment", value, "");
  }
  get backgroundBlendMode() {
    return this[S$.$getPropertyValue]("background-blend-mode");
  }
  set backgroundBlendMode(value) {
    if (value == null) dart.nullFailed(I[147], 6071, 34, "value");
    this[S$.$setProperty]("background-blend-mode", value, "");
  }
  get backgroundClip() {
    return this[S$.$getPropertyValue]("background-clip");
  }
  set backgroundClip(value) {
    if (value == null) dart.nullFailed(I[147], 6079, 29, "value");
    this[S$.$setProperty]("background-clip", value, "");
  }
  get backgroundColor() {
    return this[S$.$getPropertyValue]("background-color");
  }
  set backgroundColor(value) {
    if (value == null) dart.nullFailed(I[147], 6087, 30, "value");
    this[S$.$setProperty]("background-color", value, "");
  }
  get backgroundComposite() {
    return this[S$.$getPropertyValue]("background-composite");
  }
  set backgroundComposite(value) {
    if (value == null) dart.nullFailed(I[147], 6095, 34, "value");
    this[S$.$setProperty]("background-composite", value, "");
  }
  get backgroundImage() {
    return this[S$.$getPropertyValue]("background-image");
  }
  set backgroundImage(value) {
    if (value == null) dart.nullFailed(I[147], 6103, 30, "value");
    this[S$.$setProperty]("background-image", value, "");
  }
  get backgroundOrigin() {
    return this[S$.$getPropertyValue]("background-origin");
  }
  set backgroundOrigin(value) {
    if (value == null) dart.nullFailed(I[147], 6111, 31, "value");
    this[S$.$setProperty]("background-origin", value, "");
  }
  get backgroundPosition() {
    return this[S$.$getPropertyValue]("background-position");
  }
  set backgroundPosition(value) {
    if (value == null) dart.nullFailed(I[147], 6119, 33, "value");
    this[S$.$setProperty]("background-position", value, "");
  }
  get backgroundPositionX() {
    return this[S$.$getPropertyValue]("background-position-x");
  }
  set backgroundPositionX(value) {
    if (value == null) dart.nullFailed(I[147], 6127, 34, "value");
    this[S$.$setProperty]("background-position-x", value, "");
  }
  get backgroundPositionY() {
    return this[S$.$getPropertyValue]("background-position-y");
  }
  set backgroundPositionY(value) {
    if (value == null) dart.nullFailed(I[147], 6135, 34, "value");
    this[S$.$setProperty]("background-position-y", value, "");
  }
  get backgroundRepeat() {
    return this[S$.$getPropertyValue]("background-repeat");
  }
  set backgroundRepeat(value) {
    if (value == null) dart.nullFailed(I[147], 6143, 31, "value");
    this[S$.$setProperty]("background-repeat", value, "");
  }
  get backgroundRepeatX() {
    return this[S$.$getPropertyValue]("background-repeat-x");
  }
  set backgroundRepeatX(value) {
    if (value == null) dart.nullFailed(I[147], 6151, 32, "value");
    this[S$.$setProperty]("background-repeat-x", value, "");
  }
  get backgroundRepeatY() {
    return this[S$.$getPropertyValue]("background-repeat-y");
  }
  set backgroundRepeatY(value) {
    if (value == null) dart.nullFailed(I[147], 6159, 32, "value");
    this[S$.$setProperty]("background-repeat-y", value, "");
  }
  get backgroundSize() {
    return this[S$.$getPropertyValue]("background-size");
  }
  set backgroundSize(value) {
    if (value == null) dart.nullFailed(I[147], 6167, 29, "value");
    this[S$.$setProperty]("background-size", value, "");
  }
  get border() {
    return this[S$.$getPropertyValue]("border");
  }
  set border(value) {
    if (value == null) dart.nullFailed(I[147], 6175, 21, "value");
    this[S$.$setProperty]("border", value, "");
  }
  get borderAfter() {
    return this[S$.$getPropertyValue]("border-after");
  }
  set borderAfter(value) {
    if (value == null) dart.nullFailed(I[147], 6183, 26, "value");
    this[S$.$setProperty]("border-after", value, "");
  }
  get borderAfterColor() {
    return this[S$.$getPropertyValue]("border-after-color");
  }
  set borderAfterColor(value) {
    if (value == null) dart.nullFailed(I[147], 6191, 31, "value");
    this[S$.$setProperty]("border-after-color", value, "");
  }
  get borderAfterStyle() {
    return this[S$.$getPropertyValue]("border-after-style");
  }
  set borderAfterStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6199, 31, "value");
    this[S$.$setProperty]("border-after-style", value, "");
  }
  get borderAfterWidth() {
    return this[S$.$getPropertyValue]("border-after-width");
  }
  set borderAfterWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6207, 31, "value");
    this[S$.$setProperty]("border-after-width", value, "");
  }
  get borderBefore() {
    return this[S$.$getPropertyValue]("border-before");
  }
  set borderBefore(value) {
    if (value == null) dart.nullFailed(I[147], 6215, 27, "value");
    this[S$.$setProperty]("border-before", value, "");
  }
  get borderBeforeColor() {
    return this[S$.$getPropertyValue]("border-before-color");
  }
  set borderBeforeColor(value) {
    if (value == null) dart.nullFailed(I[147], 6223, 32, "value");
    this[S$.$setProperty]("border-before-color", value, "");
  }
  get borderBeforeStyle() {
    return this[S$.$getPropertyValue]("border-before-style");
  }
  set borderBeforeStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6231, 32, "value");
    this[S$.$setProperty]("border-before-style", value, "");
  }
  get borderBeforeWidth() {
    return this[S$.$getPropertyValue]("border-before-width");
  }
  set borderBeforeWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6239, 32, "value");
    this[S$.$setProperty]("border-before-width", value, "");
  }
  get borderBottom() {
    return this[S$.$getPropertyValue]("border-bottom");
  }
  set borderBottom(value) {
    if (value == null) dart.nullFailed(I[147], 6247, 27, "value");
    this[S$.$setProperty]("border-bottom", value, "");
  }
  get borderBottomColor() {
    return this[S$.$getPropertyValue]("border-bottom-color");
  }
  set borderBottomColor(value) {
    if (value == null) dart.nullFailed(I[147], 6255, 32, "value");
    this[S$.$setProperty]("border-bottom-color", value, "");
  }
  get borderBottomLeftRadius() {
    return this[S$.$getPropertyValue]("border-bottom-left-radius");
  }
  set borderBottomLeftRadius(value) {
    if (value == null) dart.nullFailed(I[147], 6264, 37, "value");
    this[S$.$setProperty]("border-bottom-left-radius", value, "");
  }
  get borderBottomRightRadius() {
    return this[S$.$getPropertyValue]("border-bottom-right-radius");
  }
  set borderBottomRightRadius(value) {
    if (value == null) dart.nullFailed(I[147], 6273, 38, "value");
    this[S$.$setProperty]("border-bottom-right-radius", value, "");
  }
  get borderBottomStyle() {
    return this[S$.$getPropertyValue]("border-bottom-style");
  }
  set borderBottomStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6281, 32, "value");
    this[S$.$setProperty]("border-bottom-style", value, "");
  }
  get borderBottomWidth() {
    return this[S$.$getPropertyValue]("border-bottom-width");
  }
  set borderBottomWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6289, 32, "value");
    this[S$.$setProperty]("border-bottom-width", value, "");
  }
  get borderCollapse() {
    return this[S$.$getPropertyValue]("border-collapse");
  }
  set borderCollapse(value) {
    if (value == null) dart.nullFailed(I[147], 6297, 29, "value");
    this[S$.$setProperty]("border-collapse", value, "");
  }
  get borderColor() {
    return this[S$.$getPropertyValue]("border-color");
  }
  set borderColor(value) {
    if (value == null) dart.nullFailed(I[147], 6305, 26, "value");
    this[S$.$setProperty]("border-color", value, "");
  }
  get borderEnd() {
    return this[S$.$getPropertyValue]("border-end");
  }
  set borderEnd(value) {
    if (value == null) dart.nullFailed(I[147], 6313, 24, "value");
    this[S$.$setProperty]("border-end", value, "");
  }
  get borderEndColor() {
    return this[S$.$getPropertyValue]("border-end-color");
  }
  set borderEndColor(value) {
    if (value == null) dart.nullFailed(I[147], 6321, 29, "value");
    this[S$.$setProperty]("border-end-color", value, "");
  }
  get borderEndStyle() {
    return this[S$.$getPropertyValue]("border-end-style");
  }
  set borderEndStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6329, 29, "value");
    this[S$.$setProperty]("border-end-style", value, "");
  }
  get borderEndWidth() {
    return this[S$.$getPropertyValue]("border-end-width");
  }
  set borderEndWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6337, 29, "value");
    this[S$.$setProperty]("border-end-width", value, "");
  }
  get borderFit() {
    return this[S$.$getPropertyValue]("border-fit");
  }
  set borderFit(value) {
    if (value == null) dart.nullFailed(I[147], 6345, 24, "value");
    this[S$.$setProperty]("border-fit", value, "");
  }
  get borderHorizontalSpacing() {
    return this[S$.$getPropertyValue]("border-horizontal-spacing");
  }
  set borderHorizontalSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 6354, 38, "value");
    this[S$.$setProperty]("border-horizontal-spacing", value, "");
  }
  get borderImage() {
    return this[S$.$getPropertyValue]("border-image");
  }
  set borderImage(value) {
    if (value == null) dart.nullFailed(I[147], 6362, 26, "value");
    this[S$.$setProperty]("border-image", value, "");
  }
  get borderImageOutset() {
    return this[S$.$getPropertyValue]("border-image-outset");
  }
  set borderImageOutset(value) {
    if (value == null) dart.nullFailed(I[147], 6370, 32, "value");
    this[S$.$setProperty]("border-image-outset", value, "");
  }
  get borderImageRepeat() {
    return this[S$.$getPropertyValue]("border-image-repeat");
  }
  set borderImageRepeat(value) {
    if (value == null) dart.nullFailed(I[147], 6378, 32, "value");
    this[S$.$setProperty]("border-image-repeat", value, "");
  }
  get borderImageSlice() {
    return this[S$.$getPropertyValue]("border-image-slice");
  }
  set borderImageSlice(value) {
    if (value == null) dart.nullFailed(I[147], 6386, 31, "value");
    this[S$.$setProperty]("border-image-slice", value, "");
  }
  get borderImageSource() {
    return this[S$.$getPropertyValue]("border-image-source");
  }
  set borderImageSource(value) {
    if (value == null) dart.nullFailed(I[147], 6394, 32, "value");
    this[S$.$setProperty]("border-image-source", value, "");
  }
  get borderImageWidth() {
    return this[S$.$getPropertyValue]("border-image-width");
  }
  set borderImageWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6402, 31, "value");
    this[S$.$setProperty]("border-image-width", value, "");
  }
  get borderLeft() {
    return this[S$.$getPropertyValue]("border-left");
  }
  set borderLeft(value) {
    if (value == null) dart.nullFailed(I[147], 6410, 25, "value");
    this[S$.$setProperty]("border-left", value, "");
  }
  get borderLeftColor() {
    return this[S$.$getPropertyValue]("border-left-color");
  }
  set borderLeftColor(value) {
    if (value == null) dart.nullFailed(I[147], 6418, 30, "value");
    this[S$.$setProperty]("border-left-color", value, "");
  }
  get borderLeftStyle() {
    return this[S$.$getPropertyValue]("border-left-style");
  }
  set borderLeftStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6426, 30, "value");
    this[S$.$setProperty]("border-left-style", value, "");
  }
  get borderLeftWidth() {
    return this[S$.$getPropertyValue]("border-left-width");
  }
  set borderLeftWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6434, 30, "value");
    this[S$.$setProperty]("border-left-width", value, "");
  }
  get borderRadius() {
    return this[S$.$getPropertyValue]("border-radius");
  }
  set borderRadius(value) {
    if (value == null) dart.nullFailed(I[147], 6442, 27, "value");
    this[S$.$setProperty]("border-radius", value, "");
  }
  get borderRight() {
    return this[S$.$getPropertyValue]("border-right");
  }
  set borderRight(value) {
    if (value == null) dart.nullFailed(I[147], 6450, 26, "value");
    this[S$.$setProperty]("border-right", value, "");
  }
  get borderRightColor() {
    return this[S$.$getPropertyValue]("border-right-color");
  }
  set borderRightColor(value) {
    if (value == null) dart.nullFailed(I[147], 6458, 31, "value");
    this[S$.$setProperty]("border-right-color", value, "");
  }
  get borderRightStyle() {
    return this[S$.$getPropertyValue]("border-right-style");
  }
  set borderRightStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6466, 31, "value");
    this[S$.$setProperty]("border-right-style", value, "");
  }
  get borderRightWidth() {
    return this[S$.$getPropertyValue]("border-right-width");
  }
  set borderRightWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6474, 31, "value");
    this[S$.$setProperty]("border-right-width", value, "");
  }
  get borderSpacing() {
    return this[S$.$getPropertyValue]("border-spacing");
  }
  set borderSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 6482, 28, "value");
    this[S$.$setProperty]("border-spacing", value, "");
  }
  get borderStart() {
    return this[S$.$getPropertyValue]("border-start");
  }
  set borderStart(value) {
    if (value == null) dart.nullFailed(I[147], 6490, 26, "value");
    this[S$.$setProperty]("border-start", value, "");
  }
  get borderStartColor() {
    return this[S$.$getPropertyValue]("border-start-color");
  }
  set borderStartColor(value) {
    if (value == null) dart.nullFailed(I[147], 6498, 31, "value");
    this[S$.$setProperty]("border-start-color", value, "");
  }
  get borderStartStyle() {
    return this[S$.$getPropertyValue]("border-start-style");
  }
  set borderStartStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6506, 31, "value");
    this[S$.$setProperty]("border-start-style", value, "");
  }
  get borderStartWidth() {
    return this[S$.$getPropertyValue]("border-start-width");
  }
  set borderStartWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6514, 31, "value");
    this[S$.$setProperty]("border-start-width", value, "");
  }
  get borderStyle() {
    return this[S$.$getPropertyValue]("border-style");
  }
  set borderStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6522, 26, "value");
    this[S$.$setProperty]("border-style", value, "");
  }
  get borderTop() {
    return this[S$.$getPropertyValue]("border-top");
  }
  set borderTop(value) {
    if (value == null) dart.nullFailed(I[147], 6530, 24, "value");
    this[S$.$setProperty]("border-top", value, "");
  }
  get borderTopColor() {
    return this[S$.$getPropertyValue]("border-top-color");
  }
  set borderTopColor(value) {
    if (value == null) dart.nullFailed(I[147], 6538, 29, "value");
    this[S$.$setProperty]("border-top-color", value, "");
  }
  get borderTopLeftRadius() {
    return this[S$.$getPropertyValue]("border-top-left-radius");
  }
  set borderTopLeftRadius(value) {
    if (value == null) dart.nullFailed(I[147], 6546, 34, "value");
    this[S$.$setProperty]("border-top-left-radius", value, "");
  }
  get borderTopRightRadius() {
    return this[S$.$getPropertyValue]("border-top-right-radius");
  }
  set borderTopRightRadius(value) {
    if (value == null) dart.nullFailed(I[147], 6555, 35, "value");
    this[S$.$setProperty]("border-top-right-radius", value, "");
  }
  get borderTopStyle() {
    return this[S$.$getPropertyValue]("border-top-style");
  }
  set borderTopStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6563, 29, "value");
    this[S$.$setProperty]("border-top-style", value, "");
  }
  get borderTopWidth() {
    return this[S$.$getPropertyValue]("border-top-width");
  }
  set borderTopWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6571, 29, "value");
    this[S$.$setProperty]("border-top-width", value, "");
  }
  get borderVerticalSpacing() {
    return this[S$.$getPropertyValue]("border-vertical-spacing");
  }
  set borderVerticalSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 6580, 36, "value");
    this[S$.$setProperty]("border-vertical-spacing", value, "");
  }
  get borderWidth() {
    return this[S$.$getPropertyValue]("border-width");
  }
  set borderWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6588, 26, "value");
    this[S$.$setProperty]("border-width", value, "");
  }
  get bottom() {
    return this[S$.$getPropertyValue]("bottom");
  }
  set bottom(value) {
    if (value == null) dart.nullFailed(I[147], 6596, 21, "value");
    this[S$.$setProperty]("bottom", value, "");
  }
  get boxAlign() {
    return this[S$.$getPropertyValue]("box-align");
  }
  set boxAlign(value) {
    if (value == null) dart.nullFailed(I[147], 6604, 23, "value");
    this[S$.$setProperty]("box-align", value, "");
  }
  get boxDecorationBreak() {
    return this[S$.$getPropertyValue]("box-decoration-break");
  }
  set boxDecorationBreak(value) {
    if (value == null) dart.nullFailed(I[147], 6612, 33, "value");
    this[S$.$setProperty]("box-decoration-break", value, "");
  }
  get boxDirection() {
    return this[S$.$getPropertyValue]("box-direction");
  }
  set boxDirection(value) {
    if (value == null) dart.nullFailed(I[147], 6620, 27, "value");
    this[S$.$setProperty]("box-direction", value, "");
  }
  get boxFlex() {
    return this[S$.$getPropertyValue]("box-flex");
  }
  set boxFlex(value) {
    if (value == null) dart.nullFailed(I[147], 6628, 22, "value");
    this[S$.$setProperty]("box-flex", value, "");
  }
  get boxFlexGroup() {
    return this[S$.$getPropertyValue]("box-flex-group");
  }
  set boxFlexGroup(value) {
    if (value == null) dart.nullFailed(I[147], 6636, 27, "value");
    this[S$.$setProperty]("box-flex-group", value, "");
  }
  get boxLines() {
    return this[S$.$getPropertyValue]("box-lines");
  }
  set boxLines(value) {
    if (value == null) dart.nullFailed(I[147], 6644, 23, "value");
    this[S$.$setProperty]("box-lines", value, "");
  }
  get boxOrdinalGroup() {
    return this[S$.$getPropertyValue]("box-ordinal-group");
  }
  set boxOrdinalGroup(value) {
    if (value == null) dart.nullFailed(I[147], 6652, 30, "value");
    this[S$.$setProperty]("box-ordinal-group", value, "");
  }
  get boxOrient() {
    return this[S$.$getPropertyValue]("box-orient");
  }
  set boxOrient(value) {
    if (value == null) dart.nullFailed(I[147], 6660, 24, "value");
    this[S$.$setProperty]("box-orient", value, "");
  }
  get boxPack() {
    return this[S$.$getPropertyValue]("box-pack");
  }
  set boxPack(value) {
    if (value == null) dart.nullFailed(I[147], 6668, 22, "value");
    this[S$.$setProperty]("box-pack", value, "");
  }
  get boxReflect() {
    return this[S$.$getPropertyValue]("box-reflect");
  }
  set boxReflect(value) {
    if (value == null) dart.nullFailed(I[147], 6676, 25, "value");
    this[S$.$setProperty]("box-reflect", value, "");
  }
  get boxShadow() {
    return this[S$.$getPropertyValue]("box-shadow");
  }
  set boxShadow(value) {
    if (value == null) dart.nullFailed(I[147], 6684, 24, "value");
    this[S$.$setProperty]("box-shadow", value, "");
  }
  get boxSizing() {
    return this[S$.$getPropertyValue]("box-sizing");
  }
  set boxSizing(value) {
    if (value == null) dart.nullFailed(I[147], 6692, 24, "value");
    this[S$.$setProperty]("box-sizing", value, "");
  }
  get captionSide() {
    return this[S$.$getPropertyValue]("caption-side");
  }
  set captionSide(value) {
    if (value == null) dart.nullFailed(I[147], 6700, 26, "value");
    this[S$.$setProperty]("caption-side", value, "");
  }
  get clear() {
    return this[S$.$getPropertyValue]("clear");
  }
  set clear(value) {
    if (value == null) dart.nullFailed(I[147], 6708, 20, "value");
    this[S$.$setProperty]("clear", value, "");
  }
  get clip() {
    return this[S$.$getPropertyValue]("clip");
  }
  set clip(value) {
    if (value == null) dart.nullFailed(I[147], 6716, 19, "value");
    this[S$.$setProperty]("clip", value, "");
  }
  get clipPath() {
    return this[S$.$getPropertyValue]("clip-path");
  }
  set clipPath(value) {
    if (value == null) dart.nullFailed(I[147], 6724, 23, "value");
    this[S$.$setProperty]("clip-path", value, "");
  }
  get color() {
    return this[S$.$getPropertyValue]("color");
  }
  set color(value) {
    if (value == null) dart.nullFailed(I[147], 6732, 20, "value");
    this[S$.$setProperty]("color", value, "");
  }
  get columnBreakAfter() {
    return this[S$.$getPropertyValue]("column-break-after");
  }
  set columnBreakAfter(value) {
    if (value == null) dart.nullFailed(I[147], 6740, 31, "value");
    this[S$.$setProperty]("column-break-after", value, "");
  }
  get columnBreakBefore() {
    return this[S$.$getPropertyValue]("column-break-before");
  }
  set columnBreakBefore(value) {
    if (value == null) dart.nullFailed(I[147], 6748, 32, "value");
    this[S$.$setProperty]("column-break-before", value, "");
  }
  get columnBreakInside() {
    return this[S$.$getPropertyValue]("column-break-inside");
  }
  set columnBreakInside(value) {
    if (value == null) dart.nullFailed(I[147], 6756, 32, "value");
    this[S$.$setProperty]("column-break-inside", value, "");
  }
  get columnCount() {
    return this[S$.$getPropertyValue]("column-count");
  }
  set columnCount(value) {
    if (value == null) dart.nullFailed(I[147], 6764, 26, "value");
    this[S$.$setProperty]("column-count", value, "");
  }
  get columnFill() {
    return this[S$.$getPropertyValue]("column-fill");
  }
  set columnFill(value) {
    if (value == null) dart.nullFailed(I[147], 6772, 25, "value");
    this[S$.$setProperty]("column-fill", value, "");
  }
  get columnGap() {
    return this[S$.$getPropertyValue]("column-gap");
  }
  set columnGap(value) {
    if (value == null) dart.nullFailed(I[147], 6780, 24, "value");
    this[S$.$setProperty]("column-gap", value, "");
  }
  get columnRule() {
    return this[S$.$getPropertyValue]("column-rule");
  }
  set columnRule(value) {
    if (value == null) dart.nullFailed(I[147], 6788, 25, "value");
    this[S$.$setProperty]("column-rule", value, "");
  }
  get columnRuleColor() {
    return this[S$.$getPropertyValue]("column-rule-color");
  }
  set columnRuleColor(value) {
    if (value == null) dart.nullFailed(I[147], 6796, 30, "value");
    this[S$.$setProperty]("column-rule-color", value, "");
  }
  get columnRuleStyle() {
    return this[S$.$getPropertyValue]("column-rule-style");
  }
  set columnRuleStyle(value) {
    if (value == null) dart.nullFailed(I[147], 6804, 30, "value");
    this[S$.$setProperty]("column-rule-style", value, "");
  }
  get columnRuleWidth() {
    return this[S$.$getPropertyValue]("column-rule-width");
  }
  set columnRuleWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6812, 30, "value");
    this[S$.$setProperty]("column-rule-width", value, "");
  }
  get columnSpan() {
    return this[S$.$getPropertyValue]("column-span");
  }
  set columnSpan(value) {
    if (value == null) dart.nullFailed(I[147], 6820, 25, "value");
    this[S$.$setProperty]("column-span", value, "");
  }
  get columnWidth() {
    return this[S$.$getPropertyValue]("column-width");
  }
  set columnWidth(value) {
    if (value == null) dart.nullFailed(I[147], 6828, 26, "value");
    this[S$.$setProperty]("column-width", value, "");
  }
  get columns() {
    return this[S$.$getPropertyValue]("columns");
  }
  set columns(value) {
    if (value == null) dart.nullFailed(I[147], 6836, 22, "value");
    this[S$.$setProperty]("columns", value, "");
  }
  get content() {
    return this[S$.$getPropertyValue]("content");
  }
  set content(value) {
    if (value == null) dart.nullFailed(I[147], 6844, 22, "value");
    this[S$.$setProperty]("content", value, "");
  }
  get counterIncrement() {
    return this[S$.$getPropertyValue]("counter-increment");
  }
  set counterIncrement(value) {
    if (value == null) dart.nullFailed(I[147], 6852, 31, "value");
    this[S$.$setProperty]("counter-increment", value, "");
  }
  get counterReset() {
    return this[S$.$getPropertyValue]("counter-reset");
  }
  set counterReset(value) {
    if (value == null) dart.nullFailed(I[147], 6860, 27, "value");
    this[S$.$setProperty]("counter-reset", value, "");
  }
  get cursor() {
    return this[S$.$getPropertyValue]("cursor");
  }
  set cursor(value) {
    if (value == null) dart.nullFailed(I[147], 6868, 21, "value");
    this[S$.$setProperty]("cursor", value, "");
  }
  get direction() {
    return this[S$.$getPropertyValue]("direction");
  }
  set direction(value) {
    if (value == null) dart.nullFailed(I[147], 6876, 24, "value");
    this[S$.$setProperty]("direction", value, "");
  }
  get display() {
    return this[S$.$getPropertyValue]("display");
  }
  set display(value) {
    if (value == null) dart.nullFailed(I[147], 6884, 22, "value");
    this[S$.$setProperty]("display", value, "");
  }
  get emptyCells() {
    return this[S$.$getPropertyValue]("empty-cells");
  }
  set emptyCells(value) {
    if (value == null) dart.nullFailed(I[147], 6892, 25, "value");
    this[S$.$setProperty]("empty-cells", value, "");
  }
  get filter() {
    return this[S$.$getPropertyValue]("filter");
  }
  set filter(value) {
    if (value == null) dart.nullFailed(I[147], 6900, 21, "value");
    this[S$.$setProperty]("filter", value, "");
  }
  get flex() {
    return this[S$.$getPropertyValue]("flex");
  }
  set flex(value) {
    if (value == null) dart.nullFailed(I[147], 6908, 19, "value");
    this[S$.$setProperty]("flex", value, "");
  }
  get flexBasis() {
    return this[S$.$getPropertyValue]("flex-basis");
  }
  set flexBasis(value) {
    if (value == null) dart.nullFailed(I[147], 6916, 24, "value");
    this[S$.$setProperty]("flex-basis", value, "");
  }
  get flexDirection() {
    return this[S$.$getPropertyValue]("flex-direction");
  }
  set flexDirection(value) {
    if (value == null) dart.nullFailed(I[147], 6924, 28, "value");
    this[S$.$setProperty]("flex-direction", value, "");
  }
  get flexFlow() {
    return this[S$.$getPropertyValue]("flex-flow");
  }
  set flexFlow(value) {
    if (value == null) dart.nullFailed(I[147], 6932, 23, "value");
    this[S$.$setProperty]("flex-flow", value, "");
  }
  get flexGrow() {
    return this[S$.$getPropertyValue]("flex-grow");
  }
  set flexGrow(value) {
    if (value == null) dart.nullFailed(I[147], 6940, 23, "value");
    this[S$.$setProperty]("flex-grow", value, "");
  }
  get flexShrink() {
    return this[S$.$getPropertyValue]("flex-shrink");
  }
  set flexShrink(value) {
    if (value == null) dart.nullFailed(I[147], 6948, 25, "value");
    this[S$.$setProperty]("flex-shrink", value, "");
  }
  get flexWrap() {
    return this[S$.$getPropertyValue]("flex-wrap");
  }
  set flexWrap(value) {
    if (value == null) dart.nullFailed(I[147], 6956, 23, "value");
    this[S$.$setProperty]("flex-wrap", value, "");
  }
  get float() {
    return this[S$.$getPropertyValue]("float");
  }
  set float(value) {
    if (value == null) dart.nullFailed(I[147], 6964, 20, "value");
    this[S$.$setProperty]("float", value, "");
  }
  get font() {
    return this[S$.$getPropertyValue]("font");
  }
  set font(value) {
    if (value == null) dart.nullFailed(I[147], 6972, 19, "value");
    this[S$.$setProperty]("font", value, "");
  }
  get fontFamily() {
    return this[S$.$getPropertyValue]("font-family");
  }
  set fontFamily(value) {
    if (value == null) dart.nullFailed(I[147], 6980, 25, "value");
    this[S$.$setProperty]("font-family", value, "");
  }
  get fontFeatureSettings() {
    return this[S$.$getPropertyValue]("font-feature-settings");
  }
  set fontFeatureSettings(value) {
    if (value == null) dart.nullFailed(I[147], 6988, 34, "value");
    this[S$.$setProperty]("font-feature-settings", value, "");
  }
  get fontKerning() {
    return this[S$.$getPropertyValue]("font-kerning");
  }
  set fontKerning(value) {
    if (value == null) dart.nullFailed(I[147], 6996, 26, "value");
    this[S$.$setProperty]("font-kerning", value, "");
  }
  get fontSize() {
    return this[S$.$getPropertyValue]("font-size");
  }
  set fontSize(value) {
    if (value == null) dart.nullFailed(I[147], 7004, 23, "value");
    this[S$.$setProperty]("font-size", value, "");
  }
  get fontSizeDelta() {
    return this[S$.$getPropertyValue]("font-size-delta");
  }
  set fontSizeDelta(value) {
    if (value == null) dart.nullFailed(I[147], 7012, 28, "value");
    this[S$.$setProperty]("font-size-delta", value, "");
  }
  get fontSmoothing() {
    return this[S$.$getPropertyValue]("font-smoothing");
  }
  set fontSmoothing(value) {
    if (value == null) dart.nullFailed(I[147], 7020, 28, "value");
    this[S$.$setProperty]("font-smoothing", value, "");
  }
  get fontStretch() {
    return this[S$.$getPropertyValue]("font-stretch");
  }
  set fontStretch(value) {
    if (value == null) dart.nullFailed(I[147], 7028, 26, "value");
    this[S$.$setProperty]("font-stretch", value, "");
  }
  get fontStyle() {
    return this[S$.$getPropertyValue]("font-style");
  }
  set fontStyle(value) {
    if (value == null) dart.nullFailed(I[147], 7036, 24, "value");
    this[S$.$setProperty]("font-style", value, "");
  }
  get fontVariant() {
    return this[S$.$getPropertyValue]("font-variant");
  }
  set fontVariant(value) {
    if (value == null) dart.nullFailed(I[147], 7044, 26, "value");
    this[S$.$setProperty]("font-variant", value, "");
  }
  get fontVariantLigatures() {
    return this[S$.$getPropertyValue]("font-variant-ligatures");
  }
  set fontVariantLigatures(value) {
    if (value == null) dart.nullFailed(I[147], 7052, 35, "value");
    this[S$.$setProperty]("font-variant-ligatures", value, "");
  }
  get fontWeight() {
    return this[S$.$getPropertyValue]("font-weight");
  }
  set fontWeight(value) {
    if (value == null) dart.nullFailed(I[147], 7060, 25, "value");
    this[S$.$setProperty]("font-weight", value, "");
  }
  get grid() {
    return this[S$.$getPropertyValue]("grid");
  }
  set grid(value) {
    if (value == null) dart.nullFailed(I[147], 7068, 19, "value");
    this[S$.$setProperty]("grid", value, "");
  }
  get gridArea() {
    return this[S$.$getPropertyValue]("grid-area");
  }
  set gridArea(value) {
    if (value == null) dart.nullFailed(I[147], 7076, 23, "value");
    this[S$.$setProperty]("grid-area", value, "");
  }
  get gridAutoColumns() {
    return this[S$.$getPropertyValue]("grid-auto-columns");
  }
  set gridAutoColumns(value) {
    if (value == null) dart.nullFailed(I[147], 7084, 30, "value");
    this[S$.$setProperty]("grid-auto-columns", value, "");
  }
  get gridAutoFlow() {
    return this[S$.$getPropertyValue]("grid-auto-flow");
  }
  set gridAutoFlow(value) {
    if (value == null) dart.nullFailed(I[147], 7092, 27, "value");
    this[S$.$setProperty]("grid-auto-flow", value, "");
  }
  get gridAutoRows() {
    return this[S$.$getPropertyValue]("grid-auto-rows");
  }
  set gridAutoRows(value) {
    if (value == null) dart.nullFailed(I[147], 7100, 27, "value");
    this[S$.$setProperty]("grid-auto-rows", value, "");
  }
  get gridColumn() {
    return this[S$.$getPropertyValue]("grid-column");
  }
  set gridColumn(value) {
    if (value == null) dart.nullFailed(I[147], 7108, 25, "value");
    this[S$.$setProperty]("grid-column", value, "");
  }
  get gridColumnEnd() {
    return this[S$.$getPropertyValue]("grid-column-end");
  }
  set gridColumnEnd(value) {
    if (value == null) dart.nullFailed(I[147], 7116, 28, "value");
    this[S$.$setProperty]("grid-column-end", value, "");
  }
  get gridColumnStart() {
    return this[S$.$getPropertyValue]("grid-column-start");
  }
  set gridColumnStart(value) {
    if (value == null) dart.nullFailed(I[147], 7124, 30, "value");
    this[S$.$setProperty]("grid-column-start", value, "");
  }
  get gridRow() {
    return this[S$.$getPropertyValue]("grid-row");
  }
  set gridRow(value) {
    if (value == null) dart.nullFailed(I[147], 7132, 22, "value");
    this[S$.$setProperty]("grid-row", value, "");
  }
  get gridRowEnd() {
    return this[S$.$getPropertyValue]("grid-row-end");
  }
  set gridRowEnd(value) {
    if (value == null) dart.nullFailed(I[147], 7140, 25, "value");
    this[S$.$setProperty]("grid-row-end", value, "");
  }
  get gridRowStart() {
    return this[S$.$getPropertyValue]("grid-row-start");
  }
  set gridRowStart(value) {
    if (value == null) dart.nullFailed(I[147], 7148, 27, "value");
    this[S$.$setProperty]("grid-row-start", value, "");
  }
  get gridTemplate() {
    return this[S$.$getPropertyValue]("grid-template");
  }
  set gridTemplate(value) {
    if (value == null) dart.nullFailed(I[147], 7156, 27, "value");
    this[S$.$setProperty]("grid-template", value, "");
  }
  get gridTemplateAreas() {
    return this[S$.$getPropertyValue]("grid-template-areas");
  }
  set gridTemplateAreas(value) {
    if (value == null) dart.nullFailed(I[147], 7164, 32, "value");
    this[S$.$setProperty]("grid-template-areas", value, "");
  }
  get gridTemplateColumns() {
    return this[S$.$getPropertyValue]("grid-template-columns");
  }
  set gridTemplateColumns(value) {
    if (value == null) dart.nullFailed(I[147], 7172, 34, "value");
    this[S$.$setProperty]("grid-template-columns", value, "");
  }
  get gridTemplateRows() {
    return this[S$.$getPropertyValue]("grid-template-rows");
  }
  set gridTemplateRows(value) {
    if (value == null) dart.nullFailed(I[147], 7180, 31, "value");
    this[S$.$setProperty]("grid-template-rows", value, "");
  }
  get height() {
    return this[S$.$getPropertyValue]("height");
  }
  set height(value) {
    if (value == null) dart.nullFailed(I[147], 7188, 21, "value");
    this[S$.$setProperty]("height", value, "");
  }
  get highlight() {
    return this[S$.$getPropertyValue]("highlight");
  }
  set highlight(value) {
    if (value == null) dart.nullFailed(I[147], 7196, 24, "value");
    this[S$.$setProperty]("highlight", value, "");
  }
  get hyphenateCharacter() {
    return this[S$.$getPropertyValue]("hyphenate-character");
  }
  set hyphenateCharacter(value) {
    if (value == null) dart.nullFailed(I[147], 7204, 33, "value");
    this[S$.$setProperty]("hyphenate-character", value, "");
  }
  get imageRendering() {
    return this[S$.$getPropertyValue]("image-rendering");
  }
  set imageRendering(value) {
    if (value == null) dart.nullFailed(I[147], 7212, 29, "value");
    this[S$.$setProperty]("image-rendering", value, "");
  }
  get isolation() {
    return this[S$.$getPropertyValue]("isolation");
  }
  set isolation(value) {
    if (value == null) dart.nullFailed(I[147], 7220, 24, "value");
    this[S$.$setProperty]("isolation", value, "");
  }
  get justifyContent() {
    return this[S$.$getPropertyValue]("justify-content");
  }
  set justifyContent(value) {
    if (value == null) dart.nullFailed(I[147], 7228, 29, "value");
    this[S$.$setProperty]("justify-content", value, "");
  }
  get justifySelf() {
    return this[S$.$getPropertyValue]("justify-self");
  }
  set justifySelf(value) {
    if (value == null) dart.nullFailed(I[147], 7236, 26, "value");
    this[S$.$setProperty]("justify-self", value, "");
  }
  get left() {
    return this[S$.$getPropertyValue]("left");
  }
  set left(value) {
    if (value == null) dart.nullFailed(I[147], 7244, 19, "value");
    this[S$.$setProperty]("left", value, "");
  }
  get letterSpacing() {
    return this[S$.$getPropertyValue]("letter-spacing");
  }
  set letterSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 7252, 28, "value");
    this[S$.$setProperty]("letter-spacing", value, "");
  }
  get lineBoxContain() {
    return this[S$.$getPropertyValue]("line-box-contain");
  }
  set lineBoxContain(value) {
    if (value == null) dart.nullFailed(I[147], 7260, 29, "value");
    this[S$.$setProperty]("line-box-contain", value, "");
  }
  get lineBreak() {
    return this[S$.$getPropertyValue]("line-break");
  }
  set lineBreak(value) {
    if (value == null) dart.nullFailed(I[147], 7268, 24, "value");
    this[S$.$setProperty]("line-break", value, "");
  }
  get lineClamp() {
    return this[S$.$getPropertyValue]("line-clamp");
  }
  set lineClamp(value) {
    if (value == null) dart.nullFailed(I[147], 7276, 24, "value");
    this[S$.$setProperty]("line-clamp", value, "");
  }
  get lineHeight() {
    return this[S$.$getPropertyValue]("line-height");
  }
  set lineHeight(value) {
    if (value == null) dart.nullFailed(I[147], 7284, 25, "value");
    this[S$.$setProperty]("line-height", value, "");
  }
  get listStyle() {
    return this[S$.$getPropertyValue]("list-style");
  }
  set listStyle(value) {
    if (value == null) dart.nullFailed(I[147], 7292, 24, "value");
    this[S$.$setProperty]("list-style", value, "");
  }
  get listStyleImage() {
    return this[S$.$getPropertyValue]("list-style-image");
  }
  set listStyleImage(value) {
    if (value == null) dart.nullFailed(I[147], 7300, 29, "value");
    this[S$.$setProperty]("list-style-image", value, "");
  }
  get listStylePosition() {
    return this[S$.$getPropertyValue]("list-style-position");
  }
  set listStylePosition(value) {
    if (value == null) dart.nullFailed(I[147], 7308, 32, "value");
    this[S$.$setProperty]("list-style-position", value, "");
  }
  get listStyleType() {
    return this[S$.$getPropertyValue]("list-style-type");
  }
  set listStyleType(value) {
    if (value == null) dart.nullFailed(I[147], 7316, 28, "value");
    this[S$.$setProperty]("list-style-type", value, "");
  }
  get locale() {
    return this[S$.$getPropertyValue]("locale");
  }
  set locale(value) {
    if (value == null) dart.nullFailed(I[147], 7324, 21, "value");
    this[S$.$setProperty]("locale", value, "");
  }
  get logicalHeight() {
    return this[S$.$getPropertyValue]("logical-height");
  }
  set logicalHeight(value) {
    if (value == null) dart.nullFailed(I[147], 7332, 28, "value");
    this[S$.$setProperty]("logical-height", value, "");
  }
  get logicalWidth() {
    return this[S$.$getPropertyValue]("logical-width");
  }
  set logicalWidth(value) {
    if (value == null) dart.nullFailed(I[147], 7340, 27, "value");
    this[S$.$setProperty]("logical-width", value, "");
  }
  get margin() {
    return this[S$.$getPropertyValue]("margin");
  }
  set margin(value) {
    if (value == null) dart.nullFailed(I[147], 7348, 21, "value");
    this[S$.$setProperty]("margin", value, "");
  }
  get marginAfter() {
    return this[S$.$getPropertyValue]("margin-after");
  }
  set marginAfter(value) {
    if (value == null) dart.nullFailed(I[147], 7356, 26, "value");
    this[S$.$setProperty]("margin-after", value, "");
  }
  get marginAfterCollapse() {
    return this[S$.$getPropertyValue]("margin-after-collapse");
  }
  set marginAfterCollapse(value) {
    if (value == null) dart.nullFailed(I[147], 7364, 34, "value");
    this[S$.$setProperty]("margin-after-collapse", value, "");
  }
  get marginBefore() {
    return this[S$.$getPropertyValue]("margin-before");
  }
  set marginBefore(value) {
    if (value == null) dart.nullFailed(I[147], 7372, 27, "value");
    this[S$.$setProperty]("margin-before", value, "");
  }
  get marginBeforeCollapse() {
    return this[S$.$getPropertyValue]("margin-before-collapse");
  }
  set marginBeforeCollapse(value) {
    if (value == null) dart.nullFailed(I[147], 7380, 35, "value");
    this[S$.$setProperty]("margin-before-collapse", value, "");
  }
  get marginBottom() {
    return this[S$.$getPropertyValue]("margin-bottom");
  }
  set marginBottom(value) {
    if (value == null) dart.nullFailed(I[147], 7388, 27, "value");
    this[S$.$setProperty]("margin-bottom", value, "");
  }
  get marginBottomCollapse() {
    return this[S$.$getPropertyValue]("margin-bottom-collapse");
  }
  set marginBottomCollapse(value) {
    if (value == null) dart.nullFailed(I[147], 7396, 35, "value");
    this[S$.$setProperty]("margin-bottom-collapse", value, "");
  }
  get marginCollapse() {
    return this[S$.$getPropertyValue]("margin-collapse");
  }
  set marginCollapse(value) {
    if (value == null) dart.nullFailed(I[147], 7404, 29, "value");
    this[S$.$setProperty]("margin-collapse", value, "");
  }
  get marginEnd() {
    return this[S$.$getPropertyValue]("margin-end");
  }
  set marginEnd(value) {
    if (value == null) dart.nullFailed(I[147], 7412, 24, "value");
    this[S$.$setProperty]("margin-end", value, "");
  }
  get marginLeft() {
    return this[S$.$getPropertyValue]("margin-left");
  }
  set marginLeft(value) {
    if (value == null) dart.nullFailed(I[147], 7420, 25, "value");
    this[S$.$setProperty]("margin-left", value, "");
  }
  get marginRight() {
    return this[S$.$getPropertyValue]("margin-right");
  }
  set marginRight(value) {
    if (value == null) dart.nullFailed(I[147], 7428, 26, "value");
    this[S$.$setProperty]("margin-right", value, "");
  }
  get marginStart() {
    return this[S$.$getPropertyValue]("margin-start");
  }
  set marginStart(value) {
    if (value == null) dart.nullFailed(I[147], 7436, 26, "value");
    this[S$.$setProperty]("margin-start", value, "");
  }
  get marginTop() {
    return this[S$.$getPropertyValue]("margin-top");
  }
  set marginTop(value) {
    if (value == null) dart.nullFailed(I[147], 7444, 24, "value");
    this[S$.$setProperty]("margin-top", value, "");
  }
  get marginTopCollapse() {
    return this[S$.$getPropertyValue]("margin-top-collapse");
  }
  set marginTopCollapse(value) {
    if (value == null) dart.nullFailed(I[147], 7452, 32, "value");
    this[S$.$setProperty]("margin-top-collapse", value, "");
  }
  get mask() {
    return this[S$.$getPropertyValue]("mask");
  }
  set mask(value) {
    if (value == null) dart.nullFailed(I[147], 7460, 19, "value");
    this[S$.$setProperty]("mask", value, "");
  }
  get maskBoxImage() {
    return this[S$.$getPropertyValue]("mask-box-image");
  }
  set maskBoxImage(value) {
    if (value == null) dart.nullFailed(I[147], 7468, 27, "value");
    this[S$.$setProperty]("mask-box-image", value, "");
  }
  get maskBoxImageOutset() {
    return this[S$.$getPropertyValue]("mask-box-image-outset");
  }
  set maskBoxImageOutset(value) {
    if (value == null) dart.nullFailed(I[147], 7476, 33, "value");
    this[S$.$setProperty]("mask-box-image-outset", value, "");
  }
  get maskBoxImageRepeat() {
    return this[S$.$getPropertyValue]("mask-box-image-repeat");
  }
  set maskBoxImageRepeat(value) {
    if (value == null) dart.nullFailed(I[147], 7484, 33, "value");
    this[S$.$setProperty]("mask-box-image-repeat", value, "");
  }
  get maskBoxImageSlice() {
    return this[S$.$getPropertyValue]("mask-box-image-slice");
  }
  set maskBoxImageSlice(value) {
    if (value == null) dart.nullFailed(I[147], 7492, 32, "value");
    this[S$.$setProperty]("mask-box-image-slice", value, "");
  }
  get maskBoxImageSource() {
    return this[S$.$getPropertyValue]("mask-box-image-source");
  }
  set maskBoxImageSource(value) {
    if (value == null) dart.nullFailed(I[147], 7500, 33, "value");
    this[S$.$setProperty]("mask-box-image-source", value, "");
  }
  get maskBoxImageWidth() {
    return this[S$.$getPropertyValue]("mask-box-image-width");
  }
  set maskBoxImageWidth(value) {
    if (value == null) dart.nullFailed(I[147], 7508, 32, "value");
    this[S$.$setProperty]("mask-box-image-width", value, "");
  }
  get maskClip() {
    return this[S$.$getPropertyValue]("mask-clip");
  }
  set maskClip(value) {
    if (value == null) dart.nullFailed(I[147], 7516, 23, "value");
    this[S$.$setProperty]("mask-clip", value, "");
  }
  get maskComposite() {
    return this[S$.$getPropertyValue]("mask-composite");
  }
  set maskComposite(value) {
    if (value == null) dart.nullFailed(I[147], 7524, 28, "value");
    this[S$.$setProperty]("mask-composite", value, "");
  }
  get maskImage() {
    return this[S$.$getPropertyValue]("mask-image");
  }
  set maskImage(value) {
    if (value == null) dart.nullFailed(I[147], 7532, 24, "value");
    this[S$.$setProperty]("mask-image", value, "");
  }
  get maskOrigin() {
    return this[S$.$getPropertyValue]("mask-origin");
  }
  set maskOrigin(value) {
    if (value == null) dart.nullFailed(I[147], 7540, 25, "value");
    this[S$.$setProperty]("mask-origin", value, "");
  }
  get maskPosition() {
    return this[S$.$getPropertyValue]("mask-position");
  }
  set maskPosition(value) {
    if (value == null) dart.nullFailed(I[147], 7548, 27, "value");
    this[S$.$setProperty]("mask-position", value, "");
  }
  get maskPositionX() {
    return this[S$.$getPropertyValue]("mask-position-x");
  }
  set maskPositionX(value) {
    if (value == null) dart.nullFailed(I[147], 7556, 28, "value");
    this[S$.$setProperty]("mask-position-x", value, "");
  }
  get maskPositionY() {
    return this[S$.$getPropertyValue]("mask-position-y");
  }
  set maskPositionY(value) {
    if (value == null) dart.nullFailed(I[147], 7564, 28, "value");
    this[S$.$setProperty]("mask-position-y", value, "");
  }
  get maskRepeat() {
    return this[S$.$getPropertyValue]("mask-repeat");
  }
  set maskRepeat(value) {
    if (value == null) dart.nullFailed(I[147], 7572, 25, "value");
    this[S$.$setProperty]("mask-repeat", value, "");
  }
  get maskRepeatX() {
    return this[S$.$getPropertyValue]("mask-repeat-x");
  }
  set maskRepeatX(value) {
    if (value == null) dart.nullFailed(I[147], 7580, 26, "value");
    this[S$.$setProperty]("mask-repeat-x", value, "");
  }
  get maskRepeatY() {
    return this[S$.$getPropertyValue]("mask-repeat-y");
  }
  set maskRepeatY(value) {
    if (value == null) dart.nullFailed(I[147], 7588, 26, "value");
    this[S$.$setProperty]("mask-repeat-y", value, "");
  }
  get maskSize() {
    return this[S$.$getPropertyValue]("mask-size");
  }
  set maskSize(value) {
    if (value == null) dart.nullFailed(I[147], 7596, 23, "value");
    this[S$.$setProperty]("mask-size", value, "");
  }
  get maskSourceType() {
    return this[S$.$getPropertyValue]("mask-source-type");
  }
  set maskSourceType(value) {
    if (value == null) dart.nullFailed(I[147], 7604, 29, "value");
    this[S$.$setProperty]("mask-source-type", value, "");
  }
  get maxHeight() {
    return this[S$.$getPropertyValue]("max-height");
  }
  set maxHeight(value) {
    if (value == null) dart.nullFailed(I[147], 7612, 24, "value");
    this[S$.$setProperty]("max-height", value, "");
  }
  get maxLogicalHeight() {
    return this[S$.$getPropertyValue]("max-logical-height");
  }
  set maxLogicalHeight(value) {
    if (value == null) dart.nullFailed(I[147], 7620, 31, "value");
    this[S$.$setProperty]("max-logical-height", value, "");
  }
  get maxLogicalWidth() {
    return this[S$.$getPropertyValue]("max-logical-width");
  }
  set maxLogicalWidth(value) {
    if (value == null) dart.nullFailed(I[147], 7628, 30, "value");
    this[S$.$setProperty]("max-logical-width", value, "");
  }
  get maxWidth() {
    return this[S$.$getPropertyValue]("max-width");
  }
  set maxWidth(value) {
    if (value == null) dart.nullFailed(I[147], 7636, 23, "value");
    this[S$.$setProperty]("max-width", value, "");
  }
  get maxZoom() {
    return this[S$.$getPropertyValue]("max-zoom");
  }
  set maxZoom(value) {
    if (value == null) dart.nullFailed(I[147], 7644, 22, "value");
    this[S$.$setProperty]("max-zoom", value, "");
  }
  get minHeight() {
    return this[S$.$getPropertyValue]("min-height");
  }
  set minHeight(value) {
    if (value == null) dart.nullFailed(I[147], 7652, 24, "value");
    this[S$.$setProperty]("min-height", value, "");
  }
  get minLogicalHeight() {
    return this[S$.$getPropertyValue]("min-logical-height");
  }
  set minLogicalHeight(value) {
    if (value == null) dart.nullFailed(I[147], 7660, 31, "value");
    this[S$.$setProperty]("min-logical-height", value, "");
  }
  get minLogicalWidth() {
    return this[S$.$getPropertyValue]("min-logical-width");
  }
  set minLogicalWidth(value) {
    if (value == null) dart.nullFailed(I[147], 7668, 30, "value");
    this[S$.$setProperty]("min-logical-width", value, "");
  }
  get minWidth() {
    return this[S$.$getPropertyValue]("min-width");
  }
  set minWidth(value) {
    if (value == null) dart.nullFailed(I[147], 7676, 23, "value");
    this[S$.$setProperty]("min-width", value, "");
  }
  get minZoom() {
    return this[S$.$getPropertyValue]("min-zoom");
  }
  set minZoom(value) {
    if (value == null) dart.nullFailed(I[147], 7684, 22, "value");
    this[S$.$setProperty]("min-zoom", value, "");
  }
  get mixBlendMode() {
    return this[S$.$getPropertyValue]("mix-blend-mode");
  }
  set mixBlendMode(value) {
    if (value == null) dart.nullFailed(I[147], 7692, 27, "value");
    this[S$.$setProperty]("mix-blend-mode", value, "");
  }
  get objectFit() {
    return this[S$.$getPropertyValue]("object-fit");
  }
  set objectFit(value) {
    if (value == null) dart.nullFailed(I[147], 7700, 24, "value");
    this[S$.$setProperty]("object-fit", value, "");
  }
  get objectPosition() {
    return this[S$.$getPropertyValue]("object-position");
  }
  set objectPosition(value) {
    if (value == null) dart.nullFailed(I[147], 7708, 29, "value");
    this[S$.$setProperty]("object-position", value, "");
  }
  get opacity() {
    return this[S$.$getPropertyValue]("opacity");
  }
  set opacity(value) {
    if (value == null) dart.nullFailed(I[147], 7716, 22, "value");
    this[S$.$setProperty]("opacity", value, "");
  }
  get order() {
    return this[S$.$getPropertyValue]("order");
  }
  set order(value) {
    if (value == null) dart.nullFailed(I[147], 7724, 20, "value");
    this[S$.$setProperty]("order", value, "");
  }
  get orientation() {
    return this[S$.$getPropertyValue]("orientation");
  }
  set orientation(value) {
    if (value == null) dart.nullFailed(I[147], 7732, 26, "value");
    this[S$.$setProperty]("orientation", value, "");
  }
  get orphans() {
    return this[S$.$getPropertyValue]("orphans");
  }
  set orphans(value) {
    if (value == null) dart.nullFailed(I[147], 7740, 22, "value");
    this[S$.$setProperty]("orphans", value, "");
  }
  get outline() {
    return this[S$.$getPropertyValue]("outline");
  }
  set outline(value) {
    if (value == null) dart.nullFailed(I[147], 7748, 22, "value");
    this[S$.$setProperty]("outline", value, "");
  }
  get outlineColor() {
    return this[S$.$getPropertyValue]("outline-color");
  }
  set outlineColor(value) {
    if (value == null) dart.nullFailed(I[147], 7756, 27, "value");
    this[S$.$setProperty]("outline-color", value, "");
  }
  get outlineOffset() {
    return this[S$.$getPropertyValue]("outline-offset");
  }
  set outlineOffset(value) {
    if (value == null) dart.nullFailed(I[147], 7764, 28, "value");
    this[S$.$setProperty]("outline-offset", value, "");
  }
  get outlineStyle() {
    return this[S$.$getPropertyValue]("outline-style");
  }
  set outlineStyle(value) {
    if (value == null) dart.nullFailed(I[147], 7772, 27, "value");
    this[S$.$setProperty]("outline-style", value, "");
  }
  get outlineWidth() {
    return this[S$.$getPropertyValue]("outline-width");
  }
  set outlineWidth(value) {
    if (value == null) dart.nullFailed(I[147], 7780, 27, "value");
    this[S$.$setProperty]("outline-width", value, "");
  }
  get overflow() {
    return this[S$.$getPropertyValue]("overflow");
  }
  set overflow(value) {
    if (value == null) dart.nullFailed(I[147], 7788, 23, "value");
    this[S$.$setProperty]("overflow", value, "");
  }
  get overflowWrap() {
    return this[S$.$getPropertyValue]("overflow-wrap");
  }
  set overflowWrap(value) {
    if (value == null) dart.nullFailed(I[147], 7796, 27, "value");
    this[S$.$setProperty]("overflow-wrap", value, "");
  }
  get overflowX() {
    return this[S$.$getPropertyValue]("overflow-x");
  }
  set overflowX(value) {
    if (value == null) dart.nullFailed(I[147], 7804, 24, "value");
    this[S$.$setProperty]("overflow-x", value, "");
  }
  get overflowY() {
    return this[S$.$getPropertyValue]("overflow-y");
  }
  set overflowY(value) {
    if (value == null) dart.nullFailed(I[147], 7812, 24, "value");
    this[S$.$setProperty]("overflow-y", value, "");
  }
  get padding() {
    return this[S$.$getPropertyValue]("padding");
  }
  set padding(value) {
    if (value == null) dart.nullFailed(I[147], 7820, 22, "value");
    this[S$.$setProperty]("padding", value, "");
  }
  get paddingAfter() {
    return this[S$.$getPropertyValue]("padding-after");
  }
  set paddingAfter(value) {
    if (value == null) dart.nullFailed(I[147], 7828, 27, "value");
    this[S$.$setProperty]("padding-after", value, "");
  }
  get paddingBefore() {
    return this[S$.$getPropertyValue]("padding-before");
  }
  set paddingBefore(value) {
    if (value == null) dart.nullFailed(I[147], 7836, 28, "value");
    this[S$.$setProperty]("padding-before", value, "");
  }
  get paddingBottom() {
    return this[S$.$getPropertyValue]("padding-bottom");
  }
  set paddingBottom(value) {
    if (value == null) dart.nullFailed(I[147], 7844, 28, "value");
    this[S$.$setProperty]("padding-bottom", value, "");
  }
  get paddingEnd() {
    return this[S$.$getPropertyValue]("padding-end");
  }
  set paddingEnd(value) {
    if (value == null) dart.nullFailed(I[147], 7852, 25, "value");
    this[S$.$setProperty]("padding-end", value, "");
  }
  get paddingLeft() {
    return this[S$.$getPropertyValue]("padding-left");
  }
  set paddingLeft(value) {
    if (value == null) dart.nullFailed(I[147], 7860, 26, "value");
    this[S$.$setProperty]("padding-left", value, "");
  }
  get paddingRight() {
    return this[S$.$getPropertyValue]("padding-right");
  }
  set paddingRight(value) {
    if (value == null) dart.nullFailed(I[147], 7868, 27, "value");
    this[S$.$setProperty]("padding-right", value, "");
  }
  get paddingStart() {
    return this[S$.$getPropertyValue]("padding-start");
  }
  set paddingStart(value) {
    if (value == null) dart.nullFailed(I[147], 7876, 27, "value");
    this[S$.$setProperty]("padding-start", value, "");
  }
  get paddingTop() {
    return this[S$.$getPropertyValue]("padding-top");
  }
  set paddingTop(value) {
    if (value == null) dart.nullFailed(I[147], 7884, 25, "value");
    this[S$.$setProperty]("padding-top", value, "");
  }
  get page() {
    return this[S$.$getPropertyValue]("page");
  }
  set page(value) {
    if (value == null) dart.nullFailed(I[147], 7892, 19, "value");
    this[S$.$setProperty]("page", value, "");
  }
  get pageBreakAfter() {
    return this[S$.$getPropertyValue]("page-break-after");
  }
  set pageBreakAfter(value) {
    if (value == null) dart.nullFailed(I[147], 7900, 29, "value");
    this[S$.$setProperty]("page-break-after", value, "");
  }
  get pageBreakBefore() {
    return this[S$.$getPropertyValue]("page-break-before");
  }
  set pageBreakBefore(value) {
    if (value == null) dart.nullFailed(I[147], 7908, 30, "value");
    this[S$.$setProperty]("page-break-before", value, "");
  }
  get pageBreakInside() {
    return this[S$.$getPropertyValue]("page-break-inside");
  }
  set pageBreakInside(value) {
    if (value == null) dart.nullFailed(I[147], 7916, 30, "value");
    this[S$.$setProperty]("page-break-inside", value, "");
  }
  get perspective() {
    return this[S$.$getPropertyValue]("perspective");
  }
  set perspective(value) {
    if (value == null) dart.nullFailed(I[147], 7924, 26, "value");
    this[S$.$setProperty]("perspective", value, "");
  }
  get perspectiveOrigin() {
    return this[S$.$getPropertyValue]("perspective-origin");
  }
  set perspectiveOrigin(value) {
    if (value == null) dart.nullFailed(I[147], 7932, 32, "value");
    this[S$.$setProperty]("perspective-origin", value, "");
  }
  get perspectiveOriginX() {
    return this[S$.$getPropertyValue]("perspective-origin-x");
  }
  set perspectiveOriginX(value) {
    if (value == null) dart.nullFailed(I[147], 7940, 33, "value");
    this[S$.$setProperty]("perspective-origin-x", value, "");
  }
  get perspectiveOriginY() {
    return this[S$.$getPropertyValue]("perspective-origin-y");
  }
  set perspectiveOriginY(value) {
    if (value == null) dart.nullFailed(I[147], 7948, 33, "value");
    this[S$.$setProperty]("perspective-origin-y", value, "");
  }
  get pointerEvents() {
    return this[S$.$getPropertyValue]("pointer-events");
  }
  set pointerEvents(value) {
    if (value == null) dart.nullFailed(I[147], 7956, 28, "value");
    this[S$.$setProperty]("pointer-events", value, "");
  }
  get position() {
    return this[S$.$getPropertyValue]("position");
  }
  set position(value) {
    if (value == null) dart.nullFailed(I[147], 7964, 23, "value");
    this[S$.$setProperty]("position", value, "");
  }
  get printColorAdjust() {
    return this[S$.$getPropertyValue]("print-color-adjust");
  }
  set printColorAdjust(value) {
    if (value == null) dart.nullFailed(I[147], 7972, 31, "value");
    this[S$.$setProperty]("print-color-adjust", value, "");
  }
  get quotes() {
    return this[S$.$getPropertyValue]("quotes");
  }
  set quotes(value) {
    if (value == null) dart.nullFailed(I[147], 7980, 21, "value");
    this[S$.$setProperty]("quotes", value, "");
  }
  get resize() {
    return this[S$.$getPropertyValue]("resize");
  }
  set resize(value) {
    if (value == null) dart.nullFailed(I[147], 7988, 21, "value");
    this[S$.$setProperty]("resize", value, "");
  }
  get right() {
    return this[S$.$getPropertyValue]("right");
  }
  set right(value) {
    if (value == null) dart.nullFailed(I[147], 7996, 20, "value");
    this[S$.$setProperty]("right", value, "");
  }
  get rtlOrdering() {
    return this[S$.$getPropertyValue]("rtl-ordering");
  }
  set rtlOrdering(value) {
    if (value == null) dart.nullFailed(I[147], 8004, 26, "value");
    this[S$.$setProperty]("rtl-ordering", value, "");
  }
  get rubyPosition() {
    return this[S$.$getPropertyValue]("ruby-position");
  }
  set rubyPosition(value) {
    if (value == null) dart.nullFailed(I[147], 8012, 27, "value");
    this[S$.$setProperty]("ruby-position", value, "");
  }
  get scrollBehavior() {
    return this[S$.$getPropertyValue]("scroll-behavior");
  }
  set scrollBehavior(value) {
    if (value == null) dart.nullFailed(I[147], 8020, 29, "value");
    this[S$.$setProperty]("scroll-behavior", value, "");
  }
  get shapeImageThreshold() {
    return this[S$.$getPropertyValue]("shape-image-threshold");
  }
  set shapeImageThreshold(value) {
    if (value == null) dart.nullFailed(I[147], 8028, 34, "value");
    this[S$.$setProperty]("shape-image-threshold", value, "");
  }
  get shapeMargin() {
    return this[S$.$getPropertyValue]("shape-margin");
  }
  set shapeMargin(value) {
    if (value == null) dart.nullFailed(I[147], 8036, 26, "value");
    this[S$.$setProperty]("shape-margin", value, "");
  }
  get shapeOutside() {
    return this[S$.$getPropertyValue]("shape-outside");
  }
  set shapeOutside(value) {
    if (value == null) dart.nullFailed(I[147], 8044, 27, "value");
    this[S$.$setProperty]("shape-outside", value, "");
  }
  get size() {
    return this[S$.$getPropertyValue]("size");
  }
  set size(value) {
    if (value == null) dart.nullFailed(I[147], 8052, 19, "value");
    this[S$.$setProperty]("size", value, "");
  }
  get speak() {
    return this[S$.$getPropertyValue]("speak");
  }
  set speak(value) {
    if (value == null) dart.nullFailed(I[147], 8060, 20, "value");
    this[S$.$setProperty]("speak", value, "");
  }
  get src() {
    return this[S$.$getPropertyValue]("src");
  }
  set src(value) {
    if (value == null) dart.nullFailed(I[147], 8068, 18, "value");
    this[S$.$setProperty]("src", value, "");
  }
  get tabSize() {
    return this[S$.$getPropertyValue]("tab-size");
  }
  set tabSize(value) {
    if (value == null) dart.nullFailed(I[147], 8076, 22, "value");
    this[S$.$setProperty]("tab-size", value, "");
  }
  get tableLayout() {
    return this[S$.$getPropertyValue]("table-layout");
  }
  set tableLayout(value) {
    if (value == null) dart.nullFailed(I[147], 8084, 26, "value");
    this[S$.$setProperty]("table-layout", value, "");
  }
  get tapHighlightColor() {
    return this[S$.$getPropertyValue]("tap-highlight-color");
  }
  set tapHighlightColor(value) {
    if (value == null) dart.nullFailed(I[147], 8092, 32, "value");
    this[S$.$setProperty]("tap-highlight-color", value, "");
  }
  get textAlign() {
    return this[S$.$getPropertyValue]("text-align");
  }
  set textAlign(value) {
    if (value == null) dart.nullFailed(I[147], 8100, 24, "value");
    this[S$.$setProperty]("text-align", value, "");
  }
  get textAlignLast() {
    return this[S$.$getPropertyValue]("text-align-last");
  }
  set textAlignLast(value) {
    if (value == null) dart.nullFailed(I[147], 8108, 28, "value");
    this[S$.$setProperty]("text-align-last", value, "");
  }
  get textCombine() {
    return this[S$.$getPropertyValue]("text-combine");
  }
  set textCombine(value) {
    if (value == null) dart.nullFailed(I[147], 8116, 26, "value");
    this[S$.$setProperty]("text-combine", value, "");
  }
  get textDecoration() {
    return this[S$.$getPropertyValue]("text-decoration");
  }
  set textDecoration(value) {
    if (value == null) dart.nullFailed(I[147], 8124, 29, "value");
    this[S$.$setProperty]("text-decoration", value, "");
  }
  get textDecorationColor() {
    return this[S$.$getPropertyValue]("text-decoration-color");
  }
  set textDecorationColor(value) {
    if (value == null) dart.nullFailed(I[147], 8132, 34, "value");
    this[S$.$setProperty]("text-decoration-color", value, "");
  }
  get textDecorationLine() {
    return this[S$.$getPropertyValue]("text-decoration-line");
  }
  set textDecorationLine(value) {
    if (value == null) dart.nullFailed(I[147], 8140, 33, "value");
    this[S$.$setProperty]("text-decoration-line", value, "");
  }
  get textDecorationStyle() {
    return this[S$.$getPropertyValue]("text-decoration-style");
  }
  set textDecorationStyle(value) {
    if (value == null) dart.nullFailed(I[147], 8148, 34, "value");
    this[S$.$setProperty]("text-decoration-style", value, "");
  }
  get textDecorationsInEffect() {
    return this[S$.$getPropertyValue]("text-decorations-in-effect");
  }
  set textDecorationsInEffect(value) {
    if (value == null) dart.nullFailed(I[147], 8157, 38, "value");
    this[S$.$setProperty]("text-decorations-in-effect", value, "");
  }
  get textEmphasis() {
    return this[S$.$getPropertyValue]("text-emphasis");
  }
  set textEmphasis(value) {
    if (value == null) dart.nullFailed(I[147], 8165, 27, "value");
    this[S$.$setProperty]("text-emphasis", value, "");
  }
  get textEmphasisColor() {
    return this[S$.$getPropertyValue]("text-emphasis-color");
  }
  set textEmphasisColor(value) {
    if (value == null) dart.nullFailed(I[147], 8173, 32, "value");
    this[S$.$setProperty]("text-emphasis-color", value, "");
  }
  get textEmphasisPosition() {
    return this[S$.$getPropertyValue]("text-emphasis-position");
  }
  set textEmphasisPosition(value) {
    if (value == null) dart.nullFailed(I[147], 8181, 35, "value");
    this[S$.$setProperty]("text-emphasis-position", value, "");
  }
  get textEmphasisStyle() {
    return this[S$.$getPropertyValue]("text-emphasis-style");
  }
  set textEmphasisStyle(value) {
    if (value == null) dart.nullFailed(I[147], 8189, 32, "value");
    this[S$.$setProperty]("text-emphasis-style", value, "");
  }
  get textFillColor() {
    return this[S$.$getPropertyValue]("text-fill-color");
  }
  set textFillColor(value) {
    if (value == null) dart.nullFailed(I[147], 8197, 28, "value");
    this[S$.$setProperty]("text-fill-color", value, "");
  }
  get textIndent() {
    return this[S$.$getPropertyValue]("text-indent");
  }
  set textIndent(value) {
    if (value == null) dart.nullFailed(I[147], 8205, 25, "value");
    this[S$.$setProperty]("text-indent", value, "");
  }
  get textJustify() {
    return this[S$.$getPropertyValue]("text-justify");
  }
  set textJustify(value) {
    if (value == null) dart.nullFailed(I[147], 8213, 26, "value");
    this[S$.$setProperty]("text-justify", value, "");
  }
  get textLineThroughColor() {
    return this[S$.$getPropertyValue]("text-line-through-color");
  }
  set textLineThroughColor(value) {
    if (value == null) dart.nullFailed(I[147], 8222, 35, "value");
    this[S$.$setProperty]("text-line-through-color", value, "");
  }
  get textLineThroughMode() {
    return this[S$.$getPropertyValue]("text-line-through-mode");
  }
  set textLineThroughMode(value) {
    if (value == null) dart.nullFailed(I[147], 8230, 34, "value");
    this[S$.$setProperty]("text-line-through-mode", value, "");
  }
  get textLineThroughStyle() {
    return this[S$.$getPropertyValue]("text-line-through-style");
  }
  set textLineThroughStyle(value) {
    if (value == null) dart.nullFailed(I[147], 8239, 35, "value");
    this[S$.$setProperty]("text-line-through-style", value, "");
  }
  get textLineThroughWidth() {
    return this[S$.$getPropertyValue]("text-line-through-width");
  }
  set textLineThroughWidth(value) {
    if (value == null) dart.nullFailed(I[147], 8248, 35, "value");
    this[S$.$setProperty]("text-line-through-width", value, "");
  }
  get textOrientation() {
    return this[S$.$getPropertyValue]("text-orientation");
  }
  set textOrientation(value) {
    if (value == null) dart.nullFailed(I[147], 8256, 30, "value");
    this[S$.$setProperty]("text-orientation", value, "");
  }
  get textOverflow() {
    return this[S$.$getPropertyValue]("text-overflow");
  }
  set textOverflow(value) {
    if (value == null) dart.nullFailed(I[147], 8264, 27, "value");
    this[S$.$setProperty]("text-overflow", value, "");
  }
  get textOverlineColor() {
    return this[S$.$getPropertyValue]("text-overline-color");
  }
  set textOverlineColor(value) {
    if (value == null) dart.nullFailed(I[147], 8272, 32, "value");
    this[S$.$setProperty]("text-overline-color", value, "");
  }
  get textOverlineMode() {
    return this[S$.$getPropertyValue]("text-overline-mode");
  }
  set textOverlineMode(value) {
    if (value == null) dart.nullFailed(I[147], 8280, 31, "value");
    this[S$.$setProperty]("text-overline-mode", value, "");
  }
  get textOverlineStyle() {
    return this[S$.$getPropertyValue]("text-overline-style");
  }
  set textOverlineStyle(value) {
    if (value == null) dart.nullFailed(I[147], 8288, 32, "value");
    this[S$.$setProperty]("text-overline-style", value, "");
  }
  get textOverlineWidth() {
    return this[S$.$getPropertyValue]("text-overline-width");
  }
  set textOverlineWidth(value) {
    if (value == null) dart.nullFailed(I[147], 8296, 32, "value");
    this[S$.$setProperty]("text-overline-width", value, "");
  }
  get textRendering() {
    return this[S$.$getPropertyValue]("text-rendering");
  }
  set textRendering(value) {
    if (value == null) dart.nullFailed(I[147], 8304, 28, "value");
    this[S$.$setProperty]("text-rendering", value, "");
  }
  get textSecurity() {
    return this[S$.$getPropertyValue]("text-security");
  }
  set textSecurity(value) {
    if (value == null) dart.nullFailed(I[147], 8312, 27, "value");
    this[S$.$setProperty]("text-security", value, "");
  }
  get textShadow() {
    return this[S$.$getPropertyValue]("text-shadow");
  }
  set textShadow(value) {
    if (value == null) dart.nullFailed(I[147], 8320, 25, "value");
    this[S$.$setProperty]("text-shadow", value, "");
  }
  get textStroke() {
    return this[S$.$getPropertyValue]("text-stroke");
  }
  set textStroke(value) {
    if (value == null) dart.nullFailed(I[147], 8328, 25, "value");
    this[S$.$setProperty]("text-stroke", value, "");
  }
  get textStrokeColor() {
    return this[S$.$getPropertyValue]("text-stroke-color");
  }
  set textStrokeColor(value) {
    if (value == null) dart.nullFailed(I[147], 8336, 30, "value");
    this[S$.$setProperty]("text-stroke-color", value, "");
  }
  get textStrokeWidth() {
    return this[S$.$getPropertyValue]("text-stroke-width");
  }
  set textStrokeWidth(value) {
    if (value == null) dart.nullFailed(I[147], 8344, 30, "value");
    this[S$.$setProperty]("text-stroke-width", value, "");
  }
  get textTransform() {
    return this[S$.$getPropertyValue]("text-transform");
  }
  set textTransform(value) {
    if (value == null) dart.nullFailed(I[147], 8352, 28, "value");
    this[S$.$setProperty]("text-transform", value, "");
  }
  get textUnderlineColor() {
    return this[S$.$getPropertyValue]("text-underline-color");
  }
  set textUnderlineColor(value) {
    if (value == null) dart.nullFailed(I[147], 8360, 33, "value");
    this[S$.$setProperty]("text-underline-color", value, "");
  }
  get textUnderlineMode() {
    return this[S$.$getPropertyValue]("text-underline-mode");
  }
  set textUnderlineMode(value) {
    if (value == null) dart.nullFailed(I[147], 8368, 32, "value");
    this[S$.$setProperty]("text-underline-mode", value, "");
  }
  get textUnderlinePosition() {
    return this[S$.$getPropertyValue]("text-underline-position");
  }
  set textUnderlinePosition(value) {
    if (value == null) dart.nullFailed(I[147], 8377, 36, "value");
    this[S$.$setProperty]("text-underline-position", value, "");
  }
  get textUnderlineStyle() {
    return this[S$.$getPropertyValue]("text-underline-style");
  }
  set textUnderlineStyle(value) {
    if (value == null) dart.nullFailed(I[147], 8385, 33, "value");
    this[S$.$setProperty]("text-underline-style", value, "");
  }
  get textUnderlineWidth() {
    return this[S$.$getPropertyValue]("text-underline-width");
  }
  set textUnderlineWidth(value) {
    if (value == null) dart.nullFailed(I[147], 8393, 33, "value");
    this[S$.$setProperty]("text-underline-width", value, "");
  }
  get top() {
    return this[S$.$getPropertyValue]("top");
  }
  set top(value) {
    if (value == null) dart.nullFailed(I[147], 8401, 18, "value");
    this[S$.$setProperty]("top", value, "");
  }
  get touchAction() {
    return this[S$.$getPropertyValue]("touch-action");
  }
  set touchAction(value) {
    if (value == null) dart.nullFailed(I[147], 8409, 26, "value");
    this[S$.$setProperty]("touch-action", value, "");
  }
  get touchActionDelay() {
    return this[S$.$getPropertyValue]("touch-action-delay");
  }
  set touchActionDelay(value) {
    if (value == null) dart.nullFailed(I[147], 8417, 31, "value");
    this[S$.$setProperty]("touch-action-delay", value, "");
  }
  get transform() {
    return this[S$.$getPropertyValue]("transform");
  }
  set transform(value) {
    if (value == null) dart.nullFailed(I[147], 8425, 24, "value");
    this[S$.$setProperty]("transform", value, "");
  }
  get transformOrigin() {
    return this[S$.$getPropertyValue]("transform-origin");
  }
  set transformOrigin(value) {
    if (value == null) dart.nullFailed(I[147], 8433, 30, "value");
    this[S$.$setProperty]("transform-origin", value, "");
  }
  get transformOriginX() {
    return this[S$.$getPropertyValue]("transform-origin-x");
  }
  set transformOriginX(value) {
    if (value == null) dart.nullFailed(I[147], 8441, 31, "value");
    this[S$.$setProperty]("transform-origin-x", value, "");
  }
  get transformOriginY() {
    return this[S$.$getPropertyValue]("transform-origin-y");
  }
  set transformOriginY(value) {
    if (value == null) dart.nullFailed(I[147], 8449, 31, "value");
    this[S$.$setProperty]("transform-origin-y", value, "");
  }
  get transformOriginZ() {
    return this[S$.$getPropertyValue]("transform-origin-z");
  }
  set transformOriginZ(value) {
    if (value == null) dart.nullFailed(I[147], 8457, 31, "value");
    this[S$.$setProperty]("transform-origin-z", value, "");
  }
  get transformStyle() {
    return this[S$.$getPropertyValue]("transform-style");
  }
  set transformStyle(value) {
    if (value == null) dart.nullFailed(I[147], 8465, 29, "value");
    this[S$.$setProperty]("transform-style", value, "");
  }
  get transition() {
    return this[S$.$getPropertyValue]("transition");
  }
  set transition(value) {
    if (value == null) dart.nullFailed(I[147], 8481, 25, "value");
    this[S$.$setProperty]("transition", value, "");
  }
  get transitionDelay() {
    return this[S$.$getPropertyValue]("transition-delay");
  }
  set transitionDelay(value) {
    if (value == null) dart.nullFailed(I[147], 8489, 30, "value");
    this[S$.$setProperty]("transition-delay", value, "");
  }
  get transitionDuration() {
    return this[S$.$getPropertyValue]("transition-duration");
  }
  set transitionDuration(value) {
    if (value == null) dart.nullFailed(I[147], 8497, 33, "value");
    this[S$.$setProperty]("transition-duration", value, "");
  }
  get transitionProperty() {
    return this[S$.$getPropertyValue]("transition-property");
  }
  set transitionProperty(value) {
    if (value == null) dart.nullFailed(I[147], 8505, 33, "value");
    this[S$.$setProperty]("transition-property", value, "");
  }
  get transitionTimingFunction() {
    return this[S$.$getPropertyValue]("transition-timing-function");
  }
  set transitionTimingFunction(value) {
    if (value == null) dart.nullFailed(I[147], 8514, 39, "value");
    this[S$.$setProperty]("transition-timing-function", value, "");
  }
  get unicodeBidi() {
    return this[S$.$getPropertyValue]("unicode-bidi");
  }
  set unicodeBidi(value) {
    if (value == null) dart.nullFailed(I[147], 8522, 26, "value");
    this[S$.$setProperty]("unicode-bidi", value, "");
  }
  get unicodeRange() {
    return this[S$.$getPropertyValue]("unicode-range");
  }
  set unicodeRange(value) {
    if (value == null) dart.nullFailed(I[147], 8530, 27, "value");
    this[S$.$setProperty]("unicode-range", value, "");
  }
  get userDrag() {
    return this[S$.$getPropertyValue]("user-drag");
  }
  set userDrag(value) {
    if (value == null) dart.nullFailed(I[147], 8538, 23, "value");
    this[S$.$setProperty]("user-drag", value, "");
  }
  get userModify() {
    return this[S$.$getPropertyValue]("user-modify");
  }
  set userModify(value) {
    if (value == null) dart.nullFailed(I[147], 8546, 25, "value");
    this[S$.$setProperty]("user-modify", value, "");
  }
  get userSelect() {
    return this[S$.$getPropertyValue]("user-select");
  }
  set userSelect(value) {
    if (value == null) dart.nullFailed(I[147], 8554, 25, "value");
    this[S$.$setProperty]("user-select", value, "");
  }
  get userZoom() {
    return this[S$.$getPropertyValue]("user-zoom");
  }
  set userZoom(value) {
    if (value == null) dart.nullFailed(I[147], 8562, 23, "value");
    this[S$.$setProperty]("user-zoom", value, "");
  }
  get verticalAlign() {
    return this[S$.$getPropertyValue]("vertical-align");
  }
  set verticalAlign(value) {
    if (value == null) dart.nullFailed(I[147], 8570, 28, "value");
    this[S$.$setProperty]("vertical-align", value, "");
  }
  get visibility() {
    return this[S$.$getPropertyValue]("visibility");
  }
  set visibility(value) {
    if (value == null) dart.nullFailed(I[147], 8578, 25, "value");
    this[S$.$setProperty]("visibility", value, "");
  }
  get whiteSpace() {
    return this[S$.$getPropertyValue]("white-space");
  }
  set whiteSpace(value) {
    if (value == null) dart.nullFailed(I[147], 8586, 25, "value");
    this[S$.$setProperty]("white-space", value, "");
  }
  get widows() {
    return this[S$.$getPropertyValue]("widows");
  }
  set widows(value) {
    if (value == null) dart.nullFailed(I[147], 8594, 21, "value");
    this[S$.$setProperty]("widows", value, "");
  }
  get width() {
    return this[S$.$getPropertyValue]("width");
  }
  set width(value) {
    if (value == null) dart.nullFailed(I[147], 8602, 20, "value");
    this[S$.$setProperty]("width", value, "");
  }
  get willChange() {
    return this[S$.$getPropertyValue]("will-change");
  }
  set willChange(value) {
    if (value == null) dart.nullFailed(I[147], 8610, 25, "value");
    this[S$.$setProperty]("will-change", value, "");
  }
  get wordBreak() {
    return this[S$.$getPropertyValue]("word-break");
  }
  set wordBreak(value) {
    if (value == null) dart.nullFailed(I[147], 8618, 24, "value");
    this[S$.$setProperty]("word-break", value, "");
  }
  get wordSpacing() {
    return this[S$.$getPropertyValue]("word-spacing");
  }
  set wordSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 8626, 26, "value");
    this[S$.$setProperty]("word-spacing", value, "");
  }
  get wordWrap() {
    return this[S$.$getPropertyValue]("word-wrap");
  }
  set wordWrap(value) {
    if (value == null) dart.nullFailed(I[147], 8634, 23, "value");
    this[S$.$setProperty]("word-wrap", value, "");
  }
  get wrapFlow() {
    return this[S$.$getPropertyValue]("wrap-flow");
  }
  set wrapFlow(value) {
    if (value == null) dart.nullFailed(I[147], 8642, 23, "value");
    this[S$.$setProperty]("wrap-flow", value, "");
  }
  get wrapThrough() {
    return this[S$.$getPropertyValue]("wrap-through");
  }
  set wrapThrough(value) {
    if (value == null) dart.nullFailed(I[147], 8650, 26, "value");
    this[S$.$setProperty]("wrap-through", value, "");
  }
  get writingMode() {
    return this[S$.$getPropertyValue]("writing-mode");
  }
  set writingMode(value) {
    if (value == null) dart.nullFailed(I[147], 8658, 26, "value");
    this[S$.$setProperty]("writing-mode", value, "");
  }
  get zIndex() {
    return this[S$.$getPropertyValue]("z-index");
  }
  set zIndex(value) {
    if (value == null) dart.nullFailed(I[147], 8666, 21, "value");
    this[S$.$setProperty]("z-index", value, "");
  }
  get zoom() {
    return this[S$.$getPropertyValue]("zoom");
  }
  set zoom(value) {
    if (value == null) dart.nullFailed(I[147], 8674, 19, "value");
    this[S$.$setProperty]("zoom", value, "");
  }
};
(html$.CssStyleDeclarationBase.new = function() {
  ;
}).prototype = html$.CssStyleDeclarationBase.prototype;
dart.addTypeTests(html$.CssStyleDeclarationBase);
dart.addTypeCaches(html$.CssStyleDeclarationBase);
dart.setGetterSignature(html$.CssStyleDeclarationBase, () => ({
  __proto__: dart.getGetters(html$.CssStyleDeclarationBase.__proto__),
  alignContent: core.String,
  [S$0.$alignContent]: core.String,
  alignItems: core.String,
  [S$0.$alignItems]: core.String,
  alignSelf: core.String,
  [S$0.$alignSelf]: core.String,
  animation: core.String,
  [S$0.$animation]: core.String,
  animationDelay: core.String,
  [S$0.$animationDelay]: core.String,
  animationDirection: core.String,
  [S$0.$animationDirection]: core.String,
  animationDuration: core.String,
  [S$0.$animationDuration]: core.String,
  animationFillMode: core.String,
  [S$0.$animationFillMode]: core.String,
  animationIterationCount: core.String,
  [S$0.$animationIterationCount]: core.String,
  animationName: core.String,
  [S$.$animationName]: core.String,
  animationPlayState: core.String,
  [S$0.$animationPlayState]: core.String,
  animationTimingFunction: core.String,
  [S$0.$animationTimingFunction]: core.String,
  appRegion: core.String,
  [S$0.$appRegion]: core.String,
  appearance: core.String,
  [S$0.$appearance]: core.String,
  aspectRatio: core.String,
  [S$0.$aspectRatio]: core.String,
  backfaceVisibility: core.String,
  [S$0.$backfaceVisibility]: core.String,
  background: core.String,
  [S$.$background]: core.String,
  backgroundAttachment: core.String,
  [S$.$backgroundAttachment]: core.String,
  backgroundBlendMode: core.String,
  [S$0.$backgroundBlendMode]: core.String,
  backgroundClip: core.String,
  [S$0.$backgroundClip]: core.String,
  backgroundColor: core.String,
  [S$.$backgroundColor]: core.String,
  backgroundComposite: core.String,
  [S$0.$backgroundComposite]: core.String,
  backgroundImage: core.String,
  [S$.$backgroundImage]: core.String,
  backgroundOrigin: core.String,
  [S$0.$backgroundOrigin]: core.String,
  backgroundPosition: core.String,
  [S$.$backgroundPosition]: core.String,
  backgroundPositionX: core.String,
  [S$0.$backgroundPositionX]: core.String,
  backgroundPositionY: core.String,
  [S$0.$backgroundPositionY]: core.String,
  backgroundRepeat: core.String,
  [S$.$backgroundRepeat]: core.String,
  backgroundRepeatX: core.String,
  [S$0.$backgroundRepeatX]: core.String,
  backgroundRepeatY: core.String,
  [S$0.$backgroundRepeatY]: core.String,
  backgroundSize: core.String,
  [S$0.$backgroundSize]: core.String,
  border: core.String,
  [S$.$border]: core.String,
  borderAfter: core.String,
  [S$0.$borderAfter]: core.String,
  borderAfterColor: core.String,
  [S$0.$borderAfterColor]: core.String,
  borderAfterStyle: core.String,
  [S$0.$borderAfterStyle]: core.String,
  borderAfterWidth: core.String,
  [S$0.$borderAfterWidth]: core.String,
  borderBefore: core.String,
  [S$0.$borderBefore]: core.String,
  borderBeforeColor: core.String,
  [S$0.$borderBeforeColor]: core.String,
  borderBeforeStyle: core.String,
  [S$0.$borderBeforeStyle]: core.String,
  borderBeforeWidth: core.String,
  [S$0.$borderBeforeWidth]: core.String,
  borderBottom: core.String,
  [S$.$borderBottom]: core.String,
  borderBottomColor: core.String,
  [S$.$borderBottomColor]: core.String,
  borderBottomLeftRadius: core.String,
  [S$0.$borderBottomLeftRadius]: core.String,
  borderBottomRightRadius: core.String,
  [S$0.$borderBottomRightRadius]: core.String,
  borderBottomStyle: core.String,
  [S$.$borderBottomStyle]: core.String,
  borderBottomWidth: core.String,
  [S$.$borderBottomWidth]: core.String,
  borderCollapse: core.String,
  [S$.$borderCollapse]: core.String,
  borderColor: core.String,
  [S$.$borderColor]: core.String,
  borderEnd: core.String,
  [S$0.$borderEnd]: core.String,
  borderEndColor: core.String,
  [S$0.$borderEndColor]: core.String,
  borderEndStyle: core.String,
  [S$0.$borderEndStyle]: core.String,
  borderEndWidth: core.String,
  [S$0.$borderEndWidth]: core.String,
  borderFit: core.String,
  [S$0.$borderFit]: core.String,
  borderHorizontalSpacing: core.String,
  [S$0.$borderHorizontalSpacing]: core.String,
  borderImage: core.String,
  [S$0.$borderImage]: core.String,
  borderImageOutset: core.String,
  [S$0.$borderImageOutset]: core.String,
  borderImageRepeat: core.String,
  [S$0.$borderImageRepeat]: core.String,
  borderImageSlice: core.String,
  [S$0.$borderImageSlice]: core.String,
  borderImageSource: core.String,
  [S$0.$borderImageSource]: core.String,
  borderImageWidth: core.String,
  [S$0.$borderImageWidth]: core.String,
  borderLeft: core.String,
  [S$.$borderLeft]: core.String,
  borderLeftColor: core.String,
  [S$.$borderLeftColor]: core.String,
  borderLeftStyle: core.String,
  [S$.$borderLeftStyle]: core.String,
  borderLeftWidth: core.String,
  [S$.$borderLeftWidth]: core.String,
  borderRadius: core.String,
  [S$0.$borderRadius]: core.String,
  borderRight: core.String,
  [S$.$borderRight]: core.String,
  borderRightColor: core.String,
  [S$.$borderRightColor]: core.String,
  borderRightStyle: core.String,
  [S$0.$borderRightStyle]: core.String,
  borderRightWidth: core.String,
  [S$0.$borderRightWidth]: core.String,
  borderSpacing: core.String,
  [S$0.$borderSpacing]: core.String,
  borderStart: core.String,
  [S$0.$borderStart]: core.String,
  borderStartColor: core.String,
  [S$0.$borderStartColor]: core.String,
  borderStartStyle: core.String,
  [S$0.$borderStartStyle]: core.String,
  borderStartWidth: core.String,
  [S$0.$borderStartWidth]: core.String,
  borderStyle: core.String,
  [S$0.$borderStyle]: core.String,
  borderTop: core.String,
  [S$0.$borderTop]: core.String,
  borderTopColor: core.String,
  [S$0.$borderTopColor]: core.String,
  borderTopLeftRadius: core.String,
  [S$0.$borderTopLeftRadius]: core.String,
  borderTopRightRadius: core.String,
  [S$0.$borderTopRightRadius]: core.String,
  borderTopStyle: core.String,
  [S$0.$borderTopStyle]: core.String,
  borderTopWidth: core.String,
  [S$0.$borderTopWidth]: core.String,
  borderVerticalSpacing: core.String,
  [S$0.$borderVerticalSpacing]: core.String,
  borderWidth: core.String,
  [S$0.$borderWidth]: core.String,
  bottom: core.String,
  [$bottom]: core.String,
  boxAlign: core.String,
  [S$0.$boxAlign]: core.String,
  boxDecorationBreak: core.String,
  [S$0.$boxDecorationBreak]: core.String,
  boxDirection: core.String,
  [S$0.$boxDirection]: core.String,
  boxFlex: core.String,
  [S$0.$boxFlex]: core.String,
  boxFlexGroup: core.String,
  [S$0.$boxFlexGroup]: core.String,
  boxLines: core.String,
  [S$0.$boxLines]: core.String,
  boxOrdinalGroup: core.String,
  [S$0.$boxOrdinalGroup]: core.String,
  boxOrient: core.String,
  [S$0.$boxOrient]: core.String,
  boxPack: core.String,
  [S$0.$boxPack]: core.String,
  boxReflect: core.String,
  [S$0.$boxReflect]: core.String,
  boxShadow: core.String,
  [S$0.$boxShadow]: core.String,
  boxSizing: core.String,
  [S$0.$boxSizing]: core.String,
  captionSide: core.String,
  [S$0.$captionSide]: core.String,
  clear: core.String,
  [$clear]: core.String,
  clip: core.String,
  [S$.$clip]: core.String,
  clipPath: core.String,
  [S$0.$clipPath]: core.String,
  color: core.String,
  [S$0.$color]: core.String,
  columnBreakAfter: core.String,
  [S$0.$columnBreakAfter]: core.String,
  columnBreakBefore: core.String,
  [S$0.$columnBreakBefore]: core.String,
  columnBreakInside: core.String,
  [S$0.$columnBreakInside]: core.String,
  columnCount: core.String,
  [S$0.$columnCount]: core.String,
  columnFill: core.String,
  [S$0.$columnFill]: core.String,
  columnGap: core.String,
  [S$0.$columnGap]: core.String,
  columnRule: core.String,
  [S$0.$columnRule]: core.String,
  columnRuleColor: core.String,
  [S$0.$columnRuleColor]: core.String,
  columnRuleStyle: core.String,
  [S$0.$columnRuleStyle]: core.String,
  columnRuleWidth: core.String,
  [S$0.$columnRuleWidth]: core.String,
  columnSpan: core.String,
  [S$0.$columnSpan]: core.String,
  columnWidth: core.String,
  [S$0.$columnWidth]: core.String,
  columns: core.String,
  [S$0.$columns]: core.String,
  content: core.String,
  [S$0.$content]: core.String,
  counterIncrement: core.String,
  [S$0.$counterIncrement]: core.String,
  counterReset: core.String,
  [S$0.$counterReset]: core.String,
  cursor: core.String,
  [S$0.$cursor]: core.String,
  direction: core.String,
  [S.$direction]: core.String,
  display: core.String,
  [S$0.$display]: core.String,
  emptyCells: core.String,
  [S$0.$emptyCells]: core.String,
  filter: core.String,
  [S$.$filter]: core.String,
  flex: core.String,
  [S$0.$flex]: core.String,
  flexBasis: core.String,
  [S$0.$flexBasis]: core.String,
  flexDirection: core.String,
  [S$0.$flexDirection]: core.String,
  flexFlow: core.String,
  [S$0.$flexFlow]: core.String,
  flexGrow: core.String,
  [S$0.$flexGrow]: core.String,
  flexShrink: core.String,
  [S$0.$flexShrink]: core.String,
  flexWrap: core.String,
  [S$0.$flexWrap]: core.String,
  float: core.String,
  [S$0.$float]: core.String,
  font: core.String,
  [S$.$font]: core.String,
  fontFamily: core.String,
  [S$0.$fontFamily]: core.String,
  fontFeatureSettings: core.String,
  [S$0.$fontFeatureSettings]: core.String,
  fontKerning: core.String,
  [S$0.$fontKerning]: core.String,
  fontSize: core.String,
  [S$0.$fontSize]: core.String,
  fontSizeDelta: core.String,
  [S$0.$fontSizeDelta]: core.String,
  fontSmoothing: core.String,
  [S$0.$fontSmoothing]: core.String,
  fontStretch: core.String,
  [S$0.$fontStretch]: core.String,
  fontStyle: core.String,
  [S$0.$fontStyle]: core.String,
  fontVariant: core.String,
  [S$0.$fontVariant]: core.String,
  fontVariantLigatures: core.String,
  [S$0.$fontVariantLigatures]: core.String,
  fontWeight: core.String,
  [S$0.$fontWeight]: core.String,
  grid: core.String,
  [S$0.$grid]: core.String,
  gridArea: core.String,
  [S$0.$gridArea]: core.String,
  gridAutoColumns: core.String,
  [S$0.$gridAutoColumns]: core.String,
  gridAutoFlow: core.String,
  [S$0.$gridAutoFlow]: core.String,
  gridAutoRows: core.String,
  [S$0.$gridAutoRows]: core.String,
  gridColumn: core.String,
  [S$0.$gridColumn]: core.String,
  gridColumnEnd: core.String,
  [S$0.$gridColumnEnd]: core.String,
  gridColumnStart: core.String,
  [S$0.$gridColumnStart]: core.String,
  gridRow: core.String,
  [S$0.$gridRow]: core.String,
  gridRowEnd: core.String,
  [S$0.$gridRowEnd]: core.String,
  gridRowStart: core.String,
  [S$0.$gridRowStart]: core.String,
  gridTemplate: core.String,
  [S$0.$gridTemplate]: core.String,
  gridTemplateAreas: core.String,
  [S$0.$gridTemplateAreas]: core.String,
  gridTemplateColumns: core.String,
  [S$0.$gridTemplateColumns]: core.String,
  gridTemplateRows: core.String,
  [S$0.$gridTemplateRows]: core.String,
  height: core.String,
  [$height]: core.String,
  highlight: core.String,
  [S$0.$highlight]: core.String,
  hyphenateCharacter: core.String,
  [S$0.$hyphenateCharacter]: core.String,
  imageRendering: core.String,
  [S$0.$imageRendering]: core.String,
  isolation: core.String,
  [S$0.$isolation]: core.String,
  justifyContent: core.String,
  [S$0.$justifyContent]: core.String,
  justifySelf: core.String,
  [S$0.$justifySelf]: core.String,
  left: core.String,
  [$left]: core.String,
  letterSpacing: core.String,
  [S$0.$letterSpacing]: core.String,
  lineBoxContain: core.String,
  [S$0.$lineBoxContain]: core.String,
  lineBreak: core.String,
  [S$0.$lineBreak]: core.String,
  lineClamp: core.String,
  [S$0.$lineClamp]: core.String,
  lineHeight: core.String,
  [S$0.$lineHeight]: core.String,
  listStyle: core.String,
  [S$0.$listStyle]: core.String,
  listStyleImage: core.String,
  [S$0.$listStyleImage]: core.String,
  listStylePosition: core.String,
  [S$0.$listStylePosition]: core.String,
  listStyleType: core.String,
  [S$0.$listStyleType]: core.String,
  locale: core.String,
  [S$0.$locale]: core.String,
  logicalHeight: core.String,
  [S$0.$logicalHeight]: core.String,
  logicalWidth: core.String,
  [S$0.$logicalWidth]: core.String,
  margin: core.String,
  [S$0.$margin]: core.String,
  marginAfter: core.String,
  [S$0.$marginAfter]: core.String,
  marginAfterCollapse: core.String,
  [S$0.$marginAfterCollapse]: core.String,
  marginBefore: core.String,
  [S$0.$marginBefore]: core.String,
  marginBeforeCollapse: core.String,
  [S$0.$marginBeforeCollapse]: core.String,
  marginBottom: core.String,
  [S$0.$marginBottom]: core.String,
  marginBottomCollapse: core.String,
  [S$0.$marginBottomCollapse]: core.String,
  marginCollapse: core.String,
  [S$0.$marginCollapse]: core.String,
  marginEnd: core.String,
  [S$0.$marginEnd]: core.String,
  marginLeft: core.String,
  [S$0.$marginLeft]: core.String,
  marginRight: core.String,
  [S$0.$marginRight]: core.String,
  marginStart: core.String,
  [S$0.$marginStart]: core.String,
  marginTop: core.String,
  [S$0.$marginTop]: core.String,
  marginTopCollapse: core.String,
  [S$0.$marginTopCollapse]: core.String,
  mask: core.String,
  [S$0.$mask]: core.String,
  maskBoxImage: core.String,
  [S$0.$maskBoxImage]: core.String,
  maskBoxImageOutset: core.String,
  [S$0.$maskBoxImageOutset]: core.String,
  maskBoxImageRepeat: core.String,
  [S$0.$maskBoxImageRepeat]: core.String,
  maskBoxImageSlice: core.String,
  [S$0.$maskBoxImageSlice]: core.String,
  maskBoxImageSource: core.String,
  [S$0.$maskBoxImageSource]: core.String,
  maskBoxImageWidth: core.String,
  [S$0.$maskBoxImageWidth]: core.String,
  maskClip: core.String,
  [S$0.$maskClip]: core.String,
  maskComposite: core.String,
  [S$0.$maskComposite]: core.String,
  maskImage: core.String,
  [S$0.$maskImage]: core.String,
  maskOrigin: core.String,
  [S$0.$maskOrigin]: core.String,
  maskPosition: core.String,
  [S$0.$maskPosition]: core.String,
  maskPositionX: core.String,
  [S$0.$maskPositionX]: core.String,
  maskPositionY: core.String,
  [S$0.$maskPositionY]: core.String,
  maskRepeat: core.String,
  [S$0.$maskRepeat]: core.String,
  maskRepeatX: core.String,
  [S$0.$maskRepeatX]: core.String,
  maskRepeatY: core.String,
  [S$0.$maskRepeatY]: core.String,
  maskSize: core.String,
  [S$0.$maskSize]: core.String,
  maskSourceType: core.String,
  [S$0.$maskSourceType]: core.String,
  maxHeight: core.String,
  [S$0.$maxHeight]: core.String,
  maxLogicalHeight: core.String,
  [S$0.$maxLogicalHeight]: core.String,
  maxLogicalWidth: core.String,
  [S$0.$maxLogicalWidth]: core.String,
  maxWidth: core.String,
  [S$0.$maxWidth]: core.String,
  maxZoom: core.String,
  [S$0.$maxZoom]: core.String,
  minHeight: core.String,
  [S$0.$minHeight]: core.String,
  minLogicalHeight: core.String,
  [S$0.$minLogicalHeight]: core.String,
  minLogicalWidth: core.String,
  [S$0.$minLogicalWidth]: core.String,
  minWidth: core.String,
  [S$0.$minWidth]: core.String,
  minZoom: core.String,
  [S$0.$minZoom]: core.String,
  mixBlendMode: core.String,
  [S$0.$mixBlendMode]: core.String,
  objectFit: core.String,
  [S$0.$objectFit]: core.String,
  objectPosition: core.String,
  [S$0.$objectPosition]: core.String,
  opacity: core.String,
  [S$0.$opacity]: core.String,
  order: core.String,
  [S$0.$order]: core.String,
  orientation: core.String,
  [S$.$orientation]: core.String,
  orphans: core.String,
  [S$0.$orphans]: core.String,
  outline: core.String,
  [S$0.$outline]: core.String,
  outlineColor: core.String,
  [S$0.$outlineColor]: core.String,
  outlineOffset: core.String,
  [S$0.$outlineOffset]: core.String,
  outlineStyle: core.String,
  [S$0.$outlineStyle]: core.String,
  outlineWidth: core.String,
  [S$0.$outlineWidth]: core.String,
  overflow: core.String,
  [S$0.$overflow]: core.String,
  overflowWrap: core.String,
  [S$0.$overflowWrap]: core.String,
  overflowX: core.String,
  [S$0.$overflowX]: core.String,
  overflowY: core.String,
  [S$0.$overflowY]: core.String,
  padding: core.String,
  [S$0.$padding]: core.String,
  paddingAfter: core.String,
  [S$0.$paddingAfter]: core.String,
  paddingBefore: core.String,
  [S$0.$paddingBefore]: core.String,
  paddingBottom: core.String,
  [S$0.$paddingBottom]: core.String,
  paddingEnd: core.String,
  [S$0.$paddingEnd]: core.String,
  paddingLeft: core.String,
  [S$0.$paddingLeft]: core.String,
  paddingRight: core.String,
  [S$0.$paddingRight]: core.String,
  paddingStart: core.String,
  [S$0.$paddingStart]: core.String,
  paddingTop: core.String,
  [S$0.$paddingTop]: core.String,
  page: core.String,
  [S$0.$page]: core.String,
  pageBreakAfter: core.String,
  [S$0.$pageBreakAfter]: core.String,
  pageBreakBefore: core.String,
  [S$0.$pageBreakBefore]: core.String,
  pageBreakInside: core.String,
  [S$0.$pageBreakInside]: core.String,
  perspective: core.String,
  [S$0.$perspective]: core.String,
  perspectiveOrigin: core.String,
  [S$0.$perspectiveOrigin]: core.String,
  perspectiveOriginX: core.String,
  [S$0.$perspectiveOriginX]: core.String,
  perspectiveOriginY: core.String,
  [S$0.$perspectiveOriginY]: core.String,
  pointerEvents: core.String,
  [S$0.$pointerEvents]: core.String,
  position: core.String,
  [S$0.$position]: core.String,
  printColorAdjust: core.String,
  [S$0.$printColorAdjust]: core.String,
  quotes: core.String,
  [S$0.$quotes]: core.String,
  resize: core.String,
  [S$0.$resize]: core.String,
  right: core.String,
  [$right]: core.String,
  rtlOrdering: core.String,
  [S$0.$rtlOrdering]: core.String,
  rubyPosition: core.String,
  [S$0.$rubyPosition]: core.String,
  scrollBehavior: core.String,
  [S$0.$scrollBehavior]: core.String,
  shapeImageThreshold: core.String,
  [S$0.$shapeImageThreshold]: core.String,
  shapeMargin: core.String,
  [S$0.$shapeMargin]: core.String,
  shapeOutside: core.String,
  [S$0.$shapeOutside]: core.String,
  size: core.String,
  [S$.$size]: core.String,
  speak: core.String,
  [S$0.$speak]: core.String,
  src: core.String,
  [S$.$src]: core.String,
  tabSize: core.String,
  [S$0.$tabSize]: core.String,
  tableLayout: core.String,
  [S$0.$tableLayout]: core.String,
  tapHighlightColor: core.String,
  [S$0.$tapHighlightColor]: core.String,
  textAlign: core.String,
  [S$.$textAlign]: core.String,
  textAlignLast: core.String,
  [S$0.$textAlignLast]: core.String,
  textCombine: core.String,
  [S$0.$textCombine]: core.String,
  textDecoration: core.String,
  [S$0.$textDecoration]: core.String,
  textDecorationColor: core.String,
  [S$0.$textDecorationColor]: core.String,
  textDecorationLine: core.String,
  [S$0.$textDecorationLine]: core.String,
  textDecorationStyle: core.String,
  [S$0.$textDecorationStyle]: core.String,
  textDecorationsInEffect: core.String,
  [S$0.$textDecorationsInEffect]: core.String,
  textEmphasis: core.String,
  [S$0.$textEmphasis]: core.String,
  textEmphasisColor: core.String,
  [S$0.$textEmphasisColor]: core.String,
  textEmphasisPosition: core.String,
  [S$0.$textEmphasisPosition]: core.String,
  textEmphasisStyle: core.String,
  [S$0.$textEmphasisStyle]: core.String,
  textFillColor: core.String,
  [S$0.$textFillColor]: core.String,
  textIndent: core.String,
  [S$0.$textIndent]: core.String,
  textJustify: core.String,
  [S$0.$textJustify]: core.String,
  textLineThroughColor: core.String,
  [S$0.$textLineThroughColor]: core.String,
  textLineThroughMode: core.String,
  [S$0.$textLineThroughMode]: core.String,
  textLineThroughStyle: core.String,
  [S$0.$textLineThroughStyle]: core.String,
  textLineThroughWidth: core.String,
  [S$0.$textLineThroughWidth]: core.String,
  textOrientation: core.String,
  [S$0.$textOrientation]: core.String,
  textOverflow: core.String,
  [S$0.$textOverflow]: core.String,
  textOverlineColor: core.String,
  [S$0.$textOverlineColor]: core.String,
  textOverlineMode: core.String,
  [S$0.$textOverlineMode]: core.String,
  textOverlineStyle: core.String,
  [S$0.$textOverlineStyle]: core.String,
  textOverlineWidth: core.String,
  [S$0.$textOverlineWidth]: core.String,
  textRendering: core.String,
  [S$0.$textRendering]: core.String,
  textSecurity: core.String,
  [S$0.$textSecurity]: core.String,
  textShadow: core.String,
  [S$0.$textShadow]: core.String,
  textStroke: core.String,
  [S$0.$textStroke]: core.String,
  textStrokeColor: core.String,
  [S$0.$textStrokeColor]: core.String,
  textStrokeWidth: core.String,
  [S$0.$textStrokeWidth]: core.String,
  textTransform: core.String,
  [S$0.$textTransform]: core.String,
  textUnderlineColor: core.String,
  [S$0.$textUnderlineColor]: core.String,
  textUnderlineMode: core.String,
  [S$0.$textUnderlineMode]: core.String,
  textUnderlinePosition: core.String,
  [S$0.$textUnderlinePosition]: core.String,
  textUnderlineStyle: core.String,
  [S$0.$textUnderlineStyle]: core.String,
  textUnderlineWidth: core.String,
  [S$0.$textUnderlineWidth]: core.String,
  top: core.String,
  [$top]: core.String,
  touchAction: core.String,
  [S$0.$touchAction]: core.String,
  touchActionDelay: core.String,
  [S$0.$touchActionDelay]: core.String,
  transform: core.String,
  [S$.$transform]: core.String,
  transformOrigin: core.String,
  [S$0.$transformOrigin]: core.String,
  transformOriginX: core.String,
  [S$0.$transformOriginX]: core.String,
  transformOriginY: core.String,
  [S$0.$transformOriginY]: core.String,
  transformOriginZ: core.String,
  [S$0.$transformOriginZ]: core.String,
  transformStyle: core.String,
  [S$0.$transformStyle]: core.String,
  transition: core.String,
  [S$0.$transition]: core.String,
  transitionDelay: core.String,
  [S$0.$transitionDelay]: core.String,
  transitionDuration: core.String,
  [S$0.$transitionDuration]: core.String,
  transitionProperty: core.String,
  [S$0.$transitionProperty]: core.String,
  transitionTimingFunction: core.String,
  [S$0.$transitionTimingFunction]: core.String,
  unicodeBidi: core.String,
  [S$0.$unicodeBidi]: core.String,
  unicodeRange: core.String,
  [S$0.$unicodeRange]: core.String,
  userDrag: core.String,
  [S$0.$userDrag]: core.String,
  userModify: core.String,
  [S$0.$userModify]: core.String,
  userSelect: core.String,
  [S$0.$userSelect]: core.String,
  userZoom: core.String,
  [S$0.$userZoom]: core.String,
  verticalAlign: core.String,
  [S$0.$verticalAlign]: core.String,
  visibility: core.String,
  [S$0.$visibility]: core.String,
  whiteSpace: core.String,
  [S$0.$whiteSpace]: core.String,
  widows: core.String,
  [S$0.$widows]: core.String,
  width: core.String,
  [$width]: core.String,
  willChange: core.String,
  [S$0.$willChange]: core.String,
  wordBreak: core.String,
  [S$0.$wordBreak]: core.String,
  wordSpacing: core.String,
  [S$0.$wordSpacing]: core.String,
  wordWrap: core.String,
  [S$0.$wordWrap]: core.String,
  wrapFlow: core.String,
  [S$0.$wrapFlow]: core.String,
  wrapThrough: core.String,
  [S$0.$wrapThrough]: core.String,
  writingMode: core.String,
  [S$0.$writingMode]: core.String,
  zIndex: core.String,
  [S$0.$zIndex]: core.String,
  zoom: core.String,
  [S$0.$zoom]: core.String
}));
dart.setSetterSignature(html$.CssStyleDeclarationBase, () => ({
  __proto__: dart.getSetters(html$.CssStyleDeclarationBase.__proto__),
  alignContent: core.String,
  [S$0.$alignContent]: core.String,
  alignItems: core.String,
  [S$0.$alignItems]: core.String,
  alignSelf: core.String,
  [S$0.$alignSelf]: core.String,
  animation: core.String,
  [S$0.$animation]: core.String,
  animationDelay: core.String,
  [S$0.$animationDelay]: core.String,
  animationDirection: core.String,
  [S$0.$animationDirection]: core.String,
  animationDuration: core.String,
  [S$0.$animationDuration]: core.String,
  animationFillMode: core.String,
  [S$0.$animationFillMode]: core.String,
  animationIterationCount: core.String,
  [S$0.$animationIterationCount]: core.String,
  animationName: core.String,
  [S$.$animationName]: core.String,
  animationPlayState: core.String,
  [S$0.$animationPlayState]: core.String,
  animationTimingFunction: core.String,
  [S$0.$animationTimingFunction]: core.String,
  appRegion: core.String,
  [S$0.$appRegion]: core.String,
  appearance: core.String,
  [S$0.$appearance]: core.String,
  aspectRatio: core.String,
  [S$0.$aspectRatio]: core.String,
  backfaceVisibility: core.String,
  [S$0.$backfaceVisibility]: core.String,
  background: core.String,
  [S$.$background]: core.String,
  backgroundAttachment: core.String,
  [S$.$backgroundAttachment]: core.String,
  backgroundBlendMode: core.String,
  [S$0.$backgroundBlendMode]: core.String,
  backgroundClip: core.String,
  [S$0.$backgroundClip]: core.String,
  backgroundColor: core.String,
  [S$.$backgroundColor]: core.String,
  backgroundComposite: core.String,
  [S$0.$backgroundComposite]: core.String,
  backgroundImage: core.String,
  [S$.$backgroundImage]: core.String,
  backgroundOrigin: core.String,
  [S$0.$backgroundOrigin]: core.String,
  backgroundPosition: core.String,
  [S$.$backgroundPosition]: core.String,
  backgroundPositionX: core.String,
  [S$0.$backgroundPositionX]: core.String,
  backgroundPositionY: core.String,
  [S$0.$backgroundPositionY]: core.String,
  backgroundRepeat: core.String,
  [S$.$backgroundRepeat]: core.String,
  backgroundRepeatX: core.String,
  [S$0.$backgroundRepeatX]: core.String,
  backgroundRepeatY: core.String,
  [S$0.$backgroundRepeatY]: core.String,
  backgroundSize: core.String,
  [S$0.$backgroundSize]: core.String,
  border: core.String,
  [S$.$border]: core.String,
  borderAfter: core.String,
  [S$0.$borderAfter]: core.String,
  borderAfterColor: core.String,
  [S$0.$borderAfterColor]: core.String,
  borderAfterStyle: core.String,
  [S$0.$borderAfterStyle]: core.String,
  borderAfterWidth: core.String,
  [S$0.$borderAfterWidth]: core.String,
  borderBefore: core.String,
  [S$0.$borderBefore]: core.String,
  borderBeforeColor: core.String,
  [S$0.$borderBeforeColor]: core.String,
  borderBeforeStyle: core.String,
  [S$0.$borderBeforeStyle]: core.String,
  borderBeforeWidth: core.String,
  [S$0.$borderBeforeWidth]: core.String,
  borderBottom: core.String,
  [S$.$borderBottom]: core.String,
  borderBottomColor: core.String,
  [S$.$borderBottomColor]: core.String,
  borderBottomLeftRadius: core.String,
  [S$0.$borderBottomLeftRadius]: core.String,
  borderBottomRightRadius: core.String,
  [S$0.$borderBottomRightRadius]: core.String,
  borderBottomStyle: core.String,
  [S$.$borderBottomStyle]: core.String,
  borderBottomWidth: core.String,
  [S$.$borderBottomWidth]: core.String,
  borderCollapse: core.String,
  [S$.$borderCollapse]: core.String,
  borderColor: core.String,
  [S$.$borderColor]: core.String,
  borderEnd: core.String,
  [S$0.$borderEnd]: core.String,
  borderEndColor: core.String,
  [S$0.$borderEndColor]: core.String,
  borderEndStyle: core.String,
  [S$0.$borderEndStyle]: core.String,
  borderEndWidth: core.String,
  [S$0.$borderEndWidth]: core.String,
  borderFit: core.String,
  [S$0.$borderFit]: core.String,
  borderHorizontalSpacing: core.String,
  [S$0.$borderHorizontalSpacing]: core.String,
  borderImage: core.String,
  [S$0.$borderImage]: core.String,
  borderImageOutset: core.String,
  [S$0.$borderImageOutset]: core.String,
  borderImageRepeat: core.String,
  [S$0.$borderImageRepeat]: core.String,
  borderImageSlice: core.String,
  [S$0.$borderImageSlice]: core.String,
  borderImageSource: core.String,
  [S$0.$borderImageSource]: core.String,
  borderImageWidth: core.String,
  [S$0.$borderImageWidth]: core.String,
  borderLeft: core.String,
  [S$.$borderLeft]: core.String,
  borderLeftColor: core.String,
  [S$.$borderLeftColor]: core.String,
  borderLeftStyle: core.String,
  [S$.$borderLeftStyle]: core.String,
  borderLeftWidth: core.String,
  [S$.$borderLeftWidth]: core.String,
  borderRadius: core.String,
  [S$0.$borderRadius]: core.String,
  borderRight: core.String,
  [S$.$borderRight]: core.String,
  borderRightColor: core.String,
  [S$.$borderRightColor]: core.String,
  borderRightStyle: core.String,
  [S$0.$borderRightStyle]: core.String,
  borderRightWidth: core.String,
  [S$0.$borderRightWidth]: core.String,
  borderSpacing: core.String,
  [S$0.$borderSpacing]: core.String,
  borderStart: core.String,
  [S$0.$borderStart]: core.String,
  borderStartColor: core.String,
  [S$0.$borderStartColor]: core.String,
  borderStartStyle: core.String,
  [S$0.$borderStartStyle]: core.String,
  borderStartWidth: core.String,
  [S$0.$borderStartWidth]: core.String,
  borderStyle: core.String,
  [S$0.$borderStyle]: core.String,
  borderTop: core.String,
  [S$0.$borderTop]: core.String,
  borderTopColor: core.String,
  [S$0.$borderTopColor]: core.String,
  borderTopLeftRadius: core.String,
  [S$0.$borderTopLeftRadius]: core.String,
  borderTopRightRadius: core.String,
  [S$0.$borderTopRightRadius]: core.String,
  borderTopStyle: core.String,
  [S$0.$borderTopStyle]: core.String,
  borderTopWidth: core.String,
  [S$0.$borderTopWidth]: core.String,
  borderVerticalSpacing: core.String,
  [S$0.$borderVerticalSpacing]: core.String,
  borderWidth: core.String,
  [S$0.$borderWidth]: core.String,
  bottom: core.String,
  [$bottom]: core.String,
  boxAlign: core.String,
  [S$0.$boxAlign]: core.String,
  boxDecorationBreak: core.String,
  [S$0.$boxDecorationBreak]: core.String,
  boxDirection: core.String,
  [S$0.$boxDirection]: core.String,
  boxFlex: core.String,
  [S$0.$boxFlex]: core.String,
  boxFlexGroup: core.String,
  [S$0.$boxFlexGroup]: core.String,
  boxLines: core.String,
  [S$0.$boxLines]: core.String,
  boxOrdinalGroup: core.String,
  [S$0.$boxOrdinalGroup]: core.String,
  boxOrient: core.String,
  [S$0.$boxOrient]: core.String,
  boxPack: core.String,
  [S$0.$boxPack]: core.String,
  boxReflect: core.String,
  [S$0.$boxReflect]: core.String,
  boxShadow: core.String,
  [S$0.$boxShadow]: core.String,
  boxSizing: core.String,
  [S$0.$boxSizing]: core.String,
  captionSide: core.String,
  [S$0.$captionSide]: core.String,
  clear: core.String,
  [$clear]: core.String,
  clip: core.String,
  [S$.$clip]: core.String,
  clipPath: core.String,
  [S$0.$clipPath]: core.String,
  color: core.String,
  [S$0.$color]: core.String,
  columnBreakAfter: core.String,
  [S$0.$columnBreakAfter]: core.String,
  columnBreakBefore: core.String,
  [S$0.$columnBreakBefore]: core.String,
  columnBreakInside: core.String,
  [S$0.$columnBreakInside]: core.String,
  columnCount: core.String,
  [S$0.$columnCount]: core.String,
  columnFill: core.String,
  [S$0.$columnFill]: core.String,
  columnGap: core.String,
  [S$0.$columnGap]: core.String,
  columnRule: core.String,
  [S$0.$columnRule]: core.String,
  columnRuleColor: core.String,
  [S$0.$columnRuleColor]: core.String,
  columnRuleStyle: core.String,
  [S$0.$columnRuleStyle]: core.String,
  columnRuleWidth: core.String,
  [S$0.$columnRuleWidth]: core.String,
  columnSpan: core.String,
  [S$0.$columnSpan]: core.String,
  columnWidth: core.String,
  [S$0.$columnWidth]: core.String,
  columns: core.String,
  [S$0.$columns]: core.String,
  content: core.String,
  [S$0.$content]: core.String,
  counterIncrement: core.String,
  [S$0.$counterIncrement]: core.String,
  counterReset: core.String,
  [S$0.$counterReset]: core.String,
  cursor: core.String,
  [S$0.$cursor]: core.String,
  direction: core.String,
  [S.$direction]: core.String,
  display: core.String,
  [S$0.$display]: core.String,
  emptyCells: core.String,
  [S$0.$emptyCells]: core.String,
  filter: core.String,
  [S$.$filter]: core.String,
  flex: core.String,
  [S$0.$flex]: core.String,
  flexBasis: core.String,
  [S$0.$flexBasis]: core.String,
  flexDirection: core.String,
  [S$0.$flexDirection]: core.String,
  flexFlow: core.String,
  [S$0.$flexFlow]: core.String,
  flexGrow: core.String,
  [S$0.$flexGrow]: core.String,
  flexShrink: core.String,
  [S$0.$flexShrink]: core.String,
  flexWrap: core.String,
  [S$0.$flexWrap]: core.String,
  float: core.String,
  [S$0.$float]: core.String,
  font: core.String,
  [S$.$font]: core.String,
  fontFamily: core.String,
  [S$0.$fontFamily]: core.String,
  fontFeatureSettings: core.String,
  [S$0.$fontFeatureSettings]: core.String,
  fontKerning: core.String,
  [S$0.$fontKerning]: core.String,
  fontSize: core.String,
  [S$0.$fontSize]: core.String,
  fontSizeDelta: core.String,
  [S$0.$fontSizeDelta]: core.String,
  fontSmoothing: core.String,
  [S$0.$fontSmoothing]: core.String,
  fontStretch: core.String,
  [S$0.$fontStretch]: core.String,
  fontStyle: core.String,
  [S$0.$fontStyle]: core.String,
  fontVariant: core.String,
  [S$0.$fontVariant]: core.String,
  fontVariantLigatures: core.String,
  [S$0.$fontVariantLigatures]: core.String,
  fontWeight: core.String,
  [S$0.$fontWeight]: core.String,
  grid: core.String,
  [S$0.$grid]: core.String,
  gridArea: core.String,
  [S$0.$gridArea]: core.String,
  gridAutoColumns: core.String,
  [S$0.$gridAutoColumns]: core.String,
  gridAutoFlow: core.String,
  [S$0.$gridAutoFlow]: core.String,
  gridAutoRows: core.String,
  [S$0.$gridAutoRows]: core.String,
  gridColumn: core.String,
  [S$0.$gridColumn]: core.String,
  gridColumnEnd: core.String,
  [S$0.$gridColumnEnd]: core.String,
  gridColumnStart: core.String,
  [S$0.$gridColumnStart]: core.String,
  gridRow: core.String,
  [S$0.$gridRow]: core.String,
  gridRowEnd: core.String,
  [S$0.$gridRowEnd]: core.String,
  gridRowStart: core.String,
  [S$0.$gridRowStart]: core.String,
  gridTemplate: core.String,
  [S$0.$gridTemplate]: core.String,
  gridTemplateAreas: core.String,
  [S$0.$gridTemplateAreas]: core.String,
  gridTemplateColumns: core.String,
  [S$0.$gridTemplateColumns]: core.String,
  gridTemplateRows: core.String,
  [S$0.$gridTemplateRows]: core.String,
  height: core.String,
  [$height]: core.String,
  highlight: core.String,
  [S$0.$highlight]: core.String,
  hyphenateCharacter: core.String,
  [S$0.$hyphenateCharacter]: core.String,
  imageRendering: core.String,
  [S$0.$imageRendering]: core.String,
  isolation: core.String,
  [S$0.$isolation]: core.String,
  justifyContent: core.String,
  [S$0.$justifyContent]: core.String,
  justifySelf: core.String,
  [S$0.$justifySelf]: core.String,
  left: core.String,
  [$left]: core.String,
  letterSpacing: core.String,
  [S$0.$letterSpacing]: core.String,
  lineBoxContain: core.String,
  [S$0.$lineBoxContain]: core.String,
  lineBreak: core.String,
  [S$0.$lineBreak]: core.String,
  lineClamp: core.String,
  [S$0.$lineClamp]: core.String,
  lineHeight: core.String,
  [S$0.$lineHeight]: core.String,
  listStyle: core.String,
  [S$0.$listStyle]: core.String,
  listStyleImage: core.String,
  [S$0.$listStyleImage]: core.String,
  listStylePosition: core.String,
  [S$0.$listStylePosition]: core.String,
  listStyleType: core.String,
  [S$0.$listStyleType]: core.String,
  locale: core.String,
  [S$0.$locale]: core.String,
  logicalHeight: core.String,
  [S$0.$logicalHeight]: core.String,
  logicalWidth: core.String,
  [S$0.$logicalWidth]: core.String,
  margin: core.String,
  [S$0.$margin]: core.String,
  marginAfter: core.String,
  [S$0.$marginAfter]: core.String,
  marginAfterCollapse: core.String,
  [S$0.$marginAfterCollapse]: core.String,
  marginBefore: core.String,
  [S$0.$marginBefore]: core.String,
  marginBeforeCollapse: core.String,
  [S$0.$marginBeforeCollapse]: core.String,
  marginBottom: core.String,
  [S$0.$marginBottom]: core.String,
  marginBottomCollapse: core.String,
  [S$0.$marginBottomCollapse]: core.String,
  marginCollapse: core.String,
  [S$0.$marginCollapse]: core.String,
  marginEnd: core.String,
  [S$0.$marginEnd]: core.String,
  marginLeft: core.String,
  [S$0.$marginLeft]: core.String,
  marginRight: core.String,
  [S$0.$marginRight]: core.String,
  marginStart: core.String,
  [S$0.$marginStart]: core.String,
  marginTop: core.String,
  [S$0.$marginTop]: core.String,
  marginTopCollapse: core.String,
  [S$0.$marginTopCollapse]: core.String,
  mask: core.String,
  [S$0.$mask]: core.String,
  maskBoxImage: core.String,
  [S$0.$maskBoxImage]: core.String,
  maskBoxImageOutset: core.String,
  [S$0.$maskBoxImageOutset]: core.String,
  maskBoxImageRepeat: core.String,
  [S$0.$maskBoxImageRepeat]: core.String,
  maskBoxImageSlice: core.String,
  [S$0.$maskBoxImageSlice]: core.String,
  maskBoxImageSource: core.String,
  [S$0.$maskBoxImageSource]: core.String,
  maskBoxImageWidth: core.String,
  [S$0.$maskBoxImageWidth]: core.String,
  maskClip: core.String,
  [S$0.$maskClip]: core.String,
  maskComposite: core.String,
  [S$0.$maskComposite]: core.String,
  maskImage: core.String,
  [S$0.$maskImage]: core.String,
  maskOrigin: core.String,
  [S$0.$maskOrigin]: core.String,
  maskPosition: core.String,
  [S$0.$maskPosition]: core.String,
  maskPositionX: core.String,
  [S$0.$maskPositionX]: core.String,
  maskPositionY: core.String,
  [S$0.$maskPositionY]: core.String,
  maskRepeat: core.String,
  [S$0.$maskRepeat]: core.String,
  maskRepeatX: core.String,
  [S$0.$maskRepeatX]: core.String,
  maskRepeatY: core.String,
  [S$0.$maskRepeatY]: core.String,
  maskSize: core.String,
  [S$0.$maskSize]: core.String,
  maskSourceType: core.String,
  [S$0.$maskSourceType]: core.String,
  maxHeight: core.String,
  [S$0.$maxHeight]: core.String,
  maxLogicalHeight: core.String,
  [S$0.$maxLogicalHeight]: core.String,
  maxLogicalWidth: core.String,
  [S$0.$maxLogicalWidth]: core.String,
  maxWidth: core.String,
  [S$0.$maxWidth]: core.String,
  maxZoom: core.String,
  [S$0.$maxZoom]: core.String,
  minHeight: core.String,
  [S$0.$minHeight]: core.String,
  minLogicalHeight: core.String,
  [S$0.$minLogicalHeight]: core.String,
  minLogicalWidth: core.String,
  [S$0.$minLogicalWidth]: core.String,
  minWidth: core.String,
  [S$0.$minWidth]: core.String,
  minZoom: core.String,
  [S$0.$minZoom]: core.String,
  mixBlendMode: core.String,
  [S$0.$mixBlendMode]: core.String,
  objectFit: core.String,
  [S$0.$objectFit]: core.String,
  objectPosition: core.String,
  [S$0.$objectPosition]: core.String,
  opacity: core.String,
  [S$0.$opacity]: core.String,
  order: core.String,
  [S$0.$order]: core.String,
  orientation: core.String,
  [S$.$orientation]: core.String,
  orphans: core.String,
  [S$0.$orphans]: core.String,
  outline: core.String,
  [S$0.$outline]: core.String,
  outlineColor: core.String,
  [S$0.$outlineColor]: core.String,
  outlineOffset: core.String,
  [S$0.$outlineOffset]: core.String,
  outlineStyle: core.String,
  [S$0.$outlineStyle]: core.String,
  outlineWidth: core.String,
  [S$0.$outlineWidth]: core.String,
  overflow: core.String,
  [S$0.$overflow]: core.String,
  overflowWrap: core.String,
  [S$0.$overflowWrap]: core.String,
  overflowX: core.String,
  [S$0.$overflowX]: core.String,
  overflowY: core.String,
  [S$0.$overflowY]: core.String,
  padding: core.String,
  [S$0.$padding]: core.String,
  paddingAfter: core.String,
  [S$0.$paddingAfter]: core.String,
  paddingBefore: core.String,
  [S$0.$paddingBefore]: core.String,
  paddingBottom: core.String,
  [S$0.$paddingBottom]: core.String,
  paddingEnd: core.String,
  [S$0.$paddingEnd]: core.String,
  paddingLeft: core.String,
  [S$0.$paddingLeft]: core.String,
  paddingRight: core.String,
  [S$0.$paddingRight]: core.String,
  paddingStart: core.String,
  [S$0.$paddingStart]: core.String,
  paddingTop: core.String,
  [S$0.$paddingTop]: core.String,
  page: core.String,
  [S$0.$page]: core.String,
  pageBreakAfter: core.String,
  [S$0.$pageBreakAfter]: core.String,
  pageBreakBefore: core.String,
  [S$0.$pageBreakBefore]: core.String,
  pageBreakInside: core.String,
  [S$0.$pageBreakInside]: core.String,
  perspective: core.String,
  [S$0.$perspective]: core.String,
  perspectiveOrigin: core.String,
  [S$0.$perspectiveOrigin]: core.String,
  perspectiveOriginX: core.String,
  [S$0.$perspectiveOriginX]: core.String,
  perspectiveOriginY: core.String,
  [S$0.$perspectiveOriginY]: core.String,
  pointerEvents: core.String,
  [S$0.$pointerEvents]: core.String,
  position: core.String,
  [S$0.$position]: core.String,
  printColorAdjust: core.String,
  [S$0.$printColorAdjust]: core.String,
  quotes: core.String,
  [S$0.$quotes]: core.String,
  resize: core.String,
  [S$0.$resize]: core.String,
  right: core.String,
  [$right]: core.String,
  rtlOrdering: core.String,
  [S$0.$rtlOrdering]: core.String,
  rubyPosition: core.String,
  [S$0.$rubyPosition]: core.String,
  scrollBehavior: core.String,
  [S$0.$scrollBehavior]: core.String,
  shapeImageThreshold: core.String,
  [S$0.$shapeImageThreshold]: core.String,
  shapeMargin: core.String,
  [S$0.$shapeMargin]: core.String,
  shapeOutside: core.String,
  [S$0.$shapeOutside]: core.String,
  size: core.String,
  [S$.$size]: core.String,
  speak: core.String,
  [S$0.$speak]: core.String,
  src: core.String,
  [S$.$src]: core.String,
  tabSize: core.String,
  [S$0.$tabSize]: core.String,
  tableLayout: core.String,
  [S$0.$tableLayout]: core.String,
  tapHighlightColor: core.String,
  [S$0.$tapHighlightColor]: core.String,
  textAlign: core.String,
  [S$.$textAlign]: core.String,
  textAlignLast: core.String,
  [S$0.$textAlignLast]: core.String,
  textCombine: core.String,
  [S$0.$textCombine]: core.String,
  textDecoration: core.String,
  [S$0.$textDecoration]: core.String,
  textDecorationColor: core.String,
  [S$0.$textDecorationColor]: core.String,
  textDecorationLine: core.String,
  [S$0.$textDecorationLine]: core.String,
  textDecorationStyle: core.String,
  [S$0.$textDecorationStyle]: core.String,
  textDecorationsInEffect: core.String,
  [S$0.$textDecorationsInEffect]: core.String,
  textEmphasis: core.String,
  [S$0.$textEmphasis]: core.String,
  textEmphasisColor: core.String,
  [S$0.$textEmphasisColor]: core.String,
  textEmphasisPosition: core.String,
  [S$0.$textEmphasisPosition]: core.String,
  textEmphasisStyle: core.String,
  [S$0.$textEmphasisStyle]: core.String,
  textFillColor: core.String,
  [S$0.$textFillColor]: core.String,
  textIndent: core.String,
  [S$0.$textIndent]: core.String,
  textJustify: core.String,
  [S$0.$textJustify]: core.String,
  textLineThroughColor: core.String,
  [S$0.$textLineThroughColor]: core.String,
  textLineThroughMode: core.String,
  [S$0.$textLineThroughMode]: core.String,
  textLineThroughStyle: core.String,
  [S$0.$textLineThroughStyle]: core.String,
  textLineThroughWidth: core.String,
  [S$0.$textLineThroughWidth]: core.String,
  textOrientation: core.String,
  [S$0.$textOrientation]: core.String,
  textOverflow: core.String,
  [S$0.$textOverflow]: core.String,
  textOverlineColor: core.String,
  [S$0.$textOverlineColor]: core.String,
  textOverlineMode: core.String,
  [S$0.$textOverlineMode]: core.String,
  textOverlineStyle: core.String,
  [S$0.$textOverlineStyle]: core.String,
  textOverlineWidth: core.String,
  [S$0.$textOverlineWidth]: core.String,
  textRendering: core.String,
  [S$0.$textRendering]: core.String,
  textSecurity: core.String,
  [S$0.$textSecurity]: core.String,
  textShadow: core.String,
  [S$0.$textShadow]: core.String,
  textStroke: core.String,
  [S$0.$textStroke]: core.String,
  textStrokeColor: core.String,
  [S$0.$textStrokeColor]: core.String,
  textStrokeWidth: core.String,
  [S$0.$textStrokeWidth]: core.String,
  textTransform: core.String,
  [S$0.$textTransform]: core.String,
  textUnderlineColor: core.String,
  [S$0.$textUnderlineColor]: core.String,
  textUnderlineMode: core.String,
  [S$0.$textUnderlineMode]: core.String,
  textUnderlinePosition: core.String,
  [S$0.$textUnderlinePosition]: core.String,
  textUnderlineStyle: core.String,
  [S$0.$textUnderlineStyle]: core.String,
  textUnderlineWidth: core.String,
  [S$0.$textUnderlineWidth]: core.String,
  top: core.String,
  [$top]: core.String,
  touchAction: core.String,
  [S$0.$touchAction]: core.String,
  touchActionDelay: core.String,
  [S$0.$touchActionDelay]: core.String,
  transform: core.String,
  [S$.$transform]: core.String,
  transformOrigin: core.String,
  [S$0.$transformOrigin]: core.String,
  transformOriginX: core.String,
  [S$0.$transformOriginX]: core.String,
  transformOriginY: core.String,
  [S$0.$transformOriginY]: core.String,
  transformOriginZ: core.String,
  [S$0.$transformOriginZ]: core.String,
  transformStyle: core.String,
  [S$0.$transformStyle]: core.String,
  transition: core.String,
  [S$0.$transition]: core.String,
  transitionDelay: core.String,
  [S$0.$transitionDelay]: core.String,
  transitionDuration: core.String,
  [S$0.$transitionDuration]: core.String,
  transitionProperty: core.String,
  [S$0.$transitionProperty]: core.String,
  transitionTimingFunction: core.String,
  [S$0.$transitionTimingFunction]: core.String,
  unicodeBidi: core.String,
  [S$0.$unicodeBidi]: core.String,
  unicodeRange: core.String,
  [S$0.$unicodeRange]: core.String,
  userDrag: core.String,
  [S$0.$userDrag]: core.String,
  userModify: core.String,
  [S$0.$userModify]: core.String,
  userSelect: core.String,
  [S$0.$userSelect]: core.String,
  userZoom: core.String,
  [S$0.$userZoom]: core.String,
  verticalAlign: core.String,
  [S$0.$verticalAlign]: core.String,
  visibility: core.String,
  [S$0.$visibility]: core.String,
  whiteSpace: core.String,
  [S$0.$whiteSpace]: core.String,
  widows: core.String,
  [S$0.$widows]: core.String,
  width: core.String,
  [$width]: core.String,
  willChange: core.String,
  [S$0.$willChange]: core.String,
  wordBreak: core.String,
  [S$0.$wordBreak]: core.String,
  wordSpacing: core.String,
  [S$0.$wordSpacing]: core.String,
  wordWrap: core.String,
  [S$0.$wordWrap]: core.String,
  wrapFlow: core.String,
  [S$0.$wrapFlow]: core.String,
  wrapThrough: core.String,
  [S$0.$wrapThrough]: core.String,
  writingMode: core.String,
  [S$0.$writingMode]: core.String,
  zIndex: core.String,
  [S$0.$zIndex]: core.String,
  zoom: core.String,
  [S$0.$zoom]: core.String
}));
dart.setLibraryUri(html$.CssStyleDeclarationBase, I[148]);
dart.defineExtensionAccessors(html$.CssStyleDeclarationBase, [
  'alignContent',
  'alignItems',
  'alignSelf',
  'animation',
  'animationDelay',
  'animationDirection',
  'animationDuration',
  'animationFillMode',
  'animationIterationCount',
  'animationName',
  'animationPlayState',
  'animationTimingFunction',
  'appRegion',
  'appearance',
  'aspectRatio',
  'backfaceVisibility',
  'background',
  'backgroundAttachment',
  'backgroundBlendMode',
  'backgroundClip',
  'backgroundColor',
  'backgroundComposite',
  'backgroundImage',
  'backgroundOrigin',
  'backgroundPosition',
  'backgroundPositionX',
  'backgroundPositionY',
  'backgroundRepeat',
  'backgroundRepeatX',
  'backgroundRepeatY',
  'backgroundSize',
  'border',
  'borderAfter',
  'borderAfterColor',
  'borderAfterStyle',
  'borderAfterWidth',
  'borderBefore',
  'borderBeforeColor',
  'borderBeforeStyle',
  'borderBeforeWidth',
  'borderBottom',
  'borderBottomColor',
  'borderBottomLeftRadius',
  'borderBottomRightRadius',
  'borderBottomStyle',
  'borderBottomWidth',
  'borderCollapse',
  'borderColor',
  'borderEnd',
  'borderEndColor',
  'borderEndStyle',
  'borderEndWidth',
  'borderFit',
  'borderHorizontalSpacing',
  'borderImage',
  'borderImageOutset',
  'borderImageRepeat',
  'borderImageSlice',
  'borderImageSource',
  'borderImageWidth',
  'borderLeft',
  'borderLeftColor',
  'borderLeftStyle',
  'borderLeftWidth',
  'borderRadius',
  'borderRight',
  'borderRightColor',
  'borderRightStyle',
  'borderRightWidth',
  'borderSpacing',
  'borderStart',
  'borderStartColor',
  'borderStartStyle',
  'borderStartWidth',
  'borderStyle',
  'borderTop',
  'borderTopColor',
  'borderTopLeftRadius',
  'borderTopRightRadius',
  'borderTopStyle',
  'borderTopWidth',
  'borderVerticalSpacing',
  'borderWidth',
  'bottom',
  'boxAlign',
  'boxDecorationBreak',
  'boxDirection',
  'boxFlex',
  'boxFlexGroup',
  'boxLines',
  'boxOrdinalGroup',
  'boxOrient',
  'boxPack',
  'boxReflect',
  'boxShadow',
  'boxSizing',
  'captionSide',
  'clear',
  'clip',
  'clipPath',
  'color',
  'columnBreakAfter',
  'columnBreakBefore',
  'columnBreakInside',
  'columnCount',
  'columnFill',
  'columnGap',
  'columnRule',
  'columnRuleColor',
  'columnRuleStyle',
  'columnRuleWidth',
  'columnSpan',
  'columnWidth',
  'columns',
  'content',
  'counterIncrement',
  'counterReset',
  'cursor',
  'direction',
  'display',
  'emptyCells',
  'filter',
  'flex',
  'flexBasis',
  'flexDirection',
  'flexFlow',
  'flexGrow',
  'flexShrink',
  'flexWrap',
  'float',
  'font',
  'fontFamily',
  'fontFeatureSettings',
  'fontKerning',
  'fontSize',
  'fontSizeDelta',
  'fontSmoothing',
  'fontStretch',
  'fontStyle',
  'fontVariant',
  'fontVariantLigatures',
  'fontWeight',
  'grid',
  'gridArea',
  'gridAutoColumns',
  'gridAutoFlow',
  'gridAutoRows',
  'gridColumn',
  'gridColumnEnd',
  'gridColumnStart',
  'gridRow',
  'gridRowEnd',
  'gridRowStart',
  'gridTemplate',
  'gridTemplateAreas',
  'gridTemplateColumns',
  'gridTemplateRows',
  'height',
  'highlight',
  'hyphenateCharacter',
  'imageRendering',
  'isolation',
  'justifyContent',
  'justifySelf',
  'left',
  'letterSpacing',
  'lineBoxContain',
  'lineBreak',
  'lineClamp',
  'lineHeight',
  'listStyle',
  'listStyleImage',
  'listStylePosition',
  'listStyleType',
  'locale',
  'logicalHeight',
  'logicalWidth',
  'margin',
  'marginAfter',
  'marginAfterCollapse',
  'marginBefore',
  'marginBeforeCollapse',
  'marginBottom',
  'marginBottomCollapse',
  'marginCollapse',
  'marginEnd',
  'marginLeft',
  'marginRight',
  'marginStart',
  'marginTop',
  'marginTopCollapse',
  'mask',
  'maskBoxImage',
  'maskBoxImageOutset',
  'maskBoxImageRepeat',
  'maskBoxImageSlice',
  'maskBoxImageSource',
  'maskBoxImageWidth',
  'maskClip',
  'maskComposite',
  'maskImage',
  'maskOrigin',
  'maskPosition',
  'maskPositionX',
  'maskPositionY',
  'maskRepeat',
  'maskRepeatX',
  'maskRepeatY',
  'maskSize',
  'maskSourceType',
  'maxHeight',
  'maxLogicalHeight',
  'maxLogicalWidth',
  'maxWidth',
  'maxZoom',
  'minHeight',
  'minLogicalHeight',
  'minLogicalWidth',
  'minWidth',
  'minZoom',
  'mixBlendMode',
  'objectFit',
  'objectPosition',
  'opacity',
  'order',
  'orientation',
  'orphans',
  'outline',
  'outlineColor',
  'outlineOffset',
  'outlineStyle',
  'outlineWidth',
  'overflow',
  'overflowWrap',
  'overflowX',
  'overflowY',
  'padding',
  'paddingAfter',
  'paddingBefore',
  'paddingBottom',
  'paddingEnd',
  'paddingLeft',
  'paddingRight',
  'paddingStart',
  'paddingTop',
  'page',
  'pageBreakAfter',
  'pageBreakBefore',
  'pageBreakInside',
  'perspective',
  'perspectiveOrigin',
  'perspectiveOriginX',
  'perspectiveOriginY',
  'pointerEvents',
  'position',
  'printColorAdjust',
  'quotes',
  'resize',
  'right',
  'rtlOrdering',
  'rubyPosition',
  'scrollBehavior',
  'shapeImageThreshold',
  'shapeMargin',
  'shapeOutside',
  'size',
  'speak',
  'src',
  'tabSize',
  'tableLayout',
  'tapHighlightColor',
  'textAlign',
  'textAlignLast',
  'textCombine',
  'textDecoration',
  'textDecorationColor',
  'textDecorationLine',
  'textDecorationStyle',
  'textDecorationsInEffect',
  'textEmphasis',
  'textEmphasisColor',
  'textEmphasisPosition',
  'textEmphasisStyle',
  'textFillColor',
  'textIndent',
  'textJustify',
  'textLineThroughColor',
  'textLineThroughMode',
  'textLineThroughStyle',
  'textLineThroughWidth',
  'textOrientation',
  'textOverflow',
  'textOverlineColor',
  'textOverlineMode',
  'textOverlineStyle',
  'textOverlineWidth',
  'textRendering',
  'textSecurity',
  'textShadow',
  'textStroke',
  'textStrokeColor',
  'textStrokeWidth',
  'textTransform',
  'textUnderlineColor',
  'textUnderlineMode',
  'textUnderlinePosition',
  'textUnderlineStyle',
  'textUnderlineWidth',
  'top',
  'touchAction',
  'touchActionDelay',
  'transform',
  'transformOrigin',
  'transformOriginX',
  'transformOriginY',
  'transformOriginZ',
  'transformStyle',
  'transition',
  'transitionDelay',
  'transitionDuration',
  'transitionProperty',
  'transitionTimingFunction',
  'unicodeBidi',
  'unicodeRange',
  'userDrag',
  'userModify',
  'userSelect',
  'userZoom',
  'verticalAlign',
  'visibility',
  'whiteSpace',
  'widows',
  'width',
  'willChange',
  'wordBreak',
  'wordSpacing',
  'wordWrap',
  'wrapFlow',
  'wrapThrough',
  'writingMode',
  'zIndex',
  'zoom'
]);
const Interceptor_CssStyleDeclarationBase$36 = class Interceptor_CssStyleDeclarationBase extends _interceptors.Interceptor {};
(Interceptor_CssStyleDeclarationBase$36.new = function() {
  Interceptor_CssStyleDeclarationBase$36.__proto__.new.call(this);
}).prototype = Interceptor_CssStyleDeclarationBase$36.prototype;
dart.applyMixin(Interceptor_CssStyleDeclarationBase$36, html$.CssStyleDeclarationBase);
html$.CssStyleDeclaration = class CssStyleDeclaration extends Interceptor_CssStyleDeclarationBase$36 {
  static new() {
    return html$.CssStyleDeclaration.css("");
  }
  static css(css) {
    if (css == null) dart.nullFailed(I[147], 3967, 42, "css");
    let style = html$.DivElement.new().style;
    style.cssText = css;
    return style;
  }
  [S$.$getPropertyValue](propertyName) {
    if (propertyName == null) dart.nullFailed(I[147], 3978, 34, "propertyName");
    return this[S$._getPropertyValueHelper](propertyName);
  }
  [S$._getPropertyValueHelper](propertyName) {
    if (propertyName == null) dart.nullFailed(I[147], 3982, 41, "propertyName");
    return this[S$._getPropertyValue](this[S$._browserPropertyName](propertyName));
  }
  [S$.$supportsProperty](propertyName) {
    if (propertyName == null) dart.nullFailed(I[147], 3994, 32, "propertyName");
    return dart.test(this[S$._supportsProperty](propertyName)) || dart.test(this[S$._supportsProperty](html$.CssStyleDeclaration._camelCase(dart.str(html_common.Device.cssPrefix) + dart.str(propertyName))));
  }
  [S$._supportsProperty](propertyName) {
    if (propertyName == null) dart.nullFailed(I[147], 3999, 33, "propertyName");
    return propertyName in this;
  }
  [S$.$setProperty](propertyName, value, priority = null) {
    if (propertyName == null) dart.nullFailed(I[147], 4003, 27, "propertyName");
    return this[S$._setPropertyHelper](this[S$._browserPropertyName](propertyName), value, priority);
  }
  [S$._browserPropertyName](propertyName) {
    if (propertyName == null) dart.nullFailed(I[147], 4008, 38, "propertyName");
    let name = html$.CssStyleDeclaration._readCache(propertyName);
    if (typeof name == 'string') return name;
    name = this[S$._supportedBrowserPropertyName](propertyName);
    html$.CssStyleDeclaration._writeCache(propertyName, name);
    return name;
  }
  [S$._supportedBrowserPropertyName](propertyName) {
    if (propertyName == null) dart.nullFailed(I[147], 4016, 47, "propertyName");
    if (dart.test(this[S$._supportsProperty](html$.CssStyleDeclaration._camelCase(propertyName)))) {
      return propertyName;
    }
    let prefixed = dart.str(html_common.Device.cssPrefix) + dart.str(propertyName);
    if (dart.test(this[S$._supportsProperty](prefixed))) {
      return prefixed;
    }
    return propertyName;
  }
  static _readCache(key) {
    if (key == null) dart.nullFailed(I[147], 4029, 36, "key");
    return html$.CssStyleDeclaration._propertyCache[key];
  }
  static _writeCache(key, value) {
    if (key == null) dart.nullFailed(I[147], 4031, 34, "key");
    if (value == null) dart.nullFailed(I[147], 4031, 46, "value");
    html$.CssStyleDeclaration._propertyCache[key] = value;
  }
  static _camelCase(hyphenated) {
    if (hyphenated == null) dart.nullFailed(I[147], 4035, 35, "hyphenated");
    let replacedMs = hyphenated.replace(/^-ms-/, "ms-");
    return replacedMs.replace(/-([\da-z])/ig, function(_, letter) {
      return letter.toUpperCase();
    });
  }
  [S$._setPropertyHelper](propertyName, value, priority = null) {
    if (propertyName == null) dart.nullFailed(I[147], 4044, 34, "propertyName");
    if (value == null) value = "";
    if (priority == null) priority = "";
    this.setProperty(propertyName, value, priority);
  }
  static get supportsTransitions() {
    return dart.nullCheck(html$.document.body).style[S$.$supportsProperty]("transition");
  }
  get [S$.$cssFloat]() {
    return this.cssFloat;
  }
  set [S$.$cssFloat](value) {
    this.cssFloat = value;
  }
  get [S$.$cssText]() {
    return this.cssText;
  }
  set [S$.$cssText](value) {
    this.cssText = value;
  }
  get [$length]() {
    return this.length;
  }
  get [S$.$parentRule]() {
    return this.parentRule;
  }
  [S$.$getPropertyPriority](...args) {
    return this.getPropertyPriority.apply(this, args);
  }
  [S$._getPropertyValue](...args) {
    return this.getPropertyValue.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$.$removeProperty](...args) {
    return this.removeProperty.apply(this, args);
  }
  get [S$.$background]() {
    return this[S$._background];
  }
  set [S$.$background](value) {
    this[S$._background] = value == null ? "" : value;
  }
  get [S$._background]() {
    return this.background;
  }
  set [S$._background](value) {
    this.background = value;
  }
  get [S$.$backgroundAttachment]() {
    return this[S$._backgroundAttachment];
  }
  set [S$.$backgroundAttachment](value) {
    this[S$._backgroundAttachment] = value == null ? "" : value;
  }
  get [S$._backgroundAttachment]() {
    return this.backgroundAttachment;
  }
  set [S$._backgroundAttachment](value) {
    this.backgroundAttachment = value;
  }
  get [S$.$backgroundColor]() {
    return this[S$._backgroundColor];
  }
  set [S$.$backgroundColor](value) {
    this[S$._backgroundColor] = value == null ? "" : value;
  }
  get [S$._backgroundColor]() {
    return this.backgroundColor;
  }
  set [S$._backgroundColor](value) {
    this.backgroundColor = value;
  }
  get [S$.$backgroundImage]() {
    return this[S$._backgroundImage];
  }
  set [S$.$backgroundImage](value) {
    this[S$._backgroundImage] = value == null ? "" : value;
  }
  get [S$._backgroundImage]() {
    return this.backgroundImage;
  }
  set [S$._backgroundImage](value) {
    this.backgroundImage = value;
  }
  get [S$.$backgroundPosition]() {
    return this[S$._backgroundPosition];
  }
  set [S$.$backgroundPosition](value) {
    this[S$._backgroundPosition] = value == null ? "" : value;
  }
  get [S$._backgroundPosition]() {
    return this.backgroundPosition;
  }
  set [S$._backgroundPosition](value) {
    this.backgroundPosition = value;
  }
  get [S$.$backgroundRepeat]() {
    return this[S$._backgroundRepeat];
  }
  set [S$.$backgroundRepeat](value) {
    this[S$._backgroundRepeat] = value == null ? "" : value;
  }
  get [S$._backgroundRepeat]() {
    return this.backgroundRepeat;
  }
  set [S$._backgroundRepeat](value) {
    this.backgroundRepeat = value;
  }
  get [S$.$border]() {
    return this[S$._border];
  }
  set [S$.$border](value) {
    this[S$._border] = value == null ? "" : value;
  }
  get [S$._border]() {
    return this.border;
  }
  set [S$._border](value) {
    this.border = value;
  }
  get [S$.$borderBottom]() {
    return this[S$._borderBottom];
  }
  set [S$.$borderBottom](value) {
    this[S$._borderBottom] = value == null ? "" : value;
  }
  get [S$._borderBottom]() {
    return this.borderBottom;
  }
  set [S$._borderBottom](value) {
    this.borderBottom = value;
  }
  get [S$.$borderBottomColor]() {
    return this[S$._borderBottomColor];
  }
  set [S$.$borderBottomColor](value) {
    this[S$._borderBottomColor] = value == null ? "" : value;
  }
  get [S$._borderBottomColor]() {
    return this.borderBottomColor;
  }
  set [S$._borderBottomColor](value) {
    this.borderBottomColor = value;
  }
  get [S$.$borderBottomStyle]() {
    return this[S$._borderBottomStyle];
  }
  set [S$.$borderBottomStyle](value) {
    this[S$._borderBottomStyle] = value == null ? "" : value;
  }
  get [S$._borderBottomStyle]() {
    return this.borderBottomStyle;
  }
  set [S$._borderBottomStyle](value) {
    this.borderBottomStyle = value;
  }
  get [S$.$borderBottomWidth]() {
    return this[S$._borderBottomWidth];
  }
  set [S$.$borderBottomWidth](value) {
    this[S$._borderBottomWidth] = value == null ? "" : value;
  }
  get [S$._borderBottomWidth]() {
    return this.borderBottomWidth;
  }
  set [S$._borderBottomWidth](value) {
    this.borderBottomWidth = value;
  }
  get [S$.$borderCollapse]() {
    return this[S$._borderCollapse];
  }
  set [S$.$borderCollapse](value) {
    this[S$._borderCollapse] = value == null ? "" : value;
  }
  get [S$._borderCollapse]() {
    return this.borderCollapse;
  }
  set [S$._borderCollapse](value) {
    this.borderCollapse = value;
  }
  get [S$.$borderColor]() {
    return this[S$._borderColor];
  }
  set [S$.$borderColor](value) {
    this[S$._borderColor] = value == null ? "" : value;
  }
  get [S$._borderColor]() {
    return this.borderColor;
  }
  set [S$._borderColor](value) {
    this.borderColor = value;
  }
  get [S$.$borderLeft]() {
    return this[S$._borderLeft];
  }
  set [S$.$borderLeft](value) {
    this[S$._borderLeft] = value == null ? "" : value;
  }
  get [S$._borderLeft]() {
    return this.borderLeft;
  }
  set [S$._borderLeft](value) {
    this.borderLeft = value;
  }
  get [S$.$borderLeftColor]() {
    return this[S$._borderLeftColor];
  }
  set [S$.$borderLeftColor](value) {
    this[S$._borderLeftColor] = value == null ? "" : value;
  }
  get [S$._borderLeftColor]() {
    return this.borderLeftColor;
  }
  set [S$._borderLeftColor](value) {
    this.borderLeftColor = value;
  }
  get [S$.$borderLeftStyle]() {
    return this[S$._borderLeftStyle];
  }
  set [S$.$borderLeftStyle](value) {
    this[S$._borderLeftStyle] = value == null ? "" : value;
  }
  get [S$._borderLeftStyle]() {
    return this.borderLeftStyle;
  }
  set [S$._borderLeftStyle](value) {
    this.borderLeftStyle = value;
  }
  get [S$.$borderLeftWidth]() {
    return this[S$._borderLeftWidth];
  }
  set [S$.$borderLeftWidth](value) {
    this[S$._borderLeftWidth] = value == null ? "" : value;
  }
  get [S$._borderLeftWidth]() {
    return this.borderLeftWidth;
  }
  set [S$._borderLeftWidth](value) {
    this.borderLeftWidth = value;
  }
  get [S$.$borderRight]() {
    return this[S$._borderRight];
  }
  set [S$.$borderRight](value) {
    this[S$._borderRight] = value == null ? "" : value;
  }
  get [S$._borderRight]() {
    return this.borderRight;
  }
  set [S$._borderRight](value) {
    this.borderRight = value;
  }
  get [S$.$borderRightColor]() {
    return this[S$._borderRightColor];
  }
  set [S$.$borderRightColor](value) {
    this[S$._borderRightColor] = value == null ? "" : value;
  }
  get [S$._borderRightColor]() {
    return this.borderRightColor;
  }
  set [S$._borderRightColor](value) {
    this.borderRightColor = value;
  }
  get [S$0.$borderRightStyle]() {
    return this[S$._borderRightStyle];
  }
  set [S$0.$borderRightStyle](value) {
    this[S$._borderRightStyle] = value == null ? "" : value;
  }
  get [S$._borderRightStyle]() {
    return this.borderRightStyle;
  }
  set [S$._borderRightStyle](value) {
    this.borderRightStyle = value;
  }
  get [S$0.$borderRightWidth]() {
    return this[S$0._borderRightWidth];
  }
  set [S$0.$borderRightWidth](value) {
    this[S$0._borderRightWidth] = value == null ? "" : value;
  }
  get [S$0._borderRightWidth]() {
    return this.borderRightWidth;
  }
  set [S$0._borderRightWidth](value) {
    this.borderRightWidth = value;
  }
  get [S$0.$borderSpacing]() {
    return this[S$0._borderSpacing];
  }
  set [S$0.$borderSpacing](value) {
    this[S$0._borderSpacing] = value == null ? "" : value;
  }
  get [S$0._borderSpacing]() {
    return this.borderSpacing;
  }
  set [S$0._borderSpacing](value) {
    this.borderSpacing = value;
  }
  get [S$0.$borderStyle]() {
    return this[S$0._borderStyle];
  }
  set [S$0.$borderStyle](value) {
    this[S$0._borderStyle] = value == null ? "" : value;
  }
  get [S$0._borderStyle]() {
    return this.borderStyle;
  }
  set [S$0._borderStyle](value) {
    this.borderStyle = value;
  }
  get [S$0.$borderTop]() {
    return this[S$0._borderTop];
  }
  set [S$0.$borderTop](value) {
    this[S$0._borderTop] = value == null ? "" : value;
  }
  get [S$0._borderTop]() {
    return this.borderTop;
  }
  set [S$0._borderTop](value) {
    this.borderTop = value;
  }
  get [S$0.$borderTopColor]() {
    return this[S$0._borderTopColor];
  }
  set [S$0.$borderTopColor](value) {
    this[S$0._borderTopColor] = value == null ? "" : value;
  }
  get [S$0._borderTopColor]() {
    return this.borderTopColor;
  }
  set [S$0._borderTopColor](value) {
    this.borderTopColor = value;
  }
  get [S$0.$borderTopStyle]() {
    return this[S$0._borderTopStyle];
  }
  set [S$0.$borderTopStyle](value) {
    this[S$0._borderTopStyle] = value == null ? "" : value;
  }
  get [S$0._borderTopStyle]() {
    return this.borderTopStyle;
  }
  set [S$0._borderTopStyle](value) {
    this.borderTopStyle = value;
  }
  get [S$0.$borderTopWidth]() {
    return this[S$0._borderTopWidth];
  }
  set [S$0.$borderTopWidth](value) {
    this[S$0._borderTopWidth] = value == null ? "" : value;
  }
  get [S$0._borderTopWidth]() {
    return this.borderTopWidth;
  }
  set [S$0._borderTopWidth](value) {
    this.borderTopWidth = value;
  }
  get [S$0.$borderWidth]() {
    return this[S$0._borderWidth];
  }
  set [S$0.$borderWidth](value) {
    this[S$0._borderWidth] = value == null ? "" : value;
  }
  get [S$0._borderWidth]() {
    return this.borderWidth;
  }
  set [S$0._borderWidth](value) {
    this.borderWidth = value;
  }
  get [$bottom]() {
    return this[S$0._bottom];
  }
  set [$bottom](value) {
    this[S$0._bottom] = value == null ? "" : value;
  }
  get [S$0._bottom]() {
    return this.bottom;
  }
  set [S$0._bottom](value) {
    this.bottom = value;
  }
  get [S$0.$captionSide]() {
    return this[S$0._captionSide];
  }
  set [S$0.$captionSide](value) {
    this[S$0._captionSide] = value == null ? "" : value;
  }
  get [S$0._captionSide]() {
    return this.captionSide;
  }
  set [S$0._captionSide](value) {
    this.captionSide = value;
  }
  get [$clear]() {
    return this[S$0._clear$3];
  }
  set [$clear](value) {
    this[S$0._clear$3] = value == null ? "" : value;
  }
  get [S$0._clear$3]() {
    return this.clear;
  }
  set [S$0._clear$3](value) {
    this.clear = value;
  }
  get [S$.$clip]() {
    return this[S$0._clip];
  }
  set [S$.$clip](value) {
    this[S$0._clip] = value == null ? "" : value;
  }
  get [S$0._clip]() {
    return this.clip;
  }
  set [S$0._clip](value) {
    this.clip = value;
  }
  get [S$0.$color]() {
    return this[S$0._color];
  }
  set [S$0.$color](value) {
    this[S$0._color] = value == null ? "" : value;
  }
  get [S$0._color]() {
    return this.color;
  }
  set [S$0._color](value) {
    this.color = value;
  }
  get [S$0.$content]() {
    return this[S$0._content];
  }
  set [S$0.$content](value) {
    this[S$0._content] = value == null ? "" : value;
  }
  get [S$0._content]() {
    return this.content;
  }
  set [S$0._content](value) {
    this.content = value;
  }
  get [S$0.$cursor]() {
    return this[S$0._cursor];
  }
  set [S$0.$cursor](value) {
    this[S$0._cursor] = value == null ? "" : value;
  }
  get [S$0._cursor]() {
    return this.cursor;
  }
  set [S$0._cursor](value) {
    this.cursor = value;
  }
  get [S.$direction]() {
    return this[S$0._direction];
  }
  set [S.$direction](value) {
    this[S$0._direction] = value == null ? "" : value;
  }
  get [S$0._direction]() {
    return this.direction;
  }
  set [S$0._direction](value) {
    this.direction = value;
  }
  get [S$0.$display]() {
    return this[S$0._display];
  }
  set [S$0.$display](value) {
    this[S$0._display] = value == null ? "" : value;
  }
  get [S$0._display]() {
    return this.display;
  }
  set [S$0._display](value) {
    this.display = value;
  }
  get [S$0.$emptyCells]() {
    return this[S$0._emptyCells];
  }
  set [S$0.$emptyCells](value) {
    this[S$0._emptyCells] = value == null ? "" : value;
  }
  get [S$0._emptyCells]() {
    return this.emptyCells;
  }
  set [S$0._emptyCells](value) {
    this.emptyCells = value;
  }
  get [S$.$font]() {
    return this[S$0._font];
  }
  set [S$.$font](value) {
    this[S$0._font] = value == null ? "" : value;
  }
  get [S$0._font]() {
    return this.font;
  }
  set [S$0._font](value) {
    this.font = value;
  }
  get [S$0.$fontFamily]() {
    return this[S$0._fontFamily];
  }
  set [S$0.$fontFamily](value) {
    this[S$0._fontFamily] = value == null ? "" : value;
  }
  get [S$0._fontFamily]() {
    return this.fontFamily;
  }
  set [S$0._fontFamily](value) {
    this.fontFamily = value;
  }
  get [S$0.$fontSize]() {
    return this[S$0._fontSize];
  }
  set [S$0.$fontSize](value) {
    this[S$0._fontSize] = value == null ? "" : value;
  }
  get [S$0._fontSize]() {
    return this.fontSize;
  }
  set [S$0._fontSize](value) {
    this.fontSize = value;
  }
  get [S$0.$fontStyle]() {
    return this[S$0._fontStyle];
  }
  set [S$0.$fontStyle](value) {
    this[S$0._fontStyle] = value == null ? "" : value;
  }
  get [S$0._fontStyle]() {
    return this.fontStyle;
  }
  set [S$0._fontStyle](value) {
    this.fontStyle = value;
  }
  get [S$0.$fontVariant]() {
    return this[S$0._fontVariant];
  }
  set [S$0.$fontVariant](value) {
    this[S$0._fontVariant] = value == null ? "" : value;
  }
  get [S$0._fontVariant]() {
    return this.fontVariant;
  }
  set [S$0._fontVariant](value) {
    this.fontVariant = value;
  }
  get [S$0.$fontWeight]() {
    return this[S$0._fontWeight];
  }
  set [S$0.$fontWeight](value) {
    this[S$0._fontWeight] = value == null ? "" : value;
  }
  get [S$0._fontWeight]() {
    return this.fontWeight;
  }
  set [S$0._fontWeight](value) {
    this.fontWeight = value;
  }
  get [$height]() {
    return this[S$0._height$1];
  }
  set [$height](value) {
    this[S$0._height$1] = value == null ? "" : value;
  }
  get [S$0._height$1]() {
    return this.height;
  }
  set [S$0._height$1](value) {
    this.height = value;
  }
  get [$left]() {
    return this[S$0._left$2];
  }
  set [$left](value) {
    this[S$0._left$2] = value == null ? "" : value;
  }
  get [S$0._left$2]() {
    return this.left;
  }
  set [S$0._left$2](value) {
    this.left = value;
  }
  get [S$0.$letterSpacing]() {
    return this[S$0._letterSpacing];
  }
  set [S$0.$letterSpacing](value) {
    this[S$0._letterSpacing] = value == null ? "" : value;
  }
  get [S$0._letterSpacing]() {
    return this.letterSpacing;
  }
  set [S$0._letterSpacing](value) {
    this.letterSpacing = value;
  }
  get [S$0.$lineHeight]() {
    return this[S$0._lineHeight];
  }
  set [S$0.$lineHeight](value) {
    this[S$0._lineHeight] = value == null ? "" : value;
  }
  get [S$0._lineHeight]() {
    return this.lineHeight;
  }
  set [S$0._lineHeight](value) {
    this.lineHeight = value;
  }
  get [S$0.$listStyle]() {
    return this[S$0._listStyle];
  }
  set [S$0.$listStyle](value) {
    this[S$0._listStyle] = value == null ? "" : value;
  }
  get [S$0._listStyle]() {
    return this.listStyle;
  }
  set [S$0._listStyle](value) {
    this.listStyle = value;
  }
  get [S$0.$listStyleImage]() {
    return this[S$0._listStyleImage];
  }
  set [S$0.$listStyleImage](value) {
    this[S$0._listStyleImage] = value == null ? "" : value;
  }
  get [S$0._listStyleImage]() {
    return this.listStyleImage;
  }
  set [S$0._listStyleImage](value) {
    this.listStyleImage = value;
  }
  get [S$0.$listStylePosition]() {
    return this[S$0._listStylePosition];
  }
  set [S$0.$listStylePosition](value) {
    this[S$0._listStylePosition] = value == null ? "" : value;
  }
  get [S$0._listStylePosition]() {
    return this.listStylePosition;
  }
  set [S$0._listStylePosition](value) {
    this.listStylePosition = value;
  }
  get [S$0.$listStyleType]() {
    return this[S$0._listStyleType];
  }
  set [S$0.$listStyleType](value) {
    this[S$0._listStyleType] = value == null ? "" : value;
  }
  get [S$0._listStyleType]() {
    return this.listStyleType;
  }
  set [S$0._listStyleType](value) {
    this.listStyleType = value;
  }
  get [S$0.$margin]() {
    return this[S$0._margin];
  }
  set [S$0.$margin](value) {
    this[S$0._margin] = value == null ? "" : value;
  }
  get [S$0._margin]() {
    return this.margin;
  }
  set [S$0._margin](value) {
    this.margin = value;
  }
  get [S$0.$marginBottom]() {
    return this[S$0._marginBottom];
  }
  set [S$0.$marginBottom](value) {
    this[S$0._marginBottom] = value == null ? "" : value;
  }
  get [S$0._marginBottom]() {
    return this.marginBottom;
  }
  set [S$0._marginBottom](value) {
    this.marginBottom = value;
  }
  get [S$0.$marginLeft]() {
    return this[S$0._marginLeft];
  }
  set [S$0.$marginLeft](value) {
    this[S$0._marginLeft] = value == null ? "" : value;
  }
  get [S$0._marginLeft]() {
    return this.marginLeft;
  }
  set [S$0._marginLeft](value) {
    this.marginLeft = value;
  }
  get [S$0.$marginRight]() {
    return this[S$0._marginRight];
  }
  set [S$0.$marginRight](value) {
    this[S$0._marginRight] = value == null ? "" : value;
  }
  get [S$0._marginRight]() {
    return this.marginRight;
  }
  set [S$0._marginRight](value) {
    this.marginRight = value;
  }
  get [S$0.$marginTop]() {
    return this[S$0._marginTop];
  }
  set [S$0.$marginTop](value) {
    this[S$0._marginTop] = value == null ? "" : value;
  }
  get [S$0._marginTop]() {
    return this.marginTop;
  }
  set [S$0._marginTop](value) {
    this.marginTop = value;
  }
  get [S$0.$maxHeight]() {
    return this[S$0._maxHeight];
  }
  set [S$0.$maxHeight](value) {
    this[S$0._maxHeight] = value == null ? "" : value;
  }
  get [S$0._maxHeight]() {
    return this.maxHeight;
  }
  set [S$0._maxHeight](value) {
    this.maxHeight = value;
  }
  get [S$0.$maxWidth]() {
    return this[S$0._maxWidth];
  }
  set [S$0.$maxWidth](value) {
    this[S$0._maxWidth] = value == null ? "" : value;
  }
  get [S$0._maxWidth]() {
    return this.maxWidth;
  }
  set [S$0._maxWidth](value) {
    this.maxWidth = value;
  }
  get [S$0.$minHeight]() {
    return this[S$0._minHeight];
  }
  set [S$0.$minHeight](value) {
    this[S$0._minHeight] = value == null ? "" : value;
  }
  get [S$0._minHeight]() {
    return this.minHeight;
  }
  set [S$0._minHeight](value) {
    this.minHeight = value;
  }
  get [S$0.$minWidth]() {
    return this[S$0._minWidth];
  }
  set [S$0.$minWidth](value) {
    this[S$0._minWidth] = value == null ? "" : value;
  }
  get [S$0._minWidth]() {
    return this.minWidth;
  }
  set [S$0._minWidth](value) {
    this.minWidth = value;
  }
  get [S$0.$outline]() {
    return this[S$0._outline];
  }
  set [S$0.$outline](value) {
    this[S$0._outline] = value == null ? "" : value;
  }
  get [S$0._outline]() {
    return this.outline;
  }
  set [S$0._outline](value) {
    this.outline = value;
  }
  get [S$0.$outlineColor]() {
    return this[S$0._outlineColor];
  }
  set [S$0.$outlineColor](value) {
    this[S$0._outlineColor] = value == null ? "" : value;
  }
  get [S$0._outlineColor]() {
    return this.outlineColor;
  }
  set [S$0._outlineColor](value) {
    this.outlineColor = value;
  }
  get [S$0.$outlineStyle]() {
    return this[S$0._outlineStyle];
  }
  set [S$0.$outlineStyle](value) {
    this[S$0._outlineStyle] = value == null ? "" : value;
  }
  get [S$0._outlineStyle]() {
    return this.outlineStyle;
  }
  set [S$0._outlineStyle](value) {
    this.outlineStyle = value;
  }
  get [S$0.$outlineWidth]() {
    return this[S$0._outlineWidth];
  }
  set [S$0.$outlineWidth](value) {
    this[S$0._outlineWidth] = value == null ? "" : value;
  }
  get [S$0._outlineWidth]() {
    return this.outlineWidth;
  }
  set [S$0._outlineWidth](value) {
    this.outlineWidth = value;
  }
  get [S$0.$overflow]() {
    return this[S$0._overflow];
  }
  set [S$0.$overflow](value) {
    this[S$0._overflow] = value == null ? "" : value;
  }
  get [S$0._overflow]() {
    return this.overflow;
  }
  set [S$0._overflow](value) {
    this.overflow = value;
  }
  get [S$0.$padding]() {
    return this[S$0._padding];
  }
  set [S$0.$padding](value) {
    this[S$0._padding] = value == null ? "" : value;
  }
  get [S$0._padding]() {
    return this.padding;
  }
  set [S$0._padding](value) {
    this.padding = value;
  }
  get [S$0.$paddingBottom]() {
    return this[S$0._paddingBottom];
  }
  set [S$0.$paddingBottom](value) {
    this[S$0._paddingBottom] = value == null ? "" : value;
  }
  get [S$0._paddingBottom]() {
    return this.paddingBottom;
  }
  set [S$0._paddingBottom](value) {
    this.paddingBottom = value;
  }
  get [S$0.$paddingLeft]() {
    return this[S$0._paddingLeft];
  }
  set [S$0.$paddingLeft](value) {
    this[S$0._paddingLeft] = value == null ? "" : value;
  }
  get [S$0._paddingLeft]() {
    return this.paddingLeft;
  }
  set [S$0._paddingLeft](value) {
    this.paddingLeft = value;
  }
  get [S$0.$paddingRight]() {
    return this[S$0._paddingRight];
  }
  set [S$0.$paddingRight](value) {
    this[S$0._paddingRight] = value == null ? "" : value;
  }
  get [S$0._paddingRight]() {
    return this.paddingRight;
  }
  set [S$0._paddingRight](value) {
    this.paddingRight = value;
  }
  get [S$0.$paddingTop]() {
    return this[S$0._paddingTop];
  }
  set [S$0.$paddingTop](value) {
    this[S$0._paddingTop] = value == null ? "" : value;
  }
  get [S$0._paddingTop]() {
    return this.paddingTop;
  }
  set [S$0._paddingTop](value) {
    this.paddingTop = value;
  }
  get [S$0.$pageBreakAfter]() {
    return this[S$0._pageBreakAfter];
  }
  set [S$0.$pageBreakAfter](value) {
    this[S$0._pageBreakAfter] = value == null ? "" : value;
  }
  get [S$0._pageBreakAfter]() {
    return this.pageBreakAfter;
  }
  set [S$0._pageBreakAfter](value) {
    this.pageBreakAfter = value;
  }
  get [S$0.$pageBreakBefore]() {
    return this[S$0._pageBreakBefore];
  }
  set [S$0.$pageBreakBefore](value) {
    this[S$0._pageBreakBefore] = value == null ? "" : value;
  }
  get [S$0._pageBreakBefore]() {
    return this.pageBreakBefore;
  }
  set [S$0._pageBreakBefore](value) {
    this.pageBreakBefore = value;
  }
  get [S$0.$pageBreakInside]() {
    return this[S$0._pageBreakInside];
  }
  set [S$0.$pageBreakInside](value) {
    this[S$0._pageBreakInside] = value == null ? "" : value;
  }
  get [S$0._pageBreakInside]() {
    return this.pageBreakInside;
  }
  set [S$0._pageBreakInside](value) {
    this.pageBreakInside = value;
  }
  get [S$0.$position]() {
    return this[S$0._position$2];
  }
  set [S$0.$position](value) {
    this[S$0._position$2] = value == null ? "" : value;
  }
  get [S$0._position$2]() {
    return this.position;
  }
  set [S$0._position$2](value) {
    this.position = value;
  }
  get [S$0.$quotes]() {
    return this[S$0._quotes];
  }
  set [S$0.$quotes](value) {
    this[S$0._quotes] = value == null ? "" : value;
  }
  get [S$0._quotes]() {
    return this.quotes;
  }
  set [S$0._quotes](value) {
    this.quotes = value;
  }
  get [$right]() {
    return this[S$0._right$2];
  }
  set [$right](value) {
    this[S$0._right$2] = value == null ? "" : value;
  }
  get [S$0._right$2]() {
    return this.right;
  }
  set [S$0._right$2](value) {
    this.right = value;
  }
  get [S$0.$tableLayout]() {
    return this[S$0._tableLayout];
  }
  set [S$0.$tableLayout](value) {
    this[S$0._tableLayout] = value == null ? "" : value;
  }
  get [S$0._tableLayout]() {
    return this.tableLayout;
  }
  set [S$0._tableLayout](value) {
    this.tableLayout = value;
  }
  get [S$.$textAlign]() {
    return this[S$0._textAlign];
  }
  set [S$.$textAlign](value) {
    this[S$0._textAlign] = value == null ? "" : value;
  }
  get [S$0._textAlign]() {
    return this.textAlign;
  }
  set [S$0._textAlign](value) {
    this.textAlign = value;
  }
  get [S$0.$textDecoration]() {
    return this[S$0._textDecoration];
  }
  set [S$0.$textDecoration](value) {
    this[S$0._textDecoration] = value == null ? "" : value;
  }
  get [S$0._textDecoration]() {
    return this.textDecoration;
  }
  set [S$0._textDecoration](value) {
    this.textDecoration = value;
  }
  get [S$0.$textIndent]() {
    return this[S$0._textIndent];
  }
  set [S$0.$textIndent](value) {
    this[S$0._textIndent] = value == null ? "" : value;
  }
  get [S$0._textIndent]() {
    return this.textIndent;
  }
  set [S$0._textIndent](value) {
    this.textIndent = value;
  }
  get [S$0.$textTransform]() {
    return this[S$0._textTransform];
  }
  set [S$0.$textTransform](value) {
    this[S$0._textTransform] = value == null ? "" : value;
  }
  get [S$0._textTransform]() {
    return this.textTransform;
  }
  set [S$0._textTransform](value) {
    this.textTransform = value;
  }
  get [$top]() {
    return this[S$0._top];
  }
  set [$top](value) {
    this[S$0._top] = value == null ? "" : value;
  }
  get [S$0._top]() {
    return this.top;
  }
  set [S$0._top](value) {
    this.top = value;
  }
  get [S$0.$unicodeBidi]() {
    return this[S$0._unicodeBidi];
  }
  set [S$0.$unicodeBidi](value) {
    this[S$0._unicodeBidi] = value == null ? "" : value;
  }
  get [S$0._unicodeBidi]() {
    return this.unicodeBidi;
  }
  set [S$0._unicodeBidi](value) {
    this.unicodeBidi = value;
  }
  get [S$0.$verticalAlign]() {
    return this[S$0._verticalAlign];
  }
  set [S$0.$verticalAlign](value) {
    this[S$0._verticalAlign] = value == null ? "" : value;
  }
  get [S$0._verticalAlign]() {
    return this.verticalAlign;
  }
  set [S$0._verticalAlign](value) {
    this.verticalAlign = value;
  }
  get [S$0.$visibility]() {
    return this[S$0._visibility];
  }
  set [S$0.$visibility](value) {
    this[S$0._visibility] = value == null ? "" : value;
  }
  get [S$0._visibility]() {
    return this.visibility;
  }
  set [S$0._visibility](value) {
    this.visibility = value;
  }
  get [S$0.$whiteSpace]() {
    return this[S$0._whiteSpace];
  }
  set [S$0.$whiteSpace](value) {
    this[S$0._whiteSpace] = value == null ? "" : value;
  }
  get [S$0._whiteSpace]() {
    return this.whiteSpace;
  }
  set [S$0._whiteSpace](value) {
    this.whiteSpace = value;
  }
  get [$width]() {
    return this[S$0._width$1];
  }
  set [$width](value) {
    this[S$0._width$1] = value == null ? "" : value;
  }
  get [S$0._width$1]() {
    return this.width;
  }
  set [S$0._width$1](value) {
    this.width = value;
  }
  get [S$0.$wordSpacing]() {
    return this[S$0._wordSpacing];
  }
  set [S$0.$wordSpacing](value) {
    this[S$0._wordSpacing] = value == null ? "" : value;
  }
  get [S$0._wordSpacing]() {
    return this.wordSpacing;
  }
  set [S$0._wordSpacing](value) {
    this.wordSpacing = value;
  }
  get [S$0.$zIndex]() {
    return this[S$0._zIndex];
  }
  set [S$0.$zIndex](value) {
    this[S$0._zIndex] = value == null ? "" : value;
  }
  get [S$0._zIndex]() {
    return this.zIndex;
  }
  set [S$0._zIndex](value) {
    this.zIndex = value;
  }
};
dart.addTypeTests(html$.CssStyleDeclaration);
dart.addTypeCaches(html$.CssStyleDeclaration);
dart.setMethodSignature(html$.CssStyleDeclaration, () => ({
  __proto__: dart.getMethods(html$.CssStyleDeclaration.__proto__),
  [S$.$getPropertyValue]: dart.fnType(core.String, [core.String]),
  [S$._getPropertyValueHelper]: dart.fnType(core.String, [core.String]),
  [S$.$supportsProperty]: dart.fnType(core.bool, [core.String]),
  [S$._supportsProperty]: dart.fnType(core.bool, [core.String]),
  [S$.$setProperty]: dart.fnType(dart.void, [core.String, dart.nullable(core.String)], [dart.nullable(core.String)]),
  [S$._browserPropertyName]: dart.fnType(core.String, [core.String]),
  [S$._supportedBrowserPropertyName]: dart.fnType(core.String, [core.String]),
  [S$._setPropertyHelper]: dart.fnType(dart.void, [core.String, dart.nullable(core.String)], [dart.nullable(core.String)]),
  [S$.$getPropertyPriority]: dart.fnType(core.String, [core.String]),
  [S$._getPropertyValue]: dart.fnType(core.String, [core.String]),
  [S$.$item]: dart.fnType(core.String, [core.int]),
  [S$.$removeProperty]: dart.fnType(core.String, [core.String])
}));
dart.setGetterSignature(html$.CssStyleDeclaration, () => ({
  __proto__: dart.getGetters(html$.CssStyleDeclaration.__proto__),
  [S$.$cssFloat]: dart.nullable(core.String),
  [S$.$cssText]: dart.nullable(core.String),
  [$length]: core.int,
  [S$.$parentRule]: dart.nullable(html$.CssRule),
  [S$._background]: core.String,
  [S$._backgroundAttachment]: core.String,
  [S$._backgroundColor]: core.String,
  [S$._backgroundImage]: core.String,
  [S$._backgroundPosition]: core.String,
  [S$._backgroundRepeat]: core.String,
  [S$._border]: core.String,
  [S$._borderBottom]: core.String,
  [S$._borderBottomColor]: core.String,
  [S$._borderBottomStyle]: core.String,
  [S$._borderBottomWidth]: core.String,
  [S$._borderCollapse]: core.String,
  [S$._borderColor]: core.String,
  [S$._borderLeft]: core.String,
  [S$._borderLeftColor]: core.String,
  [S$._borderLeftStyle]: core.String,
  [S$._borderLeftWidth]: core.String,
  [S$._borderRight]: core.String,
  [S$._borderRightColor]: core.String,
  [S$._borderRightStyle]: core.String,
  [S$0._borderRightWidth]: core.String,
  [S$0._borderSpacing]: core.String,
  [S$0._borderStyle]: core.String,
  [S$0._borderTop]: core.String,
  [S$0._borderTopColor]: core.String,
  [S$0._borderTopStyle]: core.String,
  [S$0._borderTopWidth]: core.String,
  [S$0._borderWidth]: core.String,
  [S$0._bottom]: core.String,
  [S$0._captionSide]: core.String,
  [S$0._clear$3]: core.String,
  [S$0._clip]: core.String,
  [S$0._color]: core.String,
  [S$0._content]: core.String,
  [S$0._cursor]: core.String,
  [S$0._direction]: core.String,
  [S$0._display]: core.String,
  [S$0._emptyCells]: core.String,
  [S$0._font]: core.String,
  [S$0._fontFamily]: core.String,
  [S$0._fontSize]: core.String,
  [S$0._fontStyle]: core.String,
  [S$0._fontVariant]: core.String,
  [S$0._fontWeight]: core.String,
  [S$0._height$1]: core.String,
  [S$0._left$2]: core.String,
  [S$0._letterSpacing]: core.String,
  [S$0._lineHeight]: core.String,
  [S$0._listStyle]: core.String,
  [S$0._listStyleImage]: core.String,
  [S$0._listStylePosition]: core.String,
  [S$0._listStyleType]: core.String,
  [S$0._margin]: core.String,
  [S$0._marginBottom]: core.String,
  [S$0._marginLeft]: core.String,
  [S$0._marginRight]: core.String,
  [S$0._marginTop]: core.String,
  [S$0._maxHeight]: core.String,
  [S$0._maxWidth]: core.String,
  [S$0._minHeight]: core.String,
  [S$0._minWidth]: core.String,
  [S$0._outline]: core.String,
  [S$0._outlineColor]: core.String,
  [S$0._outlineStyle]: core.String,
  [S$0._outlineWidth]: core.String,
  [S$0._overflow]: core.String,
  [S$0._padding]: core.String,
  [S$0._paddingBottom]: core.String,
  [S$0._paddingLeft]: core.String,
  [S$0._paddingRight]: core.String,
  [S$0._paddingTop]: core.String,
  [S$0._pageBreakAfter]: core.String,
  [S$0._pageBreakBefore]: core.String,
  [S$0._pageBreakInside]: core.String,
  [S$0._position$2]: core.String,
  [S$0._quotes]: core.String,
  [S$0._right$2]: core.String,
  [S$0._tableLayout]: core.String,
  [S$0._textAlign]: core.String,
  [S$0._textDecoration]: core.String,
  [S$0._textIndent]: core.String,
  [S$0._textTransform]: core.String,
  [S$0._top]: core.String,
  [S$0._unicodeBidi]: core.String,
  [S$0._verticalAlign]: core.String,
  [S$0._visibility]: core.String,
  [S$0._whiteSpace]: core.String,
  [S$0._width$1]: core.String,
  [S$0._wordSpacing]: core.String,
  [S$0._zIndex]: core.String
}));
dart.setSetterSignature(html$.CssStyleDeclaration, () => ({
  __proto__: dart.getSetters(html$.CssStyleDeclaration.__proto__),
  [S$.$cssFloat]: dart.nullable(core.String),
  [S$.$cssText]: dart.nullable(core.String),
  [S$.$background]: dart.nullable(core.String),
  [S$._background]: core.String,
  [S$.$backgroundAttachment]: dart.nullable(core.String),
  [S$._backgroundAttachment]: core.String,
  [S$.$backgroundColor]: dart.nullable(core.String),
  [S$._backgroundColor]: core.String,
  [S$.$backgroundImage]: dart.nullable(core.String),
  [S$._backgroundImage]: core.String,
  [S$.$backgroundPosition]: dart.nullable(core.String),
  [S$._backgroundPosition]: core.String,
  [S$.$backgroundRepeat]: dart.nullable(core.String),
  [S$._backgroundRepeat]: core.String,
  [S$.$border]: dart.nullable(core.String),
  [S$._border]: core.String,
  [S$.$borderBottom]: dart.nullable(core.String),
  [S$._borderBottom]: core.String,
  [S$.$borderBottomColor]: dart.nullable(core.String),
  [S$._borderBottomColor]: core.String,
  [S$.$borderBottomStyle]: dart.nullable(core.String),
  [S$._borderBottomStyle]: core.String,
  [S$.$borderBottomWidth]: dart.nullable(core.String),
  [S$._borderBottomWidth]: core.String,
  [S$.$borderCollapse]: dart.nullable(core.String),
  [S$._borderCollapse]: core.String,
  [S$.$borderColor]: dart.nullable(core.String),
  [S$._borderColor]: core.String,
  [S$.$borderLeft]: dart.nullable(core.String),
  [S$._borderLeft]: core.String,
  [S$.$borderLeftColor]: dart.nullable(core.String),
  [S$._borderLeftColor]: core.String,
  [S$.$borderLeftStyle]: dart.nullable(core.String),
  [S$._borderLeftStyle]: core.String,
  [S$.$borderLeftWidth]: dart.nullable(core.String),
  [S$._borderLeftWidth]: core.String,
  [S$.$borderRight]: dart.nullable(core.String),
  [S$._borderRight]: core.String,
  [S$.$borderRightColor]: dart.nullable(core.String),
  [S$._borderRightColor]: core.String,
  [S$0.$borderRightStyle]: dart.nullable(core.String),
  [S$._borderRightStyle]: core.String,
  [S$0.$borderRightWidth]: dart.nullable(core.String),
  [S$0._borderRightWidth]: core.String,
  [S$0.$borderSpacing]: dart.nullable(core.String),
  [S$0._borderSpacing]: core.String,
  [S$0.$borderStyle]: dart.nullable(core.String),
  [S$0._borderStyle]: core.String,
  [S$0.$borderTop]: dart.nullable(core.String),
  [S$0._borderTop]: core.String,
  [S$0.$borderTopColor]: dart.nullable(core.String),
  [S$0._borderTopColor]: core.String,
  [S$0.$borderTopStyle]: dart.nullable(core.String),
  [S$0._borderTopStyle]: core.String,
  [S$0.$borderTopWidth]: dart.nullable(core.String),
  [S$0._borderTopWidth]: core.String,
  [S$0.$borderWidth]: dart.nullable(core.String),
  [S$0._borderWidth]: core.String,
  [$bottom]: dart.nullable(core.String),
  [S$0._bottom]: core.String,
  [S$0.$captionSide]: dart.nullable(core.String),
  [S$0._captionSide]: core.String,
  [$clear]: dart.nullable(core.String),
  [S$0._clear$3]: core.String,
  [S$.$clip]: dart.nullable(core.String),
  [S$0._clip]: core.String,
  [S$0.$color]: dart.nullable(core.String),
  [S$0._color]: core.String,
  [S$0.$content]: dart.nullable(core.String),
  [S$0._content]: core.String,
  [S$0.$cursor]: dart.nullable(core.String),
  [S$0._cursor]: core.String,
  [S.$direction]: dart.nullable(core.String),
  [S$0._direction]: core.String,
  [S$0.$display]: dart.nullable(core.String),
  [S$0._display]: core.String,
  [S$0.$emptyCells]: dart.nullable(core.String),
  [S$0._emptyCells]: core.String,
  [S$.$font]: dart.nullable(core.String),
  [S$0._font]: core.String,
  [S$0.$fontFamily]: dart.nullable(core.String),
  [S$0._fontFamily]: core.String,
  [S$0.$fontSize]: dart.nullable(core.String),
  [S$0._fontSize]: core.String,
  [S$0.$fontStyle]: dart.nullable(core.String),
  [S$0._fontStyle]: core.String,
  [S$0.$fontVariant]: dart.nullable(core.String),
  [S$0._fontVariant]: core.String,
  [S$0.$fontWeight]: dart.nullable(core.String),
  [S$0._fontWeight]: core.String,
  [$height]: dart.nullable(core.String),
  [S$0._height$1]: core.String,
  [$left]: dart.nullable(core.String),
  [S$0._left$2]: core.String,
  [S$0.$letterSpacing]: dart.nullable(core.String),
  [S$0._letterSpacing]: core.String,
  [S$0.$lineHeight]: dart.nullable(core.String),
  [S$0._lineHeight]: core.String,
  [S$0.$listStyle]: dart.nullable(core.String),
  [S$0._listStyle]: core.String,
  [S$0.$listStyleImage]: dart.nullable(core.String),
  [S$0._listStyleImage]: core.String,
  [S$0.$listStylePosition]: dart.nullable(core.String),
  [S$0._listStylePosition]: core.String,
  [S$0.$listStyleType]: dart.nullable(core.String),
  [S$0._listStyleType]: core.String,
  [S$0.$margin]: dart.nullable(core.String),
  [S$0._margin]: core.String,
  [S$0.$marginBottom]: dart.nullable(core.String),
  [S$0._marginBottom]: core.String,
  [S$0.$marginLeft]: dart.nullable(core.String),
  [S$0._marginLeft]: core.String,
  [S$0.$marginRight]: dart.nullable(core.String),
  [S$0._marginRight]: core.String,
  [S$0.$marginTop]: dart.nullable(core.String),
  [S$0._marginTop]: core.String,
  [S$0.$maxHeight]: dart.nullable(core.String),
  [S$0._maxHeight]: core.String,
  [S$0.$maxWidth]: dart.nullable(core.String),
  [S$0._maxWidth]: core.String,
  [S$0.$minHeight]: dart.nullable(core.String),
  [S$0._minHeight]: core.String,
  [S$0.$minWidth]: dart.nullable(core.String),
  [S$0._minWidth]: core.String,
  [S$0.$outline]: dart.nullable(core.String),
  [S$0._outline]: core.String,
  [S$0.$outlineColor]: dart.nullable(core.String),
  [S$0._outlineColor]: core.String,
  [S$0.$outlineStyle]: dart.nullable(core.String),
  [S$0._outlineStyle]: core.String,
  [S$0.$outlineWidth]: dart.nullable(core.String),
  [S$0._outlineWidth]: core.String,
  [S$0.$overflow]: dart.nullable(core.String),
  [S$0._overflow]: core.String,
  [S$0.$padding]: dart.nullable(core.String),
  [S$0._padding]: core.String,
  [S$0.$paddingBottom]: dart.nullable(core.String),
  [S$0._paddingBottom]: core.String,
  [S$0.$paddingLeft]: dart.nullable(core.String),
  [S$0._paddingLeft]: core.String,
  [S$0.$paddingRight]: dart.nullable(core.String),
  [S$0._paddingRight]: core.String,
  [S$0.$paddingTop]: dart.nullable(core.String),
  [S$0._paddingTop]: core.String,
  [S$0.$pageBreakAfter]: dart.nullable(core.String),
  [S$0._pageBreakAfter]: core.String,
  [S$0.$pageBreakBefore]: dart.nullable(core.String),
  [S$0._pageBreakBefore]: core.String,
  [S$0.$pageBreakInside]: dart.nullable(core.String),
  [S$0._pageBreakInside]: core.String,
  [S$0.$position]: dart.nullable(core.String),
  [S$0._position$2]: core.String,
  [S$0.$quotes]: dart.nullable(core.String),
  [S$0._quotes]: core.String,
  [$right]: dart.nullable(core.String),
  [S$0._right$2]: core.String,
  [S$0.$tableLayout]: dart.nullable(core.String),
  [S$0._tableLayout]: core.String,
  [S$.$textAlign]: dart.nullable(core.String),
  [S$0._textAlign]: core.String,
  [S$0.$textDecoration]: dart.nullable(core.String),
  [S$0._textDecoration]: core.String,
  [S$0.$textIndent]: dart.nullable(core.String),
  [S$0._textIndent]: core.String,
  [S$0.$textTransform]: dart.nullable(core.String),
  [S$0._textTransform]: core.String,
  [$top]: dart.nullable(core.String),
  [S$0._top]: core.String,
  [S$0.$unicodeBidi]: dart.nullable(core.String),
  [S$0._unicodeBidi]: core.String,
  [S$0.$verticalAlign]: dart.nullable(core.String),
  [S$0._verticalAlign]: core.String,
  [S$0.$visibility]: dart.nullable(core.String),
  [S$0._visibility]: core.String,
  [S$0.$whiteSpace]: dart.nullable(core.String),
  [S$0._whiteSpace]: core.String,
  [$width]: dart.nullable(core.String),
  [S$0._width$1]: core.String,
  [S$0.$wordSpacing]: dart.nullable(core.String),
  [S$0._wordSpacing]: core.String,
  [S$0.$zIndex]: dart.nullable(core.String),
  [S$0._zIndex]: core.String
}));
dart.setLibraryUri(html$.CssStyleDeclaration, I[148]);
dart.defineLazy(html$.CssStyleDeclaration, {
  /*html$.CssStyleDeclaration._propertyCache*/get _propertyCache() {
    return {};
  }
}, false);
dart.registerExtension("CSSStyleDeclaration", html$.CssStyleDeclaration);
dart.registerExtension("MSStyleCSSProperties", html$.CssStyleDeclaration);
dart.registerExtension("CSS2Properties", html$.CssStyleDeclaration);
const Object_CssStyleDeclarationBase$36 = class Object_CssStyleDeclarationBase extends core.Object {};
(Object_CssStyleDeclarationBase$36.new = function() {
}).prototype = Object_CssStyleDeclarationBase$36.prototype;
dart.applyMixin(Object_CssStyleDeclarationBase$36, html$.CssStyleDeclarationBase);
html$._CssStyleDeclarationSet = class _CssStyleDeclarationSet extends Object_CssStyleDeclarationBase$36 {
  getPropertyValue(propertyName) {
    if (propertyName == null) dart.nullFailed(I[147], 5444, 34, "propertyName");
    return dart.nullCheck(this[S$0._elementCssStyleDeclarationSetIterable])[$first][S$.$getPropertyValue](propertyName);
  }
  setProperty(propertyName, value, priority = null) {
    if (propertyName == null) dart.nullFailed(I[147], 5448, 27, "propertyName");
    dart.nullCheck(this[S$0._elementCssStyleDeclarationSetIterable])[$forEach](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 5450, 19, "e");
      return e[S$.$setProperty](propertyName, value, priority);
    }, T$0.CssStyleDeclarationTovoid()));
  }
  [S$0._setAll](propertyName, value) {
    if (propertyName == null) dart.nullFailed(I[147], 5453, 23, "propertyName");
    value = value == null ? "" : value;
    for (let element of this[S$0._elementIterable]) {
      element.style[propertyName] = value;
    }
  }
  set background(value) {
    if (value == null) dart.nullFailed(I[147], 5461, 25, "value");
    this[S$0._setAll]("background", value);
  }
  get background() {
    return super.background;
  }
  set backgroundAttachment(value) {
    if (value == null) dart.nullFailed(I[147], 5466, 35, "value");
    this[S$0._setAll]("backgroundAttachment", value);
  }
  get backgroundAttachment() {
    return super.backgroundAttachment;
  }
  set backgroundColor(value) {
    if (value == null) dart.nullFailed(I[147], 5471, 30, "value");
    this[S$0._setAll]("backgroundColor", value);
  }
  get backgroundColor() {
    return super.backgroundColor;
  }
  set backgroundImage(value) {
    if (value == null) dart.nullFailed(I[147], 5476, 30, "value");
    this[S$0._setAll]("backgroundImage", value);
  }
  get backgroundImage() {
    return super.backgroundImage;
  }
  set backgroundPosition(value) {
    if (value == null) dart.nullFailed(I[147], 5481, 33, "value");
    this[S$0._setAll]("backgroundPosition", value);
  }
  get backgroundPosition() {
    return super.backgroundPosition;
  }
  set backgroundRepeat(value) {
    if (value == null) dart.nullFailed(I[147], 5486, 31, "value");
    this[S$0._setAll]("backgroundRepeat", value);
  }
  get backgroundRepeat() {
    return super.backgroundRepeat;
  }
  set border(value) {
    if (value == null) dart.nullFailed(I[147], 5491, 21, "value");
    this[S$0._setAll]("border", value);
  }
  get border() {
    return super.border;
  }
  set borderBottom(value) {
    if (value == null) dart.nullFailed(I[147], 5496, 27, "value");
    this[S$0._setAll]("borderBottom", value);
  }
  get borderBottom() {
    return super.borderBottom;
  }
  set borderBottomColor(value) {
    if (value == null) dart.nullFailed(I[147], 5501, 32, "value");
    this[S$0._setAll]("borderBottomColor", value);
  }
  get borderBottomColor() {
    return super.borderBottomColor;
  }
  set borderBottomStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5506, 32, "value");
    this[S$0._setAll]("borderBottomStyle", value);
  }
  get borderBottomStyle() {
    return super.borderBottomStyle;
  }
  set borderBottomWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5511, 32, "value");
    this[S$0._setAll]("borderBottomWidth", value);
  }
  get borderBottomWidth() {
    return super.borderBottomWidth;
  }
  set borderCollapse(value) {
    if (value == null) dart.nullFailed(I[147], 5516, 29, "value");
    this[S$0._setAll]("borderCollapse", value);
  }
  get borderCollapse() {
    return super.borderCollapse;
  }
  set borderColor(value) {
    if (value == null) dart.nullFailed(I[147], 5521, 26, "value");
    this[S$0._setAll]("borderColor", value);
  }
  get borderColor() {
    return super.borderColor;
  }
  set borderLeft(value) {
    if (value == null) dart.nullFailed(I[147], 5526, 25, "value");
    this[S$0._setAll]("borderLeft", value);
  }
  get borderLeft() {
    return super.borderLeft;
  }
  set borderLeftColor(value) {
    if (value == null) dart.nullFailed(I[147], 5531, 30, "value");
    this[S$0._setAll]("borderLeftColor", value);
  }
  get borderLeftColor() {
    return super.borderLeftColor;
  }
  set borderLeftStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5536, 30, "value");
    this[S$0._setAll]("borderLeftStyle", value);
  }
  get borderLeftStyle() {
    return super.borderLeftStyle;
  }
  set borderLeftWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5541, 30, "value");
    this[S$0._setAll]("borderLeftWidth", value);
  }
  get borderLeftWidth() {
    return super.borderLeftWidth;
  }
  set borderRight(value) {
    if (value == null) dart.nullFailed(I[147], 5546, 26, "value");
    this[S$0._setAll]("borderRight", value);
  }
  get borderRight() {
    return super.borderRight;
  }
  set borderRightColor(value) {
    if (value == null) dart.nullFailed(I[147], 5551, 31, "value");
    this[S$0._setAll]("borderRightColor", value);
  }
  get borderRightColor() {
    return super.borderRightColor;
  }
  set borderRightStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5556, 31, "value");
    this[S$0._setAll]("borderRightStyle", value);
  }
  get borderRightStyle() {
    return super.borderRightStyle;
  }
  set borderRightWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5561, 31, "value");
    this[S$0._setAll]("borderRightWidth", value);
  }
  get borderRightWidth() {
    return super.borderRightWidth;
  }
  set borderSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 5566, 28, "value");
    this[S$0._setAll]("borderSpacing", value);
  }
  get borderSpacing() {
    return super.borderSpacing;
  }
  set borderStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5571, 26, "value");
    this[S$0._setAll]("borderStyle", value);
  }
  get borderStyle() {
    return super.borderStyle;
  }
  set borderTop(value) {
    if (value == null) dart.nullFailed(I[147], 5576, 24, "value");
    this[S$0._setAll]("borderTop", value);
  }
  get borderTop() {
    return super.borderTop;
  }
  set borderTopColor(value) {
    if (value == null) dart.nullFailed(I[147], 5581, 29, "value");
    this[S$0._setAll]("borderTopColor", value);
  }
  get borderTopColor() {
    return super.borderTopColor;
  }
  set borderTopStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5586, 29, "value");
    this[S$0._setAll]("borderTopStyle", value);
  }
  get borderTopStyle() {
    return super.borderTopStyle;
  }
  set borderTopWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5591, 29, "value");
    this[S$0._setAll]("borderTopWidth", value);
  }
  get borderTopWidth() {
    return super.borderTopWidth;
  }
  set borderWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5596, 26, "value");
    this[S$0._setAll]("borderWidth", value);
  }
  get borderWidth() {
    return super.borderWidth;
  }
  set bottom(value) {
    if (value == null) dart.nullFailed(I[147], 5601, 21, "value");
    this[S$0._setAll]("bottom", value);
  }
  get bottom() {
    return super.bottom;
  }
  set captionSide(value) {
    if (value == null) dart.nullFailed(I[147], 5606, 26, "value");
    this[S$0._setAll]("captionSide", value);
  }
  get captionSide() {
    return super.captionSide;
  }
  set clear(value) {
    if (value == null) dart.nullFailed(I[147], 5611, 20, "value");
    this[S$0._setAll]("clear", value);
  }
  get clear() {
    return super.clear;
  }
  set clip(value) {
    if (value == null) dart.nullFailed(I[147], 5616, 19, "value");
    this[S$0._setAll]("clip", value);
  }
  get clip() {
    return super.clip;
  }
  set color(value) {
    if (value == null) dart.nullFailed(I[147], 5621, 20, "value");
    this[S$0._setAll]("color", value);
  }
  get color() {
    return super.color;
  }
  set content(value) {
    if (value == null) dart.nullFailed(I[147], 5626, 22, "value");
    this[S$0._setAll]("content", value);
  }
  get content() {
    return super.content;
  }
  set cursor(value) {
    if (value == null) dart.nullFailed(I[147], 5631, 21, "value");
    this[S$0._setAll]("cursor", value);
  }
  get cursor() {
    return super.cursor;
  }
  set direction(value) {
    if (value == null) dart.nullFailed(I[147], 5636, 24, "value");
    this[S$0._setAll]("direction", value);
  }
  get direction() {
    return super.direction;
  }
  set display(value) {
    if (value == null) dart.nullFailed(I[147], 5641, 22, "value");
    this[S$0._setAll]("display", value);
  }
  get display() {
    return super.display;
  }
  set emptyCells(value) {
    if (value == null) dart.nullFailed(I[147], 5646, 25, "value");
    this[S$0._setAll]("emptyCells", value);
  }
  get emptyCells() {
    return super.emptyCells;
  }
  set font(value) {
    if (value == null) dart.nullFailed(I[147], 5651, 19, "value");
    this[S$0._setAll]("font", value);
  }
  get font() {
    return super.font;
  }
  set fontFamily(value) {
    if (value == null) dart.nullFailed(I[147], 5656, 25, "value");
    this[S$0._setAll]("fontFamily", value);
  }
  get fontFamily() {
    return super.fontFamily;
  }
  set fontSize(value) {
    if (value == null) dart.nullFailed(I[147], 5661, 23, "value");
    this[S$0._setAll]("fontSize", value);
  }
  get fontSize() {
    return super.fontSize;
  }
  set fontStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5666, 24, "value");
    this[S$0._setAll]("fontStyle", value);
  }
  get fontStyle() {
    return super.fontStyle;
  }
  set fontVariant(value) {
    if (value == null) dart.nullFailed(I[147], 5671, 26, "value");
    this[S$0._setAll]("fontVariant", value);
  }
  get fontVariant() {
    return super.fontVariant;
  }
  set fontWeight(value) {
    if (value == null) dart.nullFailed(I[147], 5676, 25, "value");
    this[S$0._setAll]("fontWeight", value);
  }
  get fontWeight() {
    return super.fontWeight;
  }
  set height(value) {
    if (value == null) dart.nullFailed(I[147], 5681, 21, "value");
    this[S$0._setAll]("height", value);
  }
  get height() {
    return super.height;
  }
  set left(value) {
    if (value == null) dart.nullFailed(I[147], 5686, 19, "value");
    this[S$0._setAll]("left", value);
  }
  get left() {
    return super.left;
  }
  set letterSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 5691, 28, "value");
    this[S$0._setAll]("letterSpacing", value);
  }
  get letterSpacing() {
    return super.letterSpacing;
  }
  set lineHeight(value) {
    if (value == null) dart.nullFailed(I[147], 5696, 25, "value");
    this[S$0._setAll]("lineHeight", value);
  }
  get lineHeight() {
    return super.lineHeight;
  }
  set listStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5701, 24, "value");
    this[S$0._setAll]("listStyle", value);
  }
  get listStyle() {
    return super.listStyle;
  }
  set listStyleImage(value) {
    if (value == null) dart.nullFailed(I[147], 5706, 29, "value");
    this[S$0._setAll]("listStyleImage", value);
  }
  get listStyleImage() {
    return super.listStyleImage;
  }
  set listStylePosition(value) {
    if (value == null) dart.nullFailed(I[147], 5711, 32, "value");
    this[S$0._setAll]("listStylePosition", value);
  }
  get listStylePosition() {
    return super.listStylePosition;
  }
  set listStyleType(value) {
    if (value == null) dart.nullFailed(I[147], 5716, 28, "value");
    this[S$0._setAll]("listStyleType", value);
  }
  get listStyleType() {
    return super.listStyleType;
  }
  set margin(value) {
    if (value == null) dart.nullFailed(I[147], 5721, 21, "value");
    this[S$0._setAll]("margin", value);
  }
  get margin() {
    return super.margin;
  }
  set marginBottom(value) {
    if (value == null) dart.nullFailed(I[147], 5726, 27, "value");
    this[S$0._setAll]("marginBottom", value);
  }
  get marginBottom() {
    return super.marginBottom;
  }
  set marginLeft(value) {
    if (value == null) dart.nullFailed(I[147], 5731, 25, "value");
    this[S$0._setAll]("marginLeft", value);
  }
  get marginLeft() {
    return super.marginLeft;
  }
  set marginRight(value) {
    if (value == null) dart.nullFailed(I[147], 5736, 26, "value");
    this[S$0._setAll]("marginRight", value);
  }
  get marginRight() {
    return super.marginRight;
  }
  set marginTop(value) {
    if (value == null) dart.nullFailed(I[147], 5741, 24, "value");
    this[S$0._setAll]("marginTop", value);
  }
  get marginTop() {
    return super.marginTop;
  }
  set maxHeight(value) {
    if (value == null) dart.nullFailed(I[147], 5746, 24, "value");
    this[S$0._setAll]("maxHeight", value);
  }
  get maxHeight() {
    return super.maxHeight;
  }
  set maxWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5751, 23, "value");
    this[S$0._setAll]("maxWidth", value);
  }
  get maxWidth() {
    return super.maxWidth;
  }
  set minHeight(value) {
    if (value == null) dart.nullFailed(I[147], 5756, 24, "value");
    this[S$0._setAll]("minHeight", value);
  }
  get minHeight() {
    return super.minHeight;
  }
  set minWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5761, 23, "value");
    this[S$0._setAll]("minWidth", value);
  }
  get minWidth() {
    return super.minWidth;
  }
  set outline(value) {
    if (value == null) dart.nullFailed(I[147], 5766, 22, "value");
    this[S$0._setAll]("outline", value);
  }
  get outline() {
    return super.outline;
  }
  set outlineColor(value) {
    if (value == null) dart.nullFailed(I[147], 5771, 27, "value");
    this[S$0._setAll]("outlineColor", value);
  }
  get outlineColor() {
    return super.outlineColor;
  }
  set outlineStyle(value) {
    if (value == null) dart.nullFailed(I[147], 5776, 27, "value");
    this[S$0._setAll]("outlineStyle", value);
  }
  get outlineStyle() {
    return super.outlineStyle;
  }
  set outlineWidth(value) {
    if (value == null) dart.nullFailed(I[147], 5781, 27, "value");
    this[S$0._setAll]("outlineWidth", value);
  }
  get outlineWidth() {
    return super.outlineWidth;
  }
  set overflow(value) {
    if (value == null) dart.nullFailed(I[147], 5786, 23, "value");
    this[S$0._setAll]("overflow", value);
  }
  get overflow() {
    return super.overflow;
  }
  set padding(value) {
    if (value == null) dart.nullFailed(I[147], 5791, 22, "value");
    this[S$0._setAll]("padding", value);
  }
  get padding() {
    return super.padding;
  }
  set paddingBottom(value) {
    if (value == null) dart.nullFailed(I[147], 5796, 28, "value");
    this[S$0._setAll]("paddingBottom", value);
  }
  get paddingBottom() {
    return super.paddingBottom;
  }
  set paddingLeft(value) {
    if (value == null) dart.nullFailed(I[147], 5801, 26, "value");
    this[S$0._setAll]("paddingLeft", value);
  }
  get paddingLeft() {
    return super.paddingLeft;
  }
  set paddingRight(value) {
    if (value == null) dart.nullFailed(I[147], 5806, 27, "value");
    this[S$0._setAll]("paddingRight", value);
  }
  get paddingRight() {
    return super.paddingRight;
  }
  set paddingTop(value) {
    if (value == null) dart.nullFailed(I[147], 5811, 25, "value");
    this[S$0._setAll]("paddingTop", value);
  }
  get paddingTop() {
    return super.paddingTop;
  }
  set pageBreakAfter(value) {
    if (value == null) dart.nullFailed(I[147], 5816, 29, "value");
    this[S$0._setAll]("pageBreakAfter", value);
  }
  get pageBreakAfter() {
    return super.pageBreakAfter;
  }
  set pageBreakBefore(value) {
    if (value == null) dart.nullFailed(I[147], 5821, 30, "value");
    this[S$0._setAll]("pageBreakBefore", value);
  }
  get pageBreakBefore() {
    return super.pageBreakBefore;
  }
  set pageBreakInside(value) {
    if (value == null) dart.nullFailed(I[147], 5826, 30, "value");
    this[S$0._setAll]("pageBreakInside", value);
  }
  get pageBreakInside() {
    return super.pageBreakInside;
  }
  set position(value) {
    if (value == null) dart.nullFailed(I[147], 5831, 23, "value");
    this[S$0._setAll]("position", value);
  }
  get position() {
    return super.position;
  }
  set quotes(value) {
    if (value == null) dart.nullFailed(I[147], 5836, 21, "value");
    this[S$0._setAll]("quotes", value);
  }
  get quotes() {
    return super.quotes;
  }
  set right(value) {
    if (value == null) dart.nullFailed(I[147], 5841, 20, "value");
    this[S$0._setAll]("right", value);
  }
  get right() {
    return super.right;
  }
  set tableLayout(value) {
    if (value == null) dart.nullFailed(I[147], 5846, 26, "value");
    this[S$0._setAll]("tableLayout", value);
  }
  get tableLayout() {
    return super.tableLayout;
  }
  set textAlign(value) {
    if (value == null) dart.nullFailed(I[147], 5851, 24, "value");
    this[S$0._setAll]("textAlign", value);
  }
  get textAlign() {
    return super.textAlign;
  }
  set textDecoration(value) {
    if (value == null) dart.nullFailed(I[147], 5856, 29, "value");
    this[S$0._setAll]("textDecoration", value);
  }
  get textDecoration() {
    return super.textDecoration;
  }
  set textIndent(value) {
    if (value == null) dart.nullFailed(I[147], 5861, 25, "value");
    this[S$0._setAll]("textIndent", value);
  }
  get textIndent() {
    return super.textIndent;
  }
  set textTransform(value) {
    if (value == null) dart.nullFailed(I[147], 5866, 28, "value");
    this[S$0._setAll]("textTransform", value);
  }
  get textTransform() {
    return super.textTransform;
  }
  set top(value) {
    if (value == null) dart.nullFailed(I[147], 5871, 18, "value");
    this[S$0._setAll]("top", value);
  }
  get top() {
    return super.top;
  }
  set unicodeBidi(value) {
    if (value == null) dart.nullFailed(I[147], 5876, 26, "value");
    this[S$0._setAll]("unicodeBidi", value);
  }
  get unicodeBidi() {
    return super.unicodeBidi;
  }
  set verticalAlign(value) {
    if (value == null) dart.nullFailed(I[147], 5881, 28, "value");
    this[S$0._setAll]("verticalAlign", value);
  }
  get verticalAlign() {
    return super.verticalAlign;
  }
  set visibility(value) {
    if (value == null) dart.nullFailed(I[147], 5886, 25, "value");
    this[S$0._setAll]("visibility", value);
  }
  get visibility() {
    return super.visibility;
  }
  set whiteSpace(value) {
    if (value == null) dart.nullFailed(I[147], 5891, 25, "value");
    this[S$0._setAll]("whiteSpace", value);
  }
  get whiteSpace() {
    return super.whiteSpace;
  }
  set width(value) {
    if (value == null) dart.nullFailed(I[147], 5896, 20, "value");
    this[S$0._setAll]("width", value);
  }
  get width() {
    return super.width;
  }
  set wordSpacing(value) {
    if (value == null) dart.nullFailed(I[147], 5901, 26, "value");
    this[S$0._setAll]("wordSpacing", value);
  }
  get wordSpacing() {
    return super.wordSpacing;
  }
  set zIndex(value) {
    if (value == null) dart.nullFailed(I[147], 5906, 21, "value");
    this[S$0._setAll]("zIndex", value);
  }
  get zIndex() {
    return super.zIndex;
  }
};
(html$._CssStyleDeclarationSet.new = function(_elementIterable) {
  if (_elementIterable == null) dart.nullFailed(I[147], 5439, 32, "_elementIterable");
  this[S$0._elementCssStyleDeclarationSetIterable] = null;
  this[S$0._elementIterable] = _elementIterable;
  this[S$0._elementCssStyleDeclarationSetIterable] = core.List.from(this[S$0._elementIterable])[$map](html$.CssStyleDeclaration, dart.fn(e => html$.CssStyleDeclaration.as(dart.dload(e, 'style')), T$0.dynamicToCssStyleDeclaration()));
}).prototype = html$._CssStyleDeclarationSet.prototype;
dart.addTypeTests(html$._CssStyleDeclarationSet);
dart.addTypeCaches(html$._CssStyleDeclarationSet);
dart.setMethodSignature(html$._CssStyleDeclarationSet, () => ({
  __proto__: dart.getMethods(html$._CssStyleDeclarationSet.__proto__),
  getPropertyValue: dart.fnType(core.String, [core.String]),
  [S$.$getPropertyValue]: dart.fnType(core.String, [core.String]),
  setProperty: dart.fnType(dart.void, [core.String, dart.nullable(core.String)], [dart.nullable(core.String)]),
  [S$.$setProperty]: dart.fnType(dart.void, [core.String, dart.nullable(core.String)], [dart.nullable(core.String)]),
  [S$0._setAll]: dart.fnType(dart.void, [core.String, dart.nullable(core.String)])
}));
dart.setLibraryUri(html$._CssStyleDeclarationSet, I[148]);
dart.setFieldSignature(html$._CssStyleDeclarationSet, () => ({
  __proto__: dart.getFields(html$._CssStyleDeclarationSet.__proto__),
  [S$0._elementIterable]: dart.finalFieldType(core.Iterable$(html$.Element)),
  [S$0._elementCssStyleDeclarationSetIterable]: dart.fieldType(dart.nullable(core.Iterable$(html$.CssStyleDeclaration)))
}));
dart.defineExtensionMethods(html$._CssStyleDeclarationSet, ['getPropertyValue', 'setProperty']);
dart.defineExtensionAccessors(html$._CssStyleDeclarationSet, [
  'background',
  'backgroundAttachment',
  'backgroundColor',
  'backgroundImage',
  'backgroundPosition',
  'backgroundRepeat',
  'border',
  'borderBottom',
  'borderBottomColor',
  'borderBottomStyle',
  'borderBottomWidth',
  'borderCollapse',
  'borderColor',
  'borderLeft',
  'borderLeftColor',
  'borderLeftStyle',
  'borderLeftWidth',
  'borderRight',
  'borderRightColor',
  'borderRightStyle',
  'borderRightWidth',
  'borderSpacing',
  'borderStyle',
  'borderTop',
  'borderTopColor',
  'borderTopStyle',
  'borderTopWidth',
  'borderWidth',
  'bottom',
  'captionSide',
  'clear',
  'clip',
  'color',
  'content',
  'cursor',
  'direction',
  'display',
  'emptyCells',
  'font',
  'fontFamily',
  'fontSize',
  'fontStyle',
  'fontVariant',
  'fontWeight',
  'height',
  'left',
  'letterSpacing',
  'lineHeight',
  'listStyle',
  'listStyleImage',
  'listStylePosition',
  'listStyleType',
  'margin',
  'marginBottom',
  'marginLeft',
  'marginRight',
  'marginTop',
  'maxHeight',
  'maxWidth',
  'minHeight',
  'minWidth',
  'outline',
  'outlineColor',
  'outlineStyle',
  'outlineWidth',
  'overflow',
  'padding',
  'paddingBottom',
  'paddingLeft',
  'paddingRight',
  'paddingTop',
  'pageBreakAfter',
  'pageBreakBefore',
  'pageBreakInside',
  'position',
  'quotes',
  'right',
  'tableLayout',
  'textAlign',
  'textDecoration',
  'textIndent',
  'textTransform',
  'top',
  'unicodeBidi',
  'verticalAlign',
  'visibility',
  'whiteSpace',
  'width',
  'wordSpacing',
  'zIndex'
]);
html$.CssStyleRule = class CssStyleRule extends html$.CssRule {
  get [S$.$selectorText]() {
    return this.selectorText;
  }
  set [S$.$selectorText](value) {
    this.selectorText = value;
  }
  get [S.$style]() {
    return this.style;
  }
};
dart.addTypeTests(html$.CssStyleRule);
dart.addTypeCaches(html$.CssStyleRule);
dart.setGetterSignature(html$.CssStyleRule, () => ({
  __proto__: dart.getGetters(html$.CssStyleRule.__proto__),
  [S$.$selectorText]: core.String,
  [S.$style]: html$.CssStyleDeclaration
}));
dart.setSetterSignature(html$.CssStyleRule, () => ({
  __proto__: dart.getSetters(html$.CssStyleRule.__proto__),
  [S$.$selectorText]: core.String
}));
dart.setLibraryUri(html$.CssStyleRule, I[148]);
dart.registerExtension("CSSStyleRule", html$.CssStyleRule);
html$.StyleSheet = class StyleSheet extends _interceptors.Interceptor {
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$href]() {
    return this.href;
  }
  get [S$.$media]() {
    return this.media;
  }
  get [S$0.$ownerNode]() {
    return this.ownerNode;
  }
  get [S$.$parentStyleSheet]() {
    return this.parentStyleSheet;
  }
  get [S.$title]() {
    return this.title;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(html$.StyleSheet);
dart.addTypeCaches(html$.StyleSheet);
dart.setGetterSignature(html$.StyleSheet, () => ({
  __proto__: dart.getGetters(html$.StyleSheet.__proto__),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$.$href]: dart.nullable(core.String),
  [S$.$media]: dart.nullable(html$.MediaList),
  [S$0.$ownerNode]: dart.nullable(html$.Node),
  [S$.$parentStyleSheet]: dart.nullable(html$.StyleSheet),
  [S.$title]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.StyleSheet, () => ({
  __proto__: dart.getSetters(html$.StyleSheet.__proto__),
  [S$.$disabled]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.StyleSheet, I[148]);
dart.registerExtension("StyleSheet", html$.StyleSheet);
html$.CssStyleSheet = class CssStyleSheet extends html$.StyleSheet {
  get [S$.$cssRules]() {
    return this.cssRules;
  }
  get [S$0.$ownerRule]() {
    return this.ownerRule;
  }
  get [S$0.$rules]() {
    return this.rules;
  }
  [S$0.$addRule](...args) {
    return this.addRule.apply(this, args);
  }
  [S$.$deleteRule](...args) {
    return this.deleteRule.apply(this, args);
  }
  [S$.$insertRule](...args) {
    return this.insertRule.apply(this, args);
  }
  [S$0.$removeRule](...args) {
    return this.removeRule.apply(this, args);
  }
};
dart.addTypeTests(html$.CssStyleSheet);
dart.addTypeCaches(html$.CssStyleSheet);
dart.setMethodSignature(html$.CssStyleSheet, () => ({
  __proto__: dart.getMethods(html$.CssStyleSheet.__proto__),
  [S$0.$addRule]: dart.fnType(core.int, [dart.nullable(core.String), dart.nullable(core.String)], [dart.nullable(core.int)]),
  [S$.$deleteRule]: dart.fnType(dart.void, [core.int]),
  [S$.$insertRule]: dart.fnType(core.int, [core.String], [dart.nullable(core.int)]),
  [S$0.$removeRule]: dart.fnType(dart.void, [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.CssStyleSheet, () => ({
  __proto__: dart.getGetters(html$.CssStyleSheet.__proto__),
  [S$.$cssRules]: core.List$(html$.CssRule),
  [S$0.$ownerRule]: dart.nullable(html$.CssRule),
  [S$0.$rules]: dart.nullable(core.List$(html$.CssRule))
}));
dart.setLibraryUri(html$.CssStyleSheet, I[148]);
dart.registerExtension("CSSStyleSheet", html$.CssStyleSheet);
html$.CssSupportsRule = class CssSupportsRule extends html$.CssConditionRule {};
dart.addTypeTests(html$.CssSupportsRule);
dart.addTypeCaches(html$.CssSupportsRule);
dart.setLibraryUri(html$.CssSupportsRule, I[148]);
dart.registerExtension("CSSSupportsRule", html$.CssSupportsRule);
html$.CssTransformValue = class CssTransformValue extends html$.CssStyleValue {
  static new(transformComponents = null) {
    if (transformComponents == null) {
      return html$.CssTransformValue._create_1();
    }
    if (T$0.ListOfCssTransformComponent().is(transformComponents)) {
      return html$.CssTransformValue._create_2(transformComponents);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1() {
    return new CSSTransformValue();
  }
  static _create_2(transformComponents) {
    return new CSSTransformValue(transformComponents);
  }
  get [S$.$is2D]() {
    return this.is2D;
  }
  get [$length]() {
    return this.length;
  }
  [S$0.$componentAtIndex](...args) {
    return this.componentAtIndex.apply(this, args);
  }
  [S$0.$toMatrix](...args) {
    return this.toMatrix.apply(this, args);
  }
};
dart.addTypeTests(html$.CssTransformValue);
dart.addTypeCaches(html$.CssTransformValue);
dart.setMethodSignature(html$.CssTransformValue, () => ({
  __proto__: dart.getMethods(html$.CssTransformValue.__proto__),
  [S$0.$componentAtIndex]: dart.fnType(html$.CssTransformComponent, [core.int]),
  [S$0.$toMatrix]: dart.fnType(html$.DomMatrix, [])
}));
dart.setGetterSignature(html$.CssTransformValue, () => ({
  __proto__: dart.getGetters(html$.CssTransformValue.__proto__),
  [S$.$is2D]: dart.nullable(core.bool),
  [$length]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.CssTransformValue, I[148]);
dart.registerExtension("CSSTransformValue", html$.CssTransformValue);
html$.CssTranslation = class CssTranslation extends html$.CssTransformComponent {
  static new(x, y, z = null) {
    if (x == null) dart.nullFailed(I[147], 8808, 42, "x");
    if (y == null) dart.nullFailed(I[147], 8808, 61, "y");
    if (html$.CssNumericValue.is(y) && html$.CssNumericValue.is(x) && z == null) {
      return html$.CssTranslation._create_1(x, y);
    }
    if (html$.CssNumericValue.is(z) && html$.CssNumericValue.is(y) && html$.CssNumericValue.is(x)) {
      return html$.CssTranslation._create_2(x, y, z);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1(x, y) {
    return new CSSTranslation(x, y);
  }
  static _create_2(x, y, z) {
    return new CSSTranslation(x, y, z);
  }
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
  get [S$.$z]() {
    return this.z;
  }
  set [S$.$z](value) {
    this.z = value;
  }
};
dart.addTypeTests(html$.CssTranslation);
dart.addTypeCaches(html$.CssTranslation);
dart.setGetterSignature(html$.CssTranslation, () => ({
  __proto__: dart.getGetters(html$.CssTranslation.__proto__),
  [S$.$x]: dart.nullable(html$.CssNumericValue),
  [S$.$y]: dart.nullable(html$.CssNumericValue),
  [S$.$z]: dart.nullable(html$.CssNumericValue)
}));
dart.setSetterSignature(html$.CssTranslation, () => ({
  __proto__: dart.getSetters(html$.CssTranslation.__proto__),
  [S$.$x]: dart.nullable(html$.CssNumericValue),
  [S$.$y]: dart.nullable(html$.CssNumericValue),
  [S$.$z]: dart.nullable(html$.CssNumericValue)
}));
dart.setLibraryUri(html$.CssTranslation, I[148]);
dart.registerExtension("CSSTranslation", html$.CssTranslation);
html$.CssUnitValue = class CssUnitValue extends html$.CssNumericValue {
  static new(value, unit) {
    if (value == null) dart.nullFailed(I[147], 8848, 28, "value");
    if (unit == null) dart.nullFailed(I[147], 8848, 42, "unit");
    return html$.CssUnitValue._create_1(value, unit);
  }
  static _create_1(value, unit) {
    return new CSSUnitValue(value, unit);
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$0.$unit]() {
    return this.unit;
  }
  set [S$0.$unit](value) {
    this.unit = value;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
dart.addTypeTests(html$.CssUnitValue);
dart.addTypeCaches(html$.CssUnitValue);
dart.setGetterSignature(html$.CssUnitValue, () => ({
  __proto__: dart.getGetters(html$.CssUnitValue.__proto__),
  [S.$type]: dart.nullable(core.String),
  [S$0.$unit]: dart.nullable(core.String),
  [S.$value]: dart.nullable(core.num)
}));
dart.setSetterSignature(html$.CssUnitValue, () => ({
  __proto__: dart.getSetters(html$.CssUnitValue.__proto__),
  [S$0.$unit]: dart.nullable(core.String),
  [S.$value]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.CssUnitValue, I[148]);
dart.registerExtension("CSSUnitValue", html$.CssUnitValue);
html$.CssUnparsedValue = class CssUnparsedValue extends html$.CssStyleValue {
  get [$length]() {
    return this.length;
  }
  [S$0.$fragmentAtIndex](...args) {
    return this.fragmentAtIndex.apply(this, args);
  }
};
dart.addTypeTests(html$.CssUnparsedValue);
dart.addTypeCaches(html$.CssUnparsedValue);
dart.setMethodSignature(html$.CssUnparsedValue, () => ({
  __proto__: dart.getMethods(html$.CssUnparsedValue.__proto__),
  [S$0.$fragmentAtIndex]: dart.fnType(dart.nullable(core.Object), [core.int])
}));
dart.setGetterSignature(html$.CssUnparsedValue, () => ({
  __proto__: dart.getGetters(html$.CssUnparsedValue.__proto__),
  [$length]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.CssUnparsedValue, I[148]);
dart.registerExtension("CSSUnparsedValue", html$.CssUnparsedValue);
html$.CssVariableReferenceValue = class CssVariableReferenceValue extends _interceptors.Interceptor {
  get [S$0.$fallback]() {
    return this.fallback;
  }
  get [S$0.$variable]() {
    return this.variable;
  }
};
dart.addTypeTests(html$.CssVariableReferenceValue);
dart.addTypeCaches(html$.CssVariableReferenceValue);
dart.setGetterSignature(html$.CssVariableReferenceValue, () => ({
  __proto__: dart.getGetters(html$.CssVariableReferenceValue.__proto__),
  [S$0.$fallback]: dart.nullable(html$.CssUnparsedValue),
  [S$0.$variable]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssVariableReferenceValue, I[148]);
dart.registerExtension("CSSVariableReferenceValue", html$.CssVariableReferenceValue);
html$.CssViewportRule = class CssViewportRule extends html$.CssRule {
  get [S.$style]() {
    return this.style;
  }
};
dart.addTypeTests(html$.CssViewportRule);
dart.addTypeCaches(html$.CssViewportRule);
dart.setGetterSignature(html$.CssViewportRule, () => ({
  __proto__: dart.getGetters(html$.CssViewportRule.__proto__),
  [S.$style]: dart.nullable(html$.CssStyleDeclaration)
}));
dart.setLibraryUri(html$.CssViewportRule, I[148]);
dart.registerExtension("CSSViewportRule", html$.CssViewportRule);
html$.CssurlImageValue = class CssurlImageValue extends html$.CssImageValue {
  static new(url) {
    if (url == null) dart.nullFailed(I[147], 8918, 35, "url");
    return html$.CssurlImageValue._create_1(url);
  }
  static _create_1(url) {
    return new CSSURLImageValue(url);
  }
  get [S$.$url]() {
    return this.url;
  }
};
dart.addTypeTests(html$.CssurlImageValue);
dart.addTypeCaches(html$.CssurlImageValue);
dart.setGetterSignature(html$.CssurlImageValue, () => ({
  __proto__: dart.getGetters(html$.CssurlImageValue.__proto__),
  [S$.$url]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.CssurlImageValue, I[148]);
dart.registerExtension("CSSURLImageValue", html$.CssurlImageValue);
html$.CustomElementRegistry = class CustomElementRegistry extends _interceptors.Interceptor {
  [S$0.$define](name, constructor, options = null) {
    if (name == null) dart.nullFailed(I[147], 8946, 22, "name");
    if (constructor == null) dart.nullFailed(I[147], 8946, 35, "constructor");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$0._define_1](name, constructor, options_1);
      return;
    }
    this[S$0._define_2](name, constructor);
    return;
  }
  [S$0._define_1](...args) {
    return this.define.apply(this, args);
  }
  [S$0._define_2](...args) {
    return this.define.apply(this, args);
  }
  [S.$get](...args) {
    return this.get.apply(this, args);
  }
  [S$0.$whenDefined](name) {
    if (name == null) dart.nullFailed(I[147], 8963, 29, "name");
    return js_util.promiseToFuture(dart.dynamic, this.whenDefined(name));
  }
};
dart.addTypeTests(html$.CustomElementRegistry);
dart.addTypeCaches(html$.CustomElementRegistry);
dart.setMethodSignature(html$.CustomElementRegistry, () => ({
  __proto__: dart.getMethods(html$.CustomElementRegistry.__proto__),
  [S$0.$define]: dart.fnType(dart.void, [core.String, core.Object], [dart.nullable(core.Map)]),
  [S$0._define_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$0._define_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic]),
  [S.$get]: dart.fnType(dart.nullable(core.Object), [core.String]),
  [S$0.$whenDefined]: dart.fnType(async.Future, [core.String])
}));
dart.setLibraryUri(html$.CustomElementRegistry, I[148]);
dart.registerExtension("CustomElementRegistry", html$.CustomElementRegistry);
html$.CustomEvent = class CustomEvent$ extends html$.Event {
  get [S$0._dartDetail]() {
    return this._dartDetail;
  }
  set [S$0._dartDetail](value) {
    this._dartDetail = value;
  }
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 8977, 30, "type");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 8978, 13, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 8978, 35, "cancelable");
    let detail = opts && 'detail' in opts ? opts.detail : null;
    let e = html$.CustomEvent.as(html$.document[S._createEvent]("CustomEvent"));
    e[S$0._dartDetail] = detail;
    if (core.List.is(detail) || core.Map.is(detail) || typeof detail == 'string' || typeof detail == 'number') {
      try {
        detail = html_common.convertDartToNative_SerializedScriptValue(detail);
        e[S$0._initCustomEvent](type, canBubble, cancelable, detail);
      } catch (e$) {
        let _ = dart.getThrown(e$);
        if (core.Object.is(_)) {
          e[S$0._initCustomEvent](type, canBubble, cancelable, null);
        } else
          throw e$;
      }
    } else {
      e[S$0._initCustomEvent](type, canBubble, cancelable, null);
    }
    return e;
  }
  get [S$.$detail]() {
    if (this[S$0._dartDetail] != null) {
      return this[S$0._dartDetail];
    }
    return this[S$0._detail];
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 9006, 32, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.CustomEvent._create_1(type, eventInitDict_1);
    }
    return html$.CustomEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new CustomEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new CustomEvent(type);
  }
  get [S$0._detail]() {
    return html_common.convertNativeToDart_SerializedScriptValue(this[S$0._get__detail]);
  }
  get [S$0._get__detail]() {
    return this.detail;
  }
  [S$0._initCustomEvent](...args) {
    return this.initCustomEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.CustomEvent);
dart.addTypeCaches(html$.CustomEvent);
dart.setMethodSignature(html$.CustomEvent, () => ({
  __proto__: dart.getMethods(html$.CustomEvent.__proto__),
  [S$0._initCustomEvent]: dart.fnType(dart.void, [core.String], [dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.Object)])
}));
dart.setGetterSignature(html$.CustomEvent, () => ({
  __proto__: dart.getGetters(html$.CustomEvent.__proto__),
  [S$.$detail]: dart.dynamic,
  [S$0._detail]: dart.dynamic,
  [S$0._get__detail]: dart.dynamic
}));
dart.setLibraryUri(html$.CustomEvent, I[148]);
dart.setFieldSignature(html$.CustomEvent, () => ({
  __proto__: dart.getFields(html$.CustomEvent.__proto__),
  [S$0._dartDetail]: dart.fieldType(dart.dynamic)
}));
dart.registerExtension("CustomEvent", html$.CustomEvent);
html$.DListElement = class DListElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("dl");
  }
};
(html$.DListElement.created = function() {
  html$.DListElement.__proto__.created.call(this);
  ;
}).prototype = html$.DListElement.prototype;
dart.addTypeTests(html$.DListElement);
dart.addTypeCaches(html$.DListElement);
dart.setLibraryUri(html$.DListElement, I[148]);
dart.registerExtension("HTMLDListElement", html$.DListElement);
html$.DataElement = class DataElement extends html$.HtmlElement {
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
(html$.DataElement.created = function() {
  html$.DataElement.__proto__.created.call(this);
  ;
}).prototype = html$.DataElement.prototype;
dart.addTypeTests(html$.DataElement);
dart.addTypeCaches(html$.DataElement);
dart.setGetterSignature(html$.DataElement, () => ({
  __proto__: dart.getGetters(html$.DataElement.__proto__),
  [S.$value]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.DataElement, () => ({
  __proto__: dart.getSetters(html$.DataElement.__proto__),
  [S.$value]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DataElement, I[148]);
dart.registerExtension("HTMLDataElement", html$.DataElement);
html$.DataListElement = class DataListElement extends html$.HtmlElement {
  static new() {
    return html$.DataListElement.as(html$.document[S.$createElement]("datalist"));
  }
  static get supported() {
    return html$.Element.isTagSupported("datalist");
  }
  get [S$0.$options]() {
    return this.options;
  }
};
(html$.DataListElement.created = function() {
  html$.DataListElement.__proto__.created.call(this);
  ;
}).prototype = html$.DataListElement.prototype;
dart.addTypeTests(html$.DataListElement);
dart.addTypeCaches(html$.DataListElement);
dart.setGetterSignature(html$.DataListElement, () => ({
  __proto__: dart.getGetters(html$.DataListElement.__proto__),
  [S$0.$options]: dart.nullable(core.List$(html$.Node))
}));
dart.setLibraryUri(html$.DataListElement, I[148]);
dart.registerExtension("HTMLDataListElement", html$.DataListElement);
html$.DataTransfer = class DataTransfer$ extends _interceptors.Interceptor {
  static new() {
    return html$.DataTransfer._create_1();
  }
  static _create_1() {
    return new DataTransfer();
  }
  get [S$0.$dropEffect]() {
    return this.dropEffect;
  }
  set [S$0.$dropEffect](value) {
    this.dropEffect = value;
  }
  get [S$0.$effectAllowed]() {
    return this.effectAllowed;
  }
  set [S$0.$effectAllowed](value) {
    this.effectAllowed = value;
  }
  get [S$0.$files]() {
    return this.files;
  }
  get [S$0.$items]() {
    return this.items;
  }
  get [S$0.$types]() {
    return this.types;
  }
  [S$0.$clearData](...args) {
    return this.clearData.apply(this, args);
  }
  [S$0.$getData](...args) {
    return this.getData.apply(this, args);
  }
  [S$0.$setData](...args) {
    return this.setData.apply(this, args);
  }
  [S$0.$setDragImage](...args) {
    return this.setDragImage.apply(this, args);
  }
};
dart.addTypeTests(html$.DataTransfer);
dart.addTypeCaches(html$.DataTransfer);
dart.setMethodSignature(html$.DataTransfer, () => ({
  __proto__: dart.getMethods(html$.DataTransfer.__proto__),
  [S$0.$clearData]: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  [S$0.$getData]: dart.fnType(core.String, [core.String]),
  [S$0.$setData]: dart.fnType(dart.void, [core.String, core.String]),
  [S$0.$setDragImage]: dart.fnType(dart.void, [html$.Element, core.int, core.int])
}));
dart.setGetterSignature(html$.DataTransfer, () => ({
  __proto__: dart.getGetters(html$.DataTransfer.__proto__),
  [S$0.$dropEffect]: dart.nullable(core.String),
  [S$0.$effectAllowed]: dart.nullable(core.String),
  [S$0.$files]: dart.nullable(core.List$(html$.File)),
  [S$0.$items]: dart.nullable(html$.DataTransferItemList),
  [S$0.$types]: dart.nullable(core.List$(core.String))
}));
dart.setSetterSignature(html$.DataTransfer, () => ({
  __proto__: dart.getSetters(html$.DataTransfer.__proto__),
  [S$0.$dropEffect]: dart.nullable(core.String),
  [S$0.$effectAllowed]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DataTransfer, I[148]);
dart.registerExtension("DataTransfer", html$.DataTransfer);
html$.DataTransferItem = class DataTransferItem extends _interceptors.Interceptor {
  [S$0.$getAsEntry]() {
    let entry = dart.nullCast(this[S$0._webkitGetAsEntry](), html$.Entry);
    if (dart.nullCheck(entry.isFile))
      _js_helper.applyExtension("FileEntry", entry);
    else if (dart.nullCheck(entry.isDirectory))
      _js_helper.applyExtension("DirectoryEntry", entry);
    else
      _js_helper.applyExtension("Entry", entry);
    return entry;
  }
  get [S$.$kind]() {
    return this.kind;
  }
  get [S.$type]() {
    return this.type;
  }
  [S$0.$getAsFile](...args) {
    return this.getAsFile.apply(this, args);
  }
  [S$0._webkitGetAsEntry](...args) {
    return this.webkitGetAsEntry.apply(this, args);
  }
};
dart.addTypeTests(html$.DataTransferItem);
dart.addTypeCaches(html$.DataTransferItem);
dart.setMethodSignature(html$.DataTransferItem, () => ({
  __proto__: dart.getMethods(html$.DataTransferItem.__proto__),
  [S$0.$getAsEntry]: dart.fnType(html$.Entry, []),
  [S$0.$getAsFile]: dart.fnType(dart.nullable(html$.File), []),
  [S$0._webkitGetAsEntry]: dart.fnType(dart.nullable(html$.Entry), [])
}));
dart.setGetterSignature(html$.DataTransferItem, () => ({
  __proto__: dart.getGetters(html$.DataTransferItem.__proto__),
  [S$.$kind]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DataTransferItem, I[148]);
dart.registerExtension("DataTransferItem", html$.DataTransferItem);
html$.DataTransferItemList = class DataTransferItemList extends _interceptors.Interceptor {
  get [$length]() {
    return this.length;
  }
  [$add](...args) {
    return this.add.apply(this, args);
  }
  [S$0.$addData](...args) {
    return this.add.apply(this, args);
  }
  [S$0.$addFile](...args) {
    return this.add.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [$remove](...args) {
    return this.remove.apply(this, args);
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 9205, 36, "index");
    return this[index];
  }
};
dart.addTypeTests(html$.DataTransferItemList);
dart.addTypeCaches(html$.DataTransferItemList);
dart.setMethodSignature(html$.DataTransferItemList, () => ({
  __proto__: dart.getMethods(html$.DataTransferItemList.__proto__),
  [$add]: dart.fnType(dart.nullable(html$.DataTransferItem), [dart.dynamic], [dart.nullable(core.String)]),
  [S$0.$addData]: dart.fnType(dart.nullable(html$.DataTransferItem), [core.String, core.String]),
  [S$0.$addFile]: dart.fnType(dart.nullable(html$.DataTransferItem), [html$.File]),
  [$clear]: dart.fnType(dart.void, []),
  [S$.$item]: dart.fnType(html$.DataTransferItem, [core.int]),
  [$remove]: dart.fnType(dart.void, [core.int]),
  [$_get]: dart.fnType(html$.DataTransferItem, [core.int])
}));
dart.setGetterSignature(html$.DataTransferItemList, () => ({
  __proto__: dart.getGetters(html$.DataTransferItemList.__proto__),
  [$length]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.DataTransferItemList, I[148]);
dart.registerExtension("DataTransferItemList", html$.DataTransferItemList);
html$.WorkerGlobalScope = class WorkerGlobalScope extends html$.EventTarget {
  get [S$0.$addressSpace]() {
    return this.addressSpace;
  }
  get [S$0.$caches]() {
    return this.caches;
  }
  get [S$0.$crypto]() {
    return this.crypto;
  }
  get [S$0.$indexedDB]() {
    return this.indexedDB;
  }
  get [S$0.$isSecureContext]() {
    return this.isSecureContext;
  }
  get [S$0.$location]() {
    return this.location;
  }
  get [S$0.$navigator]() {
    return this.navigator;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$0.$performance]() {
    return this.performance;
  }
  get [S$0.$self]() {
    return this.self;
  }
  [S$.$fetch](input, init = null) {
    let init_dict = null;
    if (init != null) {
      init_dict = html_common.convertDartToNative_Dictionary(init);
    }
    return js_util.promiseToFuture(dart.dynamic, this.fetch(input, init_dict));
  }
  [S$0.$importScripts](...args) {
    return this.importScripts.apply(this, args);
  }
  [S$0.$atob](...args) {
    return this.atob.apply(this, args);
  }
  [S$0.$btoa](...args) {
    return this.btoa.apply(this, args);
  }
  [S$0._setInterval_String](...args) {
    return this.setInterval.apply(this, args);
  }
  [S$0._setTimeout_String](...args) {
    return this.setTimeout.apply(this, args);
  }
  [S$0._clearInterval](...args) {
    return this.clearInterval.apply(this, args);
  }
  [S$0._clearTimeout](...args) {
    return this.clearTimeout.apply(this, args);
  }
  [S$0._setInterval](...args) {
    return this.setInterval.apply(this, args);
  }
  [S$0._setTimeout](...args) {
    return this.setTimeout.apply(this, args);
  }
  get [S.$onError]() {
    return html$.WorkerGlobalScope.errorEvent.forTarget(this);
  }
  static get instance() {
    return html$._workerSelf;
  }
};
dart.addTypeTests(html$.WorkerGlobalScope);
dart.addTypeCaches(html$.WorkerGlobalScope);
html$.WorkerGlobalScope[dart.implements] = () => [html$._WindowTimers, html$.WindowBase64];
dart.setMethodSignature(html$.WorkerGlobalScope, () => ({
  __proto__: dart.getMethods(html$.WorkerGlobalScope.__proto__),
  [S$.$fetch]: dart.fnType(async.Future, [dart.dynamic], [dart.nullable(core.Map)]),
  [S$0.$importScripts]: dart.fnType(dart.void, [core.String]),
  [S$0.$atob]: dart.fnType(core.String, [core.String]),
  [S$0.$btoa]: dart.fnType(core.String, [core.String]),
  [S$0._setInterval_String]: dart.fnType(core.int, [core.String], [dart.nullable(core.int), dart.nullable(core.Object)]),
  [S$0._setTimeout_String]: dart.fnType(core.int, [core.String], [dart.nullable(core.int), dart.nullable(core.Object)]),
  [S$0._clearInterval]: dart.fnType(dart.void, [], [dart.nullable(core.int)]),
  [S$0._clearTimeout]: dart.fnType(dart.void, [], [dart.nullable(core.int)]),
  [S$0._setInterval]: dart.fnType(core.int, [core.Object], [dart.nullable(core.int)]),
  [S$0._setTimeout]: dart.fnType(core.int, [core.Object], [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.WorkerGlobalScope, () => ({
  __proto__: dart.getGetters(html$.WorkerGlobalScope.__proto__),
  [S$0.$addressSpace]: dart.nullable(core.String),
  [S$0.$caches]: dart.nullable(html$.CacheStorage),
  [S$0.$crypto]: dart.nullable(html$.Crypto),
  [S$0.$indexedDB]: dart.nullable(indexed_db.IdbFactory),
  [S$0.$isSecureContext]: dart.nullable(core.bool),
  [S$0.$location]: html$._WorkerLocation,
  [S$0.$navigator]: html$._WorkerNavigator,
  [S$.$origin]: dart.nullable(core.String),
  [S$0.$performance]: dart.nullable(html$.WorkerPerformance),
  [S$0.$self]: html$.WorkerGlobalScope,
  [S.$onError]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.WorkerGlobalScope, I[148]);
dart.defineLazy(html$.WorkerGlobalScope, {
  /*html$.WorkerGlobalScope.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  }
}, false);
dart.registerExtension("WorkerGlobalScope", html$.WorkerGlobalScope);
html$.DedicatedWorkerGlobalScope = class DedicatedWorkerGlobalScope extends html$.WorkerGlobalScope {
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$.$postMessage](message, transfer = null) {
    if (transfer != null) {
      let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
      this[S$0._postMessage_1](message_1, transfer);
      return;
    }
    let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
    this[S$0._postMessage_2](message_1);
    return;
  }
  [S$0._postMessage_1](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$0._postMessage_2](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$0._webkitRequestFileSystem](...args) {
    return this.webkitRequestFileSystem.apply(this, args);
  }
  [S$0.$requestFileSystemSync](...args) {
    return this.webkitRequestFileSystemSync.apply(this, args);
  }
  [S$0.$resolveLocalFileSystemSyncUrl](...args) {
    return this.webkitResolveLocalFileSystemSyncURL.apply(this, args);
  }
  [S$0._webkitResolveLocalFileSystemUrl](...args) {
    return this.webkitResolveLocalFileSystemURL.apply(this, args);
  }
  get [S$.$onMessage]() {
    return html$.DedicatedWorkerGlobalScope.messageEvent.forTarget(this);
  }
  static get instance() {
    return html$.DedicatedWorkerGlobalScope.as(html$._workerSelf);
  }
};
dart.addTypeTests(html$.DedicatedWorkerGlobalScope);
dart.addTypeCaches(html$.DedicatedWorkerGlobalScope);
dart.setMethodSignature(html$.DedicatedWorkerGlobalScope, () => ({
  __proto__: dart.getMethods(html$.DedicatedWorkerGlobalScope.__proto__),
  [S.$close]: dart.fnType(dart.void, []),
  [S$.$postMessage]: dart.fnType(dart.void, [dart.dynamic], [dart.nullable(core.List$(core.Object))]),
  [S$0._postMessage_1]: dart.fnType(dart.void, [dart.dynamic, core.List$(core.Object)]),
  [S$0._postMessage_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S$0._webkitRequestFileSystem]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(dart.fnType(dart.void, [html$.FileSystem])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.$requestFileSystemSync]: dart.fnType(html$._DOMFileSystemSync, [core.int, core.int]),
  [S$0.$resolveLocalFileSystemSyncUrl]: dart.fnType(html$._EntrySync, [core.String]),
  [S$0._webkitResolveLocalFileSystemUrl]: dart.fnType(dart.void, [core.String, dart.fnType(dart.void, [html$.Entry])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))])
}));
dart.setGetterSignature(html$.DedicatedWorkerGlobalScope, () => ({
  __proto__: dart.getGetters(html$.DedicatedWorkerGlobalScope.__proto__),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setLibraryUri(html$.DedicatedWorkerGlobalScope, I[148]);
dart.defineLazy(html$.DedicatedWorkerGlobalScope, {
  /*html$.DedicatedWorkerGlobalScope.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  },
  /*html$.DedicatedWorkerGlobalScope.PERSISTENT*/get PERSISTENT() {
    return 1;
  },
  /*html$.DedicatedWorkerGlobalScope.TEMPORARY*/get TEMPORARY() {
    return 0;
  }
}, false);
dart.registerExtension("DedicatedWorkerGlobalScope", html$.DedicatedWorkerGlobalScope);
html$.DeprecatedStorageInfo = class DeprecatedStorageInfo extends _interceptors.Interceptor {
  [S$0.$queryUsageAndQuota](...args) {
    return this.queryUsageAndQuota.apply(this, args);
  }
  [S$0.$requestQuota](...args) {
    return this.requestQuota.apply(this, args);
  }
};
dart.addTypeTests(html$.DeprecatedStorageInfo);
dart.addTypeCaches(html$.DeprecatedStorageInfo);
dart.setMethodSignature(html$.DeprecatedStorageInfo, () => ({
  __proto__: dart.getMethods(html$.DeprecatedStorageInfo.__proto__),
  [S$0.$queryUsageAndQuota]: dart.fnType(dart.void, [core.int], [dart.nullable(dart.fnType(dart.void, [core.int, core.int])), dart.nullable(dart.fnType(dart.void, [html$.DomError]))]),
  [S$0.$requestQuota]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(dart.fnType(dart.void, [core.int])), dart.nullable(dart.fnType(dart.void, [html$.DomError]))])
}));
dart.setLibraryUri(html$.DeprecatedStorageInfo, I[148]);
dart.defineLazy(html$.DeprecatedStorageInfo, {
  /*html$.DeprecatedStorageInfo.PERSISTENT*/get PERSISTENT() {
    return 1;
  },
  /*html$.DeprecatedStorageInfo.TEMPORARY*/get TEMPORARY() {
    return 0;
  }
}, false);
dart.registerExtension("DeprecatedStorageInfo", html$.DeprecatedStorageInfo);
html$.DeprecatedStorageQuota = class DeprecatedStorageQuota extends _interceptors.Interceptor {
  [S$0.$queryUsageAndQuota](...args) {
    return this.queryUsageAndQuota.apply(this, args);
  }
  [S$0.$requestQuota](...args) {
    return this.requestQuota.apply(this, args);
  }
};
dart.addTypeTests(html$.DeprecatedStorageQuota);
dart.addTypeCaches(html$.DeprecatedStorageQuota);
dart.setMethodSignature(html$.DeprecatedStorageQuota, () => ({
  __proto__: dart.getMethods(html$.DeprecatedStorageQuota.__proto__),
  [S$0.$queryUsageAndQuota]: dart.fnType(dart.void, [dart.fnType(dart.void, [core.int, core.int])], [dart.nullable(dart.fnType(dart.void, [html$.DomError]))]),
  [S$0.$requestQuota]: dart.fnType(dart.void, [core.int], [dart.nullable(dart.fnType(dart.void, [core.int])), dart.nullable(dart.fnType(dart.void, [html$.DomError]))])
}));
dart.setLibraryUri(html$.DeprecatedStorageQuota, I[148]);
dart.registerExtension("DeprecatedStorageQuota", html$.DeprecatedStorageQuota);
html$.ReportBody = class ReportBody extends _interceptors.Interceptor {};
dart.addTypeTests(html$.ReportBody);
dart.addTypeCaches(html$.ReportBody);
dart.setLibraryUri(html$.ReportBody, I[148]);
dart.registerExtension("ReportBody", html$.ReportBody);
html$.DeprecationReport = class DeprecationReport extends html$.ReportBody {
  get [S$0.$lineNumber]() {
    return this.lineNumber;
  }
  get [$message]() {
    return this.message;
  }
  get [S$0.$sourceFile]() {
    return this.sourceFile;
  }
};
dart.addTypeTests(html$.DeprecationReport);
dart.addTypeCaches(html$.DeprecationReport);
dart.setGetterSignature(html$.DeprecationReport, () => ({
  __proto__: dart.getGetters(html$.DeprecationReport.__proto__),
  [S$0.$lineNumber]: dart.nullable(core.int),
  [$message]: dart.nullable(core.String),
  [S$0.$sourceFile]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DeprecationReport, I[148]);
dart.registerExtension("DeprecationReport", html$.DeprecationReport);
html$.DetailsElement = class DetailsElement extends html$.HtmlElement {
  static new() {
    return html$.DetailsElement.as(html$.document[S.$createElement]("details"));
  }
  static get supported() {
    return html$.Element.isTagSupported("details");
  }
  get [S.$open]() {
    return this.open;
  }
  set [S.$open](value) {
    this.open = value;
  }
};
(html$.DetailsElement.created = function() {
  html$.DetailsElement.__proto__.created.call(this);
  ;
}).prototype = html$.DetailsElement.prototype;
dart.addTypeTests(html$.DetailsElement);
dart.addTypeCaches(html$.DetailsElement);
dart.setGetterSignature(html$.DetailsElement, () => ({
  __proto__: dart.getGetters(html$.DetailsElement.__proto__),
  [S.$open]: dart.nullable(core.bool)
}));
dart.setSetterSignature(html$.DetailsElement, () => ({
  __proto__: dart.getSetters(html$.DetailsElement.__proto__),
  [S.$open]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.DetailsElement, I[148]);
dart.registerExtension("HTMLDetailsElement", html$.DetailsElement);
html$.DetectedBarcode = class DetectedBarcode$ extends _interceptors.Interceptor {
  static new() {
    return html$.DetectedBarcode._create_1();
  }
  static _create_1() {
    return new DetectedBarcode();
  }
  get [$boundingBox]() {
    return this.boundingBox;
  }
  get [S$0.$cornerPoints]() {
    return this.cornerPoints;
  }
  get [S$0.$rawValue]() {
    return this.rawValue;
  }
};
dart.addTypeTests(html$.DetectedBarcode);
dart.addTypeCaches(html$.DetectedBarcode);
dart.setGetterSignature(html$.DetectedBarcode, () => ({
  __proto__: dart.getGetters(html$.DetectedBarcode.__proto__),
  [$boundingBox]: dart.nullable(math.Rectangle$(core.num)),
  [S$0.$cornerPoints]: dart.nullable(core.List),
  [S$0.$rawValue]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DetectedBarcode, I[148]);
dart.registerExtension("DetectedBarcode", html$.DetectedBarcode);
html$.DetectedFace = class DetectedFace$ extends _interceptors.Interceptor {
  static new() {
    return html$.DetectedFace._create_1();
  }
  static _create_1() {
    return new DetectedFace();
  }
  get [$boundingBox]() {
    return this.boundingBox;
  }
  get [S$0.$landmarks]() {
    return this.landmarks;
  }
};
dart.addTypeTests(html$.DetectedFace);
dart.addTypeCaches(html$.DetectedFace);
dart.setGetterSignature(html$.DetectedFace, () => ({
  __proto__: dart.getGetters(html$.DetectedFace.__proto__),
  [$boundingBox]: dart.nullable(math.Rectangle$(core.num)),
  [S$0.$landmarks]: dart.nullable(core.List)
}));
dart.setLibraryUri(html$.DetectedFace, I[148]);
dart.registerExtension("DetectedFace", html$.DetectedFace);
html$.DetectedText = class DetectedText$ extends _interceptors.Interceptor {
  static new() {
    return html$.DetectedText._create_1();
  }
  static _create_1() {
    return new DetectedText();
  }
  get [$boundingBox]() {
    return this.boundingBox;
  }
  get [S$0.$cornerPoints]() {
    return this.cornerPoints;
  }
  get [S$0.$rawValue]() {
    return this.rawValue;
  }
};
dart.addTypeTests(html$.DetectedText);
dart.addTypeCaches(html$.DetectedText);
dart.setGetterSignature(html$.DetectedText, () => ({
  __proto__: dart.getGetters(html$.DetectedText.__proto__),
  [$boundingBox]: dart.nullable(math.Rectangle$(core.num)),
  [S$0.$cornerPoints]: dart.nullable(core.List),
  [S$0.$rawValue]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DetectedText, I[148]);
dart.registerExtension("DetectedText", html$.DetectedText);
html$.DeviceAcceleration = class DeviceAcceleration extends _interceptors.Interceptor {
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$z]() {
    return this.z;
  }
};
dart.addTypeTests(html$.DeviceAcceleration);
dart.addTypeCaches(html$.DeviceAcceleration);
dart.setGetterSignature(html$.DeviceAcceleration, () => ({
  __proto__: dart.getGetters(html$.DeviceAcceleration.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DeviceAcceleration, I[148]);
dart.registerExtension("DeviceAcceleration", html$.DeviceAcceleration);
html$.DeviceMotionEvent = class DeviceMotionEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 9484, 36, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.DeviceMotionEvent._create_1(type, eventInitDict_1);
    }
    return html$.DeviceMotionEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new DeviceMotionEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new DeviceMotionEvent(type);
  }
  get [S$0.$acceleration]() {
    return this.acceleration;
  }
  get [S$0.$accelerationIncludingGravity]() {
    return this.accelerationIncludingGravity;
  }
  get [S$0.$interval]() {
    return this.interval;
  }
  get [S$0.$rotationRate]() {
    return this.rotationRate;
  }
};
dart.addTypeTests(html$.DeviceMotionEvent);
dart.addTypeCaches(html$.DeviceMotionEvent);
dart.setGetterSignature(html$.DeviceMotionEvent, () => ({
  __proto__: dart.getGetters(html$.DeviceMotionEvent.__proto__),
  [S$0.$acceleration]: dart.nullable(html$.DeviceAcceleration),
  [S$0.$accelerationIncludingGravity]: dart.nullable(html$.DeviceAcceleration),
  [S$0.$interval]: dart.nullable(core.num),
  [S$0.$rotationRate]: dart.nullable(html$.DeviceRotationRate)
}));
dart.setLibraryUri(html$.DeviceMotionEvent, I[148]);
dart.registerExtension("DeviceMotionEvent", html$.DeviceMotionEvent);
html$.DeviceOrientationEvent = class DeviceOrientationEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 9515, 41, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.DeviceOrientationEvent._create_1(type, eventInitDict_1);
    }
    return html$.DeviceOrientationEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new DeviceOrientationEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new DeviceOrientationEvent(type);
  }
  get [S$0.$absolute]() {
    return this.absolute;
  }
  get [S$0.$alpha]() {
    return this.alpha;
  }
  get [S$0.$beta]() {
    return this.beta;
  }
  get [S$0.$gamma]() {
    return this.gamma;
  }
};
dart.addTypeTests(html$.DeviceOrientationEvent);
dart.addTypeCaches(html$.DeviceOrientationEvent);
dart.setGetterSignature(html$.DeviceOrientationEvent, () => ({
  __proto__: dart.getGetters(html$.DeviceOrientationEvent.__proto__),
  [S$0.$absolute]: dart.nullable(core.bool),
  [S$0.$alpha]: dart.nullable(core.num),
  [S$0.$beta]: dart.nullable(core.num),
  [S$0.$gamma]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DeviceOrientationEvent, I[148]);
dart.registerExtension("DeviceOrientationEvent", html$.DeviceOrientationEvent);
html$.DeviceRotationRate = class DeviceRotationRate extends _interceptors.Interceptor {
  get [S$0.$alpha]() {
    return this.alpha;
  }
  get [S$0.$beta]() {
    return this.beta;
  }
  get [S$0.$gamma]() {
    return this.gamma;
  }
};
dart.addTypeTests(html$.DeviceRotationRate);
dart.addTypeCaches(html$.DeviceRotationRate);
dart.setGetterSignature(html$.DeviceRotationRate, () => ({
  __proto__: dart.getGetters(html$.DeviceRotationRate.__proto__),
  [S$0.$alpha]: dart.nullable(core.num),
  [S$0.$beta]: dart.nullable(core.num),
  [S$0.$gamma]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DeviceRotationRate, I[148]);
dart.registerExtension("DeviceRotationRate", html$.DeviceRotationRate);
html$.DialogElement = class DialogElement extends html$.HtmlElement {
  get [S.$open]() {
    return this.open;
  }
  set [S.$open](value) {
    this.open = value;
  }
  get [S$.$returnValue]() {
    return this.returnValue;
  }
  set [S$.$returnValue](value) {
    this.returnValue = value;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$0.$show](...args) {
    return this.show.apply(this, args);
  }
  [S$0.$showModal](...args) {
    return this.showModal.apply(this, args);
  }
};
(html$.DialogElement.created = function() {
  html$.DialogElement.__proto__.created.call(this);
  ;
}).prototype = html$.DialogElement.prototype;
dart.addTypeTests(html$.DialogElement);
dart.addTypeCaches(html$.DialogElement);
dart.setMethodSignature(html$.DialogElement, () => ({
  __proto__: dart.getMethods(html$.DialogElement.__proto__),
  [S.$close]: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  [S$0.$show]: dart.fnType(dart.void, []),
  [S$0.$showModal]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.DialogElement, () => ({
  __proto__: dart.getGetters(html$.DialogElement.__proto__),
  [S.$open]: dart.nullable(core.bool),
  [S$.$returnValue]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.DialogElement, () => ({
  __proto__: dart.getSetters(html$.DialogElement.__proto__),
  [S.$open]: dart.nullable(core.bool),
  [S$.$returnValue]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DialogElement, I[148]);
dart.registerExtension("HTMLDialogElement", html$.DialogElement);
html$.Entry = class Entry extends _interceptors.Interceptor {
  get [S$0.$filesystem]() {
    return this.filesystem;
  }
  get [S$0.$fullPath]() {
    return this.fullPath;
  }
  get [S$0.$isDirectory]() {
    return this.isDirectory;
  }
  get [S$0.$isFile]() {
    return this.isFile;
  }
  get [$name]() {
    return this.name;
  }
  [S$0._copyTo](...args) {
    return this.copyTo.apply(this, args);
  }
  [S$0.$copyTo](parent, opts) {
    if (parent == null) dart.nullFailed(I[147], 15355, 39, "parent");
    let name = opts && 'name' in opts ? opts.name : null;
    let completer = T$0.CompleterOfEntry().new();
    this[S$0._copyTo](parent, name, dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 15357, 28, "value");
      completer.complete(value);
    }, T$0.EntryTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 15359, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0._getMetadata](...args) {
    return this.getMetadata.apply(this, args);
  }
  [S$0.$getMetadata]() {
    let completer = T$0.CompleterOfMetadata().new();
    this[S$0._getMetadata](dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 15372, 19, "value");
      _js_helper.applyExtension("Metadata", value);
      completer.complete(value);
    }, T$0.MetadataTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 15375, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0._getParent](...args) {
    return this.getParent.apply(this, args);
  }
  [S$0.$getParent]() {
    let completer = T$0.CompleterOfEntry().new();
    this[S$0._getParent](dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 15388, 17, "value");
      _js_helper.applyExtension("Entry", value);
      completer.complete(value);
    }, T$0.EntryTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 15391, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0._moveTo](...args) {
    return this.moveTo.apply(this, args);
  }
  [S$.$moveTo](parent, opts) {
    if (parent == null) dart.nullFailed(I[147], 15404, 39, "parent");
    let name = opts && 'name' in opts ? opts.name : null;
    let completer = T$0.CompleterOfEntry().new();
    this[S$0._moveTo](parent, name, dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 15406, 28, "value");
      completer.complete(value);
    }, T$0.EntryTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 15408, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0._remove$1](...args) {
    return this.remove.apply(this, args);
  }
  [$remove]() {
    let completer = async.Completer.new();
    this[S$0._remove$1](dart.fn(() => {
      completer.complete();
    }, T$.VoidTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 15423, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0.$toUrl](...args) {
    return this.toURL.apply(this, args);
  }
};
dart.addTypeTests(html$.Entry);
dart.addTypeCaches(html$.Entry);
dart.setMethodSignature(html$.Entry, () => ({
  __proto__: dart.getMethods(html$.Entry.__proto__),
  [S$0._copyTo]: dart.fnType(dart.void, [html$.DirectoryEntry], [dart.nullable(core.String), dart.nullable(dart.fnType(dart.void, [html$.Entry])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.$copyTo]: dart.fnType(async.Future$(html$.Entry), [html$.DirectoryEntry], {name: dart.nullable(core.String)}, {}),
  [S$0._getMetadata]: dart.fnType(dart.void, [dart.fnType(dart.void, [html$.Metadata])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.$getMetadata]: dart.fnType(async.Future$(html$.Metadata), []),
  [S$0._getParent]: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(dart.void, [html$.Entry])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.$getParent]: dart.fnType(async.Future$(html$.Entry), []),
  [S$0._moveTo]: dart.fnType(dart.void, [html$.DirectoryEntry], [dart.nullable(core.String), dart.nullable(dart.fnType(dart.void, [html$.Entry])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$.$moveTo]: dart.fnType(async.Future$(html$.Entry), [html$.DirectoryEntry], {name: dart.nullable(core.String)}, {}),
  [S$0._remove$1]: dart.fnType(dart.void, [dart.fnType(dart.void, [])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [$remove]: dart.fnType(async.Future, []),
  [S$0.$toUrl]: dart.fnType(core.String, [])
}));
dart.setGetterSignature(html$.Entry, () => ({
  __proto__: dart.getGetters(html$.Entry.__proto__),
  [S$0.$filesystem]: dart.nullable(html$.FileSystem),
  [S$0.$fullPath]: dart.nullable(core.String),
  [S$0.$isDirectory]: dart.nullable(core.bool),
  [S$0.$isFile]: dart.nullable(core.bool),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Entry, I[148]);
dart.registerExtension("Entry", html$.Entry);
html$.DirectoryEntry = class DirectoryEntry extends html$.Entry {
  [S$0.$createDirectory](path, opts) {
    if (path == null) dart.nullFailed(I[147], 9598, 40, "path");
    let exclusive = opts && 'exclusive' in opts ? opts.exclusive : false;
    if (exclusive == null) dart.nullFailed(I[147], 9598, 52, "exclusive");
    return this[S$0._getDirectory](path, {options: new _js_helper.LinkedMap.from(["create", true, "exclusive", exclusive])});
  }
  [S$0.$createReader]() {
    let reader = this[S$0._createReader]();
    _js_helper.applyExtension("DirectoryReader", reader);
    return reader;
  }
  [S$0.$getDirectory](path) {
    if (path == null) dart.nullFailed(I[147], 9614, 37, "path");
    return this[S$0._getDirectory](path);
  }
  [S$0.$createFile](path, opts) {
    if (path == null) dart.nullFailed(I[147], 9623, 35, "path");
    let exclusive = opts && 'exclusive' in opts ? opts.exclusive : false;
    if (exclusive == null) dart.nullFailed(I[147], 9623, 47, "exclusive");
    return this[S$0._getFile](path, {options: new _js_helper.LinkedMap.from(["create", true, "exclusive", exclusive])});
  }
  [S$0.$getFile](path) {
    if (path == null) dart.nullFailed(I[147], 9632, 32, "path");
    return this[S$0._getFile](path);
  }
  [S$0._createReader](...args) {
    return this.createReader.apply(this, args);
  }
  [S$0.__getDirectory](path, options = null, successCallback = null, errorCallback = null) {
    if (errorCallback != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$0.__getDirectory_1](path, options_1, successCallback, errorCallback);
      return;
    }
    if (successCallback != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$0.__getDirectory_2](path, options_1, successCallback);
      return;
    }
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$0.__getDirectory_3](path, options_1);
      return;
    }
    this[S$0.__getDirectory_4](path);
    return;
  }
  [S$0.__getDirectory_1](...args) {
    return this.getDirectory.apply(this, args);
  }
  [S$0.__getDirectory_2](...args) {
    return this.getDirectory.apply(this, args);
  }
  [S$0.__getDirectory_3](...args) {
    return this.getDirectory.apply(this, args);
  }
  [S$0.__getDirectory_4](...args) {
    return this.getDirectory.apply(this, args);
  }
  [S$0._getDirectory](path, opts) {
    let options = opts && 'options' in opts ? opts.options : null;
    let completer = T$0.CompleterOfEntry().new();
    this[S$0.__getDirectory](path, options, dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 9680, 36, "value");
      completer.complete(value);
    }, T$0.EntryTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 9682, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0.__getFile](path, options = null, successCallback = null, errorCallback = null) {
    if (errorCallback != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$0.__getFile_1](path, options_1, successCallback, errorCallback);
      return;
    }
    if (successCallback != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$0.__getFile_2](path, options_1, successCallback);
      return;
    }
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$0.__getFile_3](path, options_1);
      return;
    }
    this[S$0.__getFile_4](path);
    return;
  }
  [S$0.__getFile_1](...args) {
    return this.getFile.apply(this, args);
  }
  [S$0.__getFile_2](...args) {
    return this.getFile.apply(this, args);
  }
  [S$0.__getFile_3](...args) {
    return this.getFile.apply(this, args);
  }
  [S$0.__getFile_4](...args) {
    return this.getFile.apply(this, args);
  }
  [S$0._getFile](path, opts) {
    let options = opts && 'options' in opts ? opts.options : null;
    let completer = T$0.CompleterOfEntry().new();
    this[S$0.__getFile](path, options, dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 9724, 31, "value");
      _js_helper.applyExtension("FileEntry", value);
      completer.complete(value);
    }, T$0.EntryTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 9727, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0._removeRecursively](...args) {
    return this.removeRecursively.apply(this, args);
  }
  [S$0.$removeRecursively]() {
    let completer = async.Completer.new();
    this[S$0._removeRecursively](dart.fn(() => {
      completer.complete();
    }, T$.VoidTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 9742, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
};
dart.addTypeTests(html$.DirectoryEntry);
dart.addTypeCaches(html$.DirectoryEntry);
dart.setMethodSignature(html$.DirectoryEntry, () => ({
  __proto__: dart.getMethods(html$.DirectoryEntry.__proto__),
  [S$0.$createDirectory]: dart.fnType(async.Future$(html$.Entry), [core.String], {exclusive: core.bool}, {}),
  [S$0.$createReader]: dart.fnType(html$.DirectoryReader, []),
  [S$0.$getDirectory]: dart.fnType(async.Future$(html$.Entry), [core.String]),
  [S$0.$createFile]: dart.fnType(async.Future$(html$.Entry), [core.String], {exclusive: core.bool}, {}),
  [S$0.$getFile]: dart.fnType(async.Future$(html$.Entry), [core.String]),
  [S$0._createReader]: dart.fnType(html$.DirectoryReader, []),
  [S$0.__getDirectory]: dart.fnType(dart.void, [dart.nullable(core.String)], [dart.nullable(core.Map), dart.nullable(dart.fnType(dart.void, [html$.Entry])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.__getDirectory_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.Entry])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.__getDirectory_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.Entry]))]),
  [S$0.__getDirectory_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic]),
  [S$0.__getDirectory_4]: dart.fnType(dart.void, [dart.dynamic]),
  [S$0._getDirectory]: dart.fnType(async.Future$(html$.Entry), [dart.nullable(core.String)], {options: dart.nullable(core.Map)}, {}),
  [S$0.__getFile]: dart.fnType(dart.void, [dart.nullable(core.String)], [dart.nullable(core.Map), dart.nullable(dart.fnType(dart.void, [html$.Entry])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.__getFile_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.Entry])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.__getFile_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.Entry]))]),
  [S$0.__getFile_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic]),
  [S$0.__getFile_4]: dart.fnType(dart.void, [dart.dynamic]),
  [S$0._getFile]: dart.fnType(async.Future$(html$.Entry), [dart.nullable(core.String)], {options: dart.nullable(core.Map)}, {}),
  [S$0._removeRecursively]: dart.fnType(dart.void, [dart.fnType(dart.void, [])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.$removeRecursively]: dart.fnType(async.Future, [])
}));
dart.setLibraryUri(html$.DirectoryEntry, I[148]);
dart.registerExtension("DirectoryEntry", html$.DirectoryEntry);
html$.DirectoryReader = class DirectoryReader extends _interceptors.Interceptor {
  [S$0._readEntries](...args) {
    return this.readEntries.apply(this, args);
  }
  [S$0.$readEntries]() {
    let completer = T$0.CompleterOfListOfEntry().new();
    this[S$0._readEntries](dart.fn(values => {
      if (values == null) dart.nullFailed(I[147], 9765, 19, "values");
      values[$forEach](dart.fn(value => {
        _js_helper.applyExtension("Entry", value);
        let entry = html$.Entry.as(value);
        if (dart.nullCheck(entry.isFile))
          _js_helper.applyExtension("FileEntry", entry);
        else if (dart.nullCheck(entry.isDirectory)) _js_helper.applyExtension("DirectoryEntry", entry);
      }, T$.dynamicTovoid()));
      completer.complete(T$0.ListOfEntry().from(values));
    }, T$0.ListTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 9774, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
};
dart.addTypeTests(html$.DirectoryReader);
dart.addTypeCaches(html$.DirectoryReader);
dart.setMethodSignature(html$.DirectoryReader, () => ({
  __proto__: dart.getMethods(html$.DirectoryReader.__proto__),
  [S$0._readEntries]: dart.fnType(dart.void, [dart.fnType(dart.void, [core.List])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.$readEntries]: dart.fnType(async.Future$(core.List$(html$.Entry)), [])
}));
dart.setLibraryUri(html$.DirectoryReader, I[148]);
dart.registerExtension("DirectoryReader", html$.DirectoryReader);
html$.DivElement = class DivElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("div");
  }
};
(html$.DivElement.created = function() {
  html$.DivElement.__proto__.created.call(this);
  ;
}).prototype = html$.DivElement.prototype;
dart.addTypeTests(html$.DivElement);
dart.addTypeCaches(html$.DivElement);
dart.setLibraryUri(html$.DivElement, I[148]);
dart.registerExtension("HTMLDivElement", html$.DivElement);
html$.Document = class Document$ extends html$.Node {
  static new() {
    return html$.Document._create_1();
  }
  static _create_1() {
    return new Document();
  }
  get [S$0.$addressSpace]() {
    return this.addressSpace;
  }
  get [S$0._body]() {
    return this.body;
  }
  set [S$0._body](value) {
    this.body = value;
  }
  get [S$0.$contentType]() {
    return this.contentType;
  }
  get [S$0.$cookie]() {
    return this.cookie;
  }
  set [S$0.$cookie](value) {
    this.cookie = value;
  }
  get [S$0.$currentScript]() {
    return this.currentScript;
  }
  get [S$0.$window]() {
    return html$._convertNativeToDart_Window(this[S$0._get_window]);
  }
  get [S$0._get_window]() {
    return this.defaultView;
  }
  get [S$0.$documentElement]() {
    return this.documentElement;
  }
  get [S$0.$domain]() {
    return this.domain;
  }
  get [S$0.$fullscreenEnabled]() {
    return this.fullscreenEnabled;
  }
  get [S$0._head$1]() {
    return this.head;
  }
  get [S.$hidden]() {
    return this.hidden;
  }
  get [S$0.$implementation]() {
    return this.implementation;
  }
  get [S$1._lastModified]() {
    return this.lastModified;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$1._preferredStylesheetSet]() {
    return this.preferredStylesheetSet;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$1._referrer]() {
    return this.referrer;
  }
  get [S$1.$rootElement]() {
    return this.rootElement;
  }
  get [S$1.$rootScroller]() {
    return this.rootScroller;
  }
  set [S$1.$rootScroller](value) {
    this.rootScroller = value;
  }
  get [S$1.$scrollingElement]() {
    return this.scrollingElement;
  }
  get [S$1._selectedStylesheetSet]() {
    return this.selectedStylesheetSet;
  }
  set [S$1._selectedStylesheetSet](value) {
    this.selectedStylesheetSet = value;
  }
  get [S$1.$suborigin]() {
    return this.suborigin;
  }
  get [S$.$timeline]() {
    return this.timeline;
  }
  get [S$1._title]() {
    return this.title;
  }
  set [S$1._title](value) {
    this.title = value;
  }
  get [S$1._visibilityState]() {
    return this.visibilityState;
  }
  get [S$1._webkitFullscreenElement]() {
    return this.webkitFullscreenElement;
  }
  get [S$1._webkitFullscreenEnabled]() {
    return this.webkitFullscreenEnabled;
  }
  get [S$1._webkitHidden]() {
    return this.webkitHidden;
  }
  get [S$1._webkitVisibilityState]() {
    return this.webkitVisibilityState;
  }
  [S$1.$adoptNode](...args) {
    return this.adoptNode.apply(this, args);
  }
  [S$1._caretRangeFromPoint](...args) {
    return this.caretRangeFromPoint.apply(this, args);
  }
  [S$1.$createDocumentFragment](...args) {
    return this.createDocumentFragment.apply(this, args);
  }
  [S$1._createElement](...args) {
    return this.createElement.apply(this, args);
  }
  [S$1._createElementNS](...args) {
    return this.createElementNS.apply(this, args);
  }
  [S._createEvent](...args) {
    return this.createEvent.apply(this, args);
  }
  [S$1.$createRange](...args) {
    return this.createRange.apply(this, args);
  }
  [S$1._createTextNode](...args) {
    return this.createTextNode.apply(this, args);
  }
  [S$1._createTouch](view, target, identifier, pageX, pageY, screenX, screenY, radiusX = null, radiusY = null, rotationAngle = null, force = null) {
    if (view == null) dart.nullFailed(I[147], 10006, 29, "view");
    if (target == null) dart.nullFailed(I[147], 10006, 47, "target");
    if (identifier == null) dart.nullFailed(I[147], 10006, 59, "identifier");
    if (pageX == null) dart.nullFailed(I[147], 10006, 75, "pageX");
    if (pageY == null) dart.nullFailed(I[147], 10007, 11, "pageY");
    if (screenX == null) dart.nullFailed(I[147], 10007, 22, "screenX");
    if (screenY == null) dart.nullFailed(I[147], 10007, 35, "screenY");
    if (force != null) {
      let target_1 = html$._convertDartToNative_EventTarget(target);
      return this[S$1._createTouch_1](view, target_1, identifier, pageX, pageY, screenX, screenY, radiusX, radiusY, rotationAngle, force);
    }
    if (rotationAngle != null) {
      let target_1 = html$._convertDartToNative_EventTarget(target);
      return this[S$1._createTouch_2](view, target_1, identifier, pageX, pageY, screenX, screenY, radiusX, radiusY, rotationAngle);
    }
    if (radiusY != null) {
      let target_1 = html$._convertDartToNative_EventTarget(target);
      return this[S$1._createTouch_3](view, target_1, identifier, pageX, pageY, screenX, screenY, radiusX, radiusY);
    }
    if (radiusX != null) {
      let target_1 = html$._convertDartToNative_EventTarget(target);
      return this[S$1._createTouch_4](view, target_1, identifier, pageX, pageY, screenX, screenY, radiusX);
    }
    let target_1 = html$._convertDartToNative_EventTarget(target);
    return this[S$1._createTouch_5](view, target_1, identifier, pageX, pageY, screenX, screenY);
  }
  [S$1._createTouch_1](...args) {
    return this.createTouch.apply(this, args);
  }
  [S$1._createTouch_2](...args) {
    return this.createTouch.apply(this, args);
  }
  [S$1._createTouch_3](...args) {
    return this.createTouch.apply(this, args);
  }
  [S$1._createTouch_4](...args) {
    return this.createTouch.apply(this, args);
  }
  [S$1._createTouch_5](...args) {
    return this.createTouch.apply(this, args);
  }
  [S$1._createTouchList](...args) {
    return this.createTouchList.apply(this, args);
  }
  [S$1.$execCommand](...args) {
    return this.execCommand.apply(this, args);
  }
  [S$1.$exitFullscreen](...args) {
    return this.exitFullscreen.apply(this, args);
  }
  [S$1.$exitPointerLock](...args) {
    return this.exitPointerLock.apply(this, args);
  }
  [S.$getAnimations](...args) {
    return this.getAnimations.apply(this, args);
  }
  [S.$getElementsByClassName](...args) {
    return this.getElementsByClassName.apply(this, args);
  }
  [S$1.$getElementsByName](...args) {
    return this.getElementsByName.apply(this, args);
  }
  [S$1.$getElementsByTagName](...args) {
    return this.getElementsByTagName.apply(this, args);
  }
  [S$1.$importNode](...args) {
    return this.importNode.apply(this, args);
  }
  [S$1.$queryCommandEnabled](...args) {
    return this.queryCommandEnabled.apply(this, args);
  }
  [S$1.$queryCommandIndeterm](...args) {
    return this.queryCommandIndeterm.apply(this, args);
  }
  [S$1.$queryCommandState](...args) {
    return this.queryCommandState.apply(this, args);
  }
  [S$1.$queryCommandSupported](...args) {
    return this.queryCommandSupported.apply(this, args);
  }
  [S$1.$queryCommandValue](...args) {
    return this.queryCommandValue.apply(this, args);
  }
  [S$1.$registerElement2](type, options = null) {
    if (type == null) dart.nullFailed(I[147], 10085, 36, "type");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return this[S$1._registerElement2_1](type, options_1);
    }
    return this[S$1._registerElement2_2](type);
  }
  [S$1._registerElement2_1](...args) {
    return this.registerElement.apply(this, args);
  }
  [S$1._registerElement2_2](...args) {
    return this.registerElement.apply(this, args);
  }
  [S$1._webkitExitFullscreen](...args) {
    return this.webkitExitFullscreen.apply(this, args);
  }
  [S$1.$getElementById](...args) {
    return this.getElementById.apply(this, args);
  }
  get [S$1.$activeElement]() {
    return this.activeElement;
  }
  get [S$1.$fullscreenElement]() {
    return this.fullscreenElement;
  }
  get [S$1.$pointerLockElement]() {
    return this.pointerLockElement;
  }
  get [S$1._styleSheets]() {
    return this.styleSheets;
  }
  [S$1._elementFromPoint](...args) {
    return this.elementFromPoint.apply(this, args);
  }
  [S$1.$elementsFromPoint](...args) {
    return this.elementsFromPoint.apply(this, args);
  }
  get [S$1.$fonts]() {
    return this.fonts;
  }
  get [S._childElementCount]() {
    return this.childElementCount;
  }
  get [S._children]() {
    return this.children;
  }
  get [S._firstElementChild]() {
    return this.firstElementChild;
  }
  get [S._lastElementChild]() {
    return this.lastElementChild;
  }
  [S.$querySelector](...args) {
    return this.querySelector.apply(this, args);
  }
  [S._querySelectorAll](...args) {
    return this.querySelectorAll.apply(this, args);
  }
  get [S.$onAbort]() {
    return html$.Element.abortEvent.forTarget(this);
  }
  get [S.$onBeforeCopy]() {
    return html$.Element.beforeCopyEvent.forTarget(this);
  }
  get [S.$onBeforeCut]() {
    return html$.Element.beforeCutEvent.forTarget(this);
  }
  get [S.$onBeforePaste]() {
    return html$.Element.beforePasteEvent.forTarget(this);
  }
  get [S.$onBlur]() {
    return html$.Element.blurEvent.forTarget(this);
  }
  get [S.$onCanPlay]() {
    return html$.Element.canPlayEvent.forTarget(this);
  }
  get [S.$onCanPlayThrough]() {
    return html$.Element.canPlayThroughEvent.forTarget(this);
  }
  get [S.$onChange]() {
    return html$.Element.changeEvent.forTarget(this);
  }
  get [S.$onClick]() {
    return html$.Element.clickEvent.forTarget(this);
  }
  get [S.$onContextMenu]() {
    return html$.Element.contextMenuEvent.forTarget(this);
  }
  get [S.$onCopy]() {
    return html$.Element.copyEvent.forTarget(this);
  }
  get [S.$onCut]() {
    return html$.Element.cutEvent.forTarget(this);
  }
  get [S.$onDoubleClick]() {
    return html$.Element.doubleClickEvent.forTarget(this);
  }
  get [S.$onDrag]() {
    return html$.Element.dragEvent.forTarget(this);
  }
  get [S.$onDragEnd]() {
    return html$.Element.dragEndEvent.forTarget(this);
  }
  get [S.$onDragEnter]() {
    return html$.Element.dragEnterEvent.forTarget(this);
  }
  get [S.$onDragLeave]() {
    return html$.Element.dragLeaveEvent.forTarget(this);
  }
  get [S.$onDragOver]() {
    return html$.Element.dragOverEvent.forTarget(this);
  }
  get [S.$onDragStart]() {
    return html$.Element.dragStartEvent.forTarget(this);
  }
  get [S.$onDrop]() {
    return html$.Element.dropEvent.forTarget(this);
  }
  get [S.$onDurationChange]() {
    return html$.Element.durationChangeEvent.forTarget(this);
  }
  get [S.$onEmptied]() {
    return html$.Element.emptiedEvent.forTarget(this);
  }
  get [S.$onEnded]() {
    return html$.Element.endedEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.Element.errorEvent.forTarget(this);
  }
  get [S.$onFocus]() {
    return html$.Element.focusEvent.forTarget(this);
  }
  get [S.$onInput]() {
    return html$.Element.inputEvent.forTarget(this);
  }
  get [S.$onInvalid]() {
    return html$.Element.invalidEvent.forTarget(this);
  }
  get [S.$onKeyDown]() {
    return html$.Element.keyDownEvent.forTarget(this);
  }
  get [S.$onKeyPress]() {
    return html$.Element.keyPressEvent.forTarget(this);
  }
  get [S.$onKeyUp]() {
    return html$.Element.keyUpEvent.forTarget(this);
  }
  get [S.$onLoad]() {
    return html$.Element.loadEvent.forTarget(this);
  }
  get [S.$onLoadedData]() {
    return html$.Element.loadedDataEvent.forTarget(this);
  }
  get [S.$onLoadedMetadata]() {
    return html$.Element.loadedMetadataEvent.forTarget(this);
  }
  get [S.$onMouseDown]() {
    return html$.Element.mouseDownEvent.forTarget(this);
  }
  get [S.$onMouseEnter]() {
    return html$.Element.mouseEnterEvent.forTarget(this);
  }
  get [S.$onMouseLeave]() {
    return html$.Element.mouseLeaveEvent.forTarget(this);
  }
  get [S.$onMouseMove]() {
    return html$.Element.mouseMoveEvent.forTarget(this);
  }
  get [S.$onMouseOut]() {
    return html$.Element.mouseOutEvent.forTarget(this);
  }
  get [S.$onMouseOver]() {
    return html$.Element.mouseOverEvent.forTarget(this);
  }
  get [S.$onMouseUp]() {
    return html$.Element.mouseUpEvent.forTarget(this);
  }
  get [S.$onMouseWheel]() {
    return html$.Element.mouseWheelEvent.forTarget(this);
  }
  get [S.$onPaste]() {
    return html$.Element.pasteEvent.forTarget(this);
  }
  get [S.$onPause]() {
    return html$.Element.pauseEvent.forTarget(this);
  }
  get [S.$onPlay]() {
    return html$.Element.playEvent.forTarget(this);
  }
  get [S.$onPlaying]() {
    return html$.Element.playingEvent.forTarget(this);
  }
  get [S$1.$onPointerLockChange]() {
    return html$.Document.pointerLockChangeEvent.forTarget(this);
  }
  get [S$1.$onPointerLockError]() {
    return html$.Document.pointerLockErrorEvent.forTarget(this);
  }
  get [S.$onRateChange]() {
    return html$.Element.rateChangeEvent.forTarget(this);
  }
  get [S$1.$onReadyStateChange]() {
    return html$.Document.readyStateChangeEvent.forTarget(this);
  }
  get [S.$onReset]() {
    return html$.Element.resetEvent.forTarget(this);
  }
  get [S.$onResize]() {
    return html$.Element.resizeEvent.forTarget(this);
  }
  get [S.$onScroll]() {
    return html$.Element.scrollEvent.forTarget(this);
  }
  get [S.$onSearch]() {
    return html$.Element.searchEvent.forTarget(this);
  }
  get [S$1.$onSecurityPolicyViolation]() {
    return html$.Document.securityPolicyViolationEvent.forTarget(this);
  }
  get [S.$onSeeked]() {
    return html$.Element.seekedEvent.forTarget(this);
  }
  get [S.$onSeeking]() {
    return html$.Element.seekingEvent.forTarget(this);
  }
  get [S.$onSelect]() {
    return html$.Element.selectEvent.forTarget(this);
  }
  get [S$1.$onSelectionChange]() {
    return html$.Document.selectionChangeEvent.forTarget(this);
  }
  get [S.$onSelectStart]() {
    return html$.Element.selectStartEvent.forTarget(this);
  }
  get [S$.$onStalled]() {
    return html$.Element.stalledEvent.forTarget(this);
  }
  get [S$.$onSubmit]() {
    return html$.Element.submitEvent.forTarget(this);
  }
  get [S$.$onSuspend]() {
    return html$.Element.suspendEvent.forTarget(this);
  }
  get [S$.$onTimeUpdate]() {
    return html$.Element.timeUpdateEvent.forTarget(this);
  }
  get [S$.$onTouchCancel]() {
    return html$.Element.touchCancelEvent.forTarget(this);
  }
  get [S$.$onTouchEnd]() {
    return html$.Element.touchEndEvent.forTarget(this);
  }
  get [S$.$onTouchMove]() {
    return html$.Element.touchMoveEvent.forTarget(this);
  }
  get [S$.$onTouchStart]() {
    return html$.Element.touchStartEvent.forTarget(this);
  }
  get [S$.$onVolumeChange]() {
    return html$.Element.volumeChangeEvent.forTarget(this);
  }
  get [S$.$onWaiting]() {
    return html$.Element.waitingEvent.forTarget(this);
  }
  get [S$.$onFullscreenChange]() {
    return html$.Element.fullscreenChangeEvent.forTarget(this);
  }
  get [S$.$onFullscreenError]() {
    return html$.Element.fullscreenErrorEvent.forTarget(this);
  }
  [S.$querySelectorAll](T, selectors) {
    if (selectors == null) dart.nullFailed(I[147], 10391, 61, "selectors");
    return new (html$._FrozenElementList$(T))._wrap(this[S._querySelectorAll](selectors));
  }
  get [S$1.$supportsRegisterElement]() {
    return "registerElement" in this;
  }
  get [S$1.$supportsRegister]() {
    return this[S$1.$supportsRegisterElement];
  }
  [S$1.$registerElement](tag, customElementClass, opts) {
    if (tag == null) dart.nullFailed(I[147], 10403, 31, "tag");
    if (customElementClass == null) dart.nullFailed(I[147], 10403, 41, "customElementClass");
    let extendsTag = opts && 'extendsTag' in opts ? opts.extendsTag : null;
    this[S$1.$registerElement2](tag, new _js_helper.LinkedMap.from(["prototype", customElementClass, "extends", extendsTag]));
  }
  [S.$createElement](tagName, typeExtension = null) {
    if (tagName == null) dart.nullFailed(I[147], 10410, 32, "tagName");
    return html$.Element.as(typeExtension == null ? this[S$1._createElement_2](tagName) : this[S$1._createElement](tagName, typeExtension));
  }
  [S$1._createElement_2](tagName) {
    if (tagName == null) dart.nullFailed(I[147], 10418, 27, "tagName");
    return this.createElement(tagName);
  }
  [S$1._createElementNS_2](namespaceURI, qualifiedName) {
    if (namespaceURI == null) dart.nullFailed(I[147], 10423, 29, "namespaceURI");
    if (qualifiedName == null) dart.nullFailed(I[147], 10423, 50, "qualifiedName");
    return this.createElementNS(namespaceURI, qualifiedName);
  }
  [S$1.$createElementNS](namespaceURI, qualifiedName, typeExtension = null) {
    if (namespaceURI == null) dart.nullFailed(I[147], 10426, 34, "namespaceURI");
    if (qualifiedName == null) dart.nullFailed(I[147], 10426, 55, "qualifiedName");
    return html$.Element.as(typeExtension == null ? this[S$1._createElementNS_2](namespaceURI, qualifiedName) : this[S$1._createElementNS](namespaceURI, qualifiedName, typeExtension));
  }
  [S$1._createNodeIterator](root, whatToShow = null, filter = null) {
    if (root == null) dart.nullFailed(I[147], 10433, 41, "root");
    return this.createNodeIterator(root, whatToShow, filter, false);
  }
  [S$1._createTreeWalker](root, whatToShow = null, filter = null) {
    if (root == null) dart.nullFailed(I[147], 10438, 37, "root");
    return this.createTreeWalker(root, whatToShow, filter, false);
  }
  get [S$1.$visibilityState]() {
    return this.visibilityState || this.mozVisibilityState || this.msVisibilityState || this.webkitVisibilityState;
  }
};
dart.addTypeTests(html$.Document);
dart.addTypeCaches(html$.Document);
dart.setMethodSignature(html$.Document, () => ({
  __proto__: dart.getMethods(html$.Document.__proto__),
  [S$1.$adoptNode]: dart.fnType(html$.Node, [html$.Node]),
  [S$1._caretRangeFromPoint]: dart.fnType(html$.Range, [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$1.$createDocumentFragment]: dart.fnType(html$.DocumentFragment, []),
  [S$1._createElement]: dart.fnType(html$.Element, [core.String], [dart.dynamic]),
  [S$1._createElementNS]: dart.fnType(html$.Element, [dart.nullable(core.String), core.String], [dart.dynamic]),
  [S._createEvent]: dart.fnType(html$.Event, [core.String]),
  [S$1.$createRange]: dart.fnType(html$.Range, []),
  [S$1._createTextNode]: dart.fnType(html$.Text, [core.String]),
  [S$1._createTouch]: dart.fnType(html$.Touch, [html$.Window, html$.EventTarget, core.int, core.num, core.num, core.num, core.num], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1._createTouch_1]: dart.fnType(html$.Touch, [html$.Window, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$1._createTouch_2]: dart.fnType(html$.Touch, [html$.Window, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$1._createTouch_3]: dart.fnType(html$.Touch, [html$.Window, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$1._createTouch_4]: dart.fnType(html$.Touch, [html$.Window, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$1._createTouch_5]: dart.fnType(html$.Touch, [html$.Window, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$1._createTouchList]: dart.fnType(html$.TouchList, [html$.Touch]),
  [S$1.$execCommand]: dart.fnType(core.bool, [core.String], [dart.nullable(core.bool), dart.nullable(core.String)]),
  [S$1.$exitFullscreen]: dart.fnType(dart.void, []),
  [S$1.$exitPointerLock]: dart.fnType(dart.void, []),
  [S.$getAnimations]: dart.fnType(core.List$(html$.Animation), []),
  [S.$getElementsByClassName]: dart.fnType(core.List$(html$.Node), [core.String]),
  [S$1.$getElementsByName]: dart.fnType(core.List$(html$.Node), [core.String]),
  [S$1.$getElementsByTagName]: dart.fnType(core.List$(html$.Node), [core.String]),
  [S$1.$importNode]: dart.fnType(html$.Node, [html$.Node], [dart.nullable(core.bool)]),
  [S$1.$queryCommandEnabled]: dart.fnType(core.bool, [core.String]),
  [S$1.$queryCommandIndeterm]: dart.fnType(core.bool, [core.String]),
  [S$1.$queryCommandState]: dart.fnType(core.bool, [core.String]),
  [S$1.$queryCommandSupported]: dart.fnType(core.bool, [core.String]),
  [S$1.$queryCommandValue]: dart.fnType(core.String, [core.String]),
  [S$1.$registerElement2]: dart.fnType(core.Function, [core.String], [dart.nullable(core.Map)]),
  [S$1._registerElement2_1]: dart.fnType(core.Function, [dart.dynamic, dart.dynamic]),
  [S$1._registerElement2_2]: dart.fnType(core.Function, [dart.dynamic]),
  [S$1._webkitExitFullscreen]: dart.fnType(dart.void, []),
  [S$1.$getElementById]: dart.fnType(dart.nullable(html$.Element), [core.String]),
  [S$1._elementFromPoint]: dart.fnType(dart.nullable(html$.Element), [core.int, core.int]),
  [S$1.$elementsFromPoint]: dart.fnType(core.List$(html$.Element), [core.int, core.int]),
  [S.$querySelector]: dart.fnType(dart.nullable(html$.Element), [core.String]),
  [S._querySelectorAll]: dart.fnType(core.List$(html$.Node), [core.String]),
  [S.$querySelectorAll]: dart.gFnType(T => [html$.ElementList$(T), [core.String]], T => [html$.Element]),
  [S$1.$registerElement]: dart.fnType(dart.void, [core.String, core.Type], {extendsTag: dart.nullable(core.String)}, {}),
  [S.$createElement]: dart.fnType(html$.Element, [core.String], [dart.nullable(core.String)]),
  [S$1._createElement_2]: dart.fnType(dart.dynamic, [core.String]),
  [S$1._createElementNS_2]: dart.fnType(dart.dynamic, [core.String, core.String]),
  [S$1.$createElementNS]: dart.fnType(html$.Element, [core.String, core.String], [dart.nullable(core.String)]),
  [S$1._createNodeIterator]: dart.fnType(html$.NodeIterator, [html$.Node], [dart.nullable(core.int), dart.nullable(html$.NodeFilter)]),
  [S$1._createTreeWalker]: dart.fnType(html$.TreeWalker, [html$.Node], [dart.nullable(core.int), dart.nullable(html$.NodeFilter)])
}));
dart.setGetterSignature(html$.Document, () => ({
  __proto__: dart.getGetters(html$.Document.__proto__),
  [S$0.$addressSpace]: dart.nullable(core.String),
  [S$0._body]: dart.nullable(html$.HtmlElement),
  [S$0.$contentType]: dart.nullable(core.String),
  [S$0.$cookie]: dart.nullable(core.String),
  [S$0.$currentScript]: dart.nullable(html$.ScriptElement),
  [S$0.$window]: dart.nullable(html$.WindowBase),
  [S$0._get_window]: dart.dynamic,
  [S$0.$documentElement]: dart.nullable(html$.Element),
  [S$0.$domain]: dart.nullable(core.String),
  [S$0.$fullscreenEnabled]: dart.nullable(core.bool),
  [S$0._head$1]: dart.nullable(html$.HeadElement),
  [S.$hidden]: dart.nullable(core.bool),
  [S$0.$implementation]: dart.nullable(html$.DomImplementation),
  [S$1._lastModified]: dart.nullable(core.String),
  [S$.$origin]: dart.nullable(core.String),
  [S$1._preferredStylesheetSet]: dart.nullable(core.String),
  [S.$readyState]: dart.nullable(core.String),
  [S$1._referrer]: core.String,
  [S$1.$rootElement]: dart.nullable(svg$.SvgSvgElement),
  [S$1.$rootScroller]: dart.nullable(html$.Element),
  [S$1.$scrollingElement]: dart.nullable(html$.Element),
  [S$1._selectedStylesheetSet]: dart.nullable(core.String),
  [S$1.$suborigin]: dart.nullable(core.String),
  [S$.$timeline]: dart.nullable(html$.DocumentTimeline),
  [S$1._title]: core.String,
  [S$1._visibilityState]: dart.nullable(core.String),
  [S$1._webkitFullscreenElement]: dart.nullable(html$.Element),
  [S$1._webkitFullscreenEnabled]: dart.nullable(core.bool),
  [S$1._webkitHidden]: dart.nullable(core.bool),
  [S$1._webkitVisibilityState]: dart.nullable(core.String),
  [S$1.$activeElement]: dart.nullable(html$.Element),
  [S$1.$fullscreenElement]: dart.nullable(html$.Element),
  [S$1.$pointerLockElement]: dart.nullable(html$.Element),
  [S$1._styleSheets]: dart.nullable(core.List$(html$.StyleSheet)),
  [S$1.$fonts]: dart.nullable(html$.FontFaceSet),
  [S._childElementCount]: core.int,
  [S._children]: dart.nullable(core.List$(html$.Node)),
  [S._firstElementChild]: dart.nullable(html$.Element),
  [S._lastElementChild]: dart.nullable(html$.Element),
  [S.$onAbort]: async.Stream$(html$.Event),
  [S.$onBeforeCopy]: async.Stream$(html$.Event),
  [S.$onBeforeCut]: async.Stream$(html$.Event),
  [S.$onBeforePaste]: async.Stream$(html$.Event),
  [S.$onBlur]: async.Stream$(html$.Event),
  [S.$onCanPlay]: async.Stream$(html$.Event),
  [S.$onCanPlayThrough]: async.Stream$(html$.Event),
  [S.$onChange]: async.Stream$(html$.Event),
  [S.$onClick]: async.Stream$(html$.MouseEvent),
  [S.$onContextMenu]: async.Stream$(html$.MouseEvent),
  [S.$onCopy]: async.Stream$(html$.ClipboardEvent),
  [S.$onCut]: async.Stream$(html$.ClipboardEvent),
  [S.$onDoubleClick]: async.Stream$(html$.Event),
  [S.$onDrag]: async.Stream$(html$.MouseEvent),
  [S.$onDragEnd]: async.Stream$(html$.MouseEvent),
  [S.$onDragEnter]: async.Stream$(html$.MouseEvent),
  [S.$onDragLeave]: async.Stream$(html$.MouseEvent),
  [S.$onDragOver]: async.Stream$(html$.MouseEvent),
  [S.$onDragStart]: async.Stream$(html$.MouseEvent),
  [S.$onDrop]: async.Stream$(html$.MouseEvent),
  [S.$onDurationChange]: async.Stream$(html$.Event),
  [S.$onEmptied]: async.Stream$(html$.Event),
  [S.$onEnded]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event),
  [S.$onFocus]: async.Stream$(html$.Event),
  [S.$onInput]: async.Stream$(html$.Event),
  [S.$onInvalid]: async.Stream$(html$.Event),
  [S.$onKeyDown]: async.Stream$(html$.KeyboardEvent),
  [S.$onKeyPress]: async.Stream$(html$.KeyboardEvent),
  [S.$onKeyUp]: async.Stream$(html$.KeyboardEvent),
  [S.$onLoad]: async.Stream$(html$.Event),
  [S.$onLoadedData]: async.Stream$(html$.Event),
  [S.$onLoadedMetadata]: async.Stream$(html$.Event),
  [S.$onMouseDown]: async.Stream$(html$.MouseEvent),
  [S.$onMouseEnter]: async.Stream$(html$.MouseEvent),
  [S.$onMouseLeave]: async.Stream$(html$.MouseEvent),
  [S.$onMouseMove]: async.Stream$(html$.MouseEvent),
  [S.$onMouseOut]: async.Stream$(html$.MouseEvent),
  [S.$onMouseOver]: async.Stream$(html$.MouseEvent),
  [S.$onMouseUp]: async.Stream$(html$.MouseEvent),
  [S.$onMouseWheel]: async.Stream$(html$.WheelEvent),
  [S.$onPaste]: async.Stream$(html$.ClipboardEvent),
  [S.$onPause]: async.Stream$(html$.Event),
  [S.$onPlay]: async.Stream$(html$.Event),
  [S.$onPlaying]: async.Stream$(html$.Event),
  [S$1.$onPointerLockChange]: async.Stream$(html$.Event),
  [S$1.$onPointerLockError]: async.Stream$(html$.Event),
  [S.$onRateChange]: async.Stream$(html$.Event),
  [S$1.$onReadyStateChange]: async.Stream$(html$.Event),
  [S.$onReset]: async.Stream$(html$.Event),
  [S.$onResize]: async.Stream$(html$.Event),
  [S.$onScroll]: async.Stream$(html$.Event),
  [S.$onSearch]: async.Stream$(html$.Event),
  [S$1.$onSecurityPolicyViolation]: async.Stream$(html$.SecurityPolicyViolationEvent),
  [S.$onSeeked]: async.Stream$(html$.Event),
  [S.$onSeeking]: async.Stream$(html$.Event),
  [S.$onSelect]: async.Stream$(html$.Event),
  [S$1.$onSelectionChange]: async.Stream$(html$.Event),
  [S.$onSelectStart]: async.Stream$(html$.Event),
  [S$.$onStalled]: async.Stream$(html$.Event),
  [S$.$onSubmit]: async.Stream$(html$.Event),
  [S$.$onSuspend]: async.Stream$(html$.Event),
  [S$.$onTimeUpdate]: async.Stream$(html$.Event),
  [S$.$onTouchCancel]: async.Stream$(html$.TouchEvent),
  [S$.$onTouchEnd]: async.Stream$(html$.TouchEvent),
  [S$.$onTouchMove]: async.Stream$(html$.TouchEvent),
  [S$.$onTouchStart]: async.Stream$(html$.TouchEvent),
  [S$.$onVolumeChange]: async.Stream$(html$.Event),
  [S$.$onWaiting]: async.Stream$(html$.Event),
  [S$.$onFullscreenChange]: async.Stream$(html$.Event),
  [S$.$onFullscreenError]: async.Stream$(html$.Event),
  [S$1.$supportsRegisterElement]: core.bool,
  [S$1.$supportsRegister]: core.bool,
  [S$1.$visibilityState]: core.String
}));
dart.setSetterSignature(html$.Document, () => ({
  __proto__: dart.getSetters(html$.Document.__proto__),
  [S$0._body]: dart.nullable(html$.HtmlElement),
  [S$0.$cookie]: dart.nullable(core.String),
  [S$1.$rootScroller]: dart.nullable(html$.Element),
  [S$1._selectedStylesheetSet]: dart.nullable(core.String),
  [S$1._title]: core.String
}));
dart.setLibraryUri(html$.Document, I[148]);
dart.defineLazy(html$.Document, {
  /*html$.Document.pointerLockChangeEvent*/get pointerLockChangeEvent() {
    return C[324] || CT.C324;
  },
  /*html$.Document.pointerLockErrorEvent*/get pointerLockErrorEvent() {
    return C[325] || CT.C325;
  },
  /*html$.Document.readyStateChangeEvent*/get readyStateChangeEvent() {
    return C[326] || CT.C326;
  },
  /*html$.Document.securityPolicyViolationEvent*/get securityPolicyViolationEvent() {
    return C[327] || CT.C327;
  },
  /*html$.Document.selectionChangeEvent*/get selectionChangeEvent() {
    return C[328] || CT.C328;
  }
}, false);
dart.registerExtension("Document", html$.Document);
html$.DocumentFragment = class DocumentFragment extends html$.Node {
  get [S$1._docChildren]() {
    return this._docChildren;
  }
  set [S$1._docChildren](value) {
    this._docChildren = value;
  }
  static new() {
    return html$.document.createDocumentFragment();
  }
  static html(html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    return dart.nullCheck(html$.document.body)[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer});
  }
  static svg(svgContent, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    return svg$.SvgSvgElement.new()[S.$createFragment](svgContent, {validator: validator, treeSanitizer: treeSanitizer});
  }
  get [S._children]() {
    return dart.throw(new core.UnimplementedError.new("Use _docChildren instead"));
  }
  get [S.$children]() {
    if (this[S$1._docChildren] == null) {
      this[S$1._docChildren] = new html_common.FilteredElementList.new(this);
    }
    return dart.nullCheck(this[S$1._docChildren]);
  }
  set [S.$children](value) {
    if (value == null) dart.nullFailed(I[147], 10491, 30, "value");
    let copy = value[$toList]();
    let children = this[S.$children];
    children[$clear]();
    children[$addAll](copy);
  }
  [S.$querySelectorAll](T, selectors) {
    if (selectors == null) dart.nullFailed(I[147], 10510, 61, "selectors");
    return new (html$._FrozenElementList$(T))._wrap(this[S._querySelectorAll](selectors));
  }
  get [S.$innerHtml]() {
    let e = html$.DivElement.new();
    e[S.$append](this[S$.$clone](true));
    return e[S.$innerHtml];
  }
  set [S.$innerHtml](value) {
    this[S.$setInnerHtml](value);
  }
  [S.$setInnerHtml](html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    this[S.$nodes][$clear]();
    this[S.$append](dart.nullCheck(html$.document.body)[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer}));
  }
  [S.$appendText](text) {
    if (text == null) dart.nullFailed(I[147], 10537, 26, "text");
    this[S.$append](html$.Text.new(text));
  }
  [S.$appendHtml](text, opts) {
    if (text == null) dart.nullFailed(I[147], 10545, 26, "text");
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    this[S.$append](html$.DocumentFragment.html(text, {validator: validator, treeSanitizer: treeSanitizer}));
  }
  [S$1.$getElementById](...args) {
    return this.getElementById.apply(this, args);
  }
  get [S._childElementCount]() {
    return this.childElementCount;
  }
  get [S._firstElementChild]() {
    return this.firstElementChild;
  }
  get [S._lastElementChild]() {
    return this.lastElementChild;
  }
  [S.$querySelector](...args) {
    return this.querySelector.apply(this, args);
  }
  [S._querySelectorAll](...args) {
    return this.querySelectorAll.apply(this, args);
  }
};
dart.addTypeTests(html$.DocumentFragment);
dart.addTypeCaches(html$.DocumentFragment);
html$.DocumentFragment[dart.implements] = () => [html$.NonElementParentNode, html$.ParentNode];
dart.setMethodSignature(html$.DocumentFragment, () => ({
  __proto__: dart.getMethods(html$.DocumentFragment.__proto__),
  [S.$querySelectorAll]: dart.gFnType(T => [html$.ElementList$(T), [core.String]], T => [html$.Element]),
  [S.$setInnerHtml]: dart.fnType(dart.void, [dart.nullable(core.String)], {treeSanitizer: dart.nullable(html$.NodeTreeSanitizer), validator: dart.nullable(html$.NodeValidator)}, {}),
  [S.$appendText]: dart.fnType(dart.void, [core.String]),
  [S.$appendHtml]: dart.fnType(dart.void, [core.String], {treeSanitizer: dart.nullable(html$.NodeTreeSanitizer), validator: dart.nullable(html$.NodeValidator)}, {}),
  [S$1.$getElementById]: dart.fnType(dart.nullable(html$.Element), [core.String]),
  [S.$querySelector]: dart.fnType(dart.nullable(html$.Element), [core.String]),
  [S._querySelectorAll]: dart.fnType(core.List$(html$.Node), [core.String])
}));
dart.setGetterSignature(html$.DocumentFragment, () => ({
  __proto__: dart.getGetters(html$.DocumentFragment.__proto__),
  [S._children]: html$.HtmlCollection,
  [S.$children]: core.List$(html$.Element),
  [S.$innerHtml]: dart.nullable(core.String),
  [S._childElementCount]: core.int,
  [S._firstElementChild]: dart.nullable(html$.Element),
  [S._lastElementChild]: dart.nullable(html$.Element)
}));
dart.setSetterSignature(html$.DocumentFragment, () => ({
  __proto__: dart.getSetters(html$.DocumentFragment.__proto__),
  [S.$children]: core.List$(html$.Element),
  [S.$innerHtml]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DocumentFragment, I[148]);
dart.setFieldSignature(html$.DocumentFragment, () => ({
  __proto__: dart.getFields(html$.DocumentFragment.__proto__),
  [S$1._docChildren]: dart.fieldType(dart.nullable(core.List$(html$.Element)))
}));
dart.registerExtension("DocumentFragment", html$.DocumentFragment);
html$.DocumentOrShadowRoot = class DocumentOrShadowRoot extends _interceptors.Interceptor {
  get [S$1.$activeElement]() {
    return this.activeElement;
  }
  get [S$1.$fullscreenElement]() {
    return this.fullscreenElement;
  }
  get [S$1.$pointerLockElement]() {
    return this.pointerLockElement;
  }
  get [S$1.$styleSheets]() {
    return this.styleSheets;
  }
  [S$1.$elementFromPoint](...args) {
    return this.elementFromPoint.apply(this, args);
  }
  [S$1.$elementsFromPoint](...args) {
    return this.elementsFromPoint.apply(this, args);
  }
  [S$1.$getSelection](...args) {
    return this.getSelection.apply(this, args);
  }
};
dart.addTypeTests(html$.DocumentOrShadowRoot);
dart.addTypeCaches(html$.DocumentOrShadowRoot);
dart.setMethodSignature(html$.DocumentOrShadowRoot, () => ({
  __proto__: dart.getMethods(html$.DocumentOrShadowRoot.__proto__),
  [S$1.$elementFromPoint]: dart.fnType(dart.nullable(html$.Element), [core.int, core.int]),
  [S$1.$elementsFromPoint]: dart.fnType(core.List$(html$.Element), [core.int, core.int]),
  [S$1.$getSelection]: dart.fnType(dart.nullable(html$.Selection), [])
}));
dart.setGetterSignature(html$.DocumentOrShadowRoot, () => ({
  __proto__: dart.getGetters(html$.DocumentOrShadowRoot.__proto__),
  [S$1.$activeElement]: dart.nullable(html$.Element),
  [S$1.$fullscreenElement]: dart.nullable(html$.Element),
  [S$1.$pointerLockElement]: dart.nullable(html$.Element),
  [S$1.$styleSheets]: dart.nullable(core.List$(html$.StyleSheet))
}));
dart.setLibraryUri(html$.DocumentOrShadowRoot, I[148]);
dart.registerExtension("DocumentOrShadowRoot", html$.DocumentOrShadowRoot);
html$.DocumentTimeline = class DocumentTimeline$ extends html$.AnimationTimeline {
  static new(options = null) {
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return html$.DocumentTimeline._create_1(options_1);
    }
    return html$.DocumentTimeline._create_2();
  }
  static _create_1(options) {
    return new DocumentTimeline(options);
  }
  static _create_2() {
    return new DocumentTimeline();
  }
};
dart.addTypeTests(html$.DocumentTimeline);
dart.addTypeCaches(html$.DocumentTimeline);
dart.setLibraryUri(html$.DocumentTimeline, I[148]);
dart.registerExtension("DocumentTimeline", html$.DocumentTimeline);
html$.DomError = class DomError extends _interceptors.Interceptor {
  static new(name, message = null) {
    if (name == null) dart.nullFailed(I[147], 10651, 27, "name");
    if (message != null) {
      return html$.DomError._create_1(name, message);
    }
    return html$.DomError._create_2(name);
  }
  static _create_1(name, message) {
    return new DOMError(name, message);
  }
  static _create_2(name) {
    return new DOMError(name);
  }
  get [$message]() {
    return this.message;
  }
  get [$name]() {
    return this.name;
  }
};
dart.addTypeTests(html$.DomError);
dart.addTypeCaches(html$.DomError);
dart.setGetterSignature(html$.DomError, () => ({
  __proto__: dart.getGetters(html$.DomError.__proto__),
  [$message]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DomError, I[148]);
dart.registerExtension("DOMError", html$.DomError);
html$.DomException = class DomException extends _interceptors.Interceptor {
  get [$name]() {
    let errorName = this.name;
    if (dart.test(html_common.Device.isWebKit) && errorName[$_equals]("SECURITY_ERR")) return "SecurityError";
    if (dart.test(html_common.Device.isWebKit) && errorName[$_equals]("SYNTAX_ERR")) return "SyntaxError";
    return core.String.as(errorName);
  }
  get [$message]() {
    return this.message;
  }
  [$toString]() {
    return String(this);
  }
};
dart.addTypeTests(html$.DomException);
dart.addTypeCaches(html$.DomException);
dart.setGetterSignature(html$.DomException, () => ({
  __proto__: dart.getGetters(html$.DomException.__proto__),
  [$name]: core.String,
  [$message]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DomException, I[148]);
dart.defineLazy(html$.DomException, {
  /*html$.DomException.INDEX_SIZE*/get INDEX_SIZE() {
    return "IndexSizeError";
  },
  /*html$.DomException.HIERARCHY_REQUEST*/get HIERARCHY_REQUEST() {
    return "HierarchyRequestError";
  },
  /*html$.DomException.WRONG_DOCUMENT*/get WRONG_DOCUMENT() {
    return "WrongDocumentError";
  },
  /*html$.DomException.INVALID_CHARACTER*/get INVALID_CHARACTER() {
    return "InvalidCharacterError";
  },
  /*html$.DomException.NO_MODIFICATION_ALLOWED*/get NO_MODIFICATION_ALLOWED() {
    return "NoModificationAllowedError";
  },
  /*html$.DomException.NOT_FOUND*/get NOT_FOUND() {
    return "NotFoundError";
  },
  /*html$.DomException.NOT_SUPPORTED*/get NOT_SUPPORTED() {
    return "NotSupportedError";
  },
  /*html$.DomException.INVALID_STATE*/get INVALID_STATE() {
    return "InvalidStateError";
  },
  /*html$.DomException.SYNTAX*/get SYNTAX() {
    return "SyntaxError";
  },
  /*html$.DomException.INVALID_MODIFICATION*/get INVALID_MODIFICATION() {
    return "InvalidModificationError";
  },
  /*html$.DomException.NAMESPACE*/get NAMESPACE() {
    return "NamespaceError";
  },
  /*html$.DomException.INVALID_ACCESS*/get INVALID_ACCESS() {
    return "InvalidAccessError";
  },
  /*html$.DomException.TYPE_MISMATCH*/get TYPE_MISMATCH() {
    return "TypeMismatchError";
  },
  /*html$.DomException.SECURITY*/get SECURITY() {
    return "SecurityError";
  },
  /*html$.DomException.NETWORK*/get NETWORK() {
    return "NetworkError";
  },
  /*html$.DomException.ABORT*/get ABORT() {
    return "AbortError";
  },
  /*html$.DomException.URL_MISMATCH*/get URL_MISMATCH() {
    return "URLMismatchError";
  },
  /*html$.DomException.QUOTA_EXCEEDED*/get QUOTA_EXCEEDED() {
    return "QuotaExceededError";
  },
  /*html$.DomException.TIMEOUT*/get TIMEOUT() {
    return "TimeoutError";
  },
  /*html$.DomException.INVALID_NODE_TYPE*/get INVALID_NODE_TYPE() {
    return "InvalidNodeTypeError";
  },
  /*html$.DomException.DATA_CLONE*/get DATA_CLONE() {
    return "DataCloneError";
  },
  /*html$.DomException.ENCODING*/get ENCODING() {
    return "EncodingError";
  },
  /*html$.DomException.NOT_READABLE*/get NOT_READABLE() {
    return "NotReadableError";
  },
  /*html$.DomException.UNKNOWN*/get UNKNOWN() {
    return "UnknownError";
  },
  /*html$.DomException.CONSTRAINT*/get CONSTRAINT() {
    return "ConstraintError";
  },
  /*html$.DomException.TRANSACTION_INACTIVE*/get TRANSACTION_INACTIVE() {
    return "TransactionInactiveError";
  },
  /*html$.DomException.READ_ONLY*/get READ_ONLY() {
    return "ReadOnlyError";
  },
  /*html$.DomException.VERSION*/get VERSION() {
    return "VersionError";
  },
  /*html$.DomException.OPERATION*/get OPERATION() {
    return "OperationError";
  },
  /*html$.DomException.NOT_ALLOWED*/get NOT_ALLOWED() {
    return "NotAllowedError";
  },
  /*html$.DomException.TYPE_ERROR*/get TYPE_ERROR() {
    return "TypeError";
  }
}, false);
dart.registerExtension("DOMException", html$.DomException);
html$.DomImplementation = class DomImplementation extends _interceptors.Interceptor {
  [S$1.$createDocument](...args) {
    return this.createDocument.apply(this, args);
  }
  [S$1.$createDocumentType](...args) {
    return this.createDocumentType.apply(this, args);
  }
  [S.$createHtmlDocument](...args) {
    return this.createHTMLDocument.apply(this, args);
  }
  [S$1.$hasFeature](...args) {
    return this.hasFeature.apply(this, args);
  }
};
dart.addTypeTests(html$.DomImplementation);
dart.addTypeCaches(html$.DomImplementation);
dart.setMethodSignature(html$.DomImplementation, () => ({
  __proto__: dart.getMethods(html$.DomImplementation.__proto__),
  [S$1.$createDocument]: dart.fnType(html$.XmlDocument, [dart.nullable(core.String), core.String, dart.nullable(html$._DocumentType)]),
  [S$1.$createDocumentType]: dart.fnType(html$._DocumentType, [core.String, core.String, core.String]),
  [S.$createHtmlDocument]: dart.fnType(html$.HtmlDocument, [], [dart.nullable(core.String)]),
  [S$1.$hasFeature]: dart.fnType(core.bool, [])
}));
dart.setLibraryUri(html$.DomImplementation, I[148]);
dart.registerExtension("DOMImplementation", html$.DomImplementation);
html$.DomIterator = class DomIterator extends _interceptors.Interceptor {
  [S.$next](...args) {
    return this.next.apply(this, args);
  }
};
dart.addTypeTests(html$.DomIterator);
dart.addTypeCaches(html$.DomIterator);
dart.setMethodSignature(html$.DomIterator, () => ({
  __proto__: dart.getMethods(html$.DomIterator.__proto__),
  [S.$next]: dart.fnType(dart.nullable(core.Object), [], [dart.nullable(core.Object)])
}));
dart.setLibraryUri(html$.DomIterator, I[148]);
dart.registerExtension("Iterator", html$.DomIterator);
html$.DomMatrixReadOnly = class DomMatrixReadOnly extends _interceptors.Interceptor {
  static new(init = null) {
    if (init != null) {
      return html$.DomMatrixReadOnly._create_1(init);
    }
    return html$.DomMatrixReadOnly._create_2();
  }
  static _create_1(init) {
    return new DOMMatrixReadOnly(init);
  }
  static _create_2() {
    return new DOMMatrixReadOnly();
  }
  get [S$1.$a]() {
    return this.a;
  }
  get [S$1.$b]() {
    return this.b;
  }
  get [S$1.$c]() {
    return this.c;
  }
  get [S$1.$d]() {
    return this.d;
  }
  get [S$1.$e]() {
    return this.e;
  }
  get [S$1.$f]() {
    return this.f;
  }
  get [S$.$is2D]() {
    return this.is2D;
  }
  get [S$1.$isIdentity]() {
    return this.isIdentity;
  }
  get [S$1.$m11]() {
    return this.m11;
  }
  get [S$1.$m12]() {
    return this.m12;
  }
  get [S$1.$m13]() {
    return this.m13;
  }
  get [S$1.$m14]() {
    return this.m14;
  }
  get [S$1.$m21]() {
    return this.m21;
  }
  get [S$1.$m22]() {
    return this.m22;
  }
  get [S$1.$m23]() {
    return this.m23;
  }
  get [S$1.$m24]() {
    return this.m24;
  }
  get [S$1.$m31]() {
    return this.m31;
  }
  get [S$1.$m32]() {
    return this.m32;
  }
  get [S$1.$m33]() {
    return this.m33;
  }
  get [S$1.$m34]() {
    return this.m34;
  }
  get [S$1.$m41]() {
    return this.m41;
  }
  get [S$1.$m42]() {
    return this.m42;
  }
  get [S$1.$m43]() {
    return this.m43;
  }
  get [S$1.$m44]() {
    return this.m44;
  }
  [S$1.$flipX](...args) {
    return this.flipX.apply(this, args);
  }
  [S$1.$flipY](...args) {
    return this.flipY.apply(this, args);
  }
  static fromMatrix(other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return dart.global.DOMMatrixReadOnly.fromMatrix(other_1);
    }
    return dart.global.DOMMatrixReadOnly.fromMatrix();
  }
  [S$1.$inverse](...args) {
    return this.inverse.apply(this, args);
  }
  [S$1.$multiply](other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return this[S$1._multiply_1](other_1);
    }
    return this[S$1._multiply_2]();
  }
  [S$1._multiply_1](...args) {
    return this.multiply.apply(this, args);
  }
  [S$1._multiply_2](...args) {
    return this.multiply.apply(this, args);
  }
  [S$.$rotate](...args) {
    return this.rotate.apply(this, args);
  }
  [S$1.$rotateAxisAngle](...args) {
    return this.rotateAxisAngle.apply(this, args);
  }
  [S$1.$rotateFromVector](...args) {
    return this.rotateFromVector.apply(this, args);
  }
  [S$.$scale](...args) {
    return this.scale.apply(this, args);
  }
  [S$1.$scale3d](...args) {
    return this.scale3d.apply(this, args);
  }
  [S$1.$skewX](...args) {
    return this.skewX.apply(this, args);
  }
  [S$1.$skewY](...args) {
    return this.skewY.apply(this, args);
  }
  [S$1.$toFloat32Array](...args) {
    return this.toFloat32Array.apply(this, args);
  }
  [S$1.$toFloat64Array](...args) {
    return this.toFloat64Array.apply(this, args);
  }
  [S$1.$transformPoint](point = null) {
    if (point != null) {
      let point_1 = html_common.convertDartToNative_Dictionary(point);
      return this[S$1._transformPoint_1](point_1);
    }
    return this[S$1._transformPoint_2]();
  }
  [S$1._transformPoint_1](...args) {
    return this.transformPoint.apply(this, args);
  }
  [S$1._transformPoint_2](...args) {
    return this.transformPoint.apply(this, args);
  }
  [S.$translate](...args) {
    return this.translate.apply(this, args);
  }
};
dart.addTypeTests(html$.DomMatrixReadOnly);
dart.addTypeCaches(html$.DomMatrixReadOnly);
dart.setMethodSignature(html$.DomMatrixReadOnly, () => ({
  __proto__: dart.getMethods(html$.DomMatrixReadOnly.__proto__),
  [S$1.$flipX]: dart.fnType(html$.DomMatrix, []),
  [S$1.$flipY]: dart.fnType(html$.DomMatrix, []),
  [S$1.$inverse]: dart.fnType(html$.DomMatrix, []),
  [S$1.$multiply]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.Map)]),
  [S$1._multiply_1]: dart.fnType(html$.DomMatrix, [dart.dynamic]),
  [S$1._multiply_2]: dart.fnType(html$.DomMatrix, []),
  [S$.$rotate]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$rotateAxisAngle]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$rotateFromVector]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num)]),
  [S$.$scale]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$scale3d]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$skewX]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num)]),
  [S$1.$skewY]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num)]),
  [S$1.$toFloat32Array]: dart.fnType(typed_data.Float32List, []),
  [S$1.$toFloat64Array]: dart.fnType(typed_data.Float64List, []),
  [S$1.$transformPoint]: dart.fnType(html$.DomPoint, [], [dart.nullable(core.Map)]),
  [S$1._transformPoint_1]: dart.fnType(html$.DomPoint, [dart.dynamic]),
  [S$1._transformPoint_2]: dart.fnType(html$.DomPoint, []),
  [S.$translate]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)])
}));
dart.setGetterSignature(html$.DomMatrixReadOnly, () => ({
  __proto__: dart.getGetters(html$.DomMatrixReadOnly.__proto__),
  [S$1.$a]: dart.nullable(core.num),
  [S$1.$b]: dart.nullable(core.num),
  [S$1.$c]: dart.nullable(core.num),
  [S$1.$d]: dart.nullable(core.num),
  [S$1.$e]: dart.nullable(core.num),
  [S$1.$f]: dart.nullable(core.num),
  [S$.$is2D]: dart.nullable(core.bool),
  [S$1.$isIdentity]: dart.nullable(core.bool),
  [S$1.$m11]: dart.nullable(core.num),
  [S$1.$m12]: dart.nullable(core.num),
  [S$1.$m13]: dart.nullable(core.num),
  [S$1.$m14]: dart.nullable(core.num),
  [S$1.$m21]: dart.nullable(core.num),
  [S$1.$m22]: dart.nullable(core.num),
  [S$1.$m23]: dart.nullable(core.num),
  [S$1.$m24]: dart.nullable(core.num),
  [S$1.$m31]: dart.nullable(core.num),
  [S$1.$m32]: dart.nullable(core.num),
  [S$1.$m33]: dart.nullable(core.num),
  [S$1.$m34]: dart.nullable(core.num),
  [S$1.$m41]: dart.nullable(core.num),
  [S$1.$m42]: dart.nullable(core.num),
  [S$1.$m43]: dart.nullable(core.num),
  [S$1.$m44]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DomMatrixReadOnly, I[148]);
dart.registerExtension("DOMMatrixReadOnly", html$.DomMatrixReadOnly);
html$.DomMatrix = class DomMatrix extends html$.DomMatrixReadOnly {
  static new(init = null) {
    if (init != null) {
      return html$.DomMatrix._create_1(init);
    }
    return html$.DomMatrix._create_2();
  }
  static _create_1(init) {
    return new DOMMatrix(init);
  }
  static _create_2() {
    return new DOMMatrix();
  }
  get [S$1.$a]() {
    return this.a;
  }
  set [S$1.$a](value) {
    this.a = value;
  }
  get [S$1.$b]() {
    return this.b;
  }
  set [S$1.$b](value) {
    this.b = value;
  }
  get [S$1.$c]() {
    return this.c;
  }
  set [S$1.$c](value) {
    this.c = value;
  }
  get [S$1.$d]() {
    return this.d;
  }
  set [S$1.$d](value) {
    this.d = value;
  }
  get [S$1.$e]() {
    return this.e;
  }
  set [S$1.$e](value) {
    this.e = value;
  }
  get [S$1.$f]() {
    return this.f;
  }
  set [S$1.$f](value) {
    this.f = value;
  }
  get [S$1.$m11]() {
    return this.m11;
  }
  set [S$1.$m11](value) {
    this.m11 = value;
  }
  get [S$1.$m12]() {
    return this.m12;
  }
  set [S$1.$m12](value) {
    this.m12 = value;
  }
  get [S$1.$m13]() {
    return this.m13;
  }
  set [S$1.$m13](value) {
    this.m13 = value;
  }
  get [S$1.$m14]() {
    return this.m14;
  }
  set [S$1.$m14](value) {
    this.m14 = value;
  }
  get [S$1.$m21]() {
    return this.m21;
  }
  set [S$1.$m21](value) {
    this.m21 = value;
  }
  get [S$1.$m22]() {
    return this.m22;
  }
  set [S$1.$m22](value) {
    this.m22 = value;
  }
  get [S$1.$m23]() {
    return this.m23;
  }
  set [S$1.$m23](value) {
    this.m23 = value;
  }
  get [S$1.$m24]() {
    return this.m24;
  }
  set [S$1.$m24](value) {
    this.m24 = value;
  }
  get [S$1.$m31]() {
    return this.m31;
  }
  set [S$1.$m31](value) {
    this.m31 = value;
  }
  get [S$1.$m32]() {
    return this.m32;
  }
  set [S$1.$m32](value) {
    this.m32 = value;
  }
  get [S$1.$m33]() {
    return this.m33;
  }
  set [S$1.$m33](value) {
    this.m33 = value;
  }
  get [S$1.$m34]() {
    return this.m34;
  }
  set [S$1.$m34](value) {
    this.m34 = value;
  }
  get [S$1.$m41]() {
    return this.m41;
  }
  set [S$1.$m41](value) {
    this.m41 = value;
  }
  get [S$1.$m42]() {
    return this.m42;
  }
  set [S$1.$m42](value) {
    this.m42 = value;
  }
  get [S$1.$m43]() {
    return this.m43;
  }
  set [S$1.$m43](value) {
    this.m43 = value;
  }
  get [S$1.$m44]() {
    return this.m44;
  }
  set [S$1.$m44](value) {
    this.m44 = value;
  }
  static fromMatrix(other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return dart.global.DOMMatrix.fromMatrix(other_1);
    }
    return dart.global.DOMMatrix.fromMatrix();
  }
  [S$1.$invertSelf](...args) {
    return this.invertSelf.apply(this, args);
  }
  [S$1.$multiplySelf](other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return this[S$1._multiplySelf_1](other_1);
    }
    return this[S$1._multiplySelf_2]();
  }
  [S$1._multiplySelf_1](...args) {
    return this.multiplySelf.apply(this, args);
  }
  [S$1._multiplySelf_2](...args) {
    return this.multiplySelf.apply(this, args);
  }
  [S$1.$preMultiplySelf](other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return this[S$1._preMultiplySelf_1](other_1);
    }
    return this[S$1._preMultiplySelf_2]();
  }
  [S$1._preMultiplySelf_1](...args) {
    return this.preMultiplySelf.apply(this, args);
  }
  [S$1._preMultiplySelf_2](...args) {
    return this.preMultiplySelf.apply(this, args);
  }
  [S$1.$rotateAxisAngleSelf](...args) {
    return this.rotateAxisAngleSelf.apply(this, args);
  }
  [S$1.$rotateFromVectorSelf](...args) {
    return this.rotateFromVectorSelf.apply(this, args);
  }
  [S$1.$rotateSelf](...args) {
    return this.rotateSelf.apply(this, args);
  }
  [S$1.$scale3dSelf](...args) {
    return this.scale3dSelf.apply(this, args);
  }
  [S$1.$scaleSelf](...args) {
    return this.scaleSelf.apply(this, args);
  }
  [S$1.$setMatrixValue](...args) {
    return this.setMatrixValue.apply(this, args);
  }
  [S$1.$skewXSelf](...args) {
    return this.skewXSelf.apply(this, args);
  }
  [S$1.$skewYSelf](...args) {
    return this.skewYSelf.apply(this, args);
  }
  [S$1.$translateSelf](...args) {
    return this.translateSelf.apply(this, args);
  }
};
dart.addTypeTests(html$.DomMatrix);
dart.addTypeCaches(html$.DomMatrix);
dart.setMethodSignature(html$.DomMatrix, () => ({
  __proto__: dart.getMethods(html$.DomMatrix.__proto__),
  [S$1.$invertSelf]: dart.fnType(html$.DomMatrix, []),
  [S$1.$multiplySelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.Map)]),
  [S$1._multiplySelf_1]: dart.fnType(html$.DomMatrix, [dart.dynamic]),
  [S$1._multiplySelf_2]: dart.fnType(html$.DomMatrix, []),
  [S$1.$preMultiplySelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.Map)]),
  [S$1._preMultiplySelf_1]: dart.fnType(html$.DomMatrix, [dart.dynamic]),
  [S$1._preMultiplySelf_2]: dart.fnType(html$.DomMatrix, []),
  [S$1.$rotateAxisAngleSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$rotateFromVectorSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$rotateSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$scale3dSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$scaleSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$1.$setMatrixValue]: dart.fnType(html$.DomMatrix, [core.String]),
  [S$1.$skewXSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num)]),
  [S$1.$skewYSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num)]),
  [S$1.$translateSelf]: dart.fnType(html$.DomMatrix, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)])
}));
dart.setSetterSignature(html$.DomMatrix, () => ({
  __proto__: dart.getSetters(html$.DomMatrix.__proto__),
  [S$1.$a]: dart.nullable(core.num),
  [S$1.$b]: dart.nullable(core.num),
  [S$1.$c]: dart.nullable(core.num),
  [S$1.$d]: dart.nullable(core.num),
  [S$1.$e]: dart.nullable(core.num),
  [S$1.$f]: dart.nullable(core.num),
  [S$1.$m11]: dart.nullable(core.num),
  [S$1.$m12]: dart.nullable(core.num),
  [S$1.$m13]: dart.nullable(core.num),
  [S$1.$m14]: dart.nullable(core.num),
  [S$1.$m21]: dart.nullable(core.num),
  [S$1.$m22]: dart.nullable(core.num),
  [S$1.$m23]: dart.nullable(core.num),
  [S$1.$m24]: dart.nullable(core.num),
  [S$1.$m31]: dart.nullable(core.num),
  [S$1.$m32]: dart.nullable(core.num),
  [S$1.$m33]: dart.nullable(core.num),
  [S$1.$m34]: dart.nullable(core.num),
  [S$1.$m41]: dart.nullable(core.num),
  [S$1.$m42]: dart.nullable(core.num),
  [S$1.$m43]: dart.nullable(core.num),
  [S$1.$m44]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DomMatrix, I[148]);
dart.registerExtension("DOMMatrix", html$.DomMatrix);
html$.DomParser = class DomParser extends _interceptors.Interceptor {
  static new() {
    return html$.DomParser._create_1();
  }
  static _create_1() {
    return new DOMParser();
  }
  [S$1.$parseFromString](...args) {
    return this.parseFromString.apply(this, args);
  }
};
dart.addTypeTests(html$.DomParser);
dart.addTypeCaches(html$.DomParser);
dart.setMethodSignature(html$.DomParser, () => ({
  __proto__: dart.getMethods(html$.DomParser.__proto__),
  [S$1.$parseFromString]: dart.fnType(html$.Document, [core.String, core.String])
}));
dart.setLibraryUri(html$.DomParser, I[148]);
dart.registerExtension("DOMParser", html$.DomParser);
html$.DomPointReadOnly = class DomPointReadOnly extends _interceptors.Interceptor {
  static new(x = null, y = null, z = null, w = null) {
    if (w != null) {
      return html$.DomPointReadOnly._create_1(x, y, z, w);
    }
    if (z != null) {
      return html$.DomPointReadOnly._create_2(x, y, z);
    }
    if (y != null) {
      return html$.DomPointReadOnly._create_3(x, y);
    }
    if (x != null) {
      return html$.DomPointReadOnly._create_4(x);
    }
    return html$.DomPointReadOnly._create_5();
  }
  static _create_1(x, y, z, w) {
    return new DOMPointReadOnly(x, y, z, w);
  }
  static _create_2(x, y, z) {
    return new DOMPointReadOnly(x, y, z);
  }
  static _create_3(x, y) {
    return new DOMPointReadOnly(x, y);
  }
  static _create_4(x) {
    return new DOMPointReadOnly(x);
  }
  static _create_5() {
    return new DOMPointReadOnly();
  }
  get [S$1.$w]() {
    return this.w;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$z]() {
    return this.z;
  }
  static fromPoint(other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return dart.global.DOMPointReadOnly.fromPoint(other_1);
    }
    return dart.global.DOMPointReadOnly.fromPoint();
  }
  [S$1.$matrixTransform](matrix = null) {
    if (matrix != null) {
      let matrix_1 = html_common.convertDartToNative_Dictionary(matrix);
      return this[S$1._matrixTransform_1](matrix_1);
    }
    return this[S$1._matrixTransform_2]();
  }
  [S$1._matrixTransform_1](...args) {
    return this.matrixTransform.apply(this, args);
  }
  [S$1._matrixTransform_2](...args) {
    return this.matrixTransform.apply(this, args);
  }
};
dart.addTypeTests(html$.DomPointReadOnly);
dart.addTypeCaches(html$.DomPointReadOnly);
dart.setMethodSignature(html$.DomPointReadOnly, () => ({
  __proto__: dart.getMethods(html$.DomPointReadOnly.__proto__),
  [S$1.$matrixTransform]: dart.fnType(html$.DomPoint, [], [dart.nullable(core.Map)]),
  [S$1._matrixTransform_1]: dart.fnType(html$.DomPoint, [dart.dynamic]),
  [S$1._matrixTransform_2]: dart.fnType(html$.DomPoint, [])
}));
dart.setGetterSignature(html$.DomPointReadOnly, () => ({
  __proto__: dart.getGetters(html$.DomPointReadOnly.__proto__),
  [S$1.$w]: dart.nullable(core.num),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DomPointReadOnly, I[148]);
dart.registerExtension("DOMPointReadOnly", html$.DomPointReadOnly);
html$.DomPoint = class DomPoint extends html$.DomPointReadOnly {
  static new(x = null, y = null, z = null, w = null) {
    if (w != null) {
      return html$.DomPoint._create_1(x, y, z, w);
    }
    if (z != null) {
      return html$.DomPoint._create_2(x, y, z);
    }
    if (y != null) {
      return html$.DomPoint._create_3(x, y);
    }
    if (x != null) {
      return html$.DomPoint._create_4(x);
    }
    return html$.DomPoint._create_5();
  }
  static _create_1(x, y, z, w) {
    return new DOMPoint(x, y, z, w);
  }
  static _create_2(x, y, z) {
    return new DOMPoint(x, y, z);
  }
  static _create_3(x, y) {
    return new DOMPoint(x, y);
  }
  static _create_4(x) {
    return new DOMPoint(x);
  }
  static _create_5() {
    return new DOMPoint();
  }
  static get supported() {
    return !!window.DOMPoint || !!window.WebKitPoint;
  }
  get [S$1.$w]() {
    return this.w;
  }
  set [S$1.$w](value) {
    this.w = value;
  }
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
  get [S$.$z]() {
    return this.z;
  }
  set [S$.$z](value) {
    this.z = value;
  }
  static fromPoint(other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return dart.global.DOMPoint.fromPoint(other_1);
    }
    return dart.global.DOMPoint.fromPoint();
  }
};
dart.addTypeTests(html$.DomPoint);
dart.addTypeCaches(html$.DomPoint);
dart.setSetterSignature(html$.DomPoint, () => ({
  __proto__: dart.getSetters(html$.DomPoint.__proto__),
  [S$1.$w]: dart.nullable(core.num),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DomPoint, I[148]);
dart.registerExtension("DOMPoint", html$.DomPoint);
html$.DomQuad = class DomQuad extends _interceptors.Interceptor {
  static new(p1 = null, p2 = null, p3 = null, p4 = null) {
    if (p4 != null) {
      let p1_1 = html_common.convertDartToNative_Dictionary(p1);
      let p2_2 = html_common.convertDartToNative_Dictionary(p2);
      let p3_3 = html_common.convertDartToNative_Dictionary(p3);
      let p4_4 = html_common.convertDartToNative_Dictionary(p4);
      return html$.DomQuad._create_1(p1_1, p2_2, p3_3, p4_4);
    }
    if (p3 != null) {
      let p1_1 = html_common.convertDartToNative_Dictionary(p1);
      let p2_2 = html_common.convertDartToNative_Dictionary(p2);
      let p3_3 = html_common.convertDartToNative_Dictionary(p3);
      return html$.DomQuad._create_2(p1_1, p2_2, p3_3);
    }
    if (p2 != null) {
      let p1_1 = html_common.convertDartToNative_Dictionary(p1);
      let p2_2 = html_common.convertDartToNative_Dictionary(p2);
      return html$.DomQuad._create_3(p1_1, p2_2);
    }
    if (p1 != null) {
      let p1_1 = html_common.convertDartToNative_Dictionary(p1);
      return html$.DomQuad._create_4(p1_1);
    }
    return html$.DomQuad._create_5();
  }
  static _create_1(p1, p2, p3, p4) {
    return new DOMQuad(p1, p2, p3, p4);
  }
  static _create_2(p1, p2, p3) {
    return new DOMQuad(p1, p2, p3);
  }
  static _create_3(p1, p2) {
    return new DOMQuad(p1, p2);
  }
  static _create_4(p1) {
    return new DOMQuad(p1);
  }
  static _create_5() {
    return new DOMQuad();
  }
  get [S$1.$p1]() {
    return this.p1;
  }
  get [S$1.$p2]() {
    return this.p2;
  }
  get [S$1.$p3]() {
    return this.p3;
  }
  get [S$1.$p4]() {
    return this.p4;
  }
  static fromQuad(other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return dart.global.DOMQuad.fromQuad(other_1);
    }
    return dart.global.DOMQuad.fromQuad();
  }
  static fromRect(other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return dart.global.DOMQuad.fromRect(other_1);
    }
    return dart.global.DOMQuad.fromRect();
  }
  [S$1.$getBounds](...args) {
    return this.getBounds.apply(this, args);
  }
};
dart.addTypeTests(html$.DomQuad);
dart.addTypeCaches(html$.DomQuad);
dart.setMethodSignature(html$.DomQuad, () => ({
  __proto__: dart.getMethods(html$.DomQuad.__proto__),
  [S$1.$getBounds]: dart.fnType(math.Rectangle$(core.num), [])
}));
dart.setGetterSignature(html$.DomQuad, () => ({
  __proto__: dart.getGetters(html$.DomQuad.__proto__),
  [S$1.$p1]: dart.nullable(html$.DomPoint),
  [S$1.$p2]: dart.nullable(html$.DomPoint),
  [S$1.$p3]: dart.nullable(html$.DomPoint),
  [S$1.$p4]: dart.nullable(html$.DomPoint)
}));
dart.setLibraryUri(html$.DomQuad, I[148]);
dart.registerExtension("DOMQuad", html$.DomQuad);
const _is_ImmutableListMixin_default = Symbol('_is_ImmutableListMixin_default');
html$.ImmutableListMixin$ = dart.generic(E => {
  var __t$FixedSizeListIteratorOfE = () => (__t$FixedSizeListIteratorOfE = dart.constFn(html$.FixedSizeListIterator$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  class ImmutableListMixin extends core.Object {
    get iterator() {
      return new (__t$FixedSizeListIteratorOfE()).new(this);
    }
    [Symbol.iterator]() {
      return new dart.JsIterator(this[$iterator]);
    }
    add(value) {
      E.as(value);
      dart.throw(new core.UnsupportedError.new("Cannot add to immutable List."));
    }
    addAll(iterable) {
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[147], 37984, 27, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot add to immutable List."));
    }
    sort(compare = null) {
      dart.throw(new core.UnsupportedError.new("Cannot sort immutable List."));
    }
    shuffle(random = null) {
      dart.throw(new core.UnsupportedError.new("Cannot shuffle immutable List."));
    }
    insert(index, element) {
      if (index == null) dart.nullFailed(I[147], 37996, 19, "index");
      E.as(element);
      dart.throw(new core.UnsupportedError.new("Cannot add to immutable List."));
    }
    insertAll(index, iterable) {
      if (index == null) dart.nullFailed(I[147], 38000, 22, "index");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[147], 38000, 41, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot add to immutable List."));
    }
    setAll(index, iterable) {
      if (index == null) dart.nullFailed(I[147], 38004, 19, "index");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[147], 38004, 38, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot modify an immutable List."));
    }
    removeAt(pos) {
      if (pos == null) dart.nullFailed(I[147], 38008, 18, "pos");
      dart.throw(new core.UnsupportedError.new("Cannot remove from immutable List."));
    }
    removeLast() {
      dart.throw(new core.UnsupportedError.new("Cannot remove from immutable List."));
    }
    remove(object) {
      dart.throw(new core.UnsupportedError.new("Cannot remove from immutable List."));
    }
    removeWhere(test) {
      if (test == null) dart.nullFailed(I[147], 38020, 25, "test");
      dart.throw(new core.UnsupportedError.new("Cannot remove from immutable List."));
    }
    retainWhere(test) {
      if (test == null) dart.nullFailed(I[147], 38024, 25, "test");
      dart.throw(new core.UnsupportedError.new("Cannot remove from immutable List."));
    }
    setRange(start, end, iterable, skipCount = 0) {
      if (start == null) dart.nullFailed(I[147], 38028, 21, "start");
      if (end == null) dart.nullFailed(I[147], 38028, 32, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[147], 38028, 49, "iterable");
      if (skipCount == null) dart.nullFailed(I[147], 38028, 64, "skipCount");
      dart.throw(new core.UnsupportedError.new("Cannot setRange on immutable List."));
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[147], 38032, 24, "start");
      if (end == null) dart.nullFailed(I[147], 38032, 35, "end");
      dart.throw(new core.UnsupportedError.new("Cannot removeRange on immutable List."));
    }
    replaceRange(start, end, iterable) {
      if (start == null) dart.nullFailed(I[147], 38036, 25, "start");
      if (end == null) dart.nullFailed(I[147], 38036, 36, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[147], 38036, 53, "iterable");
      dart.throw(new core.UnsupportedError.new("Cannot modify an immutable List."));
    }
    fillRange(start, end, fillValue = null) {
      if (start == null) dart.nullFailed(I[147], 38040, 22, "start");
      if (end == null) dart.nullFailed(I[147], 38040, 33, "end");
      __t$EN().as(fillValue);
      dart.throw(new core.UnsupportedError.new("Cannot modify an immutable List."));
    }
  }
  (ImmutableListMixin.new = function() {
    ;
  }).prototype = ImmutableListMixin.prototype;
  ImmutableListMixin.prototype[dart.isList] = true;
  dart.addTypeTests(ImmutableListMixin);
  ImmutableListMixin.prototype[_is_ImmutableListMixin_default] = true;
  dart.addTypeCaches(ImmutableListMixin);
  ImmutableListMixin[dart.implements] = () => [core.List$(E)];
  dart.setMethodSignature(ImmutableListMixin, () => ({
    __proto__: dart.getMethods(ImmutableListMixin.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$add]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    sort: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(core.int, [E, E]))]),
    [$sort]: dart.fnType(dart.void, [], [dart.nullable(dart.fnType(core.int, [E, E]))]),
    shuffle: dart.fnType(dart.void, [], [dart.nullable(math.Random)]),
    [$shuffle]: dart.fnType(dart.void, [], [dart.nullable(math.Random)]),
    insert: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insert]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    insertAll: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$insertAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    setAll: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$setAll]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    removeAt: dart.fnType(E, [core.int]),
    [$removeAt]: dart.fnType(E, [core.int]),
    removeLast: dart.fnType(E, []),
    [$removeLast]: dart.fnType(E, []),
    remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    [$remove]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
    removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    retainWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    [$retainWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [E])]),
    setRange: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)], [core.int]),
    [$setRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)], [core.int]),
    removeRange: dart.fnType(dart.void, [core.int, core.int]),
    [$removeRange]: dart.fnType(dart.void, [core.int, core.int]),
    replaceRange: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    [$replaceRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(core.Object)]),
    fillRange: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.Object)]),
    [$fillRange]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(ImmutableListMixin, () => ({
    __proto__: dart.getGetters(ImmutableListMixin.__proto__),
    iterator: core.Iterator$(E),
    [$iterator]: core.Iterator$(E)
  }));
  dart.setLibraryUri(ImmutableListMixin, I[148]);
  dart.defineExtensionMethods(ImmutableListMixin, [
    'add',
    'addAll',
    'sort',
    'shuffle',
    'insert',
    'insertAll',
    'setAll',
    'removeAt',
    'removeLast',
    'remove',
    'removeWhere',
    'retainWhere',
    'setRange',
    'removeRange',
    'replaceRange',
    'fillRange'
  ]);
  dart.defineExtensionAccessors(ImmutableListMixin, ['iterator']);
  return ImmutableListMixin;
});
html$.ImmutableListMixin = html$.ImmutableListMixin$();
dart.addTypeTests(html$.ImmutableListMixin, _is_ImmutableListMixin_default);
const Interceptor_ListMixin$36 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36.new = function() {
  Interceptor_ListMixin$36.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36.prototype;
dart.applyMixin(Interceptor_ListMixin$36, collection.ListMixin$(math.Rectangle$(core.num)));
const Interceptor_ImmutableListMixin$36 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36 {};
(Interceptor_ImmutableListMixin$36.new = function() {
  Interceptor_ImmutableListMixin$36.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36, html$.ImmutableListMixin$(math.Rectangle$(core.num)));
html$.DomRectList = class DomRectList extends Interceptor_ImmutableListMixin$36 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 11387, 29, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 11393, 25, "index");
    T$0.RectangleOfnum().as(value);
    if (value == null) dart.nullFailed(I[147], 11393, 42, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 11399, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 11427, 27, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$.DomRectList.prototype[dart.isList] = true;
dart.addTypeTests(html$.DomRectList);
dart.addTypeCaches(html$.DomRectList);
html$.DomRectList[dart.implements] = () => [core.List$(math.Rectangle$(core.num)), _js_helper.JavaScriptIndexingBehavior$(math.Rectangle$(core.num))];
dart.setMethodSignature(html$.DomRectList, () => ({
  __proto__: dart.getMethods(html$.DomRectList.__proto__),
  [$_get]: dart.fnType(math.Rectangle$(core.num), [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(math.Rectangle$(core.num)), [core.int])
}));
dart.setGetterSignature(html$.DomRectList, () => ({
  __proto__: dart.getGetters(html$.DomRectList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.DomRectList, () => ({
  __proto__: dart.getSetters(html$.DomRectList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.DomRectList, I[148]);
dart.registerExtension("ClientRectList", html$.DomRectList);
dart.registerExtension("DOMRectList", html$.DomRectList);
html$.DomRectReadOnly = class DomRectReadOnly extends _interceptors.Interceptor {
  [$toString]() {
    return "Rectangle (" + dart.str(this[$left]) + ", " + dart.str(this[$top]) + ") " + dart.str(this[$width]) + " x " + dart.str(this[$height]);
  }
  [$_equals](other) {
    if (other == null) return false;
    return T$0.RectangleOfnum().is(other) && this[$left] == other[$left] && this[$top] == other[$top] && this[$width] == other[$width] && this[$height] == other[$height];
  }
  get [$hashCode]() {
    return html$._JenkinsSmiHash.hash4(dart.hashCode(this[$left]), dart.hashCode(this[$top]), dart.hashCode(this[$width]), dart.hashCode(this[$height]));
  }
  [$intersection](other) {
    T$0.RectangleOfnum().as(other);
    if (other == null) dart.nullFailed(I[147], 11462, 37, "other");
    let x0 = math.max(core.num, this[$left], other[$left]);
    let x1 = math.min(core.num, dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(other[$left]) + dart.notNull(other[$width]));
    if (x0 <= x1) {
      let y0 = math.max(core.num, this[$top], other[$top]);
      let y1 = math.min(core.num, dart.notNull(this[$top]) + dart.notNull(this[$height]), dart.notNull(other[$top]) + dart.notNull(other[$height]));
      if (y0 <= y1) {
        return new (T$0.RectangleOfnum()).new(x0, y0, x1 - x0, y1 - y0);
      }
    }
    return null;
  }
  [$intersects](other) {
    if (other == null) dart.nullFailed(I[147], 11480, 34, "other");
    return dart.notNull(this[$left]) <= dart.notNull(other[$left]) + dart.notNull(other[$width]) && dart.notNull(other[$left]) <= dart.notNull(this[$left]) + dart.notNull(this[$width]) && dart.notNull(this[$top]) <= dart.notNull(other[$top]) + dart.notNull(other[$height]) && dart.notNull(other[$top]) <= dart.notNull(this[$top]) + dart.notNull(this[$height]);
  }
  [$boundingBox](other) {
    T$0.RectangleOfnum().as(other);
    if (other == null) dart.nullFailed(I[147], 11490, 35, "other");
    let right = math.max(core.num, dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(other[$left]) + dart.notNull(other[$width]));
    let bottom = math.max(core.num, dart.notNull(this[$top]) + dart.notNull(this[$height]), dart.notNull(other[$top]) + dart.notNull(other[$height]));
    let left = math.min(core.num, this[$left], other[$left]);
    let top = math.min(core.num, this[$top], other[$top]);
    return new (T$0.RectangleOfnum()).new(left, top, right - left, bottom - top);
  }
  [$containsRectangle](another) {
    if (another == null) dart.nullFailed(I[147], 11503, 41, "another");
    return dart.notNull(this[$left]) <= dart.notNull(another[$left]) && dart.notNull(this[$left]) + dart.notNull(this[$width]) >= dart.notNull(another[$left]) + dart.notNull(another[$width]) && dart.notNull(this[$top]) <= dart.notNull(another[$top]) && dart.notNull(this[$top]) + dart.notNull(this[$height]) >= dart.notNull(another[$top]) + dart.notNull(another[$height]);
  }
  [$containsPoint](another) {
    if (another == null) dart.nullFailed(I[147], 11513, 33, "another");
    return dart.notNull(another.x) >= dart.notNull(this[$left]) && dart.notNull(another.x) <= dart.notNull(this[$left]) + dart.notNull(this[$width]) && dart.notNull(another.y) >= dart.notNull(this[$top]) && dart.notNull(another.y) <= dart.notNull(this[$top]) + dart.notNull(this[$height]);
  }
  get [$topLeft]() {
    return new (T$0.PointOfnum()).new(this[$left], this[$top]);
  }
  get [$topRight]() {
    return new (T$0.PointOfnum()).new(dart.notNull(this[$left]) + dart.notNull(this[$width]), this[$top]);
  }
  get [$bottomRight]() {
    return new (T$0.PointOfnum()).new(dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(this[$top]) + dart.notNull(this[$height]));
  }
  get [$bottomLeft]() {
    return new (T$0.PointOfnum()).new(this[$left], dart.notNull(this[$top]) + dart.notNull(this[$height]));
  }
  static new(x = null, y = null, width = null, height = null) {
    if (height != null) {
      return html$.DomRectReadOnly._create_1(x, y, width, height);
    }
    if (width != null) {
      return html$.DomRectReadOnly._create_2(x, y, width);
    }
    if (y != null) {
      return html$.DomRectReadOnly._create_3(x, y);
    }
    if (x != null) {
      return html$.DomRectReadOnly._create_4(x);
    }
    return html$.DomRectReadOnly._create_5();
  }
  static _create_1(x, y, width, height) {
    return new DOMRectReadOnly(x, y, width, height);
  }
  static _create_2(x, y, width) {
    return new DOMRectReadOnly(x, y, width);
  }
  static _create_3(x, y) {
    return new DOMRectReadOnly(x, y);
  }
  static _create_4(x) {
    return new DOMRectReadOnly(x);
  }
  static _create_5() {
    return new DOMRectReadOnly();
  }
  get [S$0._bottom]() {
    return this.bottom;
  }
  get [$bottom]() {
    return dart.nullCheck(this[S$0._bottom]);
  }
  get [S$0._height$1]() {
    return this.height;
  }
  get [$height]() {
    return dart.nullCheck(this[S$0._height$1]);
  }
  get [S$0._left$2]() {
    return this.left;
  }
  get [$left]() {
    return dart.nullCheck(this[S$0._left$2]);
  }
  get [S$0._right$2]() {
    return this.right;
  }
  get [$right]() {
    return dart.nullCheck(this[S$0._right$2]);
  }
  get [S$0._top]() {
    return this.top;
  }
  get [$top]() {
    return dart.nullCheck(this[S$0._top]);
  }
  get [S$0._width$1]() {
    return this.width;
  }
  get [$width]() {
    return dart.nullCheck(this[S$0._width$1]);
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  static fromRect(other = null) {
    if (other != null) {
      let other_1 = html_common.convertDartToNative_Dictionary(other);
      return dart.global.DOMRectReadOnly.fromRect(other_1);
    }
    return dart.global.DOMRectReadOnly.fromRect();
  }
};
dart.addTypeTests(html$.DomRectReadOnly);
dart.addTypeCaches(html$.DomRectReadOnly);
html$.DomRectReadOnly[dart.implements] = () => [math.Rectangle$(core.num)];
dart.setMethodSignature(html$.DomRectReadOnly, () => ({
  __proto__: dart.getMethods(html$.DomRectReadOnly.__proto__),
  [$intersection]: dart.fnType(dart.nullable(math.Rectangle$(core.num)), [dart.nullable(core.Object)]),
  [$intersects]: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
  [$boundingBox]: dart.fnType(math.Rectangle$(core.num), [dart.nullable(core.Object)]),
  [$containsRectangle]: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
  [$containsPoint]: dart.fnType(core.bool, [math.Point$(core.num)])
}));
dart.setGetterSignature(html$.DomRectReadOnly, () => ({
  __proto__: dart.getGetters(html$.DomRectReadOnly.__proto__),
  [$topLeft]: math.Point$(core.num),
  [$topRight]: math.Point$(core.num),
  [$bottomRight]: math.Point$(core.num),
  [$bottomLeft]: math.Point$(core.num),
  [S$0._bottom]: dart.nullable(core.num),
  [$bottom]: core.num,
  [S$0._height$1]: dart.nullable(core.num),
  [$height]: core.num,
  [S$0._left$2]: dart.nullable(core.num),
  [$left]: core.num,
  [S$0._right$2]: dart.nullable(core.num),
  [$right]: core.num,
  [S$0._top]: dart.nullable(core.num),
  [$top]: core.num,
  [S$0._width$1]: dart.nullable(core.num),
  [$width]: core.num,
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.DomRectReadOnly, I[148]);
dart.registerExtension("DOMRectReadOnly", html$.DomRectReadOnly);
const Interceptor_ListMixin$36$ = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$.new = function() {
  Interceptor_ListMixin$36$.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$.prototype;
dart.applyMixin(Interceptor_ListMixin$36$, collection.ListMixin$(core.String));
const Interceptor_ImmutableListMixin$36$ = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$ {};
(Interceptor_ImmutableListMixin$36$.new = function() {
  Interceptor_ImmutableListMixin$36$.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$, html$.ImmutableListMixin$(core.String));
html$.DomStringList = class DomStringList extends Interceptor_ImmutableListMixin$36$ {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 11638, 26, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 11644, 25, "index");
    core.String.as(value);
    if (value == null) dart.nullFailed(I[147], 11644, 39, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 11650, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 11678, 24, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$.DomStringList.prototype[dart.isList] = true;
dart.addTypeTests(html$.DomStringList);
dart.addTypeCaches(html$.DomStringList);
html$.DomStringList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(core.String), core.List$(core.String)];
dart.setMethodSignature(html$.DomStringList, () => ({
  __proto__: dart.getMethods(html$.DomStringList.__proto__),
  [$_get]: dart.fnType(core.String, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(core.String), [core.int])
}));
dart.setGetterSignature(html$.DomStringList, () => ({
  __proto__: dart.getGetters(html$.DomStringList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.DomStringList, () => ({
  __proto__: dart.getSetters(html$.DomStringList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.DomStringList, I[148]);
dart.registerExtension("DOMStringList", html$.DomStringList);
html$.DomStringMap = class DomStringMap extends _interceptors.Interceptor {
  [S$1.__delete__](...args) {
    return this.__delete__.apply(this, args);
  }
  [S$.__setter__](...args) {
    return this.__setter__.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
dart.addTypeTests(html$.DomStringMap);
dart.addTypeCaches(html$.DomStringMap);
dart.setMethodSignature(html$.DomStringMap, () => ({
  __proto__: dart.getMethods(html$.DomStringMap.__proto__),
  [S$1.__delete__]: dart.fnType(dart.void, [core.String]),
  [S$.__setter__]: dart.fnType(dart.void, [core.String, core.String]),
  [S$.$item]: dart.fnType(core.String, [core.String])
}));
dart.setLibraryUri(html$.DomStringMap, I[148]);
dart.registerExtension("DOMStringMap", html$.DomStringMap);
html$.DomTokenList = class DomTokenList extends _interceptors.Interceptor {
  get [$length]() {
    return this.length;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  [$add](...args) {
    return this.add.apply(this, args);
  }
  [$contains](...args) {
    return this.contains.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [$remove](...args) {
    return this.remove.apply(this, args);
  }
  [S$1.$replace](...args) {
    return this.replace.apply(this, args);
  }
  [S$1.$supports](...args) {
    return this.supports.apply(this, args);
  }
  [S$1.$toggle](...args) {
    return this.toggle.apply(this, args);
  }
};
dart.addTypeTests(html$.DomTokenList);
dart.addTypeCaches(html$.DomTokenList);
dart.setMethodSignature(html$.DomTokenList, () => ({
  __proto__: dart.getMethods(html$.DomTokenList.__proto__),
  [$add]: dart.fnType(dart.void, [core.String]),
  [$contains]: dart.fnType(core.bool, [core.String]),
  [S$.$item]: dart.fnType(dart.nullable(core.String), [core.int]),
  [$remove]: dart.fnType(dart.void, [core.String]),
  [S$1.$replace]: dart.fnType(dart.void, [core.String, core.String]),
  [S$1.$supports]: dart.fnType(core.bool, [core.String]),
  [S$1.$toggle]: dart.fnType(core.bool, [core.String], [dart.nullable(core.bool)])
}));
dart.setGetterSignature(html$.DomTokenList, () => ({
  __proto__: dart.getGetters(html$.DomTokenList.__proto__),
  [$length]: core.int,
  [S.$value]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.DomTokenList, () => ({
  __proto__: dart.getSetters(html$.DomTokenList.__proto__),
  [S.$value]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.DomTokenList, I[148]);
dart.registerExtension("DOMTokenList", html$.DomTokenList);
html$._ChildrenElementList = class _ChildrenElementList extends collection.ListBase$(html$.Element) {
  contains(element) {
    return this[S$1._childElements][$contains](element);
  }
  get isEmpty() {
    return this[S$1._element$2][S._firstElementChild] == null;
  }
  get length() {
    return this[S$1._childElements][$length];
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[147], 11755, 27, "index");
    return html$.Element.as(this[S$1._childElements][$_get](index));
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 11759, 25, "index");
    html$.Element.as(value);
    if (value == null) dart.nullFailed(I[147], 11759, 40, "value");
    this[S$1._element$2][S$._replaceChild](value, this[S$1._childElements][$_get](index));
    return value$;
  }
  set length(newLength) {
    if (newLength == null) dart.nullFailed(I[147], 11763, 18, "newLength");
    dart.throw(new core.UnsupportedError.new("Cannot resize element lists"));
  }
  add(value) {
    html$.Element.as(value);
    if (value == null) dart.nullFailed(I[147], 11768, 23, "value");
    this[S$1._element$2][S.$append](value);
    return value;
  }
  get iterator() {
    return this.toList()[$iterator];
  }
  addAll(iterable) {
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 11775, 33, "iterable");
    html$._ChildrenElementList._addAll(this[S$1._element$2], iterable);
  }
  static _addAll(_element, iterable) {
    if (_element == null) dart.nullFailed(I[147], 11779, 31, "_element");
    if (iterable == null) dart.nullFailed(I[147], 11779, 59, "iterable");
    if (html$._ChildNodeListLazy.is(iterable)) {
      iterable = T$0.ListOfElement().from(iterable);
    }
    for (let element of iterable) {
      _element[S.$append](element);
    }
  }
  sort(compare = null) {
    dart.throw(new core.UnsupportedError.new("Cannot sort element lists"));
  }
  shuffle(random = null) {
    dart.throw(new core.UnsupportedError.new("Cannot shuffle element lists"));
  }
  removeWhere(test) {
    if (test == null) dart.nullFailed(I[147], 11797, 25, "test");
    this[S$1._filter$2](test, false);
  }
  retainWhere(test) {
    if (test == null) dart.nullFailed(I[147], 11801, 25, "test");
    this[S$1._filter$2](test, true);
  }
  [S$1._filter$2](test, retainMatching) {
    if (test == null) dart.nullFailed(I[147], 11805, 21, "test");
    if (retainMatching == null) dart.nullFailed(I[147], 11805, 49, "retainMatching");
    let removed = null;
    if (dart.test(retainMatching)) {
      removed = this[S$1._element$2][S.$children][$where](dart.fn(e => {
        if (e == null) dart.nullFailed(I[147], 11808, 42, "e");
        return !dart.test(test(e));
      }, T$0.ElementTobool()));
    } else {
      removed = this[S$1._element$2][S.$children][$where](test);
    }
    for (let e of core.Iterable.as(removed))
      dart.dsend(e, 'remove', []);
  }
  fillRange(start, end, fillValue = null) {
    if (start == null) dart.nullFailed(I[147], 11815, 22, "start");
    if (end == null) dart.nullFailed(I[147], 11815, 33, "end");
    T$0.ElementN().as(fillValue);
    dart.throw(new core.UnimplementedError.new());
  }
  replaceRange(start, end, iterable) {
    if (start == null) dart.nullFailed(I[147], 11819, 25, "start");
    if (end == null) dart.nullFailed(I[147], 11819, 36, "end");
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 11819, 59, "iterable");
    dart.throw(new core.UnimplementedError.new());
  }
  removeRange(start, end) {
    if (start == null) dart.nullFailed(I[147], 11823, 24, "start");
    if (end == null) dart.nullFailed(I[147], 11823, 35, "end");
    dart.throw(new core.UnimplementedError.new());
  }
  setRange(start, end, iterable, skipCount = 0) {
    if (start == null) dart.nullFailed(I[147], 11827, 21, "start");
    if (end == null) dart.nullFailed(I[147], 11827, 32, "end");
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 11827, 55, "iterable");
    if (skipCount == null) dart.nullFailed(I[147], 11828, 12, "skipCount");
    dart.throw(new core.UnimplementedError.new());
  }
  remove(object) {
    return html$._ChildrenElementList._remove(this[S$1._element$2], object);
  }
  static _remove(_element, object) {
    if (_element == null) dart.nullFailed(I[147], 11836, 31, "_element");
    if (html$.Element.is(object)) {
      let element = object;
      if (element.parentNode == _element) {
        _element[S$._removeChild](element);
        return true;
      }
    }
    return false;
  }
  insert(index, element) {
    if (index == null) dart.nullFailed(I[147], 11847, 19, "index");
    html$.Element.as(element);
    if (element == null) dart.nullFailed(I[147], 11847, 34, "element");
    if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this.length)) {
      dart.throw(new core.RangeError.range(index, 0, this.length));
    }
    if (index == this.length) {
      this[S$1._element$2][S.$append](element);
    } else {
      this[S$1._element$2].insertBefore(element, this._get(index));
    }
  }
  insertAll(index, iterable) {
    if (index == null) dart.nullFailed(I[147], 11858, 22, "index");
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 11858, 47, "iterable");
    dart.throw(new core.UnimplementedError.new());
  }
  setAll(index, iterable) {
    if (index == null) dart.nullFailed(I[147], 11862, 19, "index");
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 11862, 44, "iterable");
    dart.throw(new core.UnimplementedError.new());
  }
  clear() {
    this[S$1._element$2][S$._clearChildren]();
  }
  removeAt(index) {
    if (index == null) dart.nullFailed(I[147], 11870, 24, "index");
    let result = this._get(index);
    if (result != null) {
      this[S$1._element$2][S$._removeChild](result);
    }
    return result;
  }
  removeLast() {
    let result = this.last;
    this[S$1._element$2][S$._removeChild](result);
    return result;
  }
  get first() {
    return html$._ChildrenElementList._first(this[S$1._element$2]);
  }
  set first(value) {
    super.first = value;
  }
  static _first(_element) {
    if (_element == null) dart.nullFailed(I[147], 11888, 33, "_element");
    let result = _element[S._firstElementChild];
    if (result == null) dart.throw(new core.StateError.new("No elements"));
    return result;
  }
  get last() {
    let result = this[S$1._element$2][S._lastElementChild];
    if (result == null) dart.throw(new core.StateError.new("No elements"));
    return result;
  }
  set last(value) {
    super.last = value;
  }
  get single() {
    if (dart.notNull(this.length) > 1) dart.throw(new core.StateError.new("More than one element"));
    return this.first;
  }
  get rawList() {
    return this[S$1._childElements];
  }
};
(html$._ChildrenElementList._wrap = function(element) {
  if (element == null) dart.nullFailed(I[147], 11741, 38, "element");
  this[S$1._childElements] = html$.HtmlCollection.as(element[S._children]);
  this[S$1._element$2] = element;
  ;
}).prototype = html$._ChildrenElementList.prototype;
dart.addTypeTests(html$._ChildrenElementList);
dart.addTypeCaches(html$._ChildrenElementList);
html$._ChildrenElementList[dart.implements] = () => [html_common.NodeListWrapper];
dart.setMethodSignature(html$._ChildrenElementList, () => ({
  __proto__: dart.getMethods(html$._ChildrenElementList.__proto__),
  _get: dart.fnType(html$.Element, [core.int]),
  [$_get]: dart.fnType(html$.Element, [core.int]),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  add: dart.fnType(html$.Element, [dart.nullable(core.Object)]),
  [$add]: dart.fnType(html$.Element, [dart.nullable(core.Object)]),
  [S$1._filter$2]: dart.fnType(dart.void, [dart.fnType(core.bool, [html$.Element]), core.bool])
}));
dart.setGetterSignature(html$._ChildrenElementList, () => ({
  __proto__: dart.getGetters(html$._ChildrenElementList.__proto__),
  length: core.int,
  [$length]: core.int,
  rawList: core.List$(html$.Node)
}));
dart.setSetterSignature(html$._ChildrenElementList, () => ({
  __proto__: dart.getSetters(html$._ChildrenElementList.__proto__),
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(html$._ChildrenElementList, I[148]);
dart.setFieldSignature(html$._ChildrenElementList, () => ({
  __proto__: dart.getFields(html$._ChildrenElementList.__proto__),
  [S$1._element$2]: dart.finalFieldType(html$.Element),
  [S$1._childElements]: dart.finalFieldType(html$.HtmlCollection)
}));
dart.defineExtensionMethods(html$._ChildrenElementList, [
  'contains',
  '_get',
  '_set',
  'add',
  'addAll',
  'sort',
  'shuffle',
  'removeWhere',
  'retainWhere',
  'fillRange',
  'replaceRange',
  'removeRange',
  'setRange',
  'remove',
  'insert',
  'insertAll',
  'setAll',
  'clear',
  'removeAt',
  'removeLast'
]);
dart.defineExtensionAccessors(html$._ChildrenElementList, [
  'isEmpty',
  'length',
  'iterator',
  'first',
  'last',
  'single'
]);
const _is_ElementList_default = Symbol('_is_ElementList_default');
html$.ElementList$ = dart.generic(T => {
  class ElementList extends collection.ListBase$(T) {}
  (ElementList.new = function() {
    ;
  }).prototype = ElementList.prototype;
  dart.addTypeTests(ElementList);
  ElementList.prototype[_is_ElementList_default] = true;
  dart.addTypeCaches(ElementList);
  dart.setLibraryUri(ElementList, I[148]);
  return ElementList;
});
html$.ElementList = html$.ElementList$();
dart.addTypeTests(html$.ElementList, _is_ElementList_default);
const _is__FrozenElementList_default = Symbol('_is__FrozenElementList_default');
html$._FrozenElementList$ = dart.generic(E => {
  var __t$ETovoid = () => (__t$ETovoid = dart.constFn(dart.fnType(dart.void, [E])))();
  class _FrozenElementList extends collection.ListBase$(E) {
    get length() {
      return this[S$1._nodeList][$length];
    }
    _get(index) {
      if (index == null) dart.nullFailed(I[147], 12303, 21, "index");
      return E.as(this[S$1._nodeList][$_get](index));
    }
    _set(index, value$) {
      let value = value$;
      if (index == null) dart.nullFailed(I[147], 12305, 25, "index");
      E.as(value);
      if (value == null) dart.nullFailed(I[147], 12305, 34, "value");
      dart.throw(new core.UnsupportedError.new("Cannot modify list"));
      return value$;
    }
    set length(newLength) {
      if (newLength == null) dart.nullFailed(I[147], 12309, 18, "newLength");
      dart.throw(new core.UnsupportedError.new("Cannot modify list"));
    }
    sort(compare = null) {
      dart.throw(new core.UnsupportedError.new("Cannot sort list"));
    }
    shuffle(random = null) {
      dart.throw(new core.UnsupportedError.new("Cannot shuffle list"));
    }
    get first() {
      return E.as(this[S$1._nodeList][$first]);
    }
    set first(value) {
      super.first = value;
    }
    get last() {
      return E.as(this[S$1._nodeList][$last]);
    }
    set last(value) {
      super.last = value;
    }
    get single() {
      return E.as(this[S$1._nodeList][$single]);
    }
    get classes() {
      return html$._MultiElementCssClassSet.new(this);
    }
    get style() {
      return new html$._CssStyleDeclarationSet.new(this);
    }
    set classes(value) {
      if (value == null) dart.nullFailed(I[147], 12331, 32, "value");
      this.forEach(dart.fn(e => {
        if (e == null) dart.nullFailed(I[147], 12338, 14, "e");
        return e[S.$classes] = value;
      }, __t$ETovoid()));
    }
    get contentEdge() {
      return new html$._ContentCssListRect.new(this);
    }
    get paddingEdge() {
      return this.first[S.$paddingEdge];
    }
    get borderEdge() {
      return this.first[S.$borderEdge];
    }
    get marginEdge() {
      return this.first[S.$marginEdge];
    }
    get rawList() {
      return this[S$1._nodeList];
    }
    get onAbort() {
      return html$.Element.abortEvent[S$1._forElementList](this);
    }
    get onBeforeCopy() {
      return html$.Element.beforeCopyEvent[S$1._forElementList](this);
    }
    get onBeforeCut() {
      return html$.Element.beforeCutEvent[S$1._forElementList](this);
    }
    get onBeforePaste() {
      return html$.Element.beforePasteEvent[S$1._forElementList](this);
    }
    get onBlur() {
      return html$.Element.blurEvent[S$1._forElementList](this);
    }
    get onCanPlay() {
      return html$.Element.canPlayEvent[S$1._forElementList](this);
    }
    get onCanPlayThrough() {
      return html$.Element.canPlayThroughEvent[S$1._forElementList](this);
    }
    get onChange() {
      return html$.Element.changeEvent[S$1._forElementList](this);
    }
    get onClick() {
      return html$.Element.clickEvent[S$1._forElementList](this);
    }
    get onContextMenu() {
      return html$.Element.contextMenuEvent[S$1._forElementList](this);
    }
    get onCopy() {
      return html$.Element.copyEvent[S$1._forElementList](this);
    }
    get onCut() {
      return html$.Element.cutEvent[S$1._forElementList](this);
    }
    get onDoubleClick() {
      return html$.Element.doubleClickEvent[S$1._forElementList](this);
    }
    get onDrag() {
      return html$.Element.dragEvent[S$1._forElementList](this);
    }
    get onDragEnd() {
      return html$.Element.dragEndEvent[S$1._forElementList](this);
    }
    get onDragEnter() {
      return html$.Element.dragEnterEvent[S$1._forElementList](this);
    }
    get onDragLeave() {
      return html$.Element.dragLeaveEvent[S$1._forElementList](this);
    }
    get onDragOver() {
      return html$.Element.dragOverEvent[S$1._forElementList](this);
    }
    get onDragStart() {
      return html$.Element.dragStartEvent[S$1._forElementList](this);
    }
    get onDrop() {
      return html$.Element.dropEvent[S$1._forElementList](this);
    }
    get onDurationChange() {
      return html$.Element.durationChangeEvent[S$1._forElementList](this);
    }
    get onEmptied() {
      return html$.Element.emptiedEvent[S$1._forElementList](this);
    }
    get onEnded() {
      return html$.Element.endedEvent[S$1._forElementList](this);
    }
    get onError() {
      return html$.Element.errorEvent[S$1._forElementList](this);
    }
    get onFocus() {
      return html$.Element.focusEvent[S$1._forElementList](this);
    }
    get onInput() {
      return html$.Element.inputEvent[S$1._forElementList](this);
    }
    get onInvalid() {
      return html$.Element.invalidEvent[S$1._forElementList](this);
    }
    get onKeyDown() {
      return html$.Element.keyDownEvent[S$1._forElementList](this);
    }
    get onKeyPress() {
      return html$.Element.keyPressEvent[S$1._forElementList](this);
    }
    get onKeyUp() {
      return html$.Element.keyUpEvent[S$1._forElementList](this);
    }
    get onLoad() {
      return html$.Element.loadEvent[S$1._forElementList](this);
    }
    get onLoadedData() {
      return html$.Element.loadedDataEvent[S$1._forElementList](this);
    }
    get onLoadedMetadata() {
      return html$.Element.loadedMetadataEvent[S$1._forElementList](this);
    }
    get onMouseDown() {
      return html$.Element.mouseDownEvent[S$1._forElementList](this);
    }
    get onMouseEnter() {
      return html$.Element.mouseEnterEvent[S$1._forElementList](this);
    }
    get onMouseLeave() {
      return html$.Element.mouseLeaveEvent[S$1._forElementList](this);
    }
    get onMouseMove() {
      return html$.Element.mouseMoveEvent[S$1._forElementList](this);
    }
    get onMouseOut() {
      return html$.Element.mouseOutEvent[S$1._forElementList](this);
    }
    get onMouseOver() {
      return html$.Element.mouseOverEvent[S$1._forElementList](this);
    }
    get onMouseUp() {
      return html$.Element.mouseUpEvent[S$1._forElementList](this);
    }
    get onMouseWheel() {
      return html$.Element.mouseWheelEvent[S$1._forElementList](this);
    }
    get onPaste() {
      return html$.Element.pasteEvent[S$1._forElementList](this);
    }
    get onPause() {
      return html$.Element.pauseEvent[S$1._forElementList](this);
    }
    get onPlay() {
      return html$.Element.playEvent[S$1._forElementList](this);
    }
    get onPlaying() {
      return html$.Element.playingEvent[S$1._forElementList](this);
    }
    get onRateChange() {
      return html$.Element.rateChangeEvent[S$1._forElementList](this);
    }
    get onReset() {
      return html$.Element.resetEvent[S$1._forElementList](this);
    }
    get onResize() {
      return html$.Element.resizeEvent[S$1._forElementList](this);
    }
    get onScroll() {
      return html$.Element.scrollEvent[S$1._forElementList](this);
    }
    get onSearch() {
      return html$.Element.searchEvent[S$1._forElementList](this);
    }
    get onSeeked() {
      return html$.Element.seekedEvent[S$1._forElementList](this);
    }
    get onSeeking() {
      return html$.Element.seekingEvent[S$1._forElementList](this);
    }
    get onSelect() {
      return html$.Element.selectEvent[S$1._forElementList](this);
    }
    get onSelectStart() {
      return html$.Element.selectStartEvent[S$1._forElementList](this);
    }
    get onStalled() {
      return html$.Element.stalledEvent[S$1._forElementList](this);
    }
    get onSubmit() {
      return html$.Element.submitEvent[S$1._forElementList](this);
    }
    get onSuspend() {
      return html$.Element.suspendEvent[S$1._forElementList](this);
    }
    get onTimeUpdate() {
      return html$.Element.timeUpdateEvent[S$1._forElementList](this);
    }
    get onTouchCancel() {
      return html$.Element.touchCancelEvent[S$1._forElementList](this);
    }
    get onTouchEnd() {
      return html$.Element.touchEndEvent[S$1._forElementList](this);
    }
    get onTouchEnter() {
      return html$.Element.touchEnterEvent[S$1._forElementList](this);
    }
    get onTouchLeave() {
      return html$.Element.touchLeaveEvent[S$1._forElementList](this);
    }
    get onTouchMove() {
      return html$.Element.touchMoveEvent[S$1._forElementList](this);
    }
    get onTouchStart() {
      return html$.Element.touchStartEvent[S$1._forElementList](this);
    }
    get onTransitionEnd() {
      return html$.Element.transitionEndEvent[S$1._forElementList](this);
    }
    get onVolumeChange() {
      return html$.Element.volumeChangeEvent[S$1._forElementList](this);
    }
    get onWaiting() {
      return html$.Element.waitingEvent[S$1._forElementList](this);
    }
    get onFullscreenChange() {
      return html$.Element.fullscreenChangeEvent[S$1._forElementList](this);
    }
    get onFullscreenError() {
      return html$.Element.fullscreenErrorEvent[S$1._forElementList](this);
    }
    get onWheel() {
      return html$.Element.wheelEvent[S$1._forElementList](this);
    }
  }
  (_FrozenElementList._wrap = function(_nodeList) {
    if (_nodeList == null) dart.nullFailed(I[147], 12296, 33, "_nodeList");
    this[S$1._nodeList] = _nodeList;
    if (!dart.test(this[S$1._nodeList][$every](dart.fn(element => {
      if (element == null) dart.nullFailed(I[147], 12297, 34, "element");
      return E.is(element);
    }, T$0.NodeTobool())))) dart.assertFailed("Query expects only HTML elements of type " + dart.str(dart.wrapType(E)) + " but found " + dart.str(this[S$1._nodeList][$firstWhere](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 12298, 93, "e");
      return !E.is(e);
    }, T$0.NodeTobool()))), I[147], 12297, 12, "this._nodeList.every((element) => element is E)");
  }).prototype = _FrozenElementList.prototype;
  dart.addTypeTests(_FrozenElementList);
  _FrozenElementList.prototype[_is__FrozenElementList_default] = true;
  dart.addTypeCaches(_FrozenElementList);
  _FrozenElementList[dart.implements] = () => [html$.ElementList$(E), html_common.NodeListWrapper];
  dart.setMethodSignature(_FrozenElementList, () => ({
    __proto__: dart.getMethods(_FrozenElementList.__proto__),
    _get: dart.fnType(E, [core.int]),
    [$_get]: dart.fnType(E, [core.int]),
    _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_FrozenElementList, () => ({
    __proto__: dart.getGetters(_FrozenElementList.__proto__),
    length: core.int,
    [$length]: core.int,
    classes: html$.CssClassSet,
    style: html$.CssStyleDeclarationBase,
    contentEdge: html$.CssRect,
    paddingEdge: html$.CssRect,
    borderEdge: html$.CssRect,
    marginEdge: html$.CssRect,
    rawList: core.List$(html$.Node),
    onAbort: html$.ElementStream$(html$.Event),
    onBeforeCopy: html$.ElementStream$(html$.Event),
    onBeforeCut: html$.ElementStream$(html$.Event),
    onBeforePaste: html$.ElementStream$(html$.Event),
    onBlur: html$.ElementStream$(html$.Event),
    onCanPlay: html$.ElementStream$(html$.Event),
    onCanPlayThrough: html$.ElementStream$(html$.Event),
    onChange: html$.ElementStream$(html$.Event),
    onClick: html$.ElementStream$(html$.MouseEvent),
    onContextMenu: html$.ElementStream$(html$.MouseEvent),
    onCopy: html$.ElementStream$(html$.ClipboardEvent),
    onCut: html$.ElementStream$(html$.ClipboardEvent),
    onDoubleClick: html$.ElementStream$(html$.Event),
    onDrag: html$.ElementStream$(html$.MouseEvent),
    onDragEnd: html$.ElementStream$(html$.MouseEvent),
    onDragEnter: html$.ElementStream$(html$.MouseEvent),
    onDragLeave: html$.ElementStream$(html$.MouseEvent),
    onDragOver: html$.ElementStream$(html$.MouseEvent),
    onDragStart: html$.ElementStream$(html$.MouseEvent),
    onDrop: html$.ElementStream$(html$.MouseEvent),
    onDurationChange: html$.ElementStream$(html$.Event),
    onEmptied: html$.ElementStream$(html$.Event),
    onEnded: html$.ElementStream$(html$.Event),
    onError: html$.ElementStream$(html$.Event),
    onFocus: html$.ElementStream$(html$.Event),
    onInput: html$.ElementStream$(html$.Event),
    onInvalid: html$.ElementStream$(html$.Event),
    onKeyDown: html$.ElementStream$(html$.KeyboardEvent),
    onKeyPress: html$.ElementStream$(html$.KeyboardEvent),
    onKeyUp: html$.ElementStream$(html$.KeyboardEvent),
    onLoad: html$.ElementStream$(html$.Event),
    onLoadedData: html$.ElementStream$(html$.Event),
    onLoadedMetadata: html$.ElementStream$(html$.Event),
    onMouseDown: html$.ElementStream$(html$.MouseEvent),
    onMouseEnter: html$.ElementStream$(html$.MouseEvent),
    onMouseLeave: html$.ElementStream$(html$.MouseEvent),
    onMouseMove: html$.ElementStream$(html$.MouseEvent),
    onMouseOut: html$.ElementStream$(html$.MouseEvent),
    onMouseOver: html$.ElementStream$(html$.MouseEvent),
    onMouseUp: html$.ElementStream$(html$.MouseEvent),
    onMouseWheel: html$.ElementStream$(html$.WheelEvent),
    onPaste: html$.ElementStream$(html$.ClipboardEvent),
    onPause: html$.ElementStream$(html$.Event),
    onPlay: html$.ElementStream$(html$.Event),
    onPlaying: html$.ElementStream$(html$.Event),
    onRateChange: html$.ElementStream$(html$.Event),
    onReset: html$.ElementStream$(html$.Event),
    onResize: html$.ElementStream$(html$.Event),
    onScroll: html$.ElementStream$(html$.Event),
    onSearch: html$.ElementStream$(html$.Event),
    onSeeked: html$.ElementStream$(html$.Event),
    onSeeking: html$.ElementStream$(html$.Event),
    onSelect: html$.ElementStream$(html$.Event),
    onSelectStart: html$.ElementStream$(html$.Event),
    onStalled: html$.ElementStream$(html$.Event),
    onSubmit: html$.ElementStream$(html$.Event),
    onSuspend: html$.ElementStream$(html$.Event),
    onTimeUpdate: html$.ElementStream$(html$.Event),
    onTouchCancel: html$.ElementStream$(html$.TouchEvent),
    onTouchEnd: html$.ElementStream$(html$.TouchEvent),
    onTouchEnter: html$.ElementStream$(html$.TouchEvent),
    onTouchLeave: html$.ElementStream$(html$.TouchEvent),
    onTouchMove: html$.ElementStream$(html$.TouchEvent),
    onTouchStart: html$.ElementStream$(html$.TouchEvent),
    onTransitionEnd: html$.ElementStream$(html$.TransitionEvent),
    onVolumeChange: html$.ElementStream$(html$.Event),
    onWaiting: html$.ElementStream$(html$.Event),
    onFullscreenChange: html$.ElementStream$(html$.Event),
    onFullscreenError: html$.ElementStream$(html$.Event),
    onWheel: html$.ElementStream$(html$.WheelEvent)
  }));
  dart.setSetterSignature(_FrozenElementList, () => ({
    __proto__: dart.getSetters(_FrozenElementList.__proto__),
    length: core.int,
    [$length]: core.int,
    classes: core.Iterable$(core.String)
  }));
  dart.setLibraryUri(_FrozenElementList, I[148]);
  dart.setFieldSignature(_FrozenElementList, () => ({
    __proto__: dart.getFields(_FrozenElementList.__proto__),
    [S$1._nodeList]: dart.finalFieldType(core.List$(html$.Node))
  }));
  dart.defineExtensionMethods(_FrozenElementList, ['_get', '_set', 'sort', 'shuffle']);
  dart.defineExtensionAccessors(_FrozenElementList, ['length', 'first', 'last', 'single']);
  return _FrozenElementList;
});
html$._FrozenElementList = html$._FrozenElementList$();
dart.addTypeTests(html$._FrozenElementList, _is__FrozenElementList_default);
html$._ElementFactoryProvider = class _ElementFactoryProvider extends core.Object {
  static createElement_tag(tag, typeExtension) {
    if (tag == null) dart.nullFailed(I[147], 15239, 43, "tag");
    if (typeExtension != null) {
      return document.createElement(tag, typeExtension);
    }
    return document.createElement(tag);
  }
};
(html$._ElementFactoryProvider.new = function() {
  ;
}).prototype = html$._ElementFactoryProvider.prototype;
dart.addTypeTests(html$._ElementFactoryProvider);
dart.addTypeCaches(html$._ElementFactoryProvider);
dart.setLibraryUri(html$._ElementFactoryProvider, I[148]);
html$.ScrollAlignment = class ScrollAlignment extends core.Object {
  get [S$1._value$7]() {
    return this[S$1._value$6];
  }
  set [S$1._value$7](value) {
    super[S$1._value$7] = value;
  }
  toString() {
    return "ScrollAlignment." + dart.str(this[S$1._value$7]);
  }
};
(html$.ScrollAlignment._internal = function(_value) {
  this[S$1._value$6] = _value;
  ;
}).prototype = html$.ScrollAlignment.prototype;
dart.addTypeTests(html$.ScrollAlignment);
dart.addTypeCaches(html$.ScrollAlignment);
dart.setLibraryUri(html$.ScrollAlignment, I[148]);
dart.setFieldSignature(html$.ScrollAlignment, () => ({
  __proto__: dart.getFields(html$.ScrollAlignment.__proto__),
  [S$1._value$7]: dart.finalFieldType(dart.dynamic)
}));
dart.defineExtensionMethods(html$.ScrollAlignment, ['toString']);
dart.defineLazy(html$.ScrollAlignment, {
  /*html$.ScrollAlignment.TOP*/get TOP() {
    return C[329] || CT.C329;
  },
  /*html$.ScrollAlignment.CENTER*/get CENTER() {
    return C[330] || CT.C330;
  },
  /*html$.ScrollAlignment.BOTTOM*/get BOTTOM() {
    return C[331] || CT.C331;
  }
}, false);
html$.EmbedElement = class EmbedElement extends html$.HtmlElement {
  static new() {
    return html$.EmbedElement.as(html$.document[S.$createElement]("embed"));
  }
  static get supported() {
    return html$.Element.isTagSupported("embed");
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$.__setter__](...args) {
    return this.__setter__.apply(this, args);
  }
};
(html$.EmbedElement.created = function() {
  html$.EmbedElement.__proto__.created.call(this);
  ;
}).prototype = html$.EmbedElement.prototype;
dart.addTypeTests(html$.EmbedElement);
dart.addTypeCaches(html$.EmbedElement);
dart.setMethodSignature(html$.EmbedElement, () => ({
  __proto__: dart.getMethods(html$.EmbedElement.__proto__),
  [S$.__getter__]: dart.fnType(html$.Node, [core.String]),
  [S$.__setter__]: dart.fnType(dart.void, [core.String, html$.Node])
}));
dart.setGetterSignature(html$.EmbedElement, () => ({
  __proto__: dart.getGetters(html$.EmbedElement.__proto__),
  [$height]: core.String,
  [$name]: dart.nullable(core.String),
  [S$.$src]: core.String,
  [S.$type]: core.String,
  [$width]: core.String
}));
dart.setSetterSignature(html$.EmbedElement, () => ({
  __proto__: dart.getSetters(html$.EmbedElement.__proto__),
  [$height]: core.String,
  [$name]: dart.nullable(core.String),
  [S$.$src]: core.String,
  [S.$type]: core.String,
  [$width]: core.String
}));
dart.setLibraryUri(html$.EmbedElement, I[148]);
dart.registerExtension("HTMLEmbedElement", html$.EmbedElement);
html$.ErrorEvent = class ErrorEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 15458, 29, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.ErrorEvent._create_1(type, eventInitDict_1);
    }
    return html$.ErrorEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new ErrorEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new ErrorEvent(type);
  }
  get [S$1.$colno]() {
    return this.colno;
  }
  get [S.$error]() {
    return this.error;
  }
  get [S$1.$filename]() {
    return this.filename;
  }
  get [S$1.$lineno]() {
    return this.lineno;
  }
  get [$message]() {
    return this.message;
  }
};
dart.addTypeTests(html$.ErrorEvent);
dart.addTypeCaches(html$.ErrorEvent);
dart.setGetterSignature(html$.ErrorEvent, () => ({
  __proto__: dart.getGetters(html$.ErrorEvent.__proto__),
  [S$1.$colno]: dart.nullable(core.int),
  [S.$error]: dart.nullable(core.Object),
  [S$1.$filename]: dart.nullable(core.String),
  [S$1.$lineno]: dart.nullable(core.int),
  [$message]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.ErrorEvent, I[148]);
dart.registerExtension("ErrorEvent", html$.ErrorEvent);
html$.EventSource = class EventSource$ extends html$.EventTarget {
  static new(url, opts) {
    if (url == null) dart.nullFailed(I[147], 15630, 30, "url");
    let withCredentials = opts && 'withCredentials' in opts ? opts.withCredentials : false;
    let parsedOptions = new (T$0.IdentityMapOfString$dynamic()).from(["withCredentials", withCredentials]);
    return html$.EventSource._factoryEventSource(url, parsedOptions);
  }
  static _factoryEventSource(url, eventSourceInitDict = null) {
    if (url == null) dart.nullFailed(I[147], 15668, 49, "url");
    if (eventSourceInitDict != null) {
      let eventSourceInitDict_1 = html_common.convertDartToNative_Dictionary(eventSourceInitDict);
      return html$.EventSource._create_1(url, eventSourceInitDict_1);
    }
    return html$.EventSource._create_2(url);
  }
  static _create_1(url, eventSourceInitDict) {
    return new EventSource(url, eventSourceInitDict);
  }
  static _create_2(url) {
    return new EventSource(url);
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$.$url]() {
    return this.url;
  }
  get [S$1.$withCredentials]() {
    return this.withCredentials;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  get [S.$onError]() {
    return html$.EventSource.errorEvent.forTarget(this);
  }
  get [S$.$onMessage]() {
    return html$.EventSource.messageEvent.forTarget(this);
  }
  get [S$1.$onOpen]() {
    return html$.EventSource.openEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.EventSource);
dart.addTypeCaches(html$.EventSource);
dart.setMethodSignature(html$.EventSource, () => ({
  __proto__: dart.getMethods(html$.EventSource.__proto__),
  [S.$close]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.EventSource, () => ({
  __proto__: dart.getGetters(html$.EventSource.__proto__),
  [S.$readyState]: dart.nullable(core.int),
  [S$.$url]: dart.nullable(core.String),
  [S$1.$withCredentials]: dart.nullable(core.bool),
  [S.$onError]: async.Stream$(html$.Event),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent),
  [S$1.$onOpen]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.EventSource, I[148]);
dart.defineLazy(html$.EventSource, {
  /*html$.EventSource.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.EventSource.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  },
  /*html$.EventSource.openEvent*/get openEvent() {
    return C[332] || CT.C332;
  },
  /*html$.EventSource.CLOSED*/get CLOSED() {
    return 2;
  },
  /*html$.EventSource.CONNECTING*/get CONNECTING() {
    return 0;
  },
  /*html$.EventSource.OPEN*/get OPEN() {
    return 1;
  }
}, false);
dart.registerExtension("EventSource", html$.EventSource);
html$.Events = class Events extends core.Object {
  _get(type) {
    if (type == null) dart.nullFailed(I[147], 15752, 36, "type");
    return new (T$0._EventStreamOfEvent()).new(this[S$1._ptr], type, false);
  }
};
(html$.Events.new = function(_ptr) {
  if (_ptr == null) dart.nullFailed(I[147], 15750, 15, "_ptr");
  this[S$1._ptr] = _ptr;
  ;
}).prototype = html$.Events.prototype;
dart.addTypeTests(html$.Events);
dart.addTypeCaches(html$.Events);
dart.setMethodSignature(html$.Events, () => ({
  __proto__: dart.getMethods(html$.Events.__proto__),
  _get: dart.fnType(async.Stream$(html$.Event), [core.String])
}));
dart.setLibraryUri(html$.Events, I[148]);
dart.setFieldSignature(html$.Events, () => ({
  __proto__: dart.getFields(html$.Events.__proto__),
  [S$1._ptr]: dart.finalFieldType(html$.EventTarget)
}));
html$.ElementEvents = class ElementEvents extends html$.Events {
  _get(type) {
    if (type == null) dart.nullFailed(I[147], 15777, 36, "type");
    if (dart.test(html$.ElementEvents.webkitEvents[$keys][$contains](type[$toLowerCase]()))) {
      if (dart.test(html_common.Device.isWebKit)) {
        return new (T$0._ElementEventStreamImplOfEvent()).new(this[S$1._ptr], html$.ElementEvents.webkitEvents[$_get](type[$toLowerCase]()), false);
      }
    }
    return new (T$0._ElementEventStreamImplOfEvent()).new(this[S$1._ptr], type, false);
  }
};
(html$.ElementEvents.new = function(ptr) {
  if (ptr == null) dart.nullFailed(I[147], 15775, 25, "ptr");
  html$.ElementEvents.__proto__.new.call(this, ptr);
  ;
}).prototype = html$.ElementEvents.prototype;
dart.addTypeTests(html$.ElementEvents);
dart.addTypeCaches(html$.ElementEvents);
dart.setLibraryUri(html$.ElementEvents, I[148]);
dart.defineLazy(html$.ElementEvents, {
  /*html$.ElementEvents.webkitEvents*/get webkitEvents() {
    return new (T$.IdentityMapOfString$String()).from(["animationend", "webkitAnimationEnd", "animationiteration", "webkitAnimationIteration", "animationstart", "webkitAnimationStart", "fullscreenchange", "webkitfullscreenchange", "fullscreenerror", "webkitfullscreenerror", "keyadded", "webkitkeyadded", "keyerror", "webkitkeyerror", "keymessage", "webkitkeymessage", "needkey", "webkitneedkey", "pointerlockchange", "webkitpointerlockchange", "pointerlockerror", "webkitpointerlockerror", "resourcetimingbufferfull", "webkitresourcetimingbufferfull", "transitionend", "webkitTransitionEnd", "speechchange", "webkitSpeechChange"]);
  }
}, false);
html$.ExtendableMessageEvent = class ExtendableMessageEvent extends html$.ExtendableEvent {
  get [S$.$data]() {
    return this.data;
  }
  get [S$1.$lastEventId]() {
    return this.lastEventId;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$1.$ports]() {
    return this.ports;
  }
  get [S.$source]() {
    return this.source;
  }
};
dart.addTypeTests(html$.ExtendableMessageEvent);
dart.addTypeCaches(html$.ExtendableMessageEvent);
dart.setGetterSignature(html$.ExtendableMessageEvent, () => ({
  __proto__: dart.getGetters(html$.ExtendableMessageEvent.__proto__),
  [S$.$data]: dart.nullable(core.Object),
  [S$1.$lastEventId]: dart.nullable(core.String),
  [S$.$origin]: dart.nullable(core.String),
  [S$1.$ports]: dart.nullable(core.List$(html$.MessagePort)),
  [S.$source]: dart.nullable(core.Object)
}));
dart.setLibraryUri(html$.ExtendableMessageEvent, I[148]);
dart.registerExtension("ExtendableMessageEvent", html$.ExtendableMessageEvent);
html$.External = class External extends _interceptors.Interceptor {
  [S$1.$AddSearchProvider](...args) {
    return this.AddSearchProvider.apply(this, args);
  }
  [S$1.$IsSearchProviderInstalled](...args) {
    return this.IsSearchProviderInstalled.apply(this, args);
  }
};
dart.addTypeTests(html$.External);
dart.addTypeCaches(html$.External);
dart.setMethodSignature(html$.External, () => ({
  __proto__: dart.getMethods(html$.External.__proto__),
  [S$1.$AddSearchProvider]: dart.fnType(dart.void, []),
  [S$1.$IsSearchProviderInstalled]: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(html$.External, I[148]);
dart.registerExtension("External", html$.External);
html$.FaceDetector = class FaceDetector$ extends _interceptors.Interceptor {
  static new(faceDetectorOptions = null) {
    if (faceDetectorOptions != null) {
      let faceDetectorOptions_1 = html_common.convertDartToNative_Dictionary(faceDetectorOptions);
      return html$.FaceDetector._create_1(faceDetectorOptions_1);
    }
    return html$.FaceDetector._create_2();
  }
  static _create_1(faceDetectorOptions) {
    return new FaceDetector(faceDetectorOptions);
  }
  static _create_2() {
    return new FaceDetector();
  }
  [S$.$detect](image) {
    return js_util.promiseToFuture(core.List, this.detect(image));
  }
};
dart.addTypeTests(html$.FaceDetector);
dart.addTypeCaches(html$.FaceDetector);
dart.setMethodSignature(html$.FaceDetector, () => ({
  __proto__: dart.getMethods(html$.FaceDetector.__proto__),
  [S$.$detect]: dart.fnType(async.Future$(core.List), [dart.dynamic])
}));
dart.setLibraryUri(html$.FaceDetector, I[148]);
dart.registerExtension("FaceDetector", html$.FaceDetector);
html$.FederatedCredential = class FederatedCredential$ extends html$.Credential {
  static new(data) {
    if (data == null) dart.nullFailed(I[147], 15942, 35, "data");
    let data_1 = html_common.convertDartToNative_Dictionary(data);
    return html$.FederatedCredential._create_1(data_1);
  }
  static _create_1(data) {
    return new FederatedCredential(data);
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  get [S$1.$provider]() {
    return this.provider;
  }
  get [S$.$iconUrl]() {
    return this.iconURL;
  }
  get [$name]() {
    return this.name;
  }
};
dart.addTypeTests(html$.FederatedCredential);
dart.addTypeCaches(html$.FederatedCredential);
html$.FederatedCredential[dart.implements] = () => [html$.CredentialUserData];
dart.setGetterSignature(html$.FederatedCredential, () => ({
  __proto__: dart.getGetters(html$.FederatedCredential.__proto__),
  [S$.$protocol]: dart.nullable(core.String),
  [S$1.$provider]: dart.nullable(core.String),
  [S$.$iconUrl]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.FederatedCredential, I[148]);
dart.registerExtension("FederatedCredential", html$.FederatedCredential);
html$.FetchEvent = class FetchEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 15971, 29, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 15971, 39, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.FetchEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new FetchEvent(type, eventInitDict);
  }
  get [S$1.$clientId]() {
    return this.clientId;
  }
  get [S$1.$isReload]() {
    return this.isReload;
  }
  get [S$1.$preloadResponse]() {
    return js_util.promiseToFuture(dart.dynamic, this.preloadResponse);
  }
  get [S$.$request]() {
    return this.request;
  }
  [S$.$respondWith](...args) {
    return this.respondWith.apply(this, args);
  }
};
dart.addTypeTests(html$.FetchEvent);
dart.addTypeCaches(html$.FetchEvent);
dart.setMethodSignature(html$.FetchEvent, () => ({
  __proto__: dart.getMethods(html$.FetchEvent.__proto__),
  [S$.$respondWith]: dart.fnType(dart.void, [async.Future])
}));
dart.setGetterSignature(html$.FetchEvent, () => ({
  __proto__: dart.getGetters(html$.FetchEvent.__proto__),
  [S$1.$clientId]: dart.nullable(core.String),
  [S$1.$isReload]: dart.nullable(core.bool),
  [S$1.$preloadResponse]: async.Future,
  [S$.$request]: dart.nullable(html$._Request)
}));
dart.setLibraryUri(html$.FetchEvent, I[148]);
dart.registerExtension("FetchEvent", html$.FetchEvent);
html$.FieldSetElement = class FieldSetElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("fieldset");
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$1.$elements]() {
    return this.elements;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$.$validationMessage]() {
    return this.validationMessage;
  }
  get [S$.$validity]() {
    return this.validity;
  }
  get [S$.$willValidate]() {
    return this.willValidate;
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$.$setCustomValidity](...args) {
    return this.setCustomValidity.apply(this, args);
  }
};
(html$.FieldSetElement.created = function() {
  html$.FieldSetElement.__proto__.created.call(this);
  ;
}).prototype = html$.FieldSetElement.prototype;
dart.addTypeTests(html$.FieldSetElement);
dart.addTypeCaches(html$.FieldSetElement);
dart.setMethodSignature(html$.FieldSetElement, () => ({
  __proto__: dart.getMethods(html$.FieldSetElement.__proto__),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$.$setCustomValidity]: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(html$.FieldSetElement, () => ({
  __proto__: dart.getGetters(html$.FieldSetElement.__proto__),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$1.$elements]: dart.nullable(core.List$(html$.Node)),
  [S$.$form]: dart.nullable(html$.FormElement),
  [$name]: core.String,
  [S.$type]: core.String,
  [S$.$validationMessage]: core.String,
  [S$.$validity]: html$.ValidityState,
  [S$.$willValidate]: core.bool
}));
dart.setSetterSignature(html$.FieldSetElement, () => ({
  __proto__: dart.getSetters(html$.FieldSetElement.__proto__),
  [S$.$disabled]: dart.nullable(core.bool),
  [$name]: core.String
}));
dart.setLibraryUri(html$.FieldSetElement, I[148]);
dart.registerExtension("HTMLFieldSetElement", html$.FieldSetElement);
html$.File = class File$ extends html$.Blob {
  static new(fileBits, fileName, options = null) {
    if (fileBits == null) dart.nullFailed(I[147], 16052, 29, "fileBits");
    if (fileName == null) dart.nullFailed(I[147], 16052, 46, "fileName");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return html$.File._create_1(fileBits, fileName, options_1);
    }
    return html$.File._create_2(fileBits, fileName);
  }
  static _create_1(fileBits, fileName, options) {
    return new File(fileBits, fileName, options);
  }
  static _create_2(fileBits, fileName) {
    return new File(fileBits, fileName);
  }
  get [S$1.$lastModified]() {
    return this.lastModified;
  }
  get [S$1.$lastModifiedDate]() {
    return html_common.convertNativeToDart_DateTime(this[S$1._get_lastModifiedDate]);
  }
  get [S$1._get_lastModifiedDate]() {
    return this.lastModifiedDate;
  }
  get [$name]() {
    return this.name;
  }
  get [S$1.$relativePath]() {
    return this.webkitRelativePath;
  }
};
dart.addTypeTests(html$.File);
dart.addTypeCaches(html$.File);
dart.setGetterSignature(html$.File, () => ({
  __proto__: dart.getGetters(html$.File.__proto__),
  [S$1.$lastModified]: dart.nullable(core.int),
  [S$1.$lastModifiedDate]: core.DateTime,
  [S$1._get_lastModifiedDate]: dart.dynamic,
  [$name]: core.String,
  [S$1.$relativePath]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.File, I[148]);
dart.registerExtension("File", html$.File);
html$.FileEntry = class FileEntry extends html$.Entry {
  [S$1._createWriter](...args) {
    return this.createWriter.apply(this, args);
  }
  [S$1.$createWriter]() {
    let completer = T$0.CompleterOfFileWriter().new();
    this[S$1._createWriter](dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 16104, 20, "value");
      _js_helper.applyExtension("FileWriter", value);
      completer.complete(value);
    }, T$0.FileWriterTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 16107, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$1._file$1](...args) {
    return this.file.apply(this, args);
  }
  [S$1.$file]() {
    let completer = T$0.CompleterOfFile().new();
    this[S$1._file$1](dart.fn(value => {
      _js_helper.applyExtension("File", value);
      completer.complete(value);
    }, T$0.FileNTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 16123, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
};
dart.addTypeTests(html$.FileEntry);
dart.addTypeCaches(html$.FileEntry);
dart.setMethodSignature(html$.FileEntry, () => ({
  __proto__: dart.getMethods(html$.FileEntry.__proto__),
  [S$1._createWriter]: dart.fnType(dart.void, [dart.fnType(dart.void, [html$.FileWriter])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$1.$createWriter]: dart.fnType(async.Future$(html$.FileWriter), []),
  [S$1._file$1]: dart.fnType(dart.void, [dart.fnType(dart.void, [dart.nullable(html$.File)])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$1.$file]: dart.fnType(async.Future$(html$.File), [])
}));
dart.setLibraryUri(html$.FileEntry, I[148]);
dart.registerExtension("FileEntry", html$.FileEntry);
const Interceptor_ListMixin$36$0 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$0.new = function() {
  Interceptor_ListMixin$36$0.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$0.prototype;
dart.applyMixin(Interceptor_ListMixin$36$0, collection.ListMixin$(html$.File));
const Interceptor_ImmutableListMixin$36$0 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$0 {};
(Interceptor_ImmutableListMixin$36$0.new = function() {
  Interceptor_ImmutableListMixin$36$0.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$0.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$0, html$.ImmutableListMixin$(html$.File));
html$.FileList = class FileList extends Interceptor_ImmutableListMixin$36$0 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 16144, 24, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 16150, 25, "index");
    html$.File.as(value);
    if (value == null) dart.nullFailed(I[147], 16150, 37, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 16156, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 16184, 22, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$.FileList.prototype[dart.isList] = true;
dart.addTypeTests(html$.FileList);
dart.addTypeCaches(html$.FileList);
html$.FileList[dart.implements] = () => [core.List$(html$.File), _js_helper.JavaScriptIndexingBehavior$(html$.File)];
dart.setMethodSignature(html$.FileList, () => ({
  __proto__: dart.getMethods(html$.FileList.__proto__),
  [$_get]: dart.fnType(html$.File, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(html$.File), [core.int])
}));
dart.setGetterSignature(html$.FileList, () => ({
  __proto__: dart.getGetters(html$.FileList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.FileList, () => ({
  __proto__: dart.getSetters(html$.FileList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.FileList, I[148]);
dart.registerExtension("FileList", html$.FileList);
html$.FileReader = class FileReader$ extends html$.EventTarget {
  get [S.$result]() {
    let res = this.result;
    if (typed_data.ByteBuffer.is(res)) {
      return typed_data.Uint8List.view(res);
    }
    return res;
  }
  static new() {
    return html$.FileReader._create_1();
  }
  static _create_1() {
    return new FileReader();
  }
  get [S.$error]() {
    return this.error;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  [S.$abort](...args) {
    return this.abort.apply(this, args);
  }
  [S$1.$readAsArrayBuffer](...args) {
    return this.readAsArrayBuffer.apply(this, args);
  }
  [S$1.$readAsDataUrl](...args) {
    return this.readAsDataURL.apply(this, args);
  }
  [S$1.$readAsText](...args) {
    return this.readAsText.apply(this, args);
  }
  get [S.$onAbort]() {
    return html$.FileReader.abortEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.FileReader.errorEvent.forTarget(this);
  }
  get [S.$onLoad]() {
    return html$.FileReader.loadEvent.forTarget(this);
  }
  get [S$1.$onLoadEnd]() {
    return html$.FileReader.loadEndEvent.forTarget(this);
  }
  get [S$1.$onLoadStart]() {
    return html$.FileReader.loadStartEvent.forTarget(this);
  }
  get [S$.$onProgress]() {
    return html$.FileReader.progressEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.FileReader);
dart.addTypeCaches(html$.FileReader);
dart.setMethodSignature(html$.FileReader, () => ({
  __proto__: dart.getMethods(html$.FileReader.__proto__),
  [S.$abort]: dart.fnType(dart.void, []),
  [S$1.$readAsArrayBuffer]: dart.fnType(dart.void, [html$.Blob]),
  [S$1.$readAsDataUrl]: dart.fnType(dart.void, [html$.Blob]),
  [S$1.$readAsText]: dart.fnType(dart.void, [html$.Blob], [dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.FileReader, () => ({
  __proto__: dart.getGetters(html$.FileReader.__proto__),
  [S.$result]: dart.nullable(core.Object),
  [S.$error]: dart.nullable(html$.DomException),
  [S.$readyState]: core.int,
  [S.$onAbort]: async.Stream$(html$.ProgressEvent),
  [S.$onError]: async.Stream$(html$.ProgressEvent),
  [S.$onLoad]: async.Stream$(html$.ProgressEvent),
  [S$1.$onLoadEnd]: async.Stream$(html$.ProgressEvent),
  [S$1.$onLoadStart]: async.Stream$(html$.ProgressEvent),
  [S$.$onProgress]: async.Stream$(html$.ProgressEvent)
}));
dart.setLibraryUri(html$.FileReader, I[148]);
dart.defineLazy(html$.FileReader, {
  /*html$.FileReader.abortEvent*/get abortEvent() {
    return C[333] || CT.C333;
  },
  /*html$.FileReader.errorEvent*/get errorEvent() {
    return C[334] || CT.C334;
  },
  /*html$.FileReader.loadEvent*/get loadEvent() {
    return C[335] || CT.C335;
  },
  /*html$.FileReader.loadEndEvent*/get loadEndEvent() {
    return C[336] || CT.C336;
  },
  /*html$.FileReader.loadStartEvent*/get loadStartEvent() {
    return C[337] || CT.C337;
  },
  /*html$.FileReader.progressEvent*/get progressEvent() {
    return C[311] || CT.C311;
  },
  /*html$.FileReader.DONE*/get DONE() {
    return 2;
  },
  /*html$.FileReader.EMPTY*/get EMPTY() {
    return 0;
  },
  /*html$.FileReader.LOADING*/get LOADING() {
    return 1;
  }
}, false);
dart.registerExtension("FileReader", html$.FileReader);
html$.FileSystem = class FileSystem extends _interceptors.Interceptor {
  static get supported() {
    return !!window.webkitRequestFileSystem;
  }
  get [$name]() {
    return this.name;
  }
  get [S$1.$root]() {
    return this.root;
  }
};
dart.addTypeTests(html$.FileSystem);
dart.addTypeCaches(html$.FileSystem);
dart.setGetterSignature(html$.FileSystem, () => ({
  __proto__: dart.getGetters(html$.FileSystem.__proto__),
  [$name]: dart.nullable(core.String),
  [S$1.$root]: dart.nullable(html$.DirectoryEntry)
}));
dart.setLibraryUri(html$.FileSystem, I[148]);
dart.registerExtension("DOMFileSystem", html$.FileSystem);
html$.FileWriter = class FileWriter extends html$.EventTarget {
  get [S.$error]() {
    return this.error;
  }
  get [$length]() {
    return this.length;
  }
  get [S$0.$position]() {
    return this.position;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  [S.$abort](...args) {
    return this.abort.apply(this, args);
  }
  [S$1.$seek](...args) {
    return this.seek.apply(this, args);
  }
  [$truncate](...args) {
    return this.truncate.apply(this, args);
  }
  [S$1.$write](...args) {
    return this.write.apply(this, args);
  }
  get [S.$onAbort]() {
    return html$.FileWriter.abortEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.FileWriter.errorEvent.forTarget(this);
  }
  get [S$.$onProgress]() {
    return html$.FileWriter.progressEvent.forTarget(this);
  }
  get [S$1.$onWrite]() {
    return html$.FileWriter.writeEvent.forTarget(this);
  }
  get [S$1.$onWriteEnd]() {
    return html$.FileWriter.writeEndEvent.forTarget(this);
  }
  get [S$1.$onWriteStart]() {
    return html$.FileWriter.writeStartEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.FileWriter);
dart.addTypeCaches(html$.FileWriter);
dart.setMethodSignature(html$.FileWriter, () => ({
  __proto__: dart.getMethods(html$.FileWriter.__proto__),
  [S.$abort]: dart.fnType(dart.void, []),
  [S$1.$seek]: dart.fnType(dart.void, [core.int]),
  [$truncate]: dart.fnType(dart.void, [core.int]),
  [S$1.$write]: dart.fnType(dart.void, [html$.Blob])
}));
dart.setGetterSignature(html$.FileWriter, () => ({
  __proto__: dart.getGetters(html$.FileWriter.__proto__),
  [S.$error]: dart.nullable(html$.DomException),
  [$length]: dart.nullable(core.int),
  [S$0.$position]: dart.nullable(core.int),
  [S.$readyState]: dart.nullable(core.int),
  [S.$onAbort]: async.Stream$(html$.ProgressEvent),
  [S.$onError]: async.Stream$(html$.Event),
  [S$.$onProgress]: async.Stream$(html$.ProgressEvent),
  [S$1.$onWrite]: async.Stream$(html$.ProgressEvent),
  [S$1.$onWriteEnd]: async.Stream$(html$.ProgressEvent),
  [S$1.$onWriteStart]: async.Stream$(html$.ProgressEvent)
}));
dart.setLibraryUri(html$.FileWriter, I[148]);
dart.defineLazy(html$.FileWriter, {
  /*html$.FileWriter.abortEvent*/get abortEvent() {
    return C[333] || CT.C333;
  },
  /*html$.FileWriter.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.FileWriter.progressEvent*/get progressEvent() {
    return C[311] || CT.C311;
  },
  /*html$.FileWriter.writeEvent*/get writeEvent() {
    return C[338] || CT.C338;
  },
  /*html$.FileWriter.writeEndEvent*/get writeEndEvent() {
    return C[339] || CT.C339;
  },
  /*html$.FileWriter.writeStartEvent*/get writeStartEvent() {
    return C[340] || CT.C340;
  },
  /*html$.FileWriter.DONE*/get DONE() {
    return 2;
  },
  /*html$.FileWriter.INIT*/get INIT() {
    return 0;
  },
  /*html$.FileWriter.WRITING*/get WRITING() {
    return 1;
  }
}, false);
dart.registerExtension("FileWriter", html$.FileWriter);
html$.FocusEvent = class FocusEvent$ extends html$.UIEvent {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 16453, 29, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.FocusEvent._create_1(type, eventInitDict_1);
    }
    return html$.FocusEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new FocusEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new FocusEvent(type);
  }
  get [S$1.$relatedTarget]() {
    return html$._convertNativeToDart_EventTarget(this[S$1._get_relatedTarget]);
  }
  get [S$1._get_relatedTarget]() {
    return this.relatedTarget;
  }
};
dart.addTypeTests(html$.FocusEvent);
dart.addTypeCaches(html$.FocusEvent);
dart.setGetterSignature(html$.FocusEvent, () => ({
  __proto__: dart.getGetters(html$.FocusEvent.__proto__),
  [S$1.$relatedTarget]: dart.nullable(html$.EventTarget),
  [S$1._get_relatedTarget]: dart.dynamic
}));
dart.setLibraryUri(html$.FocusEvent, I[148]);
dart.registerExtension("FocusEvent", html$.FocusEvent);
html$.FontFace = class FontFace$ extends _interceptors.Interceptor {
  static new(family, source, descriptors = null) {
    if (family == null) dart.nullFailed(I[147], 16482, 27, "family");
    if (source == null) dart.nullFailed(I[147], 16482, 42, "source");
    if (descriptors != null) {
      let descriptors_1 = html_common.convertDartToNative_Dictionary(descriptors);
      return html$.FontFace._create_1(family, source, descriptors_1);
    }
    return html$.FontFace._create_2(family, source);
  }
  static _create_1(family, source, descriptors) {
    return new FontFace(family, source, descriptors);
  }
  static _create_2(family, source) {
    return new FontFace(family, source);
  }
  get [S$0.$display]() {
    return this.display;
  }
  set [S$0.$display](value) {
    this.display = value;
  }
  get [S$1.$family]() {
    return this.family;
  }
  set [S$1.$family](value) {
    this.family = value;
  }
  get [S$1.$featureSettings]() {
    return this.featureSettings;
  }
  set [S$1.$featureSettings](value) {
    this.featureSettings = value;
  }
  get [S$1.$loaded]() {
    return js_util.promiseToFuture(html$.FontFace, this.loaded);
  }
  get [S$.$status]() {
    return this.status;
  }
  get [S$1.$stretch]() {
    return this.stretch;
  }
  set [S$1.$stretch](value) {
    this.stretch = value;
  }
  get [S.$style]() {
    return this.style;
  }
  set [S.$style](value) {
    this.style = value;
  }
  get [S$0.$unicodeRange]() {
    return this.unicodeRange;
  }
  set [S$0.$unicodeRange](value) {
    this.unicodeRange = value;
  }
  get [S$1.$variant]() {
    return this.variant;
  }
  set [S$1.$variant](value) {
    this.variant = value;
  }
  get [S$1.$weight]() {
    return this.weight;
  }
  set [S$1.$weight](value) {
    this.weight = value;
  }
  [S$.$load]() {
    return js_util.promiseToFuture(html$.FontFace, this.load());
  }
};
dart.addTypeTests(html$.FontFace);
dart.addTypeCaches(html$.FontFace);
dart.setMethodSignature(html$.FontFace, () => ({
  __proto__: dart.getMethods(html$.FontFace.__proto__),
  [S$.$load]: dart.fnType(async.Future$(html$.FontFace), [])
}));
dart.setGetterSignature(html$.FontFace, () => ({
  __proto__: dart.getGetters(html$.FontFace.__proto__),
  [S$0.$display]: dart.nullable(core.String),
  [S$1.$family]: dart.nullable(core.String),
  [S$1.$featureSettings]: dart.nullable(core.String),
  [S$1.$loaded]: async.Future$(html$.FontFace),
  [S$.$status]: dart.nullable(core.String),
  [S$1.$stretch]: dart.nullable(core.String),
  [S.$style]: dart.nullable(core.String),
  [S$0.$unicodeRange]: dart.nullable(core.String),
  [S$1.$variant]: dart.nullable(core.String),
  [S$1.$weight]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.FontFace, () => ({
  __proto__: dart.getSetters(html$.FontFace.__proto__),
  [S$0.$display]: dart.nullable(core.String),
  [S$1.$family]: dart.nullable(core.String),
  [S$1.$featureSettings]: dart.nullable(core.String),
  [S$1.$stretch]: dart.nullable(core.String),
  [S.$style]: dart.nullable(core.String),
  [S$0.$unicodeRange]: dart.nullable(core.String),
  [S$1.$variant]: dart.nullable(core.String),
  [S$1.$weight]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.FontFace, I[148]);
dart.registerExtension("FontFace", html$.FontFace);
html$.FontFaceSet = class FontFaceSet extends html$.EventTarget {
  get [S$.$status]() {
    return this.status;
  }
  [$add](...args) {
    return this.add.apply(this, args);
  }
  [S$1.$check](...args) {
    return this.check.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S.$delete](...args) {
    return this.delete.apply(this, args);
  }
  [$forEach](...args) {
    return this.forEach.apply(this, args);
  }
  [S$.$has](...args) {
    return this.has.apply(this, args);
  }
  get [S$1.$onLoading]() {
    return html$.FontFaceSet.loadingEvent.forTarget(this);
  }
  get [S$1.$onLoadingDone]() {
    return html$.FontFaceSet.loadingDoneEvent.forTarget(this);
  }
  get [S$1.$onLoadingError]() {
    return html$.FontFaceSet.loadingErrorEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.FontFaceSet);
dart.addTypeCaches(html$.FontFaceSet);
dart.setMethodSignature(html$.FontFaceSet, () => ({
  __proto__: dart.getMethods(html$.FontFaceSet.__proto__),
  [$add]: dart.fnType(dart.nullable(html$.FontFaceSet), [html$.FontFace]),
  [S$1.$check]: dart.fnType(core.bool, [core.String], [dart.nullable(core.String)]),
  [$clear]: dart.fnType(dart.void, []),
  [S.$delete]: dart.fnType(core.bool, [html$.FontFace]),
  [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [html$.FontFace, html$.FontFace, html$.FontFaceSet])], [dart.nullable(core.Object)]),
  [S$.$has]: dart.fnType(core.bool, [html$.FontFace])
}));
dart.setGetterSignature(html$.FontFaceSet, () => ({
  __proto__: dart.getGetters(html$.FontFaceSet.__proto__),
  [S$.$status]: dart.nullable(core.String),
  [S$1.$onLoading]: async.Stream$(html$.FontFaceSetLoadEvent),
  [S$1.$onLoadingDone]: async.Stream$(html$.FontFaceSetLoadEvent),
  [S$1.$onLoadingError]: async.Stream$(html$.FontFaceSetLoadEvent)
}));
dart.setLibraryUri(html$.FontFaceSet, I[148]);
dart.defineLazy(html$.FontFaceSet, {
  /*html$.FontFaceSet.loadingEvent*/get loadingEvent() {
    return C[341] || CT.C341;
  },
  /*html$.FontFaceSet.loadingDoneEvent*/get loadingDoneEvent() {
    return C[342] || CT.C342;
  },
  /*html$.FontFaceSet.loadingErrorEvent*/get loadingErrorEvent() {
    return C[343] || CT.C343;
  }
}, false);
dart.registerExtension("FontFaceSet", html$.FontFaceSet);
html$.FontFaceSetLoadEvent = class FontFaceSetLoadEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 16587, 39, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.FontFaceSetLoadEvent._create_1(type, eventInitDict_1);
    }
    return html$.FontFaceSetLoadEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new FontFaceSetLoadEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new FontFaceSetLoadEvent(type);
  }
  get [S$1.$fontfaces]() {
    return this.fontfaces;
  }
};
dart.addTypeTests(html$.FontFaceSetLoadEvent);
dart.addTypeCaches(html$.FontFaceSetLoadEvent);
dart.setGetterSignature(html$.FontFaceSetLoadEvent, () => ({
  __proto__: dart.getGetters(html$.FontFaceSetLoadEvent.__proto__),
  [S$1.$fontfaces]: dart.nullable(core.List$(html$.FontFace))
}));
dart.setLibraryUri(html$.FontFaceSetLoadEvent, I[148]);
dart.registerExtension("FontFaceSetLoadEvent", html$.FontFaceSetLoadEvent);
html$.FontFaceSource = class FontFaceSource extends _interceptors.Interceptor {
  get [S$1.$fonts]() {
    return this.fonts;
  }
};
dart.addTypeTests(html$.FontFaceSource);
dart.addTypeCaches(html$.FontFaceSource);
dart.setGetterSignature(html$.FontFaceSource, () => ({
  __proto__: dart.getGetters(html$.FontFaceSource.__proto__),
  [S$1.$fonts]: dart.nullable(html$.FontFaceSet)
}));
dart.setLibraryUri(html$.FontFaceSource, I[148]);
dart.registerExtension("FontFaceSource", html$.FontFaceSource);
html$.ForeignFetchEvent = class ForeignFetchEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 16628, 36, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 16628, 46, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.ForeignFetchEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new ForeignFetchEvent(type, eventInitDict);
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$.$request]() {
    return this.request;
  }
  [S$.$respondWith](...args) {
    return this.respondWith.apply(this, args);
  }
};
dart.addTypeTests(html$.ForeignFetchEvent);
dart.addTypeCaches(html$.ForeignFetchEvent);
dart.setMethodSignature(html$.ForeignFetchEvent, () => ({
  __proto__: dart.getMethods(html$.ForeignFetchEvent.__proto__),
  [S$.$respondWith]: dart.fnType(dart.void, [async.Future])
}));
dart.setGetterSignature(html$.ForeignFetchEvent, () => ({
  __proto__: dart.getGetters(html$.ForeignFetchEvent.__proto__),
  [S$.$origin]: dart.nullable(core.String),
  [S$.$request]: dart.nullable(html$._Request)
}));
dart.setLibraryUri(html$.ForeignFetchEvent, I[148]);
dart.registerExtension("ForeignFetchEvent", html$.ForeignFetchEvent);
html$.FormData = class FormData$ extends _interceptors.Interceptor {
  static new(form = null) {
    if (form != null) {
      return html$.FormData._create_1(form);
    }
    return html$.FormData._create_2();
  }
  static _create_1(form) {
    return new FormData(form);
  }
  static _create_2() {
    return new FormData();
  }
  static get supported() {
    return !!window.FormData;
  }
  [S.$append](...args) {
    return this.append.apply(this, args);
  }
  [S$1.$appendBlob](...args) {
    return this.append.apply(this, args);
  }
  [S.$delete](...args) {
    return this.delete.apply(this, args);
  }
  [S.$get](...args) {
    return this.get.apply(this, args);
  }
  [S.$getAll](...args) {
    return this.getAll.apply(this, args);
  }
  [S$.$has](...args) {
    return this.has.apply(this, args);
  }
  [S$.$set](...args) {
    return this.set.apply(this, args);
  }
};
dart.addTypeTests(html$.FormData);
dart.addTypeCaches(html$.FormData);
dart.setMethodSignature(html$.FormData, () => ({
  __proto__: dart.getMethods(html$.FormData.__proto__),
  [S.$append]: dart.fnType(dart.void, [core.String, core.String]),
  [S$1.$appendBlob]: dart.fnType(dart.void, [core.String, html$.Blob], [dart.nullable(core.String)]),
  [S.$delete]: dart.fnType(dart.void, [core.String]),
  [S.$get]: dart.fnType(dart.nullable(core.Object), [core.String]),
  [S.$getAll]: dart.fnType(core.List$(core.Object), [core.String]),
  [S$.$has]: dart.fnType(core.bool, [core.String]),
  [S$.$set]: dart.fnType(dart.void, [core.String, dart.dynamic], [dart.nullable(core.String)])
}));
dart.setLibraryUri(html$.FormData, I[148]);
dart.registerExtension("FormData", html$.FormData);
html$.FormElement = class FormElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("form");
  }
  get [S$1.$acceptCharset]() {
    return this.acceptCharset;
  }
  set [S$1.$acceptCharset](value) {
    this.acceptCharset = value;
  }
  get [S$1.$action]() {
    return this.action;
  }
  set [S$1.$action](value) {
    this.action = value;
  }
  get [S$.$autocomplete]() {
    return this.autocomplete;
  }
  set [S$.$autocomplete](value) {
    this.autocomplete = value;
  }
  get [S$.$encoding]() {
    return this.encoding;
  }
  set [S$.$encoding](value) {
    this.encoding = value;
  }
  get [S$1.$enctype]() {
    return this.enctype;
  }
  set [S$1.$enctype](value) {
    this.enctype = value;
  }
  get [$length]() {
    return this.length;
  }
  get [S$1.$method]() {
    return this.method;
  }
  set [S$1.$method](value) {
    this.method = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S$1.$noValidate]() {
    return this.noValidate;
  }
  set [S$1.$noValidate](value) {
    this.noValidate = value;
  }
  get [S.$target]() {
    return this.target;
  }
  set [S.$target](value) {
    this.target = value;
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$1.$requestAutocomplete](details) {
    let details_1 = html_common.convertDartToNative_Dictionary(details);
    this[S$1._requestAutocomplete_1](details_1);
    return;
  }
  [S$1._requestAutocomplete_1](...args) {
    return this.requestAutocomplete.apply(this, args);
  }
  [S$1.$reset](...args) {
    return this.reset.apply(this, args);
  }
  [S$1.$submit](...args) {
    return this.submit.apply(this, args);
  }
};
(html$.FormElement.created = function() {
  html$.FormElement.__proto__.created.call(this);
  ;
}).prototype = html$.FormElement.prototype;
dart.addTypeTests(html$.FormElement);
dart.addTypeCaches(html$.FormElement);
dart.setMethodSignature(html$.FormElement, () => ({
  __proto__: dart.getMethods(html$.FormElement.__proto__),
  [S$.__getter__]: dart.fnType(dart.nullable(core.Object), [core.String]),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$item]: dart.fnType(html$.Element, [core.int]),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$1.$requestAutocomplete]: dart.fnType(dart.void, [dart.nullable(core.Map)]),
  [S$1._requestAutocomplete_1]: dart.fnType(dart.void, [dart.dynamic]),
  [S$1.$reset]: dart.fnType(dart.void, []),
  [S$1.$submit]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.FormElement, () => ({
  __proto__: dart.getGetters(html$.FormElement.__proto__),
  [S$1.$acceptCharset]: dart.nullable(core.String),
  [S$1.$action]: dart.nullable(core.String),
  [S$.$autocomplete]: dart.nullable(core.String),
  [S$.$encoding]: dart.nullable(core.String),
  [S$1.$enctype]: dart.nullable(core.String),
  [$length]: dart.nullable(core.int),
  [S$1.$method]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S$1.$noValidate]: dart.nullable(core.bool),
  [S.$target]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.FormElement, () => ({
  __proto__: dart.getSetters(html$.FormElement.__proto__),
  [S$1.$acceptCharset]: dart.nullable(core.String),
  [S$1.$action]: dart.nullable(core.String),
  [S$.$autocomplete]: dart.nullable(core.String),
  [S$.$encoding]: dart.nullable(core.String),
  [S$1.$enctype]: dart.nullable(core.String),
  [S$1.$method]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S$1.$noValidate]: dart.nullable(core.bool),
  [S.$target]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.FormElement, I[148]);
dart.registerExtension("HTMLFormElement", html$.FormElement);
html$.Gamepad = class Gamepad extends _interceptors.Interceptor {
  get [S$1.$axes]() {
    return this.axes;
  }
  get [S$1.$buttons]() {
    return this.buttons;
  }
  get [S$1.$connected]() {
    return this.connected;
  }
  get [S$1.$displayId]() {
    return this.displayId;
  }
  get [S$1.$hand]() {
    return this.hand;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S.$index]() {
    return this.index;
  }
  get [S$1.$mapping]() {
    return this.mapping;
  }
  get [S$1.$pose]() {
    return this.pose;
  }
  get [S$.$timestamp]() {
    return this.timestamp;
  }
};
dart.addTypeTests(html$.Gamepad);
dart.addTypeCaches(html$.Gamepad);
dart.setGetterSignature(html$.Gamepad, () => ({
  __proto__: dart.getGetters(html$.Gamepad.__proto__),
  [S$1.$axes]: dart.nullable(core.List$(core.num)),
  [S$1.$buttons]: dart.nullable(core.List$(html$.GamepadButton)),
  [S$1.$connected]: dart.nullable(core.bool),
  [S$1.$displayId]: dart.nullable(core.int),
  [S$1.$hand]: dart.nullable(core.String),
  [S.$id]: dart.nullable(core.String),
  [S.$index]: dart.nullable(core.int),
  [S$1.$mapping]: dart.nullable(core.String),
  [S$1.$pose]: dart.nullable(html$.GamepadPose),
  [S$.$timestamp]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.Gamepad, I[148]);
dart.registerExtension("Gamepad", html$.Gamepad);
html$.GamepadButton = class GamepadButton extends _interceptors.Interceptor {
  get [S$.$pressed]() {
    return this.pressed;
  }
  get [S$1.$touched]() {
    return this.touched;
  }
  get [S.$value]() {
    return this.value;
  }
};
dart.addTypeTests(html$.GamepadButton);
dart.addTypeCaches(html$.GamepadButton);
dart.setGetterSignature(html$.GamepadButton, () => ({
  __proto__: dart.getGetters(html$.GamepadButton.__proto__),
  [S$.$pressed]: dart.nullable(core.bool),
  [S$1.$touched]: dart.nullable(core.bool),
  [S.$value]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.GamepadButton, I[148]);
dart.registerExtension("GamepadButton", html$.GamepadButton);
html$.GamepadEvent = class GamepadEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 16840, 31, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.GamepadEvent._create_1(type, eventInitDict_1);
    }
    return html$.GamepadEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new GamepadEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new GamepadEvent(type);
  }
  get [S$1.$gamepad]() {
    return this.gamepad;
  }
};
dart.addTypeTests(html$.GamepadEvent);
dart.addTypeCaches(html$.GamepadEvent);
dart.setGetterSignature(html$.GamepadEvent, () => ({
  __proto__: dart.getGetters(html$.GamepadEvent.__proto__),
  [S$1.$gamepad]: dart.nullable(html$.Gamepad)
}));
dart.setLibraryUri(html$.GamepadEvent, I[148]);
dart.registerExtension("GamepadEvent", html$.GamepadEvent);
html$.GamepadPose = class GamepadPose extends _interceptors.Interceptor {
  get [S$1.$angularAcceleration]() {
    return this.angularAcceleration;
  }
  get [S$1.$angularVelocity]() {
    return this.angularVelocity;
  }
  get [S$1.$hasOrientation]() {
    return this.hasOrientation;
  }
  get [S$1.$hasPosition]() {
    return this.hasPosition;
  }
  get [S$1.$linearAcceleration]() {
    return this.linearAcceleration;
  }
  get [S$1.$linearVelocity]() {
    return this.linearVelocity;
  }
  get [S$.$orientation]() {
    return this.orientation;
  }
  get [S$0.$position]() {
    return this.position;
  }
};
dart.addTypeTests(html$.GamepadPose);
dart.addTypeCaches(html$.GamepadPose);
dart.setGetterSignature(html$.GamepadPose, () => ({
  __proto__: dart.getGetters(html$.GamepadPose.__proto__),
  [S$1.$angularAcceleration]: dart.nullable(typed_data.Float32List),
  [S$1.$angularVelocity]: dart.nullable(typed_data.Float32List),
  [S$1.$hasOrientation]: dart.nullable(core.bool),
  [S$1.$hasPosition]: dart.nullable(core.bool),
  [S$1.$linearAcceleration]: dart.nullable(typed_data.Float32List),
  [S$1.$linearVelocity]: dart.nullable(typed_data.Float32List),
  [S$.$orientation]: dart.nullable(typed_data.Float32List),
  [S$0.$position]: dart.nullable(typed_data.Float32List)
}));
dart.setLibraryUri(html$.GamepadPose, I[148]);
dart.registerExtension("GamepadPose", html$.GamepadPose);
html$.Geolocation = class Geolocation extends _interceptors.Interceptor {
  [S$1.$getCurrentPosition](opts) {
    let enableHighAccuracy = opts && 'enableHighAccuracy' in opts ? opts.enableHighAccuracy : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    let maximumAge = opts && 'maximumAge' in opts ? opts.maximumAge : null;
    let options = new _js_helper.LinkedMap.new();
    if (enableHighAccuracy != null) {
      options[$_set]("enableHighAccuracy", enableHighAccuracy);
    }
    if (timeout != null) {
      options[$_set]("timeout", timeout.inMilliseconds);
    }
    if (maximumAge != null) {
      options[$_set]("maximumAge", maximumAge.inMilliseconds);
    }
    let completer = T$0.CompleterOfGeoposition().new();
    try {
      this[S$1._getCurrentPosition](dart.fn(position => {
        completer.complete(this[S$1._ensurePosition](position));
      }, T$.dynamicTovoid()), dart.fn(error => {
        if (error == null) dart.nullFailed(I[147], 16904, 11, "error");
        completer.completeError(error);
      }, T$0.PositionErrorTovoid()), options);
    } catch (e$) {
      let e = dart.getThrown(e$);
      let stacktrace = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        completer.completeError(e, stacktrace);
      } else
        throw e$;
    }
    return completer.future;
  }
  [S$1.$watchPosition](opts) {
    let enableHighAccuracy = opts && 'enableHighAccuracy' in opts ? opts.enableHighAccuracy : null;
    let timeout = opts && 'timeout' in opts ? opts.timeout : null;
    let maximumAge = opts && 'maximumAge' in opts ? opts.maximumAge : null;
    let options = new _js_helper.LinkedMap.new();
    if (enableHighAccuracy != null) {
      options[$_set]("enableHighAccuracy", enableHighAccuracy);
    }
    if (timeout != null) {
      options[$_set]("timeout", timeout.inMilliseconds);
    }
    if (maximumAge != null) {
      options[$_set]("maximumAge", maximumAge.inMilliseconds);
    }
    let watchId = null;
    let controller = T$0.StreamControllerOfGeoposition().new({sync: true, onCancel: dart.fn(() => {
        if (!(watchId != null)) dart.assertFailed(null, I[147], 16931, 22, "watchId != null");
        this[S$1._clearWatch](dart.nullCheck(watchId));
      }, T$.VoidToNull())});
    controller.onListen = dart.fn(() => {
      if (!(watchId == null)) dart.assertFailed(null, I[147], 16935, 14, "watchId == null");
      watchId = this[S$1._watchPosition](dart.fn(position => {
        controller.add(this[S$1._ensurePosition](position));
      }, T$.dynamicTovoid()), dart.fn(error => {
        if (error == null) dart.nullFailed(I[147], 16938, 11, "error");
        controller.addError(error);
      }, T$0.PositionErrorTovoid()), options);
    }, T$.VoidTovoid());
    return controller.stream;
  }
  [S$1._ensurePosition](domPosition) {
    try {
      if (html$.Geoposition.is(domPosition)) {
        return domPosition;
      }
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
    return new html$._GeopositionWrapper.new(domPosition);
  }
  [S$1._clearWatch](...args) {
    return this.clearWatch.apply(this, args);
  }
  [S$1._getCurrentPosition](successCallback, errorCallback = null, options = null) {
    if (successCallback == null) dart.nullFailed(I[147], 16966, 46, "successCallback");
    if (options != null) {
      let successCallback_1 = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), successCallback, 1);
      let options_2 = html_common.convertDartToNative_Dictionary(options);
      this[S$1._getCurrentPosition_1](successCallback_1, errorCallback, options_2);
      return;
    }
    if (errorCallback != null) {
      let successCallback_1 = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), successCallback, 1);
      this[S$1._getCurrentPosition_2](successCallback_1, errorCallback);
      return;
    }
    let successCallback_1 = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), successCallback, 1);
    this[S$1._getCurrentPosition_3](successCallback_1);
    return;
  }
  [S$1._getCurrentPosition_1](...args) {
    return this.getCurrentPosition.apply(this, args);
  }
  [S$1._getCurrentPosition_2](...args) {
    return this.getCurrentPosition.apply(this, args);
  }
  [S$1._getCurrentPosition_3](...args) {
    return this.getCurrentPosition.apply(this, args);
  }
  [S$1._watchPosition](successCallback, errorCallback = null, options = null) {
    if (successCallback == null) dart.nullFailed(I[147], 17001, 40, "successCallback");
    if (options != null) {
      let successCallback_1 = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), successCallback, 1);
      let options_2 = html_common.convertDartToNative_Dictionary(options);
      return this[S$1._watchPosition_1](successCallback_1, errorCallback, options_2);
    }
    if (errorCallback != null) {
      let successCallback_1 = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), successCallback, 1);
      return this[S$1._watchPosition_2](successCallback_1, errorCallback);
    }
    let successCallback_1 = _js_helper.convertDartClosureToJS(T$.dynamicTovoid(), successCallback, 1);
    return this[S$1._watchPosition_3](successCallback_1);
  }
  [S$1._watchPosition_1](...args) {
    return this.watchPosition.apply(this, args);
  }
  [S$1._watchPosition_2](...args) {
    return this.watchPosition.apply(this, args);
  }
  [S$1._watchPosition_3](...args) {
    return this.watchPosition.apply(this, args);
  }
};
dart.addTypeTests(html$.Geolocation);
dart.addTypeCaches(html$.Geolocation);
dart.setMethodSignature(html$.Geolocation, () => ({
  __proto__: dart.getMethods(html$.Geolocation.__proto__),
  [S$1.$getCurrentPosition]: dart.fnType(async.Future$(html$.Geoposition), [], {enableHighAccuracy: dart.nullable(core.bool), maximumAge: dart.nullable(core.Duration), timeout: dart.nullable(core.Duration)}, {}),
  [S$1.$watchPosition]: dart.fnType(async.Stream$(html$.Geoposition), [], {enableHighAccuracy: dart.nullable(core.bool), maximumAge: dart.nullable(core.Duration), timeout: dart.nullable(core.Duration)}, {}),
  [S$1._ensurePosition]: dart.fnType(html$.Geoposition, [dart.dynamic]),
  [S$1._clearWatch]: dart.fnType(dart.void, [core.int]),
  [S$1._getCurrentPosition]: dart.fnType(dart.void, [dart.fnType(dart.void, [dart.dynamic])], [dart.nullable(dart.fnType(dart.void, [html$.PositionError])), dart.nullable(core.Map)]),
  [S$1._getCurrentPosition_1]: dart.fnType(dart.void, [dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.PositionError])), dart.dynamic]),
  [S$1._getCurrentPosition_2]: dart.fnType(dart.void, [dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.PositionError]))]),
  [S$1._getCurrentPosition_3]: dart.fnType(dart.void, [dart.dynamic]),
  [S$1._watchPosition]: dart.fnType(core.int, [dart.fnType(dart.void, [dart.dynamic])], [dart.nullable(dart.fnType(dart.void, [html$.PositionError])), dart.nullable(core.Map)]),
  [S$1._watchPosition_1]: dart.fnType(core.int, [dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.PositionError])), dart.dynamic]),
  [S$1._watchPosition_2]: dart.fnType(core.int, [dart.dynamic, dart.nullable(dart.fnType(dart.void, [html$.PositionError]))]),
  [S$1._watchPosition_3]: dart.fnType(core.int, [dart.dynamic])
}));
dart.setLibraryUri(html$.Geolocation, I[148]);
dart.registerExtension("Geolocation", html$.Geolocation);
html$._GeopositionWrapper = class _GeopositionWrapper extends core.Object {
  get coords() {
    return this[S$1._ptr].coords;
  }
  get timestamp() {
    return this[S$1._ptr].timestamp;
  }
};
(html$._GeopositionWrapper.new = function(_ptr) {
  this[S$1._ptr] = _ptr;
  ;
}).prototype = html$._GeopositionWrapper.prototype;
dart.addTypeTests(html$._GeopositionWrapper);
dart.addTypeCaches(html$._GeopositionWrapper);
html$._GeopositionWrapper[dart.implements] = () => [html$.Geoposition];
dart.setGetterSignature(html$._GeopositionWrapper, () => ({
  __proto__: dart.getGetters(html$._GeopositionWrapper.__proto__),
  coords: html$.Coordinates,
  [S$.$coords]: html$.Coordinates,
  timestamp: core.int,
  [S$.$timestamp]: core.int
}));
dart.setLibraryUri(html$._GeopositionWrapper, I[148]);
dart.setFieldSignature(html$._GeopositionWrapper, () => ({
  __proto__: dart.getFields(html$._GeopositionWrapper.__proto__),
  [S$1._ptr]: dart.fieldType(dart.dynamic)
}));
dart.defineExtensionAccessors(html$._GeopositionWrapper, ['coords', 'timestamp']);
html$.Geoposition = class Geoposition extends _interceptors.Interceptor {
  get [S$.$coords]() {
    return this.coords;
  }
  get [S$.$timestamp]() {
    return this.timestamp;
  }
};
dart.addTypeTests(html$.Geoposition);
dart.addTypeCaches(html$.Geoposition);
dart.setGetterSignature(html$.Geoposition, () => ({
  __proto__: dart.getGetters(html$.Geoposition.__proto__),
  [S$.$coords]: dart.nullable(html$.Coordinates),
  [S$.$timestamp]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.Geoposition, I[148]);
dart.registerExtension("Position", html$.Geoposition);
dart.registerExtension("GeolocationPosition", html$.Geoposition);
html$.GlobalEventHandlers = class GlobalEventHandlers extends core.Object {
  get onAbort() {
    return html$.GlobalEventHandlers.abortEvent.forTarget(this);
  }
  get onBlur() {
    return html$.GlobalEventHandlers.blurEvent.forTarget(this);
  }
  get onCanPlay() {
    return html$.GlobalEventHandlers.canPlayEvent.forTarget(this);
  }
  get onCanPlayThrough() {
    return html$.GlobalEventHandlers.canPlayThroughEvent.forTarget(this);
  }
  get onChange() {
    return html$.GlobalEventHandlers.changeEvent.forTarget(this);
  }
  get onClick() {
    return html$.GlobalEventHandlers.clickEvent.forTarget(this);
  }
  get onContextMenu() {
    return html$.GlobalEventHandlers.contextMenuEvent.forTarget(this);
  }
  get onDoubleClick() {
    return html$.GlobalEventHandlers.doubleClickEvent.forTarget(this);
  }
  get onDrag() {
    return html$.GlobalEventHandlers.dragEvent.forTarget(this);
  }
  get onDragEnd() {
    return html$.GlobalEventHandlers.dragEndEvent.forTarget(this);
  }
  get onDragEnter() {
    return html$.GlobalEventHandlers.dragEnterEvent.forTarget(this);
  }
  get onDragLeave() {
    return html$.GlobalEventHandlers.dragLeaveEvent.forTarget(this);
  }
  get onDragOver() {
    return html$.GlobalEventHandlers.dragOverEvent.forTarget(this);
  }
  get onDragStart() {
    return html$.GlobalEventHandlers.dragStartEvent.forTarget(this);
  }
  get onDrop() {
    return html$.GlobalEventHandlers.dropEvent.forTarget(this);
  }
  get onDurationChange() {
    return html$.GlobalEventHandlers.durationChangeEvent.forTarget(this);
  }
  get onEmptied() {
    return html$.GlobalEventHandlers.emptiedEvent.forTarget(this);
  }
  get onEnded() {
    return html$.GlobalEventHandlers.endedEvent.forTarget(this);
  }
  get onError() {
    return html$.GlobalEventHandlers.errorEvent.forTarget(this);
  }
  get onFocus() {
    return html$.GlobalEventHandlers.focusEvent.forTarget(this);
  }
  get onInput() {
    return html$.GlobalEventHandlers.inputEvent.forTarget(this);
  }
  get onInvalid() {
    return html$.GlobalEventHandlers.invalidEvent.forTarget(this);
  }
  get onKeyDown() {
    return html$.GlobalEventHandlers.keyDownEvent.forTarget(this);
  }
  get onKeyPress() {
    return html$.GlobalEventHandlers.keyPressEvent.forTarget(this);
  }
  get onKeyUp() {
    return html$.GlobalEventHandlers.keyUpEvent.forTarget(this);
  }
  get onLoad() {
    return html$.GlobalEventHandlers.loadEvent.forTarget(this);
  }
  get onLoadedData() {
    return html$.GlobalEventHandlers.loadedDataEvent.forTarget(this);
  }
  get onLoadedMetadata() {
    return html$.GlobalEventHandlers.loadedMetadataEvent.forTarget(this);
  }
  get onMouseDown() {
    return html$.GlobalEventHandlers.mouseDownEvent.forTarget(this);
  }
  get onMouseEnter() {
    return html$.GlobalEventHandlers.mouseEnterEvent.forTarget(this);
  }
  get onMouseLeave() {
    return html$.GlobalEventHandlers.mouseLeaveEvent.forTarget(this);
  }
  get onMouseMove() {
    return html$.GlobalEventHandlers.mouseMoveEvent.forTarget(this);
  }
  get onMouseOut() {
    return html$.GlobalEventHandlers.mouseOutEvent.forTarget(this);
  }
  get onMouseOver() {
    return html$.GlobalEventHandlers.mouseOverEvent.forTarget(this);
  }
  get onMouseUp() {
    return html$.GlobalEventHandlers.mouseUpEvent.forTarget(this);
  }
  get onMouseWheel() {
    return html$.GlobalEventHandlers.mouseWheelEvent.forTarget(this);
  }
  get onPause() {
    return html$.GlobalEventHandlers.pauseEvent.forTarget(this);
  }
  get onPlay() {
    return html$.GlobalEventHandlers.playEvent.forTarget(this);
  }
  get onPlaying() {
    return html$.GlobalEventHandlers.playingEvent.forTarget(this);
  }
  get onRateChange() {
    return html$.GlobalEventHandlers.rateChangeEvent.forTarget(this);
  }
  get onReset() {
    return html$.GlobalEventHandlers.resetEvent.forTarget(this);
  }
  get onResize() {
    return html$.GlobalEventHandlers.resizeEvent.forTarget(this);
  }
  get onScroll() {
    return html$.GlobalEventHandlers.scrollEvent.forTarget(this);
  }
  get onSeeked() {
    return html$.GlobalEventHandlers.seekedEvent.forTarget(this);
  }
  get onSeeking() {
    return html$.GlobalEventHandlers.seekingEvent.forTarget(this);
  }
  get onSelect() {
    return html$.GlobalEventHandlers.selectEvent.forTarget(this);
  }
  get onStalled() {
    return html$.GlobalEventHandlers.stalledEvent.forTarget(this);
  }
  get onSubmit() {
    return html$.GlobalEventHandlers.submitEvent.forTarget(this);
  }
  get onSuspend() {
    return html$.GlobalEventHandlers.suspendEvent.forTarget(this);
  }
  get onTimeUpdate() {
    return html$.GlobalEventHandlers.timeUpdateEvent.forTarget(this);
  }
  get onTouchCancel() {
    return html$.GlobalEventHandlers.touchCancelEvent.forTarget(this);
  }
  get onTouchEnd() {
    return html$.GlobalEventHandlers.touchEndEvent.forTarget(this);
  }
  get onTouchMove() {
    return html$.GlobalEventHandlers.touchMoveEvent.forTarget(this);
  }
  get onTouchStart() {
    return html$.GlobalEventHandlers.touchStartEvent.forTarget(this);
  }
  get onVolumeChange() {
    return html$.GlobalEventHandlers.volumeChangeEvent.forTarget(this);
  }
  get onWaiting() {
    return html$.GlobalEventHandlers.waitingEvent.forTarget(this);
  }
  get onWheel() {
    return html$.GlobalEventHandlers.wheelEvent.forTarget(this);
  }
};
(html$.GlobalEventHandlers[dart.mixinNew] = function() {
}).prototype = html$.GlobalEventHandlers.prototype;
dart.addTypeTests(html$.GlobalEventHandlers);
dart.addTypeCaches(html$.GlobalEventHandlers);
html$.GlobalEventHandlers[dart.implements] = () => [html$.EventTarget];
dart.setGetterSignature(html$.GlobalEventHandlers, () => ({
  __proto__: dart.getGetters(html$.GlobalEventHandlers.__proto__),
  onAbort: async.Stream$(html$.Event),
  [S.$onAbort]: async.Stream$(html$.Event),
  onBlur: async.Stream$(html$.Event),
  [S.$onBlur]: async.Stream$(html$.Event),
  onCanPlay: async.Stream$(html$.Event),
  [S.$onCanPlay]: async.Stream$(html$.Event),
  onCanPlayThrough: async.Stream$(html$.Event),
  [S.$onCanPlayThrough]: async.Stream$(html$.Event),
  onChange: async.Stream$(html$.Event),
  [S.$onChange]: async.Stream$(html$.Event),
  onClick: async.Stream$(html$.MouseEvent),
  [S.$onClick]: async.Stream$(html$.MouseEvent),
  onContextMenu: async.Stream$(html$.MouseEvent),
  [S.$onContextMenu]: async.Stream$(html$.MouseEvent),
  onDoubleClick: async.Stream$(html$.Event),
  [S.$onDoubleClick]: async.Stream$(html$.Event),
  onDrag: async.Stream$(html$.MouseEvent),
  [S.$onDrag]: async.Stream$(html$.MouseEvent),
  onDragEnd: async.Stream$(html$.MouseEvent),
  [S.$onDragEnd]: async.Stream$(html$.MouseEvent),
  onDragEnter: async.Stream$(html$.MouseEvent),
  [S.$onDragEnter]: async.Stream$(html$.MouseEvent),
  onDragLeave: async.Stream$(html$.MouseEvent),
  [S.$onDragLeave]: async.Stream$(html$.MouseEvent),
  onDragOver: async.Stream$(html$.MouseEvent),
  [S.$onDragOver]: async.Stream$(html$.MouseEvent),
  onDragStart: async.Stream$(html$.MouseEvent),
  [S.$onDragStart]: async.Stream$(html$.MouseEvent),
  onDrop: async.Stream$(html$.MouseEvent),
  [S.$onDrop]: async.Stream$(html$.MouseEvent),
  onDurationChange: async.Stream$(html$.Event),
  [S.$onDurationChange]: async.Stream$(html$.Event),
  onEmptied: async.Stream$(html$.Event),
  [S.$onEmptied]: async.Stream$(html$.Event),
  onEnded: async.Stream$(html$.Event),
  [S.$onEnded]: async.Stream$(html$.Event),
  onError: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event),
  onFocus: async.Stream$(html$.Event),
  [S.$onFocus]: async.Stream$(html$.Event),
  onInput: async.Stream$(html$.Event),
  [S.$onInput]: async.Stream$(html$.Event),
  onInvalid: async.Stream$(html$.Event),
  [S.$onInvalid]: async.Stream$(html$.Event),
  onKeyDown: async.Stream$(html$.KeyboardEvent),
  [S.$onKeyDown]: async.Stream$(html$.KeyboardEvent),
  onKeyPress: async.Stream$(html$.KeyboardEvent),
  [S.$onKeyPress]: async.Stream$(html$.KeyboardEvent),
  onKeyUp: async.Stream$(html$.KeyboardEvent),
  [S.$onKeyUp]: async.Stream$(html$.KeyboardEvent),
  onLoad: async.Stream$(html$.Event),
  [S.$onLoad]: async.Stream$(html$.Event),
  onLoadedData: async.Stream$(html$.Event),
  [S.$onLoadedData]: async.Stream$(html$.Event),
  onLoadedMetadata: async.Stream$(html$.Event),
  [S.$onLoadedMetadata]: async.Stream$(html$.Event),
  onMouseDown: async.Stream$(html$.MouseEvent),
  [S.$onMouseDown]: async.Stream$(html$.MouseEvent),
  onMouseEnter: async.Stream$(html$.MouseEvent),
  [S.$onMouseEnter]: async.Stream$(html$.MouseEvent),
  onMouseLeave: async.Stream$(html$.MouseEvent),
  [S.$onMouseLeave]: async.Stream$(html$.MouseEvent),
  onMouseMove: async.Stream$(html$.MouseEvent),
  [S.$onMouseMove]: async.Stream$(html$.MouseEvent),
  onMouseOut: async.Stream$(html$.MouseEvent),
  [S.$onMouseOut]: async.Stream$(html$.MouseEvent),
  onMouseOver: async.Stream$(html$.MouseEvent),
  [S.$onMouseOver]: async.Stream$(html$.MouseEvent),
  onMouseUp: async.Stream$(html$.MouseEvent),
  [S.$onMouseUp]: async.Stream$(html$.MouseEvent),
  onMouseWheel: async.Stream$(html$.WheelEvent),
  [S.$onMouseWheel]: async.Stream$(html$.WheelEvent),
  onPause: async.Stream$(html$.Event),
  [S.$onPause]: async.Stream$(html$.Event),
  onPlay: async.Stream$(html$.Event),
  [S.$onPlay]: async.Stream$(html$.Event),
  onPlaying: async.Stream$(html$.Event),
  [S.$onPlaying]: async.Stream$(html$.Event),
  onRateChange: async.Stream$(html$.Event),
  [S.$onRateChange]: async.Stream$(html$.Event),
  onReset: async.Stream$(html$.Event),
  [S.$onReset]: async.Stream$(html$.Event),
  onResize: async.Stream$(html$.Event),
  [S.$onResize]: async.Stream$(html$.Event),
  onScroll: async.Stream$(html$.Event),
  [S.$onScroll]: async.Stream$(html$.Event),
  onSeeked: async.Stream$(html$.Event),
  [S.$onSeeked]: async.Stream$(html$.Event),
  onSeeking: async.Stream$(html$.Event),
  [S.$onSeeking]: async.Stream$(html$.Event),
  onSelect: async.Stream$(html$.Event),
  [S.$onSelect]: async.Stream$(html$.Event),
  onStalled: async.Stream$(html$.Event),
  [S$.$onStalled]: async.Stream$(html$.Event),
  onSubmit: async.Stream$(html$.Event),
  [S$.$onSubmit]: async.Stream$(html$.Event),
  onSuspend: async.Stream$(html$.Event),
  [S$.$onSuspend]: async.Stream$(html$.Event),
  onTimeUpdate: async.Stream$(html$.Event),
  [S$.$onTimeUpdate]: async.Stream$(html$.Event),
  onTouchCancel: async.Stream$(html$.TouchEvent),
  [S$.$onTouchCancel]: async.Stream$(html$.TouchEvent),
  onTouchEnd: async.Stream$(html$.TouchEvent),
  [S$.$onTouchEnd]: async.Stream$(html$.TouchEvent),
  onTouchMove: async.Stream$(html$.TouchEvent),
  [S$.$onTouchMove]: async.Stream$(html$.TouchEvent),
  onTouchStart: async.Stream$(html$.TouchEvent),
  [S$.$onTouchStart]: async.Stream$(html$.TouchEvent),
  onVolumeChange: async.Stream$(html$.Event),
  [S$.$onVolumeChange]: async.Stream$(html$.Event),
  onWaiting: async.Stream$(html$.Event),
  [S$.$onWaiting]: async.Stream$(html$.Event),
  onWheel: async.Stream$(html$.WheelEvent),
  [S$.$onWheel]: async.Stream$(html$.WheelEvent)
}));
dart.setLibraryUri(html$.GlobalEventHandlers, I[148]);
dart.defineExtensionAccessors(html$.GlobalEventHandlers, [
  'onAbort',
  'onBlur',
  'onCanPlay',
  'onCanPlayThrough',
  'onChange',
  'onClick',
  'onContextMenu',
  'onDoubleClick',
  'onDrag',
  'onDragEnd',
  'onDragEnter',
  'onDragLeave',
  'onDragOver',
  'onDragStart',
  'onDrop',
  'onDurationChange',
  'onEmptied',
  'onEnded',
  'onError',
  'onFocus',
  'onInput',
  'onInvalid',
  'onKeyDown',
  'onKeyPress',
  'onKeyUp',
  'onLoad',
  'onLoadedData',
  'onLoadedMetadata',
  'onMouseDown',
  'onMouseEnter',
  'onMouseLeave',
  'onMouseMove',
  'onMouseOut',
  'onMouseOver',
  'onMouseUp',
  'onMouseWheel',
  'onPause',
  'onPlay',
  'onPlaying',
  'onRateChange',
  'onReset',
  'onResize',
  'onScroll',
  'onSeeked',
  'onSeeking',
  'onSelect',
  'onStalled',
  'onSubmit',
  'onSuspend',
  'onTimeUpdate',
  'onTouchCancel',
  'onTouchEnd',
  'onTouchMove',
  'onTouchStart',
  'onVolumeChange',
  'onWaiting',
  'onWheel'
]);
dart.defineLazy(html$.GlobalEventHandlers, {
  /*html$.GlobalEventHandlers.abortEvent*/get abortEvent() {
    return C[216] || CT.C216;
  },
  /*html$.GlobalEventHandlers.blurEvent*/get blurEvent() {
    return C[235] || CT.C235;
  },
  /*html$.GlobalEventHandlers.canPlayEvent*/get canPlayEvent() {
    return C[236] || CT.C236;
  },
  /*html$.GlobalEventHandlers.canPlayThroughEvent*/get canPlayThroughEvent() {
    return C[237] || CT.C237;
  },
  /*html$.GlobalEventHandlers.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  },
  /*html$.GlobalEventHandlers.clickEvent*/get clickEvent() {
    return C[239] || CT.C239;
  },
  /*html$.GlobalEventHandlers.contextMenuEvent*/get contextMenuEvent() {
    return C[240] || CT.C240;
  },
  /*html$.GlobalEventHandlers.doubleClickEvent*/get doubleClickEvent() {
    return C[243] || CT.C243;
  },
  /*html$.GlobalEventHandlers.dragEvent*/get dragEvent() {
    return C[244] || CT.C244;
  },
  /*html$.GlobalEventHandlers.dragEndEvent*/get dragEndEvent() {
    return C[245] || CT.C245;
  },
  /*html$.GlobalEventHandlers.dragEnterEvent*/get dragEnterEvent() {
    return C[246] || CT.C246;
  },
  /*html$.GlobalEventHandlers.dragLeaveEvent*/get dragLeaveEvent() {
    return C[247] || CT.C247;
  },
  /*html$.GlobalEventHandlers.dragOverEvent*/get dragOverEvent() {
    return C[248] || CT.C248;
  },
  /*html$.GlobalEventHandlers.dragStartEvent*/get dragStartEvent() {
    return C[249] || CT.C249;
  },
  /*html$.GlobalEventHandlers.dropEvent*/get dropEvent() {
    return C[250] || CT.C250;
  },
  /*html$.GlobalEventHandlers.durationChangeEvent*/get durationChangeEvent() {
    return C[251] || CT.C251;
  },
  /*html$.GlobalEventHandlers.emptiedEvent*/get emptiedEvent() {
    return C[252] || CT.C252;
  },
  /*html$.GlobalEventHandlers.endedEvent*/get endedEvent() {
    return C[253] || CT.C253;
  },
  /*html$.GlobalEventHandlers.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.GlobalEventHandlers.focusEvent*/get focusEvent() {
    return C[254] || CT.C254;
  },
  /*html$.GlobalEventHandlers.inputEvent*/get inputEvent() {
    return C[255] || CT.C255;
  },
  /*html$.GlobalEventHandlers.invalidEvent*/get invalidEvent() {
    return C[256] || CT.C256;
  },
  /*html$.GlobalEventHandlers.keyDownEvent*/get keyDownEvent() {
    return C[257] || CT.C257;
  },
  /*html$.GlobalEventHandlers.keyPressEvent*/get keyPressEvent() {
    return C[258] || CT.C258;
  },
  /*html$.GlobalEventHandlers.keyUpEvent*/get keyUpEvent() {
    return C[259] || CT.C259;
  },
  /*html$.GlobalEventHandlers.loadEvent*/get loadEvent() {
    return C[260] || CT.C260;
  },
  /*html$.GlobalEventHandlers.loadedDataEvent*/get loadedDataEvent() {
    return C[261] || CT.C261;
  },
  /*html$.GlobalEventHandlers.loadedMetadataEvent*/get loadedMetadataEvent() {
    return C[262] || CT.C262;
  },
  /*html$.GlobalEventHandlers.mouseDownEvent*/get mouseDownEvent() {
    return C[263] || CT.C263;
  },
  /*html$.GlobalEventHandlers.mouseEnterEvent*/get mouseEnterEvent() {
    return C[264] || CT.C264;
  },
  /*html$.GlobalEventHandlers.mouseLeaveEvent*/get mouseLeaveEvent() {
    return C[265] || CT.C265;
  },
  /*html$.GlobalEventHandlers.mouseMoveEvent*/get mouseMoveEvent() {
    return C[266] || CT.C266;
  },
  /*html$.GlobalEventHandlers.mouseOutEvent*/get mouseOutEvent() {
    return C[267] || CT.C267;
  },
  /*html$.GlobalEventHandlers.mouseOverEvent*/get mouseOverEvent() {
    return C[268] || CT.C268;
  },
  /*html$.GlobalEventHandlers.mouseUpEvent*/get mouseUpEvent() {
    return C[269] || CT.C269;
  },
  /*html$.GlobalEventHandlers.mouseWheelEvent*/get mouseWheelEvent() {
    return C[344] || CT.C344;
  },
  /*html$.GlobalEventHandlers.pauseEvent*/get pauseEvent() {
    return C[271] || CT.C271;
  },
  /*html$.GlobalEventHandlers.playEvent*/get playEvent() {
    return C[272] || CT.C272;
  },
  /*html$.GlobalEventHandlers.playingEvent*/get playingEvent() {
    return C[273] || CT.C273;
  },
  /*html$.GlobalEventHandlers.rateChangeEvent*/get rateChangeEvent() {
    return C[274] || CT.C274;
  },
  /*html$.GlobalEventHandlers.resetEvent*/get resetEvent() {
    return C[275] || CT.C275;
  },
  /*html$.GlobalEventHandlers.resizeEvent*/get resizeEvent() {
    return C[276] || CT.C276;
  },
  /*html$.GlobalEventHandlers.scrollEvent*/get scrollEvent() {
    return C[277] || CT.C277;
  },
  /*html$.GlobalEventHandlers.seekedEvent*/get seekedEvent() {
    return C[279] || CT.C279;
  },
  /*html$.GlobalEventHandlers.seekingEvent*/get seekingEvent() {
    return C[280] || CT.C280;
  },
  /*html$.GlobalEventHandlers.selectEvent*/get selectEvent() {
    return C[281] || CT.C281;
  },
  /*html$.GlobalEventHandlers.stalledEvent*/get stalledEvent() {
    return C[283] || CT.C283;
  },
  /*html$.GlobalEventHandlers.submitEvent*/get submitEvent() {
    return C[284] || CT.C284;
  },
  /*html$.GlobalEventHandlers.suspendEvent*/get suspendEvent() {
    return C[285] || CT.C285;
  },
  /*html$.GlobalEventHandlers.timeUpdateEvent*/get timeUpdateEvent() {
    return C[286] || CT.C286;
  },
  /*html$.GlobalEventHandlers.touchCancelEvent*/get touchCancelEvent() {
    return C[287] || CT.C287;
  },
  /*html$.GlobalEventHandlers.touchEndEvent*/get touchEndEvent() {
    return C[288] || CT.C288;
  },
  /*html$.GlobalEventHandlers.touchMoveEvent*/get touchMoveEvent() {
    return C[291] || CT.C291;
  },
  /*html$.GlobalEventHandlers.touchStartEvent*/get touchStartEvent() {
    return C[292] || CT.C292;
  },
  /*html$.GlobalEventHandlers.volumeChangeEvent*/get volumeChangeEvent() {
    return C[293] || CT.C293;
  },
  /*html$.GlobalEventHandlers.waitingEvent*/get waitingEvent() {
    return C[294] || CT.C294;
  },
  /*html$.GlobalEventHandlers.wheelEvent*/get wheelEvent() {
    return C[297] || CT.C297;
  }
}, false);
html$.Gyroscope = class Gyroscope$ extends html$.Sensor {
  static new(sensorOptions = null) {
    if (sensorOptions != null) {
      let sensorOptions_1 = html_common.convertDartToNative_Dictionary(sensorOptions);
      return html$.Gyroscope._create_1(sensorOptions_1);
    }
    return html$.Gyroscope._create_2();
  }
  static _create_1(sensorOptions) {
    return new Gyroscope(sensorOptions);
  }
  static _create_2() {
    return new Gyroscope();
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$z]() {
    return this.z;
  }
};
dart.addTypeTests(html$.Gyroscope);
dart.addTypeCaches(html$.Gyroscope);
dart.setGetterSignature(html$.Gyroscope, () => ({
  __proto__: dart.getGetters(html$.Gyroscope.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.Gyroscope, I[148]);
dart.registerExtension("Gyroscope", html$.Gyroscope);
html$.HRElement = class HRElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("hr");
  }
  get [S$0.$color]() {
    return this.color;
  }
  set [S$0.$color](value) {
    this.color = value;
  }
};
(html$.HRElement.created = function() {
  html$.HRElement.__proto__.created.call(this);
  ;
}).prototype = html$.HRElement.prototype;
dart.addTypeTests(html$.HRElement);
dart.addTypeCaches(html$.HRElement);
dart.setGetterSignature(html$.HRElement, () => ({
  __proto__: dart.getGetters(html$.HRElement.__proto__),
  [S$0.$color]: core.String
}));
dart.setSetterSignature(html$.HRElement, () => ({
  __proto__: dart.getSetters(html$.HRElement.__proto__),
  [S$0.$color]: core.String
}));
dart.setLibraryUri(html$.HRElement, I[148]);
dart.registerExtension("HTMLHRElement", html$.HRElement);
html$.HashChangeEvent = class HashChangeEvent$ extends html$.Event {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 17436, 34, "type");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 17437, 13, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 17438, 12, "cancelable");
    let oldUrl = opts && 'oldUrl' in opts ? opts.oldUrl : null;
    let newUrl = opts && 'newUrl' in opts ? opts.newUrl : null;
    let options = new (T$.IdentityMapOfString$ObjectN()).from(["canBubble", canBubble, "cancelable", cancelable, "oldURL", oldUrl, "newURL", newUrl]);
    return new HashChangeEvent(type, html_common.convertDartToNative_Dictionary(options));
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 17451, 36, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.HashChangeEvent._create_1(type, eventInitDict_1);
    }
    return html$.HashChangeEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new HashChangeEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new HashChangeEvent(type);
  }
  static get supported() {
    return html_common.Device.isEventTypeSupported("HashChangeEvent");
  }
  get [S$1.$newUrl]() {
    return this.newURL;
  }
  get [S$1.$oldUrl]() {
    return this.oldURL;
  }
};
dart.addTypeTests(html$.HashChangeEvent);
dart.addTypeCaches(html$.HashChangeEvent);
dart.setGetterSignature(html$.HashChangeEvent, () => ({
  __proto__: dart.getGetters(html$.HashChangeEvent.__proto__),
  [S$1.$newUrl]: dart.nullable(core.String),
  [S$1.$oldUrl]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.HashChangeEvent, I[148]);
dart.registerExtension("HashChangeEvent", html$.HashChangeEvent);
html$.HeadElement = class HeadElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("head");
  }
};
(html$.HeadElement.created = function() {
  html$.HeadElement.__proto__.created.call(this);
  ;
}).prototype = html$.HeadElement.prototype;
dart.addTypeTests(html$.HeadElement);
dart.addTypeCaches(html$.HeadElement);
dart.setLibraryUri(html$.HeadElement, I[148]);
dart.registerExtension("HTMLHeadElement", html$.HeadElement);
html$.Headers = class Headers$ extends _interceptors.Interceptor {
  static new(init = null) {
    if (init != null) {
      return html$.Headers._create_1(init);
    }
    return html$.Headers._create_2();
  }
  static _create_1(init) {
    return new Headers(init);
  }
  static _create_2() {
    return new Headers();
  }
};
dart.addTypeTests(html$.Headers);
dart.addTypeCaches(html$.Headers);
dart.setLibraryUri(html$.Headers, I[148]);
dart.registerExtension("Headers", html$.Headers);
html$.HeadingElement = class HeadingElement extends html$.HtmlElement {
  static h1() {
    return html$.document.createElement("h1");
  }
  static h2() {
    return html$.document.createElement("h2");
  }
  static h3() {
    return html$.document.createElement("h3");
  }
  static h4() {
    return html$.document.createElement("h4");
  }
  static h5() {
    return html$.document.createElement("h5");
  }
  static h6() {
    return html$.document.createElement("h6");
  }
};
(html$.HeadingElement.created = function() {
  html$.HeadingElement.__proto__.created.call(this);
  ;
}).prototype = html$.HeadingElement.prototype;
dart.addTypeTests(html$.HeadingElement);
dart.addTypeCaches(html$.HeadingElement);
dart.setLibraryUri(html$.HeadingElement, I[148]);
dart.registerExtension("HTMLHeadingElement", html$.HeadingElement);
html$.History = class History extends _interceptors.Interceptor {
  static get supportsState() {
    return !!window.history.pushState;
  }
  get [$length]() {
    return this.length;
  }
  get [S$1.$scrollRestoration]() {
    return this.scrollRestoration;
  }
  set [S$1.$scrollRestoration](value) {
    this.scrollRestoration = value;
  }
  get [S$.$state]() {
    return html_common.convertNativeToDart_SerializedScriptValue(this[S$1._get_state]);
  }
  get [S$1._get_state]() {
    return this.state;
  }
  [S$1.$back](...args) {
    return this.back.apply(this, args);
  }
  [S$1.$forward](...args) {
    return this.forward.apply(this, args);
  }
  [S$1.$go](...args) {
    return this.go.apply(this, args);
  }
  [S$1.$pushState](data, title, url) {
    if (title == null) dart.nullFailed(I[147], 17612, 57, "title");
    let data_1 = html_common.convertDartToNative_SerializedScriptValue(data);
    this[S$1._pushState_1](data_1, title, url);
    return;
  }
  [S$1._pushState_1](...args) {
    return this.pushState.apply(this, args);
  }
  [S$1.$replaceState](data, title, url) {
    if (title == null) dart.nullFailed(I[147], 17629, 60, "title");
    let data_1 = html_common.convertDartToNative_SerializedScriptValue(data);
    this[S$1._replaceState_1](data_1, title, url);
    return;
  }
  [S$1._replaceState_1](...args) {
    return this.replaceState.apply(this, args);
  }
};
dart.addTypeTests(html$.History);
dart.addTypeCaches(html$.History);
html$.History[dart.implements] = () => [html$.HistoryBase];
dart.setMethodSignature(html$.History, () => ({
  __proto__: dart.getMethods(html$.History.__proto__),
  [S$1.$back]: dart.fnType(dart.void, []),
  [S$1.$forward]: dart.fnType(dart.void, []),
  [S$1.$go]: dart.fnType(dart.void, [], [dart.nullable(core.int)]),
  [S$1.$pushState]: dart.fnType(dart.void, [dart.dynamic, core.String, dart.nullable(core.String)]),
  [S$1._pushState_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$1.$replaceState]: dart.fnType(dart.void, [dart.dynamic, core.String, dart.nullable(core.String)]),
  [S$1._replaceState_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic])
}));
dart.setGetterSignature(html$.History, () => ({
  __proto__: dart.getGetters(html$.History.__proto__),
  [$length]: core.int,
  [S$1.$scrollRestoration]: dart.nullable(core.String),
  [S$.$state]: dart.dynamic,
  [S$1._get_state]: dart.dynamic
}));
dart.setSetterSignature(html$.History, () => ({
  __proto__: dart.getSetters(html$.History.__proto__),
  [S$1.$scrollRestoration]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.History, I[148]);
dart.registerExtension("History", html$.History);
const Interceptor_ListMixin$36$1 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$1.new = function() {
  Interceptor_ListMixin$36$1.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$1.prototype;
dart.applyMixin(Interceptor_ListMixin$36$1, collection.ListMixin$(html$.Node));
const Interceptor_ImmutableListMixin$36$1 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$1 {};
(Interceptor_ImmutableListMixin$36$1.new = function() {
  Interceptor_ImmutableListMixin$36$1.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$1.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$1, html$.ImmutableListMixin$(html$.Node));
html$.HtmlCollection = class HtmlCollection extends Interceptor_ImmutableListMixin$36$1 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 17657, 24, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 17663, 25, "index");
    html$.Node.as(value);
    if (value == null) dart.nullFailed(I[147], 17663, 37, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 17669, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 17697, 22, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$1.$namedItem](...args) {
    return this.namedItem.apply(this, args);
  }
};
html$.HtmlCollection.prototype[dart.isList] = true;
dart.addTypeTests(html$.HtmlCollection);
dart.addTypeCaches(html$.HtmlCollection);
html$.HtmlCollection[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.Node), core.List$(html$.Node)];
dart.setMethodSignature(html$.HtmlCollection, () => ({
  __proto__: dart.getMethods(html$.HtmlCollection.__proto__),
  [$_get]: dart.fnType(html$.Node, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(html$.Node), [dart.nullable(core.int)]),
  [S$1.$namedItem]: dart.fnType(dart.nullable(core.Object), [core.String])
}));
dart.setGetterSignature(html$.HtmlCollection, () => ({
  __proto__: dart.getGetters(html$.HtmlCollection.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.HtmlCollection, () => ({
  __proto__: dart.getSetters(html$.HtmlCollection.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.HtmlCollection, I[148]);
dart.registerExtension("HTMLCollection", html$.HtmlCollection);
html$.HtmlDocument = class HtmlDocument extends html$.Document {
  get [S$1.$body]() {
    return this.body;
  }
  set [S$1.$body](value) {
    this.body = value;
  }
  [S$1.$caretRangeFromPoint](x, y) {
    return this[S$1._caretRangeFromPoint](x, y);
  }
  [S$1.$elementFromPoint](x, y) {
    if (x == null) dart.nullFailed(I[147], 17726, 33, "x");
    if (y == null) dart.nullFailed(I[147], 17726, 40, "y");
    return this[S$1._elementFromPoint](x, y);
  }
  get [S.$head]() {
    return this[S$0._head$1];
  }
  get [S$1.$lastModified]() {
    return this[S$1._lastModified];
  }
  get [S$1.$preferredStylesheetSet]() {
    return this[S$1._preferredStylesheetSet];
  }
  get [S$1.$referrer]() {
    return this[S$1._referrer];
  }
  get [S$1.$selectedStylesheetSet]() {
    return this[S$1._selectedStylesheetSet];
  }
  set [S$1.$selectedStylesheetSet](value) {
    this[S$1._selectedStylesheetSet] = value;
  }
  get [S$1.$styleSheets]() {
    return this[S$1._styleSheets];
  }
  get [S.$title]() {
    return this[S$1._title];
  }
  set [S.$title](value) {
    if (value == null) dart.nullFailed(I[147], 17747, 20, "value");
    this[S$1._title] = value;
  }
  [S$1.$exitFullscreen]() {
    this[S$1._webkitExitFullscreen]();
  }
  [S$1.$registerElement2](tag, options = null) {
    if (tag == null) dart.nullFailed(I[147], 17810, 36, "tag");
    return html$._registerCustomElement(window, this, tag, options);
  }
  [S$1.$register](tag, customElementClass, opts) {
    if (tag == null) dart.nullFailed(I[147], 17816, 24, "tag");
    if (customElementClass == null) dart.nullFailed(I[147], 17816, 34, "customElementClass");
    let extendsTag = opts && 'extendsTag' in opts ? opts.extendsTag : null;
    return this[S$1.$registerElement](tag, customElementClass, {extendsTag: extendsTag});
  }
  static _determineVisibilityChangeEventType(e) {
    if (e == null) dart.nullFailed(I[147], 17833, 65, "e");
    if (typeof e.hidden !== "undefined") {
      return "visibilitychange";
    } else if (typeof e.mozHidden !== "undefined") {
      return "mozvisibilitychange";
    } else if (typeof e.msHidden !== "undefined") {
      return "msvisibilitychange";
    } else if (typeof e.webkitHidden !== "undefined") {
      return "webkitvisibilitychange";
    }
    return "visibilitychange";
  }
  get [S$1.$onVisibilityChange]() {
    return html$.HtmlDocument.visibilityChangeEvent.forTarget(this);
  }
  [S$1.$createElementUpgrader](type, opts) {
    if (type == null) dart.nullFailed(I[147], 17860, 46, "type");
    let extendsTag = opts && 'extendsTag' in opts ? opts.extendsTag : null;
    return new html$._JSElementUpgrader.new(this, type, extendsTag);
  }
};
dart.addTypeTests(html$.HtmlDocument);
dart.addTypeCaches(html$.HtmlDocument);
dart.setMethodSignature(html$.HtmlDocument, () => ({
  __proto__: dart.getMethods(html$.HtmlDocument.__proto__),
  [S$1.$caretRangeFromPoint]: dart.fnType(html$.Range, [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$1.$elementFromPoint]: dart.fnType(dart.nullable(html$.Element), [core.int, core.int]),
  [S$1.$register]: dart.fnType(dart.void, [core.String, core.Type], {extendsTag: dart.nullable(core.String)}, {}),
  [S$1.$createElementUpgrader]: dart.fnType(html$.ElementUpgrader, [core.Type], {extendsTag: dart.nullable(core.String)}, {})
}));
dart.setGetterSignature(html$.HtmlDocument, () => ({
  __proto__: dart.getGetters(html$.HtmlDocument.__proto__),
  [S$1.$body]: dart.nullable(html$.BodyElement),
  [S.$head]: dart.nullable(html$.HeadElement),
  [S$1.$lastModified]: dart.nullable(core.String),
  [S$1.$preferredStylesheetSet]: dart.nullable(core.String),
  [S$1.$referrer]: core.String,
  [S$1.$selectedStylesheetSet]: dart.nullable(core.String),
  [S$1.$styleSheets]: dart.nullable(core.List$(html$.StyleSheet)),
  [S.$title]: core.String,
  [S$1.$onVisibilityChange]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.HtmlDocument, () => ({
  __proto__: dart.getSetters(html$.HtmlDocument.__proto__),
  [S$1.$body]: dart.nullable(html$.BodyElement),
  [S$1.$selectedStylesheetSet]: dart.nullable(core.String),
  [S.$title]: core.String
}));
dart.setLibraryUri(html$.HtmlDocument, I[148]);
dart.defineLazy(html$.HtmlDocument, {
  /*html$.HtmlDocument.visibilityChangeEvent*/get visibilityChangeEvent() {
    return C[345] || CT.C345;
  }
}, false);
dart.registerExtension("HTMLDocument", html$.HtmlDocument);
html$.HtmlFormControlsCollection = class HtmlFormControlsCollection extends html$.HtmlCollection {
  [S$1.$namedItem](...args) {
    return this.namedItem.apply(this, args);
  }
};
dart.addTypeTests(html$.HtmlFormControlsCollection);
dart.addTypeCaches(html$.HtmlFormControlsCollection);
dart.setLibraryUri(html$.HtmlFormControlsCollection, I[148]);
dart.registerExtension("HTMLFormControlsCollection", html$.HtmlFormControlsCollection);
html$.HtmlHtmlElement = class HtmlHtmlElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("html");
  }
};
(html$.HtmlHtmlElement.created = function() {
  html$.HtmlHtmlElement.__proto__.created.call(this);
  ;
}).prototype = html$.HtmlHtmlElement.prototype;
dart.addTypeTests(html$.HtmlHtmlElement);
dart.addTypeCaches(html$.HtmlHtmlElement);
dart.setLibraryUri(html$.HtmlHtmlElement, I[148]);
dart.registerExtension("HTMLHtmlElement", html$.HtmlHtmlElement);
html$.HtmlHyperlinkElementUtils = class HtmlHyperlinkElementUtils extends _interceptors.Interceptor {
  get [S$.$hash]() {
    return this.hash;
  }
  set [S$.$hash](value) {
    this.hash = value;
  }
  get [S$.$host]() {
    return this.host;
  }
  set [S$.$host](value) {
    this.host = value;
  }
  get [S$.$hostname]() {
    return this.hostname;
  }
  set [S$.$hostname](value) {
    this.hostname = value;
  }
  get [S$.$href]() {
    return this.href;
  }
  set [S$.$href](value) {
    this.href = value;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$.$password]() {
    return this.password;
  }
  set [S$.$password](value) {
    this.password = value;
  }
  get [S$.$pathname]() {
    return this.pathname;
  }
  set [S$.$pathname](value) {
    this.pathname = value;
  }
  get [S$.$port]() {
    return this.port;
  }
  set [S$.$port](value) {
    this.port = value;
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  set [S$.$protocol](value) {
    this.protocol = value;
  }
  get [S$.$search]() {
    return this.search;
  }
  set [S$.$search](value) {
    this.search = value;
  }
  get [S$.$username]() {
    return this.username;
  }
  set [S$.$username](value) {
    this.username = value;
  }
};
dart.addTypeTests(html$.HtmlHyperlinkElementUtils);
dart.addTypeCaches(html$.HtmlHyperlinkElementUtils);
dart.setGetterSignature(html$.HtmlHyperlinkElementUtils, () => ({
  __proto__: dart.getGetters(html$.HtmlHyperlinkElementUtils.__proto__),
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$origin]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.HtmlHyperlinkElementUtils, () => ({
  __proto__: dart.getSetters(html$.HtmlHyperlinkElementUtils.__proto__),
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.HtmlHyperlinkElementUtils, I[148]);
dart.registerExtension("HTMLHyperlinkElementUtils", html$.HtmlHyperlinkElementUtils);
html$.HtmlOptionsCollection = class HtmlOptionsCollection extends html$.HtmlCollection {
  [S$1._item](...args) {
    return this.item.apply(this, args);
  }
};
dart.addTypeTests(html$.HtmlOptionsCollection);
dart.addTypeCaches(html$.HtmlOptionsCollection);
dart.setMethodSignature(html$.HtmlOptionsCollection, () => ({
  __proto__: dart.getMethods(html$.HtmlOptionsCollection.__proto__),
  [S$1._item]: dart.fnType(dart.nullable(html$.Element), [core.int])
}));
dart.setLibraryUri(html$.HtmlOptionsCollection, I[148]);
dart.registerExtension("HTMLOptionsCollection", html$.HtmlOptionsCollection);
html$.HttpRequestEventTarget = class HttpRequestEventTarget extends html$.EventTarget {
  get [S.$onAbort]() {
    return html$.HttpRequestEventTarget.abortEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.HttpRequestEventTarget.errorEvent.forTarget(this);
  }
  get [S.$onLoad]() {
    return html$.HttpRequestEventTarget.loadEvent.forTarget(this);
  }
  get [S$1.$onLoadEnd]() {
    return html$.HttpRequestEventTarget.loadEndEvent.forTarget(this);
  }
  get [S$1.$onLoadStart]() {
    return html$.HttpRequestEventTarget.loadStartEvent.forTarget(this);
  }
  get [S$.$onProgress]() {
    return html$.HttpRequestEventTarget.progressEvent.forTarget(this);
  }
  get [S$1.$onTimeout]() {
    return html$.HttpRequestEventTarget.timeoutEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.HttpRequestEventTarget);
dart.addTypeCaches(html$.HttpRequestEventTarget);
dart.setGetterSignature(html$.HttpRequestEventTarget, () => ({
  __proto__: dart.getGetters(html$.HttpRequestEventTarget.__proto__),
  [S.$onAbort]: async.Stream$(html$.ProgressEvent),
  [S.$onError]: async.Stream$(html$.ProgressEvent),
  [S.$onLoad]: async.Stream$(html$.ProgressEvent),
  [S$1.$onLoadEnd]: async.Stream$(html$.ProgressEvent),
  [S$1.$onLoadStart]: async.Stream$(html$.ProgressEvent),
  [S$.$onProgress]: async.Stream$(html$.ProgressEvent),
  [S$1.$onTimeout]: async.Stream$(html$.ProgressEvent)
}));
dart.setLibraryUri(html$.HttpRequestEventTarget, I[148]);
dart.defineLazy(html$.HttpRequestEventTarget, {
  /*html$.HttpRequestEventTarget.abortEvent*/get abortEvent() {
    return C[333] || CT.C333;
  },
  /*html$.HttpRequestEventTarget.errorEvent*/get errorEvent() {
    return C[334] || CT.C334;
  },
  /*html$.HttpRequestEventTarget.loadEvent*/get loadEvent() {
    return C[335] || CT.C335;
  },
  /*html$.HttpRequestEventTarget.loadEndEvent*/get loadEndEvent() {
    return C[336] || CT.C336;
  },
  /*html$.HttpRequestEventTarget.loadStartEvent*/get loadStartEvent() {
    return C[337] || CT.C337;
  },
  /*html$.HttpRequestEventTarget.progressEvent*/get progressEvent() {
    return C[311] || CT.C311;
  },
  /*html$.HttpRequestEventTarget.timeoutEvent*/get timeoutEvent() {
    return C[347] || CT.C347;
  }
}, false);
dart.registerExtension("XMLHttpRequestEventTarget", html$.HttpRequestEventTarget);
html$.HttpRequest = class HttpRequest extends html$.HttpRequestEventTarget {
  static getString(url, opts) {
    if (url == null) dart.nullFailed(I[147], 18032, 42, "url");
    let withCredentials = opts && 'withCredentials' in opts ? opts.withCredentials : null;
    let onProgress = opts && 'onProgress' in opts ? opts.onProgress : null;
    return html$.HttpRequest.request(url, {withCredentials: withCredentials, onProgress: onProgress}).then(core.String, dart.fn(xhr => {
      if (xhr == null) dart.nullFailed(I[147], 18036, 28, "xhr");
      return dart.nullCheck(xhr.responseText);
    }, T$0.HttpRequestToString()));
  }
  static postFormData(url, data, opts) {
    if (url == null) dart.nullFailed(I[147], 18064, 50, "url");
    if (data == null) dart.nullFailed(I[147], 18064, 75, "data");
    let withCredentials = opts && 'withCredentials' in opts ? opts.withCredentials : null;
    let responseType = opts && 'responseType' in opts ? opts.responseType : null;
    let requestHeaders = opts && 'requestHeaders' in opts ? opts.requestHeaders : null;
    let onProgress = opts && 'onProgress' in opts ? opts.onProgress : null;
    let parts = [];
    data[$forEach](dart.fn((key, value) => {
      if (key == null) dart.nullFailed(I[147], 18070, 19, "key");
      if (value == null) dart.nullFailed(I[147], 18070, 24, "value");
      parts[$add](dart.str(core.Uri.encodeQueryComponent(key)) + "=" + dart.str(core.Uri.encodeQueryComponent(value)));
    }, T$0.StringAndStringTovoid()));
    let formData = parts[$join]("&");
    if (requestHeaders == null) {
      requestHeaders = new (T$.IdentityMapOfString$String()).new();
    }
    requestHeaders[$putIfAbsent]("Content-Type", dart.fn(() => "application/x-www-form-urlencoded; charset=UTF-8", T$.VoidToString()));
    return html$.HttpRequest.request(url, {method: "POST", withCredentials: withCredentials, responseType: responseType, requestHeaders: requestHeaders, sendData: formData, onProgress: onProgress});
  }
  static request(url, opts) {
    if (url == null) dart.nullFailed(I[147], 18145, 45, "url");
    let method = opts && 'method' in opts ? opts.method : null;
    let withCredentials = opts && 'withCredentials' in opts ? opts.withCredentials : null;
    let responseType = opts && 'responseType' in opts ? opts.responseType : null;
    let mimeType = opts && 'mimeType' in opts ? opts.mimeType : null;
    let requestHeaders = opts && 'requestHeaders' in opts ? opts.requestHeaders : null;
    let sendData = opts && 'sendData' in opts ? opts.sendData : null;
    let onProgress = opts && 'onProgress' in opts ? opts.onProgress : null;
    let completer = T$0.CompleterOfHttpRequest().new();
    let xhr = html$.HttpRequest.new();
    if (method == null) {
      method = "GET";
    }
    xhr.open(method, url, {async: true});
    if (withCredentials != null) {
      xhr.withCredentials = withCredentials;
    }
    if (responseType != null) {
      xhr.responseType = responseType;
    }
    if (mimeType != null) {
      xhr.overrideMimeType(mimeType);
    }
    if (requestHeaders != null) {
      requestHeaders[$forEach](dart.fn((header, value) => {
        if (header == null) dart.nullFailed(I[147], 18174, 31, "header");
        if (value == null) dart.nullFailed(I[147], 18174, 39, "value");
        xhr.setRequestHeader(header, value);
      }, T$0.StringAndStringTovoid()));
    }
    if (onProgress != null) {
      xhr[S$.$onProgress].listen(onProgress);
    }
    xhr[S.$onLoad].listen(dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 18183, 24, "e");
      let status = dart.nullCheck(xhr.status);
      let accepted = status >= 200 && status < 300;
      let fileUri = status === 0;
      let notModified = status === 304;
      let unknownRedirect = status > 307 && status < 400;
      if (accepted || fileUri || notModified || unknownRedirect) {
        completer.complete(xhr);
      } else {
        completer.completeError(e);
      }
    }, T$0.ProgressEventTovoid()));
    xhr[S.$onError].listen(dart.bind(completer, 'completeError'));
    if (sendData != null) {
      xhr.send(sendData);
    } else {
      xhr.send();
    }
    return completer.future;
  }
  static get supportsProgressEvent() {
    let xhr = html$.HttpRequest.new();
    return "onprogress" in xhr;
  }
  static get supportsCrossOrigin() {
    let xhr = html$.HttpRequest.new();
    return "withCredentials" in xhr;
  }
  static get supportsLoadEndEvent() {
    let xhr = html$.HttpRequest.new();
    return "onloadend" in xhr;
  }
  static get supportsOverrideMimeType() {
    let xhr = html$.HttpRequest.new();
    return "overrideMimeType" in xhr;
  }
  static requestCrossOrigin(url, opts) {
    if (url == null) dart.nullFailed(I[147], 18256, 51, "url");
    let method = opts && 'method' in opts ? opts.method : null;
    let sendData = opts && 'sendData' in opts ? opts.sendData : null;
    if (dart.test(html$.HttpRequest.supportsCrossOrigin)) {
      return html$.HttpRequest.request(url, {method: method, sendData: sendData}).then(core.String, dart.fn(xhr => {
        if (xhr == null) dart.nullFailed(I[147], 18259, 69, "xhr");
        return dart.nullCheck(xhr.responseText);
      }, T$0.HttpRequestToString()));
    }
    let completer = T$0.CompleterOfString().new();
    if (method == null) {
      method = "GET";
    }
    let xhr = new XDomainRequest();
    xhr.open(method, url);
    xhr.onload = _js_helper.convertDartClosureToJS(T$.dynamicToNull(), dart.fn(e => {
      let response = xhr.responseText;
      completer.complete(T$0.FutureOrNOfString().as(response));
    }, T$.dynamicToNull()), 1);
    xhr.onerror = _js_helper.convertDartClosureToJS(T$.dynamicToNull(), dart.fn(e => {
      completer.completeError(core.Object.as(e));
    }, T$.dynamicToNull()), 1);
    xhr.onprogress = {};
    xhr.ontimeout = {};
    xhr.timeout = Number.MAX_VALUE;
    if (sendData != null) {
      xhr.send(sendData);
    } else {
      xhr.send();
    }
    return completer.future;
  }
  get [S$1.$responseHeaders]() {
    let headers = new (T$.IdentityMapOfString$String()).new();
    let headersString = this.getAllResponseHeaders();
    if (headersString == null) {
      return headers;
    }
    let headersList = headersString[$split]("\r\n");
    for (let header of headersList) {
      if (header[$isEmpty]) {
        continue;
      }
      let splitIdx = header[$indexOf](": ");
      if (splitIdx === -1) {
        continue;
      }
      let key = header[$substring](0, splitIdx)[$toLowerCase]();
      let value = header[$substring](splitIdx + 2);
      if (dart.test(headers[$containsKey](key))) {
        headers[$_set](key, dart.str(headers[$_get](key)) + ", " + value);
      } else {
        headers[$_set](key, value);
      }
    }
    return headers;
  }
  [S.$open](...args) {
    return this.open.apply(this, args);
  }
  static new() {
    return html$.HttpRequest._create_1();
  }
  static _create_1() {
    return new XMLHttpRequest();
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$.$response]() {
    return html$._convertNativeToDart_XHR_Response(this[S$1._get_response]);
  }
  get [S$1._get_response]() {
    return this.response;
  }
  get [S$1.$responseText]() {
    return this.responseText;
  }
  get [S$1.$responseType]() {
    return this.responseType;
  }
  set [S$1.$responseType](value) {
    this.responseType = value;
  }
  get [S$1.$responseUrl]() {
    return this.responseURL;
  }
  get [S$1.$responseXml]() {
    return this.responseXML;
  }
  get [S$.$status]() {
    return this.status;
  }
  get [S$1.$statusText]() {
    return this.statusText;
  }
  get [S$1.$timeout]() {
    return this.timeout;
  }
  set [S$1.$timeout](value) {
    this.timeout = value;
  }
  get [S$1.$upload]() {
    return this.upload;
  }
  get [S$1.$withCredentials]() {
    return this.withCredentials;
  }
  set [S$1.$withCredentials](value) {
    this.withCredentials = value;
  }
  [S.$abort](...args) {
    return this.abort.apply(this, args);
  }
  [S$1.$getAllResponseHeaders](...args) {
    return this.getAllResponseHeaders.apply(this, args);
  }
  [S$1.$getResponseHeader](...args) {
    return this.getResponseHeader.apply(this, args);
  }
  [S$1.$overrideMimeType](...args) {
    return this.overrideMimeType.apply(this, args);
  }
  [S$1.$send](...args) {
    return this.send.apply(this, args);
  }
  [S$1.$setRequestHeader](...args) {
    return this.setRequestHeader.apply(this, args);
  }
  get [S$1.$onReadyStateChange]() {
    return html$.HttpRequest.readyStateChangeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.HttpRequest);
dart.addTypeCaches(html$.HttpRequest);
dart.setMethodSignature(html$.HttpRequest, () => ({
  __proto__: dart.getMethods(html$.HttpRequest.__proto__),
  [S.$open]: dart.fnType(dart.void, [core.String, core.String], {async: dart.nullable(core.bool), password: dart.nullable(core.String), user: dart.nullable(core.String)}, {}),
  [S.$abort]: dart.fnType(dart.void, []),
  [S$1.$getAllResponseHeaders]: dart.fnType(core.String, []),
  [S$1.$getResponseHeader]: dart.fnType(dart.nullable(core.String), [core.String]),
  [S$1.$overrideMimeType]: dart.fnType(dart.void, [core.String]),
  [S$1.$send]: dart.fnType(dart.void, [], [dart.dynamic]),
  [S$1.$setRequestHeader]: dart.fnType(dart.void, [core.String, core.String])
}));
dart.setGetterSignature(html$.HttpRequest, () => ({
  __proto__: dart.getGetters(html$.HttpRequest.__proto__),
  [S$1.$responseHeaders]: core.Map$(core.String, core.String),
  [S.$readyState]: core.int,
  [S$.$response]: dart.dynamic,
  [S$1._get_response]: dart.dynamic,
  [S$1.$responseText]: dart.nullable(core.String),
  [S$1.$responseType]: core.String,
  [S$1.$responseUrl]: dart.nullable(core.String),
  [S$1.$responseXml]: dart.nullable(html$.Document),
  [S$.$status]: dart.nullable(core.int),
  [S$1.$statusText]: dart.nullable(core.String),
  [S$1.$timeout]: dart.nullable(core.int),
  [S$1.$upload]: html$.HttpRequestUpload,
  [S$1.$withCredentials]: dart.nullable(core.bool),
  [S$1.$onReadyStateChange]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.HttpRequest, () => ({
  __proto__: dart.getSetters(html$.HttpRequest.__proto__),
  [S$1.$responseType]: core.String,
  [S$1.$timeout]: dart.nullable(core.int),
  [S$1.$withCredentials]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.HttpRequest, I[148]);
dart.defineLazy(html$.HttpRequest, {
  /*html$.HttpRequest.readyStateChangeEvent*/get readyStateChangeEvent() {
    return C[326] || CT.C326;
  },
  /*html$.HttpRequest.DONE*/get DONE() {
    return 4;
  },
  /*html$.HttpRequest.HEADERS_RECEIVED*/get HEADERS_RECEIVED() {
    return 2;
  },
  /*html$.HttpRequest.LOADING*/get LOADING() {
    return 3;
  },
  /*html$.HttpRequest.OPENED*/get OPENED() {
    return 1;
  },
  /*html$.HttpRequest.UNSENT*/get UNSENT() {
    return 0;
  }
}, false);
dart.registerExtension("XMLHttpRequest", html$.HttpRequest);
html$.HttpRequestUpload = class HttpRequestUpload extends html$.HttpRequestEventTarget {};
dart.addTypeTests(html$.HttpRequestUpload);
dart.addTypeCaches(html$.HttpRequestUpload);
dart.setLibraryUri(html$.HttpRequestUpload, I[148]);
dart.registerExtension("XMLHttpRequestUpload", html$.HttpRequestUpload);
html$.IFrameElement = class IFrameElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("iframe");
  }
  get [S$1.$allow]() {
    return this.allow;
  }
  set [S$1.$allow](value) {
    this.allow = value;
  }
  get [S$1.$allowFullscreen]() {
    return this.allowFullscreen;
  }
  set [S$1.$allowFullscreen](value) {
    this.allowFullscreen = value;
  }
  get [S$1.$allowPaymentRequest]() {
    return this.allowPaymentRequest;
  }
  set [S$1.$allowPaymentRequest](value) {
    this.allowPaymentRequest = value;
  }
  get [S$1.$contentWindow]() {
    return html$._convertNativeToDart_Window(this[S$1._get_contentWindow]);
  }
  get [S$1._get_contentWindow]() {
    return this.contentWindow;
  }
  get [S$1.$csp]() {
    return this.csp;
  }
  set [S$1.$csp](value) {
    this.csp = value;
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S$.$referrerPolicy]() {
    return this.referrerPolicy;
  }
  set [S$.$referrerPolicy](value) {
    this.referrerPolicy = value;
  }
  get [S$1.$sandbox]() {
    return this.sandbox;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S$1.$srcdoc]() {
    return this.srcdoc;
  }
  set [S$1.$srcdoc](value) {
    this.srcdoc = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
};
(html$.IFrameElement.created = function() {
  html$.IFrameElement.__proto__.created.call(this);
  ;
}).prototype = html$.IFrameElement.prototype;
dart.addTypeTests(html$.IFrameElement);
dart.addTypeCaches(html$.IFrameElement);
dart.setGetterSignature(html$.IFrameElement, () => ({
  __proto__: dart.getGetters(html$.IFrameElement.__proto__),
  [S$1.$allow]: dart.nullable(core.String),
  [S$1.$allowFullscreen]: dart.nullable(core.bool),
  [S$1.$allowPaymentRequest]: dart.nullable(core.bool),
  [S$1.$contentWindow]: dart.nullable(html$.WindowBase),
  [S$1._get_contentWindow]: dart.dynamic,
  [S$1.$csp]: dart.nullable(core.String),
  [$height]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$1.$sandbox]: dart.nullable(html$.DomTokenList),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$srcdoc]: dart.nullable(core.String),
  [$width]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.IFrameElement, () => ({
  __proto__: dart.getSetters(html$.IFrameElement.__proto__),
  [S$1.$allow]: dart.nullable(core.String),
  [S$1.$allowFullscreen]: dart.nullable(core.bool),
  [S$1.$allowPaymentRequest]: dart.nullable(core.bool),
  [S$1.$csp]: dart.nullable(core.String),
  [$height]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$srcdoc]: dart.nullable(core.String),
  [$width]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.IFrameElement, I[148]);
dart.registerExtension("HTMLIFrameElement", html$.IFrameElement);
html$.IdleDeadline = class IdleDeadline extends _interceptors.Interceptor {
  get [S$1.$didTimeout]() {
    return this.didTimeout;
  }
  [S$1.$timeRemaining](...args) {
    return this.timeRemaining.apply(this, args);
  }
};
dart.addTypeTests(html$.IdleDeadline);
dart.addTypeCaches(html$.IdleDeadline);
dart.setMethodSignature(html$.IdleDeadline, () => ({
  __proto__: dart.getMethods(html$.IdleDeadline.__proto__),
  [S$1.$timeRemaining]: dart.fnType(core.double, [])
}));
dart.setGetterSignature(html$.IdleDeadline, () => ({
  __proto__: dart.getGetters(html$.IdleDeadline.__proto__),
  [S$1.$didTimeout]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.IdleDeadline, I[148]);
dart.registerExtension("IdleDeadline", html$.IdleDeadline);
html$.ImageBitmap = class ImageBitmap extends _interceptors.Interceptor {
  get [$height]() {
    return this.height;
  }
  get [$width]() {
    return this.width;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
};
dart.addTypeTests(html$.ImageBitmap);
dart.addTypeCaches(html$.ImageBitmap);
dart.setMethodSignature(html$.ImageBitmap, () => ({
  __proto__: dart.getMethods(html$.ImageBitmap.__proto__),
  [S.$close]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.ImageBitmap, () => ({
  __proto__: dart.getGetters(html$.ImageBitmap.__proto__),
  [$height]: dart.nullable(core.int),
  [$width]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.ImageBitmap, I[148]);
dart.registerExtension("ImageBitmap", html$.ImageBitmap);
html$.ImageBitmapRenderingContext = class ImageBitmapRenderingContext extends _interceptors.Interceptor {
  get [S$.$canvas]() {
    return this.canvas;
  }
  [S$1.$transferFromImageBitmap](...args) {
    return this.transferFromImageBitmap.apply(this, args);
  }
};
dart.addTypeTests(html$.ImageBitmapRenderingContext);
dart.addTypeCaches(html$.ImageBitmapRenderingContext);
dart.setMethodSignature(html$.ImageBitmapRenderingContext, () => ({
  __proto__: dart.getMethods(html$.ImageBitmapRenderingContext.__proto__),
  [S$1.$transferFromImageBitmap]: dart.fnType(dart.void, [dart.nullable(html$.ImageBitmap)])
}));
dart.setGetterSignature(html$.ImageBitmapRenderingContext, () => ({
  __proto__: dart.getGetters(html$.ImageBitmapRenderingContext.__proto__),
  [S$.$canvas]: dart.nullable(html$.CanvasElement)
}));
dart.setLibraryUri(html$.ImageBitmapRenderingContext, I[148]);
dart.registerExtension("ImageBitmapRenderingContext", html$.ImageBitmapRenderingContext);
html$.ImageCapture = class ImageCapture$ extends _interceptors.Interceptor {
  static new(track) {
    if (track == null) dart.nullFailed(I[147], 18889, 41, "track");
    return html$.ImageCapture._create_1(track);
  }
  static _create_1(track) {
    return new ImageCapture(track);
  }
  get [S$1.$track]() {
    return this.track;
  }
  [S$1.$getPhotoCapabilities]() {
    return js_util.promiseToFuture(html$.PhotoCapabilities, this.getPhotoCapabilities());
  }
  [S$1.$getPhotoSettings]() {
    return html$.promiseToFutureAsMap(this.getPhotoSettings());
  }
  [S$1.$grabFrame]() {
    return js_util.promiseToFuture(html$.ImageBitmap, this.grabFrame());
  }
  [S$1.$setOptions](photoSettings) {
    if (photoSettings == null) dart.nullFailed(I[147], 18907, 25, "photoSettings");
    let photoSettings_dict = html_common.convertDartToNative_Dictionary(photoSettings);
    return js_util.promiseToFuture(dart.dynamic, this.setOptions(photoSettings_dict));
  }
  [S$1.$takePhoto](photoSettings = null) {
    let photoSettings_dict = null;
    if (photoSettings != null) {
      photoSettings_dict = html_common.convertDartToNative_Dictionary(photoSettings);
    }
    return js_util.promiseToFuture(html$.Blob, this.takePhoto(photoSettings_dict));
  }
};
dart.addTypeTests(html$.ImageCapture);
dart.addTypeCaches(html$.ImageCapture);
dart.setMethodSignature(html$.ImageCapture, () => ({
  __proto__: dart.getMethods(html$.ImageCapture.__proto__),
  [S$1.$getPhotoCapabilities]: dart.fnType(async.Future$(html$.PhotoCapabilities), []),
  [S$1.$getPhotoSettings]: dart.fnType(async.Future$(dart.nullable(core.Map$(core.String, dart.dynamic))), []),
  [S$1.$grabFrame]: dart.fnType(async.Future$(html$.ImageBitmap), []),
  [S$1.$setOptions]: dart.fnType(async.Future, [core.Map]),
  [S$1.$takePhoto]: dart.fnType(async.Future$(html$.Blob), [], [dart.nullable(core.Map)])
}));
dart.setGetterSignature(html$.ImageCapture, () => ({
  __proto__: dart.getGetters(html$.ImageCapture.__proto__),
  [S$1.$track]: dart.nullable(html$.MediaStreamTrack)
}));
dart.setLibraryUri(html$.ImageCapture, I[148]);
dart.registerExtension("ImageCapture", html$.ImageCapture);
html$.ImageData = class ImageData$ extends _interceptors.Interceptor {
  static new(data_OR_sw, sh_OR_sw, sh = null) {
    if (sh_OR_sw == null) dart.nullFailed(I[147], 18932, 37, "sh_OR_sw");
    if (core.int.is(sh_OR_sw) && core.int.is(data_OR_sw) && sh == null) {
      return html$.ImageData._create_1(data_OR_sw, sh_OR_sw);
    }
    if (core.int.is(sh_OR_sw) && typed_data.Uint8ClampedList.is(data_OR_sw) && sh == null) {
      return html$.ImageData._create_2(data_OR_sw, sh_OR_sw);
    }
    if (core.int.is(sh) && core.int.is(sh_OR_sw) && typed_data.Uint8ClampedList.is(data_OR_sw)) {
      return html$.ImageData._create_3(data_OR_sw, sh_OR_sw, sh);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1(data_OR_sw, sh_OR_sw) {
    return new ImageData(data_OR_sw, sh_OR_sw);
  }
  static _create_2(data_OR_sw, sh_OR_sw) {
    return new ImageData(data_OR_sw, sh_OR_sw);
  }
  static _create_3(data_OR_sw, sh_OR_sw, sh) {
    return new ImageData(data_OR_sw, sh_OR_sw, sh);
  }
  get [S$.$data]() {
    return this.data;
  }
  get [$height]() {
    return this.height;
  }
  get [$width]() {
    return this.width;
  }
};
dart.addTypeTests(html$.ImageData);
dart.addTypeCaches(html$.ImageData);
dart.setGetterSignature(html$.ImageData, () => ({
  __proto__: dart.getGetters(html$.ImageData.__proto__),
  [S$.$data]: typed_data.Uint8ClampedList,
  [$height]: core.int,
  [$width]: core.int
}));
dart.setLibraryUri(html$.ImageData, I[148]);
dart.registerExtension("ImageData", html$.ImageData);
html$.ImageElement = class ImageElement extends html$.HtmlElement {
  static new(opts) {
    let src = opts && 'src' in opts ? opts.src : null;
    let width = opts && 'width' in opts ? opts.width : null;
    let height = opts && 'height' in opts ? opts.height : null;
    let e = html$.document.createElement("img");
    if (src != null) e.src = src;
    if (width != null) e.width = width;
    if (height != null) e.height = height;
    return e;
  }
  get [S$.$alt]() {
    return this.alt;
  }
  set [S$.$alt](value) {
    this.alt = value;
  }
  get [S$1.$async]() {
    return this.async;
  }
  set [S$1.$async](value) {
    this.async = value;
  }
  get [S$1.$complete]() {
    return this.complete;
  }
  get [S$.$crossOrigin]() {
    return this.crossOrigin;
  }
  set [S$.$crossOrigin](value) {
    this.crossOrigin = value;
  }
  get [S$.$currentSrc]() {
    return this.currentSrc;
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [S$1.$isMap]() {
    return this.isMap;
  }
  set [S$1.$isMap](value) {
    this.isMap = value;
  }
  get [S$1.$naturalHeight]() {
    return this.naturalHeight;
  }
  get [S$1.$naturalWidth]() {
    return this.naturalWidth;
  }
  get [S$.$referrerPolicy]() {
    return this.referrerPolicy;
  }
  set [S$.$referrerPolicy](value) {
    this.referrerPolicy = value;
  }
  get [S$1.$sizes]() {
    return this.sizes;
  }
  set [S$1.$sizes](value) {
    this.sizes = value;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S$1.$srcset]() {
    return this.srcset;
  }
  set [S$1.$srcset](value) {
    this.srcset = value;
  }
  get [S$1.$useMap]() {
    return this.useMap;
  }
  set [S$1.$useMap](value) {
    this.useMap = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  [S$1.$decode]() {
    return js_util.promiseToFuture(dart.dynamic, this.decode());
  }
};
(html$.ImageElement.created = function() {
  html$.ImageElement.__proto__.created.call(this);
  ;
}).prototype = html$.ImageElement.prototype;
dart.addTypeTests(html$.ImageElement);
dart.addTypeCaches(html$.ImageElement);
html$.ImageElement[dart.implements] = () => [html$.CanvasImageSource];
dart.setMethodSignature(html$.ImageElement, () => ({
  __proto__: dart.getMethods(html$.ImageElement.__proto__),
  [S$1.$decode]: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(html$.ImageElement, () => ({
  __proto__: dart.getGetters(html$.ImageElement.__proto__),
  [S$.$alt]: dart.nullable(core.String),
  [S$1.$async]: dart.nullable(core.String),
  [S$1.$complete]: dart.nullable(core.bool),
  [S$.$crossOrigin]: dart.nullable(core.String),
  [S$.$currentSrc]: dart.nullable(core.String),
  [$height]: dart.nullable(core.int),
  [S$1.$isMap]: dart.nullable(core.bool),
  [S$1.$naturalHeight]: core.int,
  [S$1.$naturalWidth]: core.int,
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$1.$sizes]: dart.nullable(core.String),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$srcset]: dart.nullable(core.String),
  [S$1.$useMap]: dart.nullable(core.String),
  [$width]: dart.nullable(core.int)
}));
dart.setSetterSignature(html$.ImageElement, () => ({
  __proto__: dart.getSetters(html$.ImageElement.__proto__),
  [S$.$alt]: dart.nullable(core.String),
  [S$1.$async]: dart.nullable(core.String),
  [S$.$crossOrigin]: dart.nullable(core.String),
  [$height]: dart.nullable(core.int),
  [S$1.$isMap]: dart.nullable(core.bool),
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$1.$sizes]: dart.nullable(core.String),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$srcset]: dart.nullable(core.String),
  [S$1.$useMap]: dart.nullable(core.String),
  [$width]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.ImageElement, I[148]);
dart.registerExtension("HTMLImageElement", html$.ImageElement);
html$.InputDeviceCapabilities = class InputDeviceCapabilities$ extends _interceptors.Interceptor {
  static new(deviceInitDict = null) {
    if (deviceInitDict != null) {
      let deviceInitDict_1 = html_common.convertDartToNative_Dictionary(deviceInitDict);
      return html$.InputDeviceCapabilities._create_1(deviceInitDict_1);
    }
    return html$.InputDeviceCapabilities._create_2();
  }
  static _create_1(deviceInitDict) {
    return new InputDeviceCapabilities(deviceInitDict);
  }
  static _create_2() {
    return new InputDeviceCapabilities();
  }
  get [S$1.$firesTouchEvents]() {
    return this.firesTouchEvents;
  }
};
dart.addTypeTests(html$.InputDeviceCapabilities);
dart.addTypeCaches(html$.InputDeviceCapabilities);
dart.setGetterSignature(html$.InputDeviceCapabilities, () => ({
  __proto__: dart.getGetters(html$.InputDeviceCapabilities.__proto__),
  [S$1.$firesTouchEvents]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.InputDeviceCapabilities, I[148]);
dart.registerExtension("InputDeviceCapabilities", html$.InputDeviceCapabilities);
html$.InputElement = class InputElement extends html$.HtmlElement {
  static new(opts) {
    let type = opts && 'type' in opts ? opts.type : null;
    let e = html$.InputElement.as(html$.document[S.$createElement]("input"));
    if (type != null) {
      try {
        e.type = type;
      } catch (e$) {
        let _ = dart.getThrown(e$);
        if (core.Object.is(_)) {
        } else
          throw e$;
      }
    }
    return e;
  }
  get [S$1.$accept]() {
    return this.accept;
  }
  set [S$1.$accept](value) {
    this.accept = value;
  }
  get [S$.$alt]() {
    return this.alt;
  }
  set [S$.$alt](value) {
    this.alt = value;
  }
  get [S$1.$autocapitalize]() {
    return this.autocapitalize;
  }
  set [S$1.$autocapitalize](value) {
    this.autocapitalize = value;
  }
  get [S$.$autocomplete]() {
    return this.autocomplete;
  }
  set [S$.$autocomplete](value) {
    this.autocomplete = value;
  }
  get [S$.$autofocus]() {
    return this.autofocus;
  }
  set [S$.$autofocus](value) {
    this.autofocus = value;
  }
  get [S$1.$capture]() {
    return this.capture;
  }
  set [S$1.$capture](value) {
    this.capture = value;
  }
  get [S$.$checked]() {
    return this.checked;
  }
  set [S$.$checked](value) {
    this.checked = value;
  }
  get [S$1.$defaultChecked]() {
    return this.defaultChecked;
  }
  set [S$1.$defaultChecked](value) {
    this.defaultChecked = value;
  }
  get [S$1.$defaultValue]() {
    return this.defaultValue;
  }
  set [S$1.$defaultValue](value) {
    this.defaultValue = value;
  }
  get [S$1.$dirName]() {
    return this.dirName;
  }
  set [S$1.$dirName](value) {
    this.dirName = value;
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$0.$files]() {
    return this.files;
  }
  set [S$0.$files](value) {
    this.files = value;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [S$.$formAction]() {
    return this.formAction;
  }
  set [S$.$formAction](value) {
    this.formAction = value;
  }
  get [S$.$formEnctype]() {
    return this.formEnctype;
  }
  set [S$.$formEnctype](value) {
    this.formEnctype = value;
  }
  get [S$.$formMethod]() {
    return this.formMethod;
  }
  set [S$.$formMethod](value) {
    this.formMethod = value;
  }
  get [S$.$formNoValidate]() {
    return this.formNoValidate;
  }
  set [S$.$formNoValidate](value) {
    this.formNoValidate = value;
  }
  get [S$.$formTarget]() {
    return this.formTarget;
  }
  set [S$.$formTarget](value) {
    this.formTarget = value;
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [S$1.$incremental]() {
    return this.incremental;
  }
  set [S$1.$incremental](value) {
    this.incremental = value;
  }
  get [S$1.$indeterminate]() {
    return this.indeterminate;
  }
  set [S$1.$indeterminate](value) {
    this.indeterminate = value;
  }
  get [S$.$labels]() {
    return this.labels;
  }
  get [S$1.$list]() {
    return this.list;
  }
  get [S$1.$max]() {
    return this.max;
  }
  set [S$1.$max](value) {
    this.max = value;
  }
  get [S$1.$maxLength]() {
    return this.maxLength;
  }
  set [S$1.$maxLength](value) {
    this.maxLength = value;
  }
  get [S$1.$min]() {
    return this.min;
  }
  set [S$1.$min](value) {
    this.min = value;
  }
  get [S$1.$minLength]() {
    return this.minLength;
  }
  set [S$1.$minLength](value) {
    this.minLength = value;
  }
  get [S$1.$multiple]() {
    return this.multiple;
  }
  set [S$1.$multiple](value) {
    this.multiple = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S$1.$pattern]() {
    return this.pattern;
  }
  set [S$1.$pattern](value) {
    this.pattern = value;
  }
  get [S$.$placeholder]() {
    return this.placeholder;
  }
  set [S$.$placeholder](value) {
    this.placeholder = value;
  }
  get [S$.$readOnly]() {
    return this.readOnly;
  }
  set [S$.$readOnly](value) {
    this.readOnly = value;
  }
  get [S$.$required]() {
    return this.required;
  }
  set [S$.$required](value) {
    this.required = value;
  }
  get [S$1.$selectionDirection]() {
    return this.selectionDirection;
  }
  set [S$1.$selectionDirection](value) {
    this.selectionDirection = value;
  }
  get [S$1.$selectionEnd]() {
    return this.selectionEnd;
  }
  set [S$1.$selectionEnd](value) {
    this.selectionEnd = value;
  }
  get [S$1.$selectionStart]() {
    return this.selectionStart;
  }
  set [S$1.$selectionStart](value) {
    this.selectionStart = value;
  }
  get [S$.$size]() {
    return this.size;
  }
  set [S$.$size](value) {
    this.size = value;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S$1.$step]() {
    return this.step;
  }
  set [S$1.$step](value) {
    this.step = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  get [S$.$validationMessage]() {
    return this.validationMessage;
  }
  get [S$.$validity]() {
    return this.validity;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  get [S$1.$valueAsDate]() {
    return html_common.convertNativeToDart_DateTime(this[S$1._get_valueAsDate]);
  }
  get [S$1._get_valueAsDate]() {
    return this.valueAsDate;
  }
  set [S$1.$valueAsDate](value) {
    this[S$1._set_valueAsDate] = html_common.convertDartToNative_DateTime(dart.nullCheck(value));
  }
  set [S$1._set_valueAsDate](value) {
    this.valueAsDate = value;
  }
  get [S$1.$valueAsNumber]() {
    return this.valueAsNumber;
  }
  set [S$1.$valueAsNumber](value) {
    this.valueAsNumber = value;
  }
  get [$entries]() {
    return this.webkitEntries;
  }
  get [S$1.$directory]() {
    return this.webkitdirectory;
  }
  set [S$1.$directory](value) {
    this.webkitdirectory = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  get [S$.$willValidate]() {
    return this.willValidate;
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$.$select](...args) {
    return this.select.apply(this, args);
  }
  [S$.$setCustomValidity](...args) {
    return this.setCustomValidity.apply(this, args);
  }
  [S$1.$setRangeText](...args) {
    return this.setRangeText.apply(this, args);
  }
  [S$1.$setSelectionRange](...args) {
    return this.setSelectionRange.apply(this, args);
  }
  [S$1.$stepDown](...args) {
    return this.stepDown.apply(this, args);
  }
  [S$1.$stepUp](...args) {
    return this.stepUp.apply(this, args);
  }
};
(html$.InputElement.created = function() {
  html$.InputElement.__proto__.created.call(this);
  ;
}).prototype = html$.InputElement.prototype;
dart.addTypeTests(html$.InputElement);
dart.addTypeCaches(html$.InputElement);
html$.InputElement[dart.implements] = () => [html$.HiddenInputElement, html$.SearchInputElement, html$.TextInputElement, html$.UrlInputElement, html$.TelephoneInputElement, html$.EmailInputElement, html$.PasswordInputElement, html$.DateInputElement, html$.MonthInputElement, html$.WeekInputElement, html$.TimeInputElement, html$.LocalDateTimeInputElement, html$.NumberInputElement, html$.RangeInputElement, html$.CheckboxInputElement, html$.RadioButtonInputElement, html$.FileUploadInputElement, html$.SubmitButtonInputElement, html$.ImageButtonInputElement, html$.ResetButtonInputElement, html$.ButtonInputElement];
dart.setMethodSignature(html$.InputElement, () => ({
  __proto__: dart.getMethods(html$.InputElement.__proto__),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$.$select]: dart.fnType(dart.void, []),
  [S$.$setCustomValidity]: dart.fnType(dart.void, [core.String]),
  [S$1.$setRangeText]: dart.fnType(dart.void, [core.String], {end: dart.nullable(core.int), selectionMode: dart.nullable(core.String), start: dart.nullable(core.int)}, {}),
  [S$1.$setSelectionRange]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.String)]),
  [S$1.$stepDown]: dart.fnType(dart.void, [], [dart.nullable(core.int)]),
  [S$1.$stepUp]: dart.fnType(dart.void, [], [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.InputElement, () => ({
  __proto__: dart.getGetters(html$.InputElement.__proto__),
  [S$1.$accept]: dart.nullable(core.String),
  [S$.$alt]: dart.nullable(core.String),
  [S$1.$autocapitalize]: dart.nullable(core.String),
  [S$.$autocomplete]: core.String,
  [S$.$autofocus]: core.bool,
  [S$1.$capture]: dart.nullable(core.String),
  [S$.$checked]: dart.nullable(core.bool),
  [S$1.$defaultChecked]: dart.nullable(core.bool),
  [S$1.$defaultValue]: dart.nullable(core.String),
  [S$1.$dirName]: dart.nullable(core.String),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$0.$files]: dart.nullable(core.List$(html$.File)),
  [S$.$form]: dart.nullable(html$.FormElement),
  [S$.$formAction]: core.String,
  [S$.$formEnctype]: core.String,
  [S$.$formMethod]: core.String,
  [S$.$formNoValidate]: core.bool,
  [S$.$formTarget]: core.String,
  [$height]: dart.nullable(core.int),
  [S$1.$incremental]: dart.nullable(core.bool),
  [S$1.$indeterminate]: dart.nullable(core.bool),
  [S$.$labels]: dart.nullable(core.List$(html$.Node)),
  [S$1.$list]: dart.nullable(html$.HtmlElement),
  [S$1.$max]: dart.nullable(core.String),
  [S$1.$maxLength]: dart.nullable(core.int),
  [S$1.$min]: dart.nullable(core.String),
  [S$1.$minLength]: dart.nullable(core.int),
  [S$1.$multiple]: dart.nullable(core.bool),
  [$name]: dart.nullable(core.String),
  [S$1.$pattern]: core.String,
  [S$.$placeholder]: core.String,
  [S$.$readOnly]: dart.nullable(core.bool),
  [S$.$required]: core.bool,
  [S$1.$selectionDirection]: dart.nullable(core.String),
  [S$1.$selectionEnd]: dart.nullable(core.int),
  [S$1.$selectionStart]: dart.nullable(core.int),
  [S$.$size]: dart.nullable(core.int),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$step]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String),
  [S$.$validationMessage]: core.String,
  [S$.$validity]: html$.ValidityState,
  [S.$value]: dart.nullable(core.String),
  [S$1.$valueAsDate]: core.DateTime,
  [S$1._get_valueAsDate]: dart.dynamic,
  [S$1.$valueAsNumber]: dart.nullable(core.num),
  [$entries]: dart.nullable(core.List$(html$.Entry)),
  [S$1.$directory]: dart.nullable(core.bool),
  [$width]: dart.nullable(core.int),
  [S$.$willValidate]: core.bool
}));
dart.setSetterSignature(html$.InputElement, () => ({
  __proto__: dart.getSetters(html$.InputElement.__proto__),
  [S$1.$accept]: dart.nullable(core.String),
  [S$.$alt]: dart.nullable(core.String),
  [S$1.$autocapitalize]: dart.nullable(core.String),
  [S$.$autocomplete]: core.String,
  [S$.$autofocus]: core.bool,
  [S$1.$capture]: dart.nullable(core.String),
  [S$.$checked]: dart.nullable(core.bool),
  [S$1.$defaultChecked]: dart.nullable(core.bool),
  [S$1.$defaultValue]: dart.nullable(core.String),
  [S$1.$dirName]: dart.nullable(core.String),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$0.$files]: dart.nullable(core.List$(html$.File)),
  [S$.$formAction]: core.String,
  [S$.$formEnctype]: core.String,
  [S$.$formMethod]: core.String,
  [S$.$formNoValidate]: core.bool,
  [S$.$formTarget]: core.String,
  [$height]: dart.nullable(core.int),
  [S$1.$incremental]: dart.nullable(core.bool),
  [S$1.$indeterminate]: dart.nullable(core.bool),
  [S$1.$max]: dart.nullable(core.String),
  [S$1.$maxLength]: dart.nullable(core.int),
  [S$1.$min]: dart.nullable(core.String),
  [S$1.$minLength]: dart.nullable(core.int),
  [S$1.$multiple]: dart.nullable(core.bool),
  [$name]: dart.nullable(core.String),
  [S$1.$pattern]: core.String,
  [S$.$placeholder]: core.String,
  [S$.$readOnly]: dart.nullable(core.bool),
  [S$.$required]: core.bool,
  [S$1.$selectionDirection]: dart.nullable(core.String),
  [S$1.$selectionEnd]: dart.nullable(core.int),
  [S$1.$selectionStart]: dart.nullable(core.int),
  [S$.$size]: dart.nullable(core.int),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$step]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String),
  [S.$value]: dart.nullable(core.String),
  [S$1.$valueAsDate]: dart.nullable(core.DateTime),
  [S$1._set_valueAsDate]: dart.dynamic,
  [S$1.$valueAsNumber]: dart.nullable(core.num),
  [S$1.$directory]: dart.nullable(core.bool),
  [$width]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.InputElement, I[148]);
dart.registerExtension("HTMLInputElement", html$.InputElement);
html$.InputElementBase = class InputElementBase extends core.Object {};
(html$.InputElementBase.new = function() {
  ;
}).prototype = html$.InputElementBase.prototype;
dart.addTypeTests(html$.InputElementBase);
dart.addTypeCaches(html$.InputElementBase);
html$.InputElementBase[dart.implements] = () => [html$.Element];
dart.setLibraryUri(html$.InputElementBase, I[148]);
html$.HiddenInputElement = class HiddenInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "hidden"});
  }
};
(html$.HiddenInputElement[dart.mixinNew] = function() {
}).prototype = html$.HiddenInputElement.prototype;
dart.addTypeTests(html$.HiddenInputElement);
dart.addTypeCaches(html$.HiddenInputElement);
html$.HiddenInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.HiddenInputElement, I[148]);
html$.TextInputElementBase = class TextInputElementBase extends core.Object {};
(html$.TextInputElementBase.new = function() {
  ;
}).prototype = html$.TextInputElementBase.prototype;
dart.addTypeTests(html$.TextInputElementBase);
dart.addTypeCaches(html$.TextInputElementBase);
html$.TextInputElementBase[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.TextInputElementBase, I[148]);
html$.SearchInputElement = class SearchInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "search"});
  }
  static get supported() {
    return html$.InputElement.new({type: "search"}).type === "search";
  }
};
(html$.SearchInputElement[dart.mixinNew] = function() {
}).prototype = html$.SearchInputElement.prototype;
dart.addTypeTests(html$.SearchInputElement);
dart.addTypeCaches(html$.SearchInputElement);
html$.SearchInputElement[dart.implements] = () => [html$.TextInputElementBase];
dart.setLibraryUri(html$.SearchInputElement, I[148]);
html$.TextInputElement = class TextInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "text"});
  }
};
(html$.TextInputElement[dart.mixinNew] = function() {
}).prototype = html$.TextInputElement.prototype;
dart.addTypeTests(html$.TextInputElement);
dart.addTypeCaches(html$.TextInputElement);
html$.TextInputElement[dart.implements] = () => [html$.TextInputElementBase];
dart.setLibraryUri(html$.TextInputElement, I[148]);
html$.UrlInputElement = class UrlInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "url"});
  }
  static get supported() {
    return html$.InputElement.new({type: "url"}).type === "url";
  }
};
(html$.UrlInputElement[dart.mixinNew] = function() {
}).prototype = html$.UrlInputElement.prototype;
dart.addTypeTests(html$.UrlInputElement);
dart.addTypeCaches(html$.UrlInputElement);
html$.UrlInputElement[dart.implements] = () => [html$.TextInputElementBase];
dart.setLibraryUri(html$.UrlInputElement, I[148]);
html$.TelephoneInputElement = class TelephoneInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "tel"});
  }
  static get supported() {
    return html$.InputElement.new({type: "tel"}).type === "tel";
  }
};
(html$.TelephoneInputElement[dart.mixinNew] = function() {
}).prototype = html$.TelephoneInputElement.prototype;
dart.addTypeTests(html$.TelephoneInputElement);
dart.addTypeCaches(html$.TelephoneInputElement);
html$.TelephoneInputElement[dart.implements] = () => [html$.TextInputElementBase];
dart.setLibraryUri(html$.TelephoneInputElement, I[148]);
html$.EmailInputElement = class EmailInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "email"});
  }
  static get supported() {
    return html$.InputElement.new({type: "email"}).type === "email";
  }
};
(html$.EmailInputElement[dart.mixinNew] = function() {
}).prototype = html$.EmailInputElement.prototype;
dart.addTypeTests(html$.EmailInputElement);
dart.addTypeCaches(html$.EmailInputElement);
html$.EmailInputElement[dart.implements] = () => [html$.TextInputElementBase];
dart.setLibraryUri(html$.EmailInputElement, I[148]);
html$.PasswordInputElement = class PasswordInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "password"});
  }
};
(html$.PasswordInputElement[dart.mixinNew] = function() {
}).prototype = html$.PasswordInputElement.prototype;
dart.addTypeTests(html$.PasswordInputElement);
dart.addTypeCaches(html$.PasswordInputElement);
html$.PasswordInputElement[dart.implements] = () => [html$.TextInputElementBase];
dart.setLibraryUri(html$.PasswordInputElement, I[148]);
html$.RangeInputElementBase = class RangeInputElementBase extends core.Object {};
(html$.RangeInputElementBase.new = function() {
  ;
}).prototype = html$.RangeInputElementBase.prototype;
dart.addTypeTests(html$.RangeInputElementBase);
dart.addTypeCaches(html$.RangeInputElementBase);
html$.RangeInputElementBase[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.RangeInputElementBase, I[148]);
html$.DateInputElement = class DateInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "date"});
  }
  static get supported() {
    return html$.InputElement.new({type: "date"}).type === "date";
  }
};
(html$.DateInputElement[dart.mixinNew] = function() {
}).prototype = html$.DateInputElement.prototype;
dart.addTypeTests(html$.DateInputElement);
dart.addTypeCaches(html$.DateInputElement);
html$.DateInputElement[dart.implements] = () => [html$.RangeInputElementBase];
dart.setLibraryUri(html$.DateInputElement, I[148]);
html$.MonthInputElement = class MonthInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "month"});
  }
  static get supported() {
    return html$.InputElement.new({type: "month"}).type === "month";
  }
};
(html$.MonthInputElement[dart.mixinNew] = function() {
}).prototype = html$.MonthInputElement.prototype;
dart.addTypeTests(html$.MonthInputElement);
dart.addTypeCaches(html$.MonthInputElement);
html$.MonthInputElement[dart.implements] = () => [html$.RangeInputElementBase];
dart.setLibraryUri(html$.MonthInputElement, I[148]);
html$.WeekInputElement = class WeekInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "week"});
  }
  static get supported() {
    return html$.InputElement.new({type: "week"}).type === "week";
  }
};
(html$.WeekInputElement[dart.mixinNew] = function() {
}).prototype = html$.WeekInputElement.prototype;
dart.addTypeTests(html$.WeekInputElement);
dart.addTypeCaches(html$.WeekInputElement);
html$.WeekInputElement[dart.implements] = () => [html$.RangeInputElementBase];
dart.setLibraryUri(html$.WeekInputElement, I[148]);
html$.TimeInputElement = class TimeInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "time"});
  }
  static get supported() {
    return html$.InputElement.new({type: "time"}).type === "time";
  }
};
(html$.TimeInputElement[dart.mixinNew] = function() {
}).prototype = html$.TimeInputElement.prototype;
dart.addTypeTests(html$.TimeInputElement);
dart.addTypeCaches(html$.TimeInputElement);
html$.TimeInputElement[dart.implements] = () => [html$.RangeInputElementBase];
dart.setLibraryUri(html$.TimeInputElement, I[148]);
html$.LocalDateTimeInputElement = class LocalDateTimeInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "datetime-local"});
  }
  static get supported() {
    return html$.InputElement.new({type: "datetime-local"}).type === "datetime-local";
  }
};
(html$.LocalDateTimeInputElement[dart.mixinNew] = function() {
}).prototype = html$.LocalDateTimeInputElement.prototype;
dart.addTypeTests(html$.LocalDateTimeInputElement);
dart.addTypeCaches(html$.LocalDateTimeInputElement);
html$.LocalDateTimeInputElement[dart.implements] = () => [html$.RangeInputElementBase];
dart.setLibraryUri(html$.LocalDateTimeInputElement, I[148]);
html$.NumberInputElement = class NumberInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "number"});
  }
  static get supported() {
    return html$.InputElement.new({type: "number"}).type === "number";
  }
};
(html$.NumberInputElement[dart.mixinNew] = function() {
}).prototype = html$.NumberInputElement.prototype;
dart.addTypeTests(html$.NumberInputElement);
dart.addTypeCaches(html$.NumberInputElement);
html$.NumberInputElement[dart.implements] = () => [html$.RangeInputElementBase];
dart.setLibraryUri(html$.NumberInputElement, I[148]);
html$.RangeInputElement = class RangeInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "range"});
  }
  static get supported() {
    return html$.InputElement.new({type: "range"}).type === "range";
  }
};
(html$.RangeInputElement[dart.mixinNew] = function() {
}).prototype = html$.RangeInputElement.prototype;
dart.addTypeTests(html$.RangeInputElement);
dart.addTypeCaches(html$.RangeInputElement);
html$.RangeInputElement[dart.implements] = () => [html$.RangeInputElementBase];
dart.setLibraryUri(html$.RangeInputElement, I[148]);
html$.CheckboxInputElement = class CheckboxInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "checkbox"});
  }
};
(html$.CheckboxInputElement[dart.mixinNew] = function() {
}).prototype = html$.CheckboxInputElement.prototype;
dart.addTypeTests(html$.CheckboxInputElement);
dart.addTypeCaches(html$.CheckboxInputElement);
html$.CheckboxInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.CheckboxInputElement, I[148]);
html$.RadioButtonInputElement = class RadioButtonInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "radio"});
  }
};
(html$.RadioButtonInputElement[dart.mixinNew] = function() {
}).prototype = html$.RadioButtonInputElement.prototype;
dart.addTypeTests(html$.RadioButtonInputElement);
dart.addTypeCaches(html$.RadioButtonInputElement);
html$.RadioButtonInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.RadioButtonInputElement, I[148]);
html$.FileUploadInputElement = class FileUploadInputElement extends core.Object {
  get files() {
    return this[S$1.files];
  }
  set files(value) {
    this[S$1.files] = value;
  }
  static new() {
    return html$.InputElement.new({type: "file"});
  }
};
(html$.FileUploadInputElement[dart.mixinNew] = function() {
  this[S$1.files] = null;
}).prototype = html$.FileUploadInputElement.prototype;
dart.addTypeTests(html$.FileUploadInputElement);
dart.addTypeCaches(html$.FileUploadInputElement);
html$.FileUploadInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.FileUploadInputElement, I[148]);
dart.setFieldSignature(html$.FileUploadInputElement, () => ({
  __proto__: dart.getFields(html$.FileUploadInputElement.__proto__),
  files: dart.fieldType(dart.nullable(core.List$(html$.File)))
}));
dart.defineExtensionAccessors(html$.FileUploadInputElement, ['files']);
html$.SubmitButtonInputElement = class SubmitButtonInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "submit"});
  }
};
(html$.SubmitButtonInputElement[dart.mixinNew] = function() {
}).prototype = html$.SubmitButtonInputElement.prototype;
dart.addTypeTests(html$.SubmitButtonInputElement);
dart.addTypeCaches(html$.SubmitButtonInputElement);
html$.SubmitButtonInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.SubmitButtonInputElement, I[148]);
html$.ImageButtonInputElement = class ImageButtonInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "image"});
  }
};
(html$.ImageButtonInputElement[dart.mixinNew] = function() {
}).prototype = html$.ImageButtonInputElement.prototype;
dart.addTypeTests(html$.ImageButtonInputElement);
dart.addTypeCaches(html$.ImageButtonInputElement);
html$.ImageButtonInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.ImageButtonInputElement, I[148]);
html$.ResetButtonInputElement = class ResetButtonInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "reset"});
  }
};
(html$.ResetButtonInputElement[dart.mixinNew] = function() {
}).prototype = html$.ResetButtonInputElement.prototype;
dart.addTypeTests(html$.ResetButtonInputElement);
dart.addTypeCaches(html$.ResetButtonInputElement);
html$.ResetButtonInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.ResetButtonInputElement, I[148]);
html$.ButtonInputElement = class ButtonInputElement extends core.Object {
  static new() {
    return html$.InputElement.new({type: "button"});
  }
};
(html$.ButtonInputElement[dart.mixinNew] = function() {
}).prototype = html$.ButtonInputElement.prototype;
dart.addTypeTests(html$.ButtonInputElement);
dart.addTypeCaches(html$.ButtonInputElement);
html$.ButtonInputElement[dart.implements] = () => [html$.InputElementBase];
dart.setLibraryUri(html$.ButtonInputElement, I[148]);
html$.InstallEvent = class InstallEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 19877, 31, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.InstallEvent._create_1(type, eventInitDict_1);
    }
    return html$.InstallEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new InstallEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new InstallEvent(type);
  }
  [S$1.$registerForeignFetch](options) {
    if (options == null) dart.nullFailed(I[147], 19889, 33, "options");
    let options_1 = html_common.convertDartToNative_Dictionary(options);
    this[S$1._registerForeignFetch_1](options_1);
    return;
  }
  [S$1._registerForeignFetch_1](...args) {
    return this.registerForeignFetch.apply(this, args);
  }
};
dart.addTypeTests(html$.InstallEvent);
dart.addTypeCaches(html$.InstallEvent);
dart.setMethodSignature(html$.InstallEvent, () => ({
  __proto__: dart.getMethods(html$.InstallEvent.__proto__),
  [S$1.$registerForeignFetch]: dart.fnType(dart.void, [core.Map]),
  [S$1._registerForeignFetch_1]: dart.fnType(dart.void, [dart.dynamic])
}));
dart.setLibraryUri(html$.InstallEvent, I[148]);
dart.registerExtension("InstallEvent", html$.InstallEvent);
html$.IntersectionObserver = class IntersectionObserver$ extends _interceptors.Interceptor {
  static new(callback, options = null) {
    if (callback == null) dart.nullFailed(I[147], 19909, 61, "callback");
    if (options != null) {
      let callback_1 = _js_helper.convertDartClosureToJS(T$0.ListAndIntersectionObserverTovoid(), callback, 2);
      let options_2 = html_common.convertDartToNative_Dictionary(options);
      return html$.IntersectionObserver._create_1(callback_1, options_2);
    }
    let callback_1 = _js_helper.convertDartClosureToJS(T$0.ListAndIntersectionObserverTovoid(), callback, 2);
    return html$.IntersectionObserver._create_2(callback_1);
  }
  static _create_1(callback, options) {
    return new IntersectionObserver(callback, options);
  }
  static _create_2(callback) {
    return new IntersectionObserver(callback);
  }
  get [S$1.$root]() {
    return this.root;
  }
  get [S$1.$rootMargin]() {
    return this.rootMargin;
  }
  get [S$1.$thresholds]() {
    return this.thresholds;
  }
  [S$1.$disconnect](...args) {
    return this.disconnect.apply(this, args);
  }
  [S.$observe](...args) {
    return this.observe.apply(this, args);
  }
  [S$1.$takeRecords](...args) {
    return this.takeRecords.apply(this, args);
  }
  [S.$unobserve](...args) {
    return this.unobserve.apply(this, args);
  }
};
dart.addTypeTests(html$.IntersectionObserver);
dart.addTypeCaches(html$.IntersectionObserver);
dart.setMethodSignature(html$.IntersectionObserver, () => ({
  __proto__: dart.getMethods(html$.IntersectionObserver.__proto__),
  [S$1.$disconnect]: dart.fnType(dart.void, []),
  [S.$observe]: dart.fnType(dart.void, [html$.Element]),
  [S$1.$takeRecords]: dart.fnType(core.List$(html$.IntersectionObserverEntry), []),
  [S.$unobserve]: dart.fnType(dart.void, [html$.Element])
}));
dart.setGetterSignature(html$.IntersectionObserver, () => ({
  __proto__: dart.getGetters(html$.IntersectionObserver.__proto__),
  [S$1.$root]: dart.nullable(html$.Element),
  [S$1.$rootMargin]: dart.nullable(core.String),
  [S$1.$thresholds]: dart.nullable(core.List$(core.num))
}));
dart.setLibraryUri(html$.IntersectionObserver, I[148]);
dart.registerExtension("IntersectionObserver", html$.IntersectionObserver);
html$.IntersectionObserverEntry = class IntersectionObserverEntry extends _interceptors.Interceptor {
  get [S$1.$boundingClientRect]() {
    return this.boundingClientRect;
  }
  get [S$1.$intersectionRatio]() {
    return this.intersectionRatio;
  }
  get [S$1.$intersectionRect]() {
    return this.intersectionRect;
  }
  get [S$1.$isIntersecting]() {
    return this.isIntersecting;
  }
  get [S$1.$rootBounds]() {
    return this.rootBounds;
  }
  get [S.$target]() {
    return this.target;
  }
  get [S$.$time]() {
    return this.time;
  }
};
dart.addTypeTests(html$.IntersectionObserverEntry);
dart.addTypeCaches(html$.IntersectionObserverEntry);
dart.setGetterSignature(html$.IntersectionObserverEntry, () => ({
  __proto__: dart.getGetters(html$.IntersectionObserverEntry.__proto__),
  [S$1.$boundingClientRect]: dart.nullable(html$.DomRectReadOnly),
  [S$1.$intersectionRatio]: dart.nullable(core.num),
  [S$1.$intersectionRect]: dart.nullable(html$.DomRectReadOnly),
  [S$1.$isIntersecting]: dart.nullable(core.bool),
  [S$1.$rootBounds]: dart.nullable(html$.DomRectReadOnly),
  [S.$target]: dart.nullable(html$.Element),
  [S$.$time]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.IntersectionObserverEntry, I[148]);
dart.registerExtension("IntersectionObserverEntry", html$.IntersectionObserverEntry);
html$.InterventionReport = class InterventionReport extends html$.ReportBody {
  get [S$0.$lineNumber]() {
    return this.lineNumber;
  }
  get [$message]() {
    return this.message;
  }
  get [S$0.$sourceFile]() {
    return this.sourceFile;
  }
};
dart.addTypeTests(html$.InterventionReport);
dart.addTypeCaches(html$.InterventionReport);
dart.setGetterSignature(html$.InterventionReport, () => ({
  __proto__: dart.getGetters(html$.InterventionReport.__proto__),
  [S$0.$lineNumber]: dart.nullable(core.int),
  [$message]: dart.nullable(core.String),
  [S$0.$sourceFile]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.InterventionReport, I[148]);
dart.registerExtension("InterventionReport", html$.InterventionReport);
html$.KeyboardEvent = class KeyboardEvent$ extends html$.UIEvent {
  static new(type, opts) {
    let t238;
    if (type == null) dart.nullFailed(I[147], 20016, 32, "type");
    let view = opts && 'view' in opts ? opts.view : null;
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 20018, 12, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 20019, 12, "cancelable");
    let location = opts && 'location' in opts ? opts.location : null;
    let keyLocation = opts && 'keyLocation' in opts ? opts.keyLocation : null;
    let ctrlKey = opts && 'ctrlKey' in opts ? opts.ctrlKey : false;
    if (ctrlKey == null) dart.nullFailed(I[147], 20022, 12, "ctrlKey");
    let altKey = opts && 'altKey' in opts ? opts.altKey : false;
    if (altKey == null) dart.nullFailed(I[147], 20023, 12, "altKey");
    let shiftKey = opts && 'shiftKey' in opts ? opts.shiftKey : false;
    if (shiftKey == null) dart.nullFailed(I[147], 20024, 12, "shiftKey");
    let metaKey = opts && 'metaKey' in opts ? opts.metaKey : false;
    if (metaKey == null) dart.nullFailed(I[147], 20025, 12, "metaKey");
    if (view == null) {
      view = html$.window;
    }
    location == null ? location = (t238 = keyLocation, t238 == null ? 1 : t238) : null;
    let e = html$.KeyboardEvent.as(html$.document[S._createEvent]("KeyboardEvent"));
    e[S$1._initKeyboardEvent](type, canBubble, cancelable, view, "", location, ctrlKey, altKey, shiftKey, metaKey);
    return e;
  }
  [S$1._initKeyboardEvent](type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey) {
    if (type == null) dart.nullFailed(I[147], 20037, 14, "type");
    if (canBubble == null) dart.nullFailed(I[147], 20038, 12, "canBubble");
    if (cancelable == null) dart.nullFailed(I[147], 20039, 12, "cancelable");
    if (keyIdentifier == null) dart.nullFailed(I[147], 20041, 14, "keyIdentifier");
    if (ctrlKey == null) dart.nullFailed(I[147], 20043, 12, "ctrlKey");
    if (altKey == null) dart.nullFailed(I[147], 20044, 12, "altKey");
    if (shiftKey == null) dart.nullFailed(I[147], 20045, 12, "shiftKey");
    if (metaKey == null) dart.nullFailed(I[147], 20046, 12, "metaKey");
    if (typeof this.initKeyEvent == "function") {
      this.initKeyEvent(type, canBubble, cancelable, view, ctrlKey, altKey, shiftKey, metaKey, 0, 0);
    } else {
      this.initKeyboardEvent(type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey);
    }
  }
  get [S$1.$keyCode]() {
    return this.keyCode;
  }
  get [S$1.$charCode]() {
    return this.charCode;
  }
  get [S$1.$which]() {
    return this[S$._which];
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 20079, 34, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.KeyboardEvent._create_1(type, eventInitDict_1);
    }
    return html$.KeyboardEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new KeyboardEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new KeyboardEvent(type);
  }
  get [S$1.$altKey]() {
    return this.altKey;
  }
  get [S$1._charCode]() {
    return this.charCode;
  }
  get [S$.$code]() {
    return this.code;
  }
  get [S$1.$ctrlKey]() {
    return this.ctrlKey;
  }
  get [S$1.$isComposing]() {
    return this.isComposing;
  }
  get [S.$key]() {
    return this.key;
  }
  get [S$1._keyCode]() {
    return this.keyCode;
  }
  get [S$0.$location]() {
    return this.location;
  }
  get [S$1.$metaKey]() {
    return this.metaKey;
  }
  get [S$1.$repeat]() {
    return this.repeat;
  }
  get [S$1.$shiftKey]() {
    return this.shiftKey;
  }
  [S$1.$getModifierState](...args) {
    return this.getModifierState.apply(this, args);
  }
};
dart.addTypeTests(html$.KeyboardEvent);
dart.addTypeCaches(html$.KeyboardEvent);
dart.setMethodSignature(html$.KeyboardEvent, () => ({
  __proto__: dart.getMethods(html$.KeyboardEvent.__proto__),
  [S$1._initKeyboardEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, dart.nullable(html$.Window), core.String, dart.nullable(core.int), core.bool, core.bool, core.bool, core.bool]),
  [S$1.$getModifierState]: dart.fnType(core.bool, [core.String])
}));
dart.setGetterSignature(html$.KeyboardEvent, () => ({
  __proto__: dart.getGetters(html$.KeyboardEvent.__proto__),
  [S$1.$keyCode]: core.int,
  [S$1.$charCode]: core.int,
  [S$1.$which]: dart.nullable(core.int),
  [S$1.$altKey]: core.bool,
  [S$1._charCode]: core.int,
  [S$.$code]: dart.nullable(core.String),
  [S$1.$ctrlKey]: core.bool,
  [S$1.$isComposing]: dart.nullable(core.bool),
  [S.$key]: dart.nullable(core.String),
  [S$1._keyCode]: core.int,
  [S$0.$location]: core.int,
  [S$1.$metaKey]: core.bool,
  [S$1.$repeat]: dart.nullable(core.bool),
  [S$1.$shiftKey]: core.bool
}));
dart.setLibraryUri(html$.KeyboardEvent, I[148]);
dart.defineLazy(html$.KeyboardEvent, {
  /*html$.KeyboardEvent.DOM_KEY_LOCATION_LEFT*/get DOM_KEY_LOCATION_LEFT() {
    return 1;
  },
  /*html$.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD*/get DOM_KEY_LOCATION_NUMPAD() {
    return 3;
  },
  /*html$.KeyboardEvent.DOM_KEY_LOCATION_RIGHT*/get DOM_KEY_LOCATION_RIGHT() {
    return 2;
  },
  /*html$.KeyboardEvent.DOM_KEY_LOCATION_STANDARD*/get DOM_KEY_LOCATION_STANDARD() {
    return 0;
  }
}, false);
dart.registerExtension("KeyboardEvent", html$.KeyboardEvent);
html$.KeyframeEffectReadOnly = class KeyframeEffectReadOnly$ extends html$.AnimationEffectReadOnly {
  static new(target, effect, options = null) {
    if (options != null) {
      return html$.KeyframeEffectReadOnly._create_1(target, effect, options);
    }
    return html$.KeyframeEffectReadOnly._create_2(target, effect);
  }
  static _create_1(target, effect, options) {
    return new KeyframeEffectReadOnly(target, effect, options);
  }
  static _create_2(target, effect) {
    return new KeyframeEffectReadOnly(target, effect);
  }
};
dart.addTypeTests(html$.KeyframeEffectReadOnly);
dart.addTypeCaches(html$.KeyframeEffectReadOnly);
dart.setLibraryUri(html$.KeyframeEffectReadOnly, I[148]);
dart.registerExtension("KeyframeEffectReadOnly", html$.KeyframeEffectReadOnly);
html$.KeyframeEffect = class KeyframeEffect$ extends html$.KeyframeEffectReadOnly {
  static new(target, effect, options = null) {
    if (options != null) {
      return html$.KeyframeEffect._create_1(target, effect, options);
    }
    return html$.KeyframeEffect._create_2(target, effect);
  }
  static _create_1(target, effect, options) {
    return new KeyframeEffect(target, effect, options);
  }
  static _create_2(target, effect) {
    return new KeyframeEffect(target, effect);
  }
};
dart.addTypeTests(html$.KeyframeEffect);
dart.addTypeCaches(html$.KeyframeEffect);
dart.setLibraryUri(html$.KeyframeEffect, I[148]);
dart.registerExtension("KeyframeEffect", html$.KeyframeEffect);
html$.LIElement = class LIElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("li");
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
(html$.LIElement.created = function() {
  html$.LIElement.__proto__.created.call(this);
  ;
}).prototype = html$.LIElement.prototype;
dart.addTypeTests(html$.LIElement);
dart.addTypeCaches(html$.LIElement);
dart.setGetterSignature(html$.LIElement, () => ({
  __proto__: dart.getGetters(html$.LIElement.__proto__),
  [S.$value]: core.int
}));
dart.setSetterSignature(html$.LIElement, () => ({
  __proto__: dart.getSetters(html$.LIElement.__proto__),
  [S.$value]: core.int
}));
dart.setLibraryUri(html$.LIElement, I[148]);
dart.registerExtension("HTMLLIElement", html$.LIElement);
html$.LabelElement = class LabelElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("label");
  }
  get [S$1.$control]() {
    return this.control;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [S$1.$htmlFor]() {
    return this.htmlFor;
  }
  set [S$1.$htmlFor](value) {
    this.htmlFor = value;
  }
};
(html$.LabelElement.created = function() {
  html$.LabelElement.__proto__.created.call(this);
  ;
}).prototype = html$.LabelElement.prototype;
dart.addTypeTests(html$.LabelElement);
dart.addTypeCaches(html$.LabelElement);
dart.setGetterSignature(html$.LabelElement, () => ({
  __proto__: dart.getGetters(html$.LabelElement.__proto__),
  [S$1.$control]: dart.nullable(html$.HtmlElement),
  [S$.$form]: dart.nullable(html$.FormElement),
  [S$1.$htmlFor]: core.String
}));
dart.setSetterSignature(html$.LabelElement, () => ({
  __proto__: dart.getSetters(html$.LabelElement.__proto__),
  [S$1.$htmlFor]: core.String
}));
dart.setLibraryUri(html$.LabelElement, I[148]);
dart.registerExtension("HTMLLabelElement", html$.LabelElement);
html$.LegendElement = class LegendElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("legend");
  }
  get [S$.$form]() {
    return this.form;
  }
};
(html$.LegendElement.created = function() {
  html$.LegendElement.__proto__.created.call(this);
  ;
}).prototype = html$.LegendElement.prototype;
dart.addTypeTests(html$.LegendElement);
dart.addTypeCaches(html$.LegendElement);
dart.setGetterSignature(html$.LegendElement, () => ({
  __proto__: dart.getGetters(html$.LegendElement.__proto__),
  [S$.$form]: dart.nullable(html$.FormElement)
}));
dart.setLibraryUri(html$.LegendElement, I[148]);
dart.registerExtension("HTMLLegendElement", html$.LegendElement);
html$.LinearAccelerationSensor = class LinearAccelerationSensor$ extends html$.Accelerometer {
  static new(sensorOptions = null) {
    if (sensorOptions != null) {
      let sensorOptions_1 = html_common.convertDartToNative_Dictionary(sensorOptions);
      return html$.LinearAccelerationSensor._create_1(sensorOptions_1);
    }
    return html$.LinearAccelerationSensor._create_2();
  }
  static _create_1(sensorOptions) {
    return new LinearAccelerationSensor(sensorOptions);
  }
  static _create_2() {
    return new LinearAccelerationSensor();
  }
};
dart.addTypeTests(html$.LinearAccelerationSensor);
dart.addTypeCaches(html$.LinearAccelerationSensor);
dart.setLibraryUri(html$.LinearAccelerationSensor, I[148]);
dart.registerExtension("LinearAccelerationSensor", html$.LinearAccelerationSensor);
html$.LinkElement = class LinkElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("link");
  }
  get [S$1.$as]() {
    return this.as;
  }
  set [S$1.$as](value) {
    this.as = value;
  }
  get [S$.$crossOrigin]() {
    return this.crossOrigin;
  }
  set [S$.$crossOrigin](value) {
    this.crossOrigin = value;
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$href]() {
    return this.href;
  }
  set [S$.$href](value) {
    this.href = value;
  }
  get [S$.$hreflang]() {
    return this.hreflang;
  }
  set [S$.$hreflang](value) {
    this.hreflang = value;
  }
  get [S$1.$import]() {
    return this.import;
  }
  get [S$1.$integrity]() {
    return this.integrity;
  }
  set [S$1.$integrity](value) {
    this.integrity = value;
  }
  get [S$.$media]() {
    return this.media;
  }
  set [S$.$media](value) {
    this.media = value;
  }
  get [S$.$referrerPolicy]() {
    return this.referrerPolicy;
  }
  set [S$.$referrerPolicy](value) {
    this.referrerPolicy = value;
  }
  get [S$.$rel]() {
    return this.rel;
  }
  set [S$.$rel](value) {
    this.rel = value;
  }
  get [S$1.$relList]() {
    return this.relList;
  }
  get [S$1.$scope]() {
    return this.scope;
  }
  set [S$1.$scope](value) {
    this.scope = value;
  }
  get [S$1.$sheet]() {
    return this.sheet;
  }
  get [S$1.$sizes]() {
    return this.sizes;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  get [S$1.$supportsImport]() {
    return "import" in this;
  }
};
(html$.LinkElement.created = function() {
  html$.LinkElement.__proto__.created.call(this);
  ;
}).prototype = html$.LinkElement.prototype;
dart.addTypeTests(html$.LinkElement);
dart.addTypeCaches(html$.LinkElement);
dart.setGetterSignature(html$.LinkElement, () => ({
  __proto__: dart.getGetters(html$.LinkElement.__proto__),
  [S$1.$as]: dart.nullable(core.String),
  [S$.$crossOrigin]: dart.nullable(core.String),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$.$href]: core.String,
  [S$.$hreflang]: core.String,
  [S$1.$import]: dart.nullable(html$.Document),
  [S$1.$integrity]: dart.nullable(core.String),
  [S$.$media]: core.String,
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$rel]: core.String,
  [S$1.$relList]: dart.nullable(html$.DomTokenList),
  [S$1.$scope]: dart.nullable(core.String),
  [S$1.$sheet]: dart.nullable(html$.StyleSheet),
  [S$1.$sizes]: dart.nullable(html$.DomTokenList),
  [S.$type]: core.String,
  [S$1.$supportsImport]: core.bool
}));
dart.setSetterSignature(html$.LinkElement, () => ({
  __proto__: dart.getSetters(html$.LinkElement.__proto__),
  [S$1.$as]: dart.nullable(core.String),
  [S$.$crossOrigin]: dart.nullable(core.String),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$.$href]: core.String,
  [S$.$hreflang]: core.String,
  [S$1.$integrity]: dart.nullable(core.String),
  [S$.$media]: core.String,
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$rel]: core.String,
  [S$1.$scope]: dart.nullable(core.String),
  [S.$type]: core.String
}));
dart.setLibraryUri(html$.LinkElement, I[148]);
dart.registerExtension("HTMLLinkElement", html$.LinkElement);
html$.Location = class Location extends _interceptors.Interceptor {
  get [S$1.$ancestorOrigins]() {
    return this.ancestorOrigins;
  }
  get [S$.$hash]() {
    return this.hash;
  }
  set [S$.$hash](value) {
    this.hash = value;
  }
  get [S$.$host]() {
    return this.host;
  }
  set [S$.$host](value) {
    this.host = value;
  }
  get [S$.$hostname]() {
    return this.hostname;
  }
  set [S$.$hostname](value) {
    this.hostname = value;
  }
  get [S$.$href]() {
    return this.href;
  }
  set [S$.$href](value) {
    this.href = value;
  }
  get [S$.$pathname]() {
    return this.pathname;
  }
  set [S$.$pathname](value) {
    this.pathname = value;
  }
  get [S$.$port]() {
    return this.port;
  }
  set [S$.$port](value) {
    this.port = value;
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  set [S$.$protocol](value) {
    this.protocol = value;
  }
  get [S$.$search]() {
    return this.search;
  }
  set [S$.$search](value) {
    this.search = value;
  }
  get [S$1.$trustedHref]() {
    return this.trustedHref;
  }
  set [S$1.$trustedHref](value) {
    this.trustedHref = value;
  }
  [S$1.$assign](...args) {
    return this.assign.apply(this, args);
  }
  [S$1.$reload](...args) {
    return this.reload.apply(this, args);
  }
  [S$1.$replace](...args) {
    return this.replace.apply(this, args);
  }
  get [S$.$origin]() {
    if ("origin" in this) {
      return this.origin;
    }
    return dart.str(this.protocol) + "//" + dart.str(this.host);
  }
  [$toString]() {
    return String(this);
  }
};
dart.addTypeTests(html$.Location);
dart.addTypeCaches(html$.Location);
html$.Location[dart.implements] = () => [html$.LocationBase];
dart.setMethodSignature(html$.Location, () => ({
  __proto__: dart.getMethods(html$.Location.__proto__),
  [S$1.$assign]: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  [S$1.$reload]: dart.fnType(dart.void, []),
  [S$1.$replace]: dart.fnType(dart.void, [dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.Location, () => ({
  __proto__: dart.getGetters(html$.Location.__proto__),
  [S$1.$ancestorOrigins]: dart.nullable(core.List$(core.String)),
  [S$.$hash]: core.String,
  [S$.$host]: core.String,
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: core.String,
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: core.String,
  [S$.$protocol]: core.String,
  [S$.$search]: dart.nullable(core.String),
  [S$1.$trustedHref]: dart.nullable(html$.TrustedUrl),
  [S$.$origin]: core.String
}));
dart.setSetterSignature(html$.Location, () => ({
  __proto__: dart.getSetters(html$.Location.__proto__),
  [S$.$hash]: core.String,
  [S$.$host]: core.String,
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: core.String,
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: core.String,
  [S$.$protocol]: core.String,
  [S$.$search]: dart.nullable(core.String),
  [S$1.$trustedHref]: dart.nullable(html$.TrustedUrl)
}));
dart.setLibraryUri(html$.Location, I[148]);
dart.registerExtension("Location", html$.Location);
html$.Magnetometer = class Magnetometer$ extends html$.Sensor {
  static new(sensorOptions = null) {
    if (sensorOptions != null) {
      let sensorOptions_1 = html_common.convertDartToNative_Dictionary(sensorOptions);
      return html$.Magnetometer._create_1(sensorOptions_1);
    }
    return html$.Magnetometer._create_2();
  }
  static _create_1(sensorOptions) {
    return new Magnetometer(sensorOptions);
  }
  static _create_2() {
    return new Magnetometer();
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$z]() {
    return this.z;
  }
};
dart.addTypeTests(html$.Magnetometer);
dart.addTypeCaches(html$.Magnetometer);
dart.setGetterSignature(html$.Magnetometer, () => ({
  __proto__: dart.getGetters(html$.Magnetometer.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.Magnetometer, I[148]);
dart.registerExtension("Magnetometer", html$.Magnetometer);
html$.MapElement = class MapElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("map");
  }
  get [S$1.$areas]() {
    return this.areas;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
};
(html$.MapElement.created = function() {
  html$.MapElement.__proto__.created.call(this);
  ;
}).prototype = html$.MapElement.prototype;
dart.addTypeTests(html$.MapElement);
dart.addTypeCaches(html$.MapElement);
dart.setGetterSignature(html$.MapElement, () => ({
  __proto__: dart.getGetters(html$.MapElement.__proto__),
  [S$1.$areas]: core.List$(html$.Node),
  [$name]: core.String
}));
dart.setSetterSignature(html$.MapElement, () => ({
  __proto__: dart.getSetters(html$.MapElement.__proto__),
  [$name]: core.String
}));
dart.setLibraryUri(html$.MapElement, I[148]);
dart.registerExtension("HTMLMapElement", html$.MapElement);
html$.MediaCapabilities = class MediaCapabilities extends _interceptors.Interceptor {
  [S$1.$decodingInfo](configuration) {
    if (configuration == null) dart.nullFailed(I[147], 20501, 50, "configuration");
    let configuration_dict = html_common.convertDartToNative_Dictionary(configuration);
    return js_util.promiseToFuture(html$.MediaCapabilitiesInfo, this.decodingInfo(configuration_dict));
  }
  [S$1.$encodingInfo](configuration) {
    if (configuration == null) dart.nullFailed(I[147], 20510, 50, "configuration");
    let configuration_dict = html_common.convertDartToNative_Dictionary(configuration);
    return js_util.promiseToFuture(html$.MediaCapabilitiesInfo, this.encodingInfo(configuration_dict));
  }
};
dart.addTypeTests(html$.MediaCapabilities);
dart.addTypeCaches(html$.MediaCapabilities);
dart.setMethodSignature(html$.MediaCapabilities, () => ({
  __proto__: dart.getMethods(html$.MediaCapabilities.__proto__),
  [S$1.$decodingInfo]: dart.fnType(async.Future$(html$.MediaCapabilitiesInfo), [core.Map]),
  [S$1.$encodingInfo]: dart.fnType(async.Future$(html$.MediaCapabilitiesInfo), [core.Map])
}));
dart.setLibraryUri(html$.MediaCapabilities, I[148]);
dart.registerExtension("MediaCapabilities", html$.MediaCapabilities);
html$.MediaCapabilitiesInfo = class MediaCapabilitiesInfo extends _interceptors.Interceptor {
  get [S$1.$powerEfficient]() {
    return this.powerEfficient;
  }
  get [S$1.$smooth]() {
    return this.smooth;
  }
  get [S$1.$supported]() {
    return this.supported;
  }
};
dart.addTypeTests(html$.MediaCapabilitiesInfo);
dart.addTypeCaches(html$.MediaCapabilitiesInfo);
dart.setGetterSignature(html$.MediaCapabilitiesInfo, () => ({
  __proto__: dart.getGetters(html$.MediaCapabilitiesInfo.__proto__),
  [S$1.$powerEfficient]: dart.nullable(core.bool),
  [S$1.$smooth]: dart.nullable(core.bool),
  [S$1.$supported]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.MediaCapabilitiesInfo, I[148]);
dart.registerExtension("MediaCapabilitiesInfo", html$.MediaCapabilitiesInfo);
html$.MediaDeviceInfo = class MediaDeviceInfo extends _interceptors.Interceptor {
  get [S$1.$deviceId]() {
    return this.deviceId;
  }
  get [S$1.$groupId]() {
    return this.groupId;
  }
  get [S$.$kind]() {
    return this.kind;
  }
  get [S$.$label]() {
    return this.label;
  }
};
dart.addTypeTests(html$.MediaDeviceInfo);
dart.addTypeCaches(html$.MediaDeviceInfo);
dart.setGetterSignature(html$.MediaDeviceInfo, () => ({
  __proto__: dart.getGetters(html$.MediaDeviceInfo.__proto__),
  [S$1.$deviceId]: dart.nullable(core.String),
  [S$1.$groupId]: dart.nullable(core.String),
  [S$.$kind]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaDeviceInfo, I[148]);
dart.registerExtension("MediaDeviceInfo", html$.MediaDeviceInfo);
html$.MediaDevices = class MediaDevices extends html$.EventTarget {
  [S$1.$enumerateDevices]() {
    return js_util.promiseToFuture(core.List, this.enumerateDevices());
  }
  [S$1.$getSupportedConstraints]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$1._getSupportedConstraints_1]()));
  }
  [S$1._getSupportedConstraints_1](...args) {
    return this.getSupportedConstraints.apply(this, args);
  }
  [S$1.$getUserMedia](constraints = null) {
    let constraints_dict = null;
    if (constraints != null) {
      constraints_dict = html_common.convertDartToNative_Dictionary(constraints);
    }
    return js_util.promiseToFuture(html$.MediaStream, this.getUserMedia(constraints_dict));
  }
};
dart.addTypeTests(html$.MediaDevices);
dart.addTypeCaches(html$.MediaDevices);
dart.setMethodSignature(html$.MediaDevices, () => ({
  __proto__: dart.getMethods(html$.MediaDevices.__proto__),
  [S$1.$enumerateDevices]: dart.fnType(async.Future$(core.List), []),
  [S$1.$getSupportedConstraints]: dart.fnType(core.Map, []),
  [S$1._getSupportedConstraints_1]: dart.fnType(dart.dynamic, []),
  [S$1.$getUserMedia]: dart.fnType(async.Future$(html$.MediaStream), [], [dart.nullable(core.Map)])
}));
dart.setLibraryUri(html$.MediaDevices, I[148]);
dart.registerExtension("MediaDevices", html$.MediaDevices);
html$.MediaEncryptedEvent = class MediaEncryptedEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 20753, 38, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.MediaEncryptedEvent._create_1(type, eventInitDict_1);
    }
    return html$.MediaEncryptedEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MediaEncryptedEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MediaEncryptedEvent(type);
  }
  get [S$1.$initData]() {
    return this.initData;
  }
  get [S$1.$initDataType]() {
    return this.initDataType;
  }
};
dart.addTypeTests(html$.MediaEncryptedEvent);
dart.addTypeCaches(html$.MediaEncryptedEvent);
dart.setGetterSignature(html$.MediaEncryptedEvent, () => ({
  __proto__: dart.getGetters(html$.MediaEncryptedEvent.__proto__),
  [S$1.$initData]: dart.nullable(typed_data.ByteBuffer),
  [S$1.$initDataType]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaEncryptedEvent, I[148]);
dart.registerExtension("MediaEncryptedEvent", html$.MediaEncryptedEvent);
html$.MediaError = class MediaError extends _interceptors.Interceptor {
  get [S$.$code]() {
    return this.code;
  }
  get [$message]() {
    return this.message;
  }
};
dart.addTypeTests(html$.MediaError);
dart.addTypeCaches(html$.MediaError);
dart.setGetterSignature(html$.MediaError, () => ({
  __proto__: dart.getGetters(html$.MediaError.__proto__),
  [S$.$code]: core.int,
  [$message]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaError, I[148]);
dart.defineLazy(html$.MediaError, {
  /*html$.MediaError.MEDIA_ERR_ABORTED*/get MEDIA_ERR_ABORTED() {
    return 1;
  },
  /*html$.MediaError.MEDIA_ERR_DECODE*/get MEDIA_ERR_DECODE() {
    return 3;
  },
  /*html$.MediaError.MEDIA_ERR_NETWORK*/get MEDIA_ERR_NETWORK() {
    return 2;
  },
  /*html$.MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED*/get MEDIA_ERR_SRC_NOT_SUPPORTED() {
    return 4;
  }
}, false);
dart.registerExtension("MediaError", html$.MediaError);
html$.MediaKeyMessageEvent = class MediaKeyMessageEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 20807, 39, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 20807, 49, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.MediaKeyMessageEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new MediaKeyMessageEvent(type, eventInitDict);
  }
  get [$message]() {
    return this.message;
  }
  get [S$1.$messageType]() {
    return this.messageType;
  }
};
dart.addTypeTests(html$.MediaKeyMessageEvent);
dart.addTypeCaches(html$.MediaKeyMessageEvent);
dart.setGetterSignature(html$.MediaKeyMessageEvent, () => ({
  __proto__: dart.getGetters(html$.MediaKeyMessageEvent.__proto__),
  [$message]: dart.nullable(typed_data.ByteBuffer),
  [S$1.$messageType]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaKeyMessageEvent, I[148]);
dart.registerExtension("MediaKeyMessageEvent", html$.MediaKeyMessageEvent);
html$.MediaKeySession = class MediaKeySession extends html$.EventTarget {
  get [S$1.$closed]() {
    return js_util.promiseToFuture(dart.void, this.closed);
  }
  get [S$1.$expiration]() {
    return this.expiration;
  }
  get [S$1.$keyStatuses]() {
    return this.keyStatuses;
  }
  get [S$1.$sessionId]() {
    return this.sessionId;
  }
  [S.$close]() {
    return js_util.promiseToFuture(dart.dynamic, this.close());
  }
  [S$1.$generateRequest](initDataType, initData) {
    if (initDataType == null) dart.nullFailed(I[147], 20845, 33, "initDataType");
    return js_util.promiseToFuture(dart.dynamic, this.generateRequest(initDataType, initData));
  }
  [S$.$load](sessionId) {
    if (sessionId == null) dart.nullFailed(I[147], 20849, 22, "sessionId");
    return js_util.promiseToFuture(dart.dynamic, this.load(sessionId));
  }
  [$remove]() {
    return js_util.promiseToFuture(dart.dynamic, this.remove());
  }
  [S$1._update$1](...args) {
    return this.update.apply(this, args);
  }
  get [S$.$onMessage]() {
    return html$.MediaKeySession.messageEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.MediaKeySession);
dart.addTypeCaches(html$.MediaKeySession);
dart.setMethodSignature(html$.MediaKeySession, () => ({
  __proto__: dart.getMethods(html$.MediaKeySession.__proto__),
  [S.$close]: dart.fnType(async.Future, []),
  [S$1.$generateRequest]: dart.fnType(async.Future, [core.String, dart.dynamic]),
  [S$.$load]: dart.fnType(async.Future, [core.String]),
  [$remove]: dart.fnType(async.Future, []),
  [S$1._update$1]: dart.fnType(async.Future, [dart.dynamic])
}));
dart.setGetterSignature(html$.MediaKeySession, () => ({
  __proto__: dart.getGetters(html$.MediaKeySession.__proto__),
  [S$1.$closed]: async.Future$(dart.void),
  [S$1.$expiration]: dart.nullable(core.num),
  [S$1.$keyStatuses]: dart.nullable(html$.MediaKeyStatusMap),
  [S$1.$sessionId]: dart.nullable(core.String),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setLibraryUri(html$.MediaKeySession, I[148]);
dart.defineLazy(html$.MediaKeySession, {
  /*html$.MediaKeySession.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  }
}, false);
dart.registerExtension("MediaKeySession", html$.MediaKeySession);
html$.MediaKeyStatusMap = class MediaKeyStatusMap extends _interceptors.Interceptor {
  get [S$.$size]() {
    return this.size;
  }
  [S.$get](...args) {
    return this.get.apply(this, args);
  }
  [S$.$has](...args) {
    return this.has.apply(this, args);
  }
};
dart.addTypeTests(html$.MediaKeyStatusMap);
dart.addTypeCaches(html$.MediaKeyStatusMap);
dart.setMethodSignature(html$.MediaKeyStatusMap, () => ({
  __proto__: dart.getMethods(html$.MediaKeyStatusMap.__proto__),
  [S.$get]: dart.fnType(dart.nullable(core.Object), [dart.dynamic]),
  [S$.$has]: dart.fnType(core.bool, [dart.dynamic])
}));
dart.setGetterSignature(html$.MediaKeyStatusMap, () => ({
  __proto__: dart.getGetters(html$.MediaKeyStatusMap.__proto__),
  [S$.$size]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.MediaKeyStatusMap, I[148]);
dart.registerExtension("MediaKeyStatusMap", html$.MediaKeyStatusMap);
html$.MediaKeySystemAccess = class MediaKeySystemAccess extends _interceptors.Interceptor {
  get [S$1.$keySystem]() {
    return this.keySystem;
  }
  [S$1.$createMediaKeys]() {
    return js_util.promiseToFuture(dart.dynamic, this.createMediaKeys());
  }
  [S$1.$getConfiguration]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$1._getConfiguration_1]()));
  }
  [S$1._getConfiguration_1](...args) {
    return this.getConfiguration.apply(this, args);
  }
};
dart.addTypeTests(html$.MediaKeySystemAccess);
dart.addTypeCaches(html$.MediaKeySystemAccess);
dart.setMethodSignature(html$.MediaKeySystemAccess, () => ({
  __proto__: dart.getMethods(html$.MediaKeySystemAccess.__proto__),
  [S$1.$createMediaKeys]: dart.fnType(async.Future, []),
  [S$1.$getConfiguration]: dart.fnType(core.Map, []),
  [S$1._getConfiguration_1]: dart.fnType(dart.dynamic, [])
}));
dart.setGetterSignature(html$.MediaKeySystemAccess, () => ({
  __proto__: dart.getGetters(html$.MediaKeySystemAccess.__proto__),
  [S$1.$keySystem]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaKeySystemAccess, I[148]);
dart.registerExtension("MediaKeySystemAccess", html$.MediaKeySystemAccess);
html$.MediaKeys = class MediaKeys extends _interceptors.Interceptor {
  [S$1._createSession](...args) {
    return this.createSession.apply(this, args);
  }
  [S$1.$getStatusForPolicy](policy) {
    if (policy == null) dart.nullFailed(I[147], 20913, 45, "policy");
    return js_util.promiseToFuture(dart.dynamic, this.getStatusForPolicy(policy));
  }
  [S$1.$setServerCertificate](serverCertificate) {
    return js_util.promiseToFuture(dart.dynamic, this.setServerCertificate(serverCertificate));
  }
};
dart.addTypeTests(html$.MediaKeys);
dart.addTypeCaches(html$.MediaKeys);
dart.setMethodSignature(html$.MediaKeys, () => ({
  __proto__: dart.getMethods(html$.MediaKeys.__proto__),
  [S$1._createSession]: dart.fnType(html$.MediaKeySession, [], [dart.nullable(core.String)]),
  [S$1.$getStatusForPolicy]: dart.fnType(async.Future, [html$.MediaKeysPolicy]),
  [S$1.$setServerCertificate]: dart.fnType(async.Future, [dart.dynamic])
}));
dart.setLibraryUri(html$.MediaKeys, I[148]);
dart.registerExtension("MediaKeys", html$.MediaKeys);
html$.MediaKeysPolicy = class MediaKeysPolicy$ extends _interceptors.Interceptor {
  static new(init) {
    if (init == null) dart.nullFailed(I[147], 20931, 31, "init");
    let init_1 = html_common.convertDartToNative_Dictionary(init);
    return html$.MediaKeysPolicy._create_1(init_1);
  }
  static _create_1(init) {
    return new MediaKeysPolicy(init);
  }
  get [S$1.$minHdcpVersion]() {
    return this.minHdcpVersion;
  }
};
dart.addTypeTests(html$.MediaKeysPolicy);
dart.addTypeCaches(html$.MediaKeysPolicy);
dart.setGetterSignature(html$.MediaKeysPolicy, () => ({
  __proto__: dart.getGetters(html$.MediaKeysPolicy.__proto__),
  [S$1.$minHdcpVersion]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaKeysPolicy, I[148]);
dart.registerExtension("MediaKeysPolicy", html$.MediaKeysPolicy);
html$.MediaList = class MediaList extends _interceptors.Interceptor {
  get [$length]() {
    return this.length;
  }
  get [S$1.$mediaText]() {
    return this.mediaText;
  }
  set [S$1.$mediaText](value) {
    this.mediaText = value;
  }
  [S$1.$appendMedium](...args) {
    return this.appendMedium.apply(this, args);
  }
  [S$1.$deleteMedium](...args) {
    return this.deleteMedium.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
dart.addTypeTests(html$.MediaList);
dart.addTypeCaches(html$.MediaList);
dart.setMethodSignature(html$.MediaList, () => ({
  __proto__: dart.getMethods(html$.MediaList.__proto__),
  [S$1.$appendMedium]: dart.fnType(dart.void, [core.String]),
  [S$1.$deleteMedium]: dart.fnType(dart.void, [core.String]),
  [S$.$item]: dart.fnType(dart.nullable(core.String), [core.int])
}));
dart.setGetterSignature(html$.MediaList, () => ({
  __proto__: dart.getGetters(html$.MediaList.__proto__),
  [$length]: dart.nullable(core.int),
  [S$1.$mediaText]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.MediaList, () => ({
  __proto__: dart.getSetters(html$.MediaList.__proto__),
  [S$1.$mediaText]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaList, I[148]);
dart.registerExtension("MediaList", html$.MediaList);
html$.MediaMetadata = class MediaMetadata$ extends _interceptors.Interceptor {
  static new(metadata = null) {
    if (metadata != null) {
      let metadata_1 = html_common.convertDartToNative_Dictionary(metadata);
      return html$.MediaMetadata._create_1(metadata_1);
    }
    return html$.MediaMetadata._create_2();
  }
  static _create_1(metadata) {
    return new MediaMetadata(metadata);
  }
  static _create_2() {
    return new MediaMetadata();
  }
  get [S$1.$album]() {
    return this.album;
  }
  set [S$1.$album](value) {
    this.album = value;
  }
  get [S$1.$artist]() {
    return this.artist;
  }
  set [S$1.$artist](value) {
    this.artist = value;
  }
  get [S$1.$artwork]() {
    return this.artwork;
  }
  set [S$1.$artwork](value) {
    this.artwork = value;
  }
  get [S.$title]() {
    return this.title;
  }
  set [S.$title](value) {
    this.title = value;
  }
};
dart.addTypeTests(html$.MediaMetadata);
dart.addTypeCaches(html$.MediaMetadata);
dart.setGetterSignature(html$.MediaMetadata, () => ({
  __proto__: dart.getGetters(html$.MediaMetadata.__proto__),
  [S$1.$album]: dart.nullable(core.String),
  [S$1.$artist]: dart.nullable(core.String),
  [S$1.$artwork]: dart.nullable(core.List),
  [S.$title]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.MediaMetadata, () => ({
  __proto__: dart.getSetters(html$.MediaMetadata.__proto__),
  [S$1.$album]: dart.nullable(core.String),
  [S$1.$artist]: dart.nullable(core.String),
  [S$1.$artwork]: dart.nullable(core.List),
  [S.$title]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaMetadata, I[148]);
dart.registerExtension("MediaMetadata", html$.MediaMetadata);
html$.MediaQueryList = class MediaQueryList extends html$.EventTarget {
  get [S.$matches]() {
    return this.matches;
  }
  get [S$.$media]() {
    return this.media;
  }
  [S$1.$addListener](...args) {
    return this.addListener.apply(this, args);
  }
  [S$1.$removeListener](...args) {
    return this.removeListener.apply(this, args);
  }
  get [S.$onChange]() {
    return html$.MediaQueryList.changeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.MediaQueryList);
dart.addTypeCaches(html$.MediaQueryList);
dart.setMethodSignature(html$.MediaQueryList, () => ({
  __proto__: dart.getMethods(html$.MediaQueryList.__proto__),
  [S$1.$addListener]: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))]),
  [S$1.$removeListener]: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))])
}));
dart.setGetterSignature(html$.MediaQueryList, () => ({
  __proto__: dart.getGetters(html$.MediaQueryList.__proto__),
  [S.$matches]: core.bool,
  [S$.$media]: core.String,
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.MediaQueryList, I[148]);
dart.defineLazy(html$.MediaQueryList, {
  /*html$.MediaQueryList.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("MediaQueryList", html$.MediaQueryList);
html$.MediaQueryListEvent = class MediaQueryListEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 21039, 38, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.MediaQueryListEvent._create_1(type, eventInitDict_1);
    }
    return html$.MediaQueryListEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MediaQueryListEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MediaQueryListEvent(type);
  }
  get [S.$matches]() {
    return this.matches;
  }
  get [S$.$media]() {
    return this.media;
  }
};
dart.addTypeTests(html$.MediaQueryListEvent);
dart.addTypeCaches(html$.MediaQueryListEvent);
dart.setGetterSignature(html$.MediaQueryListEvent, () => ({
  __proto__: dart.getGetters(html$.MediaQueryListEvent.__proto__),
  [S.$matches]: dart.nullable(core.bool),
  [S$.$media]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaQueryListEvent, I[148]);
dart.registerExtension("MediaQueryListEvent", html$.MediaQueryListEvent);
html$.MediaRecorder = class MediaRecorder$ extends html$.EventTarget {
  static new(stream, options = null) {
    if (stream == null) dart.nullFailed(I[147], 21075, 37, "stream");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return html$.MediaRecorder._create_1(stream, options_1);
    }
    return html$.MediaRecorder._create_2(stream);
  }
  static _create_1(stream, options) {
    return new MediaRecorder(stream, options);
  }
  static _create_2(stream) {
    return new MediaRecorder(stream);
  }
  get [S$1.$audioBitsPerSecond]() {
    return this.audioBitsPerSecond;
  }
  get [S$1.$mimeType]() {
    return this.mimeType;
  }
  get [S$.$state]() {
    return this.state;
  }
  get [S$1.$stream]() {
    return this.stream;
  }
  get [S$1.$videoBitsPerSecond]() {
    return this.videoBitsPerSecond;
  }
  [S$.$pause](...args) {
    return this.pause.apply(this, args);
  }
  [S$1.$requestData](...args) {
    return this.requestData.apply(this, args);
  }
  [S$1.$resume](...args) {
    return this.resume.apply(this, args);
  }
  [S$.$start](...args) {
    return this.start.apply(this, args);
  }
  [S$.$stop](...args) {
    return this.stop.apply(this, args);
  }
  get [S.$onError]() {
    return html$.MediaRecorder.errorEvent.forTarget(this);
  }
  get [S.$onPause]() {
    return html$.MediaRecorder.pauseEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.MediaRecorder);
dart.addTypeCaches(html$.MediaRecorder);
dart.setMethodSignature(html$.MediaRecorder, () => ({
  __proto__: dart.getMethods(html$.MediaRecorder.__proto__),
  [S$.$pause]: dart.fnType(dart.void, []),
  [S$1.$requestData]: dart.fnType(dart.void, []),
  [S$1.$resume]: dart.fnType(dart.void, []),
  [S$.$start]: dart.fnType(dart.void, [], [dart.nullable(core.int)]),
  [S$.$stop]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.MediaRecorder, () => ({
  __proto__: dart.getGetters(html$.MediaRecorder.__proto__),
  [S$1.$audioBitsPerSecond]: dart.nullable(core.int),
  [S$1.$mimeType]: dart.nullable(core.String),
  [S$.$state]: dart.nullable(core.String),
  [S$1.$stream]: dart.nullable(html$.MediaStream),
  [S$1.$videoBitsPerSecond]: dart.nullable(core.int),
  [S.$onError]: async.Stream$(html$.Event),
  [S.$onPause]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.MediaRecorder, I[148]);
dart.defineLazy(html$.MediaRecorder, {
  /*html$.MediaRecorder.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.MediaRecorder.pauseEvent*/get pauseEvent() {
    return C[271] || CT.C271;
  }
}, false);
dart.registerExtension("MediaRecorder", html$.MediaRecorder);
html$.MediaSession = class MediaSession extends _interceptors.Interceptor {
  get [S$1.$metadata]() {
    return this.metadata;
  }
  set [S$1.$metadata](value) {
    this.metadata = value;
  }
  get [S$1.$playbackState]() {
    return this.playbackState;
  }
  set [S$1.$playbackState](value) {
    this.playbackState = value;
  }
  [S$1.$setActionHandler](...args) {
    return this.setActionHandler.apply(this, args);
  }
};
dart.addTypeTests(html$.MediaSession);
dart.addTypeCaches(html$.MediaSession);
dart.setMethodSignature(html$.MediaSession, () => ({
  __proto__: dart.getMethods(html$.MediaSession.__proto__),
  [S$1.$setActionHandler]: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.void, []))])
}));
dart.setGetterSignature(html$.MediaSession, () => ({
  __proto__: dart.getGetters(html$.MediaSession.__proto__),
  [S$1.$metadata]: dart.nullable(html$.MediaMetadata),
  [S$1.$playbackState]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.MediaSession, () => ({
  __proto__: dart.getSetters(html$.MediaSession.__proto__),
  [S$1.$metadata]: dart.nullable(html$.MediaMetadata),
  [S$1.$playbackState]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MediaSession, I[148]);
dart.registerExtension("MediaSession", html$.MediaSession);
html$.MediaSettingsRange = class MediaSettingsRange extends _interceptors.Interceptor {
  get [S$1.$max]() {
    return this.max;
  }
  get [S$1.$min]() {
    return this.min;
  }
  get [S$1.$step]() {
    return this.step;
  }
};
dart.addTypeTests(html$.MediaSettingsRange);
dart.addTypeCaches(html$.MediaSettingsRange);
dart.setGetterSignature(html$.MediaSettingsRange, () => ({
  __proto__: dart.getGetters(html$.MediaSettingsRange.__proto__),
  [S$1.$max]: dart.nullable(core.num),
  [S$1.$min]: dart.nullable(core.num),
  [S$1.$step]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.MediaSettingsRange, I[148]);
dart.registerExtension("MediaSettingsRange", html$.MediaSettingsRange);
html$.MediaSource = class MediaSource$ extends html$.EventTarget {
  static new() {
    return html$.MediaSource._create_1();
  }
  static _create_1() {
    return new MediaSource();
  }
  static get supported() {
    return !!window.MediaSource;
  }
  get [S$1.$activeSourceBuffers]() {
    return this.activeSourceBuffers;
  }
  get [S$.$duration]() {
    return this.duration;
  }
  set [S$.$duration](value) {
    this.duration = value;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$1.$sourceBuffers]() {
    return this.sourceBuffers;
  }
  [S$1.$addSourceBuffer](...args) {
    return this.addSourceBuffer.apply(this, args);
  }
  [S$1.$clearLiveSeekableRange](...args) {
    return this.clearLiveSeekableRange.apply(this, args);
  }
  [S$1.$endOfStream](...args) {
    return this.endOfStream.apply(this, args);
  }
  [S$1.$removeSourceBuffer](...args) {
    return this.removeSourceBuffer.apply(this, args);
  }
  [S$1.$setLiveSeekableRange](...args) {
    return this.setLiveSeekableRange.apply(this, args);
  }
};
dart.addTypeTests(html$.MediaSource);
dart.addTypeCaches(html$.MediaSource);
dart.setMethodSignature(html$.MediaSource, () => ({
  __proto__: dart.getMethods(html$.MediaSource.__proto__),
  [S$1.$addSourceBuffer]: dart.fnType(html$.SourceBuffer, [core.String]),
  [S$1.$clearLiveSeekableRange]: dart.fnType(dart.void, []),
  [S$1.$endOfStream]: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  [S$1.$removeSourceBuffer]: dart.fnType(dart.void, [html$.SourceBuffer]),
  [S$1.$setLiveSeekableRange]: dart.fnType(dart.void, [core.num, core.num])
}));
dart.setGetterSignature(html$.MediaSource, () => ({
  __proto__: dart.getGetters(html$.MediaSource.__proto__),
  [S$1.$activeSourceBuffers]: dart.nullable(html$.SourceBufferList),
  [S$.$duration]: dart.nullable(core.num),
  [S.$readyState]: dart.nullable(core.String),
  [S$1.$sourceBuffers]: dart.nullable(html$.SourceBufferList)
}));
dart.setSetterSignature(html$.MediaSource, () => ({
  __proto__: dart.getSetters(html$.MediaSource.__proto__),
  [S$.$duration]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.MediaSource, I[148]);
dart.registerExtension("MediaSource", html$.MediaSource);
html$.MediaStream = class MediaStream$ extends html$.EventTarget {
  static new(stream_OR_tracks = null) {
    if (stream_OR_tracks == null) {
      return html$.MediaStream._create_1();
    }
    if (html$.MediaStream.is(stream_OR_tracks)) {
      return html$.MediaStream._create_2(stream_OR_tracks);
    }
    if (T$0.ListOfMediaStreamTrack().is(stream_OR_tracks)) {
      return html$.MediaStream._create_3(stream_OR_tracks);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1() {
    return new MediaStream();
  }
  static _create_2(stream_OR_tracks) {
    return new MediaStream(stream_OR_tracks);
  }
  static _create_3(stream_OR_tracks) {
    return new MediaStream(stream_OR_tracks);
  }
  get [S$1.$active]() {
    return this.active;
  }
  get [S.$id]() {
    return this.id;
  }
  [S$1.$addTrack](...args) {
    return this.addTrack.apply(this, args);
  }
  [S$.$clone](...args) {
    return this.clone.apply(this, args);
  }
  [S$1.$getAudioTracks](...args) {
    return this.getAudioTracks.apply(this, args);
  }
  [S$1.$getTrackById](...args) {
    return this.getTrackById.apply(this, args);
  }
  [S$1.$getTracks](...args) {
    return this.getTracks.apply(this, args);
  }
  [S$1.$getVideoTracks](...args) {
    return this.getVideoTracks.apply(this, args);
  }
  [S$1.$removeTrack](...args) {
    return this.removeTrack.apply(this, args);
  }
  get [S$1.$onAddTrack]() {
    return html$.MediaStream.addTrackEvent.forTarget(this);
  }
  get [S$1.$onRemoveTrack]() {
    return html$.MediaStream.removeTrackEvent.forTarget(this);
  }
  static get supported() {
    return !!(html$.window.navigator.getUserMedia || html$.window.navigator.webkitGetUserMedia || html$.window.navigator.mozGetUserMedia || html$.window.navigator.msGetUserMedia);
  }
};
dart.addTypeTests(html$.MediaStream);
dart.addTypeCaches(html$.MediaStream);
dart.setMethodSignature(html$.MediaStream, () => ({
  __proto__: dart.getMethods(html$.MediaStream.__proto__),
  [S$1.$addTrack]: dart.fnType(dart.void, [html$.MediaStreamTrack]),
  [S$.$clone]: dart.fnType(html$.MediaStream, []),
  [S$1.$getAudioTracks]: dart.fnType(core.List$(html$.MediaStreamTrack), []),
  [S$1.$getTrackById]: dart.fnType(dart.nullable(html$.MediaStreamTrack), [core.String]),
  [S$1.$getTracks]: dart.fnType(core.List$(html$.MediaStreamTrack), []),
  [S$1.$getVideoTracks]: dart.fnType(core.List$(html$.MediaStreamTrack), []),
  [S$1.$removeTrack]: dart.fnType(dart.void, [html$.MediaStreamTrack])
}));
dart.setGetterSignature(html$.MediaStream, () => ({
  __proto__: dart.getGetters(html$.MediaStream.__proto__),
  [S$1.$active]: dart.nullable(core.bool),
  [S.$id]: dart.nullable(core.String),
  [S$1.$onAddTrack]: async.Stream$(html$.Event),
  [S$1.$onRemoveTrack]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.MediaStream, I[148]);
dart.defineLazy(html$.MediaStream, {
  /*html$.MediaStream.addTrackEvent*/get addTrackEvent() {
    return C[348] || CT.C348;
  },
  /*html$.MediaStream.removeTrackEvent*/get removeTrackEvent() {
    return C[349] || CT.C349;
  }
}, false);
dart.registerExtension("MediaStream", html$.MediaStream);
html$.MediaStreamEvent = class MediaStreamEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 21306, 35, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.MediaStreamEvent._create_1(type, eventInitDict_1);
    }
    return html$.MediaStreamEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MediaStreamEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MediaStreamEvent(type);
  }
  static get supported() {
    return html_common.Device.isEventTypeSupported("MediaStreamEvent");
  }
  get [S$1.$stream]() {
    return this.stream;
  }
};
dart.addTypeTests(html$.MediaStreamEvent);
dart.addTypeCaches(html$.MediaStreamEvent);
dart.setGetterSignature(html$.MediaStreamEvent, () => ({
  __proto__: dart.getGetters(html$.MediaStreamEvent.__proto__),
  [S$1.$stream]: dart.nullable(html$.MediaStream)
}));
dart.setLibraryUri(html$.MediaStreamEvent, I[148]);
dart.registerExtension("MediaStreamEvent", html$.MediaStreamEvent);
html$.MediaStreamTrackEvent = class MediaStreamTrackEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 21435, 40, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 21435, 50, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.MediaStreamTrackEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new MediaStreamTrackEvent(type, eventInitDict);
  }
  static get supported() {
    return html_common.Device.isEventTypeSupported("MediaStreamTrackEvent");
  }
  get [S$1.$track]() {
    return this.track;
  }
};
dart.addTypeTests(html$.MediaStreamTrackEvent);
dart.addTypeCaches(html$.MediaStreamTrackEvent);
dart.setGetterSignature(html$.MediaStreamTrackEvent, () => ({
  __proto__: dart.getGetters(html$.MediaStreamTrackEvent.__proto__),
  [S$1.$track]: dart.nullable(html$.MediaStreamTrack)
}));
dart.setLibraryUri(html$.MediaStreamTrackEvent, I[148]);
dart.registerExtension("MediaStreamTrackEvent", html$.MediaStreamTrackEvent);
html$.MemoryInfo = class MemoryInfo extends _interceptors.Interceptor {
  get [S$1.$jsHeapSizeLimit]() {
    return this.jsHeapSizeLimit;
  }
  get [S$1.$totalJSHeapSize]() {
    return this.totalJSHeapSize;
  }
  get [S$1.$usedJSHeapSize]() {
    return this.usedJSHeapSize;
  }
};
dart.addTypeTests(html$.MemoryInfo);
dart.addTypeCaches(html$.MemoryInfo);
dart.setGetterSignature(html$.MemoryInfo, () => ({
  __proto__: dart.getGetters(html$.MemoryInfo.__proto__),
  [S$1.$jsHeapSizeLimit]: dart.nullable(core.int),
  [S$1.$totalJSHeapSize]: dart.nullable(core.int),
  [S$1.$usedJSHeapSize]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.MemoryInfo, I[148]);
dart.registerExtension("MemoryInfo", html$.MemoryInfo);
html$.MenuElement = class MenuElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("menu");
  }
};
(html$.MenuElement.created = function() {
  html$.MenuElement.__proto__.created.call(this);
  ;
}).prototype = html$.MenuElement.prototype;
dart.addTypeTests(html$.MenuElement);
dart.addTypeCaches(html$.MenuElement);
dart.setLibraryUri(html$.MenuElement, I[148]);
dart.registerExtension("HTMLMenuElement", html$.MenuElement);
html$.MessageChannel = class MessageChannel$ extends _interceptors.Interceptor {
  static new() {
    return html$.MessageChannel._create_1();
  }
  static _create_1() {
    return new MessageChannel();
  }
  get [S$1.$port1]() {
    return this.port1;
  }
  get [S$1.$port2]() {
    return this.port2;
  }
};
dart.addTypeTests(html$.MessageChannel);
dart.addTypeCaches(html$.MessageChannel);
dart.setGetterSignature(html$.MessageChannel, () => ({
  __proto__: dart.getGetters(html$.MessageChannel.__proto__),
  [S$1.$port1]: html$.MessagePort,
  [S$1.$port2]: html$.MessagePort
}));
dart.setLibraryUri(html$.MessageChannel, I[148]);
dart.registerExtension("MessageChannel", html$.MessageChannel);
html$.MessageEvent = class MessageEvent$ extends html$.Event {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 21538, 31, "type");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : false;
    if (canBubble == null) dart.nullFailed(I[147], 21539, 13, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : false;
    if (cancelable == null) dart.nullFailed(I[147], 21540, 12, "cancelable");
    let data = opts && 'data' in opts ? opts.data : null;
    let origin = opts && 'origin' in opts ? opts.origin : null;
    let lastEventId = opts && 'lastEventId' in opts ? opts.lastEventId : null;
    let source = opts && 'source' in opts ? opts.source : null;
    let messagePorts = opts && 'messagePorts' in opts ? opts.messagePorts : C[350] || CT.C350;
    if (messagePorts == null) dart.nullFailed(I[147], 21545, 25, "messagePorts");
    if (source == null) {
      source = html$.window;
    }
    if (!dart.test(html_common.Device.isIE)) {
      return new MessageEvent(type, {bubbles: canBubble, cancelable: cancelable, data: data, origin: origin, lastEventId: lastEventId, source: source, ports: messagePorts});
    }
    let event = html$.MessageEvent.as(html$.document[S._createEvent]("MessageEvent"));
    event[S$1._initMessageEvent](type, canBubble, cancelable, data, origin, lastEventId, source, messagePorts);
    return event;
  }
  get [S$.$data]() {
    return html_common.convertNativeToDart_SerializedScriptValue(this[S$1._get_data]);
  }
  get [S$1._get_data]() {
    return this.data;
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 21580, 33, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.MessageEvent._create_1(type, eventInitDict_1);
    }
    return html$.MessageEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MessageEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MessageEvent(type);
  }
  get [S$1.$lastEventId]() {
    return this.lastEventId;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$1.$ports]() {
    return this.ports;
  }
  get [S.$source]() {
    return html$._convertNativeToDart_EventTarget(this[S$1._get_source]);
  }
  get [S$1._get_source]() {
    return this.source;
  }
  get [S$1.$suborigin]() {
    return this.suborigin;
  }
  [S$1._initMessageEvent](typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {
    let sourceArg_1 = html$._convertDartToNative_EventTarget(sourceArg);
    this[S$1._initMessageEvent_1](typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg_1, portsArg);
    return;
  }
  [S$1._initMessageEvent_1](...args) {
    return this.initMessageEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.MessageEvent);
dart.addTypeCaches(html$.MessageEvent);
dart.setMethodSignature(html$.MessageEvent, () => ({
  __proto__: dart.getMethods(html$.MessageEvent.__proto__),
  [S$1._initMessageEvent]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.Object), dart.nullable(core.String), dart.nullable(core.String), dart.nullable(html$.EventTarget), dart.nullable(core.List$(html$.MessagePort))]),
  [S$1._initMessageEvent_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.nullable(core.List$(html$.MessagePort))])
}));
dart.setGetterSignature(html$.MessageEvent, () => ({
  __proto__: dart.getGetters(html$.MessageEvent.__proto__),
  [S$.$data]: dart.dynamic,
  [S$1._get_data]: dart.dynamic,
  [S$1.$lastEventId]: core.String,
  [S$.$origin]: core.String,
  [S$1.$ports]: core.List$(html$.MessagePort),
  [S.$source]: dart.nullable(html$.EventTarget),
  [S$1._get_source]: dart.dynamic,
  [S$1.$suborigin]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MessageEvent, I[148]);
dart.registerExtension("MessageEvent", html$.MessageEvent);
html$.MessagePort = class MessagePort extends html$.EventTarget {
  [S.$addEventListener](type, listener, useCapture = null) {
    if (type == null) dart.nullFailed(I[147], 21637, 32, "type");
    if (type === "message") {
      this[S$1._start$4]();
    }
    super[S.$addEventListener](type, listener, useCapture);
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$.$postMessage](message, transfer = null) {
    if (transfer != null) {
      let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
      this[S$0._postMessage_1](message_1, transfer);
      return;
    }
    let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
    this[S$0._postMessage_2](message_1);
    return;
  }
  [S$0._postMessage_1](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$0._postMessage_2](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$1._start$4](...args) {
    return this.start.apply(this, args);
  }
  get [S$.$onMessage]() {
    return html$.MessagePort.messageEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.MessagePort);
dart.addTypeCaches(html$.MessagePort);
dart.setMethodSignature(html$.MessagePort, () => ({
  __proto__: dart.getMethods(html$.MessagePort.__proto__),
  [S.$close]: dart.fnType(dart.void, []),
  [S$.$postMessage]: dart.fnType(dart.void, [dart.dynamic], [dart.nullable(core.List$(core.Object))]),
  [S$0._postMessage_1]: dart.fnType(dart.void, [dart.dynamic, core.List$(core.Object)]),
  [S$0._postMessage_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S$1._start$4]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.MessagePort, () => ({
  __proto__: dart.getGetters(html$.MessagePort.__proto__),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setLibraryUri(html$.MessagePort, I[148]);
dart.defineLazy(html$.MessagePort, {
  /*html$.MessagePort.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  }
}, false);
dart.registerExtension("MessagePort", html$.MessagePort);
html$.MetaElement = class MetaElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("meta");
  }
  get [S$0.$content]() {
    return this.content;
  }
  set [S$0.$content](value) {
    this.content = value;
  }
  get [S$1.$httpEquiv]() {
    return this.httpEquiv;
  }
  set [S$1.$httpEquiv](value) {
    this.httpEquiv = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
};
(html$.MetaElement.created = function() {
  html$.MetaElement.__proto__.created.call(this);
  ;
}).prototype = html$.MetaElement.prototype;
dart.addTypeTests(html$.MetaElement);
dart.addTypeCaches(html$.MetaElement);
dart.setGetterSignature(html$.MetaElement, () => ({
  __proto__: dart.getGetters(html$.MetaElement.__proto__),
  [S$0.$content]: core.String,
  [S$1.$httpEquiv]: dart.nullable(core.String),
  [$name]: core.String
}));
dart.setSetterSignature(html$.MetaElement, () => ({
  __proto__: dart.getSetters(html$.MetaElement.__proto__),
  [S$0.$content]: core.String,
  [S$1.$httpEquiv]: dart.nullable(core.String),
  [$name]: core.String
}));
dart.setLibraryUri(html$.MetaElement, I[148]);
dart.registerExtension("HTMLMetaElement", html$.MetaElement);
html$.Metadata = class Metadata extends _interceptors.Interceptor {
  get [S$1.$modificationTime]() {
    return html_common.convertNativeToDart_DateTime(this[S$1._get_modificationTime]);
  }
  get [S$1._get_modificationTime]() {
    return this.modificationTime;
  }
  get [S$.$size]() {
    return this.size;
  }
};
dart.addTypeTests(html$.Metadata);
dart.addTypeCaches(html$.Metadata);
dart.setGetterSignature(html$.Metadata, () => ({
  __proto__: dart.getGetters(html$.Metadata.__proto__),
  [S$1.$modificationTime]: core.DateTime,
  [S$1._get_modificationTime]: dart.dynamic,
  [S$.$size]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.Metadata, I[148]);
dart.registerExtension("Metadata", html$.Metadata);
html$.MeterElement = class MeterElement extends html$.HtmlElement {
  static new() {
    return html$.MeterElement.as(html$.document[S.$createElement]("meter"));
  }
  static get supported() {
    return html$.Element.isTagSupported("meter");
  }
  get [S$1.$high]() {
    return this.high;
  }
  set [S$1.$high](value) {
    this.high = value;
  }
  get [S$.$labels]() {
    return this.labels;
  }
  get [S$1.$low]() {
    return this.low;
  }
  set [S$1.$low](value) {
    this.low = value;
  }
  get [S$1.$max]() {
    return this.max;
  }
  set [S$1.$max](value) {
    this.max = value;
  }
  get [S$1.$min]() {
    return this.min;
  }
  set [S$1.$min](value) {
    this.min = value;
  }
  get [S$1.$optimum]() {
    return this.optimum;
  }
  set [S$1.$optimum](value) {
    this.optimum = value;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
(html$.MeterElement.created = function() {
  html$.MeterElement.__proto__.created.call(this);
  ;
}).prototype = html$.MeterElement.prototype;
dart.addTypeTests(html$.MeterElement);
dart.addTypeCaches(html$.MeterElement);
dart.setGetterSignature(html$.MeterElement, () => ({
  __proto__: dart.getGetters(html$.MeterElement.__proto__),
  [S$1.$high]: dart.nullable(core.num),
  [S$.$labels]: dart.nullable(core.List$(html$.Node)),
  [S$1.$low]: dart.nullable(core.num),
  [S$1.$max]: dart.nullable(core.num),
  [S$1.$min]: dart.nullable(core.num),
  [S$1.$optimum]: dart.nullable(core.num),
  [S.$value]: dart.nullable(core.num)
}));
dart.setSetterSignature(html$.MeterElement, () => ({
  __proto__: dart.getSetters(html$.MeterElement.__proto__),
  [S$1.$high]: dart.nullable(core.num),
  [S$1.$low]: dart.nullable(core.num),
  [S$1.$max]: dart.nullable(core.num),
  [S$1.$min]: dart.nullable(core.num),
  [S$1.$optimum]: dart.nullable(core.num),
  [S.$value]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.MeterElement, I[148]);
dart.registerExtension("HTMLMeterElement", html$.MeterElement);
html$.MidiAccess = class MidiAccess extends html$.EventTarget {
  get [S$1.$inputs]() {
    return this.inputs;
  }
  get [S$1.$outputs]() {
    return this.outputs;
  }
  get [S$1.$sysexEnabled]() {
    return this.sysexEnabled;
  }
};
dart.addTypeTests(html$.MidiAccess);
dart.addTypeCaches(html$.MidiAccess);
dart.setGetterSignature(html$.MidiAccess, () => ({
  __proto__: dart.getGetters(html$.MidiAccess.__proto__),
  [S$1.$inputs]: dart.nullable(html$.MidiInputMap),
  [S$1.$outputs]: dart.nullable(html$.MidiOutputMap),
  [S$1.$sysexEnabled]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.MidiAccess, I[148]);
dart.registerExtension("MIDIAccess", html$.MidiAccess);
html$.MidiConnectionEvent = class MidiConnectionEvent extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 21831, 38, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.MidiConnectionEvent._create_1(type, eventInitDict_1);
    }
    return html$.MidiConnectionEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MIDIConnectionEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MIDIConnectionEvent(type);
  }
  get [S$.$port]() {
    return this.port;
  }
};
dart.addTypeTests(html$.MidiConnectionEvent);
dart.addTypeCaches(html$.MidiConnectionEvent);
dart.setGetterSignature(html$.MidiConnectionEvent, () => ({
  __proto__: dart.getGetters(html$.MidiConnectionEvent.__proto__),
  [S$.$port]: dart.nullable(html$.MidiPort)
}));
dart.setLibraryUri(html$.MidiConnectionEvent, I[148]);
dart.registerExtension("MIDIConnectionEvent", html$.MidiConnectionEvent);
html$.MidiPort = class MidiPort extends html$.EventTarget {
  get [S$1.$connection]() {
    return this.connection;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S$1.$manufacturer]() {
    return this.manufacturer;
  }
  get [$name]() {
    return this.name;
  }
  get [S$.$state]() {
    return this.state;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S.$version]() {
    return this.version;
  }
  [S.$close]() {
    return js_util.promiseToFuture(dart.dynamic, this.close());
  }
  [S.$open]() {
    return js_util.promiseToFuture(dart.dynamic, this.open());
  }
};
dart.addTypeTests(html$.MidiPort);
dart.addTypeCaches(html$.MidiPort);
dart.setMethodSignature(html$.MidiPort, () => ({
  __proto__: dart.getMethods(html$.MidiPort.__proto__),
  [S.$close]: dart.fnType(async.Future, []),
  [S.$open]: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(html$.MidiPort, () => ({
  __proto__: dart.getGetters(html$.MidiPort.__proto__),
  [S$1.$connection]: dart.nullable(core.String),
  [S.$id]: dart.nullable(core.String),
  [S$1.$manufacturer]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S$.$state]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String),
  [S.$version]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MidiPort, I[148]);
dart.registerExtension("MIDIPort", html$.MidiPort);
html$.MidiInput = class MidiInput extends html$.MidiPort {
  get [S$1.$onMidiMessage]() {
    return html$.MidiInput.midiMessageEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.MidiInput);
dart.addTypeCaches(html$.MidiInput);
dart.setGetterSignature(html$.MidiInput, () => ({
  __proto__: dart.getGetters(html$.MidiInput.__proto__),
  [S$1.$onMidiMessage]: async.Stream$(html$.MidiMessageEvent)
}));
dart.setLibraryUri(html$.MidiInput, I[148]);
dart.defineLazy(html$.MidiInput, {
  /*html$.MidiInput.midiMessageEvent*/get midiMessageEvent() {
    return C[351] || CT.C351;
  }
}, false);
dart.registerExtension("MIDIInput", html$.MidiInput);
const Interceptor_MapMixin$36 = class Interceptor_MapMixin extends _interceptors.Interceptor {};
(Interceptor_MapMixin$36.new = function() {
  Interceptor_MapMixin$36.__proto__.new.call(this);
}).prototype = Interceptor_MapMixin$36.prototype;
dart.applyMixin(Interceptor_MapMixin$36, collection.MapMixin$(core.String, dart.dynamic));
html$.MidiInputMap = class MidiInputMap extends Interceptor_MapMixin$36 {
  [S$1._getItem](key) {
    if (key == null) dart.nullFailed(I[147], 21883, 24, "key");
    return html_common.convertNativeToDart_Dictionary(this.get(key));
  }
  [$addAll](other) {
    T$0.MapOfString$dynamic().as(other);
    if (other == null) dart.nullFailed(I[147], 21886, 36, "other");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$containsValue](value) {
    return this[$values][$any](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 21890, 52, "e");
      return dart.equals(e, value);
    }, T$0.MapTobool()));
  }
  [$containsKey](key) {
    return this[S$1._getItem](core.String.as(key)) != null;
  }
  [$_get](key) {
    return this[S$1._getItem](core.String.as(key));
  }
  [$forEach](f) {
    if (f == null) dart.nullFailed(I[147], 21896, 21, "f");
    let entries = this.entries();
    while (true) {
      let entry = entries.next();
      if (entry.done) return;
      f(entry.value[0], html_common.convertNativeToDart_Dictionary(entry.value[1]));
    }
  }
  get [$keys]() {
    let keys = T$.JSArrayOfString().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 21908, 14, "k");
      return keys[$add](k);
    }, T$0.StringAnddynamicTovoid()));
    return keys;
  }
  get [$values]() {
    let values = T$0.JSArrayOfMap().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 21914, 14, "k");
      return values[$add](core.Map.as(v));
    }, T$0.StringAnddynamicTovoid()));
    return values;
  }
  get [$length]() {
    return this.size;
  }
  get [$isEmpty]() {
    return this[$length] === 0;
  }
  get [$isNotEmpty]() {
    return !dart.test(this[$isEmpty]);
  }
  [$_set](key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 21924, 28, "key");
    dart.throw(new core.UnsupportedError.new("Not supported"));
    return value$;
  }
  [$putIfAbsent](key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 21928, 30, "key");
    T$.VoidTodynamic().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[147], 21928, 43, "ifAbsent");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$remove](key) {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$clear]() {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
};
dart.addTypeTests(html$.MidiInputMap);
dart.addTypeCaches(html$.MidiInputMap);
dart.setMethodSignature(html$.MidiInputMap, () => ({
  __proto__: dart.getMethods(html$.MidiInputMap.__proto__),
  [S$1._getItem]: dart.fnType(dart.nullable(core.Map), [core.String]),
  [$containsValue]: dart.fnType(core.bool, [dart.dynamic]),
  [$containsKey]: dart.fnType(core.bool, [dart.dynamic]),
  [$_get]: dart.fnType(dart.nullable(core.Map), [dart.dynamic]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$remove]: dart.fnType(core.String, [dart.dynamic]),
  [$clear]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.MidiInputMap, () => ({
  __proto__: dart.getGetters(html$.MidiInputMap.__proto__),
  [$keys]: core.Iterable$(core.String),
  [$values]: core.Iterable$(core.Map)
}));
dart.setLibraryUri(html$.MidiInputMap, I[148]);
dart.registerExtension("MIDIInputMap", html$.MidiInputMap);
html$.MidiMessageEvent = class MidiMessageEvent extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 21951, 35, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.MidiMessageEvent._create_1(type, eventInitDict_1);
    }
    return html$.MidiMessageEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MIDIMessageEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MIDIMessageEvent(type);
  }
  get [S$.$data]() {
    return this.data;
  }
};
dart.addTypeTests(html$.MidiMessageEvent);
dart.addTypeCaches(html$.MidiMessageEvent);
dart.setGetterSignature(html$.MidiMessageEvent, () => ({
  __proto__: dart.getGetters(html$.MidiMessageEvent.__proto__),
  [S$.$data]: dart.nullable(typed_data.Uint8List)
}));
dart.setLibraryUri(html$.MidiMessageEvent, I[148]);
dart.registerExtension("MIDIMessageEvent", html$.MidiMessageEvent);
html$.MidiOutput = class MidiOutput extends html$.MidiPort {
  [S$1.$send](...args) {
    return this.send.apply(this, args);
  }
};
dart.addTypeTests(html$.MidiOutput);
dart.addTypeCaches(html$.MidiOutput);
dart.setMethodSignature(html$.MidiOutput, () => ({
  __proto__: dart.getMethods(html$.MidiOutput.__proto__),
  [S$1.$send]: dart.fnType(dart.void, [typed_data.Uint8List], [dart.nullable(core.num)])
}));
dart.setLibraryUri(html$.MidiOutput, I[148]);
dart.registerExtension("MIDIOutput", html$.MidiOutput);
const Interceptor_MapMixin$36$ = class Interceptor_MapMixin extends _interceptors.Interceptor {};
(Interceptor_MapMixin$36$.new = function() {
  Interceptor_MapMixin$36$.__proto__.new.call(this);
}).prototype = Interceptor_MapMixin$36$.prototype;
dart.applyMixin(Interceptor_MapMixin$36$, collection.MapMixin$(core.String, dart.dynamic));
html$.MidiOutputMap = class MidiOutputMap extends Interceptor_MapMixin$36$ {
  [S$1._getItem](key) {
    if (key == null) dart.nullFailed(I[147], 21989, 24, "key");
    return html_common.convertNativeToDart_Dictionary(this.get(key));
  }
  [$addAll](other) {
    T$0.MapOfString$dynamic().as(other);
    if (other == null) dart.nullFailed(I[147], 21992, 36, "other");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$containsValue](value) {
    return this[$values][$any](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 21996, 52, "e");
      return dart.equals(e, value);
    }, T$0.MapTobool()));
  }
  [$containsKey](key) {
    return this[S$1._getItem](core.String.as(key)) != null;
  }
  [$_get](key) {
    return this[S$1._getItem](core.String.as(key));
  }
  [$forEach](f) {
    if (f == null) dart.nullFailed(I[147], 22002, 21, "f");
    let entries = this.entries();
    while (true) {
      let entry = entries.next();
      if (entry.done) return;
      f(entry.value[0], html_common.convertNativeToDart_Dictionary(entry.value[1]));
    }
  }
  get [$keys]() {
    let keys = T$.JSArrayOfString().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 22014, 14, "k");
      return keys[$add](k);
    }, T$0.StringAnddynamicTovoid()));
    return keys;
  }
  get [$values]() {
    let values = T$0.JSArrayOfMap().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 22020, 14, "k");
      return values[$add](core.Map.as(v));
    }, T$0.StringAnddynamicTovoid()));
    return values;
  }
  get [$length]() {
    return this.size;
  }
  get [$isEmpty]() {
    return this[$length] === 0;
  }
  get [$isNotEmpty]() {
    return !dart.test(this[$isEmpty]);
  }
  [$_set](key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 22030, 28, "key");
    dart.throw(new core.UnsupportedError.new("Not supported"));
    return value$;
  }
  [$putIfAbsent](key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 22034, 30, "key");
    T$.VoidTodynamic().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[147], 22034, 43, "ifAbsent");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$remove](key) {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$clear]() {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
};
dart.addTypeTests(html$.MidiOutputMap);
dart.addTypeCaches(html$.MidiOutputMap);
dart.setMethodSignature(html$.MidiOutputMap, () => ({
  __proto__: dart.getMethods(html$.MidiOutputMap.__proto__),
  [S$1._getItem]: dart.fnType(dart.nullable(core.Map), [core.String]),
  [$containsValue]: dart.fnType(core.bool, [dart.dynamic]),
  [$containsKey]: dart.fnType(core.bool, [dart.dynamic]),
  [$_get]: dart.fnType(dart.nullable(core.Map), [dart.dynamic]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$remove]: dart.fnType(core.String, [dart.dynamic]),
  [$clear]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.MidiOutputMap, () => ({
  __proto__: dart.getGetters(html$.MidiOutputMap.__proto__),
  [$keys]: core.Iterable$(core.String),
  [$values]: core.Iterable$(core.Map)
}));
dart.setLibraryUri(html$.MidiOutputMap, I[148]);
dart.registerExtension("MIDIOutputMap", html$.MidiOutputMap);
html$.MimeType = class MimeType extends _interceptors.Interceptor {
  get [S$1.$description]() {
    return this.description;
  }
  get [S$1.$enabledPlugin]() {
    return this.enabledPlugin;
  }
  get [S$1.$suffixes]() {
    return this.suffixes;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(html$.MimeType);
dart.addTypeCaches(html$.MimeType);
dart.setGetterSignature(html$.MimeType, () => ({
  __proto__: dart.getGetters(html$.MimeType.__proto__),
  [S$1.$description]: dart.nullable(core.String),
  [S$1.$enabledPlugin]: dart.nullable(html$.Plugin),
  [S$1.$suffixes]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MimeType, I[148]);
dart.registerExtension("MimeType", html$.MimeType);
const Interceptor_ListMixin$36$2 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$2.new = function() {
  Interceptor_ListMixin$36$2.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$2.prototype;
dart.applyMixin(Interceptor_ListMixin$36$2, collection.ListMixin$(html$.MimeType));
const Interceptor_ImmutableListMixin$36$2 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$2 {};
(Interceptor_ImmutableListMixin$36$2.new = function() {
  Interceptor_ImmutableListMixin$36$2.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$2.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$2, html$.ImmutableListMixin$(html$.MimeType));
html$.MimeTypeArray = class MimeTypeArray extends Interceptor_ImmutableListMixin$36$2 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 22109, 28, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 22115, 25, "index");
    html$.MimeType.as(value);
    if (value == null) dart.nullFailed(I[147], 22115, 41, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 22121, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 22149, 26, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$1.$namedItem](...args) {
    return this.namedItem.apply(this, args);
  }
};
html$.MimeTypeArray.prototype[dart.isList] = true;
dart.addTypeTests(html$.MimeTypeArray);
dart.addTypeCaches(html$.MimeTypeArray);
html$.MimeTypeArray[dart.implements] = () => [core.List$(html$.MimeType), _js_helper.JavaScriptIndexingBehavior$(html$.MimeType)];
dart.setMethodSignature(html$.MimeTypeArray, () => ({
  __proto__: dart.getMethods(html$.MimeTypeArray.__proto__),
  [$_get]: dart.fnType(html$.MimeType, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(html$.MimeType), [core.int]),
  [S$1.$namedItem]: dart.fnType(dart.nullable(html$.MimeType), [core.String])
}));
dart.setGetterSignature(html$.MimeTypeArray, () => ({
  __proto__: dart.getGetters(html$.MimeTypeArray.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.MimeTypeArray, () => ({
  __proto__: dart.getSetters(html$.MimeTypeArray.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.MimeTypeArray, I[148]);
dart.registerExtension("MimeTypeArray", html$.MimeTypeArray);
html$.ModElement = class ModElement extends html$.HtmlElement {
  get [S$1.$cite]() {
    return this.cite;
  }
  set [S$1.$cite](value) {
    this.cite = value;
  }
  get [S$1.$dateTime]() {
    return this.dateTime;
  }
  set [S$1.$dateTime](value) {
    this.dateTime = value;
  }
};
(html$.ModElement.created = function() {
  html$.ModElement.__proto__.created.call(this);
  ;
}).prototype = html$.ModElement.prototype;
dart.addTypeTests(html$.ModElement);
dart.addTypeCaches(html$.ModElement);
dart.setGetterSignature(html$.ModElement, () => ({
  __proto__: dart.getGetters(html$.ModElement.__proto__),
  [S$1.$cite]: core.String,
  [S$1.$dateTime]: core.String
}));
dart.setSetterSignature(html$.ModElement, () => ({
  __proto__: dart.getSetters(html$.ModElement.__proto__),
  [S$1.$cite]: core.String,
  [S$1.$dateTime]: core.String
}));
dart.setLibraryUri(html$.ModElement, I[148]);
dart.registerExtension("HTMLModElement", html$.ModElement);
html$.MouseEvent = class MouseEvent$ extends html$.UIEvent {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 22195, 29, "type");
    let view = opts && 'view' in opts ? opts.view : null;
    let detail = opts && 'detail' in opts ? opts.detail : 0;
    if (detail == null) dart.nullFailed(I[147], 22197, 11, "detail");
    let screenX = opts && 'screenX' in opts ? opts.screenX : 0;
    if (screenX == null) dart.nullFailed(I[147], 22198, 11, "screenX");
    let screenY = opts && 'screenY' in opts ? opts.screenY : 0;
    if (screenY == null) dart.nullFailed(I[147], 22199, 11, "screenY");
    let clientX = opts && 'clientX' in opts ? opts.clientX : 0;
    if (clientX == null) dart.nullFailed(I[147], 22200, 11, "clientX");
    let clientY = opts && 'clientY' in opts ? opts.clientY : 0;
    if (clientY == null) dart.nullFailed(I[147], 22201, 11, "clientY");
    let button = opts && 'button' in opts ? opts.button : 0;
    if (button == null) dart.nullFailed(I[147], 22202, 11, "button");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 22203, 12, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 22204, 12, "cancelable");
    let ctrlKey = opts && 'ctrlKey' in opts ? opts.ctrlKey : false;
    if (ctrlKey == null) dart.nullFailed(I[147], 22205, 12, "ctrlKey");
    let altKey = opts && 'altKey' in opts ? opts.altKey : false;
    if (altKey == null) dart.nullFailed(I[147], 22206, 12, "altKey");
    let shiftKey = opts && 'shiftKey' in opts ? opts.shiftKey : false;
    if (shiftKey == null) dart.nullFailed(I[147], 22207, 12, "shiftKey");
    let metaKey = opts && 'metaKey' in opts ? opts.metaKey : false;
    if (metaKey == null) dart.nullFailed(I[147], 22208, 12, "metaKey");
    let relatedTarget = opts && 'relatedTarget' in opts ? opts.relatedTarget : null;
    if (view == null) {
      view = html$.window;
    }
    let event = html$.MouseEvent.as(html$.document[S._createEvent]("MouseEvent"));
    event[S$1._initMouseEvent](type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
    return event;
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 22233, 31, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.MouseEvent._create_1(type, eventInitDict_1);
    }
    return html$.MouseEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MouseEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MouseEvent(type);
  }
  get [S$1.$altKey]() {
    return this.altKey;
  }
  get [S$1.$button]() {
    return this.button;
  }
  get [S$1.$buttons]() {
    return this.buttons;
  }
  get [S$1._clientX]() {
    return this.clientX;
  }
  get [S$1._clientY]() {
    return this.clientY;
  }
  get [S$1.$ctrlKey]() {
    return this.ctrlKey;
  }
  get [S$1.$fromElement]() {
    return this.fromElement;
  }
  get [S$1._layerX]() {
    return this.layerX;
  }
  get [S$1._layerY]() {
    return this.layerY;
  }
  get [S$1.$metaKey]() {
    return this.metaKey;
  }
  get [S$1._movementX]() {
    return this.movementX;
  }
  get [S$1._movementY]() {
    return this.movementY;
  }
  get [S$1._pageX]() {
    return this.pageX;
  }
  get [S$1._pageY]() {
    return this.pageY;
  }
  get [S$1.$region]() {
    return this.region;
  }
  get [S$1.$relatedTarget]() {
    return html$._convertNativeToDart_EventTarget(this[S$1._get_relatedTarget]);
  }
  get [S$1._get_relatedTarget]() {
    return this.relatedTarget;
  }
  get [S$1._screenX]() {
    return this.screenX;
  }
  get [S$1._screenY]() {
    return this.screenY;
  }
  get [S$1.$shiftKey]() {
    return this.shiftKey;
  }
  get [S$1.$toElement]() {
    return this.toElement;
  }
  [S$1.$getModifierState](...args) {
    return this.getModifierState.apply(this, args);
  }
  [S$1._initMouseEvent](type, bubbles, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget) {
    let relatedTarget_1 = html$._convertDartToNative_EventTarget(relatedTarget);
    this[S$1._initMouseEvent_1](type, bubbles, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget_1);
    return;
  }
  [S$1._initMouseEvent_1](...args) {
    return this.initMouseEvent.apply(this, args);
  }
  get [S.$client]() {
    return new (T$0.PointOfnum()).new(this[S$1._clientX], this[S$1._clientY]);
  }
  get [S$1.$movement]() {
    return new (T$0.PointOfnum()).new(dart.nullCheck(this[S$1._movementX]), dart.nullCheck(this[S$1._movementY]));
  }
  get [S.$offset]() {
    if (!!this.offsetX) {
      let x = this.offsetX;
      let y = this.offsetY;
      return new (T$0.PointOfnum()).new(core.num.as(x), core.num.as(y));
    } else {
      if (!html$.Element.is(this[S.$target])) {
        dart.throw(new core.UnsupportedError.new("offsetX is only supported on elements"));
      }
      let target = html$.Element.as(this[S.$target]);
      let point = this[S.$client]['-'](target.getBoundingClientRect()[$topLeft]);
      return new (T$0.PointOfnum()).new(point.x[$toInt](), point.y[$toInt]());
    }
  }
  get [S$1.$screen]() {
    return new (T$0.PointOfnum()).new(this[S$1._screenX], this[S$1._screenY]);
  }
  get [S$1.$layer]() {
    return new (T$0.PointOfnum()).new(dart.nullCheck(this[S$1._layerX]), dart.nullCheck(this[S$1._layerY]));
  }
  get [S$0.$page]() {
    return new (T$0.PointOfnum()).new(dart.nullCheck(this[S$1._pageX]), dart.nullCheck(this[S$1._pageY]));
  }
  get [S$1.$dataTransfer]() {
    return this.dataTransfer;
  }
};
dart.addTypeTests(html$.MouseEvent);
dart.addTypeCaches(html$.MouseEvent);
dart.setMethodSignature(html$.MouseEvent, () => ({
  __proto__: dart.getMethods(html$.MouseEvent.__proto__),
  [S$1.$getModifierState]: dart.fnType(core.bool, [core.String]),
  [S$1._initMouseEvent]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(html$.Window), dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.int), dart.nullable(html$.EventTarget)]),
  [S$1._initMouseEvent_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.nullable(html$.Window), dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])
}));
dart.setGetterSignature(html$.MouseEvent, () => ({
  __proto__: dart.getGetters(html$.MouseEvent.__proto__),
  [S$1.$altKey]: core.bool,
  [S$1.$button]: core.int,
  [S$1.$buttons]: dart.nullable(core.int),
  [S$1._clientX]: core.num,
  [S$1._clientY]: core.num,
  [S$1.$ctrlKey]: core.bool,
  [S$1.$fromElement]: dart.nullable(html$.Node),
  [S$1._layerX]: dart.nullable(core.int),
  [S$1._layerY]: dart.nullable(core.int),
  [S$1.$metaKey]: core.bool,
  [S$1._movementX]: dart.nullable(core.int),
  [S$1._movementY]: dart.nullable(core.int),
  [S$1._pageX]: dart.nullable(core.num),
  [S$1._pageY]: dart.nullable(core.num),
  [S$1.$region]: dart.nullable(core.String),
  [S$1.$relatedTarget]: dart.nullable(html$.EventTarget),
  [S$1._get_relatedTarget]: dart.dynamic,
  [S$1._screenX]: core.num,
  [S$1._screenY]: core.num,
  [S$1.$shiftKey]: core.bool,
  [S$1.$toElement]: dart.nullable(html$.Node),
  [S.$client]: math.Point$(core.num),
  [S$1.$movement]: math.Point$(core.num),
  [S.$offset]: math.Point$(core.num),
  [S$1.$screen]: math.Point$(core.num),
  [S$1.$layer]: math.Point$(core.num),
  [S$0.$page]: math.Point$(core.num),
  [S$1.$dataTransfer]: html$.DataTransfer
}));
dart.setLibraryUri(html$.MouseEvent, I[148]);
dart.registerExtension("MouseEvent", html$.MouseEvent);
dart.registerExtension("DragEvent", html$.MouseEvent);
html$.MutationEvent = class MutationEvent extends html$.Event {
  get [S$1.$attrChange]() {
    return this.attrChange;
  }
  get [S$1.$attrName]() {
    return this.attrName;
  }
  get [S$1.$newValue]() {
    return this.newValue;
  }
  get [S$1.$prevValue]() {
    return this.prevValue;
  }
  get [S$1.$relatedNode]() {
    return this.relatedNode;
  }
  [S$1.$initMutationEvent](...args) {
    return this.initMutationEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.MutationEvent);
dart.addTypeCaches(html$.MutationEvent);
dart.setMethodSignature(html$.MutationEvent, () => ({
  __proto__: dart.getMethods(html$.MutationEvent.__proto__),
  [S$1.$initMutationEvent]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(html$.Node), dart.nullable(core.String), dart.nullable(core.String), dart.nullable(core.String), dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.MutationEvent, () => ({
  __proto__: dart.getGetters(html$.MutationEvent.__proto__),
  [S$1.$attrChange]: dart.nullable(core.int),
  [S$1.$attrName]: dart.nullable(core.String),
  [S$1.$newValue]: dart.nullable(core.String),
  [S$1.$prevValue]: dart.nullable(core.String),
  [S$1.$relatedNode]: dart.nullable(html$.Node)
}));
dart.setLibraryUri(html$.MutationEvent, I[148]);
dart.defineLazy(html$.MutationEvent, {
  /*html$.MutationEvent.ADDITION*/get ADDITION() {
    return 2;
  },
  /*html$.MutationEvent.MODIFICATION*/get MODIFICATION() {
    return 1;
  },
  /*html$.MutationEvent.REMOVAL*/get REMOVAL() {
    return 3;
  }
}, false);
dart.registerExtension("MutationEvent", html$.MutationEvent);
html$.MutationObserver = class MutationObserver extends _interceptors.Interceptor {
  [S$1.$disconnect](...args) {
    return this.disconnect.apply(this, args);
  }
  [S$1._observe](target, options = null) {
    if (target == null) dart.nullFailed(I[147], 22467, 22, "target");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      this[S$1._observe_1$1](target, options_1);
      return;
    }
    this[S$1._observe_2](target);
    return;
  }
  [S$1._observe_1$1](...args) {
    return this.observe.apply(this, args);
  }
  [S$1._observe_2](...args) {
    return this.observe.apply(this, args);
  }
  [S$1.$takeRecords](...args) {
    return this.takeRecords.apply(this, args);
  }
  static get supported() {
    return !!(window.MutationObserver || window.WebKitMutationObserver);
  }
  [S.$observe](target, opts) {
    if (target == null) dart.nullFailed(I[147], 22503, 21, "target");
    let childList = opts && 'childList' in opts ? opts.childList : null;
    let attributes = opts && 'attributes' in opts ? opts.attributes : null;
    let characterData = opts && 'characterData' in opts ? opts.characterData : null;
    let subtree = opts && 'subtree' in opts ? opts.subtree : null;
    let attributeOldValue = opts && 'attributeOldValue' in opts ? opts.attributeOldValue : null;
    let characterDataOldValue = opts && 'characterDataOldValue' in opts ? opts.characterDataOldValue : null;
    let attributeFilter = opts && 'attributeFilter' in opts ? opts.attributeFilter : null;
    let parsedOptions = html$.MutationObserver._createDict();
    function override(key, value) {
      if (value != null) html$.MutationObserver._add(parsedOptions, core.String.as(key), value);
    }
    dart.fn(override, T$.dynamicAnddynamicToNull());
    override("childList", childList);
    override("attributes", attributes);
    override("characterData", characterData);
    override("subtree", subtree);
    override("attributeOldValue", attributeOldValue);
    override("characterDataOldValue", characterDataOldValue);
    if (attributeFilter != null) {
      override("attributeFilter", html$.MutationObserver._fixupList(attributeFilter));
    }
    this[S$1._call](target, parsedOptions);
  }
  static _createDict() {
    return {};
  }
  static _add(m, key, value) {
    if (key == null) dart.nullFailed(I[147], 22543, 25, "key");
    m[key] = value;
  }
  static _fixupList(list) {
    return list;
  }
  [S$1._call](...args) {
    return this.observe.apply(this, args);
  }
  static new(callback) {
    if (callback == null) dart.nullFailed(I[147], 22553, 45, "callback");
    0;
    return new (window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver)(_js_helper.convertDartClosureToJS(T$0.ListAndMutationObserverToNvoid(), html$._wrapBinaryZone(core.List, html$.MutationObserver, callback), 2));
  }
};
dart.addTypeTests(html$.MutationObserver);
dart.addTypeCaches(html$.MutationObserver);
dart.setMethodSignature(html$.MutationObserver, () => ({
  __proto__: dart.getMethods(html$.MutationObserver.__proto__),
  [S$1.$disconnect]: dart.fnType(dart.void, []),
  [S$1._observe]: dart.fnType(dart.void, [html$.Node], [dart.nullable(core.Map)]),
  [S$1._observe_1$1]: dart.fnType(dart.void, [html$.Node, dart.dynamic]),
  [S$1._observe_2]: dart.fnType(dart.void, [html$.Node]),
  [S$1.$takeRecords]: dart.fnType(core.List$(html$.MutationRecord), []),
  [S.$observe]: dart.fnType(dart.void, [html$.Node], {attributeFilter: dart.nullable(core.List$(core.String)), attributeOldValue: dart.nullable(core.bool), attributes: dart.nullable(core.bool), characterData: dart.nullable(core.bool), characterDataOldValue: dart.nullable(core.bool), childList: dart.nullable(core.bool), subtree: dart.nullable(core.bool)}, {}),
  [S$1._call]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic])
}));
dart.setLibraryUri(html$.MutationObserver, I[148]);
dart.defineLazy(html$.MutationObserver, {
  /*html$.MutationObserver._boolKeys*/get _boolKeys() {
    return C[352] || CT.C352;
  }
}, false);
dart.registerExtension("MutationObserver", html$.MutationObserver);
dart.registerExtension("WebKitMutationObserver", html$.MutationObserver);
html$.MutationRecord = class MutationRecord extends _interceptors.Interceptor {
  get [S$1.$addedNodes]() {
    return this.addedNodes;
  }
  get [S$1.$attributeName]() {
    return this.attributeName;
  }
  get [S$1.$attributeNamespace]() {
    return this.attributeNamespace;
  }
  get [S$1.$nextSibling]() {
    return this.nextSibling;
  }
  get [S$1.$oldValue]() {
    return this.oldValue;
  }
  get [S$1.$previousSibling]() {
    return this.previousSibling;
  }
  get [S$1.$removedNodes]() {
    return this.removedNodes;
  }
  get [S.$target]() {
    return this.target;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(html$.MutationRecord);
dart.addTypeCaches(html$.MutationRecord);
dart.setGetterSignature(html$.MutationRecord, () => ({
  __proto__: dart.getGetters(html$.MutationRecord.__proto__),
  [S$1.$addedNodes]: dart.nullable(core.List$(html$.Node)),
  [S$1.$attributeName]: dart.nullable(core.String),
  [S$1.$attributeNamespace]: dart.nullable(core.String),
  [S$1.$nextSibling]: dart.nullable(html$.Node),
  [S$1.$oldValue]: dart.nullable(core.String),
  [S$1.$previousSibling]: dart.nullable(html$.Node),
  [S$1.$removedNodes]: dart.nullable(core.List$(html$.Node)),
  [S.$target]: dart.nullable(html$.Node),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.MutationRecord, I[148]);
dart.registerExtension("MutationRecord", html$.MutationRecord);
html$.NavigationPreloadManager = class NavigationPreloadManager extends _interceptors.Interceptor {
  [S$1.$disable]() {
    return js_util.promiseToFuture(dart.dynamic, this.disable());
  }
  [S$1.$enable]() {
    return js_util.promiseToFuture(dart.dynamic, this.enable());
  }
  [S$1.$getState]() {
    return html$.promiseToFutureAsMap(this.getState());
  }
};
dart.addTypeTests(html$.NavigationPreloadManager);
dart.addTypeCaches(html$.NavigationPreloadManager);
dart.setMethodSignature(html$.NavigationPreloadManager, () => ({
  __proto__: dart.getMethods(html$.NavigationPreloadManager.__proto__),
  [S$1.$disable]: dart.fnType(async.Future, []),
  [S$1.$enable]: dart.fnType(async.Future, []),
  [S$1.$getState]: dart.fnType(async.Future$(dart.nullable(core.Map$(core.String, dart.dynamic))), [])
}));
dart.setLibraryUri(html$.NavigationPreloadManager, I[148]);
dart.registerExtension("NavigationPreloadManager", html$.NavigationPreloadManager);
html$.NavigatorConcurrentHardware = class NavigatorConcurrentHardware extends _interceptors.Interceptor {
  get [S$2.$hardwareConcurrency]() {
    return this.hardwareConcurrency;
  }
};
dart.addTypeTests(html$.NavigatorConcurrentHardware);
dart.addTypeCaches(html$.NavigatorConcurrentHardware);
dart.setGetterSignature(html$.NavigatorConcurrentHardware, () => ({
  __proto__: dart.getGetters(html$.NavigatorConcurrentHardware.__proto__),
  [S$2.$hardwareConcurrency]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.NavigatorConcurrentHardware, I[148]);
dart.registerExtension("NavigatorConcurrentHardware", html$.NavigatorConcurrentHardware);
html$.Navigator = class Navigator extends html$.NavigatorConcurrentHardware {
  [S$1.$getGamepads]() {
    let gamepadList = this[S$1._getGamepads]();
    let jsProto = gamepadList.prototype;
    if (jsProto == null) {
      gamepadList.prototype = Object.create(null);
    }
    _js_helper.applyExtension("GamepadList", gamepadList);
    return gamepadList;
  }
  get [S$1.$language]() {
    return this.language || this.userLanguage;
  }
  [S$1.$getUserMedia](opts) {
    let audio = opts && 'audio' in opts ? opts.audio : false;
    let video = opts && 'video' in opts ? opts.video : false;
    let completer = T$0.CompleterOfMediaStream().new();
    let options = new (T$0.IdentityMapOfString$dynamic()).from(["audio", audio, "video", video]);
    this[S$1._ensureGetUserMedia]();
    this[S$1._getUserMedia](html_common.convertDartToNative_SerializedScriptValue(options), dart.fn(stream => {
      if (stream == null) dart.nullFailed(I[147], 22684, 10, "stream");
      completer.complete(stream);
    }, T$0.MediaStreamTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 22686, 9, "error");
      completer.completeError(error);
    }, T$0.NavigatorUserMediaErrorTovoid()));
    return completer.future;
  }
  [S$1._ensureGetUserMedia]() {
    if (!this.getUserMedia) {
      this.getUserMedia = this.getUserMedia || this.webkitGetUserMedia || this.mozGetUserMedia || this.msGetUserMedia;
    }
  }
  [S$1._getUserMedia](...args) {
    return this.getUserMedia.apply(this, args);
  }
  get [S$1.$budget]() {
    return this.budget;
  }
  get [S$1.$clipboard]() {
    return this.clipboard;
  }
  get [S$1.$connection]() {
    return this.connection;
  }
  get [S$1.$credentials]() {
    return this.credentials;
  }
  get [S$1.$deviceMemory]() {
    return this.deviceMemory;
  }
  get [S$2.$doNotTrack]() {
    return this.doNotTrack;
  }
  get [S$2.$geolocation]() {
    return this.geolocation;
  }
  get [S$2.$maxTouchPoints]() {
    return this.maxTouchPoints;
  }
  get [S$2.$mediaCapabilities]() {
    return this.mediaCapabilities;
  }
  get [S$2.$mediaDevices]() {
    return this.mediaDevices;
  }
  get [S$2.$mediaSession]() {
    return this.mediaSession;
  }
  get [S$2.$mimeTypes]() {
    return this.mimeTypes;
  }
  get [S$2.$nfc]() {
    return this.nfc;
  }
  get [S$2.$permissions]() {
    return this.permissions;
  }
  get [S$2.$presentation]() {
    return this.presentation;
  }
  get [S$2.$productSub]() {
    return this.productSub;
  }
  get [S$2.$serviceWorker]() {
    return this.serviceWorker;
  }
  get [S$2.$storage]() {
    return this.storage;
  }
  get [S$2.$vendor]() {
    return this.vendor;
  }
  get [S$2.$vendorSub]() {
    return this.vendorSub;
  }
  get [S$2.$vr]() {
    return this.vr;
  }
  get [S$2.$persistentStorage]() {
    return this.webkitPersistentStorage;
  }
  get [S$2.$temporaryStorage]() {
    return this.webkitTemporaryStorage;
  }
  [S$2.$cancelKeyboardLock](...args) {
    return this.cancelKeyboardLock.apply(this, args);
  }
  [S$2.$getBattery]() {
    return js_util.promiseToFuture(dart.dynamic, this.getBattery());
  }
  [S$1._getGamepads](...args) {
    return this.getGamepads.apply(this, args);
  }
  [S$2.$getInstalledRelatedApps]() {
    return js_util.promiseToFuture(html$.RelatedApplication, this.getInstalledRelatedApps());
  }
  [S$2.$getVRDisplays]() {
    return js_util.promiseToFuture(dart.dynamic, this.getVRDisplays());
  }
  [S$2.$registerProtocolHandler](...args) {
    return this.registerProtocolHandler.apply(this, args);
  }
  [S$2.$requestKeyboardLock](keyCodes = null) {
    if (keyCodes != null) {
      let keyCodes_1 = html_common.convertDartToNative_StringArray(keyCodes);
      return this[S$2._requestKeyboardLock_1](keyCodes_1);
    }
    return this[S$2._requestKeyboardLock_2]();
  }
  [S$2._requestKeyboardLock_1](keyCodes) {
    if (keyCodes == null) dart.nullFailed(I[147], 22800, 38, "keyCodes");
    return js_util.promiseToFuture(dart.dynamic, this.requestKeyboardLock(keyCodes));
  }
  [S$2._requestKeyboardLock_2]() {
    return js_util.promiseToFuture(dart.dynamic, this.requestKeyboardLock());
  }
  [S$2.$requestMidiAccess](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.requestMIDIAccess(options_dict));
  }
  [S$2.$requestMediaKeySystemAccess](keySystem, supportedConfigurations) {
    if (keySystem == null) dart.nullFailed(I[147], 22817, 18, "keySystem");
    if (supportedConfigurations == null) dart.nullFailed(I[147], 22817, 39, "supportedConfigurations");
    return js_util.promiseToFuture(dart.dynamic, this.requestMediaKeySystemAccess(keySystem, supportedConfigurations));
  }
  [S$2.$sendBeacon](...args) {
    return this.sendBeacon.apply(this, args);
  }
  [S$2.$share](data = null) {
    let data_dict = null;
    if (data != null) {
      data_dict = html_common.convertDartToNative_Dictionary(data);
    }
    return js_util.promiseToFuture(dart.dynamic, this.share(data_dict));
  }
  get [S$2.$webdriver]() {
    return this.webdriver;
  }
  get [S$2.$cookieEnabled]() {
    return this.cookieEnabled;
  }
  get [S$2.$appCodeName]() {
    return this.appCodeName;
  }
  get [S$2.$appName]() {
    return this.appName;
  }
  get [S$2.$appVersion]() {
    return this.appVersion;
  }
  get [S$2.$dartEnabled]() {
    return this.dartEnabled;
  }
  get [S$2.$platform]() {
    return this.platform;
  }
  get [S$2.$product]() {
    return this.product;
  }
  get [S$2.$userAgent]() {
    return this.userAgent;
  }
  get [S$2.$languages]() {
    return this.languages;
  }
  get [S$2.$onLine]() {
    return this.onLine;
  }
};
dart.addTypeTests(html$.Navigator);
dart.addTypeCaches(html$.Navigator);
html$.Navigator[dart.implements] = () => [html$.NavigatorCookies, html$.NavigatorLanguage, html$.NavigatorOnLine, html$.NavigatorAutomationInformation, html$.NavigatorID];
dart.setMethodSignature(html$.Navigator, () => ({
  __proto__: dart.getMethods(html$.Navigator.__proto__),
  [S$1.$getGamepads]: dart.fnType(core.List$(dart.nullable(html$.Gamepad)), []),
  [S$1.$getUserMedia]: dart.fnType(async.Future$(html$.MediaStream), [], {audio: dart.dynamic, video: dart.dynamic}, {}),
  [S$1._ensureGetUserMedia]: dart.fnType(dart.dynamic, []),
  [S$1._getUserMedia]: dart.fnType(dart.void, [dart.dynamic, dart.fnType(dart.void, [html$.MediaStream]), dart.fnType(dart.void, [html$.NavigatorUserMediaError])]),
  [S$2.$cancelKeyboardLock]: dart.fnType(dart.void, []),
  [S$2.$getBattery]: dart.fnType(async.Future, []),
  [S$1._getGamepads]: dart.fnType(core.List$(dart.nullable(html$.Gamepad)), []),
  [S$2.$getInstalledRelatedApps]: dart.fnType(async.Future$(html$.RelatedApplication), []),
  [S$2.$getVRDisplays]: dart.fnType(async.Future, []),
  [S$2.$registerProtocolHandler]: dart.fnType(dart.void, [core.String, core.String, core.String]),
  [S$2.$requestKeyboardLock]: dart.fnType(async.Future, [], [dart.nullable(core.List$(core.String))]),
  [S$2._requestKeyboardLock_1]: dart.fnType(async.Future, [core.List]),
  [S$2._requestKeyboardLock_2]: dart.fnType(async.Future, []),
  [S$2.$requestMidiAccess]: dart.fnType(async.Future, [], [dart.nullable(core.Map)]),
  [S$2.$requestMediaKeySystemAccess]: dart.fnType(async.Future, [core.String, core.List$(core.Map)]),
  [S$2.$sendBeacon]: dart.fnType(core.bool, [core.String, dart.nullable(core.Object)]),
  [S$2.$share]: dart.fnType(async.Future, [], [dart.nullable(core.Map)])
}));
dart.setGetterSignature(html$.Navigator, () => ({
  __proto__: dart.getGetters(html$.Navigator.__proto__),
  [S$1.$language]: core.String,
  [S$1.$budget]: dart.nullable(html$._BudgetService),
  [S$1.$clipboard]: dart.nullable(html$._Clipboard),
  [S$1.$connection]: dart.nullable(html$.NetworkInformation),
  [S$1.$credentials]: dart.nullable(html$.CredentialsContainer),
  [S$1.$deviceMemory]: dart.nullable(core.num),
  [S$2.$doNotTrack]: dart.nullable(core.String),
  [S$2.$geolocation]: html$.Geolocation,
  [S$2.$maxTouchPoints]: dart.nullable(core.int),
  [S$2.$mediaCapabilities]: dart.nullable(html$.MediaCapabilities),
  [S$2.$mediaDevices]: dart.nullable(html$.MediaDevices),
  [S$2.$mediaSession]: dart.nullable(html$.MediaSession),
  [S$2.$mimeTypes]: dart.nullable(html$.MimeTypeArray),
  [S$2.$nfc]: dart.nullable(html$._NFC),
  [S$2.$permissions]: dart.nullable(html$.Permissions),
  [S$2.$presentation]: dart.nullable(html$.Presentation),
  [S$2.$productSub]: dart.nullable(core.String),
  [S$2.$serviceWorker]: dart.nullable(html$.ServiceWorkerContainer),
  [S$2.$storage]: dart.nullable(html$.StorageManager),
  [S$2.$vendor]: core.String,
  [S$2.$vendorSub]: core.String,
  [S$2.$vr]: dart.nullable(html$.VR),
  [S$2.$persistentStorage]: dart.nullable(html$.DeprecatedStorageQuota),
  [S$2.$temporaryStorage]: dart.nullable(html$.DeprecatedStorageQuota),
  [S$2.$webdriver]: dart.nullable(core.bool),
  [S$2.$cookieEnabled]: dart.nullable(core.bool),
  [S$2.$appCodeName]: core.String,
  [S$2.$appName]: core.String,
  [S$2.$appVersion]: core.String,
  [S$2.$dartEnabled]: dart.nullable(core.bool),
  [S$2.$platform]: dart.nullable(core.String),
  [S$2.$product]: core.String,
  [S$2.$userAgent]: core.String,
  [S$2.$languages]: dart.nullable(core.List$(core.String)),
  [S$2.$onLine]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.Navigator, I[148]);
dart.registerExtension("Navigator", html$.Navigator);
html$.NavigatorAutomationInformation = class NavigatorAutomationInformation extends _interceptors.Interceptor {
  get [S$2.$webdriver]() {
    return this.webdriver;
  }
};
dart.addTypeTests(html$.NavigatorAutomationInformation);
dart.addTypeCaches(html$.NavigatorAutomationInformation);
dart.setGetterSignature(html$.NavigatorAutomationInformation, () => ({
  __proto__: dart.getGetters(html$.NavigatorAutomationInformation.__proto__),
  [S$2.$webdriver]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.NavigatorAutomationInformation, I[148]);
dart.registerExtension("NavigatorAutomationInformation", html$.NavigatorAutomationInformation);
html$.NavigatorCookies = class NavigatorCookies extends _interceptors.Interceptor {
  get [S$2.$cookieEnabled]() {
    return this.cookieEnabled;
  }
};
dart.addTypeTests(html$.NavigatorCookies);
dart.addTypeCaches(html$.NavigatorCookies);
dart.setGetterSignature(html$.NavigatorCookies, () => ({
  __proto__: dart.getGetters(html$.NavigatorCookies.__proto__),
  [S$2.$cookieEnabled]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.NavigatorCookies, I[148]);
dart.registerExtension("NavigatorCookies", html$.NavigatorCookies);
html$.NavigatorID = class NavigatorID extends _interceptors.Interceptor {
  get appCodeName() {
    return this.appCodeName;
  }
  get appName() {
    return this.appName;
  }
  get appVersion() {
    return this.appVersion;
  }
  get dartEnabled() {
    return this.dartEnabled;
  }
  get platform() {
    return this.platform;
  }
  get product() {
    return this.product;
  }
  get userAgent() {
    return this.userAgent;
  }
};
dart.addTypeTests(html$.NavigatorID);
dart.addTypeCaches(html$.NavigatorID);
dart.setGetterSignature(html$.NavigatorID, () => ({
  __proto__: dart.getGetters(html$.NavigatorID.__proto__),
  appCodeName: core.String,
  [S$2.$appCodeName]: core.String,
  appName: core.String,
  [S$2.$appName]: core.String,
  appVersion: core.String,
  [S$2.$appVersion]: core.String,
  dartEnabled: dart.nullable(core.bool),
  [S$2.$dartEnabled]: dart.nullable(core.bool),
  platform: dart.nullable(core.String),
  [S$2.$platform]: dart.nullable(core.String),
  product: core.String,
  [S$2.$product]: core.String,
  userAgent: core.String,
  [S$2.$userAgent]: core.String
}));
dart.setLibraryUri(html$.NavigatorID, I[148]);
dart.defineExtensionAccessors(html$.NavigatorID, [
  'appCodeName',
  'appName',
  'appVersion',
  'dartEnabled',
  'platform',
  'product',
  'userAgent'
]);
html$.NavigatorLanguage = class NavigatorLanguage extends _interceptors.Interceptor {
  get language() {
    return this.language;
  }
  get languages() {
    return this.languages;
  }
};
dart.addTypeTests(html$.NavigatorLanguage);
dart.addTypeCaches(html$.NavigatorLanguage);
dart.setGetterSignature(html$.NavigatorLanguage, () => ({
  __proto__: dart.getGetters(html$.NavigatorLanguage.__proto__),
  language: dart.nullable(core.String),
  [S$1.$language]: dart.nullable(core.String),
  languages: dart.nullable(core.List$(core.String)),
  [S$2.$languages]: dart.nullable(core.List$(core.String))
}));
dart.setLibraryUri(html$.NavigatorLanguage, I[148]);
dart.defineExtensionAccessors(html$.NavigatorLanguage, ['language', 'languages']);
html$.NavigatorOnLine = class NavigatorOnLine extends _interceptors.Interceptor {
  get onLine() {
    return this.onLine;
  }
};
dart.addTypeTests(html$.NavigatorOnLine);
dart.addTypeCaches(html$.NavigatorOnLine);
dart.setGetterSignature(html$.NavigatorOnLine, () => ({
  __proto__: dart.getGetters(html$.NavigatorOnLine.__proto__),
  onLine: dart.nullable(core.bool),
  [S$2.$onLine]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.NavigatorOnLine, I[148]);
dart.defineExtensionAccessors(html$.NavigatorOnLine, ['onLine']);
html$.NavigatorUserMediaError = class NavigatorUserMediaError extends _interceptors.Interceptor {
  get [S$2.$constraintName]() {
    return this.constraintName;
  }
  get [$message]() {
    return this.message;
  }
  get [$name]() {
    return this.name;
  }
};
dart.addTypeTests(html$.NavigatorUserMediaError);
dart.addTypeCaches(html$.NavigatorUserMediaError);
dart.setGetterSignature(html$.NavigatorUserMediaError, () => ({
  __proto__: dart.getGetters(html$.NavigatorUserMediaError.__proto__),
  [S$2.$constraintName]: dart.nullable(core.String),
  [$message]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.NavigatorUserMediaError, I[148]);
dart.registerExtension("NavigatorUserMediaError", html$.NavigatorUserMediaError);
html$.NetworkInformation = class NetworkInformation extends html$.EventTarget {
  get [S$2.$downlink]() {
    return this.downlink;
  }
  get [S$2.$downlinkMax]() {
    return this.downlinkMax;
  }
  get [S$2.$effectiveType]() {
    return this.effectiveType;
  }
  get [S$2.$rtt]() {
    return this.rtt;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S.$onChange]() {
    return html$.NetworkInformation.changeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.NetworkInformation);
dart.addTypeCaches(html$.NetworkInformation);
dart.setGetterSignature(html$.NetworkInformation, () => ({
  __proto__: dart.getGetters(html$.NetworkInformation.__proto__),
  [S$2.$downlink]: dart.nullable(core.num),
  [S$2.$downlinkMax]: dart.nullable(core.num),
  [S$2.$effectiveType]: dart.nullable(core.String),
  [S$2.$rtt]: dart.nullable(core.int),
  [S.$type]: dart.nullable(core.String),
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.NetworkInformation, I[148]);
dart.defineLazy(html$.NetworkInformation, {
  /*html$.NetworkInformation.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("NetworkInformation", html$.NetworkInformation);
html$._ChildNodeListLazy = class _ChildNodeListLazy extends collection.ListBase$(html$.Node) {
  get first() {
    let result = this[S$._this].firstChild;
    if (result == null) dart.throw(new core.StateError.new("No elements"));
    return result;
  }
  set first(value) {
    super.first = value;
  }
  get last() {
    let result = this[S$._this].lastChild;
    if (result == null) dart.throw(new core.StateError.new("No elements"));
    return result;
  }
  set last(value) {
    super.last = value;
  }
  get single() {
    let l = this.length;
    if (l === 0) dart.throw(new core.StateError.new("No elements"));
    if (dart.notNull(l) > 1) dart.throw(new core.StateError.new("More than one element"));
    return dart.nullCheck(this[S$._this].firstChild);
  }
  add(value) {
    html$.Node.as(value);
    if (value == null) dart.nullFailed(I[147], 23049, 17, "value");
    this[S$._this][S.$append](value);
  }
  addAll(iterable) {
    T$0.IterableOfNode().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 23053, 30, "iterable");
    if (html$._ChildNodeListLazy.is(iterable)) {
      let otherList = iterable;
      if (otherList[S$._this] != this[S$._this]) {
        for (let i = 0, len = otherList.length; i < dart.notNull(len); i = i + 1) {
          this[S$._this][S.$append](dart.nullCheck(otherList[S$._this].firstChild));
        }
      }
      return;
    }
    for (let node of iterable) {
      this[S$._this][S.$append](node);
    }
  }
  insert(index, node) {
    if (index == null) dart.nullFailed(I[147], 23069, 19, "index");
    html$.Node.as(node);
    if (node == null) dart.nullFailed(I[147], 23069, 31, "node");
    if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this.length)) {
      dart.throw(new core.RangeError.range(index, 0, this.length));
    }
    if (index == this.length) {
      this[S$._this][S.$append](node);
    } else {
      this[S$._this].insertBefore(node, this._get(index));
    }
  }
  insertAll(index, iterable) {
    if (index == null) dart.nullFailed(I[147], 23080, 22, "index");
    T$0.IterableOfNode().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 23080, 44, "iterable");
    if (index == this.length) {
      this.addAll(iterable);
    } else {
      let item = this._get(index);
      this[S$._this][S$.$insertAllBefore](iterable, item);
    }
  }
  setAll(index, iterable) {
    if (index == null) dart.nullFailed(I[147], 23089, 19, "index");
    T$0.IterableOfNode().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 23089, 41, "iterable");
    dart.throw(new core.UnsupportedError.new("Cannot setAll on Node list"));
  }
  removeLast() {
    let result = this.last;
    if (result != null) {
      this[S$._this][S$._removeChild](result);
    }
    return result;
  }
  removeAt(index) {
    if (index == null) dart.nullFailed(I[147], 23101, 21, "index");
    let result = this._get(index);
    if (result != null) {
      this[S$._this][S$._removeChild](result);
    }
    return result;
  }
  remove(object) {
    if (!html$.Node.is(object)) return false;
    let node = object;
    if (this[S$._this] != node.parentNode) return false;
    this[S$._this][S$._removeChild](node);
    return true;
  }
  [S$1._filter$2](test, removeMatching) {
    if (test == null) dart.nullFailed(I[147], 23117, 21, "test");
    if (removeMatching == null) dart.nullFailed(I[147], 23117, 43, "removeMatching");
    let child = this[S$._this].firstChild;
    while (child != null) {
      let nextChild = child[S.$nextNode];
      if (test(child) == removeMatching) {
        this[S$._this][S$._removeChild](child);
      }
      child = nextChild;
    }
  }
  removeWhere(test) {
    if (test == null) dart.nullFailed(I[147], 23131, 25, "test");
    this[S$1._filter$2](test, true);
  }
  retainWhere(test) {
    if (test == null) dart.nullFailed(I[147], 23135, 25, "test");
    this[S$1._filter$2](test, false);
  }
  clear() {
    this[S$._this][S$._clearChildren]();
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 23143, 25, "index");
    html$.Node.as(value);
    if (value == null) dart.nullFailed(I[147], 23143, 37, "value");
    this[S$._this][S$._replaceChild](value, this._get(index));
    return value$;
  }
  get iterator() {
    return this[S$._this].childNodes[$iterator];
  }
  sort(compare = null) {
    dart.throw(new core.UnsupportedError.new("Cannot sort Node list"));
  }
  shuffle(random = null) {
    dart.throw(new core.UnsupportedError.new("Cannot shuffle Node list"));
  }
  setRange(start, end, iterable, skipCount = 0) {
    if (start == null) dart.nullFailed(I[147], 23162, 21, "start");
    if (end == null) dart.nullFailed(I[147], 23162, 32, "end");
    T$0.IterableOfNode().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 23162, 52, "iterable");
    if (skipCount == null) dart.nullFailed(I[147], 23163, 12, "skipCount");
    dart.throw(new core.UnsupportedError.new("Cannot setRange on Node list"));
  }
  fillRange(start, end, fill = null) {
    if (start == null) dart.nullFailed(I[147], 23167, 22, "start");
    if (end == null) dart.nullFailed(I[147], 23167, 33, "end");
    T$0.NodeN$1().as(fill);
    dart.throw(new core.UnsupportedError.new("Cannot fillRange on Node list"));
  }
  removeRange(start, end) {
    if (start == null) dart.nullFailed(I[147], 23171, 24, "start");
    if (end == null) dart.nullFailed(I[147], 23171, 35, "end");
    dart.throw(new core.UnsupportedError.new("Cannot removeRange on Node list"));
  }
  get length() {
    return this[S$._this].childNodes[$length];
  }
  set length(value) {
    if (value == null) dart.nullFailed(I[147], 23180, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot set length on immutable List."));
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[147], 23184, 24, "index");
    return this[S$._this].childNodes[$_get](index);
  }
  get rawList() {
    return this[S$._this].childNodes;
  }
};
(html$._ChildNodeListLazy.new = function(_this) {
  if (_this == null) dart.nullFailed(I[147], 23028, 27, "_this");
  this[S$._this] = _this;
  ;
}).prototype = html$._ChildNodeListLazy.prototype;
dart.addTypeTests(html$._ChildNodeListLazy);
dart.addTypeCaches(html$._ChildNodeListLazy);
html$._ChildNodeListLazy[dart.implements] = () => [html_common.NodeListWrapper];
dart.setMethodSignature(html$._ChildNodeListLazy, () => ({
  __proto__: dart.getMethods(html$._ChildNodeListLazy.__proto__),
  [S$1._filter$2]: dart.fnType(dart.void, [dart.fnType(core.bool, [html$.Node]), core.bool]),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  _get: dart.fnType(html$.Node, [core.int]),
  [$_get]: dart.fnType(html$.Node, [core.int])
}));
dart.setGetterSignature(html$._ChildNodeListLazy, () => ({
  __proto__: dart.getGetters(html$._ChildNodeListLazy.__proto__),
  length: core.int,
  [$length]: core.int,
  rawList: core.List$(html$.Node)
}));
dart.setSetterSignature(html$._ChildNodeListLazy, () => ({
  __proto__: dart.getSetters(html$._ChildNodeListLazy.__proto__),
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(html$._ChildNodeListLazy, I[148]);
dart.setFieldSignature(html$._ChildNodeListLazy, () => ({
  __proto__: dart.getFields(html$._ChildNodeListLazy.__proto__),
  [S$._this]: dart.finalFieldType(html$.Node)
}));
dart.defineExtensionMethods(html$._ChildNodeListLazy, [
  'add',
  'addAll',
  'insert',
  'insertAll',
  'setAll',
  'removeLast',
  'removeAt',
  'remove',
  'removeWhere',
  'retainWhere',
  'clear',
  '_set',
  'sort',
  'shuffle',
  'setRange',
  'fillRange',
  'removeRange',
  '_get'
]);
dart.defineExtensionAccessors(html$._ChildNodeListLazy, [
  'first',
  'last',
  'single',
  'iterator',
  'length'
]);
html$.NodeFilter = class NodeFilter extends _interceptors.Interceptor {};
dart.addTypeTests(html$.NodeFilter);
dart.addTypeCaches(html$.NodeFilter);
dart.setLibraryUri(html$.NodeFilter, I[148]);
dart.defineLazy(html$.NodeFilter, {
  /*html$.NodeFilter.FILTER_ACCEPT*/get FILTER_ACCEPT() {
    return 1;
  },
  /*html$.NodeFilter.FILTER_REJECT*/get FILTER_REJECT() {
    return 2;
  },
  /*html$.NodeFilter.FILTER_SKIP*/get FILTER_SKIP() {
    return 3;
  },
  /*html$.NodeFilter.SHOW_ALL*/get SHOW_ALL() {
    return 4294967295.0;
  },
  /*html$.NodeFilter.SHOW_COMMENT*/get SHOW_COMMENT() {
    return 128;
  },
  /*html$.NodeFilter.SHOW_DOCUMENT*/get SHOW_DOCUMENT() {
    return 256;
  },
  /*html$.NodeFilter.SHOW_DOCUMENT_FRAGMENT*/get SHOW_DOCUMENT_FRAGMENT() {
    return 1024;
  },
  /*html$.NodeFilter.SHOW_DOCUMENT_TYPE*/get SHOW_DOCUMENT_TYPE() {
    return 512;
  },
  /*html$.NodeFilter.SHOW_ELEMENT*/get SHOW_ELEMENT() {
    return 1;
  },
  /*html$.NodeFilter.SHOW_PROCESSING_INSTRUCTION*/get SHOW_PROCESSING_INSTRUCTION() {
    return 64;
  },
  /*html$.NodeFilter.SHOW_TEXT*/get SHOW_TEXT() {
    return 4;
  }
}, false);
dart.registerExtension("NodeFilter", html$.NodeFilter);
html$.NodeIterator = class NodeIterator extends _interceptors.Interceptor {
  static new(root, whatToShow) {
    if (root == null) dart.nullFailed(I[147], 23593, 29, "root");
    if (whatToShow == null) dart.nullFailed(I[147], 23593, 39, "whatToShow");
    return html$.document[S$1._createNodeIterator](root, whatToShow, null);
  }
  get [S$2.$pointerBeforeReferenceNode]() {
    return this.pointerBeforeReferenceNode;
  }
  get [S$2.$referenceNode]() {
    return this.referenceNode;
  }
  get [S$1.$root]() {
    return this.root;
  }
  get [S$2.$whatToShow]() {
    return this.whatToShow;
  }
  [S$2.$detach](...args) {
    return this.detach.apply(this, args);
  }
  [S.$nextNode](...args) {
    return this.nextNode.apply(this, args);
  }
  [S$.$previousNode](...args) {
    return this.previousNode.apply(this, args);
  }
};
dart.addTypeTests(html$.NodeIterator);
dart.addTypeCaches(html$.NodeIterator);
dart.setMethodSignature(html$.NodeIterator, () => ({
  __proto__: dart.getMethods(html$.NodeIterator.__proto__),
  [S$2.$detach]: dart.fnType(dart.void, []),
  [S.$nextNode]: dart.fnType(dart.nullable(html$.Node), []),
  [S$.$previousNode]: dart.fnType(dart.nullable(html$.Node), [])
}));
dart.setGetterSignature(html$.NodeIterator, () => ({
  __proto__: dart.getGetters(html$.NodeIterator.__proto__),
  [S$2.$pointerBeforeReferenceNode]: dart.nullable(core.bool),
  [S$2.$referenceNode]: dart.nullable(html$.Node),
  [S$1.$root]: html$.Node,
  [S$2.$whatToShow]: core.int
}));
dart.setLibraryUri(html$.NodeIterator, I[148]);
dart.registerExtension("NodeIterator", html$.NodeIterator);
const Interceptor_ListMixin$36$3 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$3.new = function() {
  Interceptor_ListMixin$36$3.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$3.prototype;
dart.applyMixin(Interceptor_ListMixin$36$3, collection.ListMixin$(html$.Node));
const Interceptor_ImmutableListMixin$36$3 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$3 {};
(Interceptor_ImmutableListMixin$36$3.new = function() {
  Interceptor_ImmutableListMixin$36$3.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$3.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$3, html$.ImmutableListMixin$(html$.Node));
html$.NodeList = class NodeList extends Interceptor_ImmutableListMixin$36$3 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 23630, 24, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 23636, 25, "index");
    html$.Node.as(value);
    if (value == null) dart.nullFailed(I[147], 23636, 37, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 23642, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 23670, 22, "index");
    return this[$_get](index);
  }
  [S$1._item](...args) {
    return this.item.apply(this, args);
  }
};
html$.NodeList.prototype[dart.isList] = true;
dart.addTypeTests(html$.NodeList);
dart.addTypeCaches(html$.NodeList);
html$.NodeList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.Node), core.List$(html$.Node)];
dart.setMethodSignature(html$.NodeList, () => ({
  __proto__: dart.getMethods(html$.NodeList.__proto__),
  [$_get]: dart.fnType(html$.Node, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$1._item]: dart.fnType(dart.nullable(html$.Node), [core.int])
}));
dart.setGetterSignature(html$.NodeList, () => ({
  __proto__: dart.getGetters(html$.NodeList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.NodeList, () => ({
  __proto__: dart.getSetters(html$.NodeList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.NodeList, I[148]);
dart.registerExtension("NodeList", html$.NodeList);
dart.registerExtension("RadioNodeList", html$.NodeList);
html$.NonDocumentTypeChildNode = class NonDocumentTypeChildNode extends _interceptors.Interceptor {
  get [S.$nextElementSibling]() {
    return this.nextElementSibling;
  }
  get [S.$previousElementSibling]() {
    return this.previousElementSibling;
  }
};
dart.addTypeTests(html$.NonDocumentTypeChildNode);
dart.addTypeCaches(html$.NonDocumentTypeChildNode);
dart.setGetterSignature(html$.NonDocumentTypeChildNode, () => ({
  __proto__: dart.getGetters(html$.NonDocumentTypeChildNode.__proto__),
  [S.$nextElementSibling]: dart.nullable(html$.Element),
  [S.$previousElementSibling]: dart.nullable(html$.Element)
}));
dart.setLibraryUri(html$.NonDocumentTypeChildNode, I[148]);
dart.registerExtension("NonDocumentTypeChildNode", html$.NonDocumentTypeChildNode);
html$.NonElementParentNode = class NonElementParentNode extends _interceptors.Interceptor {
  [S$1.$getElementById](...args) {
    return this.getElementById.apply(this, args);
  }
};
dart.addTypeTests(html$.NonElementParentNode);
dart.addTypeCaches(html$.NonElementParentNode);
dart.setMethodSignature(html$.NonElementParentNode, () => ({
  __proto__: dart.getMethods(html$.NonElementParentNode.__proto__),
  [S$1.$getElementById]: dart.fnType(dart.nullable(html$.Element), [core.String])
}));
dart.setLibraryUri(html$.NonElementParentNode, I[148]);
dart.registerExtension("NonElementParentNode", html$.NonElementParentNode);
html$.NoncedElement = class NoncedElement extends _interceptors.Interceptor {
  get [S.$nonce]() {
    return this.nonce;
  }
  set [S.$nonce](value) {
    this.nonce = value;
  }
};
dart.addTypeTests(html$.NoncedElement);
dart.addTypeCaches(html$.NoncedElement);
dart.setGetterSignature(html$.NoncedElement, () => ({
  __proto__: dart.getGetters(html$.NoncedElement.__proto__),
  [S.$nonce]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.NoncedElement, () => ({
  __proto__: dart.getSetters(html$.NoncedElement.__proto__),
  [S.$nonce]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.NoncedElement, I[148]);
dart.registerExtension("NoncedElement", html$.NoncedElement);
html$.Notification = class Notification$ extends html$.EventTarget {
  static new(title, opts) {
    if (title == null) dart.nullFailed(I[147], 23725, 31, "title");
    let dir = opts && 'dir' in opts ? opts.dir : null;
    let body = opts && 'body' in opts ? opts.body : null;
    let lang = opts && 'lang' in opts ? opts.lang : null;
    let tag = opts && 'tag' in opts ? opts.tag : null;
    let icon = opts && 'icon' in opts ? opts.icon : null;
    let parsedOptions = new _js_helper.LinkedMap.new();
    if (dir != null) parsedOptions[$_set]("dir", dir);
    if (body != null) parsedOptions[$_set]("body", body);
    if (lang != null) parsedOptions[$_set]("lang", lang);
    if (tag != null) parsedOptions[$_set]("tag", tag);
    if (icon != null) parsedOptions[$_set]("icon", icon);
    return html$.Notification._factoryNotification(title, parsedOptions);
  }
  static _factoryNotification(title, options = null) {
    if (title == null) dart.nullFailed(I[147], 23776, 51, "title");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return html$.Notification._create_1(title, options_1);
    }
    return html$.Notification._create_2(title);
  }
  static _create_1(title, options) {
    return new Notification(title, options);
  }
  static _create_2(title) {
    return new Notification(title);
  }
  static get supported() {
    return !!window.Notification;
  }
  get [S$2.$actions]() {
    return this.actions;
  }
  get [S$2.$badge]() {
    return this.badge;
  }
  get [S$1.$body]() {
    return this.body;
  }
  get [S$.$data]() {
    return this.data;
  }
  get [S.$dir]() {
    return this.dir;
  }
  get [S$2.$icon]() {
    return this.icon;
  }
  get [S$2.$image]() {
    return this.image;
  }
  get [S.$lang]() {
    return this.lang;
  }
  get [S$2.$renotify]() {
    return this.renotify;
  }
  get [S$2.$requireInteraction]() {
    return this.requireInteraction;
  }
  get [S$2.$silent]() {
    return this.silent;
  }
  get [S$2.$tag]() {
    return this.tag;
  }
  get [S$.$timestamp]() {
    return this.timestamp;
  }
  get [S.$title]() {
    return this.title;
  }
  get [S$2.$vibrate]() {
    return this.vibrate;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  static requestPermission() {
    let completer = T$0.CompleterOfString().new();
    dart.global.Notification.requestPermission(dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 23837, 25, "value");
      completer.complete(value);
    }, T$.StringTovoid()));
    return completer.future;
  }
  get [S.$onClick]() {
    return html$.Notification.clickEvent.forTarget(this);
  }
  get [S.$onClose]() {
    return html$.Notification.closeEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.Notification.errorEvent.forTarget(this);
  }
  get [S$2.$onShow]() {
    return html$.Notification.showEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.Notification);
dart.addTypeCaches(html$.Notification);
dart.setMethodSignature(html$.Notification, () => ({
  __proto__: dart.getMethods(html$.Notification.__proto__),
  [S.$close]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.Notification, () => ({
  __proto__: dart.getGetters(html$.Notification.__proto__),
  [S$2.$actions]: dart.nullable(core.List),
  [S$2.$badge]: dart.nullable(core.String),
  [S$1.$body]: dart.nullable(core.String),
  [S$.$data]: dart.nullable(core.Object),
  [S.$dir]: dart.nullable(core.String),
  [S$2.$icon]: dart.nullable(core.String),
  [S$2.$image]: dart.nullable(core.String),
  [S.$lang]: dart.nullable(core.String),
  [S$2.$renotify]: dart.nullable(core.bool),
  [S$2.$requireInteraction]: dart.nullable(core.bool),
  [S$2.$silent]: dart.nullable(core.bool),
  [S$2.$tag]: dart.nullable(core.String),
  [S$.$timestamp]: dart.nullable(core.int),
  [S.$title]: dart.nullable(core.String),
  [S$2.$vibrate]: dart.nullable(core.List$(core.int)),
  [S.$onClick]: async.Stream$(html$.Event),
  [S.$onClose]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event),
  [S$2.$onShow]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.Notification, I[148]);
dart.defineLazy(html$.Notification, {
  /*html$.Notification.clickEvent*/get clickEvent() {
    return C[353] || CT.C353;
  },
  /*html$.Notification.closeEvent*/get closeEvent() {
    return C[217] || CT.C217;
  },
  /*html$.Notification.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.Notification.showEvent*/get showEvent() {
    return C[354] || CT.C354;
  }
}, false);
dart.registerExtension("Notification", html$.Notification);
html$.NotificationEvent = class NotificationEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 23866, 36, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 23866, 46, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.NotificationEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new NotificationEvent(type, eventInitDict);
  }
  get [S$1.$action]() {
    return this.action;
  }
  get [S$2.$notification]() {
    return this.notification;
  }
  get [S$2.$reply]() {
    return this.reply;
  }
};
dart.addTypeTests(html$.NotificationEvent);
dart.addTypeCaches(html$.NotificationEvent);
dart.setGetterSignature(html$.NotificationEvent, () => ({
  __proto__: dart.getGetters(html$.NotificationEvent.__proto__),
  [S$1.$action]: dart.nullable(core.String),
  [S$2.$notification]: dart.nullable(html$.Notification),
  [S$2.$reply]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.NotificationEvent, I[148]);
dart.registerExtension("NotificationEvent", html$.NotificationEvent);
html$.OListElement = class OListElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("ol");
  }
  get [$reversed]() {
    return this.reversed;
  }
  set [$reversed](value) {
    this.reversed = value;
  }
  get [S$.$start]() {
    return this.start;
  }
  set [S$.$start](value) {
    this.start = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
};
(html$.OListElement.created = function() {
  html$.OListElement.__proto__.created.call(this);
  ;
}).prototype = html$.OListElement.prototype;
dart.addTypeTests(html$.OListElement);
dart.addTypeCaches(html$.OListElement);
dart.setGetterSignature(html$.OListElement, () => ({
  __proto__: dart.getGetters(html$.OListElement.__proto__),
  [$reversed]: dart.nullable(core.bool),
  [S$.$start]: core.int,
  [S.$type]: core.String
}));
dart.setSetterSignature(html$.OListElement, () => ({
  __proto__: dart.getSetters(html$.OListElement.__proto__),
  [$reversed]: dart.nullable(core.bool),
  [S$.$start]: core.int,
  [S.$type]: core.String
}));
dart.setLibraryUri(html$.OListElement, I[148]);
dart.registerExtension("HTMLOListElement", html$.OListElement);
html$.ObjectElement = class ObjectElement extends html$.HtmlElement {
  static new() {
    return html$.ObjectElement.as(html$.document[S.$createElement]("object"));
  }
  static get supported() {
    return html$.Element.isTagSupported("object");
  }
  get [S$1.$contentWindow]() {
    return html$._convertNativeToDart_Window(this[S$1._get_contentWindow]);
  }
  get [S$1._get_contentWindow]() {
    return this.contentWindow;
  }
  get [S$.$data]() {
    return this.data;
  }
  set [S$.$data](value) {
    this.data = value;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  get [S$1.$useMap]() {
    return this.useMap;
  }
  set [S$1.$useMap](value) {
    this.useMap = value;
  }
  get [S$.$validationMessage]() {
    return this.validationMessage;
  }
  get [S$.$validity]() {
    return this.validity;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  get [S$.$willValidate]() {
    return this.willValidate;
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$.__setter__](...args) {
    return this.__setter__.apply(this, args);
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$.$setCustomValidity](...args) {
    return this.setCustomValidity.apply(this, args);
  }
};
(html$.ObjectElement.created = function() {
  html$.ObjectElement.__proto__.created.call(this);
  ;
}).prototype = html$.ObjectElement.prototype;
dart.addTypeTests(html$.ObjectElement);
dart.addTypeCaches(html$.ObjectElement);
dart.setMethodSignature(html$.ObjectElement, () => ({
  __proto__: dart.getMethods(html$.ObjectElement.__proto__),
  [S$.__getter__]: dart.fnType(html$.Node, [core.String]),
  [S$.__setter__]: dart.fnType(dart.void, [core.String, html$.Node]),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$.$setCustomValidity]: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(html$.ObjectElement, () => ({
  __proto__: dart.getGetters(html$.ObjectElement.__proto__),
  [S$1.$contentWindow]: dart.nullable(html$.WindowBase),
  [S$1._get_contentWindow]: dart.dynamic,
  [S$.$data]: core.String,
  [S$.$form]: dart.nullable(html$.FormElement),
  [$height]: core.String,
  [$name]: core.String,
  [S.$type]: core.String,
  [S$1.$useMap]: core.String,
  [S$.$validationMessage]: core.String,
  [S$.$validity]: html$.ValidityState,
  [$width]: core.String,
  [S$.$willValidate]: core.bool
}));
dart.setSetterSignature(html$.ObjectElement, () => ({
  __proto__: dart.getSetters(html$.ObjectElement.__proto__),
  [S$.$data]: core.String,
  [$height]: core.String,
  [$name]: core.String,
  [S.$type]: core.String,
  [S$1.$useMap]: core.String,
  [$width]: core.String
}));
dart.setLibraryUri(html$.ObjectElement, I[148]);
dart.registerExtension("HTMLObjectElement", html$.ObjectElement);
html$.OffscreenCanvas = class OffscreenCanvas$ extends html$.EventTarget {
  static new(width, height) {
    if (width == null) dart.nullFailed(I[147], 24007, 31, "width");
    if (height == null) dart.nullFailed(I[147], 24007, 42, "height");
    return html$.OffscreenCanvas._create_1(width, height);
  }
  static _create_1(width, height) {
    return new OffscreenCanvas(width, height);
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  [S$2.$convertToBlob](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(html$.Blob, this.convertToBlob(options_dict));
  }
  [S$.$getContext](contextType, attributes = null) {
    if (contextType == null) dart.nullFailed(I[147], 24030, 29, "contextType");
    if (attributes != null) {
      let attributes_1 = html_common.convertDartToNative_Dictionary(attributes);
      return this[S$._getContext_1](contextType, attributes_1);
    }
    return this[S$._getContext_2](contextType);
  }
  [S$._getContext_1](...args) {
    return this.getContext.apply(this, args);
  }
  [S$._getContext_2](...args) {
    return this.getContext.apply(this, args);
  }
  [S$2.$transferToImageBitmap](...args) {
    return this.transferToImageBitmap.apply(this, args);
  }
};
dart.addTypeTests(html$.OffscreenCanvas);
dart.addTypeCaches(html$.OffscreenCanvas);
dart.setMethodSignature(html$.OffscreenCanvas, () => ({
  __proto__: dart.getMethods(html$.OffscreenCanvas.__proto__),
  [S$2.$convertToBlob]: dart.fnType(async.Future$(html$.Blob), [], [dart.nullable(core.Map)]),
  [S$.$getContext]: dart.fnType(dart.nullable(core.Object), [core.String], [dart.nullable(core.Map)]),
  [S$._getContext_1]: dart.fnType(dart.nullable(core.Object), [dart.dynamic, dart.dynamic]),
  [S$._getContext_2]: dart.fnType(dart.nullable(core.Object), [dart.dynamic]),
  [S$2.$transferToImageBitmap]: dart.fnType(html$.ImageBitmap, [])
}));
dart.setGetterSignature(html$.OffscreenCanvas, () => ({
  __proto__: dart.getGetters(html$.OffscreenCanvas.__proto__),
  [$height]: dart.nullable(core.int),
  [$width]: dart.nullable(core.int)
}));
dart.setSetterSignature(html$.OffscreenCanvas, () => ({
  __proto__: dart.getSetters(html$.OffscreenCanvas.__proto__),
  [$height]: dart.nullable(core.int),
  [$width]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.OffscreenCanvas, I[148]);
dart.registerExtension("OffscreenCanvas", html$.OffscreenCanvas);
html$.OffscreenCanvasRenderingContext2D = class OffscreenCanvasRenderingContext2D extends _interceptors.Interceptor {
  get [S$.$canvas]() {
    return this.canvas;
  }
  get [S.$direction]() {
    return this.direction;
  }
  set [S.$direction](value) {
    this.direction = value;
  }
  get [S$.$fillStyle]() {
    return this.fillStyle;
  }
  set [S$.$fillStyle](value) {
    this.fillStyle = value;
  }
  get [S$.$filter]() {
    return this.filter;
  }
  set [S$.$filter](value) {
    this.filter = value;
  }
  get [S$.$font]() {
    return this.font;
  }
  set [S$.$font](value) {
    this.font = value;
  }
  get [S$.$globalAlpha]() {
    return this.globalAlpha;
  }
  set [S$.$globalAlpha](value) {
    this.globalAlpha = value;
  }
  get [S$.$globalCompositeOperation]() {
    return this.globalCompositeOperation;
  }
  set [S$.$globalCompositeOperation](value) {
    this.globalCompositeOperation = value;
  }
  get [S$.$imageSmoothingEnabled]() {
    return this.imageSmoothingEnabled;
  }
  set [S$.$imageSmoothingEnabled](value) {
    this.imageSmoothingEnabled = value;
  }
  get [S$.$imageSmoothingQuality]() {
    return this.imageSmoothingQuality;
  }
  set [S$.$imageSmoothingQuality](value) {
    this.imageSmoothingQuality = value;
  }
  get [S$.$lineCap]() {
    return this.lineCap;
  }
  set [S$.$lineCap](value) {
    this.lineCap = value;
  }
  get [S$.$lineDashOffset]() {
    return this.lineDashOffset;
  }
  set [S$.$lineDashOffset](value) {
    this.lineDashOffset = value;
  }
  get [S$.$lineJoin]() {
    return this.lineJoin;
  }
  set [S$.$lineJoin](value) {
    this.lineJoin = value;
  }
  get [S$.$lineWidth]() {
    return this.lineWidth;
  }
  set [S$.$lineWidth](value) {
    this.lineWidth = value;
  }
  get [S$.$miterLimit]() {
    return this.miterLimit;
  }
  set [S$.$miterLimit](value) {
    this.miterLimit = value;
  }
  get [S$.$shadowBlur]() {
    return this.shadowBlur;
  }
  set [S$.$shadowBlur](value) {
    this.shadowBlur = value;
  }
  get [S$.$shadowColor]() {
    return this.shadowColor;
  }
  set [S$.$shadowColor](value) {
    this.shadowColor = value;
  }
  get [S$.$shadowOffsetX]() {
    return this.shadowOffsetX;
  }
  set [S$.$shadowOffsetX](value) {
    this.shadowOffsetX = value;
  }
  get [S$.$shadowOffsetY]() {
    return this.shadowOffsetY;
  }
  set [S$.$shadowOffsetY](value) {
    this.shadowOffsetY = value;
  }
  get [S$.$strokeStyle]() {
    return this.strokeStyle;
  }
  set [S$.$strokeStyle](value) {
    this.strokeStyle = value;
  }
  get [S$.$textAlign]() {
    return this.textAlign;
  }
  set [S$.$textAlign](value) {
    this.textAlign = value;
  }
  get [S$.$textBaseline]() {
    return this.textBaseline;
  }
  set [S$.$textBaseline](value) {
    this.textBaseline = value;
  }
  [S$.$beginPath](...args) {
    return this.beginPath.apply(this, args);
  }
  [S$.$clearRect](...args) {
    return this.clearRect.apply(this, args);
  }
  [S$.$clip](...args) {
    return this.clip.apply(this, args);
  }
  [S$2.$commit]() {
    return js_util.promiseToFuture(dart.dynamic, this.commit());
  }
  [S$.$createImageData](data_OR_imagedata_OR_sw, sh_OR_sw = null, imageDataColorSettings_OR_sh = null, imageDataColorSettings = null) {
    if (html$.ImageData.is(data_OR_imagedata_OR_sw) && sh_OR_sw == null && imageDataColorSettings_OR_sh == null && imageDataColorSettings == null) {
      let imagedata_1 = html_common.convertDartToNative_ImageData(data_OR_imagedata_OR_sw);
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_1](imagedata_1));
    }
    if (sh_OR_sw != null && core.int.is(data_OR_imagedata_OR_sw) && imageDataColorSettings_OR_sh == null && imageDataColorSettings == null) {
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_2](data_OR_imagedata_OR_sw, sh_OR_sw));
    }
    if (core.Map.is(imageDataColorSettings_OR_sh) && sh_OR_sw != null && core.int.is(data_OR_imagedata_OR_sw) && imageDataColorSettings == null) {
      let imageDataColorSettings_1 = html_common.convertDartToNative_Dictionary(imageDataColorSettings_OR_sh);
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_3](data_OR_imagedata_OR_sw, sh_OR_sw, imageDataColorSettings_1));
    }
    if (imageDataColorSettings != null && core.int.is(imageDataColorSettings_OR_sh) && sh_OR_sw != null && data_OR_imagedata_OR_sw != null) {
      let imageDataColorSettings_1 = html_common.convertDartToNative_Dictionary(imageDataColorSettings);
      return html_common.convertNativeToDart_ImageData(this[S$._createImageData_4](data_OR_imagedata_OR_sw, sh_OR_sw, imageDataColorSettings_OR_sh, imageDataColorSettings_1));
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$._createImageData_1](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$._createImageData_2](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$._createImageData_3](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$._createImageData_4](...args) {
    return this.createImageData.apply(this, args);
  }
  [S$.$createLinearGradient](...args) {
    return this.createLinearGradient.apply(this, args);
  }
  [S$.$createPattern](...args) {
    return this.createPattern.apply(this, args);
  }
  [S$.$createRadialGradient](...args) {
    return this.createRadialGradient.apply(this, args);
  }
  [S$.$drawImage](...args) {
    return this.drawImage.apply(this, args);
  }
  [S$.$fill](...args) {
    return this.fill.apply(this, args);
  }
  [S$.$fillRect](...args) {
    return this.fillRect.apply(this, args);
  }
  [S$.$fillText](...args) {
    return this.fillText.apply(this, args);
  }
  [S$.$getImageData](sx, sy, sw, sh) {
    if (sx == null) dart.nullFailed(I[147], 24220, 30, "sx");
    if (sy == null) dart.nullFailed(I[147], 24220, 38, "sy");
    if (sw == null) dart.nullFailed(I[147], 24220, 46, "sw");
    if (sh == null) dart.nullFailed(I[147], 24220, 54, "sh");
    return html_common.convertNativeToDart_ImageData(this[S$._getImageData_1](sx, sy, sw, sh));
  }
  [S$._getImageData_1](...args) {
    return this.getImageData.apply(this, args);
  }
  [S$.$getLineDash](...args) {
    return this.getLineDash.apply(this, args);
  }
  [S$.$isPointInPath](...args) {
    return this.isPointInPath.apply(this, args);
  }
  [S$.$isPointInStroke](...args) {
    return this.isPointInStroke.apply(this, args);
  }
  [S$.$measureText](...args) {
    return this.measureText.apply(this, args);
  }
  [S$.$putImageData](imagedata, dx, dy, dirtyX = null, dirtyY = null, dirtyWidth = null, dirtyHeight = null) {
    if (imagedata == null) dart.nullFailed(I[147], 24236, 31, "imagedata");
    if (dx == null) dart.nullFailed(I[147], 24236, 46, "dx");
    if (dy == null) dart.nullFailed(I[147], 24236, 54, "dy");
    if (dirtyX == null && dirtyY == null && dirtyWidth == null && dirtyHeight == null) {
      let imagedata_1 = html_common.convertDartToNative_ImageData(imagedata);
      this[S$._putImageData_1](imagedata_1, dx, dy);
      return;
    }
    if (dirtyHeight != null && dirtyWidth != null && dirtyY != null && dirtyX != null) {
      let imagedata_1 = html_common.convertDartToNative_ImageData(imagedata);
      this[S$._putImageData_2](imagedata_1, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$._putImageData_1](...args) {
    return this.putImageData.apply(this, args);
  }
  [S$._putImageData_2](...args) {
    return this.putImageData.apply(this, args);
  }
  [S$.$resetTransform](...args) {
    return this.resetTransform.apply(this, args);
  }
  [S$.$restore](...args) {
    return this.restore.apply(this, args);
  }
  [S$.$rotate](...args) {
    return this.rotate.apply(this, args);
  }
  [S$.$save](...args) {
    return this.save.apply(this, args);
  }
  [S$.$scale](...args) {
    return this.scale.apply(this, args);
  }
  [S$.$setLineDash](...args) {
    return this.setLineDash.apply(this, args);
  }
  [S$.$setTransform](...args) {
    return this.setTransform.apply(this, args);
  }
  [S$.$stroke](...args) {
    return this.stroke.apply(this, args);
  }
  [S$.$strokeRect](...args) {
    return this.strokeRect.apply(this, args);
  }
  [S$.$strokeText](...args) {
    return this.strokeText.apply(this, args);
  }
  [S$.$transform](...args) {
    return this.transform.apply(this, args);
  }
  [S.$translate](...args) {
    return this.translate.apply(this, args);
  }
  [S$.$arc](...args) {
    return this.arc.apply(this, args);
  }
  [S$.$arcTo](...args) {
    return this.arcTo.apply(this, args);
  }
  [S$.$bezierCurveTo](...args) {
    return this.bezierCurveTo.apply(this, args);
  }
  [S$.$closePath](...args) {
    return this.closePath.apply(this, args);
  }
  [S$.$ellipse](...args) {
    return this.ellipse.apply(this, args);
  }
  [S$.$lineTo](...args) {
    return this.lineTo.apply(this, args);
  }
  [S$.$moveTo](...args) {
    return this.moveTo.apply(this, args);
  }
  [S$.$quadraticCurveTo](...args) {
    return this.quadraticCurveTo.apply(this, args);
  }
  [S$.$rect](...args) {
    return this.rect.apply(this, args);
  }
};
dart.addTypeTests(html$.OffscreenCanvasRenderingContext2D);
dart.addTypeCaches(html$.OffscreenCanvasRenderingContext2D);
html$.OffscreenCanvasRenderingContext2D[dart.implements] = () => [html$._CanvasPath];
dart.setMethodSignature(html$.OffscreenCanvasRenderingContext2D, () => ({
  __proto__: dart.getMethods(html$.OffscreenCanvasRenderingContext2D.__proto__),
  [S$.$beginPath]: dart.fnType(dart.void, []),
  [S$.$clearRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$clip]: dart.fnType(dart.void, [], [dart.nullable(html$.Path2D)]),
  [S$2.$commit]: dart.fnType(async.Future, []),
  [S$.$createImageData]: dart.fnType(html$.ImageData, [dart.dynamic], [dart.nullable(core.int), dart.dynamic, dart.nullable(core.Map)]),
  [S$._createImageData_1]: dart.fnType(dart.dynamic, [dart.dynamic]),
  [S$._createImageData_2]: dart.fnType(dart.dynamic, [core.int, dart.dynamic]),
  [S$._createImageData_3]: dart.fnType(dart.dynamic, [core.int, dart.dynamic, dart.dynamic]),
  [S$._createImageData_4]: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.nullable(core.int), dart.dynamic]),
  [S$.$createLinearGradient]: dart.fnType(html$.CanvasGradient, [core.num, core.num, core.num, core.num]),
  [S$.$createPattern]: dart.fnType(dart.nullable(html$.CanvasPattern), [dart.dynamic, core.String]),
  [S$.$createRadialGradient]: dart.fnType(html$.CanvasGradient, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$drawImage]: dart.fnType(dart.void, [dart.dynamic, core.num, core.num], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$.$fill]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$fillRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$fillText]: dart.fnType(dart.void, [core.String, core.num, core.num], [dart.nullable(core.num)]),
  [S$.$getImageData]: dart.fnType(html$.ImageData, [core.int, core.int, core.int, core.int]),
  [S$._getImageData_1]: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$.$getLineDash]: dart.fnType(core.List$(core.num), []),
  [S$.$isPointInPath]: dart.fnType(core.bool, [dart.dynamic, core.num], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$isPointInStroke]: dart.fnType(core.bool, [dart.dynamic, core.num], [dart.nullable(core.num)]),
  [S$.$measureText]: dart.fnType(html$.TextMetrics, [core.String]),
  [S$.$putImageData]: dart.fnType(dart.void, [html$.ImageData, core.int, core.int], [dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int)]),
  [S$._putImageData_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$._putImageData_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$.$resetTransform]: dart.fnType(dart.void, []),
  [S$.$restore]: dart.fnType(dart.void, []),
  [S$.$rotate]: dart.fnType(dart.void, [core.num]),
  [S$.$save]: dart.fnType(dart.void, []),
  [S$.$scale]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$setLineDash]: dart.fnType(dart.void, [core.List$(core.num)]),
  [S$.$setTransform]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$stroke]: dart.fnType(dart.void, [], [dart.nullable(html$.Path2D)]),
  [S$.$strokeRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$strokeText]: dart.fnType(dart.void, [core.String, core.num, core.num], [dart.nullable(core.num)]),
  [S$.$transform]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S.$translate]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$arc]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$arcTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num]),
  [S$.$bezierCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$closePath]: dart.fnType(dart.void, []),
  [S$.$ellipse]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$lineTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$moveTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$quadraticCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$rect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num])
}));
dart.setGetterSignature(html$.OffscreenCanvasRenderingContext2D, () => ({
  __proto__: dart.getGetters(html$.OffscreenCanvasRenderingContext2D.__proto__),
  [S$.$canvas]: dart.nullable(html$.OffscreenCanvas),
  [S.$direction]: dart.nullable(core.String),
  [S$.$fillStyle]: dart.nullable(core.Object),
  [S$.$filter]: dart.nullable(core.String),
  [S$.$font]: dart.nullable(core.String),
  [S$.$globalAlpha]: dart.nullable(core.num),
  [S$.$globalCompositeOperation]: dart.nullable(core.String),
  [S$.$imageSmoothingEnabled]: dart.nullable(core.bool),
  [S$.$imageSmoothingQuality]: dart.nullable(core.String),
  [S$.$lineCap]: dart.nullable(core.String),
  [S$.$lineDashOffset]: dart.nullable(core.num),
  [S$.$lineJoin]: dart.nullable(core.String),
  [S$.$lineWidth]: dart.nullable(core.num),
  [S$.$miterLimit]: dart.nullable(core.num),
  [S$.$shadowBlur]: dart.nullable(core.num),
  [S$.$shadowColor]: dart.nullable(core.String),
  [S$.$shadowOffsetX]: dart.nullable(core.num),
  [S$.$shadowOffsetY]: dart.nullable(core.num),
  [S$.$strokeStyle]: dart.nullable(core.Object),
  [S$.$textAlign]: dart.nullable(core.String),
  [S$.$textBaseline]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.OffscreenCanvasRenderingContext2D, () => ({
  __proto__: dart.getSetters(html$.OffscreenCanvasRenderingContext2D.__proto__),
  [S.$direction]: dart.nullable(core.String),
  [S$.$fillStyle]: dart.nullable(core.Object),
  [S$.$filter]: dart.nullable(core.String),
  [S$.$font]: dart.nullable(core.String),
  [S$.$globalAlpha]: dart.nullable(core.num),
  [S$.$globalCompositeOperation]: dart.nullable(core.String),
  [S$.$imageSmoothingEnabled]: dart.nullable(core.bool),
  [S$.$imageSmoothingQuality]: dart.nullable(core.String),
  [S$.$lineCap]: dart.nullable(core.String),
  [S$.$lineDashOffset]: dart.nullable(core.num),
  [S$.$lineJoin]: dart.nullable(core.String),
  [S$.$lineWidth]: dart.nullable(core.num),
  [S$.$miterLimit]: dart.nullable(core.num),
  [S$.$shadowBlur]: dart.nullable(core.num),
  [S$.$shadowColor]: dart.nullable(core.String),
  [S$.$shadowOffsetX]: dart.nullable(core.num),
  [S$.$shadowOffsetY]: dart.nullable(core.num),
  [S$.$strokeStyle]: dart.nullable(core.Object),
  [S$.$textAlign]: dart.nullable(core.String),
  [S$.$textBaseline]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.OffscreenCanvasRenderingContext2D, I[148]);
dart.registerExtension("OffscreenCanvasRenderingContext2D", html$.OffscreenCanvasRenderingContext2D);
html$.OptGroupElement = class OptGroupElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("optgroup");
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$label]() {
    return this.label;
  }
  set [S$.$label](value) {
    this.label = value;
  }
};
(html$.OptGroupElement.created = function() {
  html$.OptGroupElement.__proto__.created.call(this);
  ;
}).prototype = html$.OptGroupElement.prototype;
dart.addTypeTests(html$.OptGroupElement);
dart.addTypeCaches(html$.OptGroupElement);
dart.setGetterSignature(html$.OptGroupElement, () => ({
  __proto__: dart.getGetters(html$.OptGroupElement.__proto__),
  [S$.$disabled]: core.bool,
  [S$.$label]: core.String
}));
dart.setSetterSignature(html$.OptGroupElement, () => ({
  __proto__: dart.getSetters(html$.OptGroupElement.__proto__),
  [S$.$disabled]: core.bool,
  [S$.$label]: core.String
}));
dart.setLibraryUri(html$.OptGroupElement, I[148]);
dart.registerExtension("HTMLOptGroupElement", html$.OptGroupElement);
html$.OptionElement = class OptionElement extends html$.HtmlElement {
  static new(opts) {
    let data = opts && 'data' in opts ? opts.data : "";
    if (data == null) dart.nullFailed(I[147], 24349, 15, "data");
    let value = opts && 'value' in opts ? opts.value : "";
    if (value == null) dart.nullFailed(I[147], 24349, 32, "value");
    let selected = opts && 'selected' in opts ? opts.selected : false;
    if (selected == null) dart.nullFailed(I[147], 24349, 48, "selected");
    return html$.OptionElement.__(data, value, null, selected);
  }
  static __(data = null, value = null, defaultSelected = null, selected = null) {
    if (selected != null) {
      return html$.OptionElement._create_1(data, value, defaultSelected, selected);
    }
    if (defaultSelected != null) {
      return html$.OptionElement._create_2(data, value, defaultSelected);
    }
    if (value != null) {
      return html$.OptionElement._create_3(data, value);
    }
    if (data != null) {
      return html$.OptionElement._create_4(data);
    }
    return html$.OptionElement._create_5();
  }
  static _create_1(data, value, defaultSelected, selected) {
    return new Option(data, value, defaultSelected, selected);
  }
  static _create_2(data, value, defaultSelected) {
    return new Option(data, value, defaultSelected);
  }
  static _create_3(data, value) {
    return new Option(data, value);
  }
  static _create_4(data) {
    return new Option(data);
  }
  static _create_5() {
    return new Option();
  }
  get [S$2.$defaultSelected]() {
    return this.defaultSelected;
  }
  set [S$2.$defaultSelected](value) {
    this.defaultSelected = value;
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [S.$index]() {
    return this.index;
  }
  get [S$.$label]() {
    return this.label;
  }
  set [S$.$label](value) {
    this.label = value;
  }
  get [S$.$selected]() {
    return this.selected;
  }
  set [S$.$selected](value) {
    this.selected = value;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
(html$.OptionElement.created = function() {
  html$.OptionElement.__proto__.created.call(this);
  ;
}).prototype = html$.OptionElement.prototype;
dart.addTypeTests(html$.OptionElement);
dart.addTypeCaches(html$.OptionElement);
dart.setGetterSignature(html$.OptionElement, () => ({
  __proto__: dart.getGetters(html$.OptionElement.__proto__),
  [S$2.$defaultSelected]: core.bool,
  [S$.$disabled]: core.bool,
  [S$.$form]: dart.nullable(html$.FormElement),
  [S.$index]: core.int,
  [S$.$label]: dart.nullable(core.String),
  [S$.$selected]: core.bool,
  [S.$value]: core.String
}));
dart.setSetterSignature(html$.OptionElement, () => ({
  __proto__: dart.getSetters(html$.OptionElement.__proto__),
  [S$2.$defaultSelected]: core.bool,
  [S$.$disabled]: core.bool,
  [S$.$label]: dart.nullable(core.String),
  [S$.$selected]: core.bool,
  [S.$value]: core.String
}));
dart.setLibraryUri(html$.OptionElement, I[148]);
dart.registerExtension("HTMLOptionElement", html$.OptionElement);
html$.OutputElement = class OutputElement extends html$.HtmlElement {
  static new() {
    return html$.OutputElement.as(html$.document[S.$createElement]("output"));
  }
  static get supported() {
    return html$.Element.isTagSupported("output");
  }
  get [S$1.$defaultValue]() {
    return this.defaultValue;
  }
  set [S$1.$defaultValue](value) {
    this.defaultValue = value;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [S$1.$htmlFor]() {
    return this.htmlFor;
  }
  get [S$.$labels]() {
    return this.labels;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$.$validationMessage]() {
    return this.validationMessage;
  }
  get [S$.$validity]() {
    return this.validity;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  get [S$.$willValidate]() {
    return this.willValidate;
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$.$setCustomValidity](...args) {
    return this.setCustomValidity.apply(this, args);
  }
};
(html$.OutputElement.created = function() {
  html$.OutputElement.__proto__.created.call(this);
  ;
}).prototype = html$.OutputElement.prototype;
dart.addTypeTests(html$.OutputElement);
dart.addTypeCaches(html$.OutputElement);
dart.setMethodSignature(html$.OutputElement, () => ({
  __proto__: dart.getMethods(html$.OutputElement.__proto__),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$.$setCustomValidity]: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(html$.OutputElement, () => ({
  __proto__: dart.getGetters(html$.OutputElement.__proto__),
  [S$1.$defaultValue]: dart.nullable(core.String),
  [S$.$form]: dart.nullable(html$.FormElement),
  [S$1.$htmlFor]: dart.nullable(html$.DomTokenList),
  [S$.$labels]: dart.nullable(core.List$(html$.Node)),
  [$name]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String),
  [S$.$validationMessage]: dart.nullable(core.String),
  [S$.$validity]: dart.nullable(html$.ValidityState),
  [S.$value]: dart.nullable(core.String),
  [S$.$willValidate]: dart.nullable(core.bool)
}));
dart.setSetterSignature(html$.OutputElement, () => ({
  __proto__: dart.getSetters(html$.OutputElement.__proto__),
  [S$1.$defaultValue]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S.$value]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.OutputElement, I[148]);
dart.registerExtension("HTMLOutputElement", html$.OutputElement);
html$.OverconstrainedError = class OverconstrainedError$ extends _interceptors.Interceptor {
  static new(constraint, message) {
    if (constraint == null) dart.nullFailed(I[147], 24500, 39, "constraint");
    if (message == null) dart.nullFailed(I[147], 24500, 58, "message");
    return html$.OverconstrainedError._create_1(constraint, message);
  }
  static _create_1(constraint, message) {
    return new OverconstrainedError(constraint, message);
  }
  get [S$2.$constraint]() {
    return this.constraint;
  }
  get [$message]() {
    return this.message;
  }
  get [$name]() {
    return this.name;
  }
};
dart.addTypeTests(html$.OverconstrainedError);
dart.addTypeCaches(html$.OverconstrainedError);
dart.setGetterSignature(html$.OverconstrainedError, () => ({
  __proto__: dart.getGetters(html$.OverconstrainedError.__proto__),
  [S$2.$constraint]: dart.nullable(core.String),
  [$message]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.OverconstrainedError, I[148]);
dart.registerExtension("OverconstrainedError", html$.OverconstrainedError);
html$.PageTransitionEvent = class PageTransitionEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 24526, 38, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.PageTransitionEvent._create_1(type, eventInitDict_1);
    }
    return html$.PageTransitionEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new PageTransitionEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new PageTransitionEvent(type);
  }
  get [S$2.$persisted]() {
    return this.persisted;
  }
};
dart.addTypeTests(html$.PageTransitionEvent);
dart.addTypeCaches(html$.PageTransitionEvent);
dart.setGetterSignature(html$.PageTransitionEvent, () => ({
  __proto__: dart.getGetters(html$.PageTransitionEvent.__proto__),
  [S$2.$persisted]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.PageTransitionEvent, I[148]);
dart.registerExtension("PageTransitionEvent", html$.PageTransitionEvent);
html$.PaintRenderingContext2D = class PaintRenderingContext2D extends _interceptors.Interceptor {
  get [S$.$currentTransform]() {
    return this.currentTransform;
  }
  set [S$.$currentTransform](value) {
    this.currentTransform = value;
  }
  get [S$.$fillStyle]() {
    return this.fillStyle;
  }
  set [S$.$fillStyle](value) {
    this.fillStyle = value;
  }
  get [S$.$filter]() {
    return this.filter;
  }
  set [S$.$filter](value) {
    this.filter = value;
  }
  get [S$.$globalAlpha]() {
    return this.globalAlpha;
  }
  set [S$.$globalAlpha](value) {
    this.globalAlpha = value;
  }
  get [S$.$globalCompositeOperation]() {
    return this.globalCompositeOperation;
  }
  set [S$.$globalCompositeOperation](value) {
    this.globalCompositeOperation = value;
  }
  get [S$.$imageSmoothingEnabled]() {
    return this.imageSmoothingEnabled;
  }
  set [S$.$imageSmoothingEnabled](value) {
    this.imageSmoothingEnabled = value;
  }
  get [S$.$imageSmoothingQuality]() {
    return this.imageSmoothingQuality;
  }
  set [S$.$imageSmoothingQuality](value) {
    this.imageSmoothingQuality = value;
  }
  get [S$.$lineCap]() {
    return this.lineCap;
  }
  set [S$.$lineCap](value) {
    this.lineCap = value;
  }
  get [S$.$lineDashOffset]() {
    return this.lineDashOffset;
  }
  set [S$.$lineDashOffset](value) {
    this.lineDashOffset = value;
  }
  get [S$.$lineJoin]() {
    return this.lineJoin;
  }
  set [S$.$lineJoin](value) {
    this.lineJoin = value;
  }
  get [S$.$lineWidth]() {
    return this.lineWidth;
  }
  set [S$.$lineWidth](value) {
    this.lineWidth = value;
  }
  get [S$.$miterLimit]() {
    return this.miterLimit;
  }
  set [S$.$miterLimit](value) {
    this.miterLimit = value;
  }
  get [S$.$shadowBlur]() {
    return this.shadowBlur;
  }
  set [S$.$shadowBlur](value) {
    this.shadowBlur = value;
  }
  get [S$.$shadowColor]() {
    return this.shadowColor;
  }
  set [S$.$shadowColor](value) {
    this.shadowColor = value;
  }
  get [S$.$shadowOffsetX]() {
    return this.shadowOffsetX;
  }
  set [S$.$shadowOffsetX](value) {
    this.shadowOffsetX = value;
  }
  get [S$.$shadowOffsetY]() {
    return this.shadowOffsetY;
  }
  set [S$.$shadowOffsetY](value) {
    this.shadowOffsetY = value;
  }
  get [S$.$strokeStyle]() {
    return this.strokeStyle;
  }
  set [S$.$strokeStyle](value) {
    this.strokeStyle = value;
  }
  [S$.$beginPath](...args) {
    return this.beginPath.apply(this, args);
  }
  [S$.$clearRect](...args) {
    return this.clearRect.apply(this, args);
  }
  [S$.$clip](...args) {
    return this.clip.apply(this, args);
  }
  [S$.$createLinearGradient](...args) {
    return this.createLinearGradient.apply(this, args);
  }
  [S$.$createPattern](...args) {
    return this.createPattern.apply(this, args);
  }
  [S$.$createRadialGradient](...args) {
    return this.createRadialGradient.apply(this, args);
  }
  [S$.$drawImage](...args) {
    return this.drawImage.apply(this, args);
  }
  [S$.$fill](...args) {
    return this.fill.apply(this, args);
  }
  [S$.$fillRect](...args) {
    return this.fillRect.apply(this, args);
  }
  [S$.$getLineDash](...args) {
    return this.getLineDash.apply(this, args);
  }
  [S$.$isPointInPath](...args) {
    return this.isPointInPath.apply(this, args);
  }
  [S$.$isPointInStroke](...args) {
    return this.isPointInStroke.apply(this, args);
  }
  [S$.$resetTransform](...args) {
    return this.resetTransform.apply(this, args);
  }
  [S$.$restore](...args) {
    return this.restore.apply(this, args);
  }
  [S$.$rotate](...args) {
    return this.rotate.apply(this, args);
  }
  [S$.$save](...args) {
    return this.save.apply(this, args);
  }
  [S$.$scale](...args) {
    return this.scale.apply(this, args);
  }
  [S$.$setLineDash](...args) {
    return this.setLineDash.apply(this, args);
  }
  [S$.$setTransform](...args) {
    return this.setTransform.apply(this, args);
  }
  [S$.$stroke](...args) {
    return this.stroke.apply(this, args);
  }
  [S$.$strokeRect](...args) {
    return this.strokeRect.apply(this, args);
  }
  [S$.$transform](...args) {
    return this.transform.apply(this, args);
  }
  [S.$translate](...args) {
    return this.translate.apply(this, args);
  }
  [S$.$arc](...args) {
    return this.arc.apply(this, args);
  }
  [S$.$arcTo](...args) {
    return this.arcTo.apply(this, args);
  }
  [S$.$bezierCurveTo](...args) {
    return this.bezierCurveTo.apply(this, args);
  }
  [S$.$closePath](...args) {
    return this.closePath.apply(this, args);
  }
  [S$.$ellipse](...args) {
    return this.ellipse.apply(this, args);
  }
  [S$.$lineTo](...args) {
    return this.lineTo.apply(this, args);
  }
  [S$.$moveTo](...args) {
    return this.moveTo.apply(this, args);
  }
  [S$.$quadraticCurveTo](...args) {
    return this.quadraticCurveTo.apply(this, args);
  }
  [S$.$rect](...args) {
    return this.rect.apply(this, args);
  }
};
dart.addTypeTests(html$.PaintRenderingContext2D);
dart.addTypeCaches(html$.PaintRenderingContext2D);
html$.PaintRenderingContext2D[dart.implements] = () => [html$._CanvasPath];
dart.setMethodSignature(html$.PaintRenderingContext2D, () => ({
  __proto__: dart.getMethods(html$.PaintRenderingContext2D.__proto__),
  [S$.$beginPath]: dart.fnType(dart.void, []),
  [S$.$clearRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$clip]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$createLinearGradient]: dart.fnType(html$.CanvasGradient, [core.num, core.num, core.num, core.num]),
  [S$.$createPattern]: dart.fnType(dart.nullable(html$.CanvasPattern), [dart.dynamic, core.String]),
  [S$.$createRadialGradient]: dart.fnType(html$.CanvasGradient, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$drawImage]: dart.fnType(dart.void, [dart.dynamic, core.num, core.num], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)]),
  [S$.$fill]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$fillRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$getLineDash]: dart.fnType(core.List$(core.num), []),
  [S$.$isPointInPath]: dart.fnType(core.bool, [dart.dynamic, core.num], [dart.dynamic, dart.nullable(core.String)]),
  [S$.$isPointInStroke]: dart.fnType(core.bool, [dart.dynamic, core.num], [dart.nullable(core.num)]),
  [S$.$resetTransform]: dart.fnType(dart.void, []),
  [S$.$restore]: dart.fnType(dart.void, []),
  [S$.$rotate]: dart.fnType(dart.void, [core.num]),
  [S$.$save]: dart.fnType(dart.void, []),
  [S$.$scale]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$setLineDash]: dart.fnType(dart.void, [core.List$(core.num)]),
  [S$.$setTransform]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$stroke]: dart.fnType(dart.void, [], [dart.nullable(html$.Path2D)]),
  [S$.$strokeRect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$transform]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S.$translate]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$arc]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$arcTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num]),
  [S$.$bezierCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$closePath]: dart.fnType(dart.void, []),
  [S$.$ellipse]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$lineTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$moveTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$quadraticCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$rect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num])
}));
dart.setGetterSignature(html$.PaintRenderingContext2D, () => ({
  __proto__: dart.getGetters(html$.PaintRenderingContext2D.__proto__),
  [S$.$currentTransform]: dart.nullable(svg$.Matrix),
  [S$.$fillStyle]: dart.nullable(core.Object),
  [S$.$filter]: dart.nullable(core.String),
  [S$.$globalAlpha]: dart.nullable(core.num),
  [S$.$globalCompositeOperation]: dart.nullable(core.String),
  [S$.$imageSmoothingEnabled]: dart.nullable(core.bool),
  [S$.$imageSmoothingQuality]: dart.nullable(core.String),
  [S$.$lineCap]: dart.nullable(core.String),
  [S$.$lineDashOffset]: dart.nullable(core.num),
  [S$.$lineJoin]: dart.nullable(core.String),
  [S$.$lineWidth]: dart.nullable(core.num),
  [S$.$miterLimit]: dart.nullable(core.num),
  [S$.$shadowBlur]: dart.nullable(core.num),
  [S$.$shadowColor]: dart.nullable(core.String),
  [S$.$shadowOffsetX]: dart.nullable(core.num),
  [S$.$shadowOffsetY]: dart.nullable(core.num),
  [S$.$strokeStyle]: dart.nullable(core.Object)
}));
dart.setSetterSignature(html$.PaintRenderingContext2D, () => ({
  __proto__: dart.getSetters(html$.PaintRenderingContext2D.__proto__),
  [S$.$currentTransform]: dart.nullable(svg$.Matrix),
  [S$.$fillStyle]: dart.nullable(core.Object),
  [S$.$filter]: dart.nullable(core.String),
  [S$.$globalAlpha]: dart.nullable(core.num),
  [S$.$globalCompositeOperation]: dart.nullable(core.String),
  [S$.$imageSmoothingEnabled]: dart.nullable(core.bool),
  [S$.$imageSmoothingQuality]: dart.nullable(core.String),
  [S$.$lineCap]: dart.nullable(core.String),
  [S$.$lineDashOffset]: dart.nullable(core.num),
  [S$.$lineJoin]: dart.nullable(core.String),
  [S$.$lineWidth]: dart.nullable(core.num),
  [S$.$miterLimit]: dart.nullable(core.num),
  [S$.$shadowBlur]: dart.nullable(core.num),
  [S$.$shadowColor]: dart.nullable(core.String),
  [S$.$shadowOffsetX]: dart.nullable(core.num),
  [S$.$shadowOffsetY]: dart.nullable(core.num),
  [S$.$strokeStyle]: dart.nullable(core.Object)
}));
dart.setLibraryUri(html$.PaintRenderingContext2D, I[148]);
dart.registerExtension("PaintRenderingContext2D", html$.PaintRenderingContext2D);
html$.PaintSize = class PaintSize extends _interceptors.Interceptor {
  get [$height]() {
    return this.height;
  }
  get [$width]() {
    return this.width;
  }
};
dart.addTypeTests(html$.PaintSize);
dart.addTypeCaches(html$.PaintSize);
dart.setGetterSignature(html$.PaintSize, () => ({
  __proto__: dart.getGetters(html$.PaintSize.__proto__),
  [$height]: dart.nullable(core.num),
  [$width]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.PaintSize, I[148]);
dart.registerExtension("PaintSize", html$.PaintSize);
html$.PaintWorkletGlobalScope = class PaintWorkletGlobalScope extends html$.WorkletGlobalScope {
  get [S$2.$devicePixelRatio]() {
    return this.devicePixelRatio;
  }
  [S$2.$registerPaint](...args) {
    return this.registerPaint.apply(this, args);
  }
};
dart.addTypeTests(html$.PaintWorkletGlobalScope);
dart.addTypeCaches(html$.PaintWorkletGlobalScope);
dart.setMethodSignature(html$.PaintWorkletGlobalScope, () => ({
  __proto__: dart.getMethods(html$.PaintWorkletGlobalScope.__proto__),
  [S$2.$registerPaint]: dart.fnType(dart.void, [core.String, core.Object])
}));
dart.setGetterSignature(html$.PaintWorkletGlobalScope, () => ({
  __proto__: dart.getGetters(html$.PaintWorkletGlobalScope.__proto__),
  [S$2.$devicePixelRatio]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.PaintWorkletGlobalScope, I[148]);
dart.registerExtension("PaintWorkletGlobalScope", html$.PaintWorkletGlobalScope);
html$.ParagraphElement = class ParagraphElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("p");
  }
};
(html$.ParagraphElement.created = function() {
  html$.ParagraphElement.__proto__.created.call(this);
  ;
}).prototype = html$.ParagraphElement.prototype;
dart.addTypeTests(html$.ParagraphElement);
dart.addTypeCaches(html$.ParagraphElement);
dart.setLibraryUri(html$.ParagraphElement, I[148]);
dart.registerExtension("HTMLParagraphElement", html$.ParagraphElement);
html$.ParamElement = class ParamElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("param");
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
(html$.ParamElement.created = function() {
  html$.ParamElement.__proto__.created.call(this);
  ;
}).prototype = html$.ParamElement.prototype;
dart.addTypeTests(html$.ParamElement);
dart.addTypeCaches(html$.ParamElement);
dart.setGetterSignature(html$.ParamElement, () => ({
  __proto__: dart.getGetters(html$.ParamElement.__proto__),
  [$name]: core.String,
  [S.$value]: core.String
}));
dart.setSetterSignature(html$.ParamElement, () => ({
  __proto__: dart.getSetters(html$.ParamElement.__proto__),
  [$name]: core.String,
  [S.$value]: core.String
}));
dart.setLibraryUri(html$.ParamElement, I[148]);
dart.registerExtension("HTMLParamElement", html$.ParamElement);
html$.ParentNode = class ParentNode extends _interceptors.Interceptor {
  get [S._childElementCount]() {
    return this._childElementCount;
  }
  get [S._children]() {
    return this._children;
  }
  get [S._firstElementChild]() {
    return this._firstElementChild;
  }
  get [S._lastElementChild]() {
    return this._lastElementChild;
  }
};
dart.addTypeTests(html$.ParentNode);
dart.addTypeCaches(html$.ParentNode);
dart.setGetterSignature(html$.ParentNode, () => ({
  __proto__: dart.getGetters(html$.ParentNode.__proto__),
  [S._childElementCount]: core.int,
  [S._children]: dart.nullable(core.List$(html$.Node)),
  [S._firstElementChild]: dart.nullable(html$.Element),
  [S._lastElementChild]: dart.nullable(html$.Element)
}));
dart.setLibraryUri(html$.ParentNode, I[148]);
html$.PasswordCredential = class PasswordCredential$ extends html$.Credential {
  static new(data_OR_form) {
    if (core.Map.is(data_OR_form)) {
      let data_1 = html_common.convertDartToNative_Dictionary(data_OR_form);
      return html$.PasswordCredential._create_1(data_1);
    }
    if (html$.FormElement.is(data_OR_form)) {
      return html$.PasswordCredential._create_2(data_OR_form);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1(data_OR_form) {
    return new PasswordCredential(data_OR_form);
  }
  static _create_2(data_OR_form) {
    return new PasswordCredential(data_OR_form);
  }
  get [S$2.$additionalData]() {
    return this.additionalData;
  }
  set [S$2.$additionalData](value) {
    this.additionalData = value;
  }
  get [S$2.$idName]() {
    return this.idName;
  }
  set [S$2.$idName](value) {
    this.idName = value;
  }
  get [S$.$password]() {
    return this.password;
  }
  get [S$2.$passwordName]() {
    return this.passwordName;
  }
  set [S$2.$passwordName](value) {
    this.passwordName = value;
  }
  get [S$.$iconUrl]() {
    return this.iconURL;
  }
  get [$name]() {
    return this.name;
  }
};
dart.addTypeTests(html$.PasswordCredential);
dart.addTypeCaches(html$.PasswordCredential);
html$.PasswordCredential[dart.implements] = () => [html$.CredentialUserData];
dart.setGetterSignature(html$.PasswordCredential, () => ({
  __proto__: dart.getGetters(html$.PasswordCredential.__proto__),
  [S$2.$additionalData]: dart.nullable(core.Object),
  [S$2.$idName]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$2.$passwordName]: dart.nullable(core.String),
  [S$.$iconUrl]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.PasswordCredential, () => ({
  __proto__: dart.getSetters(html$.PasswordCredential.__proto__),
  [S$2.$additionalData]: dart.nullable(core.Object),
  [S$2.$idName]: dart.nullable(core.String),
  [S$2.$passwordName]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PasswordCredential, I[148]);
dart.registerExtension("PasswordCredential", html$.PasswordCredential);
html$.Path2D = class Path2D$ extends _interceptors.Interceptor {
  static new(path_OR_text = null) {
    if (path_OR_text == null) {
      return html$.Path2D._create_1();
    }
    if (html$.Path2D.is(path_OR_text)) {
      return html$.Path2D._create_2(path_OR_text);
    }
    if (typeof path_OR_text == 'string') {
      return html$.Path2D._create_3(path_OR_text);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1() {
    return new Path2D();
  }
  static _create_2(path_OR_text) {
    return new Path2D(path_OR_text);
  }
  static _create_3(path_OR_text) {
    return new Path2D(path_OR_text);
  }
  [S$2.$addPath](...args) {
    return this.addPath.apply(this, args);
  }
  [S$.$arc](...args) {
    return this.arc.apply(this, args);
  }
  [S$.$arcTo](...args) {
    return this.arcTo.apply(this, args);
  }
  [S$.$bezierCurveTo](...args) {
    return this.bezierCurveTo.apply(this, args);
  }
  [S$.$closePath](...args) {
    return this.closePath.apply(this, args);
  }
  [S$.$ellipse](...args) {
    return this.ellipse.apply(this, args);
  }
  [S$.$lineTo](...args) {
    return this.lineTo.apply(this, args);
  }
  [S$.$moveTo](...args) {
    return this.moveTo.apply(this, args);
  }
  [S$.$quadraticCurveTo](...args) {
    return this.quadraticCurveTo.apply(this, args);
  }
  [S$.$rect](...args) {
    return this.rect.apply(this, args);
  }
};
dart.addTypeTests(html$.Path2D);
dart.addTypeCaches(html$.Path2D);
html$.Path2D[dart.implements] = () => [html$._CanvasPath];
dart.setMethodSignature(html$.Path2D, () => ({
  __proto__: dart.getMethods(html$.Path2D.__proto__),
  [S$2.$addPath]: dart.fnType(dart.void, [html$.Path2D], [dart.nullable(svg$.Matrix)]),
  [S$.$arc]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$arcTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num]),
  [S$.$bezierCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$.$closePath]: dart.fnType(dart.void, []),
  [S$.$ellipse]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num, core.num, dart.nullable(core.bool)]),
  [S$.$lineTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$moveTo]: dart.fnType(dart.void, [core.num, core.num]),
  [S$.$quadraticCurveTo]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$.$rect]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num])
}));
dart.setLibraryUri(html$.Path2D, I[148]);
dart.registerExtension("Path2D", html$.Path2D);
html$.PaymentAddress = class PaymentAddress extends _interceptors.Interceptor {
  get [S$2.$addressLine]() {
    return this.addressLine;
  }
  get [S$2.$city]() {
    return this.city;
  }
  get [S$2.$country]() {
    return this.country;
  }
  get [S$2.$dependentLocality]() {
    return this.dependentLocality;
  }
  get [S$2.$languageCode]() {
    return this.languageCode;
  }
  get [S$2.$organization]() {
    return this.organization;
  }
  get [S$2.$phone]() {
    return this.phone;
  }
  get [S$2.$postalCode]() {
    return this.postalCode;
  }
  get [S$2.$recipient]() {
    return this.recipient;
  }
  get [S$1.$region]() {
    return this.region;
  }
  get [S$2.$sortingCode]() {
    return this.sortingCode;
  }
};
dart.addTypeTests(html$.PaymentAddress);
dart.addTypeCaches(html$.PaymentAddress);
dart.setGetterSignature(html$.PaymentAddress, () => ({
  __proto__: dart.getGetters(html$.PaymentAddress.__proto__),
  [S$2.$addressLine]: dart.nullable(core.List$(core.String)),
  [S$2.$city]: dart.nullable(core.String),
  [S$2.$country]: dart.nullable(core.String),
  [S$2.$dependentLocality]: dart.nullable(core.String),
  [S$2.$languageCode]: dart.nullable(core.String),
  [S$2.$organization]: dart.nullable(core.String),
  [S$2.$phone]: dart.nullable(core.String),
  [S$2.$postalCode]: dart.nullable(core.String),
  [S$2.$recipient]: dart.nullable(core.String),
  [S$1.$region]: dart.nullable(core.String),
  [S$2.$sortingCode]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PaymentAddress, I[148]);
dart.registerExtension("PaymentAddress", html$.PaymentAddress);
html$.PaymentInstruments = class PaymentInstruments extends _interceptors.Interceptor {
  [$clear]() {
    return js_util.promiseToFuture(dart.dynamic, this.clear());
  }
  [S.$delete](instrumentKey) {
    if (instrumentKey == null) dart.nullFailed(I[147], 24954, 30, "instrumentKey");
    return js_util.promiseToFuture(core.bool, this.delete(instrumentKey));
  }
  [S.$get](instrumentKey) {
    if (instrumentKey == null) dart.nullFailed(I[147], 24957, 44, "instrumentKey");
    return html$.promiseToFutureAsMap(this.get(instrumentKey));
  }
  [S$.$has](instrumentKey) {
    if (instrumentKey == null) dart.nullFailed(I[147], 24960, 21, "instrumentKey");
    return js_util.promiseToFuture(dart.dynamic, this.has(instrumentKey));
  }
  [$keys]() {
    return js_util.promiseToFuture(core.List, this.keys());
  }
  [S$.$set](instrumentKey, details) {
    if (instrumentKey == null) dart.nullFailed(I[147], 24966, 21, "instrumentKey");
    if (details == null) dart.nullFailed(I[147], 24966, 40, "details");
    let details_dict = html_common.convertDartToNative_Dictionary(details);
    return js_util.promiseToFuture(dart.dynamic, this.set(instrumentKey, details_dict));
  }
};
dart.addTypeTests(html$.PaymentInstruments);
dart.addTypeCaches(html$.PaymentInstruments);
dart.setMethodSignature(html$.PaymentInstruments, () => ({
  __proto__: dart.getMethods(html$.PaymentInstruments.__proto__),
  [$clear]: dart.fnType(async.Future, []),
  [S.$delete]: dart.fnType(async.Future$(core.bool), [core.String]),
  [S.$get]: dart.fnType(async.Future$(dart.nullable(core.Map$(core.String, dart.dynamic))), [core.String]),
  [S$.$has]: dart.fnType(async.Future, [core.String]),
  [$keys]: dart.fnType(async.Future$(core.List), []),
  [S$.$set]: dart.fnType(async.Future, [core.String, core.Map])
}));
dart.setLibraryUri(html$.PaymentInstruments, I[148]);
dart.registerExtension("PaymentInstruments", html$.PaymentInstruments);
html$.PaymentManager = class PaymentManager extends _interceptors.Interceptor {
  get [S$2.$instruments]() {
    return this.instruments;
  }
  get [S$2.$userHint]() {
    return this.userHint;
  }
  set [S$2.$userHint](value) {
    this.userHint = value;
  }
};
dart.addTypeTests(html$.PaymentManager);
dart.addTypeCaches(html$.PaymentManager);
dart.setGetterSignature(html$.PaymentManager, () => ({
  __proto__: dart.getGetters(html$.PaymentManager.__proto__),
  [S$2.$instruments]: dart.nullable(html$.PaymentInstruments),
  [S$2.$userHint]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.PaymentManager, () => ({
  __proto__: dart.getSetters(html$.PaymentManager.__proto__),
  [S$2.$userHint]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PaymentManager, I[148]);
dart.registerExtension("PaymentManager", html$.PaymentManager);
html$.PaymentRequest = class PaymentRequest$ extends html$.EventTarget {
  static new(methodData, details, options = null) {
    if (methodData == null) dart.nullFailed(I[147], 24995, 36, "methodData");
    if (details == null) dart.nullFailed(I[147], 24995, 52, "details");
    let methodData_1 = [];
    for (let i of methodData) {
      methodData_1[$add](html_common.convertDartToNative_Dictionary(i));
    }
    if (options != null) {
      let details_1 = html_common.convertDartToNative_Dictionary(details);
      let options_2 = html_common.convertDartToNative_Dictionary(options);
      return html$.PaymentRequest._create_1(methodData_1, details_1, options_2);
    }
    let details_1 = html_common.convertDartToNative_Dictionary(details);
    return html$.PaymentRequest._create_2(methodData_1, details_1);
  }
  static _create_1(methodData, details, options) {
    return new PaymentRequest(methodData, details, options);
  }
  static _create_2(methodData, details) {
    return new PaymentRequest(methodData, details);
  }
  get [S.$id]() {
    return this.id;
  }
  get [S$2.$shippingAddress]() {
    return this.shippingAddress;
  }
  get [S$2.$shippingOption]() {
    return this.shippingOption;
  }
  get [S$2.$shippingType]() {
    return this.shippingType;
  }
  [S.$abort]() {
    return js_util.promiseToFuture(dart.dynamic, this.abort());
  }
  [S$2.$canMakePayment]() {
    return js_util.promiseToFuture(core.bool, this.canMakePayment());
  }
  [S$0.$show]() {
    return js_util.promiseToFuture(html$.PaymentResponse, this.show());
  }
};
dart.addTypeTests(html$.PaymentRequest);
dart.addTypeCaches(html$.PaymentRequest);
dart.setMethodSignature(html$.PaymentRequest, () => ({
  __proto__: dart.getMethods(html$.PaymentRequest.__proto__),
  [S.$abort]: dart.fnType(async.Future, []),
  [S$2.$canMakePayment]: dart.fnType(async.Future$(core.bool), []),
  [S$0.$show]: dart.fnType(async.Future$(html$.PaymentResponse), [])
}));
dart.setGetterSignature(html$.PaymentRequest, () => ({
  __proto__: dart.getGetters(html$.PaymentRequest.__proto__),
  [S.$id]: dart.nullable(core.String),
  [S$2.$shippingAddress]: dart.nullable(html$.PaymentAddress),
  [S$2.$shippingOption]: dart.nullable(core.String),
  [S$2.$shippingType]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PaymentRequest, I[148]);
dart.registerExtension("PaymentRequest", html$.PaymentRequest);
html$.PaymentRequestEvent = class PaymentRequestEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 25051, 38, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 25051, 48, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.PaymentRequestEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new PaymentRequestEvent(type, eventInitDict);
  }
  get [S$2.$instrumentKey]() {
    return this.instrumentKey;
  }
  get [S$.$methodData]() {
    return this.methodData;
  }
  get [S$.$modifiers]() {
    return this.modifiers;
  }
  get [S$2.$paymentRequestId]() {
    return this.paymentRequestId;
  }
  get [S$.$paymentRequestOrigin]() {
    return this.paymentRequestOrigin;
  }
  get [S$.$topLevelOrigin]() {
    return this.topLevelOrigin;
  }
  get [S$2.$total]() {
    return this.total;
  }
  [S$.$openWindow](url) {
    if (url == null) dart.nullFailed(I[147], 25075, 42, "url");
    return js_util.promiseToFuture(html$.WindowClient, this.openWindow(url));
  }
  [S$.$respondWith](...args) {
    return this.respondWith.apply(this, args);
  }
};
dart.addTypeTests(html$.PaymentRequestEvent);
dart.addTypeCaches(html$.PaymentRequestEvent);
dart.setMethodSignature(html$.PaymentRequestEvent, () => ({
  __proto__: dart.getMethods(html$.PaymentRequestEvent.__proto__),
  [S$.$openWindow]: dart.fnType(async.Future$(html$.WindowClient), [core.String]),
  [S$.$respondWith]: dart.fnType(dart.void, [async.Future])
}));
dart.setGetterSignature(html$.PaymentRequestEvent, () => ({
  __proto__: dart.getGetters(html$.PaymentRequestEvent.__proto__),
  [S$2.$instrumentKey]: dart.nullable(core.String),
  [S$.$methodData]: dart.nullable(core.List),
  [S$.$modifiers]: dart.nullable(core.List),
  [S$2.$paymentRequestId]: dart.nullable(core.String),
  [S$.$paymentRequestOrigin]: dart.nullable(core.String),
  [S$.$topLevelOrigin]: dart.nullable(core.String),
  [S$2.$total]: dart.nullable(core.Object)
}));
dart.setLibraryUri(html$.PaymentRequestEvent, I[148]);
dart.registerExtension("PaymentRequestEvent", html$.PaymentRequestEvent);
html$.PaymentRequestUpdateEvent = class PaymentRequestUpdateEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 25091, 44, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.PaymentRequestUpdateEvent._create_1(type, eventInitDict_1);
    }
    return html$.PaymentRequestUpdateEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new PaymentRequestUpdateEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new PaymentRequestUpdateEvent(type);
  }
  [S$2.$updateWith](...args) {
    return this.updateWith.apply(this, args);
  }
};
dart.addTypeTests(html$.PaymentRequestUpdateEvent);
dart.addTypeCaches(html$.PaymentRequestUpdateEvent);
dart.setMethodSignature(html$.PaymentRequestUpdateEvent, () => ({
  __proto__: dart.getMethods(html$.PaymentRequestUpdateEvent.__proto__),
  [S$2.$updateWith]: dart.fnType(dart.void, [async.Future])
}));
dart.setLibraryUri(html$.PaymentRequestUpdateEvent, I[148]);
dart.registerExtension("PaymentRequestUpdateEvent", html$.PaymentRequestUpdateEvent);
html$.PaymentResponse = class PaymentResponse extends _interceptors.Interceptor {
  get [S$.$details]() {
    return this.details;
  }
  get [S$2.$methodName]() {
    return this.methodName;
  }
  get [S$2.$payerEmail]() {
    return this.payerEmail;
  }
  get [S$2.$payerName]() {
    return this.payerName;
  }
  get [S$2.$payerPhone]() {
    return this.payerPhone;
  }
  get [S$2.$requestId]() {
    return this.requestId;
  }
  get [S$2.$shippingAddress]() {
    return this.shippingAddress;
  }
  get [S$2.$shippingOption]() {
    return this.shippingOption;
  }
  [S$1.$complete](paymentResult = null) {
    return js_util.promiseToFuture(dart.dynamic, this.complete(paymentResult));
  }
};
dart.addTypeTests(html$.PaymentResponse);
dart.addTypeCaches(html$.PaymentResponse);
dart.setMethodSignature(html$.PaymentResponse, () => ({
  __proto__: dart.getMethods(html$.PaymentResponse.__proto__),
  [S$1.$complete]: dart.fnType(async.Future, [], [dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.PaymentResponse, () => ({
  __proto__: dart.getGetters(html$.PaymentResponse.__proto__),
  [S$.$details]: dart.nullable(core.Object),
  [S$2.$methodName]: dart.nullable(core.String),
  [S$2.$payerEmail]: dart.nullable(core.String),
  [S$2.$payerName]: dart.nullable(core.String),
  [S$2.$payerPhone]: dart.nullable(core.String),
  [S$2.$requestId]: dart.nullable(core.String),
  [S$2.$shippingAddress]: dart.nullable(html$.PaymentAddress),
  [S$2.$shippingOption]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PaymentResponse, I[148]);
dart.registerExtension("PaymentResponse", html$.PaymentResponse);
html$.Performance = class Performance extends html$.EventTarget {
  static get supported() {
    return !!window.performance;
  }
  get [S$2.$memory]() {
    return this.memory;
  }
  get [S$2.$navigation]() {
    return this.navigation;
  }
  get [S$2.$timeOrigin]() {
    return this.timeOrigin;
  }
  get [S$.$timing]() {
    return this.timing;
  }
  [S$2.$clearMarks](...args) {
    return this.clearMarks.apply(this, args);
  }
  [S$2.$clearMeasures](...args) {
    return this.clearMeasures.apply(this, args);
  }
  [S$2.$clearResourceTimings](...args) {
    return this.clearResourceTimings.apply(this, args);
  }
  [S$2.$getEntries](...args) {
    return this.getEntries.apply(this, args);
  }
  [S$2.$getEntriesByName](...args) {
    return this.getEntriesByName.apply(this, args);
  }
  [S$2.$getEntriesByType](...args) {
    return this.getEntriesByType.apply(this, args);
  }
  [S$2.$mark](...args) {
    return this.mark.apply(this, args);
  }
  [S$2.$measure](...args) {
    return this.measure.apply(this, args);
  }
  [S$2.$now](...args) {
    return this.now.apply(this, args);
  }
  [S$2.$setResourceTimingBufferSize](...args) {
    return this.setResourceTimingBufferSize.apply(this, args);
  }
};
dart.addTypeTests(html$.Performance);
dart.addTypeCaches(html$.Performance);
dart.setMethodSignature(html$.Performance, () => ({
  __proto__: dart.getMethods(html$.Performance.__proto__),
  [S$2.$clearMarks]: dart.fnType(dart.void, [dart.nullable(core.String)]),
  [S$2.$clearMeasures]: dart.fnType(dart.void, [dart.nullable(core.String)]),
  [S$2.$clearResourceTimings]: dart.fnType(dart.void, []),
  [S$2.$getEntries]: dart.fnType(core.List$(html$.PerformanceEntry), []),
  [S$2.$getEntriesByName]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String, dart.nullable(core.String)]),
  [S$2.$getEntriesByType]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String]),
  [S$2.$mark]: dart.fnType(dart.void, [core.String]),
  [S$2.$measure]: dart.fnType(dart.void, [core.String, dart.nullable(core.String), dart.nullable(core.String)]),
  [S$2.$now]: dart.fnType(core.double, []),
  [S$2.$setResourceTimingBufferSize]: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(html$.Performance, () => ({
  __proto__: dart.getGetters(html$.Performance.__proto__),
  [S$2.$memory]: dart.nullable(html$.MemoryInfo),
  [S$2.$navigation]: html$.PerformanceNavigation,
  [S$2.$timeOrigin]: dart.nullable(core.num),
  [S$.$timing]: html$.PerformanceTiming
}));
dart.setLibraryUri(html$.Performance, I[148]);
dart.registerExtension("Performance", html$.Performance);
html$.PerformanceEntry = class PerformanceEntry extends _interceptors.Interceptor {
  get [S$.$duration]() {
    return this.duration;
  }
  get [S$2.$entryType]() {
    return this.entryType;
  }
  get [$name]() {
    return this.name;
  }
  get [S$.$startTime]() {
    return this.startTime;
  }
};
dart.addTypeTests(html$.PerformanceEntry);
dart.addTypeCaches(html$.PerformanceEntry);
dart.setGetterSignature(html$.PerformanceEntry, () => ({
  __proto__: dart.getGetters(html$.PerformanceEntry.__proto__),
  [S$.$duration]: core.num,
  [S$2.$entryType]: core.String,
  [$name]: core.String,
  [S$.$startTime]: core.num
}));
dart.setLibraryUri(html$.PerformanceEntry, I[148]);
dart.registerExtension("PerformanceEntry", html$.PerformanceEntry);
html$.PerformanceLongTaskTiming = class PerformanceLongTaskTiming extends html$.PerformanceEntry {
  get [S$2.$attribution]() {
    return this.attribution;
  }
};
dart.addTypeTests(html$.PerformanceLongTaskTiming);
dart.addTypeCaches(html$.PerformanceLongTaskTiming);
dart.setGetterSignature(html$.PerformanceLongTaskTiming, () => ({
  __proto__: dart.getGetters(html$.PerformanceLongTaskTiming.__proto__),
  [S$2.$attribution]: dart.nullable(core.List$(html$.TaskAttributionTiming))
}));
dart.setLibraryUri(html$.PerformanceLongTaskTiming, I[148]);
dart.registerExtension("PerformanceLongTaskTiming", html$.PerformanceLongTaskTiming);
html$.PerformanceMark = class PerformanceMark extends html$.PerformanceEntry {};
dart.addTypeTests(html$.PerformanceMark);
dart.addTypeCaches(html$.PerformanceMark);
dart.setLibraryUri(html$.PerformanceMark, I[148]);
dart.registerExtension("PerformanceMark", html$.PerformanceMark);
html$.PerformanceMeasure = class PerformanceMeasure extends html$.PerformanceEntry {};
dart.addTypeTests(html$.PerformanceMeasure);
dart.addTypeCaches(html$.PerformanceMeasure);
dart.setLibraryUri(html$.PerformanceMeasure, I[148]);
dart.registerExtension("PerformanceMeasure", html$.PerformanceMeasure);
html$.PerformanceNavigation = class PerformanceNavigation extends _interceptors.Interceptor {
  get [S$2.$redirectCount]() {
    return this.redirectCount;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(html$.PerformanceNavigation);
dart.addTypeCaches(html$.PerformanceNavigation);
dart.setGetterSignature(html$.PerformanceNavigation, () => ({
  __proto__: dart.getGetters(html$.PerformanceNavigation.__proto__),
  [S$2.$redirectCount]: dart.nullable(core.int),
  [S.$type]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.PerformanceNavigation, I[148]);
dart.defineLazy(html$.PerformanceNavigation, {
  /*html$.PerformanceNavigation.TYPE_BACK_FORWARD*/get TYPE_BACK_FORWARD() {
    return 2;
  },
  /*html$.PerformanceNavigation.TYPE_NAVIGATE*/get TYPE_NAVIGATE() {
    return 0;
  },
  /*html$.PerformanceNavigation.TYPE_RELOAD*/get TYPE_RELOAD() {
    return 1;
  },
  /*html$.PerformanceNavigation.TYPE_RESERVED*/get TYPE_RESERVED() {
    return 255;
  }
}, false);
dart.registerExtension("PerformanceNavigation", html$.PerformanceNavigation);
html$.PerformanceResourceTiming = class PerformanceResourceTiming extends html$.PerformanceEntry {
  get [S$2.$connectEnd]() {
    return this.connectEnd;
  }
  get [S$2.$connectStart]() {
    return this.connectStart;
  }
  get [S$2.$decodedBodySize]() {
    return this.decodedBodySize;
  }
  get [S$2.$domainLookupEnd]() {
    return this.domainLookupEnd;
  }
  get [S$2.$domainLookupStart]() {
    return this.domainLookupStart;
  }
  get [S$2.$encodedBodySize]() {
    return this.encodedBodySize;
  }
  get [S$2.$fetchStart]() {
    return this.fetchStart;
  }
  get [S$2.$initiatorType]() {
    return this.initiatorType;
  }
  get [S$2.$nextHopProtocol]() {
    return this.nextHopProtocol;
  }
  get [S$2.$redirectEnd]() {
    return this.redirectEnd;
  }
  get [S$2.$redirectStart]() {
    return this.redirectStart;
  }
  get [S$2.$requestStart]() {
    return this.requestStart;
  }
  get [S$2.$responseEnd]() {
    return this.responseEnd;
  }
  get [S$2.$responseStart]() {
    return this.responseStart;
  }
  get [S$2.$secureConnectionStart]() {
    return this.secureConnectionStart;
  }
  get [S$2.$serverTiming]() {
    return this.serverTiming;
  }
  get [S$2.$transferSize]() {
    return this.transferSize;
  }
  get [S$2.$workerStart]() {
    return this.workerStart;
  }
};
dart.addTypeTests(html$.PerformanceResourceTiming);
dart.addTypeCaches(html$.PerformanceResourceTiming);
dart.setGetterSignature(html$.PerformanceResourceTiming, () => ({
  __proto__: dart.getGetters(html$.PerformanceResourceTiming.__proto__),
  [S$2.$connectEnd]: core.num,
  [S$2.$connectStart]: core.num,
  [S$2.$decodedBodySize]: dart.nullable(core.int),
  [S$2.$domainLookupEnd]: dart.nullable(core.num),
  [S$2.$domainLookupStart]: dart.nullable(core.num),
  [S$2.$encodedBodySize]: dart.nullable(core.int),
  [S$2.$fetchStart]: dart.nullable(core.num),
  [S$2.$initiatorType]: dart.nullable(core.String),
  [S$2.$nextHopProtocol]: dart.nullable(core.String),
  [S$2.$redirectEnd]: dart.nullable(core.num),
  [S$2.$redirectStart]: dart.nullable(core.num),
  [S$2.$requestStart]: dart.nullable(core.num),
  [S$2.$responseEnd]: dart.nullable(core.num),
  [S$2.$responseStart]: dart.nullable(core.num),
  [S$2.$secureConnectionStart]: dart.nullable(core.num),
  [S$2.$serverTiming]: dart.nullable(core.List$(html$.PerformanceServerTiming)),
  [S$2.$transferSize]: dart.nullable(core.int),
  [S$2.$workerStart]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.PerformanceResourceTiming, I[148]);
dart.registerExtension("PerformanceResourceTiming", html$.PerformanceResourceTiming);
html$.PerformanceNavigationTiming = class PerformanceNavigationTiming extends html$.PerformanceResourceTiming {
  get [S$2.$domComplete]() {
    return this.domComplete;
  }
  get [S$2.$domContentLoadedEventEnd]() {
    return this.domContentLoadedEventEnd;
  }
  get [S$2.$domContentLoadedEventStart]() {
    return this.domContentLoadedEventStart;
  }
  get [S$2.$domInteractive]() {
    return this.domInteractive;
  }
  get [S$2.$loadEventEnd]() {
    return this.loadEventEnd;
  }
  get [S$2.$loadEventStart]() {
    return this.loadEventStart;
  }
  get [S$2.$redirectCount]() {
    return this.redirectCount;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$2.$unloadEventEnd]() {
    return this.unloadEventEnd;
  }
  get [S$2.$unloadEventStart]() {
    return this.unloadEventStart;
  }
};
dart.addTypeTests(html$.PerformanceNavigationTiming);
dart.addTypeCaches(html$.PerformanceNavigationTiming);
dart.setGetterSignature(html$.PerformanceNavigationTiming, () => ({
  __proto__: dart.getGetters(html$.PerformanceNavigationTiming.__proto__),
  [S$2.$domComplete]: dart.nullable(core.num),
  [S$2.$domContentLoadedEventEnd]: dart.nullable(core.num),
  [S$2.$domContentLoadedEventStart]: dart.nullable(core.num),
  [S$2.$domInteractive]: dart.nullable(core.num),
  [S$2.$loadEventEnd]: dart.nullable(core.num),
  [S$2.$loadEventStart]: dart.nullable(core.num),
  [S$2.$redirectCount]: dart.nullable(core.int),
  [S.$type]: dart.nullable(core.String),
  [S$2.$unloadEventEnd]: dart.nullable(core.num),
  [S$2.$unloadEventStart]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.PerformanceNavigationTiming, I[148]);
dart.registerExtension("PerformanceNavigationTiming", html$.PerformanceNavigationTiming);
html$.PerformanceObserver = class PerformanceObserver$ extends _interceptors.Interceptor {
  static new(callback) {
    if (callback == null) dart.nullFailed(I[147], 25304, 59, "callback");
    let callback_1 = _js_helper.convertDartClosureToJS(T$0.PerformanceObserverEntryListAndPerformanceObserverTovoid(), callback, 2);
    return html$.PerformanceObserver._create_1(callback_1);
  }
  static _create_1(callback) {
    return new PerformanceObserver(callback);
  }
  [S$1.$disconnect](...args) {
    return this.disconnect.apply(this, args);
  }
  [S.$observe](options) {
    if (options == null) dart.nullFailed(I[147], 25313, 20, "options");
    let options_1 = html_common.convertDartToNative_Dictionary(options);
    this[S$1._observe_1$1](options_1);
    return;
  }
  [S$1._observe_1$1](...args) {
    return this.observe.apply(this, args);
  }
};
dart.addTypeTests(html$.PerformanceObserver);
dart.addTypeCaches(html$.PerformanceObserver);
dart.setMethodSignature(html$.PerformanceObserver, () => ({
  __proto__: dart.getMethods(html$.PerformanceObserver.__proto__),
  [S$1.$disconnect]: dart.fnType(dart.void, []),
  [S.$observe]: dart.fnType(dart.void, [core.Map]),
  [S$1._observe_1$1]: dart.fnType(dart.void, [dart.dynamic])
}));
dart.setLibraryUri(html$.PerformanceObserver, I[148]);
dart.registerExtension("PerformanceObserver", html$.PerformanceObserver);
html$.PerformanceObserverEntryList = class PerformanceObserverEntryList extends _interceptors.Interceptor {
  [S$2.$getEntries](...args) {
    return this.getEntries.apply(this, args);
  }
  [S$2.$getEntriesByName](...args) {
    return this.getEntriesByName.apply(this, args);
  }
  [S$2.$getEntriesByType](...args) {
    return this.getEntriesByType.apply(this, args);
  }
};
dart.addTypeTests(html$.PerformanceObserverEntryList);
dart.addTypeCaches(html$.PerformanceObserverEntryList);
dart.setMethodSignature(html$.PerformanceObserverEntryList, () => ({
  __proto__: dart.getMethods(html$.PerformanceObserverEntryList.__proto__),
  [S$2.$getEntries]: dart.fnType(core.List$(html$.PerformanceEntry), []),
  [S$2.$getEntriesByName]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String, dart.nullable(core.String)]),
  [S$2.$getEntriesByType]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String])
}));
dart.setLibraryUri(html$.PerformanceObserverEntryList, I[148]);
dart.registerExtension("PerformanceObserverEntryList", html$.PerformanceObserverEntryList);
html$.PerformancePaintTiming = class PerformancePaintTiming extends html$.PerformanceEntry {};
dart.addTypeTests(html$.PerformancePaintTiming);
dart.addTypeCaches(html$.PerformancePaintTiming);
dart.setLibraryUri(html$.PerformancePaintTiming, I[148]);
dart.registerExtension("PerformancePaintTiming", html$.PerformancePaintTiming);
html$.PerformanceServerTiming = class PerformanceServerTiming extends _interceptors.Interceptor {
  get [S$1.$description]() {
    return this.description;
  }
  get [S$.$duration]() {
    return this.duration;
  }
  get [$name]() {
    return this.name;
  }
};
dart.addTypeTests(html$.PerformanceServerTiming);
dart.addTypeCaches(html$.PerformanceServerTiming);
dart.setGetterSignature(html$.PerformanceServerTiming, () => ({
  __proto__: dart.getGetters(html$.PerformanceServerTiming.__proto__),
  [S$1.$description]: dart.nullable(core.String),
  [S$.$duration]: dart.nullable(core.num),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PerformanceServerTiming, I[148]);
dart.registerExtension("PerformanceServerTiming", html$.PerformanceServerTiming);
html$.PerformanceTiming = class PerformanceTiming extends _interceptors.Interceptor {
  get [S$2.$connectEnd]() {
    return this.connectEnd;
  }
  get [S$2.$connectStart]() {
    return this.connectStart;
  }
  get [S$2.$domComplete]() {
    return this.domComplete;
  }
  get [S$2.$domContentLoadedEventEnd]() {
    return this.domContentLoadedEventEnd;
  }
  get [S$2.$domContentLoadedEventStart]() {
    return this.domContentLoadedEventStart;
  }
  get [S$2.$domInteractive]() {
    return this.domInteractive;
  }
  get [S$2.$domLoading]() {
    return this.domLoading;
  }
  get [S$2.$domainLookupEnd]() {
    return this.domainLookupEnd;
  }
  get [S$2.$domainLookupStart]() {
    return this.domainLookupStart;
  }
  get [S$2.$fetchStart]() {
    return this.fetchStart;
  }
  get [S$2.$loadEventEnd]() {
    return this.loadEventEnd;
  }
  get [S$2.$loadEventStart]() {
    return this.loadEventStart;
  }
  get [S$2.$navigationStart]() {
    return this.navigationStart;
  }
  get [S$2.$redirectEnd]() {
    return this.redirectEnd;
  }
  get [S$2.$redirectStart]() {
    return this.redirectStart;
  }
  get [S$2.$requestStart]() {
    return this.requestStart;
  }
  get [S$2.$responseEnd]() {
    return this.responseEnd;
  }
  get [S$2.$responseStart]() {
    return this.responseStart;
  }
  get [S$2.$secureConnectionStart]() {
    return this.secureConnectionStart;
  }
  get [S$2.$unloadEventEnd]() {
    return this.unloadEventEnd;
  }
  get [S$2.$unloadEventStart]() {
    return this.unloadEventStart;
  }
};
dart.addTypeTests(html$.PerformanceTiming);
dart.addTypeCaches(html$.PerformanceTiming);
dart.setGetterSignature(html$.PerformanceTiming, () => ({
  __proto__: dart.getGetters(html$.PerformanceTiming.__proto__),
  [S$2.$connectEnd]: core.int,
  [S$2.$connectStart]: core.int,
  [S$2.$domComplete]: core.int,
  [S$2.$domContentLoadedEventEnd]: core.int,
  [S$2.$domContentLoadedEventStart]: core.int,
  [S$2.$domInteractive]: core.int,
  [S$2.$domLoading]: core.int,
  [S$2.$domainLookupEnd]: core.int,
  [S$2.$domainLookupStart]: core.int,
  [S$2.$fetchStart]: core.int,
  [S$2.$loadEventEnd]: core.int,
  [S$2.$loadEventStart]: core.int,
  [S$2.$navigationStart]: core.int,
  [S$2.$redirectEnd]: core.int,
  [S$2.$redirectStart]: core.int,
  [S$2.$requestStart]: core.int,
  [S$2.$responseEnd]: core.int,
  [S$2.$responseStart]: core.int,
  [S$2.$secureConnectionStart]: core.int,
  [S$2.$unloadEventEnd]: core.int,
  [S$2.$unloadEventStart]: core.int
}));
dart.setLibraryUri(html$.PerformanceTiming, I[148]);
dart.registerExtension("PerformanceTiming", html$.PerformanceTiming);
html$.PermissionStatus = class PermissionStatus extends html$.EventTarget {
  get [S$.$state]() {
    return this.state;
  }
  get [S.$onChange]() {
    return html$.PermissionStatus.changeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.PermissionStatus);
dart.addTypeCaches(html$.PermissionStatus);
dart.setGetterSignature(html$.PermissionStatus, () => ({
  __proto__: dart.getGetters(html$.PermissionStatus.__proto__),
  [S$.$state]: dart.nullable(core.String),
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.PermissionStatus, I[148]);
dart.defineLazy(html$.PermissionStatus, {
  /*html$.PermissionStatus.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("PermissionStatus", html$.PermissionStatus);
html$.Permissions = class Permissions extends _interceptors.Interceptor {
  [S$2.$query](permission) {
    if (permission == null) dart.nullFailed(I[147], 25506, 38, "permission");
    let permission_dict = html_common.convertDartToNative_Dictionary(permission);
    return js_util.promiseToFuture(html$.PermissionStatus, this.query(permission_dict));
  }
  [S$.$request](permissions) {
    if (permissions == null) dart.nullFailed(I[147], 25512, 40, "permissions");
    let permissions_dict = html_common.convertDartToNative_Dictionary(permissions);
    return js_util.promiseToFuture(html$.PermissionStatus, this.request(permissions_dict));
  }
  [S$2.$requestAll](permissions) {
    if (permissions == null) dart.nullFailed(I[147], 25518, 49, "permissions");
    return js_util.promiseToFuture(html$.PermissionStatus, this.requestAll(permissions));
  }
  [S$2.$revoke](permission) {
    if (permission == null) dart.nullFailed(I[147], 25522, 39, "permission");
    let permission_dict = html_common.convertDartToNative_Dictionary(permission);
    return js_util.promiseToFuture(html$.PermissionStatus, this.revoke(permission_dict));
  }
};
dart.addTypeTests(html$.Permissions);
dart.addTypeCaches(html$.Permissions);
dart.setMethodSignature(html$.Permissions, () => ({
  __proto__: dart.getMethods(html$.Permissions.__proto__),
  [S$2.$query]: dart.fnType(async.Future$(html$.PermissionStatus), [core.Map]),
  [S$.$request]: dart.fnType(async.Future$(html$.PermissionStatus), [core.Map]),
  [S$2.$requestAll]: dart.fnType(async.Future$(html$.PermissionStatus), [core.List$(core.Map)]),
  [S$2.$revoke]: dart.fnType(async.Future$(html$.PermissionStatus), [core.Map])
}));
dart.setLibraryUri(html$.Permissions, I[148]);
dart.registerExtension("Permissions", html$.Permissions);
html$.PhotoCapabilities = class PhotoCapabilities extends _interceptors.Interceptor {
  get [S$2.$fillLightMode]() {
    return this.fillLightMode;
  }
  get [S$2.$imageHeight]() {
    return this.imageHeight;
  }
  get [S$2.$imageWidth]() {
    return this.imageWidth;
  }
  get [S$2.$redEyeReduction]() {
    return this.redEyeReduction;
  }
};
dart.addTypeTests(html$.PhotoCapabilities);
dart.addTypeCaches(html$.PhotoCapabilities);
dart.setGetterSignature(html$.PhotoCapabilities, () => ({
  __proto__: dart.getGetters(html$.PhotoCapabilities.__proto__),
  [S$2.$fillLightMode]: dart.nullable(core.List),
  [S$2.$imageHeight]: dart.nullable(html$.MediaSettingsRange),
  [S$2.$imageWidth]: dart.nullable(html$.MediaSettingsRange),
  [S$2.$redEyeReduction]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PhotoCapabilities, I[148]);
dart.registerExtension("PhotoCapabilities", html$.PhotoCapabilities);
html$.PictureElement = class PictureElement extends html$.HtmlElement {};
(html$.PictureElement.created = function() {
  html$.PictureElement.__proto__.created.call(this);
  ;
}).prototype = html$.PictureElement.prototype;
dart.addTypeTests(html$.PictureElement);
dart.addTypeCaches(html$.PictureElement);
dart.setLibraryUri(html$.PictureElement, I[148]);
dart.registerExtension("HTMLPictureElement", html$.PictureElement);
html$.Plugin = class Plugin extends _interceptors.Interceptor {
  get [S$1.$description]() {
    return this.description;
  }
  get [S$1.$filename]() {
    return this.filename;
  }
  get [$length]() {
    return this.length;
  }
  get [$name]() {
    return this.name;
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$1.$namedItem](...args) {
    return this.namedItem.apply(this, args);
  }
};
dart.addTypeTests(html$.Plugin);
dart.addTypeCaches(html$.Plugin);
dart.setMethodSignature(html$.Plugin, () => ({
  __proto__: dart.getMethods(html$.Plugin.__proto__),
  [S$.$item]: dart.fnType(dart.nullable(html$.MimeType), [core.int]),
  [S$1.$namedItem]: dart.fnType(dart.nullable(html$.MimeType), [core.String])
}));
dart.setGetterSignature(html$.Plugin, () => ({
  __proto__: dart.getGetters(html$.Plugin.__proto__),
  [S$1.$description]: dart.nullable(core.String),
  [S$1.$filename]: dart.nullable(core.String),
  [$length]: dart.nullable(core.int),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Plugin, I[148]);
dart.registerExtension("Plugin", html$.Plugin);
const Interceptor_ListMixin$36$4 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$4.new = function() {
  Interceptor_ListMixin$36$4.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$4.prototype;
dart.applyMixin(Interceptor_ListMixin$36$4, collection.ListMixin$(html$.Plugin));
const Interceptor_ImmutableListMixin$36$4 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$4 {};
(Interceptor_ImmutableListMixin$36$4.new = function() {
  Interceptor_ImmutableListMixin$36$4.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$4.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$4, html$.ImmutableListMixin$(html$.Plugin));
html$.PluginArray = class PluginArray extends Interceptor_ImmutableListMixin$36$4 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 25602, 26, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 25608, 25, "index");
    html$.Plugin.as(value);
    if (value == null) dart.nullFailed(I[147], 25608, 39, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 25614, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 25642, 24, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$1.$namedItem](...args) {
    return this.namedItem.apply(this, args);
  }
  [S$2.$refresh](...args) {
    return this.refresh.apply(this, args);
  }
};
html$.PluginArray.prototype[dart.isList] = true;
dart.addTypeTests(html$.PluginArray);
dart.addTypeCaches(html$.PluginArray);
html$.PluginArray[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.Plugin), core.List$(html$.Plugin)];
dart.setMethodSignature(html$.PluginArray, () => ({
  __proto__: dart.getMethods(html$.PluginArray.__proto__),
  [$_get]: dart.fnType(html$.Plugin, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(html$.Plugin), [core.int]),
  [S$1.$namedItem]: dart.fnType(dart.nullable(html$.Plugin), [core.String]),
  [S$2.$refresh]: dart.fnType(dart.void, [dart.nullable(core.bool)])
}));
dart.setGetterSignature(html$.PluginArray, () => ({
  __proto__: dart.getGetters(html$.PluginArray.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.PluginArray, () => ({
  __proto__: dart.getSetters(html$.PluginArray.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.PluginArray, I[148]);
dart.registerExtension("PluginArray", html$.PluginArray);
html$.PointerEvent = class PointerEvent$ extends html$.MouseEvent {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 25664, 31, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.PointerEvent._create_1(type, eventInitDict_1);
    }
    return html$.PointerEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new PointerEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new PointerEvent(type);
  }
  get [$height]() {
    return this.height;
  }
  get [S$2.$isPrimary]() {
    return this.isPrimary;
  }
  get [S$2.$pointerId]() {
    return this.pointerId;
  }
  get [S$2.$pointerType]() {
    return this.pointerType;
  }
  get [S$2.$pressure]() {
    return this.pressure;
  }
  get [S$2.$tangentialPressure]() {
    return this.tangentialPressure;
  }
  get [S$2.$tiltX]() {
    return this.tiltX;
  }
  get [S$2.$tiltY]() {
    return this.tiltY;
  }
  get [S$2.$twist]() {
    return this.twist;
  }
  get [$width]() {
    return this.width;
  }
  [S$2.$getCoalescedEvents](...args) {
    return this.getCoalescedEvents.apply(this, args);
  }
  static get supported() {
    try {
      return html$.PointerEvent.is(html$.PointerEvent.new("pointerover"));
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
      } else
        throw e;
    }
    return false;
  }
};
dart.addTypeTests(html$.PointerEvent);
dart.addTypeCaches(html$.PointerEvent);
dart.setMethodSignature(html$.PointerEvent, () => ({
  __proto__: dart.getMethods(html$.PointerEvent.__proto__),
  [S$2.$getCoalescedEvents]: dart.fnType(core.List$(html$.PointerEvent), [])
}));
dart.setGetterSignature(html$.PointerEvent, () => ({
  __proto__: dart.getGetters(html$.PointerEvent.__proto__),
  [$height]: dart.nullable(core.num),
  [S$2.$isPrimary]: dart.nullable(core.bool),
  [S$2.$pointerId]: dart.nullable(core.int),
  [S$2.$pointerType]: dart.nullable(core.String),
  [S$2.$pressure]: dart.nullable(core.num),
  [S$2.$tangentialPressure]: dart.nullable(core.num),
  [S$2.$tiltX]: dart.nullable(core.int),
  [S$2.$tiltY]: dart.nullable(core.int),
  [S$2.$twist]: dart.nullable(core.int),
  [$width]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.PointerEvent, I[148]);
dart.registerExtension("PointerEvent", html$.PointerEvent);
html$.PopStateEvent = class PopStateEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 25724, 32, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.PopStateEvent._create_1(type, eventInitDict_1);
    }
    return html$.PopStateEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new PopStateEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new PopStateEvent(type);
  }
  get [S$.$state]() {
    return html_common.convertNativeToDart_SerializedScriptValue(this[S$1._get_state]);
  }
  get [S$1._get_state]() {
    return this.state;
  }
};
dart.addTypeTests(html$.PopStateEvent);
dart.addTypeCaches(html$.PopStateEvent);
dart.setGetterSignature(html$.PopStateEvent, () => ({
  __proto__: dart.getGetters(html$.PopStateEvent.__proto__),
  [S$.$state]: dart.dynamic,
  [S$1._get_state]: dart.dynamic
}));
dart.setLibraryUri(html$.PopStateEvent, I[148]);
dart.registerExtension("PopStateEvent", html$.PopStateEvent);
html$.PositionError = class PositionError extends _interceptors.Interceptor {
  get [S$.$code]() {
    return this.code;
  }
  get [$message]() {
    return this.message;
  }
};
dart.addTypeTests(html$.PositionError);
dart.addTypeCaches(html$.PositionError);
dart.setGetterSignature(html$.PositionError, () => ({
  __proto__: dart.getGetters(html$.PositionError.__proto__),
  [S$.$code]: dart.nullable(core.int),
  [$message]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PositionError, I[148]);
dart.defineLazy(html$.PositionError, {
  /*html$.PositionError.PERMISSION_DENIED*/get PERMISSION_DENIED() {
    return 1;
  },
  /*html$.PositionError.POSITION_UNAVAILABLE*/get POSITION_UNAVAILABLE() {
    return 2;
  },
  /*html$.PositionError.TIMEOUT*/get TIMEOUT() {
    return 3;
  }
}, false);
dart.registerExtension("PositionError", html$.PositionError);
dart.registerExtension("GeolocationPositionError", html$.PositionError);
html$.PreElement = class PreElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("pre");
  }
};
(html$.PreElement.created = function() {
  html$.PreElement.__proto__.created.call(this);
  ;
}).prototype = html$.PreElement.prototype;
dart.addTypeTests(html$.PreElement);
dart.addTypeCaches(html$.PreElement);
dart.setLibraryUri(html$.PreElement, I[148]);
dart.registerExtension("HTMLPreElement", html$.PreElement);
html$.Presentation = class Presentation extends _interceptors.Interceptor {
  get [S$2.$defaultRequest]() {
    return this.defaultRequest;
  }
  set [S$2.$defaultRequest](value) {
    this.defaultRequest = value;
  }
  get [S$2.$receiver]() {
    return this.receiver;
  }
};
dart.addTypeTests(html$.Presentation);
dart.addTypeCaches(html$.Presentation);
dart.setGetterSignature(html$.Presentation, () => ({
  __proto__: dart.getGetters(html$.Presentation.__proto__),
  [S$2.$defaultRequest]: dart.nullable(html$.PresentationRequest),
  [S$2.$receiver]: dart.nullable(html$.PresentationReceiver)
}));
dart.setSetterSignature(html$.Presentation, () => ({
  __proto__: dart.getSetters(html$.Presentation.__proto__),
  [S$2.$defaultRequest]: dart.nullable(html$.PresentationRequest)
}));
dart.setLibraryUri(html$.Presentation, I[148]);
dart.registerExtension("Presentation", html$.Presentation);
html$.PresentationAvailability = class PresentationAvailability extends html$.EventTarget {
  get [S.$value]() {
    return this.value;
  }
  get [S.$onChange]() {
    return html$.PresentationAvailability.changeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.PresentationAvailability);
dart.addTypeCaches(html$.PresentationAvailability);
dart.setGetterSignature(html$.PresentationAvailability, () => ({
  __proto__: dart.getGetters(html$.PresentationAvailability.__proto__),
  [S.$value]: dart.nullable(core.bool),
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.PresentationAvailability, I[148]);
dart.defineLazy(html$.PresentationAvailability, {
  /*html$.PresentationAvailability.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("PresentationAvailability", html$.PresentationAvailability);
html$.PresentationConnection = class PresentationConnection extends html$.EventTarget {
  get [S$2.$binaryType]() {
    return this.binaryType;
  }
  set [S$2.$binaryType](value) {
    this.binaryType = value;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S$.$state]() {
    return this.state;
  }
  get [S$.$url]() {
    return this.url;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$1.$send](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$terminate](...args) {
    return this.terminate.apply(this, args);
  }
  get [S$.$onMessage]() {
    return html$.PresentationConnection.messageEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.PresentationConnection);
dart.addTypeCaches(html$.PresentationConnection);
dart.setMethodSignature(html$.PresentationConnection, () => ({
  __proto__: dart.getMethods(html$.PresentationConnection.__proto__),
  [S.$close]: dart.fnType(dart.void, []),
  [S$1.$send]: dart.fnType(dart.void, [dart.dynamic]),
  [S$2.$terminate]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.PresentationConnection, () => ({
  __proto__: dart.getGetters(html$.PresentationConnection.__proto__),
  [S$2.$binaryType]: dart.nullable(core.String),
  [S.$id]: dart.nullable(core.String),
  [S$.$state]: dart.nullable(core.String),
  [S$.$url]: dart.nullable(core.String),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setSetterSignature(html$.PresentationConnection, () => ({
  __proto__: dart.getSetters(html$.PresentationConnection.__proto__),
  [S$2.$binaryType]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PresentationConnection, I[148]);
dart.defineLazy(html$.PresentationConnection, {
  /*html$.PresentationConnection.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  }
}, false);
dart.registerExtension("PresentationConnection", html$.PresentationConnection);
html$.PresentationConnectionAvailableEvent = class PresentationConnectionAvailableEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 25882, 55, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 25882, 65, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.PresentationConnectionAvailableEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new PresentationConnectionAvailableEvent(type, eventInitDict);
  }
  get [S$1.$connection]() {
    return this.connection;
  }
};
dart.addTypeTests(html$.PresentationConnectionAvailableEvent);
dart.addTypeCaches(html$.PresentationConnectionAvailableEvent);
dart.setGetterSignature(html$.PresentationConnectionAvailableEvent, () => ({
  __proto__: dart.getGetters(html$.PresentationConnectionAvailableEvent.__proto__),
  [S$1.$connection]: dart.nullable(html$.PresentationConnection)
}));
dart.setLibraryUri(html$.PresentationConnectionAvailableEvent, I[148]);
dart.registerExtension("PresentationConnectionAvailableEvent", html$.PresentationConnectionAvailableEvent);
html$.PresentationConnectionCloseEvent = class PresentationConnectionCloseEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 25904, 51, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 25904, 61, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.PresentationConnectionCloseEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new PresentationConnectionCloseEvent(type, eventInitDict);
  }
  get [$message]() {
    return this.message;
  }
  get [S$.$reason]() {
    return this.reason;
  }
};
dart.addTypeTests(html$.PresentationConnectionCloseEvent);
dart.addTypeCaches(html$.PresentationConnectionCloseEvent);
dart.setGetterSignature(html$.PresentationConnectionCloseEvent, () => ({
  __proto__: dart.getGetters(html$.PresentationConnectionCloseEvent.__proto__),
  [$message]: dart.nullable(core.String),
  [S$.$reason]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.PresentationConnectionCloseEvent, I[148]);
dart.registerExtension("PresentationConnectionCloseEvent", html$.PresentationConnectionCloseEvent);
html$.PresentationConnectionList = class PresentationConnectionList extends html$.EventTarget {
  get [S$2.$connections]() {
    return this.connections;
  }
};
dart.addTypeTests(html$.PresentationConnectionList);
dart.addTypeCaches(html$.PresentationConnectionList);
dart.setGetterSignature(html$.PresentationConnectionList, () => ({
  __proto__: dart.getGetters(html$.PresentationConnectionList.__proto__),
  [S$2.$connections]: dart.nullable(core.List$(html$.PresentationConnection))
}));
dart.setLibraryUri(html$.PresentationConnectionList, I[148]);
dart.registerExtension("PresentationConnectionList", html$.PresentationConnectionList);
html$.PresentationReceiver = class PresentationReceiver extends _interceptors.Interceptor {
  get [S$2.$connectionList]() {
    return js_util.promiseToFuture(html$.PresentationConnectionList, this.connectionList);
  }
};
dart.addTypeTests(html$.PresentationReceiver);
dart.addTypeCaches(html$.PresentationReceiver);
dart.setGetterSignature(html$.PresentationReceiver, () => ({
  __proto__: dart.getGetters(html$.PresentationReceiver.__proto__),
  [S$2.$connectionList]: async.Future$(html$.PresentationConnectionList)
}));
dart.setLibraryUri(html$.PresentationReceiver, I[148]);
dart.registerExtension("PresentationReceiver", html$.PresentationReceiver);
html$.PresentationRequest = class PresentationRequest$ extends html$.EventTarget {
  static new(url_OR_urls) {
    if (typeof url_OR_urls == 'string') {
      return html$.PresentationRequest._create_1(url_OR_urls);
    }
    if (T$.ListOfString().is(url_OR_urls)) {
      let urls_1 = html_common.convertDartToNative_StringArray(url_OR_urls);
      return html$.PresentationRequest._create_2(urls_1);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1(url_OR_urls) {
    return new PresentationRequest(url_OR_urls);
  }
  static _create_2(url_OR_urls) {
    return new PresentationRequest(url_OR_urls);
  }
  [S$2.$getAvailability]() {
    return js_util.promiseToFuture(html$.PresentationAvailability, this.getAvailability());
  }
  [S$2.$reconnect](id) {
    if (id == null) dart.nullFailed(I[147], 25976, 51, "id");
    return js_util.promiseToFuture(html$.PresentationConnection, this.reconnect(id));
  }
  [S$.$start]() {
    return js_util.promiseToFuture(html$.PresentationConnection, this.start());
  }
};
dart.addTypeTests(html$.PresentationRequest);
dart.addTypeCaches(html$.PresentationRequest);
dart.setMethodSignature(html$.PresentationRequest, () => ({
  __proto__: dart.getMethods(html$.PresentationRequest.__proto__),
  [S$2.$getAvailability]: dart.fnType(async.Future$(html$.PresentationAvailability), []),
  [S$2.$reconnect]: dart.fnType(async.Future$(html$.PresentationConnection), [core.String]),
  [S$.$start]: dart.fnType(async.Future$(html$.PresentationConnection), [])
}));
dart.setLibraryUri(html$.PresentationRequest, I[148]);
dart.registerExtension("PresentationRequest", html$.PresentationRequest);
html$.ProcessingInstruction = class ProcessingInstruction extends html$.CharacterData {
  get [S$1.$sheet]() {
    return this.sheet;
  }
  get [S.$target]() {
    return this.target;
  }
};
dart.addTypeTests(html$.ProcessingInstruction);
dart.addTypeCaches(html$.ProcessingInstruction);
dart.setGetterSignature(html$.ProcessingInstruction, () => ({
  __proto__: dart.getGetters(html$.ProcessingInstruction.__proto__),
  [S$1.$sheet]: dart.nullable(html$.StyleSheet),
  [S.$target]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.ProcessingInstruction, I[148]);
dart.registerExtension("ProcessingInstruction", html$.ProcessingInstruction);
html$.ProgressElement = class ProgressElement extends html$.HtmlElement {
  static new() {
    return html$.ProgressElement.as(html$.document[S.$createElement]("progress"));
  }
  static get supported() {
    return html$.Element.isTagSupported("progress");
  }
  get [S$.$labels]() {
    return this.labels;
  }
  get [S$1.$max]() {
    return this.max;
  }
  set [S$1.$max](value) {
    this.max = value;
  }
  get [S$0.$position]() {
    return this.position;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
(html$.ProgressElement.created = function() {
  html$.ProgressElement.__proto__.created.call(this);
  ;
}).prototype = html$.ProgressElement.prototype;
dart.addTypeTests(html$.ProgressElement);
dart.addTypeCaches(html$.ProgressElement);
dart.setGetterSignature(html$.ProgressElement, () => ({
  __proto__: dart.getGetters(html$.ProgressElement.__proto__),
  [S$.$labels]: dart.nullable(core.List$(html$.Node)),
  [S$1.$max]: core.num,
  [S$0.$position]: core.num,
  [S.$value]: core.num
}));
dart.setSetterSignature(html$.ProgressElement, () => ({
  __proto__: dart.getSetters(html$.ProgressElement.__proto__),
  [S$1.$max]: core.num,
  [S.$value]: core.num
}));
dart.setLibraryUri(html$.ProgressElement, I[148]);
dart.registerExtension("HTMLProgressElement", html$.ProgressElement);
html$.ProgressEvent = class ProgressEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 26053, 32, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.ProgressEvent._create_1(type, eventInitDict_1);
    }
    return html$.ProgressEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new ProgressEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new ProgressEvent(type);
  }
  get [S$2.$lengthComputable]() {
    return this.lengthComputable;
  }
  get [S$1.$loaded]() {
    return this.loaded;
  }
  get [S$2.$total]() {
    return this.total;
  }
};
dart.addTypeTests(html$.ProgressEvent);
dart.addTypeCaches(html$.ProgressEvent);
dart.setGetterSignature(html$.ProgressEvent, () => ({
  __proto__: dart.getGetters(html$.ProgressEvent.__proto__),
  [S$2.$lengthComputable]: core.bool,
  [S$1.$loaded]: dart.nullable(core.int),
  [S$2.$total]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.ProgressEvent, I[148]);
dart.registerExtension("ProgressEvent", html$.ProgressEvent);
html$.PromiseRejectionEvent = class PromiseRejectionEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 26082, 40, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 26082, 50, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.PromiseRejectionEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new PromiseRejectionEvent(type, eventInitDict);
  }
  get [S$2.$promise]() {
    return js_util.promiseToFuture(dart.dynamic, this.promise);
  }
  get [S$.$reason]() {
    return this.reason;
  }
};
dart.addTypeTests(html$.PromiseRejectionEvent);
dart.addTypeCaches(html$.PromiseRejectionEvent);
dart.setGetterSignature(html$.PromiseRejectionEvent, () => ({
  __proto__: dart.getGetters(html$.PromiseRejectionEvent.__proto__),
  [S$2.$promise]: async.Future,
  [S$.$reason]: dart.nullable(core.Object)
}));
dart.setLibraryUri(html$.PromiseRejectionEvent, I[148]);
dart.registerExtension("PromiseRejectionEvent", html$.PromiseRejectionEvent);
html$.PublicKeyCredential = class PublicKeyCredential extends html$.Credential {
  get [S$2.$rawId]() {
    return this.rawId;
  }
  get [S$.$response]() {
    return this.response;
  }
};
dart.addTypeTests(html$.PublicKeyCredential);
dart.addTypeCaches(html$.PublicKeyCredential);
dart.setGetterSignature(html$.PublicKeyCredential, () => ({
  __proto__: dart.getGetters(html$.PublicKeyCredential.__proto__),
  [S$2.$rawId]: dart.nullable(typed_data.ByteBuffer),
  [S$.$response]: dart.nullable(html$.AuthenticatorResponse)
}));
dart.setLibraryUri(html$.PublicKeyCredential, I[148]);
dart.registerExtension("PublicKeyCredential", html$.PublicKeyCredential);
html$.PushEvent = class PushEvent$ extends html$.ExtendableEvent {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 26122, 28, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.PushEvent._create_1(type, eventInitDict_1);
    }
    return html$.PushEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new PushEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new PushEvent(type);
  }
  get [S$.$data]() {
    return this.data;
  }
};
dart.addTypeTests(html$.PushEvent);
dart.addTypeCaches(html$.PushEvent);
dart.setGetterSignature(html$.PushEvent, () => ({
  __proto__: dart.getGetters(html$.PushEvent.__proto__),
  [S$.$data]: dart.nullable(html$.PushMessageData)
}));
dart.setLibraryUri(html$.PushEvent, I[148]);
dart.registerExtension("PushEvent", html$.PushEvent);
html$.PushManager = class PushManager extends _interceptors.Interceptor {
  [S$2.$getSubscription]() {
    return js_util.promiseToFuture(html$.PushSubscription, this.getSubscription());
  }
  [S$2.$permissionState](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.permissionState(options_dict));
  }
  [S$2.$subscribe](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(html$.PushSubscription, this.subscribe(options_dict));
  }
};
dart.addTypeTests(html$.PushManager);
dart.addTypeCaches(html$.PushManager);
dart.setMethodSignature(html$.PushManager, () => ({
  __proto__: dart.getMethods(html$.PushManager.__proto__),
  [S$2.$getSubscription]: dart.fnType(async.Future$(html$.PushSubscription), []),
  [S$2.$permissionState]: dart.fnType(async.Future, [], [dart.nullable(core.Map)]),
  [S$2.$subscribe]: dart.fnType(async.Future$(html$.PushSubscription), [], [dart.nullable(core.Map)])
}));
dart.setLibraryUri(html$.PushManager, I[148]);
dart.registerExtension("PushManager", html$.PushManager);
html$.PushMessageData = class PushMessageData extends _interceptors.Interceptor {
  [S$.$arrayBuffer](...args) {
    return this.arrayBuffer.apply(this, args);
  }
  [S$.$blob](...args) {
    return this.blob.apply(this, args);
  }
  [S$.$json](...args) {
    return this.json.apply(this, args);
  }
  [S.$text](...args) {
    return this.text.apply(this, args);
  }
};
dart.addTypeTests(html$.PushMessageData);
dart.addTypeCaches(html$.PushMessageData);
dart.setMethodSignature(html$.PushMessageData, () => ({
  __proto__: dart.getMethods(html$.PushMessageData.__proto__),
  [S$.$arrayBuffer]: dart.fnType(typed_data.ByteBuffer, []),
  [S$.$blob]: dart.fnType(html$.Blob, []),
  [S$.$json]: dart.fnType(core.Object, []),
  [S.$text]: dart.fnType(core.String, [])
}));
dart.setLibraryUri(html$.PushMessageData, I[148]);
dart.registerExtension("PushMessageData", html$.PushMessageData);
html$.PushSubscription = class PushSubscription extends _interceptors.Interceptor {
  get [S$2.$endpoint]() {
    return this.endpoint;
  }
  get [S$2.$expirationTime]() {
    return this.expirationTime;
  }
  get [S$0.$options]() {
    return this.options;
  }
  [S.$getKey](...args) {
    return this.getKey.apply(this, args);
  }
  [S$2.$unsubscribe]() {
    return js_util.promiseToFuture(core.bool, this.unsubscribe());
  }
};
dart.addTypeTests(html$.PushSubscription);
dart.addTypeCaches(html$.PushSubscription);
dart.setMethodSignature(html$.PushSubscription, () => ({
  __proto__: dart.getMethods(html$.PushSubscription.__proto__),
  [S.$getKey]: dart.fnType(dart.nullable(typed_data.ByteBuffer), [core.String]),
  [S$2.$unsubscribe]: dart.fnType(async.Future$(core.bool), [])
}));
dart.setGetterSignature(html$.PushSubscription, () => ({
  __proto__: dart.getGetters(html$.PushSubscription.__proto__),
  [S$2.$endpoint]: dart.nullable(core.String),
  [S$2.$expirationTime]: dart.nullable(core.int),
  [S$0.$options]: dart.nullable(html$.PushSubscriptionOptions)
}));
dart.setLibraryUri(html$.PushSubscription, I[148]);
dart.registerExtension("PushSubscription", html$.PushSubscription);
html$.PushSubscriptionOptions = class PushSubscriptionOptions extends _interceptors.Interceptor {
  get [S$2.$applicationServerKey]() {
    return this.applicationServerKey;
  }
  get [S$2.$userVisibleOnly]() {
    return this.userVisibleOnly;
  }
};
dart.addTypeTests(html$.PushSubscriptionOptions);
dart.addTypeCaches(html$.PushSubscriptionOptions);
dart.setGetterSignature(html$.PushSubscriptionOptions, () => ({
  __proto__: dart.getGetters(html$.PushSubscriptionOptions.__proto__),
  [S$2.$applicationServerKey]: dart.nullable(typed_data.ByteBuffer),
  [S$2.$userVisibleOnly]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.PushSubscriptionOptions, I[148]);
dart.registerExtension("PushSubscriptionOptions", html$.PushSubscriptionOptions);
html$.QuoteElement = class QuoteElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("q");
  }
  get [S$1.$cite]() {
    return this.cite;
  }
  set [S$1.$cite](value) {
    this.cite = value;
  }
};
(html$.QuoteElement.created = function() {
  html$.QuoteElement.__proto__.created.call(this);
  ;
}).prototype = html$.QuoteElement.prototype;
dart.addTypeTests(html$.QuoteElement);
dart.addTypeCaches(html$.QuoteElement);
dart.setGetterSignature(html$.QuoteElement, () => ({
  __proto__: dart.getGetters(html$.QuoteElement.__proto__),
  [S$1.$cite]: core.String
}));
dart.setSetterSignature(html$.QuoteElement, () => ({
  __proto__: dart.getSetters(html$.QuoteElement.__proto__),
  [S$1.$cite]: core.String
}));
dart.setLibraryUri(html$.QuoteElement, I[148]);
dart.registerExtension("HTMLQuoteElement", html$.QuoteElement);
html$.Range = class Range extends _interceptors.Interceptor {
  static new() {
    return html$.document.createRange();
  }
  static fromPoint(point) {
    if (point == null) dart.nullFailed(I[147], 26284, 33, "point");
    return html$.document[S$1._caretRangeFromPoint](point.x[$toInt](), point.y[$toInt]());
  }
  get [S$2.$collapsed]() {
    return this.collapsed;
  }
  get [S$2.$commonAncestorContainer]() {
    return this.commonAncestorContainer;
  }
  get [S$2.$endContainer]() {
    return this.endContainer;
  }
  get [S$2.$endOffset]() {
    return this.endOffset;
  }
  get [S$2.$startContainer]() {
    return this.startContainer;
  }
  get [S$2.$startOffset]() {
    return this.startOffset;
  }
  [S$2.$cloneContents](...args) {
    return this.cloneContents.apply(this, args);
  }
  [S$2.$cloneRange](...args) {
    return this.cloneRange.apply(this, args);
  }
  [S$2.$collapse](...args) {
    return this.collapse.apply(this, args);
  }
  [S$2.$compareBoundaryPoints](...args) {
    return this.compareBoundaryPoints.apply(this, args);
  }
  [S$2.$comparePoint](...args) {
    return this.comparePoint.apply(this, args);
  }
  [S$2.$createContextualFragment](...args) {
    return this.createContextualFragment.apply(this, args);
  }
  [S$2.$deleteContents](...args) {
    return this.deleteContents.apply(this, args);
  }
  [S$2.$detach](...args) {
    return this.detach.apply(this, args);
  }
  [$expand](...args) {
    return this.expand.apply(this, args);
  }
  [S$2.$extractContents](...args) {
    return this.extractContents.apply(this, args);
  }
  [S.$getBoundingClientRect](...args) {
    return this.getBoundingClientRect.apply(this, args);
  }
  [S._getClientRects](...args) {
    return this.getClientRects.apply(this, args);
  }
  [S$2.$insertNode](...args) {
    return this.insertNode.apply(this, args);
  }
  [S$2.$isPointInRange](...args) {
    return this.isPointInRange.apply(this, args);
  }
  [S$2.$selectNode](...args) {
    return this.selectNode.apply(this, args);
  }
  [S$2.$selectNodeContents](...args) {
    return this.selectNodeContents.apply(this, args);
  }
  [S$2.$setEnd](...args) {
    return this.setEnd.apply(this, args);
  }
  [S$2.$setEndAfter](...args) {
    return this.setEndAfter.apply(this, args);
  }
  [S$2.$setEndBefore](...args) {
    return this.setEndBefore.apply(this, args);
  }
  [S$2.$setStart](...args) {
    return this.setStart.apply(this, args);
  }
  [S$2.$setStartAfter](...args) {
    return this.setStartAfter.apply(this, args);
  }
  [S$2.$setStartBefore](...args) {
    return this.setStartBefore.apply(this, args);
  }
  [S$2.$surroundContents](...args) {
    return this.surroundContents.apply(this, args);
  }
  [S.$getClientRects]() {
    let value = this[S._getClientRects]();
    let jsProto = value.prototype;
    if (jsProto == null) {
      value.prototype = Object.create(null);
    }
    _js_helper.applyExtension("DOMRectList", value);
    return value;
  }
  static get supportsCreateContextualFragment() {
    return "createContextualFragment" in window.Range.prototype;
  }
};
dart.addTypeTests(html$.Range);
dart.addTypeCaches(html$.Range);
dart.setMethodSignature(html$.Range, () => ({
  __proto__: dart.getMethods(html$.Range.__proto__),
  [S$2.$cloneContents]: dart.fnType(html$.DocumentFragment, []),
  [S$2.$cloneRange]: dart.fnType(html$.Range, []),
  [S$2.$collapse]: dart.fnType(dart.void, [], [dart.nullable(core.bool)]),
  [S$2.$compareBoundaryPoints]: dart.fnType(core.int, [core.int, html$.Range]),
  [S$2.$comparePoint]: dart.fnType(core.int, [html$.Node, core.int]),
  [S$2.$createContextualFragment]: dart.fnType(html$.DocumentFragment, [core.String]),
  [S$2.$deleteContents]: dart.fnType(dart.void, []),
  [S$2.$detach]: dart.fnType(dart.void, []),
  [$expand]: dart.fnType(dart.void, [dart.nullable(core.String)]),
  [S$2.$extractContents]: dart.fnType(html$.DocumentFragment, []),
  [S.$getBoundingClientRect]: dart.fnType(math.Rectangle$(core.num), []),
  [S._getClientRects]: dart.fnType(core.List$(math.Rectangle$(core.num)), []),
  [S$2.$insertNode]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$isPointInRange]: dart.fnType(core.bool, [html$.Node, core.int]),
  [S$2.$selectNode]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$selectNodeContents]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$setEnd]: dart.fnType(dart.void, [html$.Node, core.int]),
  [S$2.$setEndAfter]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$setEndBefore]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$setStart]: dart.fnType(dart.void, [html$.Node, core.int]),
  [S$2.$setStartAfter]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$setStartBefore]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$surroundContents]: dart.fnType(dart.void, [html$.Node]),
  [S.$getClientRects]: dart.fnType(core.List$(math.Rectangle$(core.num)), [])
}));
dart.setGetterSignature(html$.Range, () => ({
  __proto__: dart.getGetters(html$.Range.__proto__),
  [S$2.$collapsed]: core.bool,
  [S$2.$commonAncestorContainer]: html$.Node,
  [S$2.$endContainer]: html$.Node,
  [S$2.$endOffset]: core.int,
  [S$2.$startContainer]: html$.Node,
  [S$2.$startOffset]: core.int
}));
dart.setLibraryUri(html$.Range, I[148]);
dart.defineLazy(html$.Range, {
  /*html$.Range.END_TO_END*/get END_TO_END() {
    return 2;
  },
  /*html$.Range.END_TO_START*/get END_TO_START() {
    return 3;
  },
  /*html$.Range.START_TO_END*/get START_TO_END() {
    return 1;
  },
  /*html$.Range.START_TO_START*/get START_TO_START() {
    return 0;
  }
}, false);
dart.registerExtension("Range", html$.Range);
html$.RelatedApplication = class RelatedApplication extends _interceptors.Interceptor {
  get [S.$id]() {
    return this.id;
  }
  get [S$2.$platform]() {
    return this.platform;
  }
  get [S$.$url]() {
    return this.url;
  }
};
dart.addTypeTests(html$.RelatedApplication);
dart.addTypeCaches(html$.RelatedApplication);
dart.setGetterSignature(html$.RelatedApplication, () => ({
  __proto__: dart.getGetters(html$.RelatedApplication.__proto__),
  [S.$id]: dart.nullable(core.String),
  [S$2.$platform]: dart.nullable(core.String),
  [S$.$url]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.RelatedApplication, I[148]);
dart.registerExtension("RelatedApplication", html$.RelatedApplication);
html$.RelativeOrientationSensor = class RelativeOrientationSensor$ extends html$.OrientationSensor {
  static new(sensorOptions = null) {
    if (sensorOptions != null) {
      let sensorOptions_1 = html_common.convertDartToNative_Dictionary(sensorOptions);
      return html$.RelativeOrientationSensor._create_1(sensorOptions_1);
    }
    return html$.RelativeOrientationSensor._create_2();
  }
  static _create_1(sensorOptions) {
    return new RelativeOrientationSensor(sensorOptions);
  }
  static _create_2() {
    return new RelativeOrientationSensor();
  }
};
dart.addTypeTests(html$.RelativeOrientationSensor);
dart.addTypeCaches(html$.RelativeOrientationSensor);
dart.setLibraryUri(html$.RelativeOrientationSensor, I[148]);
dart.registerExtension("RelativeOrientationSensor", html$.RelativeOrientationSensor);
html$.RemotePlayback = class RemotePlayback extends html$.EventTarget {
  get [S$.$state]() {
    return this.state;
  }
  [S$2.$cancelWatchAvailability](id = null) {
    return js_util.promiseToFuture(dart.dynamic, this.cancelWatchAvailability(id));
  }
  [S$.$prompt]() {
    return js_util.promiseToFuture(dart.dynamic, this.prompt());
  }
  [S$2.$watchAvailability](callback) {
    if (callback == null) dart.nullFailed(I[147], 26444, 68, "callback");
    return js_util.promiseToFuture(core.int, this.watchAvailability(callback));
  }
};
dart.addTypeTests(html$.RemotePlayback);
dart.addTypeCaches(html$.RemotePlayback);
dart.setMethodSignature(html$.RemotePlayback, () => ({
  __proto__: dart.getMethods(html$.RemotePlayback.__proto__),
  [S$2.$cancelWatchAvailability]: dart.fnType(async.Future, [], [dart.nullable(core.int)]),
  [S$.$prompt]: dart.fnType(async.Future, []),
  [S$2.$watchAvailability]: dart.fnType(async.Future$(core.int), [dart.fnType(dart.void, [core.bool])])
}));
dart.setGetterSignature(html$.RemotePlayback, () => ({
  __proto__: dart.getGetters(html$.RemotePlayback.__proto__),
  [S$.$state]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.RemotePlayback, I[148]);
dart.registerExtension("RemotePlayback", html$.RemotePlayback);
html$.ReportingObserver = class ReportingObserver$ extends _interceptors.Interceptor {
  static new(callback) {
    if (callback == null) dart.nullFailed(I[147], 26476, 55, "callback");
    let callback_1 = _js_helper.convertDartClosureToJS(T$0.ListAndReportingObserverTovoid(), callback, 2);
    return html$.ReportingObserver._create_1(callback_1);
  }
  static _create_1(callback) {
    return new ReportingObserver(callback);
  }
  [S$1.$disconnect](...args) {
    return this.disconnect.apply(this, args);
  }
  [S.$observe](...args) {
    return this.observe.apply(this, args);
  }
};
dart.addTypeTests(html$.ReportingObserver);
dart.addTypeCaches(html$.ReportingObserver);
dart.setMethodSignature(html$.ReportingObserver, () => ({
  __proto__: dart.getMethods(html$.ReportingObserver.__proto__),
  [S$1.$disconnect]: dart.fnType(dart.void, []),
  [S.$observe]: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(html$.ReportingObserver, I[148]);
dart.registerExtension("ReportingObserver", html$.ReportingObserver);
html$.ResizeObserver = class ResizeObserver$ extends _interceptors.Interceptor {
  static new(callback) {
    if (callback == null) dart.nullFailed(I[147], 26513, 49, "callback");
    let callback_1 = _js_helper.convertDartClosureToJS(T$0.ListAndResizeObserverTovoid(), callback, 2);
    return html$.ResizeObserver._create_1(callback_1);
  }
  static _create_1(callback) {
    return new ResizeObserver(callback);
  }
  [S$1.$disconnect](...args) {
    return this.disconnect.apply(this, args);
  }
  [S.$observe](...args) {
    return this.observe.apply(this, args);
  }
  [S.$unobserve](...args) {
    return this.unobserve.apply(this, args);
  }
};
dart.addTypeTests(html$.ResizeObserver);
dart.addTypeCaches(html$.ResizeObserver);
dart.setMethodSignature(html$.ResizeObserver, () => ({
  __proto__: dart.getMethods(html$.ResizeObserver.__proto__),
  [S$1.$disconnect]: dart.fnType(dart.void, []),
  [S.$observe]: dart.fnType(dart.void, [html$.Element]),
  [S.$unobserve]: dart.fnType(dart.void, [html$.Element])
}));
dart.setLibraryUri(html$.ResizeObserver, I[148]);
dart.registerExtension("ResizeObserver", html$.ResizeObserver);
html$.ResizeObserverEntry = class ResizeObserverEntry extends _interceptors.Interceptor {
  get [S$2.$contentRect]() {
    return this.contentRect;
  }
  get [S.$target]() {
    return this.target;
  }
};
dart.addTypeTests(html$.ResizeObserverEntry);
dart.addTypeCaches(html$.ResizeObserverEntry);
dart.setGetterSignature(html$.ResizeObserverEntry, () => ({
  __proto__: dart.getGetters(html$.ResizeObserverEntry.__proto__),
  [S$2.$contentRect]: dart.nullable(html$.DomRectReadOnly),
  [S.$target]: dart.nullable(html$.Element)
}));
dart.setLibraryUri(html$.ResizeObserverEntry, I[148]);
dart.registerExtension("ResizeObserverEntry", html$.ResizeObserverEntry);
html$.RtcCertificate = class RtcCertificate extends _interceptors.Interceptor {
  get [S$2.$expires]() {
    return this.expires;
  }
  [S$2.$getFingerprints](...args) {
    return this.getFingerprints.apply(this, args);
  }
};
dart.addTypeTests(html$.RtcCertificate);
dart.addTypeCaches(html$.RtcCertificate);
dart.setMethodSignature(html$.RtcCertificate, () => ({
  __proto__: dart.getMethods(html$.RtcCertificate.__proto__),
  [S$2.$getFingerprints]: dart.fnType(core.List$(core.Map), [])
}));
dart.setGetterSignature(html$.RtcCertificate, () => ({
  __proto__: dart.getGetters(html$.RtcCertificate.__proto__),
  [S$2.$expires]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.RtcCertificate, I[148]);
dart.registerExtension("RTCCertificate", html$.RtcCertificate);
html$.RtcDataChannel = class RtcDataChannel extends html$.EventTarget {
  get [S$2.$binaryType]() {
    return this.binaryType;
  }
  set [S$2.$binaryType](value) {
    this.binaryType = value;
  }
  get [S$2.$bufferedAmount]() {
    return this.bufferedAmount;
  }
  get [S$2.$bufferedAmountLowThreshold]() {
    return this.bufferedAmountLowThreshold;
  }
  set [S$2.$bufferedAmountLowThreshold](value) {
    this.bufferedAmountLowThreshold = value;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S$.$label]() {
    return this.label;
  }
  get [S$2.$maxRetransmitTime]() {
    return this.maxRetransmitTime;
  }
  get [S$2.$maxRetransmits]() {
    return this.maxRetransmits;
  }
  get [S$2.$negotiated]() {
    return this.negotiated;
  }
  get [S$2.$ordered]() {
    return this.ordered;
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$2.$reliable]() {
    return this.reliable;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$1.$send](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendBlob](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendByteBuffer](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendString](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendTypedData](...args) {
    return this.send.apply(this, args);
  }
  get [S.$onClose]() {
    return html$.RtcDataChannel.closeEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.RtcDataChannel.errorEvent.forTarget(this);
  }
  get [S$.$onMessage]() {
    return html$.RtcDataChannel.messageEvent.forTarget(this);
  }
  get [S$1.$onOpen]() {
    return html$.RtcDataChannel.openEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.RtcDataChannel);
dart.addTypeCaches(html$.RtcDataChannel);
dart.setMethodSignature(html$.RtcDataChannel, () => ({
  __proto__: dart.getMethods(html$.RtcDataChannel.__proto__),
  [S.$close]: dart.fnType(dart.void, []),
  [S$1.$send]: dart.fnType(dart.void, [dart.dynamic]),
  [S$2.$sendBlob]: dart.fnType(dart.void, [html$.Blob]),
  [S$2.$sendByteBuffer]: dart.fnType(dart.void, [typed_data.ByteBuffer]),
  [S$2.$sendString]: dart.fnType(dart.void, [core.String]),
  [S$2.$sendTypedData]: dart.fnType(dart.void, [typed_data.TypedData])
}));
dart.setGetterSignature(html$.RtcDataChannel, () => ({
  __proto__: dart.getGetters(html$.RtcDataChannel.__proto__),
  [S$2.$binaryType]: dart.nullable(core.String),
  [S$2.$bufferedAmount]: dart.nullable(core.int),
  [S$2.$bufferedAmountLowThreshold]: dart.nullable(core.int),
  [S.$id]: dart.nullable(core.int),
  [S$.$label]: dart.nullable(core.String),
  [S$2.$maxRetransmitTime]: dart.nullable(core.int),
  [S$2.$maxRetransmits]: dart.nullable(core.int),
  [S$2.$negotiated]: dart.nullable(core.bool),
  [S$2.$ordered]: dart.nullable(core.bool),
  [S$.$protocol]: dart.nullable(core.String),
  [S.$readyState]: dart.nullable(core.String),
  [S$2.$reliable]: dart.nullable(core.bool),
  [S.$onClose]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent),
  [S$1.$onOpen]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.RtcDataChannel, () => ({
  __proto__: dart.getSetters(html$.RtcDataChannel.__proto__),
  [S$2.$binaryType]: dart.nullable(core.String),
  [S$2.$bufferedAmountLowThreshold]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.RtcDataChannel, I[148]);
dart.defineLazy(html$.RtcDataChannel, {
  /*html$.RtcDataChannel.closeEvent*/get closeEvent() {
    return C[217] || CT.C217;
  },
  /*html$.RtcDataChannel.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.RtcDataChannel.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  },
  /*html$.RtcDataChannel.openEvent*/get openEvent() {
    return C[332] || CT.C332;
  }
}, false);
dart.registerExtension("RTCDataChannel", html$.RtcDataChannel);
dart.registerExtension("DataChannel", html$.RtcDataChannel);
html$.RtcDataChannelEvent = class RtcDataChannelEvent extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 26677, 38, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 26677, 48, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.RtcDataChannelEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new RTCDataChannelEvent(type, eventInitDict);
  }
  get [S$2.$channel]() {
    return this.channel;
  }
};
dart.addTypeTests(html$.RtcDataChannelEvent);
dart.addTypeCaches(html$.RtcDataChannelEvent);
dart.setGetterSignature(html$.RtcDataChannelEvent, () => ({
  __proto__: dart.getGetters(html$.RtcDataChannelEvent.__proto__),
  [S$2.$channel]: dart.nullable(html$.RtcDataChannel)
}));
dart.setLibraryUri(html$.RtcDataChannelEvent, I[148]);
dart.registerExtension("RTCDataChannelEvent", html$.RtcDataChannelEvent);
html$.RtcDtmfSender = class RtcDtmfSender extends html$.EventTarget {
  get [S$2.$canInsertDtmf]() {
    return this.canInsertDTMF;
  }
  get [S$.$duration]() {
    return this.duration;
  }
  get [S$2.$interToneGap]() {
    return this.interToneGap;
  }
  get [S$2.$toneBuffer]() {
    return this.toneBuffer;
  }
  get [S$1.$track]() {
    return this.track;
  }
  [S$2.$insertDtmf](...args) {
    return this.insertDTMF.apply(this, args);
  }
  get [S$2.$onToneChange]() {
    return html$.RtcDtmfSender.toneChangeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.RtcDtmfSender);
dart.addTypeCaches(html$.RtcDtmfSender);
dart.setMethodSignature(html$.RtcDtmfSender, () => ({
  __proto__: dart.getMethods(html$.RtcDtmfSender.__proto__),
  [S$2.$insertDtmf]: dart.fnType(dart.void, [core.String], [dart.nullable(core.int), dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.RtcDtmfSender, () => ({
  __proto__: dart.getGetters(html$.RtcDtmfSender.__proto__),
  [S$2.$canInsertDtmf]: dart.nullable(core.bool),
  [S$.$duration]: dart.nullable(core.int),
  [S$2.$interToneGap]: dart.nullable(core.int),
  [S$2.$toneBuffer]: dart.nullable(core.String),
  [S$1.$track]: dart.nullable(html$.MediaStreamTrack),
  [S$2.$onToneChange]: async.Stream$(html$.RtcDtmfToneChangeEvent)
}));
dart.setLibraryUri(html$.RtcDtmfSender, I[148]);
dart.defineLazy(html$.RtcDtmfSender, {
  /*html$.RtcDtmfSender.toneChangeEvent*/get toneChangeEvent() {
    return C[355] || CT.C355;
  }
}, false);
dart.registerExtension("RTCDTMFSender", html$.RtcDtmfSender);
html$.RtcDtmfToneChangeEvent = class RtcDtmfToneChangeEvent extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 26738, 41, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 26738, 51, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.RtcDtmfToneChangeEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new RTCDTMFToneChangeEvent(type, eventInitDict);
  }
  get [S$2.$tone]() {
    return this.tone;
  }
};
dart.addTypeTests(html$.RtcDtmfToneChangeEvent);
dart.addTypeCaches(html$.RtcDtmfToneChangeEvent);
dart.setGetterSignature(html$.RtcDtmfToneChangeEvent, () => ({
  __proto__: dart.getGetters(html$.RtcDtmfToneChangeEvent.__proto__),
  [S$2.$tone]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.RtcDtmfToneChangeEvent, I[148]);
dart.registerExtension("RTCDTMFToneChangeEvent", html$.RtcDtmfToneChangeEvent);
html$.RtcIceCandidate = class RtcIceCandidate extends _interceptors.Interceptor {
  static new(dictionary) {
    if (dictionary == null) dart.nullFailed(I[147], 26757, 31, "dictionary");
    let constructorName = window.RTCIceCandidate;
    return new constructorName(html_common.convertDartToNative_SerializedScriptValue(dictionary));
  }
  get [S$2.$candidate]() {
    return this.candidate;
  }
  set [S$2.$candidate](value) {
    this.candidate = value;
  }
  get [S$2.$sdpMLineIndex]() {
    return this.sdpMLineIndex;
  }
  set [S$2.$sdpMLineIndex](value) {
    this.sdpMLineIndex = value;
  }
  get [S$2.$sdpMid]() {
    return this.sdpMid;
  }
  set [S$2.$sdpMid](value) {
    this.sdpMid = value;
  }
};
dart.addTypeTests(html$.RtcIceCandidate);
dart.addTypeCaches(html$.RtcIceCandidate);
dart.setGetterSignature(html$.RtcIceCandidate, () => ({
  __proto__: dart.getGetters(html$.RtcIceCandidate.__proto__),
  [S$2.$candidate]: dart.nullable(core.String),
  [S$2.$sdpMLineIndex]: dart.nullable(core.int),
  [S$2.$sdpMid]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.RtcIceCandidate, () => ({
  __proto__: dart.getSetters(html$.RtcIceCandidate.__proto__),
  [S$2.$candidate]: dart.nullable(core.String),
  [S$2.$sdpMLineIndex]: dart.nullable(core.int),
  [S$2.$sdpMid]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.RtcIceCandidate, I[148]);
dart.registerExtension("RTCIceCandidate", html$.RtcIceCandidate);
dart.registerExtension("mozRTCIceCandidate", html$.RtcIceCandidate);
html$.RtcLegacyStatsReport = class RtcLegacyStatsReport extends _interceptors.Interceptor {
  get [S.$id]() {
    return this.id;
  }
  get [S$.$timestamp]() {
    return html_common.convertNativeToDart_DateTime(this[S$2._get_timestamp]);
  }
  get [S$2._get_timestamp]() {
    return this.timestamp;
  }
  get [S.$type]() {
    return this.type;
  }
  [S$2.$names](...args) {
    return this.names.apply(this, args);
  }
  [S$2.$stat](...args) {
    return this.stat.apply(this, args);
  }
};
dart.addTypeTests(html$.RtcLegacyStatsReport);
dart.addTypeCaches(html$.RtcLegacyStatsReport);
dart.setMethodSignature(html$.RtcLegacyStatsReport, () => ({
  __proto__: dart.getMethods(html$.RtcLegacyStatsReport.__proto__),
  [S$2.$names]: dart.fnType(core.List$(core.String), []),
  [S$2.$stat]: dart.fnType(core.String, [core.String])
}));
dart.setGetterSignature(html$.RtcLegacyStatsReport, () => ({
  __proto__: dart.getGetters(html$.RtcLegacyStatsReport.__proto__),
  [S.$id]: dart.nullable(core.String),
  [S$.$timestamp]: core.DateTime,
  [S$2._get_timestamp]: dart.dynamic,
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.RtcLegacyStatsReport, I[148]);
dart.registerExtension("RTCLegacyStatsReport", html$.RtcLegacyStatsReport);
html$.RtcPeerConnection = class RtcPeerConnection extends html$.EventTarget {
  static new(rtcIceServers, mediaConstraints = null) {
    if (rtcIceServers == null) dart.nullFailed(I[147], 26809, 33, "rtcIceServers");
    let constructorName = window.RTCPeerConnection;
    if (mediaConstraints != null) {
      return new constructorName(html_common.convertDartToNative_SerializedScriptValue(rtcIceServers), html_common.convertDartToNative_SerializedScriptValue(mediaConstraints));
    } else {
      return new constructorName(html_common.convertDartToNative_SerializedScriptValue(rtcIceServers));
    }
  }
  static get supported() {
    try {
      html$.RtcPeerConnection.new(new _js_helper.LinkedMap.from(["iceServers", T$0.JSArrayOfMapOfString$String().of([new (T$.IdentityMapOfString$String()).from(["url", "stun:localhost"])])]));
      return true;
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
        return false;
      } else
        throw e;
    }
    return false;
  }
  [S$2.$getLegacyStats](selector = null) {
    let completer = T$0.CompleterOfRtcStatsResponse().new();
    this[S$2._getStats](dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 26853, 16, "value");
      completer.complete(value);
    }, T$0.RtcStatsResponseTovoid()), selector);
    return completer.future;
  }
  [S$2._getStats](...args) {
    return this.getStats.apply(this, args);
  }
  static generateCertificate(keygenAlgorithm) {
    return generateCertificate(keygenAlgorithm);
  }
  get [S$2.$iceConnectionState]() {
    return this.iceConnectionState;
  }
  get [S$2.$iceGatheringState]() {
    return this.iceGatheringState;
  }
  get [S$2.$localDescription]() {
    return this.localDescription;
  }
  get [S$2.$remoteDescription]() {
    return this.remoteDescription;
  }
  get [S$2.$signalingState]() {
    return this.signalingState;
  }
  [S$2.$addIceCandidate](candidate, successCallback = null, failureCallback = null) {
    if (candidate == null) dart.nullFailed(I[147], 26954, 33, "candidate");
    return js_util.promiseToFuture(dart.dynamic, this.addIceCandidate(candidate, successCallback, failureCallback));
  }
  [S$2.$addStream](stream, mediaConstraints = null) {
    if (mediaConstraints != null) {
      let mediaConstraints_1 = html_common.convertDartToNative_Dictionary(mediaConstraints);
      this[S$2._addStream_1](stream, mediaConstraints_1);
      return;
    }
    this[S$2._addStream_2](stream);
    return;
  }
  [S$2._addStream_1](...args) {
    return this.addStream.apply(this, args);
  }
  [S$2._addStream_2](...args) {
    return this.addStream.apply(this, args);
  }
  [S$1.$addTrack](...args) {
    return this.addTrack.apply(this, args);
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$2.$createAnswer](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(html$.RtcSessionDescription, this.createAnswer(options_dict));
  }
  [S$2.$createDtmfSender](...args) {
    return this.createDTMFSender.apply(this, args);
  }
  [S$2.$createDataChannel](label, dataChannelDict = null) {
    if (label == null) dart.nullFailed(I[147], 26994, 43, "label");
    if (dataChannelDict != null) {
      let dataChannelDict_1 = html_common.convertDartToNative_Dictionary(dataChannelDict);
      return this[S$2._createDataChannel_1](label, dataChannelDict_1);
    }
    return this[S$2._createDataChannel_2](label);
  }
  [S$2._createDataChannel_1](...args) {
    return this.createDataChannel.apply(this, args);
  }
  [S$2._createDataChannel_2](...args) {
    return this.createDataChannel.apply(this, args);
  }
  [S$2.$createOffer](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(html$.RtcSessionDescription, this.createOffer(options_dict));
  }
  [S$2.$getLocalStreams](...args) {
    return this.getLocalStreams.apply(this, args);
  }
  [S$2.$getReceivers](...args) {
    return this.getReceivers.apply(this, args);
  }
  [S$2.$getRemoteStreams](...args) {
    return this.getRemoteStreams.apply(this, args);
  }
  [S$2.$getSenders](...args) {
    return this.getSenders.apply(this, args);
  }
  [S$2.$getStats]() {
    return js_util.promiseToFuture(html$.RtcStatsReport, this.getStats());
  }
  [S$2.$removeStream](...args) {
    return this.removeStream.apply(this, args);
  }
  [S$1.$removeTrack](...args) {
    return this.removeTrack.apply(this, args);
  }
  [S$2.$setConfiguration](configuration) {
    if (configuration == null) dart.nullFailed(I[147], 27034, 29, "configuration");
    let configuration_1 = html_common.convertDartToNative_Dictionary(configuration);
    this[S$2._setConfiguration_1](configuration_1);
    return;
  }
  [S$2._setConfiguration_1](...args) {
    return this.setConfiguration.apply(this, args);
  }
  [S$2.$setLocalDescription](description) {
    if (description == null) dart.nullFailed(I[147], 27043, 34, "description");
    let description_dict = html_common.convertDartToNative_Dictionary(description);
    return js_util.promiseToFuture(dart.dynamic, this.setLocalDescription(description_dict));
  }
  [S$2.$setRemoteDescription](description) {
    if (description == null) dart.nullFailed(I[147], 27049, 35, "description");
    let description_dict = html_common.convertDartToNative_Dictionary(description);
    return js_util.promiseToFuture(dart.dynamic, this.setRemoteDescription(description_dict));
  }
  get [S$2.$onAddStream]() {
    return html$.RtcPeerConnection.addStreamEvent.forTarget(this);
  }
  get [S$2.$onDataChannel]() {
    return html$.RtcPeerConnection.dataChannelEvent.forTarget(this);
  }
  get [S$2.$onIceCandidate]() {
    return html$.RtcPeerConnection.iceCandidateEvent.forTarget(this);
  }
  get [S$2.$onIceConnectionStateChange]() {
    return html$.RtcPeerConnection.iceConnectionStateChangeEvent.forTarget(this);
  }
  get [S$2.$onNegotiationNeeded]() {
    return html$.RtcPeerConnection.negotiationNeededEvent.forTarget(this);
  }
  get [S$2.$onRemoveStream]() {
    return html$.RtcPeerConnection.removeStreamEvent.forTarget(this);
  }
  get [S$2.$onSignalingStateChange]() {
    return html$.RtcPeerConnection.signalingStateChangeEvent.forTarget(this);
  }
  get [S$2.$onTrack]() {
    return html$.RtcPeerConnection.trackEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.RtcPeerConnection);
dart.addTypeCaches(html$.RtcPeerConnection);
dart.setMethodSignature(html$.RtcPeerConnection, () => ({
  __proto__: dart.getMethods(html$.RtcPeerConnection.__proto__),
  [S$2.$getLegacyStats]: dart.fnType(async.Future$(html$.RtcStatsResponse), [], [dart.nullable(html$.MediaStreamTrack)]),
  [S$2._getStats]: dart.fnType(async.Future, [], [dart.nullable(dart.fnType(dart.void, [html$.RtcStatsResponse])), dart.nullable(html$.MediaStreamTrack)]),
  [S$2.$addIceCandidate]: dart.fnType(async.Future, [core.Object], [dart.nullable(dart.fnType(dart.void, [])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$2.$addStream]: dart.fnType(dart.void, [dart.nullable(html$.MediaStream)], [dart.nullable(core.Map)]),
  [S$2._addStream_1]: dart.fnType(dart.void, [dart.nullable(html$.MediaStream), dart.dynamic]),
  [S$2._addStream_2]: dart.fnType(dart.void, [dart.nullable(html$.MediaStream)]),
  [S$1.$addTrack]: dart.fnType(html$.RtcRtpSender, [html$.MediaStreamTrack, html$.MediaStream]),
  [S.$close]: dart.fnType(dart.void, []),
  [S$2.$createAnswer]: dart.fnType(async.Future$(html$.RtcSessionDescription), [], [dart.nullable(core.Map)]),
  [S$2.$createDtmfSender]: dart.fnType(html$.RtcDtmfSender, [html$.MediaStreamTrack]),
  [S$2.$createDataChannel]: dart.fnType(html$.RtcDataChannel, [core.String], [dart.nullable(core.Map)]),
  [S$2._createDataChannel_1]: dart.fnType(html$.RtcDataChannel, [dart.dynamic, dart.dynamic]),
  [S$2._createDataChannel_2]: dart.fnType(html$.RtcDataChannel, [dart.dynamic]),
  [S$2.$createOffer]: dart.fnType(async.Future$(html$.RtcSessionDescription), [], [dart.nullable(core.Map)]),
  [S$2.$getLocalStreams]: dart.fnType(core.List$(html$.MediaStream), []),
  [S$2.$getReceivers]: dart.fnType(core.List$(html$.RtcRtpReceiver), []),
  [S$2.$getRemoteStreams]: dart.fnType(core.List$(html$.MediaStream), []),
  [S$2.$getSenders]: dart.fnType(core.List$(html$.RtcRtpSender), []),
  [S$2.$getStats]: dart.fnType(async.Future$(html$.RtcStatsReport), []),
  [S$2.$removeStream]: dart.fnType(dart.void, [dart.nullable(html$.MediaStream)]),
  [S$1.$removeTrack]: dart.fnType(dart.void, [html$.RtcRtpSender]),
  [S$2.$setConfiguration]: dart.fnType(dart.void, [core.Map]),
  [S$2._setConfiguration_1]: dart.fnType(dart.void, [dart.dynamic]),
  [S$2.$setLocalDescription]: dart.fnType(async.Future, [core.Map]),
  [S$2.$setRemoteDescription]: dart.fnType(async.Future, [core.Map])
}));
dart.setGetterSignature(html$.RtcPeerConnection, () => ({
  __proto__: dart.getGetters(html$.RtcPeerConnection.__proto__),
  [S$2.$iceConnectionState]: dart.nullable(core.String),
  [S$2.$iceGatheringState]: dart.nullable(core.String),
  [S$2.$localDescription]: dart.nullable(html$.RtcSessionDescription),
  [S$2.$remoteDescription]: dart.nullable(html$.RtcSessionDescription),
  [S$2.$signalingState]: dart.nullable(core.String),
  [S$2.$onAddStream]: async.Stream$(html$.MediaStreamEvent),
  [S$2.$onDataChannel]: async.Stream$(html$.RtcDataChannelEvent),
  [S$2.$onIceCandidate]: async.Stream$(html$.RtcPeerConnectionIceEvent),
  [S$2.$onIceConnectionStateChange]: async.Stream$(html$.Event),
  [S$2.$onNegotiationNeeded]: async.Stream$(html$.Event),
  [S$2.$onRemoveStream]: async.Stream$(html$.MediaStreamEvent),
  [S$2.$onSignalingStateChange]: async.Stream$(html$.Event),
  [S$2.$onTrack]: async.Stream$(html$.RtcTrackEvent)
}));
dart.setLibraryUri(html$.RtcPeerConnection, I[148]);
dart.defineLazy(html$.RtcPeerConnection, {
  /*html$.RtcPeerConnection.addStreamEvent*/get addStreamEvent() {
    return C[356] || CT.C356;
  },
  /*html$.RtcPeerConnection.dataChannelEvent*/get dataChannelEvent() {
    return C[357] || CT.C357;
  },
  /*html$.RtcPeerConnection.iceCandidateEvent*/get iceCandidateEvent() {
    return C[358] || CT.C358;
  },
  /*html$.RtcPeerConnection.iceConnectionStateChangeEvent*/get iceConnectionStateChangeEvent() {
    return C[359] || CT.C359;
  },
  /*html$.RtcPeerConnection.negotiationNeededEvent*/get negotiationNeededEvent() {
    return C[360] || CT.C360;
  },
  /*html$.RtcPeerConnection.removeStreamEvent*/get removeStreamEvent() {
    return C[361] || CT.C361;
  },
  /*html$.RtcPeerConnection.signalingStateChangeEvent*/get signalingStateChangeEvent() {
    return C[362] || CT.C362;
  },
  /*html$.RtcPeerConnection.trackEvent*/get trackEvent() {
    return C[363] || CT.C363;
  }
}, false);
dart.registerExtension("RTCPeerConnection", html$.RtcPeerConnection);
dart.registerExtension("webkitRTCPeerConnection", html$.RtcPeerConnection);
dart.registerExtension("mozRTCPeerConnection", html$.RtcPeerConnection);
html$.RtcPeerConnectionIceEvent = class RtcPeerConnectionIceEvent extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 27096, 44, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.RtcPeerConnectionIceEvent._create_1(type, eventInitDict_1);
    }
    return html$.RtcPeerConnectionIceEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new RTCPeerConnectionIceEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new RTCPeerConnectionIceEvent(type);
  }
  get [S$2.$candidate]() {
    return this.candidate;
  }
};
dart.addTypeTests(html$.RtcPeerConnectionIceEvent);
dart.addTypeCaches(html$.RtcPeerConnectionIceEvent);
dart.setGetterSignature(html$.RtcPeerConnectionIceEvent, () => ({
  __proto__: dart.getGetters(html$.RtcPeerConnectionIceEvent.__proto__),
  [S$2.$candidate]: dart.nullable(html$.RtcIceCandidate)
}));
dart.setLibraryUri(html$.RtcPeerConnectionIceEvent, I[148]);
dart.registerExtension("RTCPeerConnectionIceEvent", html$.RtcPeerConnectionIceEvent);
html$.RtcRtpContributingSource = class RtcRtpContributingSource extends _interceptors.Interceptor {
  get [S.$source]() {
    return this.source;
  }
  get [S$.$timestamp]() {
    return this.timestamp;
  }
};
dart.addTypeTests(html$.RtcRtpContributingSource);
dart.addTypeCaches(html$.RtcRtpContributingSource);
dart.setGetterSignature(html$.RtcRtpContributingSource, () => ({
  __proto__: dart.getGetters(html$.RtcRtpContributingSource.__proto__),
  [S.$source]: dart.nullable(core.int),
  [S$.$timestamp]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.RtcRtpContributingSource, I[148]);
dart.registerExtension("RTCRtpContributingSource", html$.RtcRtpContributingSource);
html$.RtcRtpReceiver = class RtcRtpReceiver extends _interceptors.Interceptor {
  get [S$1.$track]() {
    return this.track;
  }
  [S$2.$getContributingSources](...args) {
    return this.getContributingSources.apply(this, args);
  }
};
dart.addTypeTests(html$.RtcRtpReceiver);
dart.addTypeCaches(html$.RtcRtpReceiver);
dart.setMethodSignature(html$.RtcRtpReceiver, () => ({
  __proto__: dart.getMethods(html$.RtcRtpReceiver.__proto__),
  [S$2.$getContributingSources]: dart.fnType(core.List$(html$.RtcRtpContributingSource), [])
}));
dart.setGetterSignature(html$.RtcRtpReceiver, () => ({
  __proto__: dart.getGetters(html$.RtcRtpReceiver.__proto__),
  [S$1.$track]: dart.nullable(html$.MediaStreamTrack)
}));
dart.setLibraryUri(html$.RtcRtpReceiver, I[148]);
dart.registerExtension("RTCRtpReceiver", html$.RtcRtpReceiver);
html$.RtcRtpSender = class RtcRtpSender extends _interceptors.Interceptor {
  get [S$1.$track]() {
    return this.track;
  }
};
dart.addTypeTests(html$.RtcRtpSender);
dart.addTypeCaches(html$.RtcRtpSender);
dart.setGetterSignature(html$.RtcRtpSender, () => ({
  __proto__: dart.getGetters(html$.RtcRtpSender.__proto__),
  [S$1.$track]: dart.nullable(html$.MediaStreamTrack)
}));
dart.setLibraryUri(html$.RtcRtpSender, I[148]);
dart.registerExtension("RTCRtpSender", html$.RtcRtpSender);
html$.RtcSessionDescription = class RtcSessionDescription extends _interceptors.Interceptor {
  static new(dictionary) {
    if (dictionary == null) dart.nullFailed(I[147], 27163, 37, "dictionary");
    let constructorName = window.RTCSessionDescription;
    return new constructorName(html_common.convertDartToNative_SerializedScriptValue(dictionary));
  }
  get [S$2.$sdp]() {
    return this.sdp;
  }
  set [S$2.$sdp](value) {
    this.sdp = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
};
dart.addTypeTests(html$.RtcSessionDescription);
dart.addTypeCaches(html$.RtcSessionDescription);
dart.setGetterSignature(html$.RtcSessionDescription, () => ({
  __proto__: dart.getGetters(html$.RtcSessionDescription.__proto__),
  [S$2.$sdp]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.RtcSessionDescription, () => ({
  __proto__: dart.getSetters(html$.RtcSessionDescription.__proto__),
  [S$2.$sdp]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.RtcSessionDescription, I[148]);
dart.registerExtension("RTCSessionDescription", html$.RtcSessionDescription);
dart.registerExtension("mozRTCSessionDescription", html$.RtcSessionDescription);
const Interceptor_MapMixin$36$0 = class Interceptor_MapMixin extends _interceptors.Interceptor {};
(Interceptor_MapMixin$36$0.new = function() {
  Interceptor_MapMixin$36$0.__proto__.new.call(this);
}).prototype = Interceptor_MapMixin$36$0.prototype;
dart.applyMixin(Interceptor_MapMixin$36$0, collection.MapMixin$(core.String, dart.dynamic));
html$.RtcStatsReport = class RtcStatsReport extends Interceptor_MapMixin$36$0 {
  [S$1._getItem](key) {
    if (key == null) dart.nullFailed(I[147], 27192, 24, "key");
    return html_common.convertNativeToDart_Dictionary(this.get(key));
  }
  [$addAll](other) {
    T$0.MapOfString$dynamic().as(other);
    if (other == null) dart.nullFailed(I[147], 27195, 36, "other");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$containsValue](value) {
    return this[$values][$any](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 27199, 52, "e");
      return dart.equals(e, value);
    }, T$0.MapTobool()));
  }
  [$containsKey](key) {
    return this[S$1._getItem](core.String.as(key)) != null;
  }
  [$_get](key) {
    return this[S$1._getItem](core.String.as(key));
  }
  [$forEach](f) {
    if (f == null) dart.nullFailed(I[147], 27205, 21, "f");
    let entries = this.entries();
    while (true) {
      let entry = entries.next();
      if (entry.done) return;
      f(entry.value[0], html_common.convertNativeToDart_Dictionary(entry.value[1]));
    }
  }
  get [$keys]() {
    let keys = T$.JSArrayOfString().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 27217, 14, "k");
      return keys[$add](k);
    }, T$0.StringAnddynamicTovoid()));
    return keys;
  }
  get [$values]() {
    let values = T$0.JSArrayOfMap().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 27223, 14, "k");
      return values[$add](core.Map.as(v));
    }, T$0.StringAnddynamicTovoid()));
    return values;
  }
  get [$length]() {
    return this.size;
  }
  get [$isEmpty]() {
    return this[$length] === 0;
  }
  get [$isNotEmpty]() {
    return !dart.test(this[$isEmpty]);
  }
  [$_set](key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 27233, 28, "key");
    dart.throw(new core.UnsupportedError.new("Not supported"));
    return value$;
  }
  [$putIfAbsent](key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 27237, 30, "key");
    T$.VoidTodynamic().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[147], 27237, 43, "ifAbsent");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$remove](key) {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$clear]() {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
};
dart.addTypeTests(html$.RtcStatsReport);
dart.addTypeCaches(html$.RtcStatsReport);
dart.setMethodSignature(html$.RtcStatsReport, () => ({
  __proto__: dart.getMethods(html$.RtcStatsReport.__proto__),
  [S$1._getItem]: dart.fnType(dart.nullable(core.Map), [core.String]),
  [$containsValue]: dart.fnType(core.bool, [dart.dynamic]),
  [$containsKey]: dart.fnType(core.bool, [dart.dynamic]),
  [$_get]: dart.fnType(dart.nullable(core.Map), [dart.dynamic]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$remove]: dart.fnType(core.String, [dart.dynamic]),
  [$clear]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.RtcStatsReport, () => ({
  __proto__: dart.getGetters(html$.RtcStatsReport.__proto__),
  [$keys]: core.Iterable$(core.String),
  [$values]: core.Iterable$(core.Map)
}));
dart.setLibraryUri(html$.RtcStatsReport, I[148]);
dart.registerExtension("RTCStatsReport", html$.RtcStatsReport);
html$.RtcStatsResponse = class RtcStatsResponse extends _interceptors.Interceptor {
  [S$1.$namedItem](...args) {
    return this.namedItem.apply(this, args);
  }
  [S.$result](...args) {
    return this.result.apply(this, args);
  }
};
dart.addTypeTests(html$.RtcStatsResponse);
dart.addTypeCaches(html$.RtcStatsResponse);
dart.setMethodSignature(html$.RtcStatsResponse, () => ({
  __proto__: dart.getMethods(html$.RtcStatsResponse.__proto__),
  [S$1.$namedItem]: dart.fnType(html$.RtcLegacyStatsReport, [dart.nullable(core.String)]),
  [S.$result]: dart.fnType(core.List$(html$.RtcLegacyStatsReport), [])
}));
dart.setLibraryUri(html$.RtcStatsResponse, I[148]);
dart.registerExtension("RTCStatsResponse", html$.RtcStatsResponse);
html$.RtcTrackEvent = class RtcTrackEvent extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 27275, 32, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 27275, 42, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.RtcTrackEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new RTCTrackEvent(type, eventInitDict);
  }
  get [S$2.$receiver]() {
    return this.receiver;
  }
  get [S$2.$streams]() {
    return this.streams;
  }
  get [S$1.$track]() {
    return this.track;
  }
};
dart.addTypeTests(html$.RtcTrackEvent);
dart.addTypeCaches(html$.RtcTrackEvent);
dart.setGetterSignature(html$.RtcTrackEvent, () => ({
  __proto__: dart.getGetters(html$.RtcTrackEvent.__proto__),
  [S$2.$receiver]: dart.nullable(html$.RtcRtpReceiver),
  [S$2.$streams]: dart.nullable(core.List$(html$.MediaStream)),
  [S$1.$track]: dart.nullable(html$.MediaStreamTrack)
}));
dart.setLibraryUri(html$.RtcTrackEvent, I[148]);
dart.registerExtension("RTCTrackEvent", html$.RtcTrackEvent);
html$.Screen = class Screen extends _interceptors.Interceptor {
  get [S$2.$available]() {
    return new (T$0.RectangleOfnum()).new(dart.nullCheck(this[S$2._availLeft]), dart.nullCheck(this[S$2._availTop]), dart.nullCheck(this[S$2._availWidth]), dart.nullCheck(this[S$2._availHeight]));
  }
  get [S$2._availHeight]() {
    return this.availHeight;
  }
  get [S$2._availLeft]() {
    return this.availLeft;
  }
  get [S$2._availTop]() {
    return this.availTop;
  }
  get [S$2._availWidth]() {
    return this.availWidth;
  }
  get [S$2.$colorDepth]() {
    return this.colorDepth;
  }
  get [$height]() {
    return this.height;
  }
  get [S$2.$keepAwake]() {
    return this.keepAwake;
  }
  set [S$2.$keepAwake](value) {
    this.keepAwake = value;
  }
  get [S$.$orientation]() {
    return this.orientation;
  }
  get [S$2.$pixelDepth]() {
    return this.pixelDepth;
  }
  get [$width]() {
    return this.width;
  }
};
dart.addTypeTests(html$.Screen);
dart.addTypeCaches(html$.Screen);
dart.setGetterSignature(html$.Screen, () => ({
  __proto__: dart.getGetters(html$.Screen.__proto__),
  [S$2.$available]: math.Rectangle$(core.num),
  [S$2._availHeight]: dart.nullable(core.int),
  [S$2._availLeft]: dart.nullable(core.int),
  [S$2._availTop]: dart.nullable(core.int),
  [S$2._availWidth]: dart.nullable(core.int),
  [S$2.$colorDepth]: dart.nullable(core.int),
  [$height]: dart.nullable(core.int),
  [S$2.$keepAwake]: dart.nullable(core.bool),
  [S$.$orientation]: dart.nullable(html$.ScreenOrientation),
  [S$2.$pixelDepth]: dart.nullable(core.int),
  [$width]: dart.nullable(core.int)
}));
dart.setSetterSignature(html$.Screen, () => ({
  __proto__: dart.getSetters(html$.Screen.__proto__),
  [S$2.$keepAwake]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.Screen, I[148]);
dart.registerExtension("Screen", html$.Screen);
html$.ScreenOrientation = class ScreenOrientation extends html$.EventTarget {
  get [S$.$angle]() {
    return this.angle;
  }
  get [S.$type]() {
    return this.type;
  }
  [S$2.$lock](orientation) {
    if (orientation == null) dart.nullFailed(I[147], 27345, 22, "orientation");
    return js_util.promiseToFuture(dart.dynamic, this.lock(orientation));
  }
  [S$2.$unlock](...args) {
    return this.unlock.apply(this, args);
  }
  get [S.$onChange]() {
    return html$.ScreenOrientation.changeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.ScreenOrientation);
dart.addTypeCaches(html$.ScreenOrientation);
dart.setMethodSignature(html$.ScreenOrientation, () => ({
  __proto__: dart.getMethods(html$.ScreenOrientation.__proto__),
  [S$2.$lock]: dart.fnType(async.Future, [core.String]),
  [S$2.$unlock]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.ScreenOrientation, () => ({
  __proto__: dart.getGetters(html$.ScreenOrientation.__proto__),
  [S$.$angle]: dart.nullable(core.int),
  [S.$type]: dart.nullable(core.String),
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.ScreenOrientation, I[148]);
dart.defineLazy(html$.ScreenOrientation, {
  /*html$.ScreenOrientation.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("ScreenOrientation", html$.ScreenOrientation);
html$.ScriptElement = class ScriptElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("script");
  }
  get [S$1.$async]() {
    return this.async;
  }
  set [S$1.$async](value) {
    this.async = value;
  }
  get [S$2.$charset]() {
    return this.charset;
  }
  set [S$2.$charset](value) {
    this.charset = value;
  }
  get [S$.$crossOrigin]() {
    return this.crossOrigin;
  }
  set [S$.$crossOrigin](value) {
    this.crossOrigin = value;
  }
  get [S$2.$defer]() {
    return this.defer;
  }
  set [S$2.$defer](value) {
    this.defer = value;
  }
  get [S$1.$integrity]() {
    return this.integrity;
  }
  set [S$1.$integrity](value) {
    this.integrity = value;
  }
  get [S$2.$noModule]() {
    return this.noModule;
  }
  set [S$2.$noModule](value) {
    this.noModule = value;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
};
(html$.ScriptElement.created = function() {
  html$.ScriptElement.__proto__.created.call(this);
  ;
}).prototype = html$.ScriptElement.prototype;
dart.addTypeTests(html$.ScriptElement);
dart.addTypeCaches(html$.ScriptElement);
dart.setGetterSignature(html$.ScriptElement, () => ({
  __proto__: dart.getGetters(html$.ScriptElement.__proto__),
  [S$1.$async]: dart.nullable(core.bool),
  [S$2.$charset]: core.String,
  [S$.$crossOrigin]: dart.nullable(core.String),
  [S$2.$defer]: dart.nullable(core.bool),
  [S$1.$integrity]: dart.nullable(core.String),
  [S$2.$noModule]: dart.nullable(core.bool),
  [S$.$src]: core.String,
  [S.$type]: core.String
}));
dart.setSetterSignature(html$.ScriptElement, () => ({
  __proto__: dart.getSetters(html$.ScriptElement.__proto__),
  [S$1.$async]: dart.nullable(core.bool),
  [S$2.$charset]: core.String,
  [S$.$crossOrigin]: dart.nullable(core.String),
  [S$2.$defer]: dart.nullable(core.bool),
  [S$1.$integrity]: dart.nullable(core.String),
  [S$2.$noModule]: dart.nullable(core.bool),
  [S$.$src]: core.String,
  [S.$type]: core.String
}));
dart.setLibraryUri(html$.ScriptElement, I[148]);
dart.registerExtension("HTMLScriptElement", html$.ScriptElement);
html$.ScrollState = class ScrollState$ extends _interceptors.Interceptor {
  static new(scrollStateInit = null) {
    if (scrollStateInit != null) {
      let scrollStateInit_1 = html_common.convertDartToNative_Dictionary(scrollStateInit);
      return html$.ScrollState._create_1(scrollStateInit_1);
    }
    return html$.ScrollState._create_2();
  }
  static _create_1(scrollStateInit) {
    return new ScrollState(scrollStateInit);
  }
  static _create_2() {
    return new ScrollState();
  }
  get [S$2.$deltaGranularity]() {
    return this.deltaGranularity;
  }
  get [S$2.$deltaX]() {
    return this.deltaX;
  }
  get [S$2.$deltaY]() {
    return this.deltaY;
  }
  get [S$2.$fromUserInput]() {
    return this.fromUserInput;
  }
  get [S$2.$inInertialPhase]() {
    return this.inInertialPhase;
  }
  get [S$2.$isBeginning]() {
    return this.isBeginning;
  }
  get [S$2.$isDirectManipulation]() {
    return this.isDirectManipulation;
  }
  get [S$2.$isEnding]() {
    return this.isEnding;
  }
  get [S$2.$positionX]() {
    return this.positionX;
  }
  get [S$2.$positionY]() {
    return this.positionY;
  }
  get [S$2.$velocityX]() {
    return this.velocityX;
  }
  get [S$2.$velocityY]() {
    return this.velocityY;
  }
  [S$2.$consumeDelta](...args) {
    return this.consumeDelta.apply(this, args);
  }
  [S$2.$distributeToScrollChainDescendant](...args) {
    return this.distributeToScrollChainDescendant.apply(this, args);
  }
};
dart.addTypeTests(html$.ScrollState);
dart.addTypeCaches(html$.ScrollState);
dart.setMethodSignature(html$.ScrollState, () => ({
  __proto__: dart.getMethods(html$.ScrollState.__proto__),
  [S$2.$consumeDelta]: dart.fnType(dart.void, [core.num, core.num]),
  [S$2.$distributeToScrollChainDescendant]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.ScrollState, () => ({
  __proto__: dart.getGetters(html$.ScrollState.__proto__),
  [S$2.$deltaGranularity]: dart.nullable(core.num),
  [S$2.$deltaX]: dart.nullable(core.num),
  [S$2.$deltaY]: dart.nullable(core.num),
  [S$2.$fromUserInput]: dart.nullable(core.bool),
  [S$2.$inInertialPhase]: dart.nullable(core.bool),
  [S$2.$isBeginning]: dart.nullable(core.bool),
  [S$2.$isDirectManipulation]: dart.nullable(core.bool),
  [S$2.$isEnding]: dart.nullable(core.bool),
  [S$2.$positionX]: dart.nullable(core.int),
  [S$2.$positionY]: dart.nullable(core.int),
  [S$2.$velocityX]: dart.nullable(core.num),
  [S$2.$velocityY]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.ScrollState, I[148]);
dart.registerExtension("ScrollState", html$.ScrollState);
html$.ScrollTimeline = class ScrollTimeline$ extends html$.AnimationTimeline {
  static new(options = null) {
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return html$.ScrollTimeline._create_1(options_1);
    }
    return html$.ScrollTimeline._create_2();
  }
  static _create_1(options) {
    return new ScrollTimeline(options);
  }
  static _create_2() {
    return new ScrollTimeline();
  }
  get [S$.$orientation]() {
    return this.orientation;
  }
  get [S$2.$scrollSource]() {
    return this.scrollSource;
  }
  get [S$2.$timeRange]() {
    return this.timeRange;
  }
};
dart.addTypeTests(html$.ScrollTimeline);
dart.addTypeCaches(html$.ScrollTimeline);
dart.setGetterSignature(html$.ScrollTimeline, () => ({
  __proto__: dart.getGetters(html$.ScrollTimeline.__proto__),
  [S$.$orientation]: dart.nullable(core.String),
  [S$2.$scrollSource]: dart.nullable(html$.Element),
  [S$2.$timeRange]: dart.nullable(core.Object)
}));
dart.setLibraryUri(html$.ScrollTimeline, I[148]);
dart.registerExtension("ScrollTimeline", html$.ScrollTimeline);
html$.SecurityPolicyViolationEvent = class SecurityPolicyViolationEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 27504, 47, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.SecurityPolicyViolationEvent._create_1(type, eventInitDict_1);
    }
    return html$.SecurityPolicyViolationEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new SecurityPolicyViolationEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new SecurityPolicyViolationEvent(type);
  }
  get [S$2.$blockedUri]() {
    return this.blockedURI;
  }
  get [S$2.$columnNumber]() {
    return this.columnNumber;
  }
  get [S$2.$disposition]() {
    return this.disposition;
  }
  get [S$2.$documentUri]() {
    return this.documentURI;
  }
  get [S$2.$effectiveDirective]() {
    return this.effectiveDirective;
  }
  get [S$0.$lineNumber]() {
    return this.lineNumber;
  }
  get [S$2.$originalPolicy]() {
    return this.originalPolicy;
  }
  get [S$1.$referrer]() {
    return this.referrer;
  }
  get [S$2.$sample]() {
    return this.sample;
  }
  get [S$0.$sourceFile]() {
    return this.sourceFile;
  }
  get [S$2.$statusCode]() {
    return this.statusCode;
  }
  get [S$2.$violatedDirective]() {
    return this.violatedDirective;
  }
};
dart.addTypeTests(html$.SecurityPolicyViolationEvent);
dart.addTypeCaches(html$.SecurityPolicyViolationEvent);
dart.setGetterSignature(html$.SecurityPolicyViolationEvent, () => ({
  __proto__: dart.getGetters(html$.SecurityPolicyViolationEvent.__proto__),
  [S$2.$blockedUri]: dart.nullable(core.String),
  [S$2.$columnNumber]: dart.nullable(core.int),
  [S$2.$disposition]: dart.nullable(core.String),
  [S$2.$documentUri]: dart.nullable(core.String),
  [S$2.$effectiveDirective]: dart.nullable(core.String),
  [S$0.$lineNumber]: dart.nullable(core.int),
  [S$2.$originalPolicy]: dart.nullable(core.String),
  [S$1.$referrer]: dart.nullable(core.String),
  [S$2.$sample]: dart.nullable(core.String),
  [S$0.$sourceFile]: dart.nullable(core.String),
  [S$2.$statusCode]: dart.nullable(core.int),
  [S$2.$violatedDirective]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.SecurityPolicyViolationEvent, I[148]);
dart.registerExtension("SecurityPolicyViolationEvent", html$.SecurityPolicyViolationEvent);
html$.SelectElement = class SelectElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("select");
  }
  get [S$.$autofocus]() {
    return this.autofocus;
  }
  set [S$.$autofocus](value) {
    this.autofocus = value;
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [S$.$labels]() {
    return this.labels;
  }
  get [$length]() {
    return this.length;
  }
  set [$length](value) {
    this.length = value;
  }
  get [S$1.$multiple]() {
    return this.multiple;
  }
  set [S$1.$multiple](value) {
    this.multiple = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S$.$required]() {
    return this.required;
  }
  set [S$.$required](value) {
    this.required = value;
  }
  get [S$2.$selectedIndex]() {
    return this.selectedIndex;
  }
  set [S$2.$selectedIndex](value) {
    this.selectedIndex = value;
  }
  get [S$.$size]() {
    return this.size;
  }
  set [S$.$size](value) {
    this.size = value;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$.$validationMessage]() {
    return this.validationMessage;
  }
  get [S$.$validity]() {
    return this.validity;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  get [S$.$willValidate]() {
    return this.willValidate;
  }
  [S$.__setter__](...args) {
    return this.__setter__.apply(this, args);
  }
  [$add](...args) {
    return this.add.apply(this, args);
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$1.$namedItem](...args) {
    return this.namedItem.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$.$setCustomValidity](...args) {
    return this.setCustomValidity.apply(this, args);
  }
  get [S$0.$options]() {
    let options = this[S.$querySelectorAll](html$.OptionElement, "option");
    return new (T$0.UnmodifiableListViewOfOptionElement()).new(T$0.IterableOfOptionElement().as(dart.dsend(options, 'toList', [])));
  }
  get [S$2.$selectedOptions]() {
    if (dart.nullCheck(this.multiple)) {
      let options = this[S$0.$options][$where](dart.fn(o => {
        if (o == null) dart.nullFailed(I[147], 27645, 41, "o");
        return o.selected;
      }, T$0.OptionElementTobool()))[$toList]();
      return new (T$0.UnmodifiableListViewOfOptionElement()).new(options);
    } else {
      return T$0.JSArrayOfOptionElement().of([this[S$0.$options][$_get](dart.nullCheck(this.selectedIndex))]);
    }
  }
};
(html$.SelectElement.created = function() {
  html$.SelectElement.__proto__.created.call(this);
  ;
}).prototype = html$.SelectElement.prototype;
dart.addTypeTests(html$.SelectElement);
dart.addTypeCaches(html$.SelectElement);
dart.setMethodSignature(html$.SelectElement, () => ({
  __proto__: dart.getMethods(html$.SelectElement.__proto__),
  [S$.__setter__]: dart.fnType(dart.void, [core.int, dart.nullable(html$.OptionElement)]),
  [$add]: dart.fnType(dart.void, [core.Object, dart.nullable(core.Object)]),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$item]: dart.fnType(dart.nullable(html$.Element), [core.int]),
  [S$1.$namedItem]: dart.fnType(dart.nullable(html$.OptionElement), [core.String]),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$.$setCustomValidity]: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(html$.SelectElement, () => ({
  __proto__: dart.getGetters(html$.SelectElement.__proto__),
  [S$.$autofocus]: core.bool,
  [S$.$disabled]: core.bool,
  [S$.$form]: dart.nullable(html$.FormElement),
  [S$.$labels]: dart.nullable(core.List$(html$.Node)),
  [$length]: dart.nullable(core.int),
  [S$1.$multiple]: dart.nullable(core.bool),
  [$name]: dart.nullable(core.String),
  [S$.$required]: dart.nullable(core.bool),
  [S$2.$selectedIndex]: dart.nullable(core.int),
  [S$.$size]: dart.nullable(core.int),
  [S.$type]: core.String,
  [S$.$validationMessage]: core.String,
  [S$.$validity]: html$.ValidityState,
  [S.$value]: dart.nullable(core.String),
  [S$.$willValidate]: core.bool,
  [S$0.$options]: core.List$(html$.OptionElement),
  [S$2.$selectedOptions]: core.List$(html$.OptionElement)
}));
dart.setSetterSignature(html$.SelectElement, () => ({
  __proto__: dart.getSetters(html$.SelectElement.__proto__),
  [S$.$autofocus]: core.bool,
  [S$.$disabled]: core.bool,
  [$length]: dart.nullable(core.int),
  [S$1.$multiple]: dart.nullable(core.bool),
  [$name]: dart.nullable(core.String),
  [S$.$required]: dart.nullable(core.bool),
  [S$2.$selectedIndex]: dart.nullable(core.int),
  [S$.$size]: dart.nullable(core.int),
  [S.$value]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.SelectElement, I[148]);
dart.registerExtension("HTMLSelectElement", html$.SelectElement);
html$.Selection = class Selection extends _interceptors.Interceptor {
  get [S$2.$anchorNode]() {
    return this.anchorNode;
  }
  get [S$2.$anchorOffset]() {
    return this.anchorOffset;
  }
  get [S$2.$baseNode]() {
    return this.baseNode;
  }
  get [S$2.$baseOffset]() {
    return this.baseOffset;
  }
  get [S$2.$extentNode]() {
    return this.extentNode;
  }
  get [S$2.$extentOffset]() {
    return this.extentOffset;
  }
  get [S$2.$focusNode]() {
    return this.focusNode;
  }
  get [S$2.$focusOffset]() {
    return this.focusOffset;
  }
  get [S$2.$isCollapsed]() {
    return this.isCollapsed;
  }
  get [S$2.$rangeCount]() {
    return this.rangeCount;
  }
  get [S.$type]() {
    return this.type;
  }
  [S$2.$addRange](...args) {
    return this.addRange.apply(this, args);
  }
  [S$2.$collapse](...args) {
    return this.collapse.apply(this, args);
  }
  [S$2.$collapseToEnd](...args) {
    return this.collapseToEnd.apply(this, args);
  }
  [S$2.$collapseToStart](...args) {
    return this.collapseToStart.apply(this, args);
  }
  [S$2.$containsNode](...args) {
    return this.containsNode.apply(this, args);
  }
  [S$2.$deleteFromDocument](...args) {
    return this.deleteFromDocument.apply(this, args);
  }
  [S$2.$empty](...args) {
    return this.empty.apply(this, args);
  }
  [S$2.$extend](...args) {
    return this.extend.apply(this, args);
  }
  [S$2.$getRangeAt](...args) {
    return this.getRangeAt.apply(this, args);
  }
  [S$2.$modify](...args) {
    return this.modify.apply(this, args);
  }
  [S$2.$removeAllRanges](...args) {
    return this.removeAllRanges.apply(this, args);
  }
  [$removeRange](...args) {
    return this.removeRange.apply(this, args);
  }
  [S$2.$selectAllChildren](...args) {
    return this.selectAllChildren.apply(this, args);
  }
  [S$2.$setBaseAndExtent](...args) {
    return this.setBaseAndExtent.apply(this, args);
  }
  [S$2.$setPosition](...args) {
    return this.setPosition.apply(this, args);
  }
};
dart.addTypeTests(html$.Selection);
dart.addTypeCaches(html$.Selection);
dart.setMethodSignature(html$.Selection, () => ({
  __proto__: dart.getMethods(html$.Selection.__proto__),
  [S$2.$addRange]: dart.fnType(dart.void, [html$.Range]),
  [S$2.$collapse]: dart.fnType(dart.void, [dart.nullable(html$.Node)], [dart.nullable(core.int)]),
  [S$2.$collapseToEnd]: dart.fnType(dart.void, []),
  [S$2.$collapseToStart]: dart.fnType(dart.void, []),
  [S$2.$containsNode]: dart.fnType(core.bool, [html$.Node], [dart.nullable(core.bool)]),
  [S$2.$deleteFromDocument]: dart.fnType(dart.void, []),
  [S$2.$empty]: dart.fnType(dart.void, []),
  [S$2.$extend]: dart.fnType(dart.void, [html$.Node], [dart.nullable(core.int)]),
  [S$2.$getRangeAt]: dart.fnType(html$.Range, [core.int]),
  [S$2.$modify]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.String), dart.nullable(core.String)]),
  [S$2.$removeAllRanges]: dart.fnType(dart.void, []),
  [$removeRange]: dart.fnType(dart.void, [html$.Range]),
  [S$2.$selectAllChildren]: dart.fnType(dart.void, [html$.Node]),
  [S$2.$setBaseAndExtent]: dart.fnType(dart.void, [dart.nullable(html$.Node), core.int, dart.nullable(html$.Node), core.int]),
  [S$2.$setPosition]: dart.fnType(dart.void, [dart.nullable(html$.Node)], [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.Selection, () => ({
  __proto__: dart.getGetters(html$.Selection.__proto__),
  [S$2.$anchorNode]: dart.nullable(html$.Node),
  [S$2.$anchorOffset]: dart.nullable(core.int),
  [S$2.$baseNode]: dart.nullable(html$.Node),
  [S$2.$baseOffset]: dart.nullable(core.int),
  [S$2.$extentNode]: dart.nullable(html$.Node),
  [S$2.$extentOffset]: dart.nullable(core.int),
  [S$2.$focusNode]: dart.nullable(html$.Node),
  [S$2.$focusOffset]: dart.nullable(core.int),
  [S$2.$isCollapsed]: dart.nullable(core.bool),
  [S$2.$rangeCount]: dart.nullable(core.int),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Selection, I[148]);
dart.registerExtension("Selection", html$.Selection);
html$.SensorErrorEvent = class SensorErrorEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 27753, 35, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 27753, 45, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.SensorErrorEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new SensorErrorEvent(type, eventInitDict);
  }
  get [S.$error]() {
    return this.error;
  }
};
dart.addTypeTests(html$.SensorErrorEvent);
dart.addTypeCaches(html$.SensorErrorEvent);
dart.setGetterSignature(html$.SensorErrorEvent, () => ({
  __proto__: dart.getGetters(html$.SensorErrorEvent.__proto__),
  [S.$error]: dart.nullable(html$.DomException)
}));
dart.setLibraryUri(html$.SensorErrorEvent, I[148]);
dart.registerExtension("SensorErrorEvent", html$.SensorErrorEvent);
html$.ServiceWorker = class ServiceWorker extends html$.EventTarget {
  get [S$2.$scriptUrl]() {
    return this.scriptURL;
  }
  get [S$.$state]() {
    return this.state;
  }
  [S$.$postMessage](message, transfer = null) {
    if (transfer != null) {
      let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
      this[S$0._postMessage_1](message_1, transfer);
      return;
    }
    let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
    this[S$0._postMessage_2](message_1);
    return;
  }
  [S$0._postMessage_1](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$0._postMessage_2](...args) {
    return this.postMessage.apply(this, args);
  }
  get [S.$onError]() {
    return html$.ServiceWorker.errorEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.ServiceWorker);
dart.addTypeCaches(html$.ServiceWorker);
html$.ServiceWorker[dart.implements] = () => [html$.AbstractWorker];
dart.setMethodSignature(html$.ServiceWorker, () => ({
  __proto__: dart.getMethods(html$.ServiceWorker.__proto__),
  [S$.$postMessage]: dart.fnType(dart.void, [dart.dynamic], [dart.nullable(core.List$(core.Object))]),
  [S$0._postMessage_1]: dart.fnType(dart.void, [dart.dynamic, dart.nullable(core.List$(core.Object))]),
  [S$0._postMessage_2]: dart.fnType(dart.void, [dart.dynamic])
}));
dart.setGetterSignature(html$.ServiceWorker, () => ({
  __proto__: dart.getGetters(html$.ServiceWorker.__proto__),
  [S$2.$scriptUrl]: dart.nullable(core.String),
  [S$.$state]: dart.nullable(core.String),
  [S.$onError]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.ServiceWorker, I[148]);
dart.defineLazy(html$.ServiceWorker, {
  /*html$.ServiceWorker.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  }
}, false);
dart.registerExtension("ServiceWorker", html$.ServiceWorker);
html$.ServiceWorkerContainer = class ServiceWorkerContainer extends html$.EventTarget {
  get [S$2.$controller]() {
    return this.controller;
  }
  get [S$.$ready]() {
    return js_util.promiseToFuture(html$.ServiceWorkerRegistration, this.ready);
  }
  [S$2.$getRegistration](documentURL = null) {
    return js_util.promiseToFuture(html$.ServiceWorkerRegistration, this.getRegistration(documentURL));
  }
  [S$2.$getRegistrations]() {
    return js_util.promiseToFuture(core.List, this.getRegistrations());
  }
  [S$1.$register](url, options = null) {
    if (url == null) dart.nullFailed(I[147], 27829, 53, "url");
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(html$.ServiceWorkerRegistration, this.register(url, options_dict));
  }
  get [S$.$onMessage]() {
    return html$.ServiceWorkerContainer.messageEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.ServiceWorkerContainer);
dart.addTypeCaches(html$.ServiceWorkerContainer);
dart.setMethodSignature(html$.ServiceWorkerContainer, () => ({
  __proto__: dart.getMethods(html$.ServiceWorkerContainer.__proto__),
  [S$2.$getRegistration]: dart.fnType(async.Future$(html$.ServiceWorkerRegistration), [], [dart.nullable(core.String)]),
  [S$2.$getRegistrations]: dart.fnType(async.Future$(core.List), []),
  [S$1.$register]: dart.fnType(async.Future$(html$.ServiceWorkerRegistration), [core.String], [dart.nullable(core.Map)])
}));
dart.setGetterSignature(html$.ServiceWorkerContainer, () => ({
  __proto__: dart.getGetters(html$.ServiceWorkerContainer.__proto__),
  [S$2.$controller]: dart.nullable(html$.ServiceWorker),
  [S$.$ready]: async.Future$(html$.ServiceWorkerRegistration),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setLibraryUri(html$.ServiceWorkerContainer, I[148]);
dart.defineLazy(html$.ServiceWorkerContainer, {
  /*html$.ServiceWorkerContainer.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  }
}, false);
dart.registerExtension("ServiceWorkerContainer", html$.ServiceWorkerContainer);
html$.ServiceWorkerGlobalScope = class ServiceWorkerGlobalScope extends html$.WorkerGlobalScope {
  get [S$2.$clients]() {
    return this.clients;
  }
  get [S$2.$registration]() {
    return this.registration;
  }
  [S$2.$skipWaiting]() {
    return js_util.promiseToFuture(dart.dynamic, this.skipWaiting());
  }
  get [S$2.$onActivate]() {
    return html$.ServiceWorkerGlobalScope.activateEvent.forTarget(this);
  }
  get [S$2.$onFetch]() {
    return html$.ServiceWorkerGlobalScope.fetchEvent.forTarget(this);
  }
  get [S$2.$onForeignfetch]() {
    return html$.ServiceWorkerGlobalScope.foreignfetchEvent.forTarget(this);
  }
  get [S$2.$onInstall]() {
    return html$.ServiceWorkerGlobalScope.installEvent.forTarget(this);
  }
  get [S$.$onMessage]() {
    return html$.ServiceWorkerGlobalScope.messageEvent.forTarget(this);
  }
  static get instance() {
    return html$.ServiceWorkerGlobalScope.as(html$._workerSelf);
  }
};
dart.addTypeTests(html$.ServiceWorkerGlobalScope);
dart.addTypeCaches(html$.ServiceWorkerGlobalScope);
dart.setMethodSignature(html$.ServiceWorkerGlobalScope, () => ({
  __proto__: dart.getMethods(html$.ServiceWorkerGlobalScope.__proto__),
  [S$2.$skipWaiting]: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(html$.ServiceWorkerGlobalScope, () => ({
  __proto__: dart.getGetters(html$.ServiceWorkerGlobalScope.__proto__),
  [S$2.$clients]: dart.nullable(html$.Clients),
  [S$2.$registration]: dart.nullable(html$.ServiceWorkerRegistration),
  [S$2.$onActivate]: async.Stream$(html$.Event),
  [S$2.$onFetch]: async.Stream$(html$.Event),
  [S$2.$onForeignfetch]: async.Stream$(html$.ForeignFetchEvent),
  [S$2.$onInstall]: async.Stream$(html$.Event),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setLibraryUri(html$.ServiceWorkerGlobalScope, I[148]);
dart.defineLazy(html$.ServiceWorkerGlobalScope, {
  /*html$.ServiceWorkerGlobalScope.activateEvent*/get activateEvent() {
    return C[364] || CT.C364;
  },
  /*html$.ServiceWorkerGlobalScope.fetchEvent*/get fetchEvent() {
    return C[365] || CT.C365;
  },
  /*html$.ServiceWorkerGlobalScope.foreignfetchEvent*/get foreignfetchEvent() {
    return C[366] || CT.C366;
  },
  /*html$.ServiceWorkerGlobalScope.installEvent*/get installEvent() {
    return C[367] || CT.C367;
  },
  /*html$.ServiceWorkerGlobalScope.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  }
}, false);
dart.registerExtension("ServiceWorkerGlobalScope", html$.ServiceWorkerGlobalScope);
html$.ServiceWorkerRegistration = class ServiceWorkerRegistration extends html$.EventTarget {
  get [S$1.$active]() {
    return this.active;
  }
  get [S$2.$backgroundFetch]() {
    return this.backgroundFetch;
  }
  get [S$2.$installing]() {
    return this.installing;
  }
  get [S$2.$navigationPreload]() {
    return this.navigationPreload;
  }
  get [S$2.$paymentManager]() {
    return this.paymentManager;
  }
  get [S$2.$pushManager]() {
    return this.pushManager;
  }
  get [S$1.$scope]() {
    return this.scope;
  }
  get [S$2.$sync]() {
    return this.sync;
  }
  get [S$2.$waiting]() {
    return this.waiting;
  }
  [S$2.$getNotifications](filter = null) {
    let filter_dict = null;
    if (filter != null) {
      filter_dict = html_common.convertDartToNative_Dictionary(filter);
    }
    return js_util.promiseToFuture(core.List, this.getNotifications(filter_dict));
  }
  [S$2.$showNotification](title, options = null) {
    if (title == null) dart.nullFailed(I[147], 27930, 34, "title");
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.showNotification(title, options_dict));
  }
  [S$2.$unregister]() {
    return js_util.promiseToFuture(core.bool, this.unregister());
  }
  [$update]() {
    return js_util.promiseToFuture(dart.dynamic, this.update());
  }
};
dart.addTypeTests(html$.ServiceWorkerRegistration);
dart.addTypeCaches(html$.ServiceWorkerRegistration);
dart.setMethodSignature(html$.ServiceWorkerRegistration, () => ({
  __proto__: dart.getMethods(html$.ServiceWorkerRegistration.__proto__),
  [S$2.$getNotifications]: dart.fnType(async.Future$(core.List), [], [dart.nullable(core.Map)]),
  [S$2.$showNotification]: dart.fnType(async.Future, [core.String], [dart.nullable(core.Map)]),
  [S$2.$unregister]: dart.fnType(async.Future$(core.bool), []),
  [$update]: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(html$.ServiceWorkerRegistration, () => ({
  __proto__: dart.getGetters(html$.ServiceWorkerRegistration.__proto__),
  [S$1.$active]: dart.nullable(html$.ServiceWorker),
  [S$2.$backgroundFetch]: dart.nullable(html$.BackgroundFetchManager),
  [S$2.$installing]: dart.nullable(html$.ServiceWorker),
  [S$2.$navigationPreload]: dart.nullable(html$.NavigationPreloadManager),
  [S$2.$paymentManager]: dart.nullable(html$.PaymentManager),
  [S$2.$pushManager]: dart.nullable(html$.PushManager),
  [S$1.$scope]: dart.nullable(core.String),
  [S$2.$sync]: dart.nullable(html$.SyncManager),
  [S$2.$waiting]: dart.nullable(html$.ServiceWorker)
}));
dart.setLibraryUri(html$.ServiceWorkerRegistration, I[148]);
dart.registerExtension("ServiceWorkerRegistration", html$.ServiceWorkerRegistration);
html$.ShadowElement = class ShadowElement extends html$.HtmlElement {
  static new() {
    return html$.ShadowElement.as(html$.document[S.$createElement]("shadow"));
  }
  static get supported() {
    return html$.Element.isTagSupported("shadow");
  }
  [S$.$getDistributedNodes](...args) {
    return this.getDistributedNodes.apply(this, args);
  }
};
(html$.ShadowElement.created = function() {
  html$.ShadowElement.__proto__.created.call(this);
  ;
}).prototype = html$.ShadowElement.prototype;
dart.addTypeTests(html$.ShadowElement);
dart.addTypeCaches(html$.ShadowElement);
dart.setMethodSignature(html$.ShadowElement, () => ({
  __proto__: dart.getMethods(html$.ShadowElement.__proto__),
  [S$.$getDistributedNodes]: dart.fnType(core.List$(html$.Node), [])
}));
dart.setLibraryUri(html$.ShadowElement, I[148]);
dart.registerExtension("HTMLShadowElement", html$.ShadowElement);
html$.ShadowRoot = class ShadowRoot extends html$.DocumentFragment {
  get [S$2.$delegatesFocus]() {
    return this.delegatesFocus;
  }
  get [S$.$host]() {
    return this.host;
  }
  get [S.$innerHtml]() {
    return this.innerHTML;
  }
  set [S.$innerHtml](value) {
    this.innerHTML = value;
  }
  get [S.$mode]() {
    return this.mode;
  }
  get [S$2.$olderShadowRoot]() {
    return this.olderShadowRoot;
  }
  get [S$1.$activeElement]() {
    return this.activeElement;
  }
  get [S$1.$fullscreenElement]() {
    return this.fullscreenElement;
  }
  get [S$1.$pointerLockElement]() {
    return this.pointerLockElement;
  }
  get [S$1.$styleSheets]() {
    return this.styleSheets;
  }
  [S$1.$elementFromPoint](...args) {
    return this.elementFromPoint.apply(this, args);
  }
  [S$1.$elementsFromPoint](...args) {
    return this.elementsFromPoint.apply(this, args);
  }
  [S$1.$getSelection](...args) {
    return this.getSelection.apply(this, args);
  }
  static get supported() {
    return !!(Element.prototype.createShadowRoot || Element.prototype.webkitCreateShadowRoot);
  }
  static _shadowRootDeprecationReport() {
    if (!dart.test(html$.ShadowRoot._shadowRootDeprecationReported)) {
      html$.window[S$2.$console].warn("ShadowRoot.resetStyleInheritance and ShadowRoot.applyAuthorStyles now deprecated in dart:html.\nPlease remove them from your code.\n");
      html$.ShadowRoot._shadowRootDeprecationReported = true;
    }
  }
  get [S$2.$resetStyleInheritance]() {
    html$.ShadowRoot._shadowRootDeprecationReport();
    return false;
  }
  set [S$2.$resetStyleInheritance](value) {
    if (value == null) dart.nullFailed(I[147], 28041, 34, "value");
    html$.ShadowRoot._shadowRootDeprecationReport();
  }
  get [S$2.$applyAuthorStyles]() {
    html$.ShadowRoot._shadowRootDeprecationReport();
    return false;
  }
  set [S$2.$applyAuthorStyles](value) {
    if (value == null) dart.nullFailed(I[147], 28053, 30, "value");
    html$.ShadowRoot._shadowRootDeprecationReport();
  }
};
dart.addTypeTests(html$.ShadowRoot);
dart.addTypeCaches(html$.ShadowRoot);
html$.ShadowRoot[dart.implements] = () => [html$.DocumentOrShadowRoot];
dart.setMethodSignature(html$.ShadowRoot, () => ({
  __proto__: dart.getMethods(html$.ShadowRoot.__proto__),
  [S$1.$elementFromPoint]: dart.fnType(dart.nullable(html$.Element), [core.int, core.int]),
  [S$1.$elementsFromPoint]: dart.fnType(core.List$(html$.Element), [core.int, core.int]),
  [S$1.$getSelection]: dart.fnType(dart.nullable(html$.Selection), [])
}));
dart.setGetterSignature(html$.ShadowRoot, () => ({
  __proto__: dart.getGetters(html$.ShadowRoot.__proto__),
  [S$2.$delegatesFocus]: dart.nullable(core.bool),
  [S$.$host]: dart.nullable(html$.Element),
  [S.$mode]: dart.nullable(core.String),
  [S$2.$olderShadowRoot]: dart.nullable(html$.ShadowRoot),
  [S$1.$activeElement]: dart.nullable(html$.Element),
  [S$1.$fullscreenElement]: dart.nullable(html$.Element),
  [S$1.$pointerLockElement]: dart.nullable(html$.Element),
  [S$1.$styleSheets]: dart.nullable(core.List$(html$.StyleSheet)),
  [S$2.$resetStyleInheritance]: core.bool,
  [S$2.$applyAuthorStyles]: core.bool
}));
dart.setSetterSignature(html$.ShadowRoot, () => ({
  __proto__: dart.getSetters(html$.ShadowRoot.__proto__),
  [S$2.$resetStyleInheritance]: core.bool,
  [S$2.$applyAuthorStyles]: core.bool
}));
dart.setLibraryUri(html$.ShadowRoot, I[148]);
dart.defineLazy(html$.ShadowRoot, {
  /*html$.ShadowRoot._shadowRootDeprecationReported*/get _shadowRootDeprecationReported() {
    return false;
  },
  set _shadowRootDeprecationReported(_) {}
}, false);
dart.registerExtension("ShadowRoot", html$.ShadowRoot);
html$.SharedArrayBuffer = class SharedArrayBuffer extends _interceptors.Interceptor {
  get [S$2.$byteLength]() {
    return this.byteLength;
  }
};
dart.addTypeTests(html$.SharedArrayBuffer);
dart.addTypeCaches(html$.SharedArrayBuffer);
dart.setGetterSignature(html$.SharedArrayBuffer, () => ({
  __proto__: dart.getGetters(html$.SharedArrayBuffer.__proto__),
  [S$2.$byteLength]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.SharedArrayBuffer, I[148]);
dart.registerExtension("SharedArrayBuffer", html$.SharedArrayBuffer);
html$.SharedWorker = class SharedWorker$ extends html$.EventTarget {
  static new(scriptURL, name = null) {
    if (scriptURL == null) dart.nullFailed(I[147], 28084, 31, "scriptURL");
    if (name != null) {
      return html$.SharedWorker._create_1(scriptURL, name);
    }
    return html$.SharedWorker._create_2(scriptURL);
  }
  static _create_1(scriptURL, name) {
    return new SharedWorker(scriptURL, name);
  }
  static _create_2(scriptURL) {
    return new SharedWorker(scriptURL);
  }
  get [S$.$port]() {
    return this.port;
  }
  get [S.$onError]() {
    return html$.SharedWorker.errorEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.SharedWorker);
dart.addTypeCaches(html$.SharedWorker);
html$.SharedWorker[dart.implements] = () => [html$.AbstractWorker];
dart.setGetterSignature(html$.SharedWorker, () => ({
  __proto__: dart.getGetters(html$.SharedWorker.__proto__),
  [S$.$port]: dart.nullable(html$.MessagePort),
  [S.$onError]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.SharedWorker, I[148]);
dart.defineLazy(html$.SharedWorker, {
  /*html$.SharedWorker.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  }
}, false);
dart.registerExtension("SharedWorker", html$.SharedWorker);
html$.SharedWorkerGlobalScope = class SharedWorkerGlobalScope extends html$.WorkerGlobalScope {
  get [$name]() {
    return this.name;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$0._webkitRequestFileSystem](...args) {
    return this.webkitRequestFileSystem.apply(this, args);
  }
  [S$0.$requestFileSystemSync](...args) {
    return this.webkitRequestFileSystemSync.apply(this, args);
  }
  [S$0.$resolveLocalFileSystemSyncUrl](...args) {
    return this.webkitResolveLocalFileSystemSyncURL.apply(this, args);
  }
  [S$0._webkitResolveLocalFileSystemUrl](...args) {
    return this.webkitResolveLocalFileSystemURL.apply(this, args);
  }
  get [S$2.$onConnect]() {
    return html$.SharedWorkerGlobalScope.connectEvent.forTarget(this);
  }
  static get instance() {
    return html$.SharedWorkerGlobalScope.as(html$._workerSelf);
  }
};
dart.addTypeTests(html$.SharedWorkerGlobalScope);
dart.addTypeCaches(html$.SharedWorkerGlobalScope);
dart.setMethodSignature(html$.SharedWorkerGlobalScope, () => ({
  __proto__: dart.getMethods(html$.SharedWorkerGlobalScope.__proto__),
  [S.$close]: dart.fnType(dart.void, []),
  [S$0._webkitRequestFileSystem]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(dart.fnType(dart.void, [html$.FileSystem])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$0.$requestFileSystemSync]: dart.fnType(html$._DOMFileSystemSync, [core.int, core.int]),
  [S$0.$resolveLocalFileSystemSyncUrl]: dart.fnType(html$._EntrySync, [core.String]),
  [S$0._webkitResolveLocalFileSystemUrl]: dart.fnType(dart.void, [core.String, dart.fnType(dart.void, [html$.Entry])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))])
}));
dart.setGetterSignature(html$.SharedWorkerGlobalScope, () => ({
  __proto__: dart.getGetters(html$.SharedWorkerGlobalScope.__proto__),
  [$name]: dart.nullable(core.String),
  [S$2.$onConnect]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.SharedWorkerGlobalScope, I[148]);
dart.defineLazy(html$.SharedWorkerGlobalScope, {
  /*html$.SharedWorkerGlobalScope.connectEvent*/get connectEvent() {
    return C[368] || CT.C368;
  },
  /*html$.SharedWorkerGlobalScope.PERSISTENT*/get PERSISTENT() {
    return 1;
  },
  /*html$.SharedWorkerGlobalScope.TEMPORARY*/get TEMPORARY() {
    return 0;
  }
}, false);
dart.registerExtension("SharedWorkerGlobalScope", html$.SharedWorkerGlobalScope);
html$.SlotElement = class SlotElement extends html$.HtmlElement {
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  [S$2.$assignedNodes](options = null) {
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return this[S$2._assignedNodes_1](options_1);
    }
    return this[S$2._assignedNodes_2]();
  }
  [S$2._assignedNodes_1](...args) {
    return this.assignedNodes.apply(this, args);
  }
  [S$2._assignedNodes_2](...args) {
    return this.assignedNodes.apply(this, args);
  }
};
(html$.SlotElement.created = function() {
  html$.SlotElement.__proto__.created.call(this);
  ;
}).prototype = html$.SlotElement.prototype;
dart.addTypeTests(html$.SlotElement);
dart.addTypeCaches(html$.SlotElement);
dart.setMethodSignature(html$.SlotElement, () => ({
  __proto__: dart.getMethods(html$.SlotElement.__proto__),
  [S$2.$assignedNodes]: dart.fnType(core.List$(html$.Node), [], [dart.nullable(core.Map)]),
  [S$2._assignedNodes_1]: dart.fnType(core.List$(html$.Node), [dart.dynamic]),
  [S$2._assignedNodes_2]: dart.fnType(core.List$(html$.Node), [])
}));
dart.setGetterSignature(html$.SlotElement, () => ({
  __proto__: dart.getGetters(html$.SlotElement.__proto__),
  [$name]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.SlotElement, () => ({
  __proto__: dart.getSetters(html$.SlotElement.__proto__),
  [$name]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.SlotElement, I[148]);
dart.registerExtension("HTMLSlotElement", html$.SlotElement);
html$.SourceBuffer = class SourceBuffer extends html$.EventTarget {
  get [S$2.$appendWindowEnd]() {
    return this.appendWindowEnd;
  }
  set [S$2.$appendWindowEnd](value) {
    this.appendWindowEnd = value;
  }
  get [S$2.$appendWindowStart]() {
    return this.appendWindowStart;
  }
  set [S$2.$appendWindowStart](value) {
    this.appendWindowStart = value;
  }
  get [S$.$audioTracks]() {
    return this.audioTracks;
  }
  get [S$.$buffered]() {
    return this.buffered;
  }
  get [S.$mode]() {
    return this.mode;
  }
  set [S.$mode](value) {
    this.mode = value;
  }
  get [S$2.$timestampOffset]() {
    return this.timestampOffset;
  }
  set [S$2.$timestampOffset](value) {
    this.timestampOffset = value;
  }
  get [S$2.$trackDefaults]() {
    return this.trackDefaults;
  }
  set [S$2.$trackDefaults](value) {
    this.trackDefaults = value;
  }
  get [S$2.$updating]() {
    return this.updating;
  }
  get [S$.$videoTracks]() {
    return this.videoTracks;
  }
  [S.$abort](...args) {
    return this.abort.apply(this, args);
  }
  [S$2.$appendBuffer](...args) {
    return this.appendBuffer.apply(this, args);
  }
  [S$2.$appendTypedData](...args) {
    return this.appendBuffer.apply(this, args);
  }
  [$remove](...args) {
    return this.remove.apply(this, args);
  }
  get [S.$onAbort]() {
    return html$.SourceBuffer.abortEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.SourceBuffer.errorEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.SourceBuffer);
dart.addTypeCaches(html$.SourceBuffer);
dart.setMethodSignature(html$.SourceBuffer, () => ({
  __proto__: dart.getMethods(html$.SourceBuffer.__proto__),
  [S.$abort]: dart.fnType(dart.void, []),
  [S$2.$appendBuffer]: dart.fnType(dart.void, [typed_data.ByteBuffer]),
  [S$2.$appendTypedData]: dart.fnType(dart.void, [typed_data.TypedData]),
  [$remove]: dart.fnType(dart.void, [core.num, core.num])
}));
dart.setGetterSignature(html$.SourceBuffer, () => ({
  __proto__: dart.getGetters(html$.SourceBuffer.__proto__),
  [S$2.$appendWindowEnd]: dart.nullable(core.num),
  [S$2.$appendWindowStart]: dart.nullable(core.num),
  [S$.$audioTracks]: dart.nullable(web_audio.AudioTrackList),
  [S$.$buffered]: dart.nullable(html$.TimeRanges),
  [S.$mode]: dart.nullable(core.String),
  [S$2.$timestampOffset]: dart.nullable(core.num),
  [S$2.$trackDefaults]: dart.nullable(html$.TrackDefaultList),
  [S$2.$updating]: dart.nullable(core.bool),
  [S$.$videoTracks]: dart.nullable(html$.VideoTrackList),
  [S.$onAbort]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.SourceBuffer, () => ({
  __proto__: dart.getSetters(html$.SourceBuffer.__proto__),
  [S$2.$appendWindowEnd]: dart.nullable(core.num),
  [S$2.$appendWindowStart]: dart.nullable(core.num),
  [S.$mode]: dart.nullable(core.String),
  [S$2.$timestampOffset]: dart.nullable(core.num),
  [S$2.$trackDefaults]: dart.nullable(html$.TrackDefaultList)
}));
dart.setLibraryUri(html$.SourceBuffer, I[148]);
dart.defineLazy(html$.SourceBuffer, {
  /*html$.SourceBuffer.abortEvent*/get abortEvent() {
    return C[216] || CT.C216;
  },
  /*html$.SourceBuffer.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  }
}, false);
dart.registerExtension("SourceBuffer", html$.SourceBuffer);
const EventTarget_ListMixin$36 = class EventTarget_ListMixin extends html$.EventTarget {};
(EventTarget_ListMixin$36._created = function() {
  EventTarget_ListMixin$36.__proto__._created.call(this);
}).prototype = EventTarget_ListMixin$36.prototype;
dart.applyMixin(EventTarget_ListMixin$36, collection.ListMixin$(html$.SourceBuffer));
const EventTarget_ImmutableListMixin$36 = class EventTarget_ImmutableListMixin extends EventTarget_ListMixin$36 {};
(EventTarget_ImmutableListMixin$36._created = function() {
  EventTarget_ImmutableListMixin$36.__proto__._created.call(this);
}).prototype = EventTarget_ImmutableListMixin$36.prototype;
dart.applyMixin(EventTarget_ImmutableListMixin$36, html$.ImmutableListMixin$(html$.SourceBuffer));
html$.SourceBufferList = class SourceBufferList extends EventTarget_ImmutableListMixin$36 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 28266, 32, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 28272, 25, "index");
    html$.SourceBuffer.as(value);
    if (value == null) dart.nullFailed(I[147], 28272, 45, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 28278, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 28306, 30, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$.SourceBufferList.prototype[dart.isList] = true;
dart.addTypeTests(html$.SourceBufferList);
dart.addTypeCaches(html$.SourceBufferList);
html$.SourceBufferList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.SourceBuffer), core.List$(html$.SourceBuffer)];
dart.setMethodSignature(html$.SourceBufferList, () => ({
  __proto__: dart.getMethods(html$.SourceBufferList.__proto__),
  [$_get]: dart.fnType(html$.SourceBuffer, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(html$.SourceBuffer, [core.int])
}));
dart.setGetterSignature(html$.SourceBufferList, () => ({
  __proto__: dart.getGetters(html$.SourceBufferList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.SourceBufferList, () => ({
  __proto__: dart.getSetters(html$.SourceBufferList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.SourceBufferList, I[148]);
dart.registerExtension("SourceBufferList", html$.SourceBufferList);
html$.SourceElement = class SourceElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("source");
  }
  get [S$.$media]() {
    return this.media;
  }
  set [S$.$media](value) {
    this.media = value;
  }
  get [S$1.$sizes]() {
    return this.sizes;
  }
  set [S$1.$sizes](value) {
    this.sizes = value;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S$1.$srcset]() {
    return this.srcset;
  }
  set [S$1.$srcset](value) {
    this.srcset = value;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
};
(html$.SourceElement.created = function() {
  html$.SourceElement.__proto__.created.call(this);
  ;
}).prototype = html$.SourceElement.prototype;
dart.addTypeTests(html$.SourceElement);
dart.addTypeCaches(html$.SourceElement);
dart.setGetterSignature(html$.SourceElement, () => ({
  __proto__: dart.getGetters(html$.SourceElement.__proto__),
  [S$.$media]: core.String,
  [S$1.$sizes]: dart.nullable(core.String),
  [S$.$src]: core.String,
  [S$1.$srcset]: dart.nullable(core.String),
  [S.$type]: core.String
}));
dart.setSetterSignature(html$.SourceElement, () => ({
  __proto__: dart.getSetters(html$.SourceElement.__proto__),
  [S$.$media]: core.String,
  [S$1.$sizes]: dart.nullable(core.String),
  [S$.$src]: core.String,
  [S$1.$srcset]: dart.nullable(core.String),
  [S.$type]: core.String
}));
dart.setLibraryUri(html$.SourceElement, I[148]);
dart.registerExtension("HTMLSourceElement", html$.SourceElement);
html$.SpanElement = class SpanElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("span");
  }
};
(html$.SpanElement.created = function() {
  html$.SpanElement.__proto__.created.call(this);
  ;
}).prototype = html$.SpanElement.prototype;
dart.addTypeTests(html$.SpanElement);
dart.addTypeCaches(html$.SpanElement);
dart.setLibraryUri(html$.SpanElement, I[148]);
dart.registerExtension("HTMLSpanElement", html$.SpanElement);
html$.SpeechGrammar = class SpeechGrammar$ extends _interceptors.Interceptor {
  static new() {
    return html$.SpeechGrammar._create_1();
  }
  static _create_1() {
    return new SpeechGrammar();
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S$1.$weight]() {
    return this.weight;
  }
  set [S$1.$weight](value) {
    this.weight = value;
  }
};
dart.addTypeTests(html$.SpeechGrammar);
dart.addTypeCaches(html$.SpeechGrammar);
dart.setGetterSignature(html$.SpeechGrammar, () => ({
  __proto__: dart.getGetters(html$.SpeechGrammar.__proto__),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$weight]: dart.nullable(core.num)
}));
dart.setSetterSignature(html$.SpeechGrammar, () => ({
  __proto__: dart.getSetters(html$.SpeechGrammar.__proto__),
  [S$.$src]: dart.nullable(core.String),
  [S$1.$weight]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.SpeechGrammar, I[148]);
dart.registerExtension("SpeechGrammar", html$.SpeechGrammar);
const Interceptor_ListMixin$36$5 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$5.new = function() {
  Interceptor_ListMixin$36$5.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$5.prototype;
dart.applyMixin(Interceptor_ListMixin$36$5, collection.ListMixin$(html$.SpeechGrammar));
const Interceptor_ImmutableListMixin$36$5 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$5 {};
(Interceptor_ImmutableListMixin$36$5.new = function() {
  Interceptor_ImmutableListMixin$36$5.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$5.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$5, html$.ImmutableListMixin$(html$.SpeechGrammar));
html$.SpeechGrammarList = class SpeechGrammarList$ extends Interceptor_ImmutableListMixin$36$5 {
  static new() {
    return html$.SpeechGrammarList._create_1();
  }
  static _create_1() {
    return new SpeechGrammarList();
  }
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 28423, 33, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 28429, 25, "index");
    html$.SpeechGrammar.as(value);
    if (value == null) dart.nullFailed(I[147], 28429, 46, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 28435, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 28463, 31, "index");
    return this[$_get](index);
  }
  [S$2.$addFromString](...args) {
    return this.addFromString.apply(this, args);
  }
  [S$2.$addFromUri](...args) {
    return this.addFromUri.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$.SpeechGrammarList.prototype[dart.isList] = true;
dart.addTypeTests(html$.SpeechGrammarList);
dart.addTypeCaches(html$.SpeechGrammarList);
html$.SpeechGrammarList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.SpeechGrammar), core.List$(html$.SpeechGrammar)];
dart.setMethodSignature(html$.SpeechGrammarList, () => ({
  __proto__: dart.getMethods(html$.SpeechGrammarList.__proto__),
  [$_get]: dart.fnType(html$.SpeechGrammar, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$2.$addFromString]: dart.fnType(dart.void, [core.String], [dart.nullable(core.num)]),
  [S$2.$addFromUri]: dart.fnType(dart.void, [core.String], [dart.nullable(core.num)]),
  [S$.$item]: dart.fnType(html$.SpeechGrammar, [core.int])
}));
dart.setGetterSignature(html$.SpeechGrammarList, () => ({
  __proto__: dart.getGetters(html$.SpeechGrammarList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.SpeechGrammarList, () => ({
  __proto__: dart.getSetters(html$.SpeechGrammarList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.SpeechGrammarList, I[148]);
dart.registerExtension("SpeechGrammarList", html$.SpeechGrammarList);
html$.SpeechRecognition = class SpeechRecognition extends html$.EventTarget {
  static get supported() {
    return !!(window.SpeechRecognition || window.webkitSpeechRecognition);
  }
  get [S$2.$audioTrack]() {
    return this.audioTrack;
  }
  set [S$2.$audioTrack](value) {
    this.audioTrack = value;
  }
  get [S$2.$continuous]() {
    return this.continuous;
  }
  set [S$2.$continuous](value) {
    this.continuous = value;
  }
  get [S$2.$grammars]() {
    return this.grammars;
  }
  set [S$2.$grammars](value) {
    this.grammars = value;
  }
  get [S$2.$interimResults]() {
    return this.interimResults;
  }
  set [S$2.$interimResults](value) {
    this.interimResults = value;
  }
  get [S.$lang]() {
    return this.lang;
  }
  set [S.$lang](value) {
    this.lang = value;
  }
  get [S$2.$maxAlternatives]() {
    return this.maxAlternatives;
  }
  set [S$2.$maxAlternatives](value) {
    this.maxAlternatives = value;
  }
  [S.$abort](...args) {
    return this.abort.apply(this, args);
  }
  [S$.$start](...args) {
    return this.start.apply(this, args);
  }
  [S$.$stop](...args) {
    return this.stop.apply(this, args);
  }
  get [S$2.$onAudioEnd]() {
    return html$.SpeechRecognition.audioEndEvent.forTarget(this);
  }
  get [S$2.$onAudioStart]() {
    return html$.SpeechRecognition.audioStartEvent.forTarget(this);
  }
  get [S$2.$onEnd]() {
    return html$.SpeechRecognition.endEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.SpeechRecognition.errorEvent.forTarget(this);
  }
  get [S$2.$onNoMatch]() {
    return html$.SpeechRecognition.noMatchEvent.forTarget(this);
  }
  get [S$2.$onResult]() {
    return html$.SpeechRecognition.resultEvent.forTarget(this);
  }
  get [S$2.$onSoundEnd]() {
    return html$.SpeechRecognition.soundEndEvent.forTarget(this);
  }
  get [S$2.$onSoundStart]() {
    return html$.SpeechRecognition.soundStartEvent.forTarget(this);
  }
  get [S$2.$onSpeechEnd]() {
    return html$.SpeechRecognition.speechEndEvent.forTarget(this);
  }
  get [S$2.$onSpeechStart]() {
    return html$.SpeechRecognition.speechStartEvent.forTarget(this);
  }
  get [S$2.$onStart]() {
    return html$.SpeechRecognition.startEvent.forTarget(this);
  }
  static new() {
    return new (window.SpeechRecognition || window.webkitSpeechRecognition)();
  }
};
dart.addTypeTests(html$.SpeechRecognition);
dart.addTypeCaches(html$.SpeechRecognition);
dart.setMethodSignature(html$.SpeechRecognition, () => ({
  __proto__: dart.getMethods(html$.SpeechRecognition.__proto__),
  [S.$abort]: dart.fnType(dart.void, []),
  [S$.$start]: dart.fnType(dart.void, []),
  [S$.$stop]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.SpeechRecognition, () => ({
  __proto__: dart.getGetters(html$.SpeechRecognition.__proto__),
  [S$2.$audioTrack]: dart.nullable(html$.MediaStreamTrack),
  [S$2.$continuous]: dart.nullable(core.bool),
  [S$2.$grammars]: dart.nullable(html$.SpeechGrammarList),
  [S$2.$interimResults]: dart.nullable(core.bool),
  [S.$lang]: dart.nullable(core.String),
  [S$2.$maxAlternatives]: dart.nullable(core.int),
  [S$2.$onAudioEnd]: async.Stream$(html$.Event),
  [S$2.$onAudioStart]: async.Stream$(html$.Event),
  [S$2.$onEnd]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.SpeechRecognitionError),
  [S$2.$onNoMatch]: async.Stream$(html$.SpeechRecognitionEvent),
  [S$2.$onResult]: async.Stream$(html$.SpeechRecognitionEvent),
  [S$2.$onSoundEnd]: async.Stream$(html$.Event),
  [S$2.$onSoundStart]: async.Stream$(html$.Event),
  [S$2.$onSpeechEnd]: async.Stream$(html$.Event),
  [S$2.$onSpeechStart]: async.Stream$(html$.Event),
  [S$2.$onStart]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.SpeechRecognition, () => ({
  __proto__: dart.getSetters(html$.SpeechRecognition.__proto__),
  [S$2.$audioTrack]: dart.nullable(html$.MediaStreamTrack),
  [S$2.$continuous]: dart.nullable(core.bool),
  [S$2.$grammars]: dart.nullable(html$.SpeechGrammarList),
  [S$2.$interimResults]: dart.nullable(core.bool),
  [S.$lang]: dart.nullable(core.String),
  [S$2.$maxAlternatives]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.SpeechRecognition, I[148]);
dart.defineLazy(html$.SpeechRecognition, {
  /*html$.SpeechRecognition.audioEndEvent*/get audioEndEvent() {
    return C[369] || CT.C369;
  },
  /*html$.SpeechRecognition.audioStartEvent*/get audioStartEvent() {
    return C[370] || CT.C370;
  },
  /*html$.SpeechRecognition.endEvent*/get endEvent() {
    return C[371] || CT.C371;
  },
  /*html$.SpeechRecognition.errorEvent*/get errorEvent() {
    return C[372] || CT.C372;
  },
  /*html$.SpeechRecognition.noMatchEvent*/get noMatchEvent() {
    return C[373] || CT.C373;
  },
  /*html$.SpeechRecognition.resultEvent*/get resultEvent() {
    return C[374] || CT.C374;
  },
  /*html$.SpeechRecognition.soundEndEvent*/get soundEndEvent() {
    return C[375] || CT.C375;
  },
  /*html$.SpeechRecognition.soundStartEvent*/get soundStartEvent() {
    return C[376] || CT.C376;
  },
  /*html$.SpeechRecognition.speechEndEvent*/get speechEndEvent() {
    return C[377] || CT.C377;
  },
  /*html$.SpeechRecognition.speechStartEvent*/get speechStartEvent() {
    return C[378] || CT.C378;
  },
  /*html$.SpeechRecognition.startEvent*/get startEvent() {
    return C[379] || CT.C379;
  }
}, false);
dart.registerExtension("SpeechRecognition", html$.SpeechRecognition);
html$.SpeechRecognitionAlternative = class SpeechRecognitionAlternative extends _interceptors.Interceptor {
  get [S$2.$confidence]() {
    return this.confidence;
  }
  get [S$2.$transcript]() {
    return this.transcript;
  }
};
dart.addTypeTests(html$.SpeechRecognitionAlternative);
dart.addTypeCaches(html$.SpeechRecognitionAlternative);
dart.setGetterSignature(html$.SpeechRecognitionAlternative, () => ({
  __proto__: dart.getGetters(html$.SpeechRecognitionAlternative.__proto__),
  [S$2.$confidence]: dart.nullable(core.num),
  [S$2.$transcript]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.SpeechRecognitionAlternative, I[148]);
dart.registerExtension("SpeechRecognitionAlternative", html$.SpeechRecognitionAlternative);
html$.SpeechRecognitionError = class SpeechRecognitionError$ extends html$.Event {
  static new(type, initDict = null) {
    if (type == null) dart.nullFailed(I[147], 28683, 41, "type");
    if (initDict != null) {
      let initDict_1 = html_common.convertDartToNative_Dictionary(initDict);
      return html$.SpeechRecognitionError._create_1(type, initDict_1);
    }
    return html$.SpeechRecognitionError._create_2(type);
  }
  static _create_1(type, initDict) {
    return new SpeechRecognitionError(type, initDict);
  }
  static _create_2(type) {
    return new SpeechRecognitionError(type);
  }
  get [S.$error]() {
    return this.error;
  }
  get [$message]() {
    return this.message;
  }
};
dart.addTypeTests(html$.SpeechRecognitionError);
dart.addTypeCaches(html$.SpeechRecognitionError);
dart.setGetterSignature(html$.SpeechRecognitionError, () => ({
  __proto__: dart.getGetters(html$.SpeechRecognitionError.__proto__),
  [S.$error]: dart.nullable(core.String),
  [$message]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.SpeechRecognitionError, I[148]);
dart.registerExtension("SpeechRecognitionError", html$.SpeechRecognitionError);
html$.SpeechRecognitionEvent = class SpeechRecognitionEvent$ extends html$.Event {
  static new(type, initDict = null) {
    if (type == null) dart.nullFailed(I[147], 28714, 41, "type");
    if (initDict != null) {
      let initDict_1 = html_common.convertDartToNative_Dictionary(initDict);
      return html$.SpeechRecognitionEvent._create_1(type, initDict_1);
    }
    return html$.SpeechRecognitionEvent._create_2(type);
  }
  static _create_1(type, initDict) {
    return new SpeechRecognitionEvent(type, initDict);
  }
  static _create_2(type) {
    return new SpeechRecognitionEvent(type);
  }
  get [S$2.$emma]() {
    return this.emma;
  }
  get [S$2.$interpretation]() {
    return this.interpretation;
  }
  get [S$2.$resultIndex]() {
    return this.resultIndex;
  }
  get [S$2.$results]() {
    return this.results;
  }
};
dart.addTypeTests(html$.SpeechRecognitionEvent);
dart.addTypeCaches(html$.SpeechRecognitionEvent);
dart.setGetterSignature(html$.SpeechRecognitionEvent, () => ({
  __proto__: dart.getGetters(html$.SpeechRecognitionEvent.__proto__),
  [S$2.$emma]: dart.nullable(html$.Document),
  [S$2.$interpretation]: dart.nullable(html$.Document),
  [S$2.$resultIndex]: dart.nullable(core.int),
  [S$2.$results]: dart.nullable(core.List$(html$.SpeechRecognitionResult))
}));
dart.setLibraryUri(html$.SpeechRecognitionEvent, I[148]);
dart.registerExtension("SpeechRecognitionEvent", html$.SpeechRecognitionEvent);
html$.SpeechRecognitionResult = class SpeechRecognitionResult extends _interceptors.Interceptor {
  get [S$2.$isFinal]() {
    return this.isFinal;
  }
  get [$length]() {
    return this.length;
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
dart.addTypeTests(html$.SpeechRecognitionResult);
dart.addTypeCaches(html$.SpeechRecognitionResult);
dart.setMethodSignature(html$.SpeechRecognitionResult, () => ({
  __proto__: dart.getMethods(html$.SpeechRecognitionResult.__proto__),
  [S$.$item]: dart.fnType(html$.SpeechRecognitionAlternative, [core.int])
}));
dart.setGetterSignature(html$.SpeechRecognitionResult, () => ({
  __proto__: dart.getGetters(html$.SpeechRecognitionResult.__proto__),
  [S$2.$isFinal]: dart.nullable(core.bool),
  [$length]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.SpeechRecognitionResult, I[148]);
dart.registerExtension("SpeechRecognitionResult", html$.SpeechRecognitionResult);
html$.SpeechSynthesis = class SpeechSynthesis extends html$.EventTarget {
  [S$2.$getVoices]() {
    let voices = this[S$2._getVoices]();
    if (dart.notNull(voices[$length]) > 0) _js_helper.applyExtension("SpeechSynthesisVoice", voices[$_get](0));
    return voices;
  }
  get [S$.$paused]() {
    return this.paused;
  }
  get [S$2.$pending]() {
    return this.pending;
  }
  get [S$2.$speaking]() {
    return this.speaking;
  }
  [S$.$cancel](...args) {
    return this.cancel.apply(this, args);
  }
  [S$2._getVoices](...args) {
    return this.getVoices.apply(this, args);
  }
  [S$.$pause](...args) {
    return this.pause.apply(this, args);
  }
  [S$1.$resume](...args) {
    return this.resume.apply(this, args);
  }
  [S$0.$speak](...args) {
    return this.speak.apply(this, args);
  }
};
dart.addTypeTests(html$.SpeechSynthesis);
dart.addTypeCaches(html$.SpeechSynthesis);
dart.setMethodSignature(html$.SpeechSynthesis, () => ({
  __proto__: dart.getMethods(html$.SpeechSynthesis.__proto__),
  [S$2.$getVoices]: dart.fnType(core.List$(html$.SpeechSynthesisVoice), []),
  [S$.$cancel]: dart.fnType(dart.void, []),
  [S$2._getVoices]: dart.fnType(core.List$(html$.SpeechSynthesisVoice), []),
  [S$.$pause]: dart.fnType(dart.void, []),
  [S$1.$resume]: dart.fnType(dart.void, []),
  [S$0.$speak]: dart.fnType(dart.void, [html$.SpeechSynthesisUtterance])
}));
dart.setGetterSignature(html$.SpeechSynthesis, () => ({
  __proto__: dart.getGetters(html$.SpeechSynthesis.__proto__),
  [S$.$paused]: dart.nullable(core.bool),
  [S$2.$pending]: dart.nullable(core.bool),
  [S$2.$speaking]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.SpeechSynthesis, I[148]);
dart.registerExtension("SpeechSynthesis", html$.SpeechSynthesis);
html$.SpeechSynthesisEvent = class SpeechSynthesisEvent extends html$.Event {
  get [S$2.$charIndex]() {
    return this.charIndex;
  }
  get [S$.$elapsedTime]() {
    return this.elapsedTime;
  }
  get [$name]() {
    return this.name;
  }
  get [S$2.$utterance]() {
    return this.utterance;
  }
};
dart.addTypeTests(html$.SpeechSynthesisEvent);
dart.addTypeCaches(html$.SpeechSynthesisEvent);
dart.setGetterSignature(html$.SpeechSynthesisEvent, () => ({
  __proto__: dart.getGetters(html$.SpeechSynthesisEvent.__proto__),
  [S$2.$charIndex]: dart.nullable(core.int),
  [S$.$elapsedTime]: dart.nullable(core.num),
  [$name]: dart.nullable(core.String),
  [S$2.$utterance]: dart.nullable(html$.SpeechSynthesisUtterance)
}));
dart.setLibraryUri(html$.SpeechSynthesisEvent, I[148]);
dart.registerExtension("SpeechSynthesisEvent", html$.SpeechSynthesisEvent);
html$.SpeechSynthesisUtterance = class SpeechSynthesisUtterance$ extends html$.EventTarget {
  static new(text = null) {
    if (text != null) {
      return html$.SpeechSynthesisUtterance._create_1(text);
    }
    return html$.SpeechSynthesisUtterance._create_2();
  }
  static _create_1(text) {
    return new SpeechSynthesisUtterance(text);
  }
  static _create_2() {
    return new SpeechSynthesisUtterance();
  }
  get [S.$lang]() {
    return this.lang;
  }
  set [S.$lang](value) {
    this.lang = value;
  }
  get [S$2.$pitch]() {
    return this.pitch;
  }
  set [S$2.$pitch](value) {
    this.pitch = value;
  }
  get [S$2.$rate]() {
    return this.rate;
  }
  set [S$2.$rate](value) {
    this.rate = value;
  }
  get [S.$text]() {
    return this.text;
  }
  set [S.$text](value) {
    this.text = value;
  }
  get [S$2.$voice]() {
    return this.voice;
  }
  set [S$2.$voice](value) {
    this.voice = value;
  }
  get [S$.$volume]() {
    return this.volume;
  }
  set [S$.$volume](value) {
    this.volume = value;
  }
  get [S$2.$onBoundary]() {
    return html$.SpeechSynthesisUtterance.boundaryEvent.forTarget(this);
  }
  get [S$2.$onEnd]() {
    return html$.SpeechSynthesisUtterance.endEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.SpeechSynthesisUtterance.errorEvent.forTarget(this);
  }
  get [S$2.$onMark]() {
    return html$.SpeechSynthesisUtterance.markEvent.forTarget(this);
  }
  get [S.$onPause]() {
    return html$.SpeechSynthesisUtterance.pauseEvent.forTarget(this);
  }
  get [S$2.$onResume]() {
    return html$.SpeechSynthesisUtterance.resumeEvent.forTarget(this);
  }
  get [S$2.$onStart]() {
    return html$.SpeechSynthesisUtterance.startEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.SpeechSynthesisUtterance);
dart.addTypeCaches(html$.SpeechSynthesisUtterance);
dart.setGetterSignature(html$.SpeechSynthesisUtterance, () => ({
  __proto__: dart.getGetters(html$.SpeechSynthesisUtterance.__proto__),
  [S.$lang]: dart.nullable(core.String),
  [S$2.$pitch]: dart.nullable(core.num),
  [S$2.$rate]: dart.nullable(core.num),
  [S.$text]: dart.nullable(core.String),
  [S$2.$voice]: dart.nullable(html$.SpeechSynthesisVoice),
  [S$.$volume]: dart.nullable(core.num),
  [S$2.$onBoundary]: async.Stream$(html$.SpeechSynthesisEvent),
  [S$2.$onEnd]: async.Stream$(html$.SpeechSynthesisEvent),
  [S.$onError]: async.Stream$(html$.Event),
  [S$2.$onMark]: async.Stream$(html$.SpeechSynthesisEvent),
  [S.$onPause]: async.Stream$(html$.Event),
  [S$2.$onResume]: async.Stream$(html$.SpeechSynthesisEvent),
  [S$2.$onStart]: async.Stream$(html$.SpeechSynthesisEvent)
}));
dart.setSetterSignature(html$.SpeechSynthesisUtterance, () => ({
  __proto__: dart.getSetters(html$.SpeechSynthesisUtterance.__proto__),
  [S.$lang]: dart.nullable(core.String),
  [S$2.$pitch]: dart.nullable(core.num),
  [S$2.$rate]: dart.nullable(core.num),
  [S.$text]: dart.nullable(core.String),
  [S$2.$voice]: dart.nullable(html$.SpeechSynthesisVoice),
  [S$.$volume]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.SpeechSynthesisUtterance, I[148]);
dart.defineLazy(html$.SpeechSynthesisUtterance, {
  /*html$.SpeechSynthesisUtterance.boundaryEvent*/get boundaryEvent() {
    return C[380] || CT.C380;
  },
  /*html$.SpeechSynthesisUtterance.endEvent*/get endEvent() {
    return C[381] || CT.C381;
  },
  /*html$.SpeechSynthesisUtterance.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.SpeechSynthesisUtterance.markEvent*/get markEvent() {
    return C[382] || CT.C382;
  },
  /*html$.SpeechSynthesisUtterance.pauseEvent*/get pauseEvent() {
    return C[271] || CT.C271;
  },
  /*html$.SpeechSynthesisUtterance.resumeEvent*/get resumeEvent() {
    return C[383] || CT.C383;
  },
  /*html$.SpeechSynthesisUtterance.startEvent*/get startEvent() {
    return C[384] || CT.C384;
  }
}, false);
dart.registerExtension("SpeechSynthesisUtterance", html$.SpeechSynthesisUtterance);
html$.SpeechSynthesisVoice = class SpeechSynthesisVoice extends _interceptors.Interceptor {
  get [S$1.$defaultValue]() {
    return this.default;
  }
  get [S.$lang]() {
    return this.lang;
  }
  get [S$2.$localService]() {
    return this.localService;
  }
  get [$name]() {
    return this.name;
  }
  get [S$2.$voiceUri]() {
    return this.voiceURI;
  }
};
dart.addTypeTests(html$.SpeechSynthesisVoice);
dart.addTypeCaches(html$.SpeechSynthesisVoice);
dart.setGetterSignature(html$.SpeechSynthesisVoice, () => ({
  __proto__: dart.getGetters(html$.SpeechSynthesisVoice.__proto__),
  [S$1.$defaultValue]: dart.nullable(core.bool),
  [S.$lang]: dart.nullable(core.String),
  [S$2.$localService]: dart.nullable(core.bool),
  [$name]: dart.nullable(core.String),
  [S$2.$voiceUri]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.SpeechSynthesisVoice, I[148]);
dart.registerExtension("SpeechSynthesisVoice", html$.SpeechSynthesisVoice);
html$.StaticRange = class StaticRange extends _interceptors.Interceptor {
  get [S$2.$collapsed]() {
    return this.collapsed;
  }
  get [S$2.$endContainer]() {
    return this.endContainer;
  }
  get [S$2.$endOffset]() {
    return this.endOffset;
  }
  get [S$2.$startContainer]() {
    return this.startContainer;
  }
  get [S$2.$startOffset]() {
    return this.startOffset;
  }
};
dart.addTypeTests(html$.StaticRange);
dart.addTypeCaches(html$.StaticRange);
dart.setGetterSignature(html$.StaticRange, () => ({
  __proto__: dart.getGetters(html$.StaticRange.__proto__),
  [S$2.$collapsed]: dart.nullable(core.bool),
  [S$2.$endContainer]: dart.nullable(html$.Node),
  [S$2.$endOffset]: dart.nullable(core.int),
  [S$2.$startContainer]: dart.nullable(html$.Node),
  [S$2.$startOffset]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.StaticRange, I[148]);
dart.registerExtension("StaticRange", html$.StaticRange);
const Interceptor_MapMixin$36$1 = class Interceptor_MapMixin extends _interceptors.Interceptor {};
(Interceptor_MapMixin$36$1.new = function() {
  Interceptor_MapMixin$36$1.__proto__.new.call(this);
}).prototype = Interceptor_MapMixin$36$1.prototype;
dart.applyMixin(Interceptor_MapMixin$36$1, collection.MapMixin$(core.String, core.String));
html$.Storage = class Storage extends Interceptor_MapMixin$36$1 {
  [$addAll](other) {
    T$0.MapOfString$String().as(other);
    if (other == null) dart.nullFailed(I[147], 29011, 35, "other");
    other[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 29012, 20, "k");
      if (v == null) dart.nullFailed(I[147], 29012, 23, "v");
      this[$_set](k, v);
    }, T$0.StringAndStringTovoid()));
  }
  [$containsValue](value) {
    return this[$values][$any](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 29018, 52, "e");
      return core.identical(e, value);
    }, T$.StringTobool()));
  }
  [$containsKey](key) {
    return this[S$1._getItem](core.String.as(key)) != null;
  }
  [$_get](key) {
    return this[S$1._getItem](core.String.as(key));
  }
  [$_set](key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 29024, 28, "key");
    core.String.as(value);
    if (value == null) dart.nullFailed(I[147], 29024, 40, "value");
    this[S$2._setItem](key, value);
    return value$;
  }
  [$putIfAbsent](key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 29028, 29, "key");
    T$.VoidToString().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[147], 29028, 41, "ifAbsent");
    if (!dart.test(this[$containsKey](key))) this[$_set](key, ifAbsent());
    return dart.nullCast(this[$_get](key), core.String);
  }
  [$remove](key) {
    let value = this[$_get](key);
    this[S$2._removeItem](core.String.as(key));
    return value;
  }
  [$clear]() {
    return this[S$0._clear$3]();
  }
  [$forEach](f) {
    if (f == null) dart.nullFailed(I[147], 29041, 21, "f");
    for (let i = 0; true; i = i + 1) {
      let key = this[S$2._key](i);
      if (key == null) return;
      f(key, dart.nullCheck(this[$_get](key)));
    }
  }
  get [$keys]() {
    let keys = T$.JSArrayOfString().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 29052, 14, "k");
      if (v == null) dart.nullFailed(I[147], 29052, 17, "v");
      return keys[$add](k);
    }, T$0.StringAndStringTovoid()));
    return keys;
  }
  get [$values]() {
    let values = T$.JSArrayOfString().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 29058, 14, "k");
      if (v == null) dart.nullFailed(I[147], 29058, 17, "v");
      return values[$add](v);
    }, T$0.StringAndStringTovoid()));
    return values;
  }
  get [$length]() {
    return this[S$2._length$3];
  }
  get [$isEmpty]() {
    return this[S$2._key](0) == null;
  }
  get [$isNotEmpty]() {
    return !dart.test(this[$isEmpty]);
  }
  get [S$2._length$3]() {
    return this.length;
  }
  [S$0._clear$3](...args) {
    return this.clear.apply(this, args);
  }
  [S$1._getItem](...args) {
    return this.getItem.apply(this, args);
  }
  [S$2._key](...args) {
    return this.key.apply(this, args);
  }
  [S$2._removeItem](...args) {
    return this.removeItem.apply(this, args);
  }
  [S$2._setItem](...args) {
    return this.setItem.apply(this, args);
  }
};
dart.addTypeTests(html$.Storage);
dart.addTypeCaches(html$.Storage);
dart.setMethodSignature(html$.Storage, () => ({
  __proto__: dart.getMethods(html$.Storage.__proto__),
  [$_get]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$remove]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$clear]: dart.fnType(dart.void, []),
  [S$0._clear$3]: dart.fnType(dart.void, []),
  [S$1._getItem]: dart.fnType(dart.nullable(core.String), [core.String]),
  [S$2._key]: dart.fnType(dart.nullable(core.String), [core.int]),
  [S$2._removeItem]: dart.fnType(dart.void, [core.String]),
  [S$2._setItem]: dart.fnType(dart.void, [core.String, core.String])
}));
dart.setGetterSignature(html$.Storage, () => ({
  __proto__: dart.getGetters(html$.Storage.__proto__),
  [$keys]: core.Iterable$(core.String),
  [S$2._length$3]: core.int
}));
dart.setLibraryUri(html$.Storage, I[148]);
dart.registerExtension("Storage", html$.Storage);
html$.StorageEvent = class StorageEvent$ extends html$.Event {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 29106, 31, "type");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : false;
    if (canBubble == null) dart.nullFailed(I[147], 29107, 13, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : false;
    if (cancelable == null) dart.nullFailed(I[147], 29108, 12, "cancelable");
    let key = opts && 'key' in opts ? opts.key : null;
    let oldValue = opts && 'oldValue' in opts ? opts.oldValue : null;
    let newValue = opts && 'newValue' in opts ? opts.newValue : null;
    let url = opts && 'url' in opts ? opts.url : null;
    let storageArea = opts && 'storageArea' in opts ? opts.storageArea : null;
    let e = html$.StorageEvent.as(html$.document[S._createEvent]("StorageEvent"));
    e[S$2._initStorageEvent](type, canBubble, cancelable, key, oldValue, newValue, url, storageArea);
    return e;
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 29120, 33, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.StorageEvent._create_1(type, eventInitDict_1);
    }
    return html$.StorageEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new StorageEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new StorageEvent(type);
  }
  get [S.$key]() {
    return this.key;
  }
  get [S$1.$newValue]() {
    return this.newValue;
  }
  get [S$1.$oldValue]() {
    return this.oldValue;
  }
  get [S$2.$storageArea]() {
    return this.storageArea;
  }
  get [S$.$url]() {
    return this.url;
  }
  [S$2._initStorageEvent](...args) {
    return this.initStorageEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.StorageEvent);
dart.addTypeCaches(html$.StorageEvent);
dart.setMethodSignature(html$.StorageEvent, () => ({
  __proto__: dart.getMethods(html$.StorageEvent.__proto__),
  [S$2._initStorageEvent]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.String), dart.nullable(core.String), dart.nullable(core.String), dart.nullable(core.String), dart.nullable(html$.Storage)])
}));
dart.setGetterSignature(html$.StorageEvent, () => ({
  __proto__: dart.getGetters(html$.StorageEvent.__proto__),
  [S.$key]: dart.nullable(core.String),
  [S$1.$newValue]: dart.nullable(core.String),
  [S$1.$oldValue]: dart.nullable(core.String),
  [S$2.$storageArea]: dart.nullable(html$.Storage),
  [S$.$url]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.StorageEvent, I[148]);
dart.registerExtension("StorageEvent", html$.StorageEvent);
html$.StorageManager = class StorageManager extends _interceptors.Interceptor {
  [S$2.$estimate]() {
    return html$.promiseToFutureAsMap(this.estimate());
  }
  [S$2.$persist]() {
    return js_util.promiseToFuture(core.bool, this.persist());
  }
  [S$2.$persisted]() {
    return js_util.promiseToFuture(core.bool, this.persisted());
  }
};
dart.addTypeTests(html$.StorageManager);
dart.addTypeCaches(html$.StorageManager);
dart.setMethodSignature(html$.StorageManager, () => ({
  __proto__: dart.getMethods(html$.StorageManager.__proto__),
  [S$2.$estimate]: dart.fnType(async.Future$(dart.nullable(core.Map$(core.String, dart.dynamic))), []),
  [S$2.$persist]: dart.fnType(async.Future$(core.bool), []),
  [S$2.$persisted]: dart.fnType(async.Future$(core.bool), [])
}));
dart.setLibraryUri(html$.StorageManager, I[148]);
dart.registerExtension("StorageManager", html$.StorageManager);
html$.StyleElement = class StyleElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("style");
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$media]() {
    return this.media;
  }
  set [S$.$media](value) {
    this.media = value;
  }
  get [S$1.$sheet]() {
    return this.sheet;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
};
(html$.StyleElement.created = function() {
  html$.StyleElement.__proto__.created.call(this);
  ;
}).prototype = html$.StyleElement.prototype;
dart.addTypeTests(html$.StyleElement);
dart.addTypeCaches(html$.StyleElement);
dart.setGetterSignature(html$.StyleElement, () => ({
  __proto__: dart.getGetters(html$.StyleElement.__proto__),
  [S$.$disabled]: core.bool,
  [S$.$media]: core.String,
  [S$1.$sheet]: dart.nullable(html$.StyleSheet),
  [S.$type]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.StyleElement, () => ({
  __proto__: dart.getSetters(html$.StyleElement.__proto__),
  [S$.$disabled]: core.bool,
  [S$.$media]: core.String,
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.StyleElement, I[148]);
dart.registerExtension("HTMLStyleElement", html$.StyleElement);
html$.StyleMedia = class StyleMedia extends _interceptors.Interceptor {
  get [S.$type]() {
    return this.type;
  }
  [S$2.$matchMedium](...args) {
    return this.matchMedium.apply(this, args);
  }
};
dart.addTypeTests(html$.StyleMedia);
dart.addTypeCaches(html$.StyleMedia);
dart.setMethodSignature(html$.StyleMedia, () => ({
  __proto__: dart.getMethods(html$.StyleMedia.__proto__),
  [S$2.$matchMedium]: dart.fnType(core.bool, [dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.StyleMedia, () => ({
  __proto__: dart.getGetters(html$.StyleMedia.__proto__),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.StyleMedia, I[148]);
dart.registerExtension("StyleMedia", html$.StyleMedia);
html$.StylePropertyMapReadonly = class StylePropertyMapReadonly extends _interceptors.Interceptor {
  [S.$get](...args) {
    return this.get.apply(this, args);
  }
  [S.$getAll](...args) {
    return this.getAll.apply(this, args);
  }
  [S$2.$getProperties](...args) {
    return this.getProperties.apply(this, args);
  }
  [S$.$has](...args) {
    return this.has.apply(this, args);
  }
};
dart.addTypeTests(html$.StylePropertyMapReadonly);
dart.addTypeCaches(html$.StylePropertyMapReadonly);
dart.setMethodSignature(html$.StylePropertyMapReadonly, () => ({
  __proto__: dart.getMethods(html$.StylePropertyMapReadonly.__proto__),
  [S.$get]: dart.fnType(dart.nullable(html$.CssStyleValue), [core.String]),
  [S.$getAll]: dart.fnType(core.List$(html$.CssStyleValue), [core.String]),
  [S$2.$getProperties]: dart.fnType(core.List$(core.String), []),
  [S$.$has]: dart.fnType(core.bool, [core.String])
}));
dart.setLibraryUri(html$.StylePropertyMapReadonly, I[148]);
dart.registerExtension("StylePropertyMapReadonly", html$.StylePropertyMapReadonly);
html$.StylePropertyMap = class StylePropertyMap extends html$.StylePropertyMapReadonly {
  [S.$append](...args) {
    return this.append.apply(this, args);
  }
  [S.$delete](...args) {
    return this.delete.apply(this, args);
  }
  [S$.$set](...args) {
    return this.set.apply(this, args);
  }
};
dart.addTypeTests(html$.StylePropertyMap);
dart.addTypeCaches(html$.StylePropertyMap);
dart.setMethodSignature(html$.StylePropertyMap, () => ({
  __proto__: dart.getMethods(html$.StylePropertyMap.__proto__),
  [S.$append]: dart.fnType(dart.void, [core.String, core.Object]),
  [S.$delete]: dart.fnType(dart.void, [core.String]),
  [S$.$set]: dart.fnType(dart.void, [core.String, core.Object])
}));
dart.setLibraryUri(html$.StylePropertyMap, I[148]);
dart.registerExtension("StylePropertyMap", html$.StylePropertyMap);
html$.SyncEvent = class SyncEvent$ extends html$.ExtendableEvent {
  static new(type, init) {
    if (type == null) dart.nullFailed(I[147], 29313, 28, "type");
    if (init == null) dart.nullFailed(I[147], 29313, 38, "init");
    let init_1 = html_common.convertDartToNative_Dictionary(init);
    return html$.SyncEvent._create_1(type, init_1);
  }
  static _create_1(type, init) {
    return new SyncEvent(type, init);
  }
  get [S$2.$lastChance]() {
    return this.lastChance;
  }
  get [S$2.$tag]() {
    return this.tag;
  }
};
dart.addTypeTests(html$.SyncEvent);
dart.addTypeCaches(html$.SyncEvent);
dart.setGetterSignature(html$.SyncEvent, () => ({
  __proto__: dart.getGetters(html$.SyncEvent.__proto__),
  [S$2.$lastChance]: dart.nullable(core.bool),
  [S$2.$tag]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.SyncEvent, I[148]);
dart.registerExtension("SyncEvent", html$.SyncEvent);
html$.SyncManager = class SyncManager extends _interceptors.Interceptor {
  [S$2.$getTags]() {
    return js_util.promiseToFuture(core.List, this.getTags());
  }
  [S$1.$register](tag) {
    if (tag == null) dart.nullFailed(I[147], 29338, 26, "tag");
    return js_util.promiseToFuture(dart.dynamic, this.register(tag));
  }
};
dart.addTypeTests(html$.SyncManager);
dart.addTypeCaches(html$.SyncManager);
dart.setMethodSignature(html$.SyncManager, () => ({
  __proto__: dart.getMethods(html$.SyncManager.__proto__),
  [S$2.$getTags]: dart.fnType(async.Future$(core.List), []),
  [S$1.$register]: dart.fnType(async.Future, [core.String])
}));
dart.setLibraryUri(html$.SyncManager, I[148]);
dart.registerExtension("SyncManager", html$.SyncManager);
html$.TableCaptionElement = class TableCaptionElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("caption");
  }
};
(html$.TableCaptionElement.created = function() {
  html$.TableCaptionElement.__proto__.created.call(this);
  ;
}).prototype = html$.TableCaptionElement.prototype;
dart.addTypeTests(html$.TableCaptionElement);
dart.addTypeCaches(html$.TableCaptionElement);
dart.setLibraryUri(html$.TableCaptionElement, I[148]);
dart.registerExtension("HTMLTableCaptionElement", html$.TableCaptionElement);
html$.TableCellElement = class TableCellElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("td");
  }
  get [S$2.$cellIndex]() {
    return this.cellIndex;
  }
  get [S$.$colSpan]() {
    return this.colSpan;
  }
  set [S$.$colSpan](value) {
    this.colSpan = value;
  }
  get [S$2.$headers]() {
    return this.headers;
  }
  set [S$2.$headers](value) {
    this.headers = value;
  }
  get [S$.$rowSpan]() {
    return this.rowSpan;
  }
  set [S$.$rowSpan](value) {
    this.rowSpan = value;
  }
};
(html$.TableCellElement.created = function() {
  html$.TableCellElement.__proto__.created.call(this);
  ;
}).prototype = html$.TableCellElement.prototype;
dart.addTypeTests(html$.TableCellElement);
dart.addTypeCaches(html$.TableCellElement);
dart.setGetterSignature(html$.TableCellElement, () => ({
  __proto__: dart.getGetters(html$.TableCellElement.__proto__),
  [S$2.$cellIndex]: core.int,
  [S$.$colSpan]: core.int,
  [S$2.$headers]: core.String,
  [S$.$rowSpan]: core.int
}));
dart.setSetterSignature(html$.TableCellElement, () => ({
  __proto__: dart.getSetters(html$.TableCellElement.__proto__),
  [S$.$colSpan]: core.int,
  [S$2.$headers]: dart.nullable(core.String),
  [S$.$rowSpan]: core.int
}));
dart.setLibraryUri(html$.TableCellElement, I[148]);
dart.registerExtension("HTMLTableCellElement", html$.TableCellElement);
dart.registerExtension("HTMLTableDataCellElement", html$.TableCellElement);
dart.registerExtension("HTMLTableHeaderCellElement", html$.TableCellElement);
html$.TableColElement = class TableColElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("col");
  }
  get [S$2.$span]() {
    return this.span;
  }
  set [S$2.$span](value) {
    this.span = value;
  }
};
(html$.TableColElement.created = function() {
  html$.TableColElement.__proto__.created.call(this);
  ;
}).prototype = html$.TableColElement.prototype;
dart.addTypeTests(html$.TableColElement);
dart.addTypeCaches(html$.TableColElement);
dart.setGetterSignature(html$.TableColElement, () => ({
  __proto__: dart.getGetters(html$.TableColElement.__proto__),
  [S$2.$span]: core.int
}));
dart.setSetterSignature(html$.TableColElement, () => ({
  __proto__: dart.getSetters(html$.TableColElement.__proto__),
  [S$2.$span]: core.int
}));
dart.setLibraryUri(html$.TableColElement, I[148]);
dart.registerExtension("HTMLTableColElement", html$.TableColElement);
html$.TableElement = class TableElement extends html$.HtmlElement {
  get [S$2.$tBodies]() {
    return new (T$0._WrappedListOfTableSectionElement()).new(this[S$2._tBodies]);
  }
  get [S$2.$rows]() {
    return new (T$0._WrappedListOfTableRowElement()).new(this[S$2._rows]);
  }
  [S$2.$addRow]() {
    return this[S$2.$insertRow](-1);
  }
  [S$2.$createCaption]() {
    return this[S$2._createCaption]();
  }
  [S$2.$createTBody]() {
    return this[S$2._createTBody]();
  }
  [S$2.$createTFoot]() {
    return this[S$2._createTFoot]();
  }
  [S$2.$createTHead]() {
    return this[S$2._createTHead]();
  }
  [S$2.$insertRow](index) {
    if (index == null) dart.nullFailed(I[147], 29448, 33, "index");
    return this[S$2._insertRow](index);
  }
  [S$2._createTBody]() {
    if (!!this.createTBody) {
      return this[S$2._nativeCreateTBody]();
    }
    let tbody = html$.Element.tag("tbody");
    this[S.$children][$add](tbody);
    return html$.TableSectionElement.as(tbody);
  }
  [S$2._nativeCreateTBody](...args) {
    return this.createTBody.apply(this, args);
  }
  [S.$createFragment](html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    if (dart.test(html$.Range.supportsCreateContextualFragment)) {
      return super[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer});
    }
    let contextualHtml = "<table>" + dart.str(html) + "</table>";
    let table = html$.Element.html(contextualHtml, {validator: validator, treeSanitizer: treeSanitizer});
    let fragment = html$.DocumentFragment.new();
    fragment[S.$nodes][$addAll](table[S.$nodes]);
    return fragment;
  }
  static new() {
    return html$.document.createElement("table");
  }
  get [S$2.$caption]() {
    return this.caption;
  }
  set [S$2.$caption](value) {
    this.caption = value;
  }
  get [S$2._rows]() {
    return this.rows;
  }
  get [S$2._tBodies]() {
    return this.tBodies;
  }
  get [S$2.$tFoot]() {
    return this.tFoot;
  }
  set [S$2.$tFoot](value) {
    this.tFoot = value;
  }
  get [S$2.$tHead]() {
    return this.tHead;
  }
  set [S$2.$tHead](value) {
    this.tHead = value;
  }
  [S$2._createCaption](...args) {
    return this.createCaption.apply(this, args);
  }
  [S$2._createTFoot](...args) {
    return this.createTFoot.apply(this, args);
  }
  [S$2._createTHead](...args) {
    return this.createTHead.apply(this, args);
  }
  [S$2.$deleteCaption](...args) {
    return this.deleteCaption.apply(this, args);
  }
  [S$2.$deleteRow](...args) {
    return this.deleteRow.apply(this, args);
  }
  [S$2.$deleteTFoot](...args) {
    return this.deleteTFoot.apply(this, args);
  }
  [S$2.$deleteTHead](...args) {
    return this.deleteTHead.apply(this, args);
  }
  [S$2._insertRow](...args) {
    return this.insertRow.apply(this, args);
  }
};
(html$.TableElement.created = function() {
  html$.TableElement.__proto__.created.call(this);
  ;
}).prototype = html$.TableElement.prototype;
dart.addTypeTests(html$.TableElement);
dart.addTypeCaches(html$.TableElement);
dart.setMethodSignature(html$.TableElement, () => ({
  __proto__: dart.getMethods(html$.TableElement.__proto__),
  [S$2.$addRow]: dart.fnType(html$.TableRowElement, []),
  [S$2.$createCaption]: dart.fnType(html$.TableCaptionElement, []),
  [S$2.$createTBody]: dart.fnType(html$.TableSectionElement, []),
  [S$2.$createTFoot]: dart.fnType(html$.TableSectionElement, []),
  [S$2.$createTHead]: dart.fnType(html$.TableSectionElement, []),
  [S$2.$insertRow]: dart.fnType(html$.TableRowElement, [core.int]),
  [S$2._createTBody]: dart.fnType(html$.TableSectionElement, []),
  [S$2._nativeCreateTBody]: dart.fnType(html$.TableSectionElement, []),
  [S$2._createCaption]: dart.fnType(html$.TableCaptionElement, []),
  [S$2._createTFoot]: dart.fnType(html$.TableSectionElement, []),
  [S$2._createTHead]: dart.fnType(html$.TableSectionElement, []),
  [S$2.$deleteCaption]: dart.fnType(dart.void, []),
  [S$2.$deleteRow]: dart.fnType(dart.void, [core.int]),
  [S$2.$deleteTFoot]: dart.fnType(dart.void, []),
  [S$2.$deleteTHead]: dart.fnType(dart.void, []),
  [S$2._insertRow]: dart.fnType(html$.TableRowElement, [], [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.TableElement, () => ({
  __proto__: dart.getGetters(html$.TableElement.__proto__),
  [S$2.$tBodies]: core.List$(html$.TableSectionElement),
  [S$2.$rows]: core.List$(html$.TableRowElement),
  [S$2.$caption]: dart.nullable(html$.TableCaptionElement),
  [S$2._rows]: core.List$(html$.Node),
  [S$2._tBodies]: core.List$(html$.Node),
  [S$2.$tFoot]: dart.nullable(html$.TableSectionElement),
  [S$2.$tHead]: dart.nullable(html$.TableSectionElement)
}));
dart.setSetterSignature(html$.TableElement, () => ({
  __proto__: dart.getSetters(html$.TableElement.__proto__),
  [S$2.$caption]: dart.nullable(html$.TableCaptionElement),
  [S$2.$tFoot]: dart.nullable(html$.TableSectionElement),
  [S$2.$tHead]: dart.nullable(html$.TableSectionElement)
}));
dart.setLibraryUri(html$.TableElement, I[148]);
dart.registerExtension("HTMLTableElement", html$.TableElement);
html$.TableRowElement = class TableRowElement extends html$.HtmlElement {
  get [S$2.$cells]() {
    return new (T$0._WrappedListOfTableCellElement()).new(this[S$2._cells]);
  }
  [S$2.$addCell]() {
    return this[S$2.$insertCell](-1);
  }
  [S$2.$insertCell](index) {
    if (index == null) dart.nullFailed(I[147], 29550, 35, "index");
    return html$.TableCellElement.as(this[S$2._insertCell](index));
  }
  [S.$createFragment](html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    if (dart.test(html$.Range.supportsCreateContextualFragment)) {
      return super[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer});
    }
    let fragment = html$.DocumentFragment.new();
    let section = html$.TableElement.new()[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer})[S.$nodes][$single];
    let row = section[S.$nodes][$single];
    fragment[S.$nodes][$addAll](row[S.$nodes]);
    return fragment;
  }
  static new() {
    return html$.document.createElement("tr");
  }
  get [S$2._cells]() {
    return this.cells;
  }
  get [S$.$rowIndex]() {
    return this.rowIndex;
  }
  get [S$2.$sectionRowIndex]() {
    return this.sectionRowIndex;
  }
  [S$2.$deleteCell](...args) {
    return this.deleteCell.apply(this, args);
  }
  [S$2._insertCell](...args) {
    return this.insertCell.apply(this, args);
  }
};
(html$.TableRowElement.created = function() {
  html$.TableRowElement.__proto__.created.call(this);
  ;
}).prototype = html$.TableRowElement.prototype;
dart.addTypeTests(html$.TableRowElement);
dart.addTypeCaches(html$.TableRowElement);
dart.setMethodSignature(html$.TableRowElement, () => ({
  __proto__: dart.getMethods(html$.TableRowElement.__proto__),
  [S$2.$addCell]: dart.fnType(html$.TableCellElement, []),
  [S$2.$insertCell]: dart.fnType(html$.TableCellElement, [core.int]),
  [S$2.$deleteCell]: dart.fnType(dart.void, [core.int]),
  [S$2._insertCell]: dart.fnType(html$.HtmlElement, [], [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.TableRowElement, () => ({
  __proto__: dart.getGetters(html$.TableRowElement.__proto__),
  [S$2.$cells]: core.List$(html$.TableCellElement),
  [S$2._cells]: core.List$(html$.Node),
  [S$.$rowIndex]: core.int,
  [S$2.$sectionRowIndex]: core.int
}));
dart.setLibraryUri(html$.TableRowElement, I[148]);
dart.registerExtension("HTMLTableRowElement", html$.TableRowElement);
html$.TableSectionElement = class TableSectionElement extends html$.HtmlElement {
  get [S$2.$rows]() {
    return new (T$0._WrappedListOfTableRowElement()).new(this[S$2._rows]);
  }
  [S$2.$addRow]() {
    return this[S$2.$insertRow](-1);
  }
  [S$2.$insertRow](index) {
    if (index == null) dart.nullFailed(I[147], 29614, 33, "index");
    return html$.TableRowElement.as(this[S$2._insertRow](index));
  }
  [S.$createFragment](html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    if (dart.test(html$.Range.supportsCreateContextualFragment)) {
      return super[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer});
    }
    let fragment = html$.DocumentFragment.new();
    let section = html$.TableElement.new()[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer})[S.$nodes][$single];
    fragment[S.$nodes][$addAll](section[S.$nodes]);
    return fragment;
  }
  get [S$2._rows]() {
    return this.rows;
  }
  [S$2.$deleteRow](...args) {
    return this.deleteRow.apply(this, args);
  }
  [S$2._insertRow](...args) {
    return this.insertRow.apply(this, args);
  }
};
(html$.TableSectionElement.created = function() {
  html$.TableSectionElement.__proto__.created.call(this);
  ;
}).prototype = html$.TableSectionElement.prototype;
dart.addTypeTests(html$.TableSectionElement);
dart.addTypeCaches(html$.TableSectionElement);
dart.setMethodSignature(html$.TableSectionElement, () => ({
  __proto__: dart.getMethods(html$.TableSectionElement.__proto__),
  [S$2.$addRow]: dart.fnType(html$.TableRowElement, []),
  [S$2.$insertRow]: dart.fnType(html$.TableRowElement, [core.int]),
  [S$2.$deleteRow]: dart.fnType(dart.void, [core.int]),
  [S$2._insertRow]: dart.fnType(html$.HtmlElement, [], [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$.TableSectionElement, () => ({
  __proto__: dart.getGetters(html$.TableSectionElement.__proto__),
  [S$2.$rows]: core.List$(html$.TableRowElement),
  [S$2._rows]: core.List$(html$.Node)
}));
dart.setLibraryUri(html$.TableSectionElement, I[148]);
dart.registerExtension("HTMLTableSectionElement", html$.TableSectionElement);
html$.TaskAttributionTiming = class TaskAttributionTiming extends html$.PerformanceEntry {
  get [S$2.$containerId]() {
    return this.containerId;
  }
  get [S$2.$containerName]() {
    return this.containerName;
  }
  get [S$2.$containerSrc]() {
    return this.containerSrc;
  }
  get [S$2.$containerType]() {
    return this.containerType;
  }
  get [S$2.$scriptUrl]() {
    return this.scriptURL;
  }
};
dart.addTypeTests(html$.TaskAttributionTiming);
dart.addTypeCaches(html$.TaskAttributionTiming);
dart.setGetterSignature(html$.TaskAttributionTiming, () => ({
  __proto__: dart.getGetters(html$.TaskAttributionTiming.__proto__),
  [S$2.$containerId]: dart.nullable(core.String),
  [S$2.$containerName]: dart.nullable(core.String),
  [S$2.$containerSrc]: dart.nullable(core.String),
  [S$2.$containerType]: dart.nullable(core.String),
  [S$2.$scriptUrl]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.TaskAttributionTiming, I[148]);
dart.registerExtension("TaskAttributionTiming", html$.TaskAttributionTiming);
html$.TemplateElement = class TemplateElement extends html$.HtmlElement {
  static new() {
    return html$.TemplateElement.as(html$.document[S.$createElement]("template"));
  }
  static get supported() {
    return html$.Element.isTagSupported("template");
  }
  get [S$0.$content]() {
    return this.content;
  }
  [S.$setInnerHtml](html, opts) {
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    this[S.$text] = null;
    dart.nullCheck(this.content)[S.$nodes][$clear]();
    let fragment = this[S.$createFragment](html, {validator: validator, treeSanitizer: treeSanitizer});
    dart.nullCheck(this.content)[S.$append](fragment);
  }
};
(html$.TemplateElement.created = function() {
  html$.TemplateElement.__proto__.created.call(this);
  ;
}).prototype = html$.TemplateElement.prototype;
dart.addTypeTests(html$.TemplateElement);
dart.addTypeCaches(html$.TemplateElement);
dart.setGetterSignature(html$.TemplateElement, () => ({
  __proto__: dart.getGetters(html$.TemplateElement.__proto__),
  [S$0.$content]: dart.nullable(html$.DocumentFragment)
}));
dart.setLibraryUri(html$.TemplateElement, I[148]);
dart.registerExtension("HTMLTemplateElement", html$.TemplateElement);
html$.TextAreaElement = class TextAreaElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("textarea");
  }
  get [S$1.$autocapitalize]() {
    return this.autocapitalize;
  }
  set [S$1.$autocapitalize](value) {
    this.autocapitalize = value;
  }
  get [S$.$autofocus]() {
    return this.autofocus;
  }
  set [S$.$autofocus](value) {
    this.autofocus = value;
  }
  get [S$2.$cols]() {
    return this.cols;
  }
  set [S$2.$cols](value) {
    this.cols = value;
  }
  get [S$1.$defaultValue]() {
    return this.defaultValue;
  }
  set [S$1.$defaultValue](value) {
    this.defaultValue = value;
  }
  get [S$1.$dirName]() {
    return this.dirName;
  }
  set [S$1.$dirName](value) {
    this.dirName = value;
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$form]() {
    return this.form;
  }
  get [S$.$labels]() {
    return this.labels;
  }
  get [S$1.$maxLength]() {
    return this.maxLength;
  }
  set [S$1.$maxLength](value) {
    this.maxLength = value;
  }
  get [S$1.$minLength]() {
    return this.minLength;
  }
  set [S$1.$minLength](value) {
    this.minLength = value;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S$.$placeholder]() {
    return this.placeholder;
  }
  set [S$.$placeholder](value) {
    this.placeholder = value;
  }
  get [S$.$readOnly]() {
    return this.readOnly;
  }
  set [S$.$readOnly](value) {
    this.readOnly = value;
  }
  get [S$.$required]() {
    return this.required;
  }
  set [S$.$required](value) {
    this.required = value;
  }
  get [S$2.$rows]() {
    return this.rows;
  }
  set [S$2.$rows](value) {
    this.rows = value;
  }
  get [S$1.$selectionDirection]() {
    return this.selectionDirection;
  }
  set [S$1.$selectionDirection](value) {
    this.selectionDirection = value;
  }
  get [S$1.$selectionEnd]() {
    return this.selectionEnd;
  }
  set [S$1.$selectionEnd](value) {
    this.selectionEnd = value;
  }
  get [S$1.$selectionStart]() {
    return this.selectionStart;
  }
  set [S$1.$selectionStart](value) {
    this.selectionStart = value;
  }
  get [S$2.$textLength]() {
    return this.textLength;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$.$validationMessage]() {
    return this.validationMessage;
  }
  get [S$.$validity]() {
    return this.validity;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  get [S$.$willValidate]() {
    return this.willValidate;
  }
  get [S$2.$wrap]() {
    return this.wrap;
  }
  set [S$2.$wrap](value) {
    this.wrap = value;
  }
  [S$.$checkValidity](...args) {
    return this.checkValidity.apply(this, args);
  }
  [S$.$reportValidity](...args) {
    return this.reportValidity.apply(this, args);
  }
  [S$.$select](...args) {
    return this.select.apply(this, args);
  }
  [S$.$setCustomValidity](...args) {
    return this.setCustomValidity.apply(this, args);
  }
  [S$1.$setRangeText](...args) {
    return this.setRangeText.apply(this, args);
  }
  [S$1.$setSelectionRange](...args) {
    return this.setSelectionRange.apply(this, args);
  }
};
(html$.TextAreaElement.created = function() {
  html$.TextAreaElement.__proto__.created.call(this);
  ;
}).prototype = html$.TextAreaElement.prototype;
dart.addTypeTests(html$.TextAreaElement);
dart.addTypeCaches(html$.TextAreaElement);
dart.setMethodSignature(html$.TextAreaElement, () => ({
  __proto__: dart.getMethods(html$.TextAreaElement.__proto__),
  [S$.$checkValidity]: dart.fnType(core.bool, []),
  [S$.$reportValidity]: dart.fnType(core.bool, []),
  [S$.$select]: dart.fnType(dart.void, []),
  [S$.$setCustomValidity]: dart.fnType(dart.void, [core.String]),
  [S$1.$setRangeText]: dart.fnType(dart.void, [core.String], {end: dart.nullable(core.int), selectionMode: dart.nullable(core.String), start: dart.nullable(core.int)}, {}),
  [S$1.$setSelectionRange]: dart.fnType(dart.void, [core.int, core.int], [dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.TextAreaElement, () => ({
  __proto__: dart.getGetters(html$.TextAreaElement.__proto__),
  [S$1.$autocapitalize]: dart.nullable(core.String),
  [S$.$autofocus]: core.bool,
  [S$2.$cols]: core.int,
  [S$1.$defaultValue]: dart.nullable(core.String),
  [S$1.$dirName]: dart.nullable(core.String),
  [S$.$disabled]: core.bool,
  [S$.$form]: dart.nullable(html$.FormElement),
  [S$.$labels]: dart.nullable(core.List$(html$.Node)),
  [S$1.$maxLength]: core.int,
  [S$1.$minLength]: core.int,
  [$name]: core.String,
  [S$.$placeholder]: core.String,
  [S$.$readOnly]: core.bool,
  [S$.$required]: core.bool,
  [S$2.$rows]: core.int,
  [S$1.$selectionDirection]: dart.nullable(core.String),
  [S$1.$selectionEnd]: dart.nullable(core.int),
  [S$1.$selectionStart]: dart.nullable(core.int),
  [S$2.$textLength]: dart.nullable(core.int),
  [S.$type]: dart.nullable(core.String),
  [S$.$validationMessage]: dart.nullable(core.String),
  [S$.$validity]: dart.nullable(html$.ValidityState),
  [S.$value]: dart.nullable(core.String),
  [S$.$willValidate]: dart.nullable(core.bool),
  [S$2.$wrap]: core.String
}));
dart.setSetterSignature(html$.TextAreaElement, () => ({
  __proto__: dart.getSetters(html$.TextAreaElement.__proto__),
  [S$1.$autocapitalize]: dart.nullable(core.String),
  [S$.$autofocus]: core.bool,
  [S$2.$cols]: core.int,
  [S$1.$defaultValue]: dart.nullable(core.String),
  [S$1.$dirName]: dart.nullable(core.String),
  [S$.$disabled]: core.bool,
  [S$1.$maxLength]: core.int,
  [S$1.$minLength]: core.int,
  [$name]: core.String,
  [S$.$placeholder]: core.String,
  [S$.$readOnly]: core.bool,
  [S$.$required]: core.bool,
  [S$2.$rows]: core.int,
  [S$1.$selectionDirection]: dart.nullable(core.String),
  [S$1.$selectionEnd]: dart.nullable(core.int),
  [S$1.$selectionStart]: dart.nullable(core.int),
  [S.$value]: dart.nullable(core.String),
  [S$2.$wrap]: core.String
}));
dart.setLibraryUri(html$.TextAreaElement, I[148]);
dart.registerExtension("HTMLTextAreaElement", html$.TextAreaElement);
html$.TextDetector = class TextDetector$ extends _interceptors.Interceptor {
  static new() {
    return html$.TextDetector._create_1();
  }
  static _create_1() {
    return new TextDetector();
  }
  [S$.$detect](image) {
    return js_util.promiseToFuture(core.List, this.detect(image));
  }
};
dart.addTypeTests(html$.TextDetector);
dart.addTypeCaches(html$.TextDetector);
dart.setMethodSignature(html$.TextDetector, () => ({
  __proto__: dart.getMethods(html$.TextDetector.__proto__),
  [S$.$detect]: dart.fnType(async.Future$(core.List), [dart.dynamic])
}));
dart.setLibraryUri(html$.TextDetector, I[148]);
dart.registerExtension("TextDetector", html$.TextDetector);
html$.TextEvent = class TextEvent extends html$.UIEvent {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 29902, 28, "type");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : false;
    if (canBubble == null) dart.nullFailed(I[147], 29903, 13, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : false;
    if (cancelable == null) dart.nullFailed(I[147], 29904, 12, "cancelable");
    let view = opts && 'view' in opts ? opts.view : null;
    let data = opts && 'data' in opts ? opts.data : null;
    if (view == null) {
      view = html$.window;
    }
    let e = html$.TextEvent.as(html$.document[S._createEvent]("TextEvent"));
    e[S$2._initTextEvent](type, canBubble, cancelable, view, data);
    return e;
  }
  get [S$.$data]() {
    return this.data;
  }
  [S$2._initTextEvent](...args) {
    return this.initTextEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.TextEvent);
dart.addTypeCaches(html$.TextEvent);
dart.setMethodSignature(html$.TextEvent, () => ({
  __proto__: dart.getMethods(html$.TextEvent.__proto__),
  [S$2._initTextEvent]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(html$.Window), dart.nullable(core.String)])
}));
dart.setGetterSignature(html$.TextEvent, () => ({
  __proto__: dart.getGetters(html$.TextEvent.__proto__),
  [S$.$data]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.TextEvent, I[148]);
dart.registerExtension("TextEvent", html$.TextEvent);
html$.TextMetrics = class TextMetrics extends _interceptors.Interceptor {
  get [S$2.$actualBoundingBoxAscent]() {
    return this.actualBoundingBoxAscent;
  }
  get [S$2.$actualBoundingBoxDescent]() {
    return this.actualBoundingBoxDescent;
  }
  get [S$2.$actualBoundingBoxLeft]() {
    return this.actualBoundingBoxLeft;
  }
  get [S$2.$actualBoundingBoxRight]() {
    return this.actualBoundingBoxRight;
  }
  get [S$2.$alphabeticBaseline]() {
    return this.alphabeticBaseline;
  }
  get [S$2.$emHeightAscent]() {
    return this.emHeightAscent;
  }
  get [S$2.$emHeightDescent]() {
    return this.emHeightDescent;
  }
  get [S$2.$fontBoundingBoxAscent]() {
    return this.fontBoundingBoxAscent;
  }
  get [S$2.$fontBoundingBoxDescent]() {
    return this.fontBoundingBoxDescent;
  }
  get [S$2.$hangingBaseline]() {
    return this.hangingBaseline;
  }
  get [S$2.$ideographicBaseline]() {
    return this.ideographicBaseline;
  }
  get [$width]() {
    return this.width;
  }
};
dart.addTypeTests(html$.TextMetrics);
dart.addTypeCaches(html$.TextMetrics);
dart.setGetterSignature(html$.TextMetrics, () => ({
  __proto__: dart.getGetters(html$.TextMetrics.__proto__),
  [S$2.$actualBoundingBoxAscent]: dart.nullable(core.num),
  [S$2.$actualBoundingBoxDescent]: dart.nullable(core.num),
  [S$2.$actualBoundingBoxLeft]: dart.nullable(core.num),
  [S$2.$actualBoundingBoxRight]: dart.nullable(core.num),
  [S$2.$alphabeticBaseline]: dart.nullable(core.num),
  [S$2.$emHeightAscent]: dart.nullable(core.num),
  [S$2.$emHeightDescent]: dart.nullable(core.num),
  [S$2.$fontBoundingBoxAscent]: dart.nullable(core.num),
  [S$2.$fontBoundingBoxDescent]: dart.nullable(core.num),
  [S$2.$hangingBaseline]: dart.nullable(core.num),
  [S$2.$ideographicBaseline]: dart.nullable(core.num),
  [$width]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.TextMetrics, I[148]);
dart.registerExtension("TextMetrics", html$.TextMetrics);
html$.TextTrack = class TextTrack extends html$.EventTarget {
  get [S$2.$activeCues]() {
    return this.activeCues;
  }
  get [S$2.$cues]() {
    return this.cues;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S$.$kind]() {
    return this.kind;
  }
  get [S$.$label]() {
    return this.label;
  }
  get [S$1.$language]() {
    return this.language;
  }
  get [S.$mode]() {
    return this.mode;
  }
  set [S.$mode](value) {
    this.mode = value;
  }
  [S$2.$addCue](...args) {
    return this.addCue.apply(this, args);
  }
  [S$2.$removeCue](...args) {
    return this.removeCue.apply(this, args);
  }
  get [S$2.$onCueChange]() {
    return html$.TextTrack.cueChangeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.TextTrack);
dart.addTypeCaches(html$.TextTrack);
dart.setMethodSignature(html$.TextTrack, () => ({
  __proto__: dart.getMethods(html$.TextTrack.__proto__),
  [S$2.$addCue]: dart.fnType(dart.void, [html$.TextTrackCue]),
  [S$2.$removeCue]: dart.fnType(dart.void, [html$.TextTrackCue])
}));
dart.setGetterSignature(html$.TextTrack, () => ({
  __proto__: dart.getGetters(html$.TextTrack.__proto__),
  [S$2.$activeCues]: dart.nullable(html$.TextTrackCueList),
  [S$2.$cues]: dart.nullable(html$.TextTrackCueList),
  [S.$id]: core.String,
  [S$.$kind]: core.String,
  [S$.$label]: core.String,
  [S$1.$language]: core.String,
  [S.$mode]: dart.nullable(core.String),
  [S$2.$onCueChange]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.TextTrack, () => ({
  __proto__: dart.getSetters(html$.TextTrack.__proto__),
  [S.$mode]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.TextTrack, I[148]);
dart.defineLazy(html$.TextTrack, {
  /*html$.TextTrack.cueChangeEvent*/get cueChangeEvent() {
    return C[385] || CT.C385;
  }
}, false);
dart.registerExtension("TextTrack", html$.TextTrack);
html$.TextTrackCue = class TextTrackCue extends html$.EventTarget {
  get [S$2.$endTime]() {
    return this.endTime;
  }
  set [S$2.$endTime](value) {
    this.endTime = value;
  }
  get [S.$id]() {
    return this.id;
  }
  set [S.$id](value) {
    this.id = value;
  }
  get [S$2.$pauseOnExit]() {
    return this.pauseOnExit;
  }
  set [S$2.$pauseOnExit](value) {
    this.pauseOnExit = value;
  }
  get [S$.$startTime]() {
    return this.startTime;
  }
  set [S$.$startTime](value) {
    this.startTime = value;
  }
  get [S$1.$track]() {
    return this.track;
  }
  get [S$2.$onEnter]() {
    return html$.TextTrackCue.enterEvent.forTarget(this);
  }
  get [S$2.$onExit]() {
    return html$.TextTrackCue.exitEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.TextTrackCue);
dart.addTypeCaches(html$.TextTrackCue);
dart.setGetterSignature(html$.TextTrackCue, () => ({
  __proto__: dart.getGetters(html$.TextTrackCue.__proto__),
  [S$2.$endTime]: dart.nullable(core.num),
  [S.$id]: dart.nullable(core.String),
  [S$2.$pauseOnExit]: dart.nullable(core.bool),
  [S$.$startTime]: dart.nullable(core.num),
  [S$1.$track]: dart.nullable(html$.TextTrack),
  [S$2.$onEnter]: async.Stream$(html$.Event),
  [S$2.$onExit]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.TextTrackCue, () => ({
  __proto__: dart.getSetters(html$.TextTrackCue.__proto__),
  [S$2.$endTime]: dart.nullable(core.num),
  [S.$id]: dart.nullable(core.String),
  [S$2.$pauseOnExit]: dart.nullable(core.bool),
  [S$.$startTime]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.TextTrackCue, I[148]);
dart.defineLazy(html$.TextTrackCue, {
  /*html$.TextTrackCue.enterEvent*/get enterEvent() {
    return C[386] || CT.C386;
  },
  /*html$.TextTrackCue.exitEvent*/get exitEvent() {
    return C[387] || CT.C387;
  }
}, false);
dart.registerExtension("TextTrackCue", html$.TextTrackCue);
const Interceptor_ListMixin$36$6 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$6.new = function() {
  Interceptor_ListMixin$36$6.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$6.prototype;
dart.applyMixin(Interceptor_ListMixin$36$6, collection.ListMixin$(html$.TextTrackCue));
const Interceptor_ImmutableListMixin$36$6 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$6 {};
(Interceptor_ImmutableListMixin$36$6.new = function() {
  Interceptor_ImmutableListMixin$36$6.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$6.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$6, html$.ImmutableListMixin$(html$.TextTrackCue));
html$.TextTrackCueList = class TextTrackCueList extends Interceptor_ImmutableListMixin$36$6 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 30071, 32, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 30077, 25, "index");
    html$.TextTrackCue.as(value);
    if (value == null) dart.nullFailed(I[147], 30077, 45, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 30083, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 30111, 30, "index");
    return this[$_get](index);
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$2.$getCueById](...args) {
    return this.getCueById.apply(this, args);
  }
};
html$.TextTrackCueList.prototype[dart.isList] = true;
dart.addTypeTests(html$.TextTrackCueList);
dart.addTypeCaches(html$.TextTrackCueList);
html$.TextTrackCueList[dart.implements] = () => [core.List$(html$.TextTrackCue), _js_helper.JavaScriptIndexingBehavior$(html$.TextTrackCue)];
dart.setMethodSignature(html$.TextTrackCueList, () => ({
  __proto__: dart.getMethods(html$.TextTrackCueList.__proto__),
  [$_get]: dart.fnType(html$.TextTrackCue, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.__getter__]: dart.fnType(html$.TextTrackCue, [core.int]),
  [S$2.$getCueById]: dart.fnType(dart.nullable(html$.TextTrackCue), [core.String])
}));
dart.setGetterSignature(html$.TextTrackCueList, () => ({
  __proto__: dart.getGetters(html$.TextTrackCueList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.TextTrackCueList, () => ({
  __proto__: dart.getSetters(html$.TextTrackCueList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.TextTrackCueList, I[148]);
dart.registerExtension("TextTrackCueList", html$.TextTrackCueList);
const EventTarget_ListMixin$36$ = class EventTarget_ListMixin extends html$.EventTarget {};
(EventTarget_ListMixin$36$._created = function() {
  EventTarget_ListMixin$36$.__proto__._created.call(this);
}).prototype = EventTarget_ListMixin$36$.prototype;
dart.applyMixin(EventTarget_ListMixin$36$, collection.ListMixin$(html$.TextTrack));
const EventTarget_ImmutableListMixin$36$ = class EventTarget_ImmutableListMixin extends EventTarget_ListMixin$36$ {};
(EventTarget_ImmutableListMixin$36$._created = function() {
  EventTarget_ImmutableListMixin$36$.__proto__._created.call(this);
}).prototype = EventTarget_ImmutableListMixin$36$.prototype;
dart.applyMixin(EventTarget_ImmutableListMixin$36$, html$.ImmutableListMixin$(html$.TextTrack));
html$.TextTrackList = class TextTrackList extends EventTarget_ImmutableListMixin$36$ {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 30145, 29, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 30151, 25, "index");
    html$.TextTrack.as(value);
    if (value == null) dart.nullFailed(I[147], 30151, 42, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 30157, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 30185, 27, "index");
    return this[$_get](index);
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$1.$getTrackById](...args) {
    return this.getTrackById.apply(this, args);
  }
  get [S$1.$onAddTrack]() {
    return html$.TextTrackList.addTrackEvent.forTarget(this);
  }
  get [S.$onChange]() {
    return html$.TextTrackList.changeEvent.forTarget(this);
  }
};
html$.TextTrackList.prototype[dart.isList] = true;
dart.addTypeTests(html$.TextTrackList);
dart.addTypeCaches(html$.TextTrackList);
html$.TextTrackList[dart.implements] = () => [core.List$(html$.TextTrack), _js_helper.JavaScriptIndexingBehavior$(html$.TextTrack)];
dart.setMethodSignature(html$.TextTrackList, () => ({
  __proto__: dart.getMethods(html$.TextTrackList.__proto__),
  [$_get]: dart.fnType(html$.TextTrack, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.__getter__]: dart.fnType(html$.TextTrack, [core.int]),
  [S$1.$getTrackById]: dart.fnType(dart.nullable(html$.TextTrack), [core.String])
}));
dart.setGetterSignature(html$.TextTrackList, () => ({
  __proto__: dart.getGetters(html$.TextTrackList.__proto__),
  [$length]: core.int,
  [S$1.$onAddTrack]: async.Stream$(html$.TrackEvent),
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.TextTrackList, () => ({
  __proto__: dart.getSetters(html$.TextTrackList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.TextTrackList, I[148]);
dart.defineLazy(html$.TextTrackList, {
  /*html$.TextTrackList.addTrackEvent*/get addTrackEvent() {
    return C[388] || CT.C388;
  },
  /*html$.TextTrackList.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("TextTrackList", html$.TextTrackList);
html$.TimeElement = class TimeElement extends html$.HtmlElement {
  get [S$1.$dateTime]() {
    return this.dateTime;
  }
  set [S$1.$dateTime](value) {
    this.dateTime = value;
  }
};
(html$.TimeElement.created = function() {
  html$.TimeElement.__proto__.created.call(this);
  ;
}).prototype = html$.TimeElement.prototype;
dart.addTypeTests(html$.TimeElement);
dart.addTypeCaches(html$.TimeElement);
dart.setGetterSignature(html$.TimeElement, () => ({
  __proto__: dart.getGetters(html$.TimeElement.__proto__),
  [S$1.$dateTime]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.TimeElement, () => ({
  __proto__: dart.getSetters(html$.TimeElement.__proto__),
  [S$1.$dateTime]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.TimeElement, I[148]);
dart.registerExtension("HTMLTimeElement", html$.TimeElement);
html$.TimeRanges = class TimeRanges extends _interceptors.Interceptor {
  get [$length]() {
    return this.length;
  }
  [S$2.$end](...args) {
    return this.end.apply(this, args);
  }
  [S$.$start](...args) {
    return this.start.apply(this, args);
  }
};
dart.addTypeTests(html$.TimeRanges);
dart.addTypeCaches(html$.TimeRanges);
dart.setMethodSignature(html$.TimeRanges, () => ({
  __proto__: dart.getMethods(html$.TimeRanges.__proto__),
  [S$2.$end]: dart.fnType(core.double, [core.int]),
  [S$.$start]: dart.fnType(core.double, [core.int])
}));
dart.setGetterSignature(html$.TimeRanges, () => ({
  __proto__: dart.getGetters(html$.TimeRanges.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.TimeRanges, I[148]);
dart.registerExtension("TimeRanges", html$.TimeRanges);
html$.TitleElement = class TitleElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("title");
  }
};
(html$.TitleElement.created = function() {
  html$.TitleElement.__proto__.created.call(this);
  ;
}).prototype = html$.TitleElement.prototype;
dart.addTypeTests(html$.TitleElement);
dart.addTypeCaches(html$.TitleElement);
dart.setLibraryUri(html$.TitleElement, I[148]);
dart.registerExtension("HTMLTitleElement", html$.TitleElement);
html$.Touch = class Touch$ extends _interceptors.Interceptor {
  static new(initDict) {
    if (initDict == null) dart.nullFailed(I[147], 30277, 21, "initDict");
    let initDict_1 = html_common.convertDartToNative_Dictionary(initDict);
    return html$.Touch._create_1(initDict_1);
  }
  static _create_1(initDict) {
    return new Touch(initDict);
  }
  get [S$1._clientX]() {
    return this.clientX;
  }
  get [S$1._clientY]() {
    return this.clientY;
  }
  get [S$2.$force]() {
    return this.force;
  }
  get [S$2.$identifier]() {
    return this.identifier;
  }
  get [S$1._pageX]() {
    return this.pageX;
  }
  get [S$1._pageY]() {
    return this.pageY;
  }
  get [S$2._radiusX]() {
    return this.radiusX;
  }
  get [S$2._radiusY]() {
    return this.radiusY;
  }
  get [S$1.$region]() {
    return this.region;
  }
  get [S$2.$rotationAngle]() {
    return this.rotationAngle;
  }
  get [S$1._screenX]() {
    return this.screenX;
  }
  get [S$1._screenY]() {
    return this.screenY;
  }
  get [S.$target]() {
    return html$._convertNativeToDart_EventTarget(this[S._get_target]);
  }
  get [S._get_target]() {
    return this.target;
  }
  get [S$2.__clientX]() {
    return this.clientX[$round]();
  }
  get [S$2.__clientY]() {
    return this.clientY[$round]();
  }
  get [S$2.__screenX]() {
    return this.screenX[$round]();
  }
  get [S$2.__screenY]() {
    return this.screenY[$round]();
  }
  get [S$2.__pageX]() {
    return this.pageX[$round]();
  }
  get [S$2.__pageY]() {
    return this.pageY[$round]();
  }
  get [S$2.__radiusX]() {
    return this.radiusX[$round]();
  }
  get [S$2.__radiusY]() {
    return this.radiusY[$round]();
  }
  get [S.$client]() {
    return new (T$0.PointOfnum()).new(this[S$2.__clientX], this[S$2.__clientY]);
  }
  get [S$0.$page]() {
    return new (T$0.PointOfnum()).new(this[S$2.__pageX], this[S$2.__pageY]);
  }
  get [S$1.$screen]() {
    return new (T$0.PointOfnum()).new(this[S$2.__screenX], this[S$2.__screenY]);
  }
  get [S$2.$radiusX]() {
    return this[S$2.__radiusX];
  }
  get [S$3.$radiusY]() {
    return this[S$2.__radiusY];
  }
};
dart.addTypeTests(html$.Touch);
dart.addTypeCaches(html$.Touch);
dart.setGetterSignature(html$.Touch, () => ({
  __proto__: dart.getGetters(html$.Touch.__proto__),
  [S$1._clientX]: dart.nullable(core.num),
  [S$1._clientY]: dart.nullable(core.num),
  [S$2.$force]: dart.nullable(core.num),
  [S$2.$identifier]: dart.nullable(core.int),
  [S$1._pageX]: dart.nullable(core.num),
  [S$1._pageY]: dart.nullable(core.num),
  [S$2._radiusX]: dart.nullable(core.num),
  [S$2._radiusY]: dart.nullable(core.num),
  [S$1.$region]: dart.nullable(core.String),
  [S$2.$rotationAngle]: dart.nullable(core.num),
  [S$1._screenX]: dart.nullable(core.num),
  [S$1._screenY]: dart.nullable(core.num),
  [S.$target]: dart.nullable(html$.EventTarget),
  [S._get_target]: dart.dynamic,
  [S$2.__clientX]: core.int,
  [S$2.__clientY]: core.int,
  [S$2.__screenX]: core.int,
  [S$2.__screenY]: core.int,
  [S$2.__pageX]: core.int,
  [S$2.__pageY]: core.int,
  [S$2.__radiusX]: core.int,
  [S$2.__radiusY]: core.int,
  [S.$client]: math.Point$(core.num),
  [S$0.$page]: math.Point$(core.num),
  [S$1.$screen]: math.Point$(core.num),
  [S$2.$radiusX]: core.int,
  [S$3.$radiusY]: core.int
}));
dart.setLibraryUri(html$.Touch, I[148]);
dart.registerExtension("Touch", html$.Touch);
html$.TouchEvent = class TouchEvent$ extends html$.UIEvent {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 30359, 29, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.TouchEvent._create_1(type, eventInitDict_1);
    }
    return html$.TouchEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new TouchEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new TouchEvent(type);
  }
  get [S$1.$altKey]() {
    return this.altKey;
  }
  get [S$3.$changedTouches]() {
    return this.changedTouches;
  }
  get [S$1.$ctrlKey]() {
    return this.ctrlKey;
  }
  get [S$1.$metaKey]() {
    return this.metaKey;
  }
  get [S$1.$shiftKey]() {
    return this.shiftKey;
  }
  get [S$3.$targetTouches]() {
    return this.targetTouches;
  }
  get [S$3.$touches]() {
    return this.touches;
  }
  static get supported() {
    try {
      return html$.TouchEvent.is(html$.TouchEvent.new("touches"));
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
      } else
        throw e;
    }
    return false;
  }
};
dart.addTypeTests(html$.TouchEvent);
dart.addTypeCaches(html$.TouchEvent);
dart.setGetterSignature(html$.TouchEvent, () => ({
  __proto__: dart.getGetters(html$.TouchEvent.__proto__),
  [S$1.$altKey]: dart.nullable(core.bool),
  [S$3.$changedTouches]: dart.nullable(html$.TouchList),
  [S$1.$ctrlKey]: dart.nullable(core.bool),
  [S$1.$metaKey]: dart.nullable(core.bool),
  [S$1.$shiftKey]: dart.nullable(core.bool),
  [S$3.$targetTouches]: dart.nullable(html$.TouchList),
  [S$3.$touches]: dart.nullable(html$.TouchList)
}));
dart.setLibraryUri(html$.TouchEvent, I[148]);
dart.registerExtension("TouchEvent", html$.TouchEvent);
const Interceptor_ListMixin$36$7 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$7.new = function() {
  Interceptor_ListMixin$36$7.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$7.prototype;
dart.applyMixin(Interceptor_ListMixin$36$7, collection.ListMixin$(html$.Touch));
const Interceptor_ImmutableListMixin$36$7 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$7 {};
(Interceptor_ImmutableListMixin$36$7.new = function() {
  Interceptor_ImmutableListMixin$36$7.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$7.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$7, html$.ImmutableListMixin$(html$.Touch));
html$.TouchList = class TouchList extends Interceptor_ImmutableListMixin$36$7 {
  static get supported() {
    return !!document.createTouchList;
  }
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 30414, 25, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 30420, 25, "index");
    html$.Touch.as(value);
    if (value == null) dart.nullFailed(I[147], 30420, 38, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 30426, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 30454, 23, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$.TouchList.prototype[dart.isList] = true;
dart.addTypeTests(html$.TouchList);
dart.addTypeCaches(html$.TouchList);
html$.TouchList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.Touch), core.List$(html$.Touch)];
dart.setMethodSignature(html$.TouchList, () => ({
  __proto__: dart.getMethods(html$.TouchList.__proto__),
  [$_get]: dart.fnType(html$.Touch, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(html$.Touch), [core.int])
}));
dart.setGetterSignature(html$.TouchList, () => ({
  __proto__: dart.getGetters(html$.TouchList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$.TouchList, () => ({
  __proto__: dart.getSetters(html$.TouchList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$.TouchList, I[148]);
dart.registerExtension("TouchList", html$.TouchList);
html$.TrackDefault = class TrackDefault$ extends _interceptors.Interceptor {
  static new(type, language, label, kinds, byteStreamTrackID = null) {
    if (type == null) dart.nullFailed(I[147], 30471, 14, "type");
    if (language == null) dart.nullFailed(I[147], 30471, 27, "language");
    if (label == null) dart.nullFailed(I[147], 30471, 44, "label");
    if (kinds == null) dart.nullFailed(I[147], 30471, 64, "kinds");
    if (byteStreamTrackID != null) {
      let kinds_1 = html_common.convertDartToNative_StringArray(kinds);
      return html$.TrackDefault._create_1(type, language, label, kinds_1, byteStreamTrackID);
    }
    let kinds_1 = html_common.convertDartToNative_StringArray(kinds);
    return html$.TrackDefault._create_2(type, language, label, kinds_1);
  }
  static _create_1(type, language, label, kinds, byteStreamTrackID) {
    return new TrackDefault(type, language, label, kinds, byteStreamTrackID);
  }
  static _create_2(type, language, label, kinds) {
    return new TrackDefault(type, language, label, kinds);
  }
  get [S$3.$byteStreamTrackID]() {
    return this.byteStreamTrackID;
  }
  get [S$3.$kinds]() {
    return this.kinds;
  }
  get [S$.$label]() {
    return this.label;
  }
  get [S$1.$language]() {
    return this.language;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(html$.TrackDefault);
dart.addTypeCaches(html$.TrackDefault);
dart.setGetterSignature(html$.TrackDefault, () => ({
  __proto__: dart.getGetters(html$.TrackDefault.__proto__),
  [S$3.$byteStreamTrackID]: dart.nullable(core.String),
  [S$3.$kinds]: dart.nullable(core.Object),
  [S$.$label]: dart.nullable(core.String),
  [S$1.$language]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.TrackDefault, I[148]);
dart.registerExtension("TrackDefault", html$.TrackDefault);
html$.TrackDefaultList = class TrackDefaultList$ extends _interceptors.Interceptor {
  static new(trackDefaults = null) {
    if (trackDefaults != null) {
      return html$.TrackDefaultList._create_1(trackDefaults);
    }
    return html$.TrackDefaultList._create_2();
  }
  static _create_1(trackDefaults) {
    return new TrackDefaultList(trackDefaults);
  }
  static _create_2() {
    return new TrackDefaultList();
  }
  get [$length]() {
    return this.length;
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
dart.addTypeTests(html$.TrackDefaultList);
dart.addTypeCaches(html$.TrackDefaultList);
dart.setMethodSignature(html$.TrackDefaultList, () => ({
  __proto__: dart.getMethods(html$.TrackDefaultList.__proto__),
  [S$.$item]: dart.fnType(html$.TrackDefault, [core.int])
}));
dart.setGetterSignature(html$.TrackDefaultList, () => ({
  __proto__: dart.getGetters(html$.TrackDefaultList.__proto__),
  [$length]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.TrackDefaultList, I[148]);
dart.registerExtension("TrackDefaultList", html$.TrackDefaultList);
html$.TrackElement = class TrackElement extends html$.HtmlElement {
  static new() {
    return html$.TrackElement.as(html$.document[S.$createElement]("track"));
  }
  static get supported() {
    return html$.Element.isTagSupported("track");
  }
  get [S$1.$defaultValue]() {
    return this.default;
  }
  set [S$1.$defaultValue](value) {
    this.default = value;
  }
  get [S$.$kind]() {
    return this.kind;
  }
  set [S$.$kind](value) {
    this.kind = value;
  }
  get [S$.$label]() {
    return this.label;
  }
  set [S$.$label](value) {
    this.label = value;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$.$src]() {
    return this.src;
  }
  set [S$.$src](value) {
    this.src = value;
  }
  get [S$3.$srclang]() {
    return this.srclang;
  }
  set [S$3.$srclang](value) {
    this.srclang = value;
  }
  get [S$1.$track]() {
    return this.track;
  }
};
(html$.TrackElement.created = function() {
  html$.TrackElement.__proto__.created.call(this);
  ;
}).prototype = html$.TrackElement.prototype;
dart.addTypeTests(html$.TrackElement);
dart.addTypeCaches(html$.TrackElement);
dart.setGetterSignature(html$.TrackElement, () => ({
  __proto__: dart.getGetters(html$.TrackElement.__proto__),
  [S$1.$defaultValue]: dart.nullable(core.bool),
  [S$.$kind]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String),
  [S.$readyState]: dart.nullable(core.int),
  [S$.$src]: dart.nullable(core.String),
  [S$3.$srclang]: dart.nullable(core.String),
  [S$1.$track]: dart.nullable(html$.TextTrack)
}));
dart.setSetterSignature(html$.TrackElement, () => ({
  __proto__: dart.getSetters(html$.TrackElement.__proto__),
  [S$1.$defaultValue]: dart.nullable(core.bool),
  [S$.$kind]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String),
  [S$.$src]: dart.nullable(core.String),
  [S$3.$srclang]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.TrackElement, I[148]);
dart.defineLazy(html$.TrackElement, {
  /*html$.TrackElement.ERROR*/get ERROR() {
    return 3;
  },
  /*html$.TrackElement.LOADED*/get LOADED() {
    return 2;
  },
  /*html$.TrackElement.LOADING*/get LOADING() {
    return 1;
  },
  /*html$.TrackElement.NONE*/get NONE() {
    return 0;
  }
}, false);
dart.registerExtension("HTMLTrackElement", html$.TrackElement);
html$.TrackEvent = class TrackEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 30600, 29, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.TrackEvent._create_1(type, eventInitDict_1);
    }
    return html$.TrackEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new TrackEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new TrackEvent(type);
  }
  get [S$1.$track]() {
    return this.track;
  }
};
dart.addTypeTests(html$.TrackEvent);
dart.addTypeCaches(html$.TrackEvent);
dart.setGetterSignature(html$.TrackEvent, () => ({
  __proto__: dart.getGetters(html$.TrackEvent.__proto__),
  [S$1.$track]: dart.nullable(core.Object)
}));
dart.setLibraryUri(html$.TrackEvent, I[148]);
dart.registerExtension("TrackEvent", html$.TrackEvent);
html$.TransitionEvent = class TransitionEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 30626, 34, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.TransitionEvent._create_1(type, eventInitDict_1);
    }
    return html$.TransitionEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new TransitionEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new TransitionEvent(type);
  }
  get [S$.$elapsedTime]() {
    return this.elapsedTime;
  }
  get [S$3.$propertyName]() {
    return this.propertyName;
  }
  get [S$3.$pseudoElement]() {
    return this.pseudoElement;
  }
};
dart.addTypeTests(html$.TransitionEvent);
dart.addTypeCaches(html$.TransitionEvent);
dart.setGetterSignature(html$.TransitionEvent, () => ({
  __proto__: dart.getGetters(html$.TransitionEvent.__proto__),
  [S$.$elapsedTime]: dart.nullable(core.num),
  [S$3.$propertyName]: dart.nullable(core.String),
  [S$3.$pseudoElement]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.TransitionEvent, I[148]);
dart.registerExtension("TransitionEvent", html$.TransitionEvent);
dart.registerExtension("WebKitTransitionEvent", html$.TransitionEvent);
html$.TreeWalker = class TreeWalker extends _interceptors.Interceptor {
  static new(root, whatToShow) {
    if (root == null) dart.nullFailed(I[147], 30651, 27, "root");
    if (whatToShow == null) dart.nullFailed(I[147], 30651, 37, "whatToShow");
    return html$.document[S$1._createTreeWalker](root, whatToShow, null);
  }
  get [S$3.$currentNode]() {
    return this.currentNode;
  }
  set [S$3.$currentNode](value) {
    this.currentNode = value;
  }
  get [S$.$filter]() {
    return this.filter;
  }
  get [S$1.$root]() {
    return this.root;
  }
  get [S$2.$whatToShow]() {
    return this.whatToShow;
  }
  [S$.$firstChild](...args) {
    return this.firstChild.apply(this, args);
  }
  [S$.$lastChild](...args) {
    return this.lastChild.apply(this, args);
  }
  [S.$nextNode](...args) {
    return this.nextNode.apply(this, args);
  }
  [S$1.$nextSibling](...args) {
    return this.nextSibling.apply(this, args);
  }
  [S$.$parentNode](...args) {
    return this.parentNode.apply(this, args);
  }
  [S$.$previousNode](...args) {
    return this.previousNode.apply(this, args);
  }
  [S$1.$previousSibling](...args) {
    return this.previousSibling.apply(this, args);
  }
};
dart.addTypeTests(html$.TreeWalker);
dart.addTypeCaches(html$.TreeWalker);
dart.setMethodSignature(html$.TreeWalker, () => ({
  __proto__: dart.getMethods(html$.TreeWalker.__proto__),
  [S$.$firstChild]: dart.fnType(dart.nullable(html$.Node), []),
  [S$.$lastChild]: dart.fnType(dart.nullable(html$.Node), []),
  [S.$nextNode]: dart.fnType(dart.nullable(html$.Node), []),
  [S$1.$nextSibling]: dart.fnType(dart.nullable(html$.Node), []),
  [S$.$parentNode]: dart.fnType(dart.nullable(html$.Node), []),
  [S$.$previousNode]: dart.fnType(dart.nullable(html$.Node), []),
  [S$1.$previousSibling]: dart.fnType(dart.nullable(html$.Node), [])
}));
dart.setGetterSignature(html$.TreeWalker, () => ({
  __proto__: dart.getGetters(html$.TreeWalker.__proto__),
  [S$3.$currentNode]: html$.Node,
  [S$.$filter]: dart.nullable(html$.NodeFilter),
  [S$1.$root]: html$.Node,
  [S$2.$whatToShow]: core.int
}));
dart.setSetterSignature(html$.TreeWalker, () => ({
  __proto__: dart.getSetters(html$.TreeWalker.__proto__),
  [S$3.$currentNode]: html$.Node
}));
dart.setLibraryUri(html$.TreeWalker, I[148]);
dart.registerExtension("TreeWalker", html$.TreeWalker);
html$.TrustedHtml = class TrustedHtml extends _interceptors.Interceptor {};
dart.addTypeTests(html$.TrustedHtml);
dart.addTypeCaches(html$.TrustedHtml);
dart.setLibraryUri(html$.TrustedHtml, I[148]);
dart.registerExtension("TrustedHTML", html$.TrustedHtml);
html$.TrustedScriptUrl = class TrustedScriptUrl extends _interceptors.Interceptor {};
dart.addTypeTests(html$.TrustedScriptUrl);
dart.addTypeCaches(html$.TrustedScriptUrl);
dart.setLibraryUri(html$.TrustedScriptUrl, I[148]);
dart.registerExtension("TrustedScriptURL", html$.TrustedScriptUrl);
html$.TrustedUrl = class TrustedUrl extends _interceptors.Interceptor {};
dart.addTypeTests(html$.TrustedUrl);
dart.addTypeCaches(html$.TrustedUrl);
dart.setLibraryUri(html$.TrustedUrl, I[148]);
dart.registerExtension("TrustedURL", html$.TrustedUrl);
html$.UListElement = class UListElement extends html$.HtmlElement {
  static new() {
    return html$.document.createElement("ul");
  }
};
(html$.UListElement.created = function() {
  html$.UListElement.__proto__.created.call(this);
  ;
}).prototype = html$.UListElement.prototype;
dart.addTypeTests(html$.UListElement);
dart.addTypeCaches(html$.UListElement);
dart.setLibraryUri(html$.UListElement, I[148]);
dart.registerExtension("HTMLUListElement", html$.UListElement);
html$.UnderlyingSourceBase = class UnderlyingSourceBase extends _interceptors.Interceptor {
  [S$.$cancel](reason) {
    return js_util.promiseToFuture(dart.dynamic, this.cancel(reason));
  }
  [S$3.$notifyLockAcquired](...args) {
    return this.notifyLockAcquired.apply(this, args);
  }
  [S$3.$notifyLockReleased](...args) {
    return this.notifyLockReleased.apply(this, args);
  }
  [S$3.$pull]() {
    return js_util.promiseToFuture(dart.dynamic, this.pull());
  }
  [S$.$start](stream) {
    if (stream == null) dart.nullFailed(I[147], 30825, 23, "stream");
    return js_util.promiseToFuture(dart.dynamic, this.start(stream));
  }
};
dart.addTypeTests(html$.UnderlyingSourceBase);
dart.addTypeCaches(html$.UnderlyingSourceBase);
dart.setMethodSignature(html$.UnderlyingSourceBase, () => ({
  __proto__: dart.getMethods(html$.UnderlyingSourceBase.__proto__),
  [S$.$cancel]: dart.fnType(async.Future, [dart.nullable(core.Object)]),
  [S$3.$notifyLockAcquired]: dart.fnType(dart.void, []),
  [S$3.$notifyLockReleased]: dart.fnType(dart.void, []),
  [S$3.$pull]: dart.fnType(async.Future, []),
  [S$.$start]: dart.fnType(async.Future, [core.Object])
}));
dart.setLibraryUri(html$.UnderlyingSourceBase, I[148]);
dart.registerExtension("UnderlyingSourceBase", html$.UnderlyingSourceBase);
html$.UnknownElement = class UnknownElement extends html$.HtmlElement {};
(html$.UnknownElement.created = function() {
  html$.UnknownElement.__proto__.created.call(this);
  ;
}).prototype = html$.UnknownElement.prototype;
dart.addTypeTests(html$.UnknownElement);
dart.addTypeCaches(html$.UnknownElement);
dart.setLibraryUri(html$.UnknownElement, I[148]);
dart.registerExtension("HTMLUnknownElement", html$.UnknownElement);
html$.Url = class Url extends _interceptors.Interceptor {
  static createObjectUrl(blob_OR_source_OR_stream) {
    return (self.URL || self.webkitURL).createObjectURL(blob_OR_source_OR_stream);
  }
  static createObjectUrlFromSource(source) {
    if (source == null) dart.nullFailed(I[147], 30856, 55, "source");
    return (self.URL || self.webkitURL).createObjectURL(source);
  }
  static createObjectUrlFromStream(stream) {
    if (stream == null) dart.nullFailed(I[147], 30859, 55, "stream");
    return (self.URL || self.webkitURL).createObjectURL(stream);
  }
  static createObjectUrlFromBlob(blob) {
    if (blob == null) dart.nullFailed(I[147], 30862, 46, "blob");
    return (self.URL || self.webkitURL).createObjectURL(blob);
  }
  static revokeObjectUrl(url) {
    if (url == null) dart.nullFailed(I[147], 30865, 38, "url");
    return (self.URL || self.webkitURL).revokeObjectURL(url);
  }
  [$toString]() {
    return String(this);
  }
  get [S$.$hash]() {
    return this.hash;
  }
  set [S$.$hash](value) {
    this.hash = value;
  }
  get [S$.$host]() {
    return this.host;
  }
  set [S$.$host](value) {
    this.host = value;
  }
  get [S$.$hostname]() {
    return this.hostname;
  }
  set [S$.$hostname](value) {
    this.hostname = value;
  }
  get [S$.$href]() {
    return this.href;
  }
  set [S$.$href](value) {
    this.href = value;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$.$password]() {
    return this.password;
  }
  set [S$.$password](value) {
    this.password = value;
  }
  get [S$.$pathname]() {
    return this.pathname;
  }
  set [S$.$pathname](value) {
    this.pathname = value;
  }
  get [S$.$port]() {
    return this.port;
  }
  set [S$.$port](value) {
    this.port = value;
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  set [S$.$protocol](value) {
    this.protocol = value;
  }
  get [S$.$search]() {
    return this.search;
  }
  set [S$.$search](value) {
    this.search = value;
  }
  get [S$3.$searchParams]() {
    return this.searchParams;
  }
  get [S$.$username]() {
    return this.username;
  }
  set [S$.$username](value) {
    this.username = value;
  }
};
dart.addTypeTests(html$.Url);
dart.addTypeCaches(html$.Url);
dart.setGetterSignature(html$.Url, () => ({
  __proto__: dart.getGetters(html$.Url.__proto__),
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$origin]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$3.$searchParams]: dart.nullable(html$.UrlSearchParams),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.Url, () => ({
  __proto__: dart.getSetters(html$.Url.__proto__),
  [S$.$hash]: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  [S$.$password]: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String),
  [S$.$username]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Url, I[148]);
dart.registerExtension("URL", html$.Url);
html$.UrlSearchParams = class UrlSearchParams extends _interceptors.Interceptor {
  static new(init = null) {
    if (init != null) {
      return html$.UrlSearchParams._create_1(init);
    }
    return html$.UrlSearchParams._create_2();
  }
  static _create_1(init) {
    return new URLSearchParams(init);
  }
  static _create_2() {
    return new URLSearchParams();
  }
  [S.$append](...args) {
    return this.append.apply(this, args);
  }
  [S.$delete](...args) {
    return this.delete.apply(this, args);
  }
  [S.$get](...args) {
    return this.get.apply(this, args);
  }
  [S.$getAll](...args) {
    return this.getAll.apply(this, args);
  }
  [S$.$has](...args) {
    return this.has.apply(this, args);
  }
  [S$.$set](...args) {
    return this.set.apply(this, args);
  }
  [$sort](...args) {
    return this.sort.apply(this, args);
  }
};
dart.addTypeTests(html$.UrlSearchParams);
dart.addTypeCaches(html$.UrlSearchParams);
dart.setMethodSignature(html$.UrlSearchParams, () => ({
  __proto__: dart.getMethods(html$.UrlSearchParams.__proto__),
  [S.$append]: dart.fnType(dart.void, [core.String, core.String]),
  [S.$delete]: dart.fnType(dart.void, [core.String]),
  [S.$get]: dart.fnType(dart.nullable(core.String), [core.String]),
  [S.$getAll]: dart.fnType(core.List$(core.String), [core.String]),
  [S$.$has]: dart.fnType(core.bool, [core.String]),
  [S$.$set]: dart.fnType(dart.void, [core.String, core.String]),
  [$sort]: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(html$.UrlSearchParams, I[148]);
dart.registerExtension("URLSearchParams", html$.UrlSearchParams);
html$.UrlUtilsReadOnly = class UrlUtilsReadOnly extends _interceptors.Interceptor {
  get hash() {
    return this.hash;
  }
  get host() {
    return this.host;
  }
  get hostname() {
    return this.hostname;
  }
  get href() {
    return this.href;
  }
  get origin() {
    return this.origin;
  }
  get pathname() {
    return this.pathname;
  }
  get port() {
    return this.port;
  }
  get protocol() {
    return this.protocol;
  }
  get search() {
    return this.search;
  }
};
dart.addTypeTests(html$.UrlUtilsReadOnly);
dart.addTypeCaches(html$.UrlUtilsReadOnly);
dart.setGetterSignature(html$.UrlUtilsReadOnly, () => ({
  __proto__: dart.getGetters(html$.UrlUtilsReadOnly.__proto__),
  hash: dart.nullable(core.String),
  [S$.$hash]: dart.nullable(core.String),
  host: dart.nullable(core.String),
  [S$.$host]: dart.nullable(core.String),
  hostname: dart.nullable(core.String),
  [S$.$hostname]: dart.nullable(core.String),
  href: dart.nullable(core.String),
  [S$.$href]: dart.nullable(core.String),
  origin: dart.nullable(core.String),
  [S$.$origin]: dart.nullable(core.String),
  pathname: dart.nullable(core.String),
  [S$.$pathname]: dart.nullable(core.String),
  port: dart.nullable(core.String),
  [S$.$port]: dart.nullable(core.String),
  protocol: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  search: dart.nullable(core.String),
  [S$.$search]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.UrlUtilsReadOnly, I[148]);
dart.defineExtensionAccessors(html$.UrlUtilsReadOnly, [
  'hash',
  'host',
  'hostname',
  'href',
  'origin',
  'pathname',
  'port',
  'protocol',
  'search'
]);
html$.VR = class VR extends html$.EventTarget {
  [S$3.$getDevices]() {
    return js_util.promiseToFuture(dart.dynamic, this.getDevices());
  }
};
dart.addTypeTests(html$.VR);
dart.addTypeCaches(html$.VR);
dart.setMethodSignature(html$.VR, () => ({
  __proto__: dart.getMethods(html$.VR.__proto__),
  [S$3.$getDevices]: dart.fnType(async.Future, [])
}));
dart.setLibraryUri(html$.VR, I[148]);
dart.registerExtension("VR", html$.VR);
html$.VRCoordinateSystem = class VRCoordinateSystem extends _interceptors.Interceptor {
  [S$3.$getTransformTo](...args) {
    return this.getTransformTo.apply(this, args);
  }
};
dart.addTypeTests(html$.VRCoordinateSystem);
dart.addTypeCaches(html$.VRCoordinateSystem);
dart.setMethodSignature(html$.VRCoordinateSystem, () => ({
  __proto__: dart.getMethods(html$.VRCoordinateSystem.__proto__),
  [S$3.$getTransformTo]: dart.fnType(dart.nullable(typed_data.Float32List), [html$.VRCoordinateSystem])
}));
dart.setLibraryUri(html$.VRCoordinateSystem, I[148]);
dart.registerExtension("VRCoordinateSystem", html$.VRCoordinateSystem);
html$.VRDevice = class VRDevice extends html$.EventTarget {
  get [S$3.$deviceName]() {
    return this.deviceName;
  }
  get [S$3.$isExternal]() {
    return this.isExternal;
  }
  [S$3.$requestSession](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.requestSession(options_dict));
  }
  [S$3.$supportsSession](options = null) {
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.supportsSession(options_dict));
  }
};
dart.addTypeTests(html$.VRDevice);
dart.addTypeCaches(html$.VRDevice);
dart.setMethodSignature(html$.VRDevice, () => ({
  __proto__: dart.getMethods(html$.VRDevice.__proto__),
  [S$3.$requestSession]: dart.fnType(async.Future, [], [dart.nullable(core.Map)]),
  [S$3.$supportsSession]: dart.fnType(async.Future, [], [dart.nullable(core.Map)])
}));
dart.setGetterSignature(html$.VRDevice, () => ({
  __proto__: dart.getGetters(html$.VRDevice.__proto__),
  [S$3.$deviceName]: dart.nullable(core.String),
  [S$3.$isExternal]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.VRDevice, I[148]);
dart.registerExtension("VRDevice", html$.VRDevice);
html$.VRDeviceEvent = class VRDeviceEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 31051, 32, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 31051, 42, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.VRDeviceEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new VRDeviceEvent(type, eventInitDict);
  }
  get [S$3.$device]() {
    return this.device;
  }
};
dart.addTypeTests(html$.VRDeviceEvent);
dart.addTypeCaches(html$.VRDeviceEvent);
dart.setGetterSignature(html$.VRDeviceEvent, () => ({
  __proto__: dart.getGetters(html$.VRDeviceEvent.__proto__),
  [S$3.$device]: dart.nullable(html$.VRDevice)
}));
dart.setLibraryUri(html$.VRDeviceEvent, I[148]);
dart.registerExtension("VRDeviceEvent", html$.VRDeviceEvent);
html$.VRDisplay = class VRDisplay extends html$.EventTarget {
  get [S$3.$capabilities]() {
    return this.capabilities;
  }
  get [S$3.$depthFar]() {
    return this.depthFar;
  }
  set [S$3.$depthFar](value) {
    this.depthFar = value;
  }
  get [S$3.$depthNear]() {
    return this.depthNear;
  }
  set [S$3.$depthNear](value) {
    this.depthNear = value;
  }
  get [S$1.$displayId]() {
    return this.displayId;
  }
  get [S$3.$displayName]() {
    return this.displayName;
  }
  get [S$3.$isPresenting]() {
    return this.isPresenting;
  }
  get [S$3.$stageParameters]() {
    return this.stageParameters;
  }
  [S$3.$cancelAnimationFrame](...args) {
    return this.cancelAnimationFrame.apply(this, args);
  }
  [S$3.$exitPresent]() {
    return js_util.promiseToFuture(dart.dynamic, this.exitPresent());
  }
  [S$3.$getEyeParameters](...args) {
    return this.getEyeParameters.apply(this, args);
  }
  [S$3.$getFrameData](...args) {
    return this.getFrameData.apply(this, args);
  }
  [S$3.$getLayers](...args) {
    return this.getLayers.apply(this, args);
  }
  [S$3.$requestAnimationFrame](...args) {
    return this.requestAnimationFrame.apply(this, args);
  }
  [S$3.$requestPresent](layers) {
    if (layers == null) dart.nullFailed(I[147], 31101, 35, "layers");
    return js_util.promiseToFuture(dart.dynamic, this.requestPresent(layers));
  }
  [S$3.$submitFrame](...args) {
    return this.submitFrame.apply(this, args);
  }
};
dart.addTypeTests(html$.VRDisplay);
dart.addTypeCaches(html$.VRDisplay);
dart.setMethodSignature(html$.VRDisplay, () => ({
  __proto__: dart.getMethods(html$.VRDisplay.__proto__),
  [S$3.$cancelAnimationFrame]: dart.fnType(dart.void, [core.int]),
  [S$3.$exitPresent]: dart.fnType(async.Future, []),
  [S$3.$getEyeParameters]: dart.fnType(html$.VREyeParameters, [core.String]),
  [S$3.$getFrameData]: dart.fnType(core.bool, [html$.VRFrameData]),
  [S$3.$getLayers]: dart.fnType(core.List$(core.Map), []),
  [S$3.$requestAnimationFrame]: dart.fnType(core.int, [dart.fnType(dart.void, [core.num])]),
  [S$3.$requestPresent]: dart.fnType(async.Future, [core.List$(core.Map)]),
  [S$3.$submitFrame]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.VRDisplay, () => ({
  __proto__: dart.getGetters(html$.VRDisplay.__proto__),
  [S$3.$capabilities]: dart.nullable(html$.VRDisplayCapabilities),
  [S$3.$depthFar]: dart.nullable(core.num),
  [S$3.$depthNear]: dart.nullable(core.num),
  [S$1.$displayId]: dart.nullable(core.int),
  [S$3.$displayName]: dart.nullable(core.String),
  [S$3.$isPresenting]: dart.nullable(core.bool),
  [S$3.$stageParameters]: dart.nullable(html$.VRStageParameters)
}));
dart.setSetterSignature(html$.VRDisplay, () => ({
  __proto__: dart.getSetters(html$.VRDisplay.__proto__),
  [S$3.$depthFar]: dart.nullable(core.num),
  [S$3.$depthNear]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.VRDisplay, I[148]);
dart.registerExtension("VRDisplay", html$.VRDisplay);
html$.VRDisplayCapabilities = class VRDisplayCapabilities extends _interceptors.Interceptor {
  get [S$3.$canPresent]() {
    return this.canPresent;
  }
  get [S$3.$hasExternalDisplay]() {
    return this.hasExternalDisplay;
  }
  get [S$1.$hasPosition]() {
    return this.hasPosition;
  }
  get [S$3.$maxLayers]() {
    return this.maxLayers;
  }
};
dart.addTypeTests(html$.VRDisplayCapabilities);
dart.addTypeCaches(html$.VRDisplayCapabilities);
dart.setGetterSignature(html$.VRDisplayCapabilities, () => ({
  __proto__: dart.getGetters(html$.VRDisplayCapabilities.__proto__),
  [S$3.$canPresent]: dart.nullable(core.bool),
  [S$3.$hasExternalDisplay]: dart.nullable(core.bool),
  [S$1.$hasPosition]: dart.nullable(core.bool),
  [S$3.$maxLayers]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.VRDisplayCapabilities, I[148]);
dart.registerExtension("VRDisplayCapabilities", html$.VRDisplayCapabilities);
html$.VRDisplayEvent = class VRDisplayEvent$ extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 31136, 33, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.VRDisplayEvent._create_1(type, eventInitDict_1);
    }
    return html$.VRDisplayEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new VRDisplayEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new VRDisplayEvent(type);
  }
  get [S$0.$display]() {
    return this.display;
  }
  get [S$.$reason]() {
    return this.reason;
  }
};
dart.addTypeTests(html$.VRDisplayEvent);
dart.addTypeCaches(html$.VRDisplayEvent);
dart.setGetterSignature(html$.VRDisplayEvent, () => ({
  __proto__: dart.getGetters(html$.VRDisplayEvent.__proto__),
  [S$0.$display]: dart.nullable(html$.VRDisplay),
  [S$.$reason]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.VRDisplayEvent, I[148]);
dart.registerExtension("VRDisplayEvent", html$.VRDisplayEvent);
html$.VREyeParameters = class VREyeParameters extends _interceptors.Interceptor {
  get [S.$offset]() {
    return this.offset;
  }
  get [S$3.$renderHeight]() {
    return this.renderHeight;
  }
  get [S$3.$renderWidth]() {
    return this.renderWidth;
  }
};
dart.addTypeTests(html$.VREyeParameters);
dart.addTypeCaches(html$.VREyeParameters);
dart.setGetterSignature(html$.VREyeParameters, () => ({
  __proto__: dart.getGetters(html$.VREyeParameters.__proto__),
  [S.$offset]: dart.nullable(typed_data.Float32List),
  [S$3.$renderHeight]: dart.nullable(core.int),
  [S$3.$renderWidth]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.VREyeParameters, I[148]);
dart.registerExtension("VREyeParameters", html$.VREyeParameters);
html$.VRFrameData = class VRFrameData$ extends _interceptors.Interceptor {
  static new() {
    return html$.VRFrameData._create_1();
  }
  static _create_1() {
    return new VRFrameData();
  }
  get [S$3.$leftProjectionMatrix]() {
    return this.leftProjectionMatrix;
  }
  get [S$3.$leftViewMatrix]() {
    return this.leftViewMatrix;
  }
  get [S$1.$pose]() {
    return this.pose;
  }
  get [S$3.$rightProjectionMatrix]() {
    return this.rightProjectionMatrix;
  }
  get [S$3.$rightViewMatrix]() {
    return this.rightViewMatrix;
  }
};
dart.addTypeTests(html$.VRFrameData);
dart.addTypeCaches(html$.VRFrameData);
dart.setGetterSignature(html$.VRFrameData, () => ({
  __proto__: dart.getGetters(html$.VRFrameData.__proto__),
  [S$3.$leftProjectionMatrix]: dart.nullable(typed_data.Float32List),
  [S$3.$leftViewMatrix]: dart.nullable(typed_data.Float32List),
  [S$1.$pose]: dart.nullable(html$.VRPose),
  [S$3.$rightProjectionMatrix]: dart.nullable(typed_data.Float32List),
  [S$3.$rightViewMatrix]: dart.nullable(typed_data.Float32List)
}));
dart.setLibraryUri(html$.VRFrameData, I[148]);
dart.registerExtension("VRFrameData", html$.VRFrameData);
html$.VRFrameOfReference = class VRFrameOfReference extends html$.VRCoordinateSystem {
  get [S$3.$bounds]() {
    return this.bounds;
  }
  get [S$3.$emulatedHeight]() {
    return this.emulatedHeight;
  }
};
dart.addTypeTests(html$.VRFrameOfReference);
dart.addTypeCaches(html$.VRFrameOfReference);
dart.setGetterSignature(html$.VRFrameOfReference, () => ({
  __proto__: dart.getGetters(html$.VRFrameOfReference.__proto__),
  [S$3.$bounds]: dart.nullable(html$.VRStageBounds),
  [S$3.$emulatedHeight]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.VRFrameOfReference, I[148]);
dart.registerExtension("VRFrameOfReference", html$.VRFrameOfReference);
html$.VRPose = class VRPose extends _interceptors.Interceptor {
  get [S$1.$angularAcceleration]() {
    return this.angularAcceleration;
  }
  get [S$1.$angularVelocity]() {
    return this.angularVelocity;
  }
  get [S$1.$linearAcceleration]() {
    return this.linearAcceleration;
  }
  get [S$1.$linearVelocity]() {
    return this.linearVelocity;
  }
  get [S$.$orientation]() {
    return this.orientation;
  }
  get [S$0.$position]() {
    return this.position;
  }
};
dart.addTypeTests(html$.VRPose);
dart.addTypeCaches(html$.VRPose);
dart.setGetterSignature(html$.VRPose, () => ({
  __proto__: dart.getGetters(html$.VRPose.__proto__),
  [S$1.$angularAcceleration]: dart.nullable(typed_data.Float32List),
  [S$1.$angularVelocity]: dart.nullable(typed_data.Float32List),
  [S$1.$linearAcceleration]: dart.nullable(typed_data.Float32List),
  [S$1.$linearVelocity]: dart.nullable(typed_data.Float32List),
  [S$.$orientation]: dart.nullable(typed_data.Float32List),
  [S$0.$position]: dart.nullable(typed_data.Float32List)
}));
dart.setLibraryUri(html$.VRPose, I[148]);
dart.registerExtension("VRPose", html$.VRPose);
html$.VRSession = class VRSession extends html$.EventTarget {
  get [S$3.$depthFar]() {
    return this.depthFar;
  }
  set [S$3.$depthFar](value) {
    this.depthFar = value;
  }
  get [S$3.$depthNear]() {
    return this.depthNear;
  }
  set [S$3.$depthNear](value) {
    this.depthNear = value;
  }
  get [S$3.$device]() {
    return this.device;
  }
  get [S$3.$exclusive]() {
    return this.exclusive;
  }
  [S$2.$end]() {
    return js_util.promiseToFuture(dart.dynamic, this.end());
  }
  [S$3.$requestFrameOfReference](type, options = null) {
    if (type == null) dart.nullFailed(I[147], 31264, 41, "type");
    let options_dict = null;
    if (options != null) {
      options_dict = html_common.convertDartToNative_Dictionary(options);
    }
    return js_util.promiseToFuture(dart.dynamic, this.requestFrameOfReference(type, options_dict));
  }
  get [S.$onBlur]() {
    return html$.VRSession.blurEvent.forTarget(this);
  }
  get [S.$onFocus]() {
    return html$.VRSession.focusEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.VRSession);
dart.addTypeCaches(html$.VRSession);
dart.setMethodSignature(html$.VRSession, () => ({
  __proto__: dart.getMethods(html$.VRSession.__proto__),
  [S$2.$end]: dart.fnType(async.Future, []),
  [S$3.$requestFrameOfReference]: dart.fnType(async.Future, [core.String], [dart.nullable(core.Map)])
}));
dart.setGetterSignature(html$.VRSession, () => ({
  __proto__: dart.getGetters(html$.VRSession.__proto__),
  [S$3.$depthFar]: dart.nullable(core.num),
  [S$3.$depthNear]: dart.nullable(core.num),
  [S$3.$device]: dart.nullable(html$.VRDevice),
  [S$3.$exclusive]: dart.nullable(core.bool),
  [S.$onBlur]: async.Stream$(html$.Event),
  [S.$onFocus]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.VRSession, () => ({
  __proto__: dart.getSetters(html$.VRSession.__proto__),
  [S$3.$depthFar]: dart.nullable(core.num),
  [S$3.$depthNear]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.VRSession, I[148]);
dart.defineLazy(html$.VRSession, {
  /*html$.VRSession.blurEvent*/get blurEvent() {
    return C[235] || CT.C235;
  },
  /*html$.VRSession.focusEvent*/get focusEvent() {
    return C[254] || CT.C254;
  }
}, false);
dart.registerExtension("VRSession", html$.VRSession);
html$.VRSessionEvent = class VRSessionEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 31288, 33, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 31288, 43, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$.VRSessionEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new VRSessionEvent(type, eventInitDict);
  }
  get [S$3.$session]() {
    return this.session;
  }
};
dart.addTypeTests(html$.VRSessionEvent);
dart.addTypeCaches(html$.VRSessionEvent);
dart.setGetterSignature(html$.VRSessionEvent, () => ({
  __proto__: dart.getGetters(html$.VRSessionEvent.__proto__),
  [S$3.$session]: dart.nullable(html$.VRSession)
}));
dart.setLibraryUri(html$.VRSessionEvent, I[148]);
dart.registerExtension("VRSessionEvent", html$.VRSessionEvent);
html$.VRStageBounds = class VRStageBounds extends _interceptors.Interceptor {
  get [S$3.$geometry]() {
    return this.geometry;
  }
};
dart.addTypeTests(html$.VRStageBounds);
dart.addTypeCaches(html$.VRStageBounds);
dart.setGetterSignature(html$.VRStageBounds, () => ({
  __proto__: dart.getGetters(html$.VRStageBounds.__proto__),
  [S$3.$geometry]: dart.nullable(core.List$(html$.VRStageBoundsPoint))
}));
dart.setLibraryUri(html$.VRStageBounds, I[148]);
dart.registerExtension("VRStageBounds", html$.VRStageBounds);
html$.VRStageBoundsPoint = class VRStageBoundsPoint extends _interceptors.Interceptor {
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$z]() {
    return this.z;
  }
};
dart.addTypeTests(html$.VRStageBoundsPoint);
dart.addTypeCaches(html$.VRStageBoundsPoint);
dart.setGetterSignature(html$.VRStageBoundsPoint, () => ({
  __proto__: dart.getGetters(html$.VRStageBoundsPoint.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$z]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.VRStageBoundsPoint, I[148]);
dart.registerExtension("VRStageBoundsPoint", html$.VRStageBoundsPoint);
html$.VRStageParameters = class VRStageParameters extends _interceptors.Interceptor {
  get [S$3.$sittingToStandingTransform]() {
    return this.sittingToStandingTransform;
  }
  get [S$3.$sizeX]() {
    return this.sizeX;
  }
  get [S$3.$sizeZ]() {
    return this.sizeZ;
  }
};
dart.addTypeTests(html$.VRStageParameters);
dart.addTypeCaches(html$.VRStageParameters);
dart.setGetterSignature(html$.VRStageParameters, () => ({
  __proto__: dart.getGetters(html$.VRStageParameters.__proto__),
  [S$3.$sittingToStandingTransform]: dart.nullable(typed_data.Float32List),
  [S$3.$sizeX]: dart.nullable(core.num),
  [S$3.$sizeZ]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.VRStageParameters, I[148]);
dart.registerExtension("VRStageParameters", html$.VRStageParameters);
html$.ValidityState = class ValidityState extends _interceptors.Interceptor {
  get [S$3.$badInput]() {
    return this.badInput;
  }
  get [S$3.$customError]() {
    return this.customError;
  }
  get [S$3.$patternMismatch]() {
    return this.patternMismatch;
  }
  get [S$3.$rangeOverflow]() {
    return this.rangeOverflow;
  }
  get [S$3.$rangeUnderflow]() {
    return this.rangeUnderflow;
  }
  get [S$3.$stepMismatch]() {
    return this.stepMismatch;
  }
  get [S$3.$tooLong]() {
    return this.tooLong;
  }
  get [S$3.$tooShort]() {
    return this.tooShort;
  }
  get [S$3.$typeMismatch]() {
    return this.typeMismatch;
  }
  get [S$3.$valid]() {
    return this.valid;
  }
  get [S$3.$valueMissing]() {
    return this.valueMissing;
  }
};
dart.addTypeTests(html$.ValidityState);
dart.addTypeCaches(html$.ValidityState);
dart.setGetterSignature(html$.ValidityState, () => ({
  __proto__: dart.getGetters(html$.ValidityState.__proto__),
  [S$3.$badInput]: dart.nullable(core.bool),
  [S$3.$customError]: dart.nullable(core.bool),
  [S$3.$patternMismatch]: dart.nullable(core.bool),
  [S$3.$rangeOverflow]: dart.nullable(core.bool),
  [S$3.$rangeUnderflow]: dart.nullable(core.bool),
  [S$3.$stepMismatch]: dart.nullable(core.bool),
  [S$3.$tooLong]: dart.nullable(core.bool),
  [S$3.$tooShort]: dart.nullable(core.bool),
  [S$3.$typeMismatch]: dart.nullable(core.bool),
  [S$3.$valid]: dart.nullable(core.bool),
  [S$3.$valueMissing]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.ValidityState, I[148]);
dart.registerExtension("ValidityState", html$.ValidityState);
html$.VideoElement = class VideoElement extends html$.MediaElement {
  static new() {
    return html$.document.createElement("video");
  }
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [S$3.$poster]() {
    return this.poster;
  }
  set [S$3.$poster](value) {
    this.poster = value;
  }
  get [S$3.$videoHeight]() {
    return this.videoHeight;
  }
  get [S$3.$videoWidth]() {
    return this.videoWidth;
  }
  get [S$3.$decodedFrameCount]() {
    return this.webkitDecodedFrameCount;
  }
  get [S$3.$droppedFrameCount]() {
    return this.webkitDroppedFrameCount;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  [S$3.$getVideoPlaybackQuality](...args) {
    return this.getVideoPlaybackQuality.apply(this, args);
  }
  [S$3.$enterFullscreen](...args) {
    return this.webkitEnterFullscreen.apply(this, args);
  }
  [S$1.$exitFullscreen](...args) {
    return this.webkitExitFullscreen.apply(this, args);
  }
};
(html$.VideoElement.created = function() {
  html$.VideoElement.__proto__.created.call(this);
  ;
}).prototype = html$.VideoElement.prototype;
dart.addTypeTests(html$.VideoElement);
dart.addTypeCaches(html$.VideoElement);
html$.VideoElement[dart.implements] = () => [html$.CanvasImageSource];
dart.setMethodSignature(html$.VideoElement, () => ({
  __proto__: dart.getMethods(html$.VideoElement.__proto__),
  [S$3.$getVideoPlaybackQuality]: dart.fnType(html$.VideoPlaybackQuality, []),
  [S$3.$enterFullscreen]: dart.fnType(dart.void, []),
  [S$1.$exitFullscreen]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.VideoElement, () => ({
  __proto__: dart.getGetters(html$.VideoElement.__proto__),
  [$height]: core.int,
  [S$3.$poster]: core.String,
  [S$3.$videoHeight]: core.int,
  [S$3.$videoWidth]: core.int,
  [S$3.$decodedFrameCount]: dart.nullable(core.int),
  [S$3.$droppedFrameCount]: dart.nullable(core.int),
  [$width]: core.int
}));
dart.setSetterSignature(html$.VideoElement, () => ({
  __proto__: dart.getSetters(html$.VideoElement.__proto__),
  [$height]: core.int,
  [S$3.$poster]: core.String,
  [$width]: core.int
}));
dart.setLibraryUri(html$.VideoElement, I[148]);
dart.registerExtension("HTMLVideoElement", html$.VideoElement);
html$.VideoPlaybackQuality = class VideoPlaybackQuality extends _interceptors.Interceptor {
  get [S$3.$corruptedVideoFrames]() {
    return this.corruptedVideoFrames;
  }
  get [S$3.$creationTime]() {
    return this.creationTime;
  }
  get [S$3.$droppedVideoFrames]() {
    return this.droppedVideoFrames;
  }
  get [S$3.$totalVideoFrames]() {
    return this.totalVideoFrames;
  }
};
dart.addTypeTests(html$.VideoPlaybackQuality);
dart.addTypeCaches(html$.VideoPlaybackQuality);
dart.setGetterSignature(html$.VideoPlaybackQuality, () => ({
  __proto__: dart.getGetters(html$.VideoPlaybackQuality.__proto__),
  [S$3.$corruptedVideoFrames]: dart.nullable(core.int),
  [S$3.$creationTime]: dart.nullable(core.num),
  [S$3.$droppedVideoFrames]: dart.nullable(core.int),
  [S$3.$totalVideoFrames]: dart.nullable(core.int)
}));
dart.setLibraryUri(html$.VideoPlaybackQuality, I[148]);
dart.registerExtension("VideoPlaybackQuality", html$.VideoPlaybackQuality);
html$.VideoTrack = class VideoTrack extends _interceptors.Interceptor {
  get [S.$id]() {
    return this.id;
  }
  get [S$.$kind]() {
    return this.kind;
  }
  get [S$.$label]() {
    return this.label;
  }
  get [S$1.$language]() {
    return this.language;
  }
  get [S$.$selected]() {
    return this.selected;
  }
  set [S$.$selected](value) {
    this.selected = value;
  }
  get [S$3.$sourceBuffer]() {
    return this.sourceBuffer;
  }
};
dart.addTypeTests(html$.VideoTrack);
dart.addTypeCaches(html$.VideoTrack);
dart.setGetterSignature(html$.VideoTrack, () => ({
  __proto__: dart.getGetters(html$.VideoTrack.__proto__),
  [S.$id]: dart.nullable(core.String),
  [S$.$kind]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String),
  [S$1.$language]: dart.nullable(core.String),
  [S$.$selected]: dart.nullable(core.bool),
  [S$3.$sourceBuffer]: dart.nullable(html$.SourceBuffer)
}));
dart.setSetterSignature(html$.VideoTrack, () => ({
  __proto__: dart.getSetters(html$.VideoTrack.__proto__),
  [S$.$selected]: dart.nullable(core.bool)
}));
dart.setLibraryUri(html$.VideoTrack, I[148]);
dart.registerExtension("VideoTrack", html$.VideoTrack);
html$.VideoTrackList = class VideoTrackList extends html$.EventTarget {
  get [$length]() {
    return this.length;
  }
  get [S$2.$selectedIndex]() {
    return this.selectedIndex;
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$1.$getTrackById](...args) {
    return this.getTrackById.apply(this, args);
  }
  get [S.$onChange]() {
    return html$.VideoTrackList.changeEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.VideoTrackList);
dart.addTypeCaches(html$.VideoTrackList);
dart.setMethodSignature(html$.VideoTrackList, () => ({
  __proto__: dart.getMethods(html$.VideoTrackList.__proto__),
  [S$.__getter__]: dart.fnType(html$.VideoTrack, [core.int]),
  [S$1.$getTrackById]: dart.fnType(dart.nullable(html$.VideoTrack), [core.String])
}));
dart.setGetterSignature(html$.VideoTrackList, () => ({
  __proto__: dart.getGetters(html$.VideoTrackList.__proto__),
  [$length]: dart.nullable(core.int),
  [S$2.$selectedIndex]: dart.nullable(core.int),
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.VideoTrackList, I[148]);
dart.defineLazy(html$.VideoTrackList, {
  /*html$.VideoTrackList.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("VideoTrackList", html$.VideoTrackList);
html$.VisualViewport = class VisualViewport extends html$.EventTarget {
  get [$height]() {
    return this.height;
  }
  get [S.$offsetLeft]() {
    return this.offsetLeft;
  }
  get [S.$offsetTop]() {
    return this.offsetTop;
  }
  get [S$3.$pageLeft]() {
    return this.pageLeft;
  }
  get [S$3.$pageTop]() {
    return this.pageTop;
  }
  get [S$.$scale]() {
    return this.scale;
  }
  get [$width]() {
    return this.width;
  }
  get [S.$onResize]() {
    return html$.VisualViewport.resizeEvent.forTarget(this);
  }
  get [S.$onScroll]() {
    return html$.VisualViewport.scrollEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.VisualViewport);
dart.addTypeCaches(html$.VisualViewport);
dart.setGetterSignature(html$.VisualViewport, () => ({
  __proto__: dart.getGetters(html$.VisualViewport.__proto__),
  [$height]: dart.nullable(core.num),
  [S.$offsetLeft]: dart.nullable(core.num),
  [S.$offsetTop]: dart.nullable(core.num),
  [S$3.$pageLeft]: dart.nullable(core.num),
  [S$3.$pageTop]: dart.nullable(core.num),
  [S$.$scale]: dart.nullable(core.num),
  [$width]: dart.nullable(core.num),
  [S.$onResize]: async.Stream$(html$.Event),
  [S.$onScroll]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.VisualViewport, I[148]);
dart.defineLazy(html$.VisualViewport, {
  /*html$.VisualViewport.resizeEvent*/get resizeEvent() {
    return C[276] || CT.C276;
  },
  /*html$.VisualViewport.scrollEvent*/get scrollEvent() {
    return C[277] || CT.C277;
  }
}, false);
dart.registerExtension("VisualViewport", html$.VisualViewport);
html$.VttCue = class VttCue extends html$.TextTrackCue {
  static new(startTime, endTime, text) {
    if (startTime == null) dart.nullFailed(I[147], 31557, 22, "startTime");
    if (endTime == null) dart.nullFailed(I[147], 31557, 37, "endTime");
    if (text == null) dart.nullFailed(I[147], 31557, 53, "text");
    return html$.VttCue._create_1(startTime, endTime, text);
  }
  static _create_1(startTime, endTime, text) {
    return new VTTCue(startTime, endTime, text);
  }
  get [S$3.$align]() {
    return this.align;
  }
  set [S$3.$align](value) {
    this.align = value;
  }
  get [S$3.$line]() {
    return this.line;
  }
  set [S$3.$line](value) {
    this.line = value;
  }
  get [S$0.$position]() {
    return this.position;
  }
  set [S$0.$position](value) {
    this.position = value;
  }
  get [S$1.$region]() {
    return this.region;
  }
  set [S$1.$region](value) {
    this.region = value;
  }
  get [S$.$size]() {
    return this.size;
  }
  set [S$.$size](value) {
    this.size = value;
  }
  get [S$3.$snapToLines]() {
    return this.snapToLines;
  }
  set [S$3.$snapToLines](value) {
    this.snapToLines = value;
  }
  get [S.$text]() {
    return this.text;
  }
  set [S.$text](value) {
    this.text = value;
  }
  get [S$3.$vertical]() {
    return this.vertical;
  }
  set [S$3.$vertical](value) {
    this.vertical = value;
  }
  [S$3.$getCueAsHtml](...args) {
    return this.getCueAsHTML.apply(this, args);
  }
};
dart.addTypeTests(html$.VttCue);
dart.addTypeCaches(html$.VttCue);
dart.setMethodSignature(html$.VttCue, () => ({
  __proto__: dart.getMethods(html$.VttCue.__proto__),
  [S$3.$getCueAsHtml]: dart.fnType(html$.DocumentFragment, [])
}));
dart.setGetterSignature(html$.VttCue, () => ({
  __proto__: dart.getGetters(html$.VttCue.__proto__),
  [S$3.$align]: dart.nullable(core.String),
  [S$3.$line]: dart.nullable(core.Object),
  [S$0.$position]: dart.nullable(core.Object),
  [S$1.$region]: dart.nullable(html$.VttRegion),
  [S$.$size]: dart.nullable(core.num),
  [S$3.$snapToLines]: dart.nullable(core.bool),
  [S.$text]: dart.nullable(core.String),
  [S$3.$vertical]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$.VttCue, () => ({
  __proto__: dart.getSetters(html$.VttCue.__proto__),
  [S$3.$align]: dart.nullable(core.String),
  [S$3.$line]: dart.nullable(core.Object),
  [S$0.$position]: dart.nullable(core.Object),
  [S$1.$region]: dart.nullable(html$.VttRegion),
  [S$.$size]: dart.nullable(core.num),
  [S$3.$snapToLines]: dart.nullable(core.bool),
  [S.$text]: dart.nullable(core.String),
  [S$3.$vertical]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.VttCue, I[148]);
dart.registerExtension("VTTCue", html$.VttCue);
html$.VttRegion = class VttRegion extends _interceptors.Interceptor {
  static new() {
    return html$.VttRegion._create_1();
  }
  static _create_1() {
    return new VTTRegion();
  }
  get [S.$id]() {
    return this.id;
  }
  set [S.$id](value) {
    this.id = value;
  }
  get [S$3.$lines]() {
    return this.lines;
  }
  set [S$3.$lines](value) {
    this.lines = value;
  }
  get [S$3.$regionAnchorX]() {
    return this.regionAnchorX;
  }
  set [S$3.$regionAnchorX](value) {
    this.regionAnchorX = value;
  }
  get [S$3.$regionAnchorY]() {
    return this.regionAnchorY;
  }
  set [S$3.$regionAnchorY](value) {
    this.regionAnchorY = value;
  }
  get [S.$scroll]() {
    return this.scroll;
  }
  set [S.$scroll](value) {
    this.scroll = value;
  }
  get [S$3.$viewportAnchorX]() {
    return this.viewportAnchorX;
  }
  set [S$3.$viewportAnchorX](value) {
    this.viewportAnchorX = value;
  }
  get [S$3.$viewportAnchorY]() {
    return this.viewportAnchorY;
  }
  set [S$3.$viewportAnchorY](value) {
    this.viewportAnchorY = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
};
dart.addTypeTests(html$.VttRegion);
dart.addTypeCaches(html$.VttRegion);
dart.setGetterSignature(html$.VttRegion, () => ({
  __proto__: dart.getGetters(html$.VttRegion.__proto__),
  [S.$id]: dart.nullable(core.String),
  [S$3.$lines]: dart.nullable(core.int),
  [S$3.$regionAnchorX]: dart.nullable(core.num),
  [S$3.$regionAnchorY]: dart.nullable(core.num),
  [S.$scroll]: dart.nullable(core.String),
  [S$3.$viewportAnchorX]: dart.nullable(core.num),
  [S$3.$viewportAnchorY]: dart.nullable(core.num),
  [$width]: dart.nullable(core.num)
}));
dart.setSetterSignature(html$.VttRegion, () => ({
  __proto__: dart.getSetters(html$.VttRegion.__proto__),
  [S.$id]: dart.nullable(core.String),
  [S$3.$lines]: dart.nullable(core.int),
  [S$3.$regionAnchorX]: dart.nullable(core.num),
  [S$3.$regionAnchorY]: dart.nullable(core.num),
  [S.$scroll]: dart.nullable(core.String),
  [S$3.$viewportAnchorX]: dart.nullable(core.num),
  [S$3.$viewportAnchorY]: dart.nullable(core.num),
  [$width]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.VttRegion, I[148]);
dart.registerExtension("VTTRegion", html$.VttRegion);
html$.WebSocket = class WebSocket$ extends html$.EventTarget {
  static new(url, protocols = null) {
    if (url == null) dart.nullFailed(I[147], 31736, 28, "url");
    if (protocols != null) {
      return html$.WebSocket._create_1(url, protocols);
    }
    return html$.WebSocket._create_2(url);
  }
  static _create_1(url, protocols) {
    return new WebSocket(url, protocols);
  }
  static _create_2(url) {
    return new WebSocket(url);
  }
  static get supported() {
    return typeof window.WebSocket != "undefined";
  }
  get [S$2.$binaryType]() {
    return this.binaryType;
  }
  set [S$2.$binaryType](value) {
    this.binaryType = value;
  }
  get [S$2.$bufferedAmount]() {
    return this.bufferedAmount;
  }
  get [S$3.$extensions]() {
    return this.extensions;
  }
  get [S$.$protocol]() {
    return this.protocol;
  }
  get [S.$readyState]() {
    return this.readyState;
  }
  get [S$.$url]() {
    return this.url;
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$1.$send](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendBlob](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendByteBuffer](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendString](...args) {
    return this.send.apply(this, args);
  }
  [S$2.$sendTypedData](...args) {
    return this.send.apply(this, args);
  }
  get [S.$onClose]() {
    return html$.WebSocket.closeEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.WebSocket.errorEvent.forTarget(this);
  }
  get [S$.$onMessage]() {
    return html$.WebSocket.messageEvent.forTarget(this);
  }
  get [S$1.$onOpen]() {
    return html$.WebSocket.openEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.WebSocket);
dart.addTypeCaches(html$.WebSocket);
dart.setMethodSignature(html$.WebSocket, () => ({
  __proto__: dart.getMethods(html$.WebSocket.__proto__),
  [S.$close]: dart.fnType(dart.void, [], [dart.nullable(core.int), dart.nullable(core.String)]),
  [S$1.$send]: dart.fnType(dart.void, [dart.dynamic]),
  [S$2.$sendBlob]: dart.fnType(dart.void, [html$.Blob]),
  [S$2.$sendByteBuffer]: dart.fnType(dart.void, [typed_data.ByteBuffer]),
  [S$2.$sendString]: dart.fnType(dart.void, [core.String]),
  [S$2.$sendTypedData]: dart.fnType(dart.void, [typed_data.TypedData])
}));
dart.setGetterSignature(html$.WebSocket, () => ({
  __proto__: dart.getGetters(html$.WebSocket.__proto__),
  [S$2.$binaryType]: dart.nullable(core.String),
  [S$2.$bufferedAmount]: dart.nullable(core.int),
  [S$3.$extensions]: dart.nullable(core.String),
  [S$.$protocol]: dart.nullable(core.String),
  [S.$readyState]: core.int,
  [S$.$url]: dart.nullable(core.String),
  [S.$onClose]: async.Stream$(html$.CloseEvent),
  [S.$onError]: async.Stream$(html$.Event),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent),
  [S$1.$onOpen]: async.Stream$(html$.Event)
}));
dart.setSetterSignature(html$.WebSocket, () => ({
  __proto__: dart.getSetters(html$.WebSocket.__proto__),
  [S$2.$binaryType]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.WebSocket, I[148]);
dart.defineLazy(html$.WebSocket, {
  /*html$.WebSocket.closeEvent*/get closeEvent() {
    return C[389] || CT.C389;
  },
  /*html$.WebSocket.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.WebSocket.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  },
  /*html$.WebSocket.openEvent*/get openEvent() {
    return C[332] || CT.C332;
  },
  /*html$.WebSocket.CLOSED*/get CLOSED() {
    return 3;
  },
  /*html$.WebSocket.CLOSING*/get CLOSING() {
    return 2;
  },
  /*html$.WebSocket.CONNECTING*/get CONNECTING() {
    return 0;
  },
  /*html$.WebSocket.OPEN*/get OPEN() {
    return 1;
  }
}, false);
dart.registerExtension("WebSocket", html$.WebSocket);
html$.WheelEvent = class WheelEvent$ extends html$.MouseEvent {
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 31841, 29, "type");
    let view = opts && 'view' in opts ? opts.view : null;
    let deltaX = opts && 'deltaX' in opts ? opts.deltaX : 0;
    if (deltaX == null) dart.nullFailed(I[147], 31843, 11, "deltaX");
    let deltaY = opts && 'deltaY' in opts ? opts.deltaY : 0;
    if (deltaY == null) dart.nullFailed(I[147], 31844, 11, "deltaY");
    let deltaZ = opts && 'deltaZ' in opts ? opts.deltaZ : 0;
    if (deltaZ == null) dart.nullFailed(I[147], 31845, 11, "deltaZ");
    let deltaMode = opts && 'deltaMode' in opts ? opts.deltaMode : 0;
    if (deltaMode == null) dart.nullFailed(I[147], 31846, 11, "deltaMode");
    let detail = opts && 'detail' in opts ? opts.detail : 0;
    if (detail == null) dart.nullFailed(I[147], 31847, 11, "detail");
    let screenX = opts && 'screenX' in opts ? opts.screenX : 0;
    if (screenX == null) dart.nullFailed(I[147], 31848, 11, "screenX");
    let screenY = opts && 'screenY' in opts ? opts.screenY : 0;
    if (screenY == null) dart.nullFailed(I[147], 31849, 11, "screenY");
    let clientX = opts && 'clientX' in opts ? opts.clientX : 0;
    if (clientX == null) dart.nullFailed(I[147], 31850, 11, "clientX");
    let clientY = opts && 'clientY' in opts ? opts.clientY : 0;
    if (clientY == null) dart.nullFailed(I[147], 31851, 11, "clientY");
    let button = opts && 'button' in opts ? opts.button : 0;
    if (button == null) dart.nullFailed(I[147], 31852, 11, "button");
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 31853, 12, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 31854, 12, "cancelable");
    let ctrlKey = opts && 'ctrlKey' in opts ? opts.ctrlKey : false;
    if (ctrlKey == null) dart.nullFailed(I[147], 31855, 12, "ctrlKey");
    let altKey = opts && 'altKey' in opts ? opts.altKey : false;
    if (altKey == null) dart.nullFailed(I[147], 31856, 12, "altKey");
    let shiftKey = opts && 'shiftKey' in opts ? opts.shiftKey : false;
    if (shiftKey == null) dart.nullFailed(I[147], 31857, 12, "shiftKey");
    let metaKey = opts && 'metaKey' in opts ? opts.metaKey : false;
    if (metaKey == null) dart.nullFailed(I[147], 31858, 12, "metaKey");
    let relatedTarget = opts && 'relatedTarget' in opts ? opts.relatedTarget : null;
    let options = new (T$.IdentityMapOfString$ObjectN()).from(["view", view, "deltaMode", deltaMode, "deltaX", deltaX, "deltaY", deltaY, "deltaZ", deltaZ, "detail", detail, "screenX", screenX, "screenY", screenY, "clientX", clientX, "clientY", clientY, "button", button, "bubbles", canBubble, "cancelable", cancelable, "ctrlKey", ctrlKey, "altKey", altKey, "shiftKey", shiftKey, "metaKey", metaKey, "relatedTarget", relatedTarget]);
    if (view == null) {
      view = html$.window;
    }
    return new WheelEvent(type, html_common.convertDartToNative_Dictionary(options));
  }
  static __(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 31889, 31, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$.WheelEvent._create_1(type, eventInitDict_1);
    }
    return html$.WheelEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new WheelEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new WheelEvent(type);
  }
  get [S$3._deltaX]() {
    return this.deltaX;
  }
  get [S$3._deltaY]() {
    return this.deltaY;
  }
  get [S$3.$deltaZ]() {
    return this.deltaZ;
  }
  get [S$2.$deltaY]() {
    let value = this.deltaY;
    if (value != null) return value;
    dart.throw(new core.UnsupportedError.new("deltaY is not supported"));
  }
  get [S$2.$deltaX]() {
    let value = this.deltaX;
    if (value != null) return value;
    dart.throw(new core.UnsupportedError.new("deltaX is not supported"));
  }
  get [S$3.$deltaMode]() {
    if (!!this.deltaMode) {
      return this.deltaMode;
    }
    return 0;
  }
  get [S$3._wheelDelta]() {
    return this.wheelDelta;
  }
  get [S$3._wheelDeltaX]() {
    return this.wheelDeltaX;
  }
  get [S$0._detail]() {
    return this.detail;
  }
  get [S$3._hasInitMouseScrollEvent]() {
    return !!this.initMouseScrollEvent;
  }
  [S$3._initMouseScrollEvent](...args) {
    return this.initMouseScrollEvent.apply(this, args);
  }
  get [S$3._hasInitWheelEvent]() {
    return !!this.initWheelEvent;
  }
  [S$3._initWheelEvent](...args) {
    return this.initWheelEvent.apply(this, args);
  }
};
dart.addTypeTests(html$.WheelEvent);
dart.addTypeCaches(html$.WheelEvent);
dart.setMethodSignature(html$.WheelEvent, () => ({
  __proto__: dart.getMethods(html$.WheelEvent.__proto__),
  [S$3._initMouseScrollEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, html$.Window, core.int, core.int, core.int, core.int, core.int, core.bool, core.bool, core.bool, core.bool, core.int, html$.EventTarget, core.int]),
  [S$3._initWheelEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, html$.Window, core.int, core.int, core.int, core.int, core.int, core.int, html$.EventTarget, core.String, core.int, core.int, core.int, core.int])
}));
dart.setGetterSignature(html$.WheelEvent, () => ({
  __proto__: dart.getGetters(html$.WheelEvent.__proto__),
  [S$3._deltaX]: dart.nullable(core.num),
  [S$3._deltaY]: dart.nullable(core.num),
  [S$3.$deltaZ]: dart.nullable(core.num),
  [S$2.$deltaY]: core.num,
  [S$2.$deltaX]: core.num,
  [S$3.$deltaMode]: core.int,
  [S$3._wheelDelta]: core.num,
  [S$3._wheelDeltaX]: core.num,
  [S$0._detail]: core.num,
  [S$3._hasInitMouseScrollEvent]: core.bool,
  [S$3._hasInitWheelEvent]: core.bool
}));
dart.setLibraryUri(html$.WheelEvent, I[148]);
dart.defineLazy(html$.WheelEvent, {
  /*html$.WheelEvent.DOM_DELTA_LINE*/get DOM_DELTA_LINE() {
    return 1;
  },
  /*html$.WheelEvent.DOM_DELTA_PAGE*/get DOM_DELTA_PAGE() {
    return 2;
  },
  /*html$.WheelEvent.DOM_DELTA_PIXEL*/get DOM_DELTA_PIXEL() {
    return 0;
  }
}, false);
dart.registerExtension("WheelEvent", html$.WheelEvent);
html$.Window = class Window extends html$.EventTarget {
  get [S$3.$animationFrame]() {
    let completer = T$0.CompleterOfnum().sync();
    this[S$3.$requestAnimationFrame](dart.fn(time => {
      if (time == null) dart.nullFailed(I[147], 32061, 28, "time");
      completer.complete(time);
    }, T$0.numTovoid()));
    return completer.future;
  }
  get [S$3.$document]() {
    return this.document;
  }
  [S$3._open2](url, name) {
    return this.open(url, name);
  }
  [S$3._open3](url, name, options) {
    return this.open(url, name, options);
  }
  [S.$open](url, name, options = null) {
    if (url == null) dart.nullFailed(I[147], 32092, 26, "url");
    if (name == null) dart.nullFailed(I[147], 32092, 38, "name");
    if (options == null) {
      return html$._DOMWindowCrossFrame._createSafe(this[S$3._open2](url, name));
    } else {
      return html$._DOMWindowCrossFrame._createSafe(this[S$3._open3](url, name, options));
    }
  }
  get [S$0.$location]() {
    return html$.Location.as(this[S$3._location]);
  }
  set [S$0.$location](value) {
    if (value == null) dart.nullFailed(I[147], 32115, 16, "value");
    this[S$3._location] = value;
  }
  get [S$3._location]() {
    return this.location;
  }
  set [S$3._location](value) {
    this.location = value;
  }
  [S$3.$requestAnimationFrame](callback) {
    if (callback == null) dart.nullFailed(I[147], 32141, 50, "callback");
    this[S$3._ensureRequestAnimationFrame]();
    return this[S$3._requestAnimationFrame](dart.nullCheck(html$._wrapZone(core.num, callback)));
  }
  [S$3.$cancelAnimationFrame](id) {
    if (id == null) dart.nullFailed(I[147], 32154, 33, "id");
    this[S$3._ensureRequestAnimationFrame]();
    this[S$3._cancelAnimationFrame](id);
  }
  [S$3._requestAnimationFrame](...args) {
    return this.requestAnimationFrame.apply(this, args);
  }
  [S$3._cancelAnimationFrame](...args) {
    return this.cancelAnimationFrame.apply(this, args);
  }
  [S$3._ensureRequestAnimationFrame]() {
    if (!!(this.requestAnimationFrame && this.cancelAnimationFrame)) return;
    (function($this) {
      var vendors = ['ms', 'moz', 'webkit', 'o'];
      for (var i = 0; i < vendors.length && !$this.requestAnimationFrame; ++i) {
        $this.requestAnimationFrame = $this[vendors[i] + 'RequestAnimationFrame'];
        $this.cancelAnimationFrame = $this[vendors[i] + 'CancelAnimationFrame'] || $this[vendors[i] + 'CancelRequestAnimationFrame'];
      }
      if ($this.requestAnimationFrame && $this.cancelAnimationFrame) return;
      $this.requestAnimationFrame = function(callback) {
        return window.setTimeout(function() {
          callback(Date.now());
        }, 16);
      };
      $this.cancelAnimationFrame = function(id) {
        clearTimeout(id);
      };
    })(this);
  }
  get [S$0.$indexedDB]() {
    return this.indexedDB || this.webkitIndexedDB || this.mozIndexedDB;
  }
  get [S$2.$console]() {
    return html$.Console._safeConsole;
  }
  [S$3.$requestFileSystem](size, opts) {
    if (size == null) dart.nullFailed(I[147], 32222, 44, "size");
    let persistent = opts && 'persistent' in opts ? opts.persistent : false;
    if (persistent == null) dart.nullFailed(I[147], 32222, 56, "persistent");
    return this[S$3._requestFileSystem](dart.test(persistent) ? 1 : 0, size);
  }
  static get supportsPointConversions() {
    return html$.DomPoint.supported;
  }
  get [S$3.$animationWorklet]() {
    return this.animationWorklet;
  }
  get [S$3.$applicationCache]() {
    return this.applicationCache;
  }
  get [S$3.$audioWorklet]() {
    return this.audioWorklet;
  }
  get [S$0.$caches]() {
    return this.caches;
  }
  get [S$1.$closed]() {
    return this.closed;
  }
  get [S$3.$cookieStore]() {
    return this.cookieStore;
  }
  get [S$0.$crypto]() {
    return this.crypto;
  }
  get [S$3.$customElements]() {
    return this.customElements;
  }
  get [S$3.$defaultStatus]() {
    return this.defaultStatus;
  }
  set [S$3.$defaultStatus](value) {
    this.defaultStatus = value;
  }
  get [S$3.$defaultstatus]() {
    return this.defaultstatus;
  }
  set [S$3.$defaultstatus](value) {
    this.defaultstatus = value;
  }
  get [S$2.$devicePixelRatio]() {
    return this.devicePixelRatio;
  }
  get [S$3.$external]() {
    return this.external;
  }
  get [S$3.$history]() {
    return this.history;
  }
  get [S$3.$innerHeight]() {
    return this.innerHeight;
  }
  get [S$3.$innerWidth]() {
    return this.innerWidth;
  }
  get [S$0.$isSecureContext]() {
    return this.isSecureContext;
  }
  get [S$3.$localStorage]() {
    return this.localStorage;
  }
  get [S$3.$locationbar]() {
    return this.locationbar;
  }
  get [S$3.$menubar]() {
    return this.menubar;
  }
  get [$name]() {
    return this.name;
  }
  set [$name](value) {
    this.name = value;
  }
  get [S$0.$navigator]() {
    return this.navigator;
  }
  get [S$3.$offscreenBuffering]() {
    return this.offscreenBuffering;
  }
  get [S$3.$opener]() {
    return html$._convertNativeToDart_Window(this[S$3._get_opener]);
  }
  get [S$3._get_opener]() {
    return this.opener;
  }
  set [S$3.$opener](value) {
    this.opener = value;
  }
  get [S$.$orientation]() {
    return this.orientation;
  }
  get [S$.$origin]() {
    return this.origin;
  }
  get [S$3.$outerHeight]() {
    return this.outerHeight;
  }
  get [S$3.$outerWidth]() {
    return this.outerWidth;
  }
  get [S$3._pageXOffset]() {
    return this.pageXOffset;
  }
  get [S$3._pageYOffset]() {
    return this.pageYOffset;
  }
  get [S.$parent]() {
    return html$._convertNativeToDart_Window(this[S$3._get_parent]);
  }
  get [S$3._get_parent]() {
    return this.parent;
  }
  get [S$0.$performance]() {
    return this.performance;
  }
  get [S$1.$screen]() {
    return this.screen;
  }
  get [S$3.$screenLeft]() {
    return this.screenLeft;
  }
  get [S$3.$screenTop]() {
    return this.screenTop;
  }
  get [S$3.$screenX]() {
    return this.screenX;
  }
  get [S$3.$screenY]() {
    return this.screenY;
  }
  get [S$3.$scrollbars]() {
    return this.scrollbars;
  }
  get [S$0.$self]() {
    return html$._convertNativeToDart_Window(this[S$3._get_self]);
  }
  get [S$3._get_self]() {
    return this.self;
  }
  get [S$3.$sessionStorage]() {
    return this.sessionStorage;
  }
  get [S$3.$speechSynthesis]() {
    return this.speechSynthesis;
  }
  get [S$.$status]() {
    return this.status;
  }
  set [S$.$status](value) {
    this.status = value;
  }
  get [S$3.$statusbar]() {
    return this.statusbar;
  }
  get [S$3.$styleMedia]() {
    return this.styleMedia;
  }
  get [S$3.$toolbar]() {
    return this.toolbar;
  }
  get [$top]() {
    return html$._convertNativeToDart_Window(this[S$3._get_top]);
  }
  get [S$3._get_top]() {
    return this.top;
  }
  get [S$3.$visualViewport]() {
    return this.visualViewport;
  }
  get [S$0.$window]() {
    return html$._convertNativeToDart_Window(this[S$0._get_window]);
  }
  get [S$0._get_window]() {
    return this.window;
  }
  [S$.__getter__](index_OR_name) {
    if (core.int.is(index_OR_name)) {
      return dart.nullCheck(html$._convertNativeToDart_Window(this[S$3.__getter___1](index_OR_name)));
    }
    if (typeof index_OR_name == 'string') {
      return dart.nullCheck(html$._convertNativeToDart_Window(this[S$3.__getter___2](index_OR_name)));
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$3.__getter___1](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$3.__getter___2](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$3.$alert](...args) {
    return this.alert.apply(this, args);
  }
  [S$3.$cancelIdleCallback](...args) {
    return this.cancelIdleCallback.apply(this, args);
  }
  [S.$close](...args) {
    return this.close.apply(this, args);
  }
  [S$3.$confirm](...args) {
    return this.confirm.apply(this, args);
  }
  [S$.$fetch](input, init = null) {
    let init_dict = null;
    if (init != null) {
      init_dict = html_common.convertDartToNative_Dictionary(init);
    }
    return js_util.promiseToFuture(dart.dynamic, this.fetch(input, init_dict));
  }
  [S$3.$find](...args) {
    return this.find.apply(this, args);
  }
  [S._getComputedStyle](...args) {
    return this.getComputedStyle.apply(this, args);
  }
  [S$3.$getComputedStyleMap](...args) {
    return this.getComputedStyleMap.apply(this, args);
  }
  [S$3.$getMatchedCssRules](...args) {
    return this.getMatchedCSSRules.apply(this, args);
  }
  [S$1.$getSelection](...args) {
    return this.getSelection.apply(this, args);
  }
  [S$3.$matchMedia](...args) {
    return this.matchMedia.apply(this, args);
  }
  [S$3.$moveBy](...args) {
    return this.moveBy.apply(this, args);
  }
  [S$0._moveTo](...args) {
    return this.moveTo.apply(this, args);
  }
  [S$3._openDatabase](...args) {
    return this.openDatabase.apply(this, args);
  }
  [S$.$postMessage](message, targetOrigin, transfer = null) {
    if (targetOrigin == null) dart.nullFailed(I[147], 32996, 44, "targetOrigin");
    if (transfer != null) {
      let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
      this[S$0._postMessage_1](message_1, targetOrigin, transfer);
      return;
    }
    let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
    this[S$0._postMessage_2](message_1, targetOrigin);
    return;
  }
  [S$0._postMessage_1](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$0._postMessage_2](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$3.$print](...args) {
    return this.print.apply(this, args);
  }
  [S$3.$requestIdleCallback](callback, options = null) {
    if (callback == null) dart.nullFailed(I[147], 33023, 47, "callback");
    if (options != null) {
      let callback_1 = _js_helper.convertDartClosureToJS(T$0.IdleDeadlineTovoid(), callback, 1);
      let options_2 = html_common.convertDartToNative_Dictionary(options);
      return this[S$3._requestIdleCallback_1](callback_1, options_2);
    }
    let callback_1 = _js_helper.convertDartClosureToJS(T$0.IdleDeadlineTovoid(), callback, 1);
    return this[S$3._requestIdleCallback_2](callback_1);
  }
  [S$3._requestIdleCallback_1](...args) {
    return this.requestIdleCallback.apply(this, args);
  }
  [S$3._requestIdleCallback_2](...args) {
    return this.requestIdleCallback.apply(this, args);
  }
  [S$3.$resizeBy](...args) {
    return this.resizeBy.apply(this, args);
  }
  [S$3.$resizeTo](...args) {
    return this.resizeTo.apply(this, args);
  }
  [S.$scroll](options_OR_x = null, y = null, scrollOptions = null) {
    if (options_OR_x == null && y == null && scrollOptions == null) {
      this[S._scroll_1]();
      return;
    }
    if (core.Map.is(options_OR_x) && y == null && scrollOptions == null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options_OR_x);
      this[S._scroll_2](options_1);
      return;
    }
    if (typeof y == 'number' && typeof options_OR_x == 'number' && scrollOptions == null) {
      this[S._scroll_3](options_OR_x, y);
      return;
    }
    if (core.int.is(y) && core.int.is(options_OR_x) && scrollOptions == null) {
      this[S$3._scroll_4](options_OR_x, y);
      return;
    }
    if (scrollOptions != null && core.int.is(y) && core.int.is(options_OR_x)) {
      let scrollOptions_1 = html_common.convertDartToNative_Dictionary(scrollOptions);
      this[S$3._scroll_5](options_OR_x, y, scrollOptions_1);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S._scroll_1](...args) {
    return this.scroll.apply(this, args);
  }
  [S._scroll_2](...args) {
    return this.scroll.apply(this, args);
  }
  [S._scroll_3](...args) {
    return this.scroll.apply(this, args);
  }
  [S$3._scroll_4](...args) {
    return this.scroll.apply(this, args);
  }
  [S$3._scroll_5](...args) {
    return this.scroll.apply(this, args);
  }
  [S.$scrollBy](options_OR_x = null, y = null, scrollOptions = null) {
    if (options_OR_x == null && y == null && scrollOptions == null) {
      this[S._scrollBy_1]();
      return;
    }
    if (core.Map.is(options_OR_x) && y == null && scrollOptions == null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options_OR_x);
      this[S._scrollBy_2](options_1);
      return;
    }
    if (typeof y == 'number' && typeof options_OR_x == 'number' && scrollOptions == null) {
      this[S._scrollBy_3](options_OR_x, y);
      return;
    }
    if (core.int.is(y) && core.int.is(options_OR_x) && scrollOptions == null) {
      this[S$3._scrollBy_4](options_OR_x, y);
      return;
    }
    if (scrollOptions != null && core.int.is(y) && core.int.is(options_OR_x)) {
      let scrollOptions_1 = html_common.convertDartToNative_Dictionary(scrollOptions);
      this[S$3._scrollBy_5](options_OR_x, y, scrollOptions_1);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S._scrollBy_1](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S._scrollBy_2](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S._scrollBy_3](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S$3._scrollBy_4](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S$3._scrollBy_5](...args) {
    return this.scrollBy.apply(this, args);
  }
  [S.$scrollTo](options_OR_x = null, y = null, scrollOptions = null) {
    if (options_OR_x == null && y == null && scrollOptions == null) {
      this[S._scrollTo_1]();
      return;
    }
    if (core.Map.is(options_OR_x) && y == null && scrollOptions == null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options_OR_x);
      this[S._scrollTo_2](options_1);
      return;
    }
    if (typeof y == 'number' && typeof options_OR_x == 'number' && scrollOptions == null) {
      this[S._scrollTo_3](options_OR_x, y);
      return;
    }
    if (core.int.is(y) && core.int.is(options_OR_x) && scrollOptions == null) {
      this[S$3._scrollTo_4](options_OR_x, y);
      return;
    }
    if (scrollOptions != null && core.int.is(y) && core.int.is(options_OR_x)) {
      let scrollOptions_1 = html_common.convertDartToNative_Dictionary(scrollOptions);
      this[S$3._scrollTo_5](options_OR_x, y, scrollOptions_1);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S._scrollTo_1](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S._scrollTo_2](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S._scrollTo_3](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S$3._scrollTo_4](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S$3._scrollTo_5](...args) {
    return this.scrollTo.apply(this, args);
  }
  [S$.$stop](...args) {
    return this.stop.apply(this, args);
  }
  [S$3.__requestFileSystem](...args) {
    return this.webkitRequestFileSystem.apply(this, args);
  }
  [S$3._requestFileSystem](type, size) {
    if (type == null) dart.nullFailed(I[147], 33356, 45, "type");
    if (size == null) dart.nullFailed(I[147], 33356, 55, "size");
    let completer = T$0.CompleterOfFileSystem().new();
    this[S$3.__requestFileSystem](type, size, dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 33358, 38, "value");
      _js_helper.applyExtension("DOMFileSystem", value);
      _js_helper.applyExtension("DirectoryEntry", value.root);
      completer.complete(value);
    }, T$0.FileSystemTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 33362, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$3._resolveLocalFileSystemUrl](...args) {
    return this.webkitResolveLocalFileSystemURL.apply(this, args);
  }
  [S$3.$resolveLocalFileSystemUrl](url) {
    if (url == null) dart.nullFailed(I[147], 33393, 50, "url");
    let completer = T$0.CompleterOfEntry().new();
    this[S$3._resolveLocalFileSystemUrl](url, dart.fn(value => {
      if (value == null) dart.nullFailed(I[147], 33395, 38, "value");
      completer.complete(value);
    }, T$0.EntryTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[147], 33397, 9, "error");
      completer.completeError(error);
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
  [S$0.$atob](...args) {
    return this.atob.apply(this, args);
  }
  [S$0.$btoa](...args) {
    return this.btoa.apply(this, args);
  }
  [S$0._setInterval_String](...args) {
    return this.setInterval.apply(this, args);
  }
  [S$0._setTimeout_String](...args) {
    return this.setTimeout.apply(this, args);
  }
  [S$0._clearInterval](...args) {
    return this.clearInterval.apply(this, args);
  }
  [S$0._clearTimeout](...args) {
    return this.clearTimeout.apply(this, args);
  }
  [S$0._setInterval](...args) {
    return this.setInterval.apply(this, args);
  }
  [S$0._setTimeout](...args) {
    return this.setTimeout.apply(this, args);
  }
  get [S$3.$onContentLoaded]() {
    return html$.Window.contentLoadedEvent.forTarget(this);
  }
  get [S.$onAbort]() {
    return html$.Element.abortEvent.forTarget(this);
  }
  get [S.$onBlur]() {
    return html$.Element.blurEvent.forTarget(this);
  }
  get [S.$onCanPlay]() {
    return html$.Element.canPlayEvent.forTarget(this);
  }
  get [S.$onCanPlayThrough]() {
    return html$.Element.canPlayThroughEvent.forTarget(this);
  }
  get [S.$onChange]() {
    return html$.Element.changeEvent.forTarget(this);
  }
  get [S.$onClick]() {
    return html$.Element.clickEvent.forTarget(this);
  }
  get [S.$onContextMenu]() {
    return html$.Element.contextMenuEvent.forTarget(this);
  }
  get [S.$onDoubleClick]() {
    return html$.Element.doubleClickEvent.forTarget(this);
  }
  get [S$3.$onDeviceMotion]() {
    return html$.Window.deviceMotionEvent.forTarget(this);
  }
  get [S$3.$onDeviceOrientation]() {
    return html$.Window.deviceOrientationEvent.forTarget(this);
  }
  get [S.$onDrag]() {
    return html$.Element.dragEvent.forTarget(this);
  }
  get [S.$onDragEnd]() {
    return html$.Element.dragEndEvent.forTarget(this);
  }
  get [S.$onDragEnter]() {
    return html$.Element.dragEnterEvent.forTarget(this);
  }
  get [S.$onDragLeave]() {
    return html$.Element.dragLeaveEvent.forTarget(this);
  }
  get [S.$onDragOver]() {
    return html$.Element.dragOverEvent.forTarget(this);
  }
  get [S.$onDragStart]() {
    return html$.Element.dragStartEvent.forTarget(this);
  }
  get [S.$onDrop]() {
    return html$.Element.dropEvent.forTarget(this);
  }
  get [S.$onDurationChange]() {
    return html$.Element.durationChangeEvent.forTarget(this);
  }
  get [S.$onEmptied]() {
    return html$.Element.emptiedEvent.forTarget(this);
  }
  get [S.$onEnded]() {
    return html$.Element.endedEvent.forTarget(this);
  }
  get [S.$onError]() {
    return html$.Element.errorEvent.forTarget(this);
  }
  get [S.$onFocus]() {
    return html$.Element.focusEvent.forTarget(this);
  }
  get [S$.$onHashChange]() {
    return html$.Window.hashChangeEvent.forTarget(this);
  }
  get [S.$onInput]() {
    return html$.Element.inputEvent.forTarget(this);
  }
  get [S.$onInvalid]() {
    return html$.Element.invalidEvent.forTarget(this);
  }
  get [S.$onKeyDown]() {
    return html$.Element.keyDownEvent.forTarget(this);
  }
  get [S.$onKeyPress]() {
    return html$.Element.keyPressEvent.forTarget(this);
  }
  get [S.$onKeyUp]() {
    return html$.Element.keyUpEvent.forTarget(this);
  }
  get [S.$onLoad]() {
    return html$.Element.loadEvent.forTarget(this);
  }
  get [S.$onLoadedData]() {
    return html$.Element.loadedDataEvent.forTarget(this);
  }
  get [S.$onLoadedMetadata]() {
    return html$.Element.loadedMetadataEvent.forTarget(this);
  }
  get [S$1.$onLoadStart]() {
    return html$.Window.loadStartEvent.forTarget(this);
  }
  get [S$.$onMessage]() {
    return html$.Window.messageEvent.forTarget(this);
  }
  get [S.$onMouseDown]() {
    return html$.Element.mouseDownEvent.forTarget(this);
  }
  get [S.$onMouseEnter]() {
    return html$.Element.mouseEnterEvent.forTarget(this);
  }
  get [S.$onMouseLeave]() {
    return html$.Element.mouseLeaveEvent.forTarget(this);
  }
  get [S.$onMouseMove]() {
    return html$.Element.mouseMoveEvent.forTarget(this);
  }
  get [S.$onMouseOut]() {
    return html$.Element.mouseOutEvent.forTarget(this);
  }
  get [S.$onMouseOver]() {
    return html$.Element.mouseOverEvent.forTarget(this);
  }
  get [S.$onMouseUp]() {
    return html$.Element.mouseUpEvent.forTarget(this);
  }
  get [S.$onMouseWheel]() {
    return html$.Element.mouseWheelEvent.forTarget(this);
  }
  get [S$.$onOffline]() {
    return html$.Window.offlineEvent.forTarget(this);
  }
  get [S$.$onOnline]() {
    return html$.Window.onlineEvent.forTarget(this);
  }
  get [S$3.$onPageHide]() {
    return html$.Window.pageHideEvent.forTarget(this);
  }
  get [S$3.$onPageShow]() {
    return html$.Window.pageShowEvent.forTarget(this);
  }
  get [S.$onPause]() {
    return html$.Element.pauseEvent.forTarget(this);
  }
  get [S.$onPlay]() {
    return html$.Element.playEvent.forTarget(this);
  }
  get [S.$onPlaying]() {
    return html$.Element.playingEvent.forTarget(this);
  }
  get [S$.$onPopState]() {
    return html$.Window.popStateEvent.forTarget(this);
  }
  get [S$.$onProgress]() {
    return html$.Window.progressEvent.forTarget(this);
  }
  get [S.$onRateChange]() {
    return html$.Element.rateChangeEvent.forTarget(this);
  }
  get [S.$onReset]() {
    return html$.Element.resetEvent.forTarget(this);
  }
  get [S.$onResize]() {
    return html$.Element.resizeEvent.forTarget(this);
  }
  get [S.$onScroll]() {
    return html$.Element.scrollEvent.forTarget(this);
  }
  get [S.$onSearch]() {
    return html$.Element.searchEvent.forTarget(this);
  }
  get [S.$onSeeked]() {
    return html$.Element.seekedEvent.forTarget(this);
  }
  get [S.$onSeeking]() {
    return html$.Element.seekingEvent.forTarget(this);
  }
  get [S.$onSelect]() {
    return html$.Element.selectEvent.forTarget(this);
  }
  get [S$.$onStalled]() {
    return html$.Element.stalledEvent.forTarget(this);
  }
  get [S$.$onStorage]() {
    return html$.Window.storageEvent.forTarget(this);
  }
  get [S$.$onSubmit]() {
    return html$.Element.submitEvent.forTarget(this);
  }
  get [S$.$onSuspend]() {
    return html$.Element.suspendEvent.forTarget(this);
  }
  get [S$.$onTimeUpdate]() {
    return html$.Element.timeUpdateEvent.forTarget(this);
  }
  get [S$.$onTouchCancel]() {
    return html$.Element.touchCancelEvent.forTarget(this);
  }
  get [S$.$onTouchEnd]() {
    return html$.Element.touchEndEvent.forTarget(this);
  }
  get [S$.$onTouchMove]() {
    return html$.Element.touchMoveEvent.forTarget(this);
  }
  get [S$.$onTouchStart]() {
    return html$.Element.touchStartEvent.forTarget(this);
  }
  get [S$.$onTransitionEnd]() {
    return html$.Element.transitionEndEvent.forTarget(this);
  }
  get [S$.$onUnload]() {
    return html$.Window.unloadEvent.forTarget(this);
  }
  get [S$.$onVolumeChange]() {
    return html$.Element.volumeChangeEvent.forTarget(this);
  }
  get [S$.$onWaiting]() {
    return html$.Element.waitingEvent.forTarget(this);
  }
  get [S$3.$onAnimationEnd]() {
    return html$.Window.animationEndEvent.forTarget(this);
  }
  get [S$3.$onAnimationIteration]() {
    return html$.Window.animationIterationEvent.forTarget(this);
  }
  get [S$3.$onAnimationStart]() {
    return html$.Window.animationStartEvent.forTarget(this);
  }
  get [S$3.$onBeforeUnload]() {
    return html$.Window.beforeUnloadEvent.forTarget(this);
  }
  get [S$.$onWheel]() {
    return html$.Element.wheelEvent.forTarget(this);
  }
  [S$.$moveTo](p) {
    if (p == null) dart.nullFailed(I[147], 33679, 21, "p");
    this[S$0._moveTo](p.x[$toInt](), p.y[$toInt]());
  }
  [S$3.$openDatabase](name, version, displayName, estimatedSize, creationCallback = null) {
    if (name == null) dart.nullFailed(I[147], 33689, 14, "name");
    if (version == null) dart.nullFailed(I[147], 33689, 27, "version");
    if (displayName == null) dart.nullFailed(I[147], 33689, 43, "displayName");
    if (estimatedSize == null) dart.nullFailed(I[147], 33689, 60, "estimatedSize");
    let db = null;
    if (creationCallback == null)
      db = this[S$3._openDatabase](name, version, displayName, estimatedSize);
    else
      db = this[S$3._openDatabase](name, version, displayName, estimatedSize, creationCallback);
    _js_helper.applyExtension("Database", db);
    return web_sql.SqlDatabase.as(db);
  }
  get [S$3.$pageXOffset]() {
    return this.pageXOffset[$round]();
  }
  get [S$3.$pageYOffset]() {
    return this.pageYOffset[$round]();
  }
  get [S$3.$scrollX]() {
    return "scrollX" in this ? this.scrollX[$round]() : dart.nullCheck(this[S$3.$document].documentElement)[S.$scrollLeft];
  }
  get [S$3.$scrollY]() {
    return "scrollY" in this ? this.scrollY[$round]() : dart.nullCheck(this[S$3.$document].documentElement)[S.$scrollTop];
  }
};
dart.addTypeTests(html$.Window);
dart.addTypeCaches(html$.Window);
html$.Window[dart.implements] = () => [html$.WindowEventHandlers, html$.WindowBase, html$.GlobalEventHandlers, html$._WindowTimers, html$.WindowBase64];
dart.setMethodSignature(html$.Window, () => ({
  __proto__: dart.getMethods(html$.Window.__proto__),
  [S$3._open2]: dart.fnType(dart.nullable(html$.WindowBase), [dart.dynamic, dart.dynamic]),
  [S$3._open3]: dart.fnType(dart.nullable(html$.WindowBase), [dart.dynamic, dart.dynamic, dart.dynamic]),
  [S.$open]: dart.fnType(html$.WindowBase, [core.String, core.String], [dart.nullable(core.String)]),
  [S$3.$requestAnimationFrame]: dart.fnType(core.int, [dart.fnType(dart.void, [core.num])]),
  [S$3.$cancelAnimationFrame]: dart.fnType(dart.void, [core.int]),
  [S$3._requestAnimationFrame]: dart.fnType(core.int, [dart.fnType(dart.void, [core.num])]),
  [S$3._cancelAnimationFrame]: dart.fnType(dart.void, [core.int]),
  [S$3._ensureRequestAnimationFrame]: dart.fnType(dart.dynamic, []),
  [S$3.$requestFileSystem]: dart.fnType(async.Future$(html$.FileSystem), [core.int], {persistent: core.bool}, {}),
  [S$.__getter__]: dart.fnType(html$.WindowBase, [dart.dynamic]),
  [S$3.__getter___1]: dart.fnType(dart.dynamic, [core.int]),
  [S$3.__getter___2]: dart.fnType(dart.dynamic, [core.String]),
  [S$3.$alert]: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  [S$3.$cancelIdleCallback]: dart.fnType(dart.void, [core.int]),
  [S.$close]: dart.fnType(dart.void, []),
  [S$3.$confirm]: dart.fnType(core.bool, [], [dart.nullable(core.String)]),
  [S$.$fetch]: dart.fnType(async.Future, [dart.dynamic], [dart.nullable(core.Map)]),
  [S$3.$find]: dart.fnType(core.bool, [dart.nullable(core.String), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.bool), dart.nullable(core.bool)]),
  [S._getComputedStyle]: dart.fnType(html$.CssStyleDeclaration, [html$.Element], [dart.nullable(core.String)]),
  [S$3.$getComputedStyleMap]: dart.fnType(html$.StylePropertyMapReadonly, [html$.Element, dart.nullable(core.String)]),
  [S$3.$getMatchedCssRules]: dart.fnType(core.List$(html$.CssRule), [dart.nullable(html$.Element), dart.nullable(core.String)]),
  [S$1.$getSelection]: dart.fnType(dart.nullable(html$.Selection), []),
  [S$3.$matchMedia]: dart.fnType(html$.MediaQueryList, [core.String]),
  [S$3.$moveBy]: dart.fnType(dart.void, [core.int, core.int]),
  [S$0._moveTo]: dart.fnType(dart.void, [core.int, core.int]),
  [S$3._openDatabase]: dart.fnType(web_sql.SqlDatabase, [core.String, core.String, core.String, core.int], [dart.nullable(dart.fnType(dart.void, [web_sql.SqlDatabase]))]),
  [S$.$postMessage]: dart.fnType(dart.void, [dart.dynamic, core.String], [dart.nullable(core.List$(core.Object))]),
  [S$0._postMessage_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, core.List$(core.Object)]),
  [S$0._postMessage_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic]),
  [S$3.$print]: dart.fnType(dart.void, []),
  [S$3.$requestIdleCallback]: dart.fnType(core.int, [dart.fnType(dart.void, [html$.IdleDeadline])], [dart.nullable(core.Map)]),
  [S$3._requestIdleCallback_1]: dart.fnType(core.int, [dart.dynamic, dart.dynamic]),
  [S$3._requestIdleCallback_2]: dart.fnType(core.int, [dart.dynamic]),
  [S$3.$resizeBy]: dart.fnType(dart.void, [core.int, core.int]),
  [S$3.$resizeTo]: dart.fnType(dart.void, [core.int, core.int]),
  [S.$scroll]: dart.fnType(dart.void, [], [dart.dynamic, dart.dynamic, dart.nullable(core.Map)]),
  [S._scroll_1]: dart.fnType(dart.void, []),
  [S._scroll_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S._scroll_3]: dart.fnType(dart.void, [dart.nullable(core.num), dart.nullable(core.num)]),
  [S$3._scroll_4]: dart.fnType(dart.void, [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$3._scroll_5]: dart.fnType(dart.void, [dart.nullable(core.int), dart.nullable(core.int), dart.dynamic]),
  [S.$scrollBy]: dart.fnType(dart.void, [], [dart.dynamic, dart.dynamic, dart.nullable(core.Map)]),
  [S._scrollBy_1]: dart.fnType(dart.void, []),
  [S._scrollBy_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S._scrollBy_3]: dart.fnType(dart.void, [dart.nullable(core.num), dart.nullable(core.num)]),
  [S$3._scrollBy_4]: dart.fnType(dart.void, [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$3._scrollBy_5]: dart.fnType(dart.void, [dart.nullable(core.int), dart.nullable(core.int), dart.dynamic]),
  [S.$scrollTo]: dart.fnType(dart.void, [], [dart.dynamic, dart.dynamic, dart.nullable(core.Map)]),
  [S._scrollTo_1]: dart.fnType(dart.void, []),
  [S._scrollTo_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S._scrollTo_3]: dart.fnType(dart.void, [dart.nullable(core.num), dart.nullable(core.num)]),
  [S$3._scrollTo_4]: dart.fnType(dart.void, [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$3._scrollTo_5]: dart.fnType(dart.void, [dart.nullable(core.int), dart.nullable(core.int), dart.dynamic]),
  [S$.$stop]: dart.fnType(dart.void, []),
  [S$3.__requestFileSystem]: dart.fnType(dart.void, [core.int, core.int, dart.fnType(dart.void, [html$.FileSystem])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$3._requestFileSystem]: dart.fnType(async.Future$(html$.FileSystem), [core.int, core.int]),
  [S$3._resolveLocalFileSystemUrl]: dart.fnType(dart.void, [core.String, dart.fnType(dart.void, [html$.Entry])], [dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$3.$resolveLocalFileSystemUrl]: dart.fnType(async.Future$(html$.Entry), [core.String]),
  [S$0.$atob]: dart.fnType(core.String, [core.String]),
  [S$0.$btoa]: dart.fnType(core.String, [core.String]),
  [S$0._setInterval_String]: dart.fnType(core.int, [core.String], [dart.nullable(core.int), dart.nullable(core.Object)]),
  [S$0._setTimeout_String]: dart.fnType(core.int, [core.String], [dart.nullable(core.int), dart.nullable(core.Object)]),
  [S$0._clearInterval]: dart.fnType(dart.void, [], [dart.nullable(core.int)]),
  [S$0._clearTimeout]: dart.fnType(dart.void, [], [dart.nullable(core.int)]),
  [S$0._setInterval]: dart.fnType(core.int, [core.Object], [dart.nullable(core.int)]),
  [S$0._setTimeout]: dart.fnType(core.int, [core.Object], [dart.nullable(core.int)]),
  [S$.$moveTo]: dart.fnType(dart.void, [math.Point$(core.num)]),
  [S$3.$openDatabase]: dart.fnType(web_sql.SqlDatabase, [core.String, core.String, core.String, core.int], [dart.nullable(dart.fnType(dart.void, [web_sql.SqlDatabase]))])
}));
dart.setGetterSignature(html$.Window, () => ({
  __proto__: dart.getGetters(html$.Window.__proto__),
  [S$3.$animationFrame]: async.Future$(core.num),
  [S$3.$document]: html$.Document,
  [S$0.$location]: html$.Location,
  [S$3._location]: dart.dynamic,
  [S$0.$indexedDB]: dart.nullable(indexed_db.IdbFactory),
  [S$2.$console]: html$.Console,
  [S$3.$animationWorklet]: dart.nullable(html$._Worklet),
  [S$3.$applicationCache]: dart.nullable(html$.ApplicationCache),
  [S$3.$audioWorklet]: dart.nullable(html$._Worklet),
  [S$0.$caches]: dart.nullable(html$.CacheStorage),
  [S$1.$closed]: dart.nullable(core.bool),
  [S$3.$cookieStore]: dart.nullable(html$.CookieStore),
  [S$0.$crypto]: dart.nullable(html$.Crypto),
  [S$3.$customElements]: dart.nullable(html$.CustomElementRegistry),
  [S$3.$defaultStatus]: dart.nullable(core.String),
  [S$3.$defaultstatus]: dart.nullable(core.String),
  [S$2.$devicePixelRatio]: core.num,
  [S$3.$external]: dart.nullable(html$.External),
  [S$3.$history]: html$.History,
  [S$3.$innerHeight]: dart.nullable(core.int),
  [S$3.$innerWidth]: dart.nullable(core.int),
  [S$0.$isSecureContext]: dart.nullable(core.bool),
  [S$3.$localStorage]: html$.Storage,
  [S$3.$locationbar]: dart.nullable(html$.BarProp),
  [S$3.$menubar]: dart.nullable(html$.BarProp),
  [$name]: dart.nullable(core.String),
  [S$0.$navigator]: html$.Navigator,
  [S$3.$offscreenBuffering]: dart.nullable(core.bool),
  [S$3.$opener]: dart.nullable(html$.WindowBase),
  [S$3._get_opener]: dart.dynamic,
  [S$.$orientation]: dart.nullable(core.int),
  [S$.$origin]: dart.nullable(core.String),
  [S$3.$outerHeight]: core.int,
  [S$3.$outerWidth]: core.int,
  [S$3._pageXOffset]: core.num,
  [S$3._pageYOffset]: core.num,
  [S.$parent]: dart.nullable(html$.WindowBase),
  [S$3._get_parent]: dart.dynamic,
  [S$0.$performance]: html$.Performance,
  [S$1.$screen]: dart.nullable(html$.Screen),
  [S$3.$screenLeft]: dart.nullable(core.int),
  [S$3.$screenTop]: dart.nullable(core.int),
  [S$3.$screenX]: dart.nullable(core.int),
  [S$3.$screenY]: dart.nullable(core.int),
  [S$3.$scrollbars]: dart.nullable(html$.BarProp),
  [S$0.$self]: dart.nullable(html$.WindowBase),
  [S$3._get_self]: dart.dynamic,
  [S$3.$sessionStorage]: html$.Storage,
  [S$3.$speechSynthesis]: dart.nullable(html$.SpeechSynthesis),
  [S$.$status]: dart.nullable(core.String),
  [S$3.$statusbar]: dart.nullable(html$.BarProp),
  [S$3.$styleMedia]: dart.nullable(html$.StyleMedia),
  [S$3.$toolbar]: dart.nullable(html$.BarProp),
  [$top]: dart.nullable(html$.WindowBase),
  [S$3._get_top]: dart.dynamic,
  [S$3.$visualViewport]: dart.nullable(html$.VisualViewport),
  [S$0.$window]: dart.nullable(html$.WindowBase),
  [S$0._get_window]: dart.dynamic,
  [S$3.$onContentLoaded]: async.Stream$(html$.Event),
  [S.$onAbort]: async.Stream$(html$.Event),
  [S.$onBlur]: async.Stream$(html$.Event),
  [S.$onCanPlay]: async.Stream$(html$.Event),
  [S.$onCanPlayThrough]: async.Stream$(html$.Event),
  [S.$onChange]: async.Stream$(html$.Event),
  [S.$onClick]: async.Stream$(html$.MouseEvent),
  [S.$onContextMenu]: async.Stream$(html$.MouseEvent),
  [S.$onDoubleClick]: async.Stream$(html$.Event),
  [S$3.$onDeviceMotion]: async.Stream$(html$.DeviceMotionEvent),
  [S$3.$onDeviceOrientation]: async.Stream$(html$.DeviceOrientationEvent),
  [S.$onDrag]: async.Stream$(html$.MouseEvent),
  [S.$onDragEnd]: async.Stream$(html$.MouseEvent),
  [S.$onDragEnter]: async.Stream$(html$.MouseEvent),
  [S.$onDragLeave]: async.Stream$(html$.MouseEvent),
  [S.$onDragOver]: async.Stream$(html$.MouseEvent),
  [S.$onDragStart]: async.Stream$(html$.MouseEvent),
  [S.$onDrop]: async.Stream$(html$.MouseEvent),
  [S.$onDurationChange]: async.Stream$(html$.Event),
  [S.$onEmptied]: async.Stream$(html$.Event),
  [S.$onEnded]: async.Stream$(html$.Event),
  [S.$onError]: async.Stream$(html$.Event),
  [S.$onFocus]: async.Stream$(html$.Event),
  [S$.$onHashChange]: async.Stream$(html$.Event),
  [S.$onInput]: async.Stream$(html$.Event),
  [S.$onInvalid]: async.Stream$(html$.Event),
  [S.$onKeyDown]: async.Stream$(html$.KeyboardEvent),
  [S.$onKeyPress]: async.Stream$(html$.KeyboardEvent),
  [S.$onKeyUp]: async.Stream$(html$.KeyboardEvent),
  [S.$onLoad]: async.Stream$(html$.Event),
  [S.$onLoadedData]: async.Stream$(html$.Event),
  [S.$onLoadedMetadata]: async.Stream$(html$.Event),
  [S$1.$onLoadStart]: async.Stream$(html$.Event),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent),
  [S.$onMouseDown]: async.Stream$(html$.MouseEvent),
  [S.$onMouseEnter]: async.Stream$(html$.MouseEvent),
  [S.$onMouseLeave]: async.Stream$(html$.MouseEvent),
  [S.$onMouseMove]: async.Stream$(html$.MouseEvent),
  [S.$onMouseOut]: async.Stream$(html$.MouseEvent),
  [S.$onMouseOver]: async.Stream$(html$.MouseEvent),
  [S.$onMouseUp]: async.Stream$(html$.MouseEvent),
  [S.$onMouseWheel]: async.Stream$(html$.WheelEvent),
  [S$.$onOffline]: async.Stream$(html$.Event),
  [S$.$onOnline]: async.Stream$(html$.Event),
  [S$3.$onPageHide]: async.Stream$(html$.Event),
  [S$3.$onPageShow]: async.Stream$(html$.Event),
  [S.$onPause]: async.Stream$(html$.Event),
  [S.$onPlay]: async.Stream$(html$.Event),
  [S.$onPlaying]: async.Stream$(html$.Event),
  [S$.$onPopState]: async.Stream$(html$.PopStateEvent),
  [S$.$onProgress]: async.Stream$(html$.Event),
  [S.$onRateChange]: async.Stream$(html$.Event),
  [S.$onReset]: async.Stream$(html$.Event),
  [S.$onResize]: async.Stream$(html$.Event),
  [S.$onScroll]: async.Stream$(html$.Event),
  [S.$onSearch]: async.Stream$(html$.Event),
  [S.$onSeeked]: async.Stream$(html$.Event),
  [S.$onSeeking]: async.Stream$(html$.Event),
  [S.$onSelect]: async.Stream$(html$.Event),
  [S$.$onStalled]: async.Stream$(html$.Event),
  [S$.$onStorage]: async.Stream$(html$.StorageEvent),
  [S$.$onSubmit]: async.Stream$(html$.Event),
  [S$.$onSuspend]: async.Stream$(html$.Event),
  [S$.$onTimeUpdate]: async.Stream$(html$.Event),
  [S$.$onTouchCancel]: async.Stream$(html$.TouchEvent),
  [S$.$onTouchEnd]: async.Stream$(html$.TouchEvent),
  [S$.$onTouchMove]: async.Stream$(html$.TouchEvent),
  [S$.$onTouchStart]: async.Stream$(html$.TouchEvent),
  [S$.$onTransitionEnd]: async.Stream$(html$.TransitionEvent),
  [S$.$onUnload]: async.Stream$(html$.Event),
  [S$.$onVolumeChange]: async.Stream$(html$.Event),
  [S$.$onWaiting]: async.Stream$(html$.Event),
  [S$3.$onAnimationEnd]: async.Stream$(html$.AnimationEvent),
  [S$3.$onAnimationIteration]: async.Stream$(html$.AnimationEvent),
  [S$3.$onAnimationStart]: async.Stream$(html$.AnimationEvent),
  [S$3.$onBeforeUnload]: async.Stream$(html$.Event),
  [S$.$onWheel]: async.Stream$(html$.WheelEvent),
  [S$3.$pageXOffset]: core.int,
  [S$3.$pageYOffset]: core.int,
  [S$3.$scrollX]: core.int,
  [S$3.$scrollY]: core.int
}));
dart.setSetterSignature(html$.Window, () => ({
  __proto__: dart.getSetters(html$.Window.__proto__),
  [S$0.$location]: html$.LocationBase,
  [S$3._location]: dart.dynamic,
  [S$3.$defaultStatus]: dart.nullable(core.String),
  [S$3.$defaultstatus]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S$3.$opener]: dart.nullable(html$.WindowBase),
  [S$.$status]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.Window, I[148]);
dart.defineLazy(html$.Window, {
  /*html$.Window.contentLoadedEvent*/get contentLoadedEvent() {
    return C[390] || CT.C390;
  },
  /*html$.Window.deviceMotionEvent*/get deviceMotionEvent() {
    return C[391] || CT.C391;
  },
  /*html$.Window.deviceOrientationEvent*/get deviceOrientationEvent() {
    return C[392] || CT.C392;
  },
  /*html$.Window.hashChangeEvent*/get hashChangeEvent() {
    return C[313] || CT.C313;
  },
  /*html$.Window.loadStartEvent*/get loadStartEvent() {
    return C[393] || CT.C393;
  },
  /*html$.Window.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  },
  /*html$.Window.offlineEvent*/get offlineEvent() {
    return C[315] || CT.C315;
  },
  /*html$.Window.onlineEvent*/get onlineEvent() {
    return C[316] || CT.C316;
  },
  /*html$.Window.pageHideEvent*/get pageHideEvent() {
    return C[394] || CT.C394;
  },
  /*html$.Window.pageShowEvent*/get pageShowEvent() {
    return C[395] || CT.C395;
  },
  /*html$.Window.popStateEvent*/get popStateEvent() {
    return C[317] || CT.C317;
  },
  /*html$.Window.progressEvent*/get progressEvent() {
    return C[396] || CT.C396;
  },
  /*html$.Window.storageEvent*/get storageEvent() {
    return C[318] || CT.C318;
  },
  /*html$.Window.unloadEvent*/get unloadEvent() {
    return C[319] || CT.C319;
  },
  /*html$.Window.animationEndEvent*/get animationEndEvent() {
    return C[397] || CT.C397;
  },
  /*html$.Window.animationIterationEvent*/get animationIterationEvent() {
    return C[398] || CT.C398;
  },
  /*html$.Window.animationStartEvent*/get animationStartEvent() {
    return C[399] || CT.C399;
  },
  /*html$.Window.PERSISTENT*/get PERSISTENT() {
    return 1;
  },
  /*html$.Window.TEMPORARY*/get TEMPORARY() {
    return 0;
  },
  /*html$.Window.beforeUnloadEvent*/get beforeUnloadEvent() {
    return C[400] || CT.C400;
  }
}, false);
dart.registerExtension("Window", html$.Window);
dart.registerExtension("DOMWindow", html$.Window);
html$._WrappedEvent = class _WrappedEvent extends core.Object {
  get wrapped() {
    return this[S$3.wrapped];
  }
  set wrapped(value) {
    super.wrapped = value;
  }
  get bubbles() {
    return dart.nullCheck(this.wrapped.bubbles);
  }
  get cancelable() {
    return dart.nullCheck(this.wrapped.cancelable);
  }
  get composed() {
    return dart.nullCheck(this.wrapped.composed);
  }
  get currentTarget() {
    return this.wrapped[S.$currentTarget];
  }
  get defaultPrevented() {
    return this.wrapped.defaultPrevented;
  }
  get eventPhase() {
    return this.wrapped.eventPhase;
  }
  get isTrusted() {
    return dart.nullCheck(this.wrapped.isTrusted);
  }
  get target() {
    return this.wrapped[S.$target];
  }
  get timeStamp() {
    return dart.nullCast(this.wrapped.timeStamp, core.double);
  }
  get type() {
    return this.wrapped.type;
  }
  [S._initEvent](type, bubbles = null, cancelable = null) {
    if (type == null) dart.nullFailed(I[147], 40746, 26, "type");
    dart.throw(new core.UnsupportedError.new("Cannot initialize this Event."));
  }
  preventDefault() {
    this.wrapped.preventDefault();
  }
  stopImmediatePropagation() {
    this.wrapped.stopImmediatePropagation();
  }
  stopPropagation() {
    this.wrapped.stopPropagation();
  }
  composedPath() {
    return this.wrapped.composedPath();
  }
  get matchingTarget() {
    if (this[S._selector] == null) {
      dart.throw(new core.UnsupportedError.new("Cannot call matchingTarget if this Event did" + " not arise as a result of event delegation."));
    }
    let currentTarget = T$0.ElementN().as(this.currentTarget);
    let target = T$0.ElementN().as(this.target);
    do {
      if (dart.test(dart.nullCheck(target)[S.$matches](dart.nullCheck(this[S._selector])))) return target;
      target = target[S.$parent];
    } while (target != null && !dart.equals(target, dart.nullCheck(currentTarget)[S.$parent]));
    dart.throw(new core.StateError.new("No selector matched for populating matchedTarget."));
  }
  get path() {
    return T$0.ListOfNode().as(this.wrapped[S.$path]);
  }
  get [S._get_currentTarget]() {
    return this.wrapped[S._get_currentTarget];
  }
  get [S._get_target]() {
    return this.wrapped[S._get_target];
  }
};
(html$._WrappedEvent.new = function(wrapped) {
  if (wrapped == null) dart.nullFailed(I[147], 40724, 22, "wrapped");
  this[S._selector] = null;
  this[S$3.wrapped] = wrapped;
  ;
}).prototype = html$._WrappedEvent.prototype;
dart.addTypeTests(html$._WrappedEvent);
dart.addTypeCaches(html$._WrappedEvent);
html$._WrappedEvent[dart.implements] = () => [html$.Event];
dart.setMethodSignature(html$._WrappedEvent, () => ({
  __proto__: dart.getMethods(html$._WrappedEvent.__proto__),
  [S._initEvent]: dart.fnType(dart.void, [core.String], [dart.nullable(core.bool), dart.nullable(core.bool)]),
  preventDefault: dart.fnType(dart.void, []),
  [S.$preventDefault]: dart.fnType(dart.void, []),
  stopImmediatePropagation: dart.fnType(dart.void, []),
  [S.$stopImmediatePropagation]: dart.fnType(dart.void, []),
  stopPropagation: dart.fnType(dart.void, []),
  [S.$stopPropagation]: dart.fnType(dart.void, []),
  composedPath: dart.fnType(core.List$(html$.EventTarget), []),
  [S.$composedPath]: dart.fnType(core.List$(html$.EventTarget), [])
}));
dart.setGetterSignature(html$._WrappedEvent, () => ({
  __proto__: dart.getGetters(html$._WrappedEvent.__proto__),
  bubbles: core.bool,
  [S.$bubbles]: core.bool,
  cancelable: core.bool,
  [S.$cancelable]: core.bool,
  composed: core.bool,
  [S.$composed]: core.bool,
  currentTarget: dart.nullable(html$.EventTarget),
  [S.$currentTarget]: dart.nullable(html$.EventTarget),
  defaultPrevented: core.bool,
  [S.$defaultPrevented]: core.bool,
  eventPhase: core.int,
  [S.$eventPhase]: core.int,
  isTrusted: core.bool,
  [S.$isTrusted]: core.bool,
  target: dart.nullable(html$.EventTarget),
  [S.$target]: dart.nullable(html$.EventTarget),
  timeStamp: core.double,
  [S.$timeStamp]: core.double,
  type: core.String,
  [S.$type]: core.String,
  matchingTarget: html$.Element,
  [S.$matchingTarget]: html$.Element,
  path: core.List$(html$.Node),
  [S.$path]: core.List$(html$.Node),
  [S._get_currentTarget]: dart.dynamic,
  [S._get_target]: dart.dynamic
}));
dart.setLibraryUri(html$._WrappedEvent, I[148]);
dart.setFieldSignature(html$._WrappedEvent, () => ({
  __proto__: dart.getFields(html$._WrappedEvent.__proto__),
  wrapped: dart.finalFieldType(html$.Event),
  [S._selector]: dart.fieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(html$._WrappedEvent, ['preventDefault', 'stopImmediatePropagation', 'stopPropagation', 'composedPath']);
dart.defineExtensionAccessors(html$._WrappedEvent, [
  'bubbles',
  'cancelable',
  'composed',
  'currentTarget',
  'defaultPrevented',
  'eventPhase',
  'isTrusted',
  'target',
  'timeStamp',
  'type',
  'matchingTarget',
  'path'
]);
html$._BeforeUnloadEvent = class _BeforeUnloadEvent extends html$._WrappedEvent {
  get returnValue() {
    return this[S$3._returnValue];
  }
  set returnValue(value) {
    this[S$3._returnValue] = dart.nullCheck(value);
    if ("returnValue" in this.wrapped) {
      this.wrapped.returnValue = value;
    }
  }
};
(html$._BeforeUnloadEvent.new = function(base) {
  if (base == null) dart.nullFailed(I[147], 33739, 28, "base");
  this[S$3._returnValue] = "";
  html$._BeforeUnloadEvent.__proto__.new.call(this, base);
  ;
}).prototype = html$._BeforeUnloadEvent.prototype;
dart.addTypeTests(html$._BeforeUnloadEvent);
dart.addTypeCaches(html$._BeforeUnloadEvent);
html$._BeforeUnloadEvent[dart.implements] = () => [html$.BeforeUnloadEvent];
dart.setGetterSignature(html$._BeforeUnloadEvent, () => ({
  __proto__: dart.getGetters(html$._BeforeUnloadEvent.__proto__),
  returnValue: core.String,
  [S$.$returnValue]: core.String
}));
dart.setSetterSignature(html$._BeforeUnloadEvent, () => ({
  __proto__: dart.getSetters(html$._BeforeUnloadEvent.__proto__),
  returnValue: dart.nullable(core.String),
  [S$.$returnValue]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$._BeforeUnloadEvent, I[148]);
dart.setFieldSignature(html$._BeforeUnloadEvent, () => ({
  __proto__: dart.getFields(html$._BeforeUnloadEvent.__proto__),
  [S$3._returnValue]: dart.fieldType(core.String)
}));
dart.defineExtensionAccessors(html$._BeforeUnloadEvent, ['returnValue']);
html$._BeforeUnloadEventStreamProvider = class _BeforeUnloadEventStreamProvider extends core.Object {
  get [S$3._eventType$1]() {
    return this[S$3._eventType];
  }
  set [S$3._eventType$1](value) {
    super[S$3._eventType$1] = value;
  }
  forTarget(e, opts) {
    let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
    if (useCapture == null) dart.nullFailed(I[147], 33763, 13, "useCapture");
    let stream = new (T$0._EventStreamOfBeforeUnloadEvent()).new(e, this[S$3._eventType$1], useCapture);
    let controller = T$0.StreamControllerOfBeforeUnloadEvent().new({sync: true});
    stream.listen(dart.fn(event => {
      if (event == null) dart.nullFailed(I[147], 33768, 20, "event");
      let wrapped = new html$._BeforeUnloadEvent.new(event);
      controller.add(wrapped);
    }, T$0.BeforeUnloadEventTovoid()));
    return controller.stream;
  }
  getEventType(target) {
    if (target == null) dart.nullFailed(I[147], 33776, 35, "target");
    return this[S$3._eventType$1];
  }
  forElement(e, opts) {
    if (e == null) dart.nullFailed(I[147], 33780, 55, "e");
    let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
    if (useCapture == null) dart.nullFailed(I[147], 33781, 13, "useCapture");
    return new (T$0._ElementEventStreamImplOfBeforeUnloadEvent()).new(e, this[S$3._eventType$1], useCapture);
  }
  [S$1._forElementList](e, opts) {
    if (e == null) dart.nullFailed(I[147], 33787, 73, "e");
    let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
    if (useCapture == null) dart.nullFailed(I[147], 33788, 13, "useCapture");
    return new (T$0._ElementListEventStreamImplOfBeforeUnloadEvent()).new(e, this[S$3._eventType$1], useCapture);
  }
};
(html$._BeforeUnloadEventStreamProvider.new = function(_eventType) {
  if (_eventType == null) dart.nullFailed(I[147], 33760, 47, "_eventType");
  this[S$3._eventType] = _eventType;
  ;
}).prototype = html$._BeforeUnloadEventStreamProvider.prototype;
dart.addTypeTests(html$._BeforeUnloadEventStreamProvider);
dart.addTypeCaches(html$._BeforeUnloadEventStreamProvider);
html$._BeforeUnloadEventStreamProvider[dart.implements] = () => [html$.EventStreamProvider$(html$.BeforeUnloadEvent)];
dart.setMethodSignature(html$._BeforeUnloadEventStreamProvider, () => ({
  __proto__: dart.getMethods(html$._BeforeUnloadEventStreamProvider.__proto__),
  forTarget: dart.fnType(async.Stream$(html$.BeforeUnloadEvent), [dart.nullable(html$.EventTarget)], {useCapture: core.bool}, {}),
  getEventType: dart.fnType(core.String, [html$.EventTarget]),
  forElement: dart.fnType(html$.ElementStream$(html$.BeforeUnloadEvent), [html$.Element], {useCapture: core.bool}, {}),
  [S$1._forElementList]: dart.fnType(html$.ElementStream$(html$.BeforeUnloadEvent), [html$.ElementList$(html$.Element)], {useCapture: core.bool}, {})
}));
dart.setLibraryUri(html$._BeforeUnloadEventStreamProvider, I[148]);
dart.setFieldSignature(html$._BeforeUnloadEventStreamProvider, () => ({
  __proto__: dart.getFields(html$._BeforeUnloadEventStreamProvider.__proto__),
  [S$3._eventType$1]: dart.finalFieldType(core.String)
}));
html$.WindowBase64 = class WindowBase64 extends _interceptors.Interceptor {};
dart.addTypeTests(html$.WindowBase64);
dart.addTypeCaches(html$.WindowBase64);
dart.setLibraryUri(html$.WindowBase64, I[148]);
html$.WindowClient = class WindowClient extends html$.Client {
  get [S$3.$focused]() {
    return this.focused;
  }
  get [S$1.$visibilityState]() {
    return this.visibilityState;
  }
  [S.$focus]() {
    return js_util.promiseToFuture(html$.WindowClient, this.focus());
  }
  [S$3.$navigate](url) {
    if (url == null) dart.nullFailed(I[147], 33826, 40, "url");
    return js_util.promiseToFuture(html$.WindowClient, this.navigate(url));
  }
};
dart.addTypeTests(html$.WindowClient);
dart.addTypeCaches(html$.WindowClient);
dart.setMethodSignature(html$.WindowClient, () => ({
  __proto__: dart.getMethods(html$.WindowClient.__proto__),
  [S.$focus]: dart.fnType(async.Future$(html$.WindowClient), []),
  [S$3.$navigate]: dart.fnType(async.Future$(html$.WindowClient), [core.String])
}));
dart.setGetterSignature(html$.WindowClient, () => ({
  __proto__: dart.getGetters(html$.WindowClient.__proto__),
  [S$3.$focused]: dart.nullable(core.bool),
  [S$1.$visibilityState]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.WindowClient, I[148]);
dart.registerExtension("WindowClient", html$.WindowClient);
html$.WindowEventHandlers = class WindowEventHandlers extends html$.EventTarget {
  get onHashChange() {
    return html$.WindowEventHandlers.hashChangeEvent.forTarget(this);
  }
  get onMessage() {
    return html$.WindowEventHandlers.messageEvent.forTarget(this);
  }
  get onOffline() {
    return html$.WindowEventHandlers.offlineEvent.forTarget(this);
  }
  get onOnline() {
    return html$.WindowEventHandlers.onlineEvent.forTarget(this);
  }
  get onPopState() {
    return html$.WindowEventHandlers.popStateEvent.forTarget(this);
  }
  get onStorage() {
    return html$.WindowEventHandlers.storageEvent.forTarget(this);
  }
  get onUnload() {
    return html$.WindowEventHandlers.unloadEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.WindowEventHandlers);
dart.addTypeCaches(html$.WindowEventHandlers);
dart.setGetterSignature(html$.WindowEventHandlers, () => ({
  __proto__: dart.getGetters(html$.WindowEventHandlers.__proto__),
  onHashChange: async.Stream$(html$.Event),
  [S$.$onHashChange]: async.Stream$(html$.Event),
  onMessage: async.Stream$(html$.MessageEvent),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent),
  onOffline: async.Stream$(html$.Event),
  [S$.$onOffline]: async.Stream$(html$.Event),
  onOnline: async.Stream$(html$.Event),
  [S$.$onOnline]: async.Stream$(html$.Event),
  onPopState: async.Stream$(html$.PopStateEvent),
  [S$.$onPopState]: async.Stream$(html$.PopStateEvent),
  onStorage: async.Stream$(html$.StorageEvent),
  [S$.$onStorage]: async.Stream$(html$.StorageEvent),
  onUnload: async.Stream$(html$.Event),
  [S$.$onUnload]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(html$.WindowEventHandlers, I[148]);
dart.defineExtensionAccessors(html$.WindowEventHandlers, [
  'onHashChange',
  'onMessage',
  'onOffline',
  'onOnline',
  'onPopState',
  'onStorage',
  'onUnload'
]);
dart.defineLazy(html$.WindowEventHandlers, {
  /*html$.WindowEventHandlers.hashChangeEvent*/get hashChangeEvent() {
    return C[313] || CT.C313;
  },
  /*html$.WindowEventHandlers.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  },
  /*html$.WindowEventHandlers.offlineEvent*/get offlineEvent() {
    return C[315] || CT.C315;
  },
  /*html$.WindowEventHandlers.onlineEvent*/get onlineEvent() {
    return C[316] || CT.C316;
  },
  /*html$.WindowEventHandlers.popStateEvent*/get popStateEvent() {
    return C[317] || CT.C317;
  },
  /*html$.WindowEventHandlers.storageEvent*/get storageEvent() {
    return C[318] || CT.C318;
  },
  /*html$.WindowEventHandlers.unloadEvent*/get unloadEvent() {
    return C[319] || CT.C319;
  }
}, false);
html$.Worker = class Worker$ extends html$.EventTarget {
  static new(scriptUrl) {
    if (scriptUrl == null) dart.nullFailed(I[147], 33907, 25, "scriptUrl");
    return html$.Worker._create_1(scriptUrl);
  }
  static _create_1(scriptUrl) {
    return new Worker(scriptUrl);
  }
  static get supported() {
    return typeof window.Worker != "undefined";
  }
  [S$.$postMessage](message, transfer = null) {
    if (transfer != null) {
      let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
      this[S$0._postMessage_1](message_1, transfer);
      return;
    }
    let message_1 = html_common.convertDartToNative_SerializedScriptValue(message);
    this[S$0._postMessage_2](message_1);
    return;
  }
  [S$0._postMessage_1](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$0._postMessage_2](...args) {
    return this.postMessage.apply(this, args);
  }
  [S$2.$terminate](...args) {
    return this.terminate.apply(this, args);
  }
  get [S.$onError]() {
    return html$.Worker.errorEvent.forTarget(this);
  }
  get [S$.$onMessage]() {
    return html$.Worker.messageEvent.forTarget(this);
  }
};
dart.addTypeTests(html$.Worker);
dart.addTypeCaches(html$.Worker);
html$.Worker[dart.implements] = () => [html$.AbstractWorker];
dart.setMethodSignature(html$.Worker, () => ({
  __proto__: dart.getMethods(html$.Worker.__proto__),
  [S$.$postMessage]: dart.fnType(dart.void, [dart.dynamic], [dart.nullable(core.List$(core.Object))]),
  [S$0._postMessage_1]: dart.fnType(dart.void, [dart.dynamic, dart.nullable(core.List$(core.Object))]),
  [S$0._postMessage_2]: dart.fnType(dart.void, [dart.dynamic]),
  [S$2.$terminate]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.Worker, () => ({
  __proto__: dart.getGetters(html$.Worker.__proto__),
  [S.$onError]: async.Stream$(html$.Event),
  [S$.$onMessage]: async.Stream$(html$.MessageEvent)
}));
dart.setLibraryUri(html$.Worker, I[148]);
dart.defineLazy(html$.Worker, {
  /*html$.Worker.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*html$.Worker.messageEvent*/get messageEvent() {
    return C[314] || CT.C314;
  }
}, false);
dart.registerExtension("Worker", html$.Worker);
html$.WorkerPerformance = class WorkerPerformance extends html$.EventTarget {
  get [S$2.$memory]() {
    return this.memory;
  }
  get [S$2.$timeOrigin]() {
    return this.timeOrigin;
  }
  [S$2.$clearMarks](...args) {
    return this.clearMarks.apply(this, args);
  }
  [S$2.$clearMeasures](...args) {
    return this.clearMeasures.apply(this, args);
  }
  [S$2.$clearResourceTimings](...args) {
    return this.clearResourceTimings.apply(this, args);
  }
  [S$2.$getEntries](...args) {
    return this.getEntries.apply(this, args);
  }
  [S$2.$getEntriesByName](...args) {
    return this.getEntriesByName.apply(this, args);
  }
  [S$2.$getEntriesByType](...args) {
    return this.getEntriesByType.apply(this, args);
  }
  [S$2.$mark](...args) {
    return this.mark.apply(this, args);
  }
  [S$2.$measure](...args) {
    return this.measure.apply(this, args);
  }
  [S$2.$now](...args) {
    return this.now.apply(this, args);
  }
  [S$2.$setResourceTimingBufferSize](...args) {
    return this.setResourceTimingBufferSize.apply(this, args);
  }
};
dart.addTypeTests(html$.WorkerPerformance);
dart.addTypeCaches(html$.WorkerPerformance);
dart.setMethodSignature(html$.WorkerPerformance, () => ({
  __proto__: dart.getMethods(html$.WorkerPerformance.__proto__),
  [S$2.$clearMarks]: dart.fnType(dart.void, [dart.nullable(core.String)]),
  [S$2.$clearMeasures]: dart.fnType(dart.void, [dart.nullable(core.String)]),
  [S$2.$clearResourceTimings]: dart.fnType(dart.void, []),
  [S$2.$getEntries]: dart.fnType(core.List$(html$.PerformanceEntry), []),
  [S$2.$getEntriesByName]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String, dart.nullable(core.String)]),
  [S$2.$getEntriesByType]: dart.fnType(core.List$(html$.PerformanceEntry), [core.String]),
  [S$2.$mark]: dart.fnType(dart.void, [core.String]),
  [S$2.$measure]: dart.fnType(dart.void, [core.String, dart.nullable(core.String), dart.nullable(core.String)]),
  [S$2.$now]: dart.fnType(core.double, []),
  [S$2.$setResourceTimingBufferSize]: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(html$.WorkerPerformance, () => ({
  __proto__: dart.getGetters(html$.WorkerPerformance.__proto__),
  [S$2.$memory]: dart.nullable(html$.MemoryInfo),
  [S$2.$timeOrigin]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$.WorkerPerformance, I[148]);
dart.registerExtension("WorkerPerformance", html$.WorkerPerformance);
html$.WorkletAnimation = class WorkletAnimation$ extends _interceptors.Interceptor {
  static new(animatorName, effects, timelines, options) {
    if (animatorName == null) dart.nullFailed(I[147], 34075, 14, "animatorName");
    if (effects == null) dart.nullFailed(I[147], 34076, 36, "effects");
    if (timelines == null) dart.nullFailed(I[147], 34077, 20, "timelines");
    let options_1 = html_common.convertDartToNative_SerializedScriptValue(options);
    return html$.WorkletAnimation._create_1(animatorName, effects, timelines, options_1);
  }
  static _create_1(animatorName, effects, timelines, options) {
    return new WorkletAnimation(animatorName, effects, timelines, options);
  }
  get [S$.$playState]() {
    return this.playState;
  }
  [S$.$cancel](...args) {
    return this.cancel.apply(this, args);
  }
  [S$.$play](...args) {
    return this.play.apply(this, args);
  }
};
dart.addTypeTests(html$.WorkletAnimation);
dart.addTypeCaches(html$.WorkletAnimation);
dart.setMethodSignature(html$.WorkletAnimation, () => ({
  __proto__: dart.getMethods(html$.WorkletAnimation.__proto__),
  [S$.$cancel]: dart.fnType(dart.void, []),
  [S$.$play]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$.WorkletAnimation, () => ({
  __proto__: dart.getGetters(html$.WorkletAnimation.__proto__),
  [S$.$playState]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.WorkletAnimation, I[148]);
dart.registerExtension("WorkletAnimation", html$.WorkletAnimation);
html$.XPathEvaluator = class XPathEvaluator$ extends _interceptors.Interceptor {
  static new() {
    return html$.XPathEvaluator._create_1();
  }
  static _create_1() {
    return new XPathEvaluator();
  }
  [S$3.$createExpression](...args) {
    return this.createExpression.apply(this, args);
  }
  [S$3.$createNSResolver](...args) {
    return this.createNSResolver.apply(this, args);
  }
  [S$3.$evaluate](...args) {
    return this.evaluate.apply(this, args);
  }
};
dart.addTypeTests(html$.XPathEvaluator);
dart.addTypeCaches(html$.XPathEvaluator);
dart.setMethodSignature(html$.XPathEvaluator, () => ({
  __proto__: dart.getMethods(html$.XPathEvaluator.__proto__),
  [S$3.$createExpression]: dart.fnType(html$.XPathExpression, [core.String, dart.nullable(html$.XPathNSResolver)]),
  [S$3.$createNSResolver]: dart.fnType(html$.XPathNSResolver, [html$.Node]),
  [S$3.$evaluate]: dart.fnType(html$.XPathResult, [core.String, html$.Node, dart.nullable(html$.XPathNSResolver)], [dart.nullable(core.int), dart.nullable(core.Object)])
}));
dart.setLibraryUri(html$.XPathEvaluator, I[148]);
dart.registerExtension("XPathEvaluator", html$.XPathEvaluator);
html$.XPathExpression = class XPathExpression extends _interceptors.Interceptor {
  [S$3.$evaluate](...args) {
    return this.evaluate.apply(this, args);
  }
};
dart.addTypeTests(html$.XPathExpression);
dart.addTypeCaches(html$.XPathExpression);
dart.setMethodSignature(html$.XPathExpression, () => ({
  __proto__: dart.getMethods(html$.XPathExpression.__proto__),
  [S$3.$evaluate]: dart.fnType(html$.XPathResult, [html$.Node], [dart.nullable(core.int), dart.nullable(core.Object)])
}));
dart.setLibraryUri(html$.XPathExpression, I[148]);
dart.registerExtension("XPathExpression", html$.XPathExpression);
html$.XPathNSResolver = class XPathNSResolver extends _interceptors.Interceptor {
  [S$3.$lookupNamespaceUri](...args) {
    return this.lookupNamespaceURI.apply(this, args);
  }
};
dart.addTypeTests(html$.XPathNSResolver);
dart.addTypeCaches(html$.XPathNSResolver);
dart.setMethodSignature(html$.XPathNSResolver, () => ({
  __proto__: dart.getMethods(html$.XPathNSResolver.__proto__),
  [S$3.$lookupNamespaceUri]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.String)])
}));
dart.setLibraryUri(html$.XPathNSResolver, I[148]);
dart.registerExtension("XPathNSResolver", html$.XPathNSResolver);
html$.XPathResult = class XPathResult extends _interceptors.Interceptor {
  get [S$3.$booleanValue]() {
    return this.booleanValue;
  }
  get [S$3.$invalidIteratorState]() {
    return this.invalidIteratorState;
  }
  get [S$3.$numberValue]() {
    return this.numberValue;
  }
  get [S$3.$resultType]() {
    return this.resultType;
  }
  get [S$3.$singleNodeValue]() {
    return this.singleNodeValue;
  }
  get [S$3.$snapshotLength]() {
    return this.snapshotLength;
  }
  get [S$3.$stringValue]() {
    return this.stringValue;
  }
  [S$3.$iterateNext](...args) {
    return this.iterateNext.apply(this, args);
  }
  [S$3.$snapshotItem](...args) {
    return this.snapshotItem.apply(this, args);
  }
};
dart.addTypeTests(html$.XPathResult);
dart.addTypeCaches(html$.XPathResult);
dart.setMethodSignature(html$.XPathResult, () => ({
  __proto__: dart.getMethods(html$.XPathResult.__proto__),
  [S$3.$iterateNext]: dart.fnType(dart.nullable(html$.Node), []),
  [S$3.$snapshotItem]: dart.fnType(dart.nullable(html$.Node), [core.int])
}));
dart.setGetterSignature(html$.XPathResult, () => ({
  __proto__: dart.getGetters(html$.XPathResult.__proto__),
  [S$3.$booleanValue]: dart.nullable(core.bool),
  [S$3.$invalidIteratorState]: dart.nullable(core.bool),
  [S$3.$numberValue]: dart.nullable(core.num),
  [S$3.$resultType]: dart.nullable(core.int),
  [S$3.$singleNodeValue]: dart.nullable(html$.Node),
  [S$3.$snapshotLength]: dart.nullable(core.int),
  [S$3.$stringValue]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$.XPathResult, I[148]);
dart.defineLazy(html$.XPathResult, {
  /*html$.XPathResult.ANY_TYPE*/get ANY_TYPE() {
    return 0;
  },
  /*html$.XPathResult.ANY_UNORDERED_NODE_TYPE*/get ANY_UNORDERED_NODE_TYPE() {
    return 8;
  },
  /*html$.XPathResult.BOOLEAN_TYPE*/get BOOLEAN_TYPE() {
    return 3;
  },
  /*html$.XPathResult.FIRST_ORDERED_NODE_TYPE*/get FIRST_ORDERED_NODE_TYPE() {
    return 9;
  },
  /*html$.XPathResult.NUMBER_TYPE*/get NUMBER_TYPE() {
    return 1;
  },
  /*html$.XPathResult.ORDERED_NODE_ITERATOR_TYPE*/get ORDERED_NODE_ITERATOR_TYPE() {
    return 5;
  },
  /*html$.XPathResult.ORDERED_NODE_SNAPSHOT_TYPE*/get ORDERED_NODE_SNAPSHOT_TYPE() {
    return 7;
  },
  /*html$.XPathResult.STRING_TYPE*/get STRING_TYPE() {
    return 2;
  },
  /*html$.XPathResult.UNORDERED_NODE_ITERATOR_TYPE*/get UNORDERED_NODE_ITERATOR_TYPE() {
    return 4;
  },
  /*html$.XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE*/get UNORDERED_NODE_SNAPSHOT_TYPE() {
    return 6;
  }
}, false);
dart.registerExtension("XPathResult", html$.XPathResult);
html$.XmlDocument = class XmlDocument extends html$.Document {};
dart.addTypeTests(html$.XmlDocument);
dart.addTypeCaches(html$.XmlDocument);
dart.setLibraryUri(html$.XmlDocument, I[148]);
dart.registerExtension("XMLDocument", html$.XmlDocument);
html$.XmlSerializer = class XmlSerializer extends _interceptors.Interceptor {
  static new() {
    return html$.XmlSerializer._create_1();
  }
  static _create_1() {
    return new XMLSerializer();
  }
  [S$3.$serializeToString](...args) {
    return this.serializeToString.apply(this, args);
  }
};
dart.addTypeTests(html$.XmlSerializer);
dart.addTypeCaches(html$.XmlSerializer);
dart.setMethodSignature(html$.XmlSerializer, () => ({
  __proto__: dart.getMethods(html$.XmlSerializer.__proto__),
  [S$3.$serializeToString]: dart.fnType(core.String, [html$.Node])
}));
dart.setLibraryUri(html$.XmlSerializer, I[148]);
dart.registerExtension("XMLSerializer", html$.XmlSerializer);
html$.XsltProcessor = class XsltProcessor extends _interceptors.Interceptor {
  static new() {
    return html$.XsltProcessor._create_1();
  }
  static _create_1() {
    return new XSLTProcessor();
  }
  static get supported() {
    return !!window.XSLTProcessor;
  }
  [S$3.$clearParameters](...args) {
    return this.clearParameters.apply(this, args);
  }
  [S$3.$getParameter](...args) {
    return this.getParameter.apply(this, args);
  }
  [S$3.$importStylesheet](...args) {
    return this.importStylesheet.apply(this, args);
  }
  [S$3.$removeParameter](...args) {
    return this.removeParameter.apply(this, args);
  }
  [S$1.$reset](...args) {
    return this.reset.apply(this, args);
  }
  [S$3.$setParameter](...args) {
    return this.setParameter.apply(this, args);
  }
  [S$3.$transformToDocument](...args) {
    return this.transformToDocument.apply(this, args);
  }
  [S$3.$transformToFragment](...args) {
    return this.transformToFragment.apply(this, args);
  }
};
dart.addTypeTests(html$.XsltProcessor);
dart.addTypeCaches(html$.XsltProcessor);
dart.setMethodSignature(html$.XsltProcessor, () => ({
  __proto__: dart.getMethods(html$.XsltProcessor.__proto__),
  [S$3.$clearParameters]: dart.fnType(dart.void, []),
  [S$3.$getParameter]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.String), core.String]),
  [S$3.$importStylesheet]: dart.fnType(dart.void, [html$.Node]),
  [S$3.$removeParameter]: dart.fnType(dart.void, [dart.nullable(core.String), core.String]),
  [S$1.$reset]: dart.fnType(dart.void, []),
  [S$3.$setParameter]: dart.fnType(dart.void, [dart.nullable(core.String), core.String, core.String]),
  [S$3.$transformToDocument]: dart.fnType(dart.nullable(html$.Document), [html$.Node]),
  [S$3.$transformToFragment]: dart.fnType(dart.nullable(html$.DocumentFragment), [html$.Node, html$.Document])
}));
dart.setLibraryUri(html$.XsltProcessor, I[148]);
dart.registerExtension("XSLTProcessor", html$.XsltProcessor);
html$._Attr = class _Attr extends html$.Node {
  get [S._localName]() {
    return this.localName;
  }
  get [$name]() {
    return this.name;
  }
  get [S._namespaceUri]() {
    return this.namespaceURI;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
dart.addTypeTests(html$._Attr);
dart.addTypeCaches(html$._Attr);
dart.setGetterSignature(html$._Attr, () => ({
  __proto__: dart.getGetters(html$._Attr.__proto__),
  [S._localName]: dart.nullable(core.String),
  [$name]: dart.nullable(core.String),
  [S._namespaceUri]: dart.nullable(core.String),
  [S.$value]: dart.nullable(core.String)
}));
dart.setSetterSignature(html$._Attr, () => ({
  __proto__: dart.getSetters(html$._Attr.__proto__),
  [S.$value]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$._Attr, I[148]);
dart.registerExtension("Attr", html$._Attr);
html$._Bluetooth = class _Bluetooth extends _interceptors.Interceptor {};
dart.addTypeTests(html$._Bluetooth);
dart.addTypeCaches(html$._Bluetooth);
dart.setLibraryUri(html$._Bluetooth, I[148]);
dart.registerExtension("Bluetooth", html$._Bluetooth);
html$._BluetoothCharacteristicProperties = class _BluetoothCharacteristicProperties extends _interceptors.Interceptor {};
dart.addTypeTests(html$._BluetoothCharacteristicProperties);
dart.addTypeCaches(html$._BluetoothCharacteristicProperties);
dart.setLibraryUri(html$._BluetoothCharacteristicProperties, I[148]);
dart.registerExtension("BluetoothCharacteristicProperties", html$._BluetoothCharacteristicProperties);
html$._BluetoothDevice = class _BluetoothDevice extends html$.EventTarget {};
dart.addTypeTests(html$._BluetoothDevice);
dart.addTypeCaches(html$._BluetoothDevice);
dart.setLibraryUri(html$._BluetoothDevice, I[148]);
dart.registerExtension("BluetoothDevice", html$._BluetoothDevice);
html$._BluetoothRemoteGATTCharacteristic = class _BluetoothRemoteGATTCharacteristic extends html$.EventTarget {};
dart.addTypeTests(html$._BluetoothRemoteGATTCharacteristic);
dart.addTypeCaches(html$._BluetoothRemoteGATTCharacteristic);
dart.setLibraryUri(html$._BluetoothRemoteGATTCharacteristic, I[148]);
dart.registerExtension("BluetoothRemoteGATTCharacteristic", html$._BluetoothRemoteGATTCharacteristic);
html$._BluetoothRemoteGATTServer = class _BluetoothRemoteGATTServer extends _interceptors.Interceptor {};
dart.addTypeTests(html$._BluetoothRemoteGATTServer);
dart.addTypeCaches(html$._BluetoothRemoteGATTServer);
dart.setLibraryUri(html$._BluetoothRemoteGATTServer, I[148]);
dart.registerExtension("BluetoothRemoteGATTServer", html$._BluetoothRemoteGATTServer);
html$._BluetoothRemoteGATTService = class _BluetoothRemoteGATTService extends _interceptors.Interceptor {};
dart.addTypeTests(html$._BluetoothRemoteGATTService);
dart.addTypeCaches(html$._BluetoothRemoteGATTService);
dart.setLibraryUri(html$._BluetoothRemoteGATTService, I[148]);
dart.registerExtension("BluetoothRemoteGATTService", html$._BluetoothRemoteGATTService);
html$._BluetoothUUID = class _BluetoothUUID extends _interceptors.Interceptor {};
dart.addTypeTests(html$._BluetoothUUID);
dart.addTypeCaches(html$._BluetoothUUID);
dart.setLibraryUri(html$._BluetoothUUID, I[148]);
dart.registerExtension("BluetoothUUID", html$._BluetoothUUID);
html$._BudgetService = class _BudgetService extends _interceptors.Interceptor {
  [S$3.$getBudget]() {
    return js_util.promiseToFuture(html$.BudgetState, this.getBudget());
  }
  [S$3.$getCost](operation) {
    if (operation == null) dart.nullFailed(I[147], 34402, 33, "operation");
    return js_util.promiseToFuture(core.double, this.getCost(operation));
  }
  [S$3.$reserve](operation) {
    if (operation == null) dart.nullFailed(I[147], 34405, 31, "operation");
    return js_util.promiseToFuture(core.bool, this.reserve(operation));
  }
};
dart.addTypeTests(html$._BudgetService);
dart.addTypeCaches(html$._BudgetService);
dart.setMethodSignature(html$._BudgetService, () => ({
  __proto__: dart.getMethods(html$._BudgetService.__proto__),
  [S$3.$getBudget]: dart.fnType(async.Future$(html$.BudgetState), []),
  [S$3.$getCost]: dart.fnType(async.Future$(core.double), [core.String]),
  [S$3.$reserve]: dart.fnType(async.Future$(core.bool), [core.String])
}));
dart.setLibraryUri(html$._BudgetService, I[148]);
dart.registerExtension("BudgetService", html$._BudgetService);
html$._Cache = class _Cache extends _interceptors.Interceptor {};
dart.addTypeTests(html$._Cache);
dart.addTypeCaches(html$._Cache);
dart.setLibraryUri(html$._Cache, I[148]);
dart.registerExtension("Cache", html$._Cache);
html$._CanvasPath = class _CanvasPath extends _interceptors.Interceptor {};
dart.addTypeTests(html$._CanvasPath);
dart.addTypeCaches(html$._CanvasPath);
dart.setLibraryUri(html$._CanvasPath, I[148]);
html$._Clipboard = class _Clipboard extends html$.EventTarget {
  [S$3.$read]() {
    return js_util.promiseToFuture(html$.DataTransfer, this.read());
  }
  [S$3.$readText]() {
    return js_util.promiseToFuture(core.String, this.readText());
  }
  [S$1.$write](data) {
    if (data == null) dart.nullFailed(I[147], 34446, 29, "data");
    return js_util.promiseToFuture(dart.dynamic, this.write(data));
  }
  [S$3.$writeText](data) {
    if (data == null) dart.nullFailed(I[147], 34449, 27, "data");
    return js_util.promiseToFuture(dart.dynamic, this.writeText(data));
  }
};
dart.addTypeTests(html$._Clipboard);
dart.addTypeCaches(html$._Clipboard);
dart.setMethodSignature(html$._Clipboard, () => ({
  __proto__: dart.getMethods(html$._Clipboard.__proto__),
  [S$3.$read]: dart.fnType(async.Future$(html$.DataTransfer), []),
  [S$3.$readText]: dart.fnType(async.Future$(core.String), []),
  [S$1.$write]: dart.fnType(async.Future, [html$.DataTransfer]),
  [S$3.$writeText]: dart.fnType(async.Future, [core.String])
}));
dart.setLibraryUri(html$._Clipboard, I[148]);
dart.registerExtension("Clipboard", html$._Clipboard);
const Interceptor_ListMixin$36$8 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$8.new = function() {
  Interceptor_ListMixin$36$8.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$8.prototype;
dart.applyMixin(Interceptor_ListMixin$36$8, collection.ListMixin$(html$.CssRule));
const Interceptor_ImmutableListMixin$36$8 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$8 {};
(Interceptor_ImmutableListMixin$36$8.new = function() {
  Interceptor_ImmutableListMixin$36$8.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$8.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$8, html$.ImmutableListMixin$(html$.CssRule));
html$._CssRuleList = class _CssRuleList extends Interceptor_ImmutableListMixin$36$8 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 34467, 27, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 34473, 25, "index");
    html$.CssRule.as(value);
    if (value == null) dart.nullFailed(I[147], 34473, 40, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 34479, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 34507, 25, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$._CssRuleList.prototype[dart.isList] = true;
dart.addTypeTests(html$._CssRuleList);
dart.addTypeCaches(html$._CssRuleList);
html$._CssRuleList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.CssRule), core.List$(html$.CssRule)];
dart.setMethodSignature(html$._CssRuleList, () => ({
  __proto__: dart.getMethods(html$._CssRuleList.__proto__),
  [$_get]: dart.fnType(html$.CssRule, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(html$.CssRule), [core.int])
}));
dart.setGetterSignature(html$._CssRuleList, () => ({
  __proto__: dart.getGetters(html$._CssRuleList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$._CssRuleList, () => ({
  __proto__: dart.getSetters(html$._CssRuleList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$._CssRuleList, I[148]);
dart.registerExtension("CSSRuleList", html$._CssRuleList);
html$._DOMFileSystemSync = class _DOMFileSystemSync extends _interceptors.Interceptor {};
dart.addTypeTests(html$._DOMFileSystemSync);
dart.addTypeCaches(html$._DOMFileSystemSync);
dart.setLibraryUri(html$._DOMFileSystemSync, I[148]);
dart.registerExtension("DOMFileSystemSync", html$._DOMFileSystemSync);
html$._EntrySync = class _EntrySync extends _interceptors.Interceptor {};
dart.addTypeTests(html$._EntrySync);
dart.addTypeCaches(html$._EntrySync);
dart.setLibraryUri(html$._EntrySync, I[148]);
dart.registerExtension("EntrySync", html$._EntrySync);
html$._DirectoryEntrySync = class _DirectoryEntrySync extends html$._EntrySync {};
dart.addTypeTests(html$._DirectoryEntrySync);
dart.addTypeCaches(html$._DirectoryEntrySync);
dart.setLibraryUri(html$._DirectoryEntrySync, I[148]);
dart.registerExtension("DirectoryEntrySync", html$._DirectoryEntrySync);
html$._DirectoryReaderSync = class _DirectoryReaderSync extends _interceptors.Interceptor {};
dart.addTypeTests(html$._DirectoryReaderSync);
dart.addTypeCaches(html$._DirectoryReaderSync);
dart.setLibraryUri(html$._DirectoryReaderSync, I[148]);
dart.registerExtension("DirectoryReaderSync", html$._DirectoryReaderSync);
html$._DocumentType = class _DocumentType extends html$.Node {};
dart.addTypeTests(html$._DocumentType);
dart.addTypeCaches(html$._DocumentType);
html$._DocumentType[dart.implements] = () => [html$.ChildNode];
dart.setLibraryUri(html$._DocumentType, I[148]);
dart.registerExtension("DocumentType", html$._DocumentType);
html$._DomRect = class _DomRect extends html$.DomRectReadOnly {
  [$toString]() {
    return "Rectangle (" + dart.str(this[$left]) + ", " + dart.str(this[$top]) + ") " + dart.str(this[$width]) + " x " + dart.str(this[$height]);
  }
  [$_equals](other) {
    if (other == null) return false;
    return T$0.RectangleOfnum().is(other) && this[$left] == other[$left] && this[$top] == other[$top] && this[$width] == other[$width] && this[$height] == other[$height];
  }
  get [$hashCode]() {
    return html$._JenkinsSmiHash.hash4(dart.hashCode(this[$left]), dart.hashCode(this[$top]), dart.hashCode(this[$width]), dart.hashCode(this[$height]));
  }
  [$intersection](other) {
    T$0.RectangleOfnum().as(other);
    if (other == null) dart.nullFailed(I[147], 34593, 37, "other");
    let x0 = math.max(core.num, this[$left], other[$left]);
    let x1 = math.min(core.num, dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(other[$left]) + dart.notNull(other[$width]));
    if (x0 <= x1) {
      let y0 = math.max(core.num, this[$top], other[$top]);
      let y1 = math.min(core.num, dart.notNull(this[$top]) + dart.notNull(this[$height]), dart.notNull(other[$top]) + dart.notNull(other[$height]));
      if (y0 <= y1) {
        return new (T$0.RectangleOfnum()).new(x0, y0, x1 - x0, y1 - y0);
      }
    }
    return null;
  }
  [$intersects](other) {
    if (other == null) dart.nullFailed(I[147], 34611, 34, "other");
    return dart.notNull(this[$left]) <= dart.notNull(other[$left]) + dart.notNull(other[$width]) && dart.notNull(other[$left]) <= dart.notNull(this[$left]) + dart.notNull(this[$width]) && dart.notNull(this[$top]) <= dart.notNull(other[$top]) + dart.notNull(other[$height]) && dart.notNull(other[$top]) <= dart.notNull(this[$top]) + dart.notNull(this[$height]);
  }
  [$boundingBox](other) {
    T$0.RectangleOfnum().as(other);
    if (other == null) dart.nullFailed(I[147], 34621, 35, "other");
    let right = math.max(core.num, dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(other[$left]) + dart.notNull(other[$width]));
    let bottom = math.max(core.num, dart.notNull(this[$top]) + dart.notNull(this[$height]), dart.notNull(other[$top]) + dart.notNull(other[$height]));
    let left = math.min(core.num, this[$left], other[$left]);
    let top = math.min(core.num, this[$top], other[$top]);
    return new (T$0.RectangleOfnum()).new(left, top, right - left, bottom - top);
  }
  [$containsRectangle](another) {
    if (another == null) dart.nullFailed(I[147], 34634, 41, "another");
    return dart.notNull(this[$left]) <= dart.notNull(another[$left]) && dart.notNull(this[$left]) + dart.notNull(this[$width]) >= dart.notNull(another[$left]) + dart.notNull(another[$width]) && dart.notNull(this[$top]) <= dart.notNull(another[$top]) && dart.notNull(this[$top]) + dart.notNull(this[$height]) >= dart.notNull(another[$top]) + dart.notNull(another[$height]);
  }
  [$containsPoint](another) {
    if (another == null) dart.nullFailed(I[147], 34644, 33, "another");
    return dart.notNull(another.x) >= dart.notNull(this[$left]) && dart.notNull(another.x) <= dart.notNull(this[$left]) + dart.notNull(this[$width]) && dart.notNull(another.y) >= dart.notNull(this[$top]) && dart.notNull(another.y) <= dart.notNull(this[$top]) + dart.notNull(this[$height]);
  }
  get [$topLeft]() {
    return new (T$0.PointOfnum()).new(this[$left], this[$top]);
  }
  get [$topRight]() {
    return new (T$0.PointOfnum()).new(dart.notNull(this[$left]) + dart.notNull(this[$width]), this[$top]);
  }
  get [$bottomRight]() {
    return new (T$0.PointOfnum()).new(dart.notNull(this[$left]) + dart.notNull(this[$width]), dart.notNull(this[$top]) + dart.notNull(this[$height]));
  }
  get [$bottomLeft]() {
    return new (T$0.PointOfnum()).new(this[$left], dart.notNull(this[$top]) + dart.notNull(this[$height]));
  }
  static new(x = null, y = null, width = null, height = null) {
    if (height != null) {
      return html$._DomRect._create_1(x, y, width, height);
    }
    if (width != null) {
      return html$._DomRect._create_2(x, y, width);
    }
    if (y != null) {
      return html$._DomRect._create_3(x, y);
    }
    if (x != null) {
      return html$._DomRect._create_4(x);
    }
    return html$._DomRect._create_5();
  }
  static _create_1(x, y, width, height) {
    return new DOMRect(x, y, width, height);
  }
  static _create_2(x, y, width) {
    return new DOMRect(x, y, width);
  }
  static _create_3(x, y) {
    return new DOMRect(x, y);
  }
  static _create_4(x) {
    return new DOMRect(x);
  }
  static _create_5() {
    return new DOMRect();
  }
  get [S$0._height$1]() {
    return this.height;
  }
  get [$height]() {
    return dart.nullCheck(this[S$0._height$1]);
  }
  set [$height](value) {
    this.height = value;
  }
  get [S$0._width$1]() {
    return this.width;
  }
  get [$width]() {
    return dart.nullCheck(this[S$0._width$1]);
  }
  set [$width](value) {
    this.width = value;
  }
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
};
dart.addTypeTests(html$._DomRect);
dart.addTypeCaches(html$._DomRect);
html$._DomRect[dart.implements] = () => [math.Rectangle$(core.num)];
dart.setSetterSignature(html$._DomRect, () => ({
  __proto__: dart.getSetters(html$._DomRect.__proto__),
  [$height]: core.num,
  [$width]: core.num,
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num)
}));
dart.setLibraryUri(html$._DomRect, I[148]);
dart.registerExtension("ClientRect", html$._DomRect);
dart.registerExtension("DOMRect", html$._DomRect);
html$._JenkinsSmiHash = class _JenkinsSmiHash extends core.Object {
  static combine(hash, value) {
    if (hash == null) dart.nullFailed(I[147], 34741, 26, "hash");
    if (value == null) dart.nullFailed(I[147], 34741, 36, "value");
    hash = 536870911 & dart.notNull(hash) + dart.notNull(value);
    hash = 536870911 & dart.notNull(hash) + ((524287 & dart.notNull(hash)) << 10);
    return (dart.notNull(hash) ^ hash[$rightShift](6)) >>> 0;
  }
  static finish(hash) {
    if (hash == null) dart.nullFailed(I[147], 34747, 25, "hash");
    hash = 536870911 & dart.notNull(hash) + ((67108863 & dart.notNull(hash)) << 3);
    hash = (dart.notNull(hash) ^ hash[$rightShift](11)) >>> 0;
    return 536870911 & dart.notNull(hash) + ((16383 & dart.notNull(hash)) << 15);
  }
  static hash2(a, b) {
    return html$._JenkinsSmiHash.finish(html$._JenkinsSmiHash.combine(html$._JenkinsSmiHash.combine(0, core.int.as(a)), core.int.as(b)));
  }
  static hash4(a, b, c, d) {
    return html$._JenkinsSmiHash.finish(html$._JenkinsSmiHash.combine(html$._JenkinsSmiHash.combine(html$._JenkinsSmiHash.combine(html$._JenkinsSmiHash.combine(0, core.int.as(a)), core.int.as(b)), core.int.as(c)), core.int.as(d)));
  }
};
(html$._JenkinsSmiHash.new = function() {
  ;
}).prototype = html$._JenkinsSmiHash.prototype;
dart.addTypeTests(html$._JenkinsSmiHash);
dart.addTypeCaches(html$._JenkinsSmiHash);
dart.setLibraryUri(html$._JenkinsSmiHash, I[148]);
html$._FileEntrySync = class _FileEntrySync extends html$._EntrySync {};
dart.addTypeTests(html$._FileEntrySync);
dart.addTypeCaches(html$._FileEntrySync);
dart.setLibraryUri(html$._FileEntrySync, I[148]);
dart.registerExtension("FileEntrySync", html$._FileEntrySync);
html$._FileReaderSync = class _FileReaderSync extends _interceptors.Interceptor {
  static new() {
    return html$._FileReaderSync._create_1();
  }
  static _create_1() {
    return new FileReaderSync();
  }
};
dart.addTypeTests(html$._FileReaderSync);
dart.addTypeCaches(html$._FileReaderSync);
dart.setLibraryUri(html$._FileReaderSync, I[148]);
dart.registerExtension("FileReaderSync", html$._FileReaderSync);
html$._FileWriterSync = class _FileWriterSync extends _interceptors.Interceptor {};
dart.addTypeTests(html$._FileWriterSync);
dart.addTypeCaches(html$._FileWriterSync);
dart.setLibraryUri(html$._FileWriterSync, I[148]);
dart.registerExtension("FileWriterSync", html$._FileWriterSync);
const Interceptor_ListMixin$36$9 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$9.new = function() {
  Interceptor_ListMixin$36$9.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$9.prototype;
dart.applyMixin(Interceptor_ListMixin$36$9, collection.ListMixin$(dart.nullable(html$.Gamepad)));
const Interceptor_ImmutableListMixin$36$9 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$9 {};
(Interceptor_ImmutableListMixin$36$9.new = function() {
  Interceptor_ImmutableListMixin$36$9.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$9.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$9, html$.ImmutableListMixin$(dart.nullable(html$.Gamepad)));
html$._GamepadList = class _GamepadList extends Interceptor_ImmutableListMixin$36$9 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 34823, 28, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 34829, 25, "index");
    T$0.GamepadN().as(value);
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 34835, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 34863, 26, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$._GamepadList.prototype[dart.isList] = true;
dart.addTypeTests(html$._GamepadList);
dart.addTypeCaches(html$._GamepadList);
html$._GamepadList[dart.implements] = () => [core.List$(dart.nullable(html$.Gamepad)), _js_helper.JavaScriptIndexingBehavior$(dart.nullable(html$.Gamepad))];
dart.setMethodSignature(html$._GamepadList, () => ({
  __proto__: dart.getMethods(html$._GamepadList.__proto__),
  [$_get]: dart.fnType(dart.nullable(html$.Gamepad), [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(html$.Gamepad, [dart.nullable(core.int)])
}));
dart.setGetterSignature(html$._GamepadList, () => ({
  __proto__: dart.getGetters(html$._GamepadList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$._GamepadList, () => ({
  __proto__: dart.getSetters(html$._GamepadList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$._GamepadList, I[148]);
dart.registerExtension("GamepadList", html$._GamepadList);
html$._HTMLAllCollection = class _HTMLAllCollection extends _interceptors.Interceptor {
  [S$1._item](...args) {
    return this.item.apply(this, args);
  }
};
dart.addTypeTests(html$._HTMLAllCollection);
dart.addTypeCaches(html$._HTMLAllCollection);
dart.setMethodSignature(html$._HTMLAllCollection, () => ({
  __proto__: dart.getMethods(html$._HTMLAllCollection.__proto__),
  [S$1._item]: dart.fnType(html$.Element, [dart.nullable(core.int)])
}));
dart.setLibraryUri(html$._HTMLAllCollection, I[148]);
dart.registerExtension("HTMLAllCollection", html$._HTMLAllCollection);
html$._HTMLDirectoryElement = class _HTMLDirectoryElement extends html$.HtmlElement {};
(html$._HTMLDirectoryElement.created = function() {
  html$._HTMLDirectoryElement.__proto__.created.call(this);
  ;
}).prototype = html$._HTMLDirectoryElement.prototype;
dart.addTypeTests(html$._HTMLDirectoryElement);
dart.addTypeCaches(html$._HTMLDirectoryElement);
dart.setLibraryUri(html$._HTMLDirectoryElement, I[148]);
dart.registerExtension("HTMLDirectoryElement", html$._HTMLDirectoryElement);
html$._HTMLFontElement = class _HTMLFontElement extends html$.HtmlElement {};
(html$._HTMLFontElement.created = function() {
  html$._HTMLFontElement.__proto__.created.call(this);
  ;
}).prototype = html$._HTMLFontElement.prototype;
dart.addTypeTests(html$._HTMLFontElement);
dart.addTypeCaches(html$._HTMLFontElement);
dart.setLibraryUri(html$._HTMLFontElement, I[148]);
dart.registerExtension("HTMLFontElement", html$._HTMLFontElement);
html$._HTMLFrameElement = class _HTMLFrameElement extends html$.HtmlElement {};
(html$._HTMLFrameElement.created = function() {
  html$._HTMLFrameElement.__proto__.created.call(this);
  ;
}).prototype = html$._HTMLFrameElement.prototype;
dart.addTypeTests(html$._HTMLFrameElement);
dart.addTypeCaches(html$._HTMLFrameElement);
dart.setLibraryUri(html$._HTMLFrameElement, I[148]);
dart.registerExtension("HTMLFrameElement", html$._HTMLFrameElement);
html$._HTMLFrameSetElement = class _HTMLFrameSetElement extends html$.HtmlElement {};
(html$._HTMLFrameSetElement.created = function() {
  html$._HTMLFrameSetElement.__proto__.created.call(this);
  ;
}).prototype = html$._HTMLFrameSetElement.prototype;
dart.addTypeTests(html$._HTMLFrameSetElement);
dart.addTypeCaches(html$._HTMLFrameSetElement);
html$._HTMLFrameSetElement[dart.implements] = () => [html$.WindowEventHandlers];
dart.setLibraryUri(html$._HTMLFrameSetElement, I[148]);
dart.registerExtension("HTMLFrameSetElement", html$._HTMLFrameSetElement);
html$._HTMLMarqueeElement = class _HTMLMarqueeElement extends html$.HtmlElement {};
(html$._HTMLMarqueeElement.created = function() {
  html$._HTMLMarqueeElement.__proto__.created.call(this);
  ;
}).prototype = html$._HTMLMarqueeElement.prototype;
dart.addTypeTests(html$._HTMLMarqueeElement);
dart.addTypeCaches(html$._HTMLMarqueeElement);
dart.setLibraryUri(html$._HTMLMarqueeElement, I[148]);
dart.registerExtension("HTMLMarqueeElement", html$._HTMLMarqueeElement);
html$._Mojo = class _Mojo extends _interceptors.Interceptor {};
dart.addTypeTests(html$._Mojo);
dart.addTypeCaches(html$._Mojo);
dart.setLibraryUri(html$._Mojo, I[148]);
dart.registerExtension("Mojo", html$._Mojo);
html$._MojoHandle = class _MojoHandle extends _interceptors.Interceptor {};
dart.addTypeTests(html$._MojoHandle);
dart.addTypeCaches(html$._MojoHandle);
dart.setLibraryUri(html$._MojoHandle, I[148]);
dart.registerExtension("MojoHandle", html$._MojoHandle);
html$._MojoInterfaceInterceptor = class _MojoInterfaceInterceptor extends html$.EventTarget {
  static new(interfaceName, scope = null) {
    if (interfaceName == null) dart.nullFailed(I[147], 35014, 44, "interfaceName");
    if (scope != null) {
      return html$._MojoInterfaceInterceptor._create_1(interfaceName, scope);
    }
    return html$._MojoInterfaceInterceptor._create_2(interfaceName);
  }
  static _create_1(interfaceName, scope) {
    return new MojoInterfaceInterceptor(interfaceName, scope);
  }
  static _create_2(interfaceName) {
    return new MojoInterfaceInterceptor(interfaceName);
  }
};
dart.addTypeTests(html$._MojoInterfaceInterceptor);
dart.addTypeCaches(html$._MojoInterfaceInterceptor);
dart.setLibraryUri(html$._MojoInterfaceInterceptor, I[148]);
dart.registerExtension("MojoInterfaceInterceptor", html$._MojoInterfaceInterceptor);
html$._MojoInterfaceRequestEvent = class _MojoInterfaceRequestEvent extends html$.Event {
  static new(type, eventInitDict = null) {
    if (type == null) dart.nullFailed(I[147], 35041, 45, "type");
    if (eventInitDict != null) {
      let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
      return html$._MojoInterfaceRequestEvent._create_1(type, eventInitDict_1);
    }
    return html$._MojoInterfaceRequestEvent._create_2(type);
  }
  static _create_1(type, eventInitDict) {
    return new MojoInterfaceRequestEvent(type, eventInitDict);
  }
  static _create_2(type) {
    return new MojoInterfaceRequestEvent(type);
  }
};
dart.addTypeTests(html$._MojoInterfaceRequestEvent);
dart.addTypeCaches(html$._MojoInterfaceRequestEvent);
dart.setLibraryUri(html$._MojoInterfaceRequestEvent, I[148]);
dart.registerExtension("MojoInterfaceRequestEvent", html$._MojoInterfaceRequestEvent);
html$._MojoWatcher = class _MojoWatcher extends _interceptors.Interceptor {};
dart.addTypeTests(html$._MojoWatcher);
dart.addTypeCaches(html$._MojoWatcher);
dart.setLibraryUri(html$._MojoWatcher, I[148]);
dart.registerExtension("MojoWatcher", html$._MojoWatcher);
html$._NFC = class _NFC extends _interceptors.Interceptor {};
dart.addTypeTests(html$._NFC);
dart.addTypeCaches(html$._NFC);
dart.setLibraryUri(html$._NFC, I[148]);
dart.registerExtension("NFC", html$._NFC);
const Interceptor_ListMixin$36$10 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$10.new = function() {
  Interceptor_ListMixin$36$10.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$10.prototype;
dart.applyMixin(Interceptor_ListMixin$36$10, collection.ListMixin$(html$.Node));
const Interceptor_ImmutableListMixin$36$10 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$10 {};
(Interceptor_ImmutableListMixin$36$10.new = function() {
  Interceptor_ImmutableListMixin$36$10.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$10.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$10, html$.ImmutableListMixin$(html$.Node));
html$._NamedNodeMap = class _NamedNodeMap extends Interceptor_ImmutableListMixin$36$10 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 35095, 24, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 35101, 25, "index");
    html$.Node.as(value);
    if (value == null) dart.nullFailed(I[147], 35101, 37, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 35107, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 35135, 22, "index");
    return this[$_get](index);
  }
  [S$3.$getNamedItem](...args) {
    return this.getNamedItem.apply(this, args);
  }
  [S$3.$getNamedItemNS](...args) {
    return this.getNamedItemNS.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
  [S$3.$removeNamedItem](...args) {
    return this.removeNamedItem.apply(this, args);
  }
  [S$3.$removeNamedItemNS](...args) {
    return this.removeNamedItemNS.apply(this, args);
  }
  [S$3.$setNamedItem](...args) {
    return this.setNamedItem.apply(this, args);
  }
  [S$3.$setNamedItemNS](...args) {
    return this.setNamedItemNS.apply(this, args);
  }
};
html$._NamedNodeMap.prototype[dart.isList] = true;
dart.addTypeTests(html$._NamedNodeMap);
dart.addTypeCaches(html$._NamedNodeMap);
html$._NamedNodeMap[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.Node), core.List$(html$.Node)];
dart.setMethodSignature(html$._NamedNodeMap, () => ({
  __proto__: dart.getMethods(html$._NamedNodeMap.__proto__),
  [$_get]: dart.fnType(html$.Node, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$3.$getNamedItem]: dart.fnType(dart.nullable(html$._Attr), [core.String]),
  [S$3.$getNamedItemNS]: dart.fnType(dart.nullable(html$._Attr), [dart.nullable(core.String), core.String]),
  [S$.$item]: dart.fnType(dart.nullable(html$._Attr), [core.int]),
  [S$3.$removeNamedItem]: dart.fnType(html$._Attr, [core.String]),
  [S$3.$removeNamedItemNS]: dart.fnType(html$._Attr, [dart.nullable(core.String), core.String]),
  [S$3.$setNamedItem]: dart.fnType(dart.nullable(html$._Attr), [html$._Attr]),
  [S$3.$setNamedItemNS]: dart.fnType(dart.nullable(html$._Attr), [html$._Attr])
}));
dart.setGetterSignature(html$._NamedNodeMap, () => ({
  __proto__: dart.getGetters(html$._NamedNodeMap.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$._NamedNodeMap, () => ({
  __proto__: dart.getSetters(html$._NamedNodeMap.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$._NamedNodeMap, I[148]);
dart.registerExtension("NamedNodeMap", html$._NamedNodeMap);
dart.registerExtension("MozNamedAttrMap", html$._NamedNodeMap);
html$._PagePopupController = class _PagePopupController extends _interceptors.Interceptor {};
dart.addTypeTests(html$._PagePopupController);
dart.addTypeCaches(html$._PagePopupController);
dart.setLibraryUri(html$._PagePopupController, I[148]);
dart.registerExtension("PagePopupController", html$._PagePopupController);
html$._Report = class _Report extends _interceptors.Interceptor {
  get [S$1.$body]() {
    return this.body;
  }
  get [S.$type]() {
    return this.type;
  }
  get [S$.$url]() {
    return this.url;
  }
};
dart.addTypeTests(html$._Report);
dart.addTypeCaches(html$._Report);
dart.setGetterSignature(html$._Report, () => ({
  __proto__: dart.getGetters(html$._Report.__proto__),
  [S$1.$body]: dart.nullable(html$.ReportBody),
  [S.$type]: dart.nullable(core.String),
  [S$.$url]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$._Report, I[148]);
dart.registerExtension("Report", html$._Report);
html$._Request = class _Request extends html$.Body {
  static new(input, requestInitDict = null) {
    if (input == null) dart.nullFailed(I[147], 35200, 27, "input");
    if (requestInitDict != null) {
      let requestInitDict_1 = html_common.convertDartToNative_Dictionary(requestInitDict);
      return html$._Request._create_1(input, requestInitDict_1);
    }
    return html$._Request._create_2(input);
  }
  static _create_1(input, requestInitDict) {
    return new Request(input, requestInitDict);
  }
  static _create_2(input) {
    return new Request(input);
  }
  get [S$3.$cache]() {
    return this.cache;
  }
  get [S$1.$credentials]() {
    return this.credentials;
  }
  get [S$2.$headers]() {
    return this.headers;
  }
  get [S$1.$integrity]() {
    return this.integrity;
  }
  get [S.$mode]() {
    return this.mode;
  }
  get [S$3.$redirect]() {
    return this.redirect;
  }
  get [S$1.$referrer]() {
    return this.referrer;
  }
  get [S$.$referrerPolicy]() {
    return this.referrerPolicy;
  }
  get [S$.$url]() {
    return this.url;
  }
  [S$.$clone](...args) {
    return this.clone.apply(this, args);
  }
};
dart.addTypeTests(html$._Request);
dart.addTypeCaches(html$._Request);
dart.setMethodSignature(html$._Request, () => ({
  __proto__: dart.getMethods(html$._Request.__proto__),
  [S$.$clone]: dart.fnType(html$._Request, [])
}));
dart.setGetterSignature(html$._Request, () => ({
  __proto__: dart.getGetters(html$._Request.__proto__),
  [S$3.$cache]: dart.nullable(core.String),
  [S$1.$credentials]: dart.nullable(core.String),
  [S$2.$headers]: dart.nullable(html$.Headers),
  [S$1.$integrity]: dart.nullable(core.String),
  [S.$mode]: dart.nullable(core.String),
  [S$3.$redirect]: dart.nullable(core.String),
  [S$1.$referrer]: dart.nullable(core.String),
  [S$.$referrerPolicy]: dart.nullable(core.String),
  [S$.$url]: dart.nullable(core.String)
}));
dart.setLibraryUri(html$._Request, I[148]);
dart.registerExtension("Request", html$._Request);
html$._ResourceProgressEvent = class _ResourceProgressEvent extends html$.ProgressEvent {};
dart.addTypeTests(html$._ResourceProgressEvent);
dart.addTypeCaches(html$._ResourceProgressEvent);
dart.setLibraryUri(html$._ResourceProgressEvent, I[148]);
dart.registerExtension("ResourceProgressEvent", html$._ResourceProgressEvent);
html$._Response = class _Response extends html$.Body {
  static new(body = null, init = null) {
    if (init != null) {
      let init_1 = html_common.convertDartToNative_Dictionary(init);
      return html$._Response._create_1(body, init_1);
    }
    if (body != null) {
      return html$._Response._create_2(body);
    }
    return html$._Response._create_3();
  }
  static _create_1(body, init) {
    return new Response(body, init);
  }
  static _create_2(body) {
    return new Response(body);
  }
  static _create_3() {
    return new Response();
  }
};
dart.addTypeTests(html$._Response);
dart.addTypeCaches(html$._Response);
dart.setLibraryUri(html$._Response, I[148]);
dart.registerExtension("Response", html$._Response);
const Interceptor_ListMixin$36$11 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$11.new = function() {
  Interceptor_ListMixin$36$11.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$11.prototype;
dart.applyMixin(Interceptor_ListMixin$36$11, collection.ListMixin$(html$.SpeechRecognitionResult));
const Interceptor_ImmutableListMixin$36$11 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$11 {};
(Interceptor_ImmutableListMixin$36$11.new = function() {
  Interceptor_ImmutableListMixin$36$11.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$11.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$11, html$.ImmutableListMixin$(html$.SpeechRecognitionResult));
html$._SpeechRecognitionResultList = class _SpeechRecognitionResultList extends Interceptor_ImmutableListMixin$36$11 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 35289, 43, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 35295, 25, "index");
    html$.SpeechRecognitionResult.as(value);
    if (value == null) dart.nullFailed(I[147], 35295, 56, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 35301, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 35329, 41, "index");
    return this[$_get](index);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$._SpeechRecognitionResultList.prototype[dart.isList] = true;
dart.addTypeTests(html$._SpeechRecognitionResultList);
dart.addTypeCaches(html$._SpeechRecognitionResultList);
html$._SpeechRecognitionResultList[dart.implements] = () => [_js_helper.JavaScriptIndexingBehavior$(html$.SpeechRecognitionResult), core.List$(html$.SpeechRecognitionResult)];
dart.setMethodSignature(html$._SpeechRecognitionResultList, () => ({
  __proto__: dart.getMethods(html$._SpeechRecognitionResultList.__proto__),
  [$_get]: dart.fnType(html$.SpeechRecognitionResult, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(html$.SpeechRecognitionResult, [core.int])
}));
dart.setGetterSignature(html$._SpeechRecognitionResultList, () => ({
  __proto__: dart.getGetters(html$._SpeechRecognitionResultList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$._SpeechRecognitionResultList, () => ({
  __proto__: dart.getSetters(html$._SpeechRecognitionResultList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$._SpeechRecognitionResultList, I[148]);
dart.registerExtension("SpeechRecognitionResultList", html$._SpeechRecognitionResultList);
const Interceptor_ListMixin$36$12 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$12.new = function() {
  Interceptor_ListMixin$36$12.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$12.prototype;
dart.applyMixin(Interceptor_ListMixin$36$12, collection.ListMixin$(html$.StyleSheet));
const Interceptor_ImmutableListMixin$36$12 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$12 {};
(Interceptor_ImmutableListMixin$36$12.new = function() {
  Interceptor_ImmutableListMixin$36$12.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$12.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$12, html$.ImmutableListMixin$(html$.StyleSheet));
html$._StyleSheetList = class _StyleSheetList extends Interceptor_ImmutableListMixin$36$12 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[147], 35349, 30, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this[index];
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[147], 35355, 25, "index");
    html$.StyleSheet.as(value);
    if (value == null) dart.nullFailed(I[147], 35355, 43, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[147], 35361, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[147], 35389, 28, "index");
    return this[$_get](index);
  }
  [S$.__getter__](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$.$item](...args) {
    return this.item.apply(this, args);
  }
};
html$._StyleSheetList.prototype[dart.isList] = true;
dart.addTypeTests(html$._StyleSheetList);
dart.addTypeCaches(html$._StyleSheetList);
html$._StyleSheetList[dart.implements] = () => [core.List$(html$.StyleSheet), _js_helper.JavaScriptIndexingBehavior$(html$.StyleSheet)];
dart.setMethodSignature(html$._StyleSheetList, () => ({
  __proto__: dart.getMethods(html$._StyleSheetList.__proto__),
  [$_get]: dart.fnType(html$.StyleSheet, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.__getter__]: dart.fnType(html$.CssStyleSheet, [core.String]),
  [S$.$item]: dart.fnType(dart.nullable(html$.StyleSheet), [core.int])
}));
dart.setGetterSignature(html$._StyleSheetList, () => ({
  __proto__: dart.getGetters(html$._StyleSheetList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(html$._StyleSheetList, () => ({
  __proto__: dart.getSetters(html$._StyleSheetList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(html$._StyleSheetList, I[148]);
dart.registerExtension("StyleSheetList", html$._StyleSheetList);
html$._SubtleCrypto = class _SubtleCrypto extends _interceptors.Interceptor {};
dart.addTypeTests(html$._SubtleCrypto);
dart.addTypeCaches(html$._SubtleCrypto);
dart.setLibraryUri(html$._SubtleCrypto, I[148]);
dart.registerExtension("SubtleCrypto", html$._SubtleCrypto);
html$._USB = class _USB extends html$.EventTarget {};
dart.addTypeTests(html$._USB);
dart.addTypeCaches(html$._USB);
dart.setLibraryUri(html$._USB, I[148]);
dart.registerExtension("USB", html$._USB);
html$._USBAlternateInterface = class _USBAlternateInterface extends _interceptors.Interceptor {
  static new(deviceInterface, alternateSetting) {
    if (deviceInterface == null) dart.nullFailed(I[147], 35430, 21, "deviceInterface");
    if (alternateSetting == null) dart.nullFailed(I[147], 35430, 42, "alternateSetting");
    return html$._USBAlternateInterface._create_1(deviceInterface, alternateSetting);
  }
  static _create_1(deviceInterface, alternateSetting) {
    return new USBAlternateInterface(deviceInterface, alternateSetting);
  }
};
dart.addTypeTests(html$._USBAlternateInterface);
dart.addTypeCaches(html$._USBAlternateInterface);
dart.setLibraryUri(html$._USBAlternateInterface, I[148]);
dart.registerExtension("USBAlternateInterface", html$._USBAlternateInterface);
html$._USBConfiguration = class _USBConfiguration extends _interceptors.Interceptor {
  static new(device, configurationValue) {
    if (device == null) dart.nullFailed(I[147], 35448, 40, "device");
    if (configurationValue == null) dart.nullFailed(I[147], 35448, 52, "configurationValue");
    return html$._USBConfiguration._create_1(device, configurationValue);
  }
  static _create_1(device, configurationValue) {
    return new USBConfiguration(device, configurationValue);
  }
};
dart.addTypeTests(html$._USBConfiguration);
dart.addTypeCaches(html$._USBConfiguration);
dart.setLibraryUri(html$._USBConfiguration, I[148]);
dart.registerExtension("USBConfiguration", html$._USBConfiguration);
html$._USBConnectionEvent = class _USBConnectionEvent extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[147], 35468, 38, "type");
    if (eventInitDict == null) dart.nullFailed(I[147], 35468, 48, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return html$._USBConnectionEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new USBConnectionEvent(type, eventInitDict);
  }
};
dart.addTypeTests(html$._USBConnectionEvent);
dart.addTypeCaches(html$._USBConnectionEvent);
dart.setLibraryUri(html$._USBConnectionEvent, I[148]);
dart.registerExtension("USBConnectionEvent", html$._USBConnectionEvent);
html$._USBDevice = class _USBDevice extends _interceptors.Interceptor {};
dart.addTypeTests(html$._USBDevice);
dart.addTypeCaches(html$._USBDevice);
dart.setLibraryUri(html$._USBDevice, I[148]);
dart.registerExtension("USBDevice", html$._USBDevice);
html$._USBEndpoint = class _USBEndpoint extends _interceptors.Interceptor {
  static new(alternate, endpointNumber, direction) {
    if (alternate == null) dart.nullFailed(I[147], 35501, 30, "alternate");
    if (endpointNumber == null) dart.nullFailed(I[147], 35501, 45, "endpointNumber");
    if (direction == null) dart.nullFailed(I[147], 35501, 68, "direction");
    return html$._USBEndpoint._create_1(alternate, endpointNumber, direction);
  }
  static _create_1(alternate, endpointNumber, direction) {
    return new USBEndpoint(alternate, endpointNumber, direction);
  }
};
dart.addTypeTests(html$._USBEndpoint);
dart.addTypeCaches(html$._USBEndpoint);
dart.setLibraryUri(html$._USBEndpoint, I[148]);
dart.registerExtension("USBEndpoint", html$._USBEndpoint);
html$._USBInTransferResult = class _USBInTransferResult extends _interceptors.Interceptor {
  static new(status, data = null) {
    if (status == null) dart.nullFailed(I[147], 35522, 39, "status");
    if (data != null) {
      return html$._USBInTransferResult._create_1(status, data);
    }
    return html$._USBInTransferResult._create_2(status);
  }
  static _create_1(status, data) {
    return new USBInTransferResult(status, data);
  }
  static _create_2(status) {
    return new USBInTransferResult(status);
  }
};
dart.addTypeTests(html$._USBInTransferResult);
dart.addTypeCaches(html$._USBInTransferResult);
dart.setLibraryUri(html$._USBInTransferResult, I[148]);
dart.registerExtension("USBInTransferResult", html$._USBInTransferResult);
html$._USBInterface = class _USBInterface extends _interceptors.Interceptor {
  static new(configuration, interfaceNumber) {
    if (configuration == null) dart.nullFailed(I[147], 35544, 43, "configuration");
    if (interfaceNumber == null) dart.nullFailed(I[147], 35544, 62, "interfaceNumber");
    return html$._USBInterface._create_1(configuration, interfaceNumber);
  }
  static _create_1(configuration, interfaceNumber) {
    return new USBInterface(configuration, interfaceNumber);
  }
};
dart.addTypeTests(html$._USBInterface);
dart.addTypeCaches(html$._USBInterface);
dart.setLibraryUri(html$._USBInterface, I[148]);
dart.registerExtension("USBInterface", html$._USBInterface);
html$._USBIsochronousInTransferPacket = class _USBIsochronousInTransferPacket extends _interceptors.Interceptor {
  static new(status, data = null) {
    if (status == null) dart.nullFailed(I[147], 35561, 50, "status");
    if (data != null) {
      return html$._USBIsochronousInTransferPacket._create_1(status, data);
    }
    return html$._USBIsochronousInTransferPacket._create_2(status);
  }
  static _create_1(status, data) {
    return new USBIsochronousInTransferPacket(status, data);
  }
  static _create_2(status) {
    return new USBIsochronousInTransferPacket(status);
  }
};
dart.addTypeTests(html$._USBIsochronousInTransferPacket);
dart.addTypeCaches(html$._USBIsochronousInTransferPacket);
dart.setLibraryUri(html$._USBIsochronousInTransferPacket, I[148]);
dart.registerExtension("USBIsochronousInTransferPacket", html$._USBIsochronousInTransferPacket);
html$._USBIsochronousInTransferResult = class _USBIsochronousInTransferResult extends _interceptors.Interceptor {
  static new(packets, data = null) {
    if (packets == null) dart.nullFailed(I[147], 35589, 45, "packets");
    if (data != null) {
      return html$._USBIsochronousInTransferResult._create_1(packets, data);
    }
    return html$._USBIsochronousInTransferResult._create_2(packets);
  }
  static _create_1(packets, data) {
    return new USBIsochronousInTransferResult(packets, data);
  }
  static _create_2(packets) {
    return new USBIsochronousInTransferResult(packets);
  }
};
dart.addTypeTests(html$._USBIsochronousInTransferResult);
dart.addTypeCaches(html$._USBIsochronousInTransferResult);
dart.setLibraryUri(html$._USBIsochronousInTransferResult, I[148]);
dart.registerExtension("USBIsochronousInTransferResult", html$._USBIsochronousInTransferResult);
html$._USBIsochronousOutTransferPacket = class _USBIsochronousOutTransferPacket extends _interceptors.Interceptor {
  static new(status, bytesWritten = null) {
    if (status == null) dart.nullFailed(I[147], 35617, 51, "status");
    if (bytesWritten != null) {
      return html$._USBIsochronousOutTransferPacket._create_1(status, bytesWritten);
    }
    return html$._USBIsochronousOutTransferPacket._create_2(status);
  }
  static _create_1(status, bytesWritten) {
    return new USBIsochronousOutTransferPacket(status, bytesWritten);
  }
  static _create_2(status) {
    return new USBIsochronousOutTransferPacket(status);
  }
};
dart.addTypeTests(html$._USBIsochronousOutTransferPacket);
dart.addTypeCaches(html$._USBIsochronousOutTransferPacket);
dart.setLibraryUri(html$._USBIsochronousOutTransferPacket, I[148]);
dart.registerExtension("USBIsochronousOutTransferPacket", html$._USBIsochronousOutTransferPacket);
html$._USBIsochronousOutTransferResult = class _USBIsochronousOutTransferResult extends _interceptors.Interceptor {
  static new(packets) {
    if (packets == null) dart.nullFailed(I[147], 35645, 46, "packets");
    return html$._USBIsochronousOutTransferResult._create_1(packets);
  }
  static _create_1(packets) {
    return new USBIsochronousOutTransferResult(packets);
  }
};
dart.addTypeTests(html$._USBIsochronousOutTransferResult);
dart.addTypeCaches(html$._USBIsochronousOutTransferResult);
dart.setLibraryUri(html$._USBIsochronousOutTransferResult, I[148]);
dart.registerExtension("USBIsochronousOutTransferResult", html$._USBIsochronousOutTransferResult);
html$._USBOutTransferResult = class _USBOutTransferResult extends _interceptors.Interceptor {
  static new(status, bytesWritten = null) {
    if (status == null) dart.nullFailed(I[147], 35664, 40, "status");
    if (bytesWritten != null) {
      return html$._USBOutTransferResult._create_1(status, bytesWritten);
    }
    return html$._USBOutTransferResult._create_2(status);
  }
  static _create_1(status, bytesWritten) {
    return new USBOutTransferResult(status, bytesWritten);
  }
  static _create_2(status) {
    return new USBOutTransferResult(status);
  }
};
dart.addTypeTests(html$._USBOutTransferResult);
dart.addTypeCaches(html$._USBOutTransferResult);
dart.setLibraryUri(html$._USBOutTransferResult, I[148]);
dart.registerExtension("USBOutTransferResult", html$._USBOutTransferResult);
html$._WindowTimers = class _WindowTimers extends _interceptors.Interceptor {};
dart.addTypeTests(html$._WindowTimers);
dart.addTypeCaches(html$._WindowTimers);
dart.setLibraryUri(html$._WindowTimers, I[148]);
html$._WorkerLocation = class _WorkerLocation extends _interceptors.Interceptor {};
dart.addTypeTests(html$._WorkerLocation);
dart.addTypeCaches(html$._WorkerLocation);
html$._WorkerLocation[dart.implements] = () => [html$.UrlUtilsReadOnly];
dart.setLibraryUri(html$._WorkerLocation, I[148]);
dart.registerExtension("WorkerLocation", html$._WorkerLocation);
html$._WorkerNavigator = class _WorkerNavigator extends html$.NavigatorConcurrentHardware {};
dart.addTypeTests(html$._WorkerNavigator);
dart.addTypeCaches(html$._WorkerNavigator);
html$._WorkerNavigator[dart.implements] = () => [html$.NavigatorOnLine, html$.NavigatorID];
dart.setLibraryUri(html$._WorkerNavigator, I[148]);
dart.registerExtension("WorkerNavigator", html$._WorkerNavigator);
html$._Worklet = class _Worklet extends _interceptors.Interceptor {};
dart.addTypeTests(html$._Worklet);
dart.addTypeCaches(html$._Worklet);
dart.setLibraryUri(html$._Worklet, I[148]);
dart.registerExtension("Worklet", html$._Worklet);
html$._AttributeMap = class _AttributeMap extends collection.MapBase$(core.String, core.String) {
  addAll(other) {
    T$0.MapOfString$String().as(other);
    if (other == null) dart.nullFailed(I[147], 35753, 35, "other");
    other[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 35754, 20, "k");
      if (v == null) dart.nullFailed(I[147], 35754, 23, "v");
      this[$_set](k, v);
    }, T$0.StringAndStringTovoid()));
  }
  cast(K, V) {
    return core.Map.castFrom(core.String, core.String, K, V, this);
  }
  containsValue(value) {
    for (let v of this.values) {
      if (dart.equals(value, v)) {
        return true;
      }
    }
    return false;
  }
  putIfAbsent(key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 35769, 29, "key");
    T$.VoidToString().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[147], 35769, 41, "ifAbsent");
    if (!dart.test(this[$containsKey](key))) {
      this[$_set](key, ifAbsent());
    }
    return dart.nullCast(this[$_get](key), core.String);
  }
  clear() {
    for (let key of this.keys) {
      this[$remove](key);
    }
  }
  forEach(f) {
    if (f == null) dart.nullFailed(I[147], 35782, 21, "f");
    for (let key of this.keys) {
      let value = this[$_get](key);
      f(key, dart.nullCast(value, core.String));
    }
  }
  get keys() {
    let attributes = dart.nullCheck(this[S$1._element$2][S._attributes$1]);
    let keys = T$.JSArrayOfString().of([]);
    for (let i = 0, len = attributes[$length]; i < dart.notNull(len); i = i + 1) {
      let attr = html$._Attr.as(attributes[$_get](i));
      if (dart.test(this[S$3._matches](attr))) {
        keys[$add](dart.nullCheck(attr.name));
      }
    }
    return keys;
  }
  get values() {
    let attributes = dart.nullCheck(this[S$1._element$2][S._attributes$1]);
    let values = T$.JSArrayOfString().of([]);
    for (let i = 0, len = attributes[$length]; i < dart.notNull(len); i = i + 1) {
      let attr = html$._Attr.as(attributes[$_get](i));
      if (dart.test(this[S$3._matches](attr))) {
        values[$add](dart.nullCheck(attr.value));
      }
    }
    return values;
  }
  get isEmpty() {
    return this[$length] === 0;
  }
  get isNotEmpty() {
    return !dart.test(this.isEmpty);
  }
};
(html$._AttributeMap.new = function(_element) {
  if (_element == null) dart.nullFailed(I[147], 35751, 22, "_element");
  this[S$1._element$2] = _element;
  ;
}).prototype = html$._AttributeMap.prototype;
dart.addTypeTests(html$._AttributeMap);
dart.addTypeCaches(html$._AttributeMap);
dart.setMethodSignature(html$._AttributeMap, () => ({
  __proto__: dart.getMethods(html$._AttributeMap.__proto__),
  cast: dart.gFnType((K, V) => [core.Map$(K, V), []], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$cast]: dart.gFnType((K, V) => [core.Map$(K, V), []], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  clear: dart.fnType(dart.void, []),
  [$clear]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(html$._AttributeMap, () => ({
  __proto__: dart.getGetters(html$._AttributeMap.__proto__),
  keys: core.Iterable$(core.String),
  [$keys]: core.Iterable$(core.String)
}));
dart.setLibraryUri(html$._AttributeMap, I[148]);
dart.setFieldSignature(html$._AttributeMap, () => ({
  __proto__: dart.getFields(html$._AttributeMap.__proto__),
  [S$1._element$2]: dart.finalFieldType(html$.Element)
}));
dart.defineExtensionMethods(html$._AttributeMap, [
  'addAll',
  'cast',
  'containsValue',
  'putIfAbsent',
  'clear',
  'forEach'
]);
dart.defineExtensionAccessors(html$._AttributeMap, ['keys', 'values', 'isEmpty', 'isNotEmpty']);
html$._ElementAttributeMap = class _ElementAttributeMap extends html$._AttributeMap {
  containsKey(key) {
    return typeof key == 'string' && dart.test(this[S$1._element$2][S._hasAttribute](key));
  }
  _get(key) {
    return this[S$1._element$2][S.$getAttribute](core.String.as(key));
  }
  _set(key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 35847, 28, "key");
    core.String.as(value);
    if (value == null) dart.nullFailed(I[147], 35847, 40, "value");
    this[S$1._element$2][S.$setAttribute](key, value);
    return value$;
  }
  remove(key) {
    return typeof key == 'string' ? html$._ElementAttributeMap._remove(this[S$1._element$2], key) : null;
  }
  get length() {
    return this.keys[$length];
  }
  [S$3._matches](node) {
    if (node == null) dart.nullFailed(I[147], 35861, 23, "node");
    return node[S._namespaceUri] == null;
  }
  static _remove(element, key) {
    if (element == null) dart.nullFailed(I[147], 35866, 34, "element");
    if (key == null) dart.nullFailed(I[147], 35866, 50, "key");
    let value = element.getAttribute(key);
    element.removeAttribute(key);
    return value;
  }
};
(html$._ElementAttributeMap.new = function(element) {
  if (element == null) dart.nullFailed(I[147], 35837, 32, "element");
  html$._ElementAttributeMap.__proto__.new.call(this, element);
  ;
}).prototype = html$._ElementAttributeMap.prototype;
dart.addTypeTests(html$._ElementAttributeMap);
dart.addTypeCaches(html$._ElementAttributeMap);
dart.setMethodSignature(html$._ElementAttributeMap, () => ({
  __proto__: dart.getMethods(html$._ElementAttributeMap.__proto__),
  _get: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$_get]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  remove: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$remove]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [S$3._matches]: dart.fnType(core.bool, [html$._Attr])
}));
dart.setLibraryUri(html$._ElementAttributeMap, I[148]);
dart.defineExtensionMethods(html$._ElementAttributeMap, ['containsKey', '_get', '_set', 'remove']);
dart.defineExtensionAccessors(html$._ElementAttributeMap, ['length']);
html$._NamespacedAttributeMap = class _NamespacedAttributeMap extends html$._AttributeMap {
  containsKey(key) {
    return typeof key == 'string' && dart.test(this[S$1._element$2][S._hasAttributeNS](this[S$3._namespace], key));
  }
  _get(key) {
    return this[S$1._element$2][S.$getAttributeNS](this[S$3._namespace], core.String.as(key));
  }
  _set(key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 35895, 28, "key");
    core.String.as(value);
    if (value == null) dart.nullFailed(I[147], 35895, 40, "value");
    this[S$1._element$2][S.$setAttributeNS](this[S$3._namespace], key, value);
    return value$;
  }
  remove(key) {
    return typeof key == 'string' ? html$._NamespacedAttributeMap._remove(this[S$3._namespace], this[S$1._element$2], key) : null;
  }
  get length() {
    return this.keys[$length];
  }
  [S$3._matches](node) {
    if (node == null) dart.nullFailed(I[147], 35910, 23, "node");
    return node[S._namespaceUri] == this[S$3._namespace];
  }
  static _remove(namespace, element, key) {
    if (element == null) dart.nullFailed(I[147], 35916, 53, "element");
    if (key == null) dart.nullFailed(I[147], 35916, 69, "key");
    let value = element.getAttributeNS(namespace, key);
    element.removeAttributeNS(namespace, key);
    return value;
  }
};
(html$._NamespacedAttributeMap.new = function(element, _namespace) {
  if (element == null) dart.nullFailed(I[147], 35885, 35, "element");
  this[S$3._namespace] = _namespace;
  html$._NamespacedAttributeMap.__proto__.new.call(this, element);
  ;
}).prototype = html$._NamespacedAttributeMap.prototype;
dart.addTypeTests(html$._NamespacedAttributeMap);
dart.addTypeCaches(html$._NamespacedAttributeMap);
dart.setMethodSignature(html$._NamespacedAttributeMap, () => ({
  __proto__: dart.getMethods(html$._NamespacedAttributeMap.__proto__),
  _get: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$_get]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  remove: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$remove]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [S$3._matches]: dart.fnType(core.bool, [html$._Attr])
}));
dart.setLibraryUri(html$._NamespacedAttributeMap, I[148]);
dart.setFieldSignature(html$._NamespacedAttributeMap, () => ({
  __proto__: dart.getFields(html$._NamespacedAttributeMap.__proto__),
  [S$3._namespace]: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(html$._NamespacedAttributeMap, ['containsKey', '_get', '_set', 'remove']);
dart.defineExtensionAccessors(html$._NamespacedAttributeMap, ['length']);
html$._DataAttributeMap = class _DataAttributeMap extends collection.MapBase$(core.String, core.String) {
  addAll(other) {
    T$0.MapOfString$String().as(other);
    if (other == null) dart.nullFailed(I[147], 35941, 35, "other");
    other[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[147], 35942, 20, "k");
      if (v == null) dart.nullFailed(I[147], 35942, 23, "v");
      this._set(k, v);
    }, T$0.StringAndStringTovoid()));
  }
  cast(K, V) {
    return core.Map.castFrom(core.String, core.String, K, V, this);
  }
  containsValue(value) {
    return this.values[$any](dart.fn(v => {
      if (v == null) dart.nullFailed(I[147], 35949, 52, "v");
      return core.identical(v, value);
    }, T$.StringTobool()));
  }
  containsKey(key) {
    return this[S._attributes$1][$containsKey](this[S$3._attr](core.String.as(key)));
  }
  _get(key) {
    return this[S._attributes$1][$_get](this[S$3._attr](core.String.as(key)));
  }
  _set(key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 35956, 28, "key");
    core.String.as(value);
    if (value == null) dart.nullFailed(I[147], 35956, 40, "value");
    this[S._attributes$1][$_set](this[S$3._attr](key), value);
    return value$;
  }
  putIfAbsent(key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[147], 35960, 29, "key");
    T$.VoidToString().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[147], 35960, 41, "ifAbsent");
    return this[S._attributes$1][$putIfAbsent](this[S$3._attr](key), ifAbsent);
  }
  remove(key) {
    return this[S._attributes$1][$remove](this[S$3._attr](core.String.as(key)));
  }
  clear() {
    for (let key of this.keys) {
      this.remove(key);
    }
  }
  forEach(f) {
    if (f == null) dart.nullFailed(I[147], 35972, 21, "f");
    this[S._attributes$1][$forEach](dart.fn((key, value) => {
      if (key == null) dart.nullFailed(I[147], 35973, 33, "key");
      if (value == null) dart.nullFailed(I[147], 35973, 45, "value");
      if (dart.test(this[S$3._matches](key))) {
        f(this[S$3._strip](key), value);
      }
    }, T$0.StringAndStringTovoid()));
  }
  get keys() {
    let keys = T$.JSArrayOfString().of([]);
    this[S._attributes$1][$forEach](dart.fn((key, value) => {
      if (key == null) dart.nullFailed(I[147], 35982, 33, "key");
      if (value == null) dart.nullFailed(I[147], 35982, 45, "value");
      if (dart.test(this[S$3._matches](key))) {
        keys[$add](this[S$3._strip](key));
      }
    }, T$0.StringAndStringTovoid()));
    return keys;
  }
  get values() {
    let values = T$.JSArrayOfString().of([]);
    this[S._attributes$1][$forEach](dart.fn((key, value) => {
      if (key == null) dart.nullFailed(I[147], 35992, 33, "key");
      if (value == null) dart.nullFailed(I[147], 35992, 45, "value");
      if (dart.test(this[S$3._matches](key))) {
        values[$add](value);
      }
    }, T$0.StringAndStringTovoid()));
    return values;
  }
  get length() {
    return this.keys[$length];
  }
  get isEmpty() {
    return this.length === 0;
  }
  get isNotEmpty() {
    return !dart.test(this.isEmpty);
  }
  [S$3._attr](key) {
    if (key == null) dart.nullFailed(I[147], 36008, 23, "key");
    return "data-" + dart.str(this[S$3._toHyphenedName](key));
  }
  [S$3._matches](key) {
    if (key == null) dart.nullFailed(I[147], 36009, 24, "key");
    return key[$startsWith]("data-");
  }
  [S$3._strip](key) {
    if (key == null) dart.nullFailed(I[147], 36010, 24, "key");
    return this[S$3._toCamelCase](key[$substring](5));
  }
  [S$3._toCamelCase](hyphenedName, opts) {
    if (hyphenedName == null) dart.nullFailed(I[147], 36017, 30, "hyphenedName");
    let startUppercase = opts && 'startUppercase' in opts ? opts.startUppercase : false;
    if (startUppercase == null) dart.nullFailed(I[147], 36017, 50, "startUppercase");
    let segments = hyphenedName[$split]("-");
    let start = dart.test(startUppercase) ? 0 : 1;
    for (let i = start; i < dart.notNull(segments[$length]); i = i + 1) {
      let segment = segments[$_get](i);
      if (segment.length > 0) {
        segments[$_set](i, segment[$_get](0)[$toUpperCase]() + segment[$substring](1));
      }
    }
    return segments[$join]("");
  }
  [S$3._toHyphenedName](word) {
    if (word == null) dart.nullFailed(I[147], 36031, 33, "word");
    let sb = new core.StringBuffer.new();
    for (let i = 0; i < word.length; i = i + 1) {
      let lower = word[$_get](i)[$toLowerCase]();
      if (word[$_get](i) !== lower && i > 0) sb.write("-");
      sb.write(lower);
    }
    return sb.toString();
  }
};
(html$._DataAttributeMap.new = function(_attributes) {
  if (_attributes == null) dart.nullFailed(I[147], 35937, 26, "_attributes");
  this[S._attributes$1] = _attributes;
  ;
}).prototype = html$._DataAttributeMap.prototype;
dart.addTypeTests(html$._DataAttributeMap);
dart.addTypeCaches(html$._DataAttributeMap);
dart.setMethodSignature(html$._DataAttributeMap, () => ({
  __proto__: dart.getMethods(html$._DataAttributeMap.__proto__),
  cast: dart.gFnType((K, V) => [core.Map$(K, V), []], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$cast]: dart.gFnType((K, V) => [core.Map$(K, V), []], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  _get: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$_get]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  remove: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  [$remove]: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  clear: dart.fnType(dart.void, []),
  [$clear]: dart.fnType(dart.void, []),
  [S$3._attr]: dart.fnType(core.String, [core.String]),
  [S$3._matches]: dart.fnType(core.bool, [core.String]),
  [S$3._strip]: dart.fnType(core.String, [core.String]),
  [S$3._toCamelCase]: dart.fnType(core.String, [core.String], {startUppercase: core.bool}, {}),
  [S$3._toHyphenedName]: dart.fnType(core.String, [core.String])
}));
dart.setGetterSignature(html$._DataAttributeMap, () => ({
  __proto__: dart.getGetters(html$._DataAttributeMap.__proto__),
  keys: core.Iterable$(core.String),
  [$keys]: core.Iterable$(core.String)
}));
dart.setLibraryUri(html$._DataAttributeMap, I[148]);
dart.setFieldSignature(html$._DataAttributeMap, () => ({
  __proto__: dart.getFields(html$._DataAttributeMap.__proto__),
  [S._attributes$1]: dart.finalFieldType(core.Map$(core.String, core.String))
}));
dart.defineExtensionMethods(html$._DataAttributeMap, [
  'addAll',
  'cast',
  'containsValue',
  'containsKey',
  '_get',
  '_set',
  'putIfAbsent',
  'remove',
  'clear',
  'forEach'
]);
dart.defineExtensionAccessors(html$._DataAttributeMap, [
  'keys',
  'values',
  'length',
  'isEmpty',
  'isNotEmpty'
]);
html$.CanvasImageSource = class CanvasImageSource extends core.Object {};
(html$.CanvasImageSource.new = function() {
  ;
}).prototype = html$.CanvasImageSource.prototype;
dart.addTypeTests(html$.CanvasImageSource);
dart.addTypeCaches(html$.CanvasImageSource);
dart.setLibraryUri(html$.CanvasImageSource, I[148]);
html$.WindowBase = class WindowBase extends core.Object {};
(html$.WindowBase.new = function() {
  ;
}).prototype = html$.WindowBase.prototype;
dart.addTypeTests(html$.WindowBase);
dart.addTypeCaches(html$.WindowBase);
html$.WindowBase[dart.implements] = () => [html$.EventTarget];
dart.setLibraryUri(html$.WindowBase, I[148]);
html$.LocationBase = class LocationBase extends core.Object {};
(html$.LocationBase.new = function() {
  ;
}).prototype = html$.LocationBase.prototype;
dart.addTypeTests(html$.LocationBase);
dart.addTypeCaches(html$.LocationBase);
dart.setLibraryUri(html$.LocationBase, I[148]);
html$.HistoryBase = class HistoryBase extends core.Object {};
(html$.HistoryBase.new = function() {
  ;
}).prototype = html$.HistoryBase.prototype;
dart.addTypeTests(html$.HistoryBase);
dart.addTypeCaches(html$.HistoryBase);
dart.setLibraryUri(html$.HistoryBase, I[148]);
html$.CssClassSet = class CssClassSet extends core.Object {
  [Symbol.iterator]() {
    return new dart.JsIterator(this[$iterator]);
  }
};
(html$.CssClassSet.new = function() {
  ;
}).prototype = html$.CssClassSet.prototype;
dart.addTypeTests(html$.CssClassSet);
dart.addTypeCaches(html$.CssClassSet);
html$.CssClassSet[dart.implements] = () => [core.Set$(core.String)];
dart.setLibraryUri(html$.CssClassSet, I[148]);
html$.CssRect = class CssRect extends core.Object {
  set height(newHeight) {
    dart.throw(new core.UnsupportedError.new("Can only set height for content rect."));
  }
  set width(newWidth) {
    dart.throw(new core.UnsupportedError.new("Can only set width for content rect."));
  }
  [S$3._addOrSubtractToBoxModel](dimensions, augmentingMeasurement) {
    if (dimensions == null) dart.nullFailed(I[147], 36582, 20, "dimensions");
    if (augmentingMeasurement == null) dart.nullFailed(I[147], 36582, 39, "augmentingMeasurement");
    let styles = this[S$1._element$2][S.$getComputedStyle]();
    let val = 0;
    for (let measurement of dimensions) {
      if (augmentingMeasurement == html$._MARGIN) {
        val = val + dart.notNull(new html$.Dimension.css(styles[S$.$getPropertyValue](dart.str(augmentingMeasurement) + "-" + dart.str(measurement))).value);
      }
      if (augmentingMeasurement == html$._CONTENT) {
        val = val - dart.notNull(new html$.Dimension.css(styles[S$.$getPropertyValue](dart.str(html$._PADDING) + "-" + dart.str(measurement))).value);
      }
      if (augmentingMeasurement != html$._MARGIN) {
        val = val - dart.notNull(new html$.Dimension.css(styles[S$.$getPropertyValue]("border-" + dart.str(measurement) + "-width")).value);
      }
    }
    return val;
  }
  get right() {
    return dart.notNull(this.left) + dart.notNull(this.width);
  }
  get bottom() {
    return dart.notNull(this.top) + dart.notNull(this.height);
  }
  toString() {
    return "Rectangle (" + dart.str(this.left) + ", " + dart.str(this.top) + ") " + dart.str(this.width) + " x " + dart.str(this.height);
  }
  _equals(other) {
    if (other == null) return false;
    return T$0.RectangleOfnum().is(other) && this.left == other[$left] && this.top == other[$top] && this.right == other[$right] && this.bottom == other[$bottom];
  }
  get hashCode() {
    return html$._JenkinsSmiHash.hash4(dart.hashCode(this.left), dart.hashCode(this.top), dart.hashCode(this.right), dart.hashCode(this.bottom));
  }
  intersection(other) {
    T$0.RectangleOfnum().as(other);
    if (other == null) dart.nullFailed(I[147], 36648, 47, "other");
    let x0 = math.max(core.num, this.left, other[$left]);
    let x1 = math.min(core.num, dart.notNull(this.left) + dart.notNull(this.width), dart.notNull(other[$left]) + dart.notNull(other[$width]));
    if (x0 <= x1) {
      let y0 = math.max(core.num, this.top, other[$top]);
      let y1 = math.min(core.num, dart.notNull(this.top) + dart.notNull(this.height), dart.notNull(other[$top]) + dart.notNull(other[$height]));
      if (y0 <= y1) {
        return new (T$0.RectangleOfnum()).new(x0, y0, x1 - x0, y1 - y0);
      }
    }
    return null;
  }
  intersects(other) {
    if (other == null) dart.nullFailed(I[147], 36666, 34, "other");
    return dart.notNull(this.left) <= dart.notNull(other[$left]) + dart.notNull(other[$width]) && dart.notNull(other[$left]) <= dart.notNull(this.left) + dart.notNull(this.width) && dart.notNull(this.top) <= dart.notNull(other[$top]) + dart.notNull(other[$height]) && dart.notNull(other[$top]) <= dart.notNull(this.top) + dart.notNull(this.height);
  }
  boundingBox(other) {
    T$0.RectangleOfnum().as(other);
    if (other == null) dart.nullFailed(I[147], 36676, 45, "other");
    let right = math.max(core.num, dart.notNull(this.left) + dart.notNull(this.width), dart.notNull(other[$left]) + dart.notNull(other[$width]));
    let bottom = math.max(core.num, dart.notNull(this.top) + dart.notNull(this.height), dart.notNull(other[$top]) + dart.notNull(other[$height]));
    let left = math.min(core.num, this.left, other[$left]);
    let top = math.min(core.num, this.top, other[$top]);
    return new (T$0.RectangleOfnum()).new(left, top, right - left, bottom - top);
  }
  containsRectangle(another) {
    if (another == null) dart.nullFailed(I[147], 36689, 41, "another");
    return dart.notNull(this.left) <= dart.notNull(another[$left]) && dart.notNull(this.left) + dart.notNull(this.width) >= dart.notNull(another[$left]) + dart.notNull(another[$width]) && dart.notNull(this.top) <= dart.notNull(another[$top]) && dart.notNull(this.top) + dart.notNull(this.height) >= dart.notNull(another[$top]) + dart.notNull(another[$height]);
  }
  containsPoint(another) {
    if (another == null) dart.nullFailed(I[147], 36699, 33, "another");
    return dart.notNull(another.x) >= dart.notNull(this.left) && dart.notNull(another.x) <= dart.notNull(this.left) + dart.notNull(this.width) && dart.notNull(another.y) >= dart.notNull(this.top) && dart.notNull(another.y) <= dart.notNull(this.top) + dart.notNull(this.height);
  }
  get topLeft() {
    return new (T$0.PointOfnum()).new(this.left, this.top);
  }
  get topRight() {
    return new (T$0.PointOfnum()).new(dart.notNull(this.left) + dart.notNull(this.width), this.top);
  }
  get bottomRight() {
    return new (T$0.PointOfnum()).new(dart.notNull(this.left) + dart.notNull(this.width), dart.notNull(this.top) + dart.notNull(this.height));
  }
  get bottomLeft() {
    return new (T$0.PointOfnum()).new(this.left, dart.notNull(this.top) + dart.notNull(this.height));
  }
};
(html$.CssRect.new = function(_element) {
  if (_element == null) dart.nullFailed(I[147], 36520, 16, "_element");
  this[S$1._element$2] = _element;
  ;
}).prototype = html$.CssRect.prototype;
dart.addTypeTests(html$.CssRect);
dart.addTypeCaches(html$.CssRect);
html$.CssRect[dart.implements] = () => [math.Rectangle$(core.num)];
dart.setMethodSignature(html$.CssRect, () => ({
  __proto__: dart.getMethods(html$.CssRect.__proto__),
  [S$3._addOrSubtractToBoxModel]: dart.fnType(core.num, [core.List$(core.String), core.String]),
  intersection: dart.fnType(dart.nullable(math.Rectangle$(core.num)), [dart.nullable(core.Object)]),
  [$intersection]: dart.fnType(dart.nullable(math.Rectangle$(core.num)), [dart.nullable(core.Object)]),
  intersects: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
  [$intersects]: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
  boundingBox: dart.fnType(math.Rectangle$(core.num), [dart.nullable(core.Object)]),
  [$boundingBox]: dart.fnType(math.Rectangle$(core.num), [dart.nullable(core.Object)]),
  containsRectangle: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
  [$containsRectangle]: dart.fnType(core.bool, [math.Rectangle$(core.num)]),
  containsPoint: dart.fnType(core.bool, [math.Point$(core.num)]),
  [$containsPoint]: dart.fnType(core.bool, [math.Point$(core.num)])
}));
dart.setGetterSignature(html$.CssRect, () => ({
  __proto__: dart.getGetters(html$.CssRect.__proto__),
  right: core.num,
  [$right]: core.num,
  bottom: core.num,
  [$bottom]: core.num,
  topLeft: math.Point$(core.num),
  [$topLeft]: math.Point$(core.num),
  topRight: math.Point$(core.num),
  [$topRight]: math.Point$(core.num),
  bottomRight: math.Point$(core.num),
  [$bottomRight]: math.Point$(core.num),
  bottomLeft: math.Point$(core.num),
  [$bottomLeft]: math.Point$(core.num)
}));
dart.setSetterSignature(html$.CssRect, () => ({
  __proto__: dart.getSetters(html$.CssRect.__proto__),
  height: dart.dynamic,
  [$height]: dart.dynamic,
  width: dart.dynamic,
  [$width]: dart.dynamic
}));
dart.setLibraryUri(html$.CssRect, I[148]);
dart.setFieldSignature(html$.CssRect, () => ({
  __proto__: dart.getFields(html$.CssRect.__proto__),
  [S$1._element$2]: dart.fieldType(html$.Element)
}));
dart.defineExtensionMethods(html$.CssRect, [
  'toString',
  '_equals',
  'intersection',
  'intersects',
  'boundingBox',
  'containsRectangle',
  'containsPoint'
]);
dart.defineExtensionAccessors(html$.CssRect, [
  'height',
  'width',
  'right',
  'bottom',
  'hashCode',
  'topLeft',
  'topRight',
  'bottomRight',
  'bottomLeft'
]);
html$._ContentCssRect = class _ContentCssRect extends html$.CssRect {
  get height() {
    return dart.notNull(this[S$1._element$2][S.$offsetHeight]) + dart.notNull(this[S$3._addOrSubtractToBoxModel](html$._HEIGHT, html$._CONTENT));
  }
  get width() {
    return dart.notNull(this[S$1._element$2][S.$offsetWidth]) + dart.notNull(this[S$3._addOrSubtractToBoxModel](html$._WIDTH, html$._CONTENT));
  }
  set height(newHeight) {
    if (html$.Dimension.is(newHeight)) {
      let newHeightAsDimension = newHeight;
      if (dart.notNull(newHeightAsDimension.value) < 0) newHeight = new html$.Dimension.px(0);
      this[S$1._element$2].style[$height] = dart.toString(newHeight);
    } else if (typeof newHeight == 'number') {
      if (dart.notNull(newHeight) < 0) newHeight = 0;
      this[S$1._element$2].style[$height] = dart.str(newHeight) + "px";
    } else {
      dart.throw(new core.ArgumentError.new("newHeight is not a Dimension or num"));
    }
  }
  set width(newWidth) {
    if (html$.Dimension.is(newWidth)) {
      let newWidthAsDimension = newWidth;
      if (dart.notNull(newWidthAsDimension.value) < 0) newWidth = new html$.Dimension.px(0);
      this[S$1._element$2].style[$width] = dart.toString(newWidth);
    } else if (typeof newWidth == 'number') {
      if (dart.notNull(newWidth) < 0) newWidth = 0;
      this[S$1._element$2].style[$width] = dart.str(newWidth) + "px";
    } else {
      dart.throw(new core.ArgumentError.new("newWidth is not a Dimension or num"));
    }
  }
  get left() {
    return dart.notNull(this[S$1._element$2].getBoundingClientRect()[$left]) - dart.notNull(this[S$3._addOrSubtractToBoxModel](T$.JSArrayOfString().of(["left"]), html$._CONTENT));
  }
  get top() {
    return dart.notNull(this[S$1._element$2].getBoundingClientRect()[$top]) - dart.notNull(this[S$3._addOrSubtractToBoxModel](T$.JSArrayOfString().of(["top"]), html$._CONTENT));
  }
};
(html$._ContentCssRect.new = function(element) {
  if (element == null) dart.nullFailed(I[147], 36358, 27, "element");
  html$._ContentCssRect.__proto__.new.call(this, element);
  ;
}).prototype = html$._ContentCssRect.prototype;
dart.addTypeTests(html$._ContentCssRect);
dart.addTypeCaches(html$._ContentCssRect);
dart.setGetterSignature(html$._ContentCssRect, () => ({
  __proto__: dart.getGetters(html$._ContentCssRect.__proto__),
  height: core.num,
  [$height]: core.num,
  width: core.num,
  [$width]: core.num,
  left: core.num,
  [$left]: core.num,
  top: core.num,
  [$top]: core.num
}));
dart.setLibraryUri(html$._ContentCssRect, I[148]);
dart.defineExtensionAccessors(html$._ContentCssRect, ['height', 'width', 'left', 'top']);
html$._ContentCssListRect = class _ContentCssListRect extends html$._ContentCssRect {
  set height(newHeight) {
    this[S$3._elementList][$forEach](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 36437, 27, "e");
      return e[S.$contentEdge].height = newHeight;
    }, T$0.ElementTovoid()));
  }
  get height() {
    return super.height;
  }
  set width(newWidth) {
    this[S$3._elementList][$forEach](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 36447, 27, "e");
      return e[S.$contentEdge].width = newWidth;
    }, T$0.ElementTovoid()));
  }
  get width() {
    return super.width;
  }
};
(html$._ContentCssListRect.new = function(elementList) {
  if (elementList == null) dart.nullFailed(I[147], 36424, 37, "elementList");
  this[S$3._elementList] = elementList;
  html$._ContentCssListRect.__proto__.new.call(this, elementList[$first]);
  ;
}).prototype = html$._ContentCssListRect.prototype;
dart.addTypeTests(html$._ContentCssListRect);
dart.addTypeCaches(html$._ContentCssListRect);
dart.setLibraryUri(html$._ContentCssListRect, I[148]);
dart.setFieldSignature(html$._ContentCssListRect, () => ({
  __proto__: dart.getFields(html$._ContentCssListRect.__proto__),
  [S$3._elementList]: dart.fieldType(core.List$(html$.Element))
}));
dart.defineExtensionAccessors(html$._ContentCssListRect, ['height', 'width']);
html$._PaddingCssRect = class _PaddingCssRect extends html$.CssRect {
  get height() {
    return dart.notNull(this[S$1._element$2][S.$offsetHeight]) + dart.notNull(this[S$3._addOrSubtractToBoxModel](html$._HEIGHT, html$._PADDING));
  }
  set height(value) {
    super.height = value;
  }
  get width() {
    return dart.notNull(this[S$1._element$2][S.$offsetWidth]) + dart.notNull(this[S$3._addOrSubtractToBoxModel](html$._WIDTH, html$._PADDING));
  }
  set width(value) {
    super.width = value;
  }
  get left() {
    return dart.notNull(this[S$1._element$2].getBoundingClientRect()[$left]) - dart.notNull(this[S$3._addOrSubtractToBoxModel](T$.JSArrayOfString().of(["left"]), html$._PADDING));
  }
  get top() {
    return dart.notNull(this[S$1._element$2].getBoundingClientRect()[$top]) - dart.notNull(this[S$3._addOrSubtractToBoxModel](T$.JSArrayOfString().of(["top"]), html$._PADDING));
  }
};
(html$._PaddingCssRect.new = function(element) {
  html$._PaddingCssRect.__proto__.new.call(this, html$.Element.as(element));
  ;
}).prototype = html$._PaddingCssRect.prototype;
dart.addTypeTests(html$._PaddingCssRect);
dart.addTypeCaches(html$._PaddingCssRect);
dart.setGetterSignature(html$._PaddingCssRect, () => ({
  __proto__: dart.getGetters(html$._PaddingCssRect.__proto__),
  height: core.num,
  [$height]: core.num,
  width: core.num,
  [$width]: core.num,
  left: core.num,
  [$left]: core.num,
  top: core.num,
  [$top]: core.num
}));
dart.setLibraryUri(html$._PaddingCssRect, I[148]);
dart.defineExtensionAccessors(html$._PaddingCssRect, ['height', 'width', 'left', 'top']);
html$._BorderCssRect = class _BorderCssRect extends html$.CssRect {
  get height() {
    return this[S$1._element$2][S.$offsetHeight];
  }
  set height(value) {
    super.height = value;
  }
  get width() {
    return this[S$1._element$2][S.$offsetWidth];
  }
  set width(value) {
    super.width = value;
  }
  get left() {
    return this[S$1._element$2].getBoundingClientRect()[$left];
  }
  get top() {
    return this[S$1._element$2].getBoundingClientRect()[$top];
  }
};
(html$._BorderCssRect.new = function(element) {
  html$._BorderCssRect.__proto__.new.call(this, html$.Element.as(element));
  ;
}).prototype = html$._BorderCssRect.prototype;
dart.addTypeTests(html$._BorderCssRect);
dart.addTypeCaches(html$._BorderCssRect);
dart.setGetterSignature(html$._BorderCssRect, () => ({
  __proto__: dart.getGetters(html$._BorderCssRect.__proto__),
  height: core.num,
  [$height]: core.num,
  width: core.num,
  [$width]: core.num,
  left: core.num,
  [$left]: core.num,
  top: core.num,
  [$top]: core.num
}));
dart.setLibraryUri(html$._BorderCssRect, I[148]);
dart.defineExtensionAccessors(html$._BorderCssRect, ['height', 'width', 'left', 'top']);
html$._MarginCssRect = class _MarginCssRect extends html$.CssRect {
  get height() {
    return dart.notNull(this[S$1._element$2][S.$offsetHeight]) + dart.notNull(this[S$3._addOrSubtractToBoxModel](html$._HEIGHT, html$._MARGIN));
  }
  set height(value) {
    super.height = value;
  }
  get width() {
    return dart.notNull(this[S$1._element$2][S.$offsetWidth]) + dart.notNull(this[S$3._addOrSubtractToBoxModel](html$._WIDTH, html$._MARGIN));
  }
  set width(value) {
    super.width = value;
  }
  get left() {
    return dart.notNull(this[S$1._element$2].getBoundingClientRect()[$left]) - dart.notNull(this[S$3._addOrSubtractToBoxModel](T$.JSArrayOfString().of(["left"]), html$._MARGIN));
  }
  get top() {
    return dart.notNull(this[S$1._element$2].getBoundingClientRect()[$top]) - dart.notNull(this[S$3._addOrSubtractToBoxModel](T$.JSArrayOfString().of(["top"]), html$._MARGIN));
  }
};
(html$._MarginCssRect.new = function(element) {
  html$._MarginCssRect.__proto__.new.call(this, html$.Element.as(element));
  ;
}).prototype = html$._MarginCssRect.prototype;
dart.addTypeTests(html$._MarginCssRect);
dart.addTypeCaches(html$._MarginCssRect);
dart.setGetterSignature(html$._MarginCssRect, () => ({
  __proto__: dart.getGetters(html$._MarginCssRect.__proto__),
  height: core.num,
  [$height]: core.num,
  width: core.num,
  [$width]: core.num,
  left: core.num,
  [$left]: core.num,
  top: core.num,
  [$top]: core.num
}));
dart.setLibraryUri(html$._MarginCssRect, I[148]);
dart.defineExtensionAccessors(html$._MarginCssRect, ['height', 'width', 'left', 'top']);
html_common.CssClassSetImpl = class CssClassSetImpl extends collection.SetBase$(core.String) {
  [S$3._validateToken](value) {
    if (value == null) dart.nullFailed(I[149], 10, 32, "value");
    if (dart.test(html_common.CssClassSetImpl._validTokenRE.hasMatch(value))) return value;
    dart.throw(new core.ArgumentError.value(value, "value", "Not a valid class token"));
  }
  toString() {
    return this.readClasses()[$join](" ");
  }
  toggle(value, shouldAdd = null) {
    if (value == null) dart.nullFailed(I[149], 26, 22, "value");
    this[S$3._validateToken](value);
    let s = this.readClasses();
    let result = false;
    if (shouldAdd == null) shouldAdd = !dart.test(s.contains(value));
    if (dart.test(shouldAdd)) {
      s.add(value);
      result = true;
    } else {
      s.remove(value);
    }
    this.writeClasses(s);
    return result;
  }
  get frozen() {
    return false;
  }
  get iterator() {
    return this.readClasses().iterator;
  }
  forEach(f) {
    if (f == null) dart.nullFailed(I[149], 52, 21, "f");
    this.readClasses()[$forEach](f);
  }
  join(separator = "") {
    if (separator == null) dart.nullFailed(I[149], 56, 23, "separator");
    return this.readClasses()[$join](separator);
  }
  map(T, f) {
    if (f == null) dart.nullFailed(I[149], 58, 24, "f");
    return this.readClasses()[$map](T, f);
  }
  where(f) {
    if (f == null) dart.nullFailed(I[149], 60, 31, "f");
    return this.readClasses()[$where](f);
  }
  expand(T, f) {
    if (f == null) dart.nullFailed(I[149], 62, 37, "f");
    return this.readClasses()[$expand](T, f);
  }
  every(f) {
    if (f == null) dart.nullFailed(I[149], 65, 19, "f");
    return this.readClasses()[$every](f);
  }
  any(f) {
    if (f == null) dart.nullFailed(I[149], 67, 17, "f");
    return this.readClasses()[$any](f);
  }
  get isEmpty() {
    return this.readClasses()[$isEmpty];
  }
  get isNotEmpty() {
    return this.readClasses()[$isNotEmpty];
  }
  get length() {
    return this.readClasses()[$length];
  }
  reduce(combine) {
    T$0.StringAndStringToString().as(combine);
    if (combine == null) dart.nullFailed(I[149], 75, 24, "combine");
    return this.readClasses()[$reduce](combine);
  }
  fold(T, initialValue, combine) {
    if (combine == null) dart.nullFailed(I[149], 79, 31, "combine");
    return this.readClasses()[$fold](T, initialValue, combine);
  }
  contains(value) {
    if (!(typeof value == 'string')) return false;
    this[S$3._validateToken](value);
    return this.readClasses().contains(value);
  }
  lookup(value) {
    return dart.test(this.contains(value)) ? core.String.as(value) : null;
  }
  add(value) {
    let t241;
    core.String.as(value);
    if (value == null) dart.nullFailed(I[149], 107, 19, "value");
    this[S$3._validateToken](value);
    return core.bool.as((t241 = this.modify(dart.fn(s => {
      if (s == null) dart.nullFailed(I[149], 111, 20, "s");
      return s.add(value);
    }, T$0.SetOfStringTobool())), t241 == null ? false : t241));
  }
  remove(value) {
    if (!(typeof value == 'string')) return false;
    this[S$3._validateToken](value);
    let s = this.readClasses();
    let result = s.remove(value);
    this.writeClasses(s);
    return result;
  }
  addAll(iterable) {
    T$0.IterableOfString().as(iterable);
    if (iterable == null) dart.nullFailed(I[149], 136, 32, "iterable");
    this.modify(dart.fn(s => {
      if (s == null) dart.nullFailed(I[149], 138, 13, "s");
      return s.addAll(iterable[$map](core.String, dart.bind(this, S$3._validateToken)));
    }, T$0.SetOfStringTovoid()));
  }
  removeAll(iterable) {
    if (iterable == null) dart.nullFailed(I[149], 147, 36, "iterable");
    this.modify(dart.fn(s => {
      if (s == null) dart.nullFailed(I[149], 148, 13, "s");
      return s.removeAll(iterable);
    }, T$0.SetOfStringTovoid()));
  }
  toggleAll(iterable, shouldAdd = null) {
    if (iterable == null) dart.nullFailed(I[149], 161, 35, "iterable");
    iterable[$forEach](dart.fn(e => {
      if (e == null) dart.nullFailed(I[149], 162, 23, "e");
      return this.toggle(e, shouldAdd);
    }, T$.StringTovoid()));
  }
  retainAll(iterable) {
    if (iterable == null) dart.nullFailed(I[149], 165, 36, "iterable");
    this.modify(dart.fn(s => {
      if (s == null) dart.nullFailed(I[149], 166, 13, "s");
      return s.retainAll(iterable);
    }, T$0.SetOfStringTovoid()));
  }
  removeWhere(test) {
    if (test == null) dart.nullFailed(I[149], 169, 25, "test");
    this.modify(dart.fn(s => {
      if (s == null) dart.nullFailed(I[149], 170, 13, "s");
      return s.removeWhere(test);
    }, T$0.SetOfStringTovoid()));
  }
  retainWhere(test) {
    if (test == null) dart.nullFailed(I[149], 173, 25, "test");
    this.modify(dart.fn(s => {
      if (s == null) dart.nullFailed(I[149], 174, 13, "s");
      return s.retainWhere(test);
    }, T$0.SetOfStringTovoid()));
  }
  containsAll(collection) {
    if (collection == null) dart.nullFailed(I[149], 177, 38, "collection");
    return this.readClasses().containsAll(collection);
  }
  intersection(other) {
    if (other == null) dart.nullFailed(I[149], 180, 41, "other");
    return this.readClasses().intersection(other);
  }
  union(other) {
    T$0.SetOfString().as(other);
    if (other == null) dart.nullFailed(I[149], 183, 33, "other");
    return this.readClasses().union(other);
  }
  difference(other) {
    if (other == null) dart.nullFailed(I[149], 185, 39, "other");
    return this.readClasses().difference(other);
  }
  get first() {
    return this.readClasses()[$first];
  }
  get last() {
    return this.readClasses()[$last];
  }
  get single() {
    return this.readClasses()[$single];
  }
  toList(opts) {
    let growable = opts && 'growable' in opts ? opts.growable : true;
    if (growable == null) dart.nullFailed(I[149], 190, 29, "growable");
    return this.readClasses()[$toList]({growable: growable});
  }
  toSet() {
    return this.readClasses().toSet();
  }
  take(n) {
    if (n == null) dart.nullFailed(I[149], 193, 29, "n");
    return this.readClasses()[$take](n);
  }
  takeWhile(test) {
    if (test == null) dart.nullFailed(I[149], 194, 35, "test");
    return this.readClasses()[$takeWhile](test);
  }
  skip(n) {
    if (n == null) dart.nullFailed(I[149], 196, 29, "n");
    return this.readClasses()[$skip](n);
  }
  skipWhile(test) {
    if (test == null) dart.nullFailed(I[149], 197, 35, "test");
    return this.readClasses()[$skipWhile](test);
  }
  firstWhere(test, opts) {
    if (test == null) dart.nullFailed(I[149], 199, 26, "test");
    let orElse = opts && 'orElse' in opts ? opts.orElse : null;
    T$0.VoidToNString().as(orElse);
    return this.readClasses()[$firstWhere](test, {orElse: orElse});
  }
  lastWhere(test, opts) {
    if (test == null) dart.nullFailed(I[149], 201, 25, "test");
    let orElse = opts && 'orElse' in opts ? opts.orElse : null;
    T$0.VoidToNString().as(orElse);
    return this.readClasses()[$lastWhere](test, {orElse: orElse});
  }
  singleWhere(test, opts) {
    if (test == null) dart.nullFailed(I[149], 203, 27, "test");
    let orElse = opts && 'orElse' in opts ? opts.orElse : null;
    T$0.VoidToNString().as(orElse);
    return this.readClasses()[$singleWhere](test, {orElse: orElse});
  }
  elementAt(index) {
    if (index == null) dart.nullFailed(I[149], 205, 24, "index");
    return this.readClasses()[$elementAt](index);
  }
  clear() {
    this.modify(dart.fn(s => {
      if (s == null) dart.nullFailed(I[149], 209, 13, "s");
      return s.clear();
    }, T$0.SetOfStringTovoid()));
  }
  modify(f) {
    if (f == null) dart.nullFailed(I[149], 222, 10, "f");
    let s = this.readClasses();
    let ret = f(s);
    this.writeClasses(s);
    return ret;
  }
};
(html_common.CssClassSetImpl.new = function() {
  ;
}).prototype = html_common.CssClassSetImpl.prototype;
dart.addTypeTests(html_common.CssClassSetImpl);
dart.addTypeCaches(html_common.CssClassSetImpl);
html_common.CssClassSetImpl[dart.implements] = () => [html$.CssClassSet];
dart.setMethodSignature(html_common.CssClassSetImpl, () => ({
  __proto__: dart.getMethods(html_common.CssClassSetImpl.__proto__),
  [S$3._validateToken]: dart.fnType(core.String, [core.String]),
  toggle: dart.fnType(core.bool, [core.String], [dart.nullable(core.bool)]),
  map: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [core.String])]], T => [dart.nullable(core.Object)]),
  [$map]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(T, [core.String])]], T => [dart.nullable(core.Object)]),
  expand: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [core.String])]], T => [dart.nullable(core.Object)]),
  [$expand]: dart.gFnType(T => [core.Iterable$(T), [dart.fnType(core.Iterable$(T), [core.String])]], T => [dart.nullable(core.Object)]),
  fold: dart.gFnType(T => [T, [T, dart.fnType(T, [T, core.String])]], T => [dart.nullable(core.Object)]),
  [$fold]: dart.gFnType(T => [T, [T, dart.fnType(T, [T, core.String])]], T => [dart.nullable(core.Object)]),
  contains: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  [$contains]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  lookup: dart.fnType(dart.nullable(core.String), [dart.nullable(core.Object)]),
  add: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  remove: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  toggleAll: dart.fnType(dart.void, [core.Iterable$(core.String)], [dart.nullable(core.bool)]),
  toSet: dart.fnType(core.Set$(core.String), []),
  [$toSet]: dart.fnType(core.Set$(core.String), []),
  modify: dart.fnType(dart.dynamic, [dart.fnType(dart.dynamic, [core.Set$(core.String)])])
}));
dart.setGetterSignature(html_common.CssClassSetImpl, () => ({
  __proto__: dart.getGetters(html_common.CssClassSetImpl.__proto__),
  frozen: core.bool,
  iterator: core.Iterator$(core.String),
  [$iterator]: core.Iterator$(core.String),
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(html_common.CssClassSetImpl, I[150]);
dart.defineExtensionMethods(html_common.CssClassSetImpl, [
  'toString',
  'forEach',
  'join',
  'map',
  'where',
  'expand',
  'every',
  'any',
  'reduce',
  'fold',
  'contains',
  'toList',
  'toSet',
  'take',
  'takeWhile',
  'skip',
  'skipWhile',
  'firstWhere',
  'lastWhere',
  'singleWhere',
  'elementAt'
]);
dart.defineExtensionAccessors(html_common.CssClassSetImpl, [
  'iterator',
  'isEmpty',
  'isNotEmpty',
  'length',
  'first',
  'last',
  'single'
]);
dart.defineLazy(html_common.CssClassSetImpl, {
  /*html_common.CssClassSetImpl._validTokenRE*/get _validTokenRE() {
    return core.RegExp.new("^\\S+$");
  }
}, false);
html$._MultiElementCssClassSet = class _MultiElementCssClassSet extends html_common.CssClassSetImpl {
  static new(elements) {
    if (elements == null) dart.nullFailed(I[147], 36733, 54, "elements");
    return new html$._MultiElementCssClassSet.__(elements, T$0.ListOfCssClassSetImpl().from(elements[$map](dart.dynamic, dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 36735, 62, "e");
      return e[S.$classes];
    }, T$0.ElementToCssClassSet()))));
  }
  readClasses() {
    let s = new (T$0._IdentityHashSetOfString()).new();
    this[S$3._sets][$forEach](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 36742, 36, "e");
      return s.addAll(e.readClasses());
    }, T$0.CssClassSetImplTovoid()));
    return s;
  }
  writeClasses(s) {
    if (s == null) dart.nullFailed(I[147], 36746, 33, "s");
    let classes = s[$join](" ");
    for (let e of this[S$0._elementIterable]) {
      e.className = classes;
    }
  }
  modify(f) {
    if (f == null) dart.nullFailed(I[147], 36762, 10, "f");
    this[S$3._sets][$forEach](dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 36763, 36, "e");
      return e.modify(f);
    }, T$0.CssClassSetImplTovoid()));
  }
  toggle(value, shouldAdd = null) {
    if (value == null) dart.nullFailed(I[147], 36773, 22, "value");
    return this[S$3._sets][$fold](core.bool, false, dart.fn((changed, e) => {
      if (changed == null) dart.nullFailed(I[147], 36775, 13, "changed");
      if (e == null) dart.nullFailed(I[147], 36775, 38, "e");
      return dart.test(e.toggle(value, shouldAdd)) || dart.test(changed);
    }, T$0.boolAndCssClassSetImplTobool()));
  }
  remove(value) {
    return this[S$3._sets][$fold](core.bool, false, dart.fn((changed, e) => {
      if (changed == null) dart.nullFailed(I[147], 36786, 20, "changed");
      if (e == null) dart.nullFailed(I[147], 36786, 45, "e");
      return dart.test(e.remove(value)) || dart.test(changed);
    }, T$0.boolAndCssClassSetImplTobool()));
  }
};
(html$._MultiElementCssClassSet.__ = function(_elementIterable, _sets) {
  if (_elementIterable == null) dart.nullFailed(I[147], 36738, 35, "_elementIterable");
  if (_sets == null) dart.nullFailed(I[147], 36738, 58, "_sets");
  this[S$0._elementIterable] = _elementIterable;
  this[S$3._sets] = _sets;
  ;
}).prototype = html$._MultiElementCssClassSet.prototype;
dart.addTypeTests(html$._MultiElementCssClassSet);
dart.addTypeCaches(html$._MultiElementCssClassSet);
dart.setMethodSignature(html$._MultiElementCssClassSet, () => ({
  __proto__: dart.getMethods(html$._MultiElementCssClassSet.__proto__),
  readClasses: dart.fnType(core.Set$(core.String), []),
  writeClasses: dart.fnType(dart.void, [core.Set$(core.String)])
}));
dart.setLibraryUri(html$._MultiElementCssClassSet, I[148]);
dart.setFieldSignature(html$._MultiElementCssClassSet, () => ({
  __proto__: dart.getFields(html$._MultiElementCssClassSet.__proto__),
  [S$0._elementIterable]: dart.finalFieldType(core.Iterable$(html$.Element)),
  [S$3._sets]: dart.finalFieldType(core.List$(html_common.CssClassSetImpl))
}));
html$._ElementCssClassSet = class _ElementCssClassSet extends html_common.CssClassSetImpl {
  readClasses() {
    let s = new (T$0._IdentityHashSetOfString()).new();
    let classname = this[S$1._element$2].className;
    for (let name of classname[$split](" ")) {
      let trimmed = name[$trim]();
      if (!trimmed[$isEmpty]) {
        s.add(trimmed);
      }
    }
    return s;
  }
  writeClasses(s) {
    if (s == null) dart.nullFailed(I[147], 36807, 33, "s");
    this[S$1._element$2].className = s[$join](" ");
  }
  get length() {
    return html$._ElementCssClassSet._classListLength(html$._ElementCssClassSet._classListOf(this[S$1._element$2]));
  }
  get isEmpty() {
    return this.length === 0;
  }
  get isNotEmpty() {
    return this.length !== 0;
  }
  clear() {
    this[S$1._element$2].className = "";
  }
  contains(value) {
    return html$._ElementCssClassSet._contains(this[S$1._element$2], value);
  }
  add(value) {
    core.String.as(value);
    if (value == null) dart.nullFailed(I[147], 36823, 19, "value");
    return html$._ElementCssClassSet._add(this[S$1._element$2], value);
  }
  remove(value) {
    return typeof value == 'string' && dart.test(html$._ElementCssClassSet._remove(this[S$1._element$2], value));
  }
  toggle(value, shouldAdd = null) {
    if (value == null) dart.nullFailed(I[147], 36831, 22, "value");
    return html$._ElementCssClassSet._toggle(this[S$1._element$2], value, shouldAdd);
  }
  addAll(iterable) {
    T$0.IterableOfString().as(iterable);
    if (iterable == null) dart.nullFailed(I[147], 36835, 32, "iterable");
    html$._ElementCssClassSet._addAll(this[S$1._element$2], iterable);
  }
  removeAll(iterable) {
    if (iterable == null) dart.nullFailed(I[147], 36839, 36, "iterable");
    html$._ElementCssClassSet._removeAll(this[S$1._element$2], iterable);
  }
  retainAll(iterable) {
    if (iterable == null) dart.nullFailed(I[147], 36843, 36, "iterable");
    html$._ElementCssClassSet._removeWhere(this[S$1._element$2], dart.bind(iterable[$toSet](), 'contains'), false);
  }
  removeWhere(test) {
    if (test == null) dart.nullFailed(I[147], 36847, 25, "test");
    html$._ElementCssClassSet._removeWhere(this[S$1._element$2], test, true);
  }
  retainWhere(test) {
    if (test == null) dart.nullFailed(I[147], 36851, 25, "test");
    html$._ElementCssClassSet._removeWhere(this[S$1._element$2], test, false);
  }
  static _contains(_element, value) {
    if (_element == null) dart.nullFailed(I[147], 36855, 33, "_element");
    return typeof value == 'string' && dart.test(html$._ElementCssClassSet._classListContains(html$._ElementCssClassSet._classListOf(_element), value));
  }
  static _add(_element, value) {
    if (_element == null) dart.nullFailed(I[147], 36860, 28, "_element");
    if (value == null) dart.nullFailed(I[147], 36860, 45, "value");
    let list = html$._ElementCssClassSet._classListOf(_element);
    let added = !dart.test(html$._ElementCssClassSet._classListContainsBeforeAddOrRemove(list, value));
    html$._ElementCssClassSet._classListAdd(list, value);
    return added;
  }
  static _remove(_element, value) {
    if (_element == null) dart.nullFailed(I[147], 36869, 31, "_element");
    if (value == null) dart.nullFailed(I[147], 36869, 48, "value");
    let list = html$._ElementCssClassSet._classListOf(_element);
    let removed = html$._ElementCssClassSet._classListContainsBeforeAddOrRemove(list, value);
    html$._ElementCssClassSet._classListRemove(list, value);
    return removed;
  }
  static _toggle(_element, value, shouldAdd) {
    if (_element == null) dart.nullFailed(I[147], 36876, 31, "_element");
    if (value == null) dart.nullFailed(I[147], 36876, 48, "value");
    return shouldAdd == null ? html$._ElementCssClassSet._toggleDefault(_element, value) : html$._ElementCssClassSet._toggleOnOff(_element, value, shouldAdd);
  }
  static _toggleDefault(_element, value) {
    if (_element == null) dart.nullFailed(I[147], 36885, 38, "_element");
    if (value == null) dart.nullFailed(I[147], 36885, 55, "value");
    let list = html$._ElementCssClassSet._classListOf(_element);
    return html$._ElementCssClassSet._classListToggle1(list, value);
  }
  static _toggleOnOff(_element, value, shouldAdd) {
    let t241;
    if (_element == null) dart.nullFailed(I[147], 36890, 36, "_element");
    if (value == null) dart.nullFailed(I[147], 36890, 53, "value");
    let list = html$._ElementCssClassSet._classListOf(_element);
    if (dart.test((t241 = shouldAdd, t241 == null ? false : t241))) {
      html$._ElementCssClassSet._classListAdd(list, value);
      return true;
    } else {
      html$._ElementCssClassSet._classListRemove(list, value);
      return false;
    }
  }
  static _addAll(_element, iterable) {
    if (_element == null) dart.nullFailed(I[147], 36905, 31, "_element");
    if (iterable == null) dart.nullFailed(I[147], 36905, 58, "iterable");
    let list = html$._ElementCssClassSet._classListOf(_element);
    for (let value of iterable) {
      html$._ElementCssClassSet._classListAdd(list, value);
    }
  }
  static _removeAll(_element, iterable) {
    if (_element == null) dart.nullFailed(I[147], 36912, 34, "_element");
    if (iterable == null) dart.nullFailed(I[147], 36912, 62, "iterable");
    let list = html$._ElementCssClassSet._classListOf(_element);
    for (let value of iterable) {
      html$._ElementCssClassSet._classListRemove(list, core.String.as(value));
    }
  }
  static _removeWhere(_element, test, doRemove) {
    if (_element == null) dart.nullFailed(I[147], 36920, 15, "_element");
    if (test == null) dart.nullFailed(I[147], 36920, 30, "test");
    if (doRemove == null) dart.nullFailed(I[147], 36920, 54, "doRemove");
    let list = html$._ElementCssClassSet._classListOf(_element);
    let i = 0;
    while (i < dart.notNull(html$._ElementCssClassSet._classListLength(list))) {
      let item = dart.nullCheck(list.item(i));
      if (doRemove == test(item)) {
        html$._ElementCssClassSet._classListRemove(list, item);
      } else {
        i = i + 1;
      }
    }
  }
  static _classListOf(e) {
    if (e == null) dart.nullFailed(I[147], 36937, 44, "e");
    return e.classList;
  }
  static _classListLength(list) {
    if (list == null) dart.nullFailed(I[147], 36942, 44, "list");
    return list.length;
  }
  static _classListContains(list, value) {
    if (list == null) dart.nullFailed(I[147], 36945, 47, "list");
    if (value == null) dart.nullFailed(I[147], 36945, 60, "value");
    return list.contains(value);
  }
  static _classListContainsBeforeAddOrRemove(list, value) {
    if (list == null) dart.nullFailed(I[147], 36949, 24, "list");
    if (value == null) dart.nullFailed(I[147], 36949, 37, "value");
    return list.contains(value);
  }
  static _classListAdd(list, value) {
    if (list == null) dart.nullFailed(I[147], 36958, 42, "list");
    if (value == null) dart.nullFailed(I[147], 36958, 55, "value");
    list.add(value);
  }
  static _classListRemove(list, value) {
    if (list == null) dart.nullFailed(I[147], 36963, 45, "list");
    if (value == null) dart.nullFailed(I[147], 36963, 58, "value");
    list.remove(value);
  }
  static _classListToggle1(list, value) {
    if (list == null) dart.nullFailed(I[147], 36968, 46, "list");
    if (value == null) dart.nullFailed(I[147], 36968, 59, "value");
    return list.toggle(value);
  }
  static _classListToggle2(list, value, shouldAdd) {
    if (list == null) dart.nullFailed(I[147], 36973, 20, "list");
    if (value == null) dart.nullFailed(I[147], 36973, 33, "value");
    return list.toggle(value, shouldAdd);
  }
};
(html$._ElementCssClassSet.new = function(_element) {
  if (_element == null) dart.nullFailed(I[147], 36792, 28, "_element");
  this[S$1._element$2] = _element;
  ;
}).prototype = html$._ElementCssClassSet.prototype;
dart.addTypeTests(html$._ElementCssClassSet);
dart.addTypeCaches(html$._ElementCssClassSet);
dart.setMethodSignature(html$._ElementCssClassSet, () => ({
  __proto__: dart.getMethods(html$._ElementCssClassSet.__proto__),
  readClasses: dart.fnType(core.Set$(core.String), []),
  writeClasses: dart.fnType(dart.void, [core.Set$(core.String)])
}));
dart.setLibraryUri(html$._ElementCssClassSet, I[148]);
dart.setFieldSignature(html$._ElementCssClassSet, () => ({
  __proto__: dart.getFields(html$._ElementCssClassSet.__proto__),
  [S$1._element$2]: dart.finalFieldType(html$.Element)
}));
dart.defineExtensionMethods(html$._ElementCssClassSet, ['contains']);
dart.defineExtensionAccessors(html$._ElementCssClassSet, ['length', 'isEmpty', 'isNotEmpty']);
html$.Dimension = class Dimension extends core.Object {
  toString() {
    return dart.str(this[S$1._value$7]) + dart.str(this[S$3._unit]);
  }
  get value() {
    return this[S$1._value$7];
  }
};
(html$.Dimension.percent = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 36988, 26, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "%";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.px = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 36991, 21, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "px";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.pc = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 36994, 21, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "pc";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.pt = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 36997, 21, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "pt";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.inch = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 37000, 23, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "in";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.cm = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 37003, 21, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "cm";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.mm = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 37006, 21, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "mm";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.em = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 37015, 21, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "em";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.ex = function(_value) {
  if (_value == null) dart.nullFailed(I[147], 37024, 21, "_value");
  this[S$1._value$7] = _value;
  this[S$3._unit] = "ex";
  ;
}).prototype = html$.Dimension.prototype;
(html$.Dimension.css = function(cssValue) {
  if (cssValue == null) dart.nullFailed(I[147], 37035, 24, "cssValue");
  this[S$3._unit] = "";
  this[S$1._value$7] = 0;
  if (cssValue === "") cssValue = "0px";
  if (cssValue[$endsWith]("%")) {
    this[S$3._unit] = "%";
  } else {
    this[S$3._unit] = cssValue[$substring](cssValue.length - 2);
  }
  if (cssValue[$contains](".")) {
    this[S$1._value$7] = core.double.parse(cssValue[$substring](0, cssValue.length - this[S$3._unit].length));
  } else {
    this[S$1._value$7] = core.int.parse(cssValue[$substring](0, cssValue.length - this[S$3._unit].length));
  }
}).prototype = html$.Dimension.prototype;
dart.addTypeTests(html$.Dimension);
dart.addTypeCaches(html$.Dimension);
dart.setGetterSignature(html$.Dimension, () => ({
  __proto__: dart.getGetters(html$.Dimension.__proto__),
  value: core.num
}));
dart.setLibraryUri(html$.Dimension, I[148]);
dart.setFieldSignature(html$.Dimension, () => ({
  __proto__: dart.getFields(html$.Dimension.__proto__),
  [S$1._value$7]: dart.fieldType(core.num),
  [S$3._unit]: dart.fieldType(core.String)
}));
dart.defineExtensionMethods(html$.Dimension, ['toString']);
const _is_EventStreamProvider_default = Symbol('_is_EventStreamProvider_default');
html$.EventStreamProvider$ = dart.generic(T => {
  var __t$_EventStreamOfT = () => (__t$_EventStreamOfT = dart.constFn(html$._EventStream$(T)))();
  var __t$_ElementEventStreamImplOfT = () => (__t$_ElementEventStreamImplOfT = dart.constFn(html$._ElementEventStreamImpl$(T)))();
  var __t$_ElementListEventStreamImplOfT = () => (__t$_ElementListEventStreamImplOfT = dart.constFn(html$._ElementListEventStreamImpl$(T)))();
  class EventStreamProvider extends core.Object {
    get [S$3._eventType$1]() {
      return this[S$3._eventType$2];
    }
    set [S$3._eventType$1](value) {
      super[S$3._eventType$1] = value;
    }
    forTarget(e, opts) {
      let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
      if (useCapture == null) dart.nullFailed(I[147], 37099, 45, "useCapture");
      return new (__t$_EventStreamOfT()).new(e, this[S$3._eventType$1], useCapture);
    }
    forElement(e, opts) {
      if (e == null) dart.nullFailed(I[147], 37124, 39, "e");
      let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
      if (useCapture == null) dart.nullFailed(I[147], 37124, 48, "useCapture");
      return new (__t$_ElementEventStreamImplOfT()).new(e, this[S$3._eventType$1], useCapture);
    }
    [S$1._forElementList](e, opts) {
      if (e == null) dart.nullFailed(I[147], 37143, 57, "e");
      let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
      if (useCapture == null) dart.nullFailed(I[147], 37144, 13, "useCapture");
      return new (__t$_ElementListEventStreamImplOfT()).new(e, this[S$3._eventType$1], useCapture);
    }
    getEventType(target) {
      if (target == null) dart.nullFailed(I[147], 37155, 35, "target");
      return this[S$3._eventType$1];
    }
  }
  (EventStreamProvider.new = function(_eventType) {
    if (_eventType == null) dart.nullFailed(I[147], 37075, 34, "_eventType");
    this[S$3._eventType$2] = _eventType;
    ;
  }).prototype = EventStreamProvider.prototype;
  dart.addTypeTests(EventStreamProvider);
  EventStreamProvider.prototype[_is_EventStreamProvider_default] = true;
  dart.addTypeCaches(EventStreamProvider);
  dart.setMethodSignature(EventStreamProvider, () => ({
    __proto__: dart.getMethods(EventStreamProvider.__proto__),
    forTarget: dart.fnType(async.Stream$(T), [dart.nullable(html$.EventTarget)], {useCapture: core.bool}, {}),
    forElement: dart.fnType(html$.ElementStream$(T), [html$.Element], {useCapture: core.bool}, {}),
    [S$1._forElementList]: dart.fnType(html$.ElementStream$(T), [html$.ElementList$(html$.Element)], {useCapture: core.bool}, {}),
    getEventType: dart.fnType(core.String, [html$.EventTarget])
  }));
  dart.setLibraryUri(EventStreamProvider, I[148]);
  dart.setFieldSignature(EventStreamProvider, () => ({
    __proto__: dart.getFields(EventStreamProvider.__proto__),
    [S$3._eventType$1]: dart.finalFieldType(core.String)
  }));
  return EventStreamProvider;
});
html$.EventStreamProvider = html$.EventStreamProvider$();
dart.addTypeTests(html$.EventStreamProvider, _is_EventStreamProvider_default);
const _is_ElementStream_default = Symbol('_is_ElementStream_default');
html$.ElementStream$ = dart.generic(T => {
  class ElementStream extends core.Object {}
  (ElementStream.new = function() {
    ;
  }).prototype = ElementStream.prototype;
  ElementStream.prototype[dart.isStream] = true;
  dart.addTypeTests(ElementStream);
  ElementStream.prototype[_is_ElementStream_default] = true;
  dart.addTypeCaches(ElementStream);
  ElementStream[dart.implements] = () => [async.Stream$(T)];
  dart.setLibraryUri(ElementStream, I[148]);
  return ElementStream;
});
html$.ElementStream = html$.ElementStream$();
dart.addTypeTests(html$.ElementStream, _is_ElementStream_default);
const _is__EventStream_default = Symbol('_is__EventStream_default');
html$._EventStream$ = dart.generic(T => {
  var __t$_EventStreamSubscriptionOfT = () => (__t$_EventStreamSubscriptionOfT = dart.constFn(html$._EventStreamSubscription$(T)))();
  class _EventStream extends async.Stream$(T) {
    asBroadcastStream(opts) {
      let onListen = opts && 'onListen' in opts ? opts.onListen : null;
      let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
      return this;
    }
    get isBroadcast() {
      return true;
    }
    listen(onData, opts) {
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      return new (__t$_EventStreamSubscriptionOfT()).new(this[S$3._target$2], this[S$3._eventType$1], onData, this[S$3._useCapture]);
    }
  }
  (_EventStream.new = function(_target, _eventType, _useCapture) {
    if (_eventType == null) dart.nullFailed(I[147], 37195, 35, "_eventType");
    if (_useCapture == null) dart.nullFailed(I[147], 37195, 52, "_useCapture");
    this[S$3._target$2] = _target;
    this[S$3._eventType$1] = _eventType;
    this[S$3._useCapture] = _useCapture;
    _EventStream.__proto__.new.call(this);
    ;
  }).prototype = _EventStream.prototype;
  dart.addTypeTests(_EventStream);
  _EventStream.prototype[_is__EventStream_default] = true;
  dart.addTypeCaches(_EventStream);
  dart.setMethodSignature(_EventStream, () => ({
    __proto__: dart.getMethods(_EventStream.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
  }));
  dart.setLibraryUri(_EventStream, I[148]);
  dart.setFieldSignature(_EventStream, () => ({
    __proto__: dart.getFields(_EventStream.__proto__),
    [S$3._target$2]: dart.finalFieldType(dart.nullable(html$.EventTarget)),
    [S$3._eventType$1]: dart.finalFieldType(core.String),
    [S$3._useCapture]: dart.finalFieldType(core.bool)
  }));
  return _EventStream;
});
html$._EventStream = html$._EventStream$();
dart.addTypeTests(html$._EventStream, _is__EventStream_default);
const _is__ElementEventStreamImpl_default = Symbol('_is__ElementEventStreamImpl_default');
html$._ElementEventStreamImpl$ = dart.generic(T => {
  var __t$TTobool = () => (__t$TTobool = dart.constFn(dart.fnType(core.bool, [T])))();
  var __t$TToT = () => (__t$TToT = dart.constFn(dart.fnType(T, [T])))();
  var __t$_EventStreamSubscriptionOfT = () => (__t$_EventStreamSubscriptionOfT = dart.constFn(html$._EventStreamSubscription$(T)))();
  class _ElementEventStreamImpl extends html$._EventStream$(T) {
    matches(selector) {
      if (selector == null) dart.nullFailed(I[147], 37228, 28, "selector");
      return this.where(dart.fn(event => {
        if (event == null) dart.nullFailed(I[147], 37229, 19, "event");
        return html$._matchesWithAncestors(event, selector);
      }, __t$TTobool())).map(T, dart.fn(e => {
        if (e == null) dart.nullFailed(I[147], 37229, 74, "e");
        e[S._selector] = selector;
        return e;
      }, __t$TToT()));
    }
    capture(onData) {
      if (onData == null) dart.nullFailed(I[147], 37234, 38, "onData");
      return new (__t$_EventStreamSubscriptionOfT()).new(this[S$3._target$2], this[S$3._eventType$1], onData, true);
    }
  }
  (_ElementEventStreamImpl.new = function(target, eventType, useCapture) {
    _ElementEventStreamImpl.__proto__.new.call(this, T$0.EventTargetN().as(target), core.String.as(eventType), core.bool.as(useCapture));
    ;
  }).prototype = _ElementEventStreamImpl.prototype;
  dart.addTypeTests(_ElementEventStreamImpl);
  _ElementEventStreamImpl.prototype[_is__ElementEventStreamImpl_default] = true;
  dart.addTypeCaches(_ElementEventStreamImpl);
  _ElementEventStreamImpl[dart.implements] = () => [html$.ElementStream$(T)];
  dart.setMethodSignature(_ElementEventStreamImpl, () => ({
    __proto__: dart.getMethods(_ElementEventStreamImpl.__proto__),
    matches: dart.fnType(async.Stream$(T), [core.String]),
    capture: dart.fnType(async.StreamSubscription$(T), [dart.fnType(dart.void, [T])])
  }));
  dart.setLibraryUri(_ElementEventStreamImpl, I[148]);
  return _ElementEventStreamImpl;
});
html$._ElementEventStreamImpl = html$._ElementEventStreamImpl$();
dart.addTypeTests(html$._ElementEventStreamImpl, _is__ElementEventStreamImpl_default);
const _is__ElementListEventStreamImpl_default = Symbol('_is__ElementListEventStreamImpl_default');
html$._ElementListEventStreamImpl$ = dart.generic(T => {
  var __t$TTobool = () => (__t$TTobool = dart.constFn(dart.fnType(core.bool, [T])))();
  var __t$TToT = () => (__t$TToT = dart.constFn(dart.fnType(T, [T])))();
  var __t$_StreamPoolOfT = () => (__t$_StreamPoolOfT = dart.constFn(html$._StreamPool$(T)))();
  var __t$_EventStreamOfT = () => (__t$_EventStreamOfT = dart.constFn(html$._EventStream$(T)))();
  class _ElementListEventStreamImpl extends async.Stream$(T) {
    matches(selector) {
      if (selector == null) dart.nullFailed(I[147], 37252, 28, "selector");
      return this.where(dart.fn(event => {
        if (event == null) dart.nullFailed(I[147], 37253, 19, "event");
        return html$._matchesWithAncestors(event, selector);
      }, __t$TTobool())).map(T, dart.fn(e => {
        if (e == null) dart.nullFailed(I[147], 37253, 74, "e");
        e[S._selector] = selector;
        return e;
      }, __t$TToT()));
    }
    listen(onData, opts) {
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      let pool = new (__t$_StreamPoolOfT()).broadcast();
      for (let target of this[S$3._targetList]) {
        pool.add(new (__t$_EventStreamOfT()).new(target, this[S$3._eventType$1], this[S$3._useCapture]));
      }
      return pool.stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
    }
    capture(onData) {
      if (onData == null) dart.nullFailed(I[147], 37269, 38, "onData");
      let pool = new (__t$_StreamPoolOfT()).broadcast();
      for (let target of this[S$3._targetList]) {
        pool.add(new (__t$_EventStreamOfT()).new(target, this[S$3._eventType$1], true));
      }
      return pool.stream.listen(onData);
    }
    asBroadcastStream(opts) {
      let onListen = opts && 'onListen' in opts ? opts.onListen : null;
      let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
      return this;
    }
    get isBroadcast() {
      return true;
    }
  }
  (_ElementListEventStreamImpl.new = function(_targetList, _eventType, _useCapture) {
    if (_targetList == null) dart.nullFailed(I[147], 37250, 12, "_targetList");
    if (_eventType == null) dart.nullFailed(I[147], 37250, 30, "_eventType");
    if (_useCapture == null) dart.nullFailed(I[147], 37250, 47, "_useCapture");
    this[S$3._targetList] = _targetList;
    this[S$3._eventType$1] = _eventType;
    this[S$3._useCapture] = _useCapture;
    _ElementListEventStreamImpl.__proto__.new.call(this);
    ;
  }).prototype = _ElementListEventStreamImpl.prototype;
  dart.addTypeTests(_ElementListEventStreamImpl);
  _ElementListEventStreamImpl.prototype[_is__ElementListEventStreamImpl_default] = true;
  dart.addTypeCaches(_ElementListEventStreamImpl);
  _ElementListEventStreamImpl[dart.implements] = () => [html$.ElementStream$(T)];
  dart.setMethodSignature(_ElementListEventStreamImpl, () => ({
    __proto__: dart.getMethods(_ElementListEventStreamImpl.__proto__),
    matches: dart.fnType(async.Stream$(T), [core.String]),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
    capture: dart.fnType(async.StreamSubscription$(T), [dart.fnType(dart.void, [T])])
  }));
  dart.setLibraryUri(_ElementListEventStreamImpl, I[148]);
  dart.setFieldSignature(_ElementListEventStreamImpl, () => ({
    __proto__: dart.getFields(_ElementListEventStreamImpl.__proto__),
    [S$3._targetList]: dart.finalFieldType(core.Iterable$(html$.Element)),
    [S$3._useCapture]: dart.finalFieldType(core.bool),
    [S$3._eventType$1]: dart.finalFieldType(core.String)
  }));
  return _ElementListEventStreamImpl;
});
html$._ElementListEventStreamImpl = html$._ElementListEventStreamImpl$();
dart.addTypeTests(html$._ElementListEventStreamImpl, _is__ElementListEventStreamImpl_default);
const _is__EventStreamSubscription_default = Symbol('_is__EventStreamSubscription_default');
html$._EventStreamSubscription$ = dart.generic(T => {
  class _EventStreamSubscription extends async.StreamSubscription$(T) {
    cancel() {
      if (dart.test(this[S$3._canceled])) return _internal.nullFuture;
      this[S$3._unlisten]();
      this[S$3._target$2] = null;
      this[S$3._onData$3] = null;
      return _internal.nullFuture;
    }
    get [S$3._canceled]() {
      return this[S$3._target$2] == null;
    }
    onData(handleData) {
      if (dart.test(this[S$3._canceled])) {
        dart.throw(new core.StateError.new("Subscription has been canceled."));
      }
      this[S$3._unlisten]();
      this[S$3._onData$3] = handleData == null ? null : html$._wrapZone(html$.Event, dart.fn(e => {
        if (e == null) dart.nullFailed(I[147], 37332, 29, "e");
        return dart.dcall(handleData, [e]);
      }, T$0.EventTovoid()));
      this[S$3._tryResume]();
    }
    onError(handleError) {
    }
    onDone(handleDone) {
    }
    pause(resumeSignal = null) {
      if (dart.test(this[S$3._canceled])) return;
      this[S$3._pauseCount$1] = dart.notNull(this[S$3._pauseCount$1]) + 1;
      this[S$3._unlisten]();
      if (resumeSignal != null) {
        resumeSignal.whenComplete(dart.bind(this, 'resume'));
      }
    }
    get isPaused() {
      return dart.notNull(this[S$3._pauseCount$1]) > 0;
    }
    resume() {
      if (dart.test(this[S$3._canceled]) || !dart.test(this.isPaused)) return;
      this[S$3._pauseCount$1] = dart.notNull(this[S$3._pauseCount$1]) - 1;
      this[S$3._tryResume]();
    }
    [S$3._tryResume]() {
      if (this[S$3._onData$3] != null && !dart.test(this.isPaused)) {
        dart.nullCheck(this[S$3._target$2])[S.$addEventListener](this[S$3._eventType$1], this[S$3._onData$3], this[S$3._useCapture]);
      }
    }
    [S$3._unlisten]() {
      if (this[S$3._onData$3] != null) {
        dart.nullCheck(this[S$3._target$2])[S.$removeEventListener](this[S$3._eventType$1], this[S$3._onData$3], this[S$3._useCapture]);
      }
    }
    asFuture(E, futureValue = null) {
      let completer = async.Completer$(E).new();
      return completer.future;
    }
  }
  (_EventStreamSubscription.new = function(_target, _eventType, onData, _useCapture) {
    if (_eventType == null) dart.nullFailed(I[147], 37305, 26, "_eventType");
    if (_useCapture == null) dart.nullFailed(I[147], 37305, 66, "_useCapture");
    this[S$3._pauseCount$1] = 0;
    this[S$3._target$2] = _target;
    this[S$3._eventType$1] = _eventType;
    this[S$3._useCapture] = _useCapture;
    this[S$3._onData$3] = onData == null ? null : html$._wrapZone(html$.Event, dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 37308, 33, "e");
      return dart.dcall(onData, [e]);
    }, T$0.EventTovoid()));
    this[S$3._tryResume]();
  }).prototype = _EventStreamSubscription.prototype;
  dart.addTypeTests(_EventStreamSubscription);
  _EventStreamSubscription.prototype[_is__EventStreamSubscription_default] = true;
  dart.addTypeCaches(_EventStreamSubscription);
  dart.setMethodSignature(_EventStreamSubscription, () => ({
    __proto__: dart.getMethods(_EventStreamSubscription.__proto__),
    cancel: dart.fnType(async.Future, []),
    onData: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, [T]))]),
    onError: dart.fnType(dart.void, [dart.nullable(core.Function)]),
    onDone: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, []))]),
    pause: dart.fnType(dart.void, [], [dart.nullable(async.Future)]),
    resume: dart.fnType(dart.void, []),
    [S$3._tryResume]: dart.fnType(dart.void, []),
    [S$3._unlisten]: dart.fnType(dart.void, []),
    asFuture: dart.gFnType(E => [async.Future$(E), [], [dart.nullable(E)]], E => [dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_EventStreamSubscription, () => ({
    __proto__: dart.getGetters(_EventStreamSubscription.__proto__),
    [S$3._canceled]: core.bool,
    isPaused: core.bool
  }));
  dart.setLibraryUri(_EventStreamSubscription, I[148]);
  dart.setFieldSignature(_EventStreamSubscription, () => ({
    __proto__: dart.getFields(_EventStreamSubscription.__proto__),
    [S$3._pauseCount$1]: dart.fieldType(core.int),
    [S$3._target$2]: dart.fieldType(dart.nullable(html$.EventTarget)),
    [S$3._eventType$1]: dart.finalFieldType(core.String),
    [S$3._onData$3]: dart.fieldType(dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))),
    [S$3._useCapture]: dart.finalFieldType(core.bool)
  }));
  return _EventStreamSubscription;
});
html$._EventStreamSubscription = html$._EventStreamSubscription$();
dart.addTypeTests(html$._EventStreamSubscription, _is__EventStreamSubscription_default);
const _is_CustomStream_default = Symbol('_is_CustomStream_default');
html$.CustomStream$ = dart.generic(T => {
  class CustomStream extends core.Object {}
  (CustomStream.new = function() {
    ;
  }).prototype = CustomStream.prototype;
  CustomStream.prototype[dart.isStream] = true;
  dart.addTypeTests(CustomStream);
  CustomStream.prototype[_is_CustomStream_default] = true;
  dart.addTypeCaches(CustomStream);
  CustomStream[dart.implements] = () => [async.Stream$(T)];
  dart.setLibraryUri(CustomStream, I[148]);
  return CustomStream;
});
html$.CustomStream = html$.CustomStream$();
dart.addTypeTests(html$.CustomStream, _is_CustomStream_default);
const _is__CustomEventStreamImpl_default = Symbol('_is__CustomEventStreamImpl_default');
html$._CustomEventStreamImpl$ = dart.generic(T => {
  var __t$StreamControllerOfT = () => (__t$StreamControllerOfT = dart.constFn(async.StreamController$(T)))();
  class _CustomEventStreamImpl extends async.Stream$(T) {
    listen(onData, opts) {
      let onError = opts && 'onError' in opts ? opts.onError : null;
      let onDone = opts && 'onDone' in opts ? opts.onDone : null;
      let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
      return this[S$3._streamController].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
    }
    asBroadcastStream(opts) {
      let onListen = opts && 'onListen' in opts ? opts.onListen : null;
      let onCancel = opts && 'onCancel' in opts ? opts.onCancel : null;
      return this[S$3._streamController].stream;
    }
    get isBroadcast() {
      return true;
    }
    add(event) {
      T.as(event);
      if (event == null) dart.nullFailed(I[147], 37415, 14, "event");
      if (event.type == this[S$3._type$5]) this[S$3._streamController].add(event);
    }
  }
  (_CustomEventStreamImpl.new = function(type) {
    if (type == null) dart.nullFailed(I[147], 37397, 33, "type");
    this[S$3._type$5] = type;
    this[S$3._streamController] = __t$StreamControllerOfT().broadcast({sync: true});
    _CustomEventStreamImpl.__proto__.new.call(this);
    ;
  }).prototype = _CustomEventStreamImpl.prototype;
  dart.addTypeTests(_CustomEventStreamImpl);
  _CustomEventStreamImpl.prototype[_is__CustomEventStreamImpl_default] = true;
  dart.addTypeCaches(_CustomEventStreamImpl);
  _CustomEventStreamImpl[dart.implements] = () => [html$.CustomStream$(T)];
  dart.setMethodSignature(_CustomEventStreamImpl, () => ({
    __proto__: dart.getMethods(_CustomEventStreamImpl.__proto__),
    listen: dart.fnType(async.StreamSubscription$(T), [dart.nullable(dart.fnType(dart.void, [T]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(_CustomEventStreamImpl, I[148]);
  dart.setFieldSignature(_CustomEventStreamImpl, () => ({
    __proto__: dart.getFields(_CustomEventStreamImpl.__proto__),
    [S$3._streamController]: dart.fieldType(async.StreamController$(T)),
    [S$3._type$5]: dart.fieldType(core.String)
  }));
  return _CustomEventStreamImpl;
});
html$._CustomEventStreamImpl = html$._CustomEventStreamImpl$();
dart.addTypeTests(html$._CustomEventStreamImpl, _is__CustomEventStreamImpl_default);
html$.KeyEvent = class KeyEvent extends html$._WrappedEvent {
  get keyCode() {
    return this[S$3._shadowKeyCode];
  }
  get charCode() {
    return this.type === "keypress" ? this[S$3._shadowCharCode] : 0;
  }
  get altKey() {
    return this[S$3._shadowAltKey];
  }
  get which() {
    return this.keyCode;
  }
  get [S$3._realKeyCode]() {
    return this[S$3._parent$2].keyCode;
  }
  get [S$3._realCharCode]() {
    return this[S$3._parent$2].charCode;
  }
  get [S$3._realAltKey]() {
    return this[S$3._parent$2].altKey;
  }
  get sourceCapabilities() {
    return this.sourceCapabilities;
  }
  static _makeRecord() {
    let interceptor = _foreign_helper.JS_INTERCEPTOR_CONSTANT(dart.wrapType(html$.KeyboardEvent));
    return _js_helper.makeLeafDispatchRecord(interceptor);
  }
  static new(type, opts) {
    if (type == null) dart.nullFailed(I[147], 40543, 27, "type");
    let view = opts && 'view' in opts ? opts.view : null;
    let canBubble = opts && 'canBubble' in opts ? opts.canBubble : true;
    if (canBubble == null) dart.nullFailed(I[147], 40545, 12, "canBubble");
    let cancelable = opts && 'cancelable' in opts ? opts.cancelable : true;
    if (cancelable == null) dart.nullFailed(I[147], 40546, 12, "cancelable");
    let keyCode = opts && 'keyCode' in opts ? opts.keyCode : 0;
    if (keyCode == null) dart.nullFailed(I[147], 40547, 11, "keyCode");
    let charCode = opts && 'charCode' in opts ? opts.charCode : 0;
    if (charCode == null) dart.nullFailed(I[147], 40548, 11, "charCode");
    let location = opts && 'location' in opts ? opts.location : 1;
    if (location == null) dart.nullFailed(I[147], 40549, 11, "location");
    let ctrlKey = opts && 'ctrlKey' in opts ? opts.ctrlKey : false;
    if (ctrlKey == null) dart.nullFailed(I[147], 40550, 12, "ctrlKey");
    let altKey = opts && 'altKey' in opts ? opts.altKey : false;
    if (altKey == null) dart.nullFailed(I[147], 40551, 12, "altKey");
    let shiftKey = opts && 'shiftKey' in opts ? opts.shiftKey : false;
    if (shiftKey == null) dart.nullFailed(I[147], 40552, 12, "shiftKey");
    let metaKey = opts && 'metaKey' in opts ? opts.metaKey : false;
    if (metaKey == null) dart.nullFailed(I[147], 40553, 12, "metaKey");
    let currentTarget = opts && 'currentTarget' in opts ? opts.currentTarget : null;
    if (view == null) {
      view = html$.window;
    }
    let eventObj = null;
    eventObj = html$.Event.eventType("KeyboardEvent", type, {canBubble: canBubble, cancelable: cancelable});
    Object.defineProperty(eventObj, 'keyCode', {
      get: function() {
        return this.keyCodeVal;
      }
    });
    Object.defineProperty(eventObj, 'which', {
      get: function() {
        return this.keyCodeVal;
      }
    });
    Object.defineProperty(eventObj, 'charCode', {
      get: function() {
        return this.charCodeVal;
      }
    });
    let keyIdentifier = html$.KeyEvent._convertToHexString(charCode, keyCode);
    dart.dsend(eventObj, S$1._initKeyboardEvent, [type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey]);
    eventObj.keyCodeVal = keyCode;
    eventObj.charCodeVal = charCode;
    _interceptors.setDispatchProperty(eventObj, html$.KeyEvent._keyboardEventDispatchRecord);
    let keyEvent = new html$.KeyEvent.wrap(html$.KeyboardEvent.as(eventObj));
    if (keyEvent[S$3._currentTarget] == null) {
      keyEvent[S$3._currentTarget] = currentTarget == null ? html$.window : currentTarget;
    }
    return keyEvent;
  }
  static get canUseDispatchEvent() {
    return typeof document.body.dispatchEvent == "function" && document.body.dispatchEvent.length > 0;
  }
  get currentTarget() {
    return this[S$3._currentTarget];
  }
  static _convertToHexString(charCode, keyCode) {
    if (charCode == null) dart.nullFailed(I[147], 40615, 41, "charCode");
    if (keyCode == null) dart.nullFailed(I[147], 40615, 55, "keyCode");
    if (charCode !== -1) {
      let hex = charCode[$toRadixString](16);
      let sb = new core.StringBuffer.new("U+");
      for (let i = 0; i < 4 - hex.length; i = i + 1)
        sb.write("0");
      sb.write(hex);
      return sb.toString();
    } else {
      return html$.KeyCode._convertKeyCodeToKeyName(keyCode);
    }
  }
  get code() {
    return dart.nullCheck(this[S$3._parent$2].code);
  }
  get ctrlKey() {
    return this[S$3._parent$2].ctrlKey;
  }
  get detail() {
    return dart.nullCheck(this[S$3._parent$2].detail);
  }
  get isComposing() {
    return dart.nullCheck(this[S$3._parent$2].isComposing);
  }
  get key() {
    return dart.nullCheck(this[S$3._parent$2].key);
  }
  get location() {
    return this[S$3._parent$2].location;
  }
  get metaKey() {
    return this[S$3._parent$2].metaKey;
  }
  get shiftKey() {
    return this[S$3._parent$2].shiftKey;
  }
  get view() {
    return this[S$3._parent$2][S$.$view];
  }
  [S$._initUIEvent](type, canBubble, cancelable, view, detail) {
    if (type == null) dart.nullFailed(I[147], 40657, 14, "type");
    if (canBubble == null) dart.nullFailed(I[147], 40657, 25, "canBubble");
    if (cancelable == null) dart.nullFailed(I[147], 40657, 41, "cancelable");
    if (detail == null) dart.nullFailed(I[147], 40657, 71, "detail");
    dart.throw(new core.UnsupportedError.new("Cannot initialize a UI Event from a KeyEvent."));
  }
  get [S$3._shadowKeyIdentifier]() {
    return this[S$3._parent$2].keyIdentifier;
  }
  get [S$1._charCode]() {
    return this.charCode;
  }
  get [S$1._keyCode]() {
    return this.keyCode;
  }
  get [S$._which]() {
    return this.which;
  }
  get [S$3._keyIdentifier]() {
    dart.throw(new core.UnsupportedError.new("keyIdentifier is unsupported."));
  }
  [S$1._initKeyboardEvent](type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey) {
    if (type == null) dart.nullFailed(I[147], 40672, 14, "type");
    if (canBubble == null) dart.nullFailed(I[147], 40673, 12, "canBubble");
    if (cancelable == null) dart.nullFailed(I[147], 40674, 12, "cancelable");
    if (keyIdentifier == null) dart.nullFailed(I[147], 40676, 14, "keyIdentifier");
    if (ctrlKey == null) dart.nullFailed(I[147], 40678, 12, "ctrlKey");
    if (altKey == null) dart.nullFailed(I[147], 40679, 12, "altKey");
    if (shiftKey == null) dart.nullFailed(I[147], 40680, 12, "shiftKey");
    if (metaKey == null) dart.nullFailed(I[147], 40681, 12, "metaKey");
    dart.throw(new core.UnsupportedError.new("Cannot initialize a KeyboardEvent from a KeyEvent."));
  }
  getModifierState(keyArgument) {
    if (keyArgument == null) dart.nullFailed(I[147], 40686, 32, "keyArgument");
    return dart.throw(new core.UnimplementedError.new());
  }
  get repeat() {
    return dart.throw(new core.UnimplementedError.new());
  }
  get isComposed() {
    return dart.throw(new core.UnimplementedError.new());
  }
  get [S$._get_view]() {
    return dart.throw(new core.UnimplementedError.new());
  }
};
(html$.KeyEvent.wrap = function(parent) {
  if (parent == null) dart.nullFailed(I[147], 40529, 31, "parent");
  this[S$3._currentTarget] = null;
  this[S$3._parent$2] = parent;
  this[S$3._shadowAltKey] = false;
  this[S$3._shadowCharCode] = 0;
  this[S$3._shadowKeyCode] = 0;
  html$.KeyEvent.__proto__.new.call(this, parent);
  this[S$3._parent$2] = parent;
  this[S$3._shadowAltKey] = this[S$3._realAltKey];
  this[S$3._shadowCharCode] = this[S$3._realCharCode];
  this[S$3._shadowKeyCode] = this[S$3._realKeyCode];
  this[S$3._currentTarget] = this[S$3._parent$2][S.$currentTarget];
}).prototype = html$.KeyEvent.prototype;
dart.addTypeTests(html$.KeyEvent);
dart.addTypeCaches(html$.KeyEvent);
html$.KeyEvent[dart.implements] = () => [html$.KeyboardEvent];
dart.setMethodSignature(html$.KeyEvent, () => ({
  __proto__: dart.getMethods(html$.KeyEvent.__proto__),
  [S$._initUIEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, dart.nullable(html$.Window), core.int]),
  [S$1._initKeyboardEvent]: dart.fnType(dart.void, [core.String, core.bool, core.bool, dart.nullable(html$.Window), core.String, dart.nullable(core.int), core.bool, core.bool, core.bool, core.bool]),
  getModifierState: dart.fnType(core.bool, [core.String]),
  [S$1.$getModifierState]: dart.fnType(core.bool, [core.String])
}));
dart.setGetterSignature(html$.KeyEvent, () => ({
  __proto__: dart.getGetters(html$.KeyEvent.__proto__),
  keyCode: core.int,
  [S$1.$keyCode]: core.int,
  charCode: core.int,
  [S$1.$charCode]: core.int,
  altKey: core.bool,
  [S$1.$altKey]: core.bool,
  which: core.int,
  [S$1.$which]: core.int,
  [S$3._realKeyCode]: core.int,
  [S$3._realCharCode]: core.int,
  [S$3._realAltKey]: core.bool,
  sourceCapabilities: dart.nullable(html$.InputDeviceCapabilities),
  [S$.$sourceCapabilities]: dart.nullable(html$.InputDeviceCapabilities),
  code: core.String,
  [S$.$code]: core.String,
  ctrlKey: core.bool,
  [S$1.$ctrlKey]: core.bool,
  detail: core.int,
  [S$.$detail]: core.int,
  isComposing: core.bool,
  [S$1.$isComposing]: core.bool,
  key: core.String,
  [S.$key]: core.String,
  location: core.int,
  [S$0.$location]: core.int,
  metaKey: core.bool,
  [S$1.$metaKey]: core.bool,
  shiftKey: core.bool,
  [S$1.$shiftKey]: core.bool,
  view: dart.nullable(html$.WindowBase),
  [S$.$view]: dart.nullable(html$.WindowBase),
  [S$3._shadowKeyIdentifier]: core.String,
  [S$1._charCode]: core.int,
  [S$1._keyCode]: core.int,
  [S$._which]: core.int,
  [S$3._keyIdentifier]: core.String,
  repeat: core.bool,
  [S$1.$repeat]: core.bool,
  isComposed: core.bool,
  [S$._get_view]: dart.dynamic
}));
dart.setLibraryUri(html$.KeyEvent, I[148]);
dart.setFieldSignature(html$.KeyEvent, () => ({
  __proto__: dart.getFields(html$.KeyEvent.__proto__),
  [S$3._parent$2]: dart.fieldType(html$.KeyboardEvent),
  [S$3._shadowAltKey]: dart.fieldType(core.bool),
  [S$3._shadowCharCode]: dart.fieldType(core.int),
  [S$3._shadowKeyCode]: dart.fieldType(core.int),
  [S$3._currentTarget]: dart.fieldType(dart.nullable(html$.EventTarget))
}));
dart.defineExtensionMethods(html$.KeyEvent, ['getModifierState']);
dart.defineExtensionAccessors(html$.KeyEvent, [
  'keyCode',
  'charCode',
  'altKey',
  'which',
  'sourceCapabilities',
  'currentTarget',
  'code',
  'ctrlKey',
  'detail',
  'isComposing',
  'key',
  'location',
  'metaKey',
  'shiftKey',
  'view',
  'repeat'
]);
dart.defineLazy(html$.KeyEvent, {
  /*html$.KeyEvent._keyboardEventDispatchRecord*/get _keyboardEventDispatchRecord() {
    return html$.KeyEvent._makeRecord();
  },
  /*html$.KeyEvent.keyDownEvent*/get keyDownEvent() {
    return new html$._KeyboardEventHandler.new("keydown");
  },
  set keyDownEvent(_) {},
  /*html$.KeyEvent.keyUpEvent*/get keyUpEvent() {
    return new html$._KeyboardEventHandler.new("keyup");
  },
  set keyUpEvent(_) {},
  /*html$.KeyEvent.keyPressEvent*/get keyPressEvent() {
    return new html$._KeyboardEventHandler.new("keypress");
  },
  set keyPressEvent(_) {}
}, false);
html$._CustomKeyEventStreamImpl = class _CustomKeyEventStreamImpl extends html$._CustomEventStreamImpl$(html$.KeyEvent) {
  add(event) {
    html$.KeyEvent.as(event);
    if (event == null) dart.nullFailed(I[147], 37424, 21, "event");
    if (event.type == this[S$3._type$5]) {
      dart.nullCheck(event.currentTarget).dispatchEvent(event[S$3._parent$2]);
      this[S$3._streamController].add(event);
    }
  }
};
(html$._CustomKeyEventStreamImpl.new = function(type) {
  if (type == null) dart.nullFailed(I[147], 37422, 36, "type");
  html$._CustomKeyEventStreamImpl.__proto__.new.call(this, type);
  ;
}).prototype = html$._CustomKeyEventStreamImpl.prototype;
dart.addTypeTests(html$._CustomKeyEventStreamImpl);
dart.addTypeCaches(html$._CustomKeyEventStreamImpl);
html$._CustomKeyEventStreamImpl[dart.implements] = () => [html$.CustomStream$(html$.KeyEvent)];
dart.setLibraryUri(html$._CustomKeyEventStreamImpl, I[148]);
const _is__StreamPool_default = Symbol('_is__StreamPool_default');
html$._StreamPool$ = dart.generic(T => {
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  var __t$StreamSubscriptionOfT = () => (__t$StreamSubscriptionOfT = dart.constFn(async.StreamSubscription$(T)))();
  var __t$LinkedMapOfStreamOfT$StreamSubscriptionOfT = () => (__t$LinkedMapOfStreamOfT$StreamSubscriptionOfT = dart.constFn(_js_helper.LinkedMap$(__t$StreamOfT(), __t$StreamSubscriptionOfT())))();
  var __t$StreamControllerOfT = () => (__t$StreamControllerOfT = dart.constFn(async.StreamController$(T)))();
  class _StreamPool extends core.Object {
    get stream() {
      return dart.nullCheck(this[S$3._controller$2]).stream;
    }
    add(stream) {
      __t$StreamOfT().as(stream);
      if (stream == null) dart.nullFailed(I[147], 37467, 22, "stream");
      if (dart.test(this[S$3._subscriptions][$containsKey](stream))) return;
      this[S$3._subscriptions][$_set](stream, stream.listen(dart.bind(dart.nullCheck(this[S$3._controller$2]), 'add'), {onError: dart.bind(dart.nullCheck(this[S$3._controller$2]), 'addError'), onDone: dart.fn(() => this.remove(stream), T$.VoidTovoid())}));
    }
    remove(stream) {
      __t$StreamOfT().as(stream);
      if (stream == null) dart.nullFailed(I[147], 37474, 25, "stream");
      let subscription = this[S$3._subscriptions][$remove](stream);
      if (subscription != null) subscription.cancel();
    }
    close() {
      for (let subscription of this[S$3._subscriptions][$values]) {
        subscription.cancel();
      }
      this[S$3._subscriptions][$clear]();
      dart.nullCheck(this[S$3._controller$2]).close();
    }
  }
  (_StreamPool.broadcast = function() {
    this[S$3._controller$2] = null;
    this[S$3._subscriptions] = new (__t$LinkedMapOfStreamOfT$StreamSubscriptionOfT()).new();
    this[S$3._controller$2] = __t$StreamControllerOfT().broadcast({sync: true, onCancel: dart.bind(this, 'close')});
  }).prototype = _StreamPool.prototype;
  dart.addTypeTests(_StreamPool);
  _StreamPool.prototype[_is__StreamPool_default] = true;
  dart.addTypeCaches(_StreamPool);
  dart.setMethodSignature(_StreamPool, () => ({
    __proto__: dart.getMethods(_StreamPool.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    remove: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    close: dart.fnType(dart.void, [])
  }));
  dart.setGetterSignature(_StreamPool, () => ({
    __proto__: dart.getGetters(_StreamPool.__proto__),
    stream: async.Stream$(T)
  }));
  dart.setLibraryUri(_StreamPool, I[148]);
  dart.setFieldSignature(_StreamPool, () => ({
    __proto__: dart.getFields(_StreamPool.__proto__),
    [S$3._controller$2]: dart.fieldType(dart.nullable(async.StreamController$(T))),
    [S$3._subscriptions]: dart.fieldType(core.Map$(async.Stream$(T), async.StreamSubscription$(T)))
  }));
  return _StreamPool;
});
html$._StreamPool = html$._StreamPool$();
dart.addTypeTests(html$._StreamPool, _is__StreamPool_default);
const _is__CustomEventStreamProvider_default = Symbol('_is__CustomEventStreamProvider_default');
html$._CustomEventStreamProvider$ = dart.generic(T => {
  var __t$_EventStreamOfT = () => (__t$_EventStreamOfT = dart.constFn(html$._EventStream$(T)))();
  var __t$_ElementEventStreamImplOfT = () => (__t$_ElementEventStreamImplOfT = dart.constFn(html$._ElementEventStreamImpl$(T)))();
  var __t$_ElementListEventStreamImplOfT = () => (__t$_ElementListEventStreamImplOfT = dart.constFn(html$._ElementListEventStreamImpl$(T)))();
  class _CustomEventStreamProvider extends core.Object {
    get [S$3._eventTypeGetter$1]() {
      return this[S$3._eventTypeGetter];
    }
    set [S$3._eventTypeGetter$1](value) {
      super[S$3._eventTypeGetter$1] = value;
    }
    forTarget(e, opts) {
      let t241;
      let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
      if (useCapture == null) dart.nullFailed(I[147], 37498, 45, "useCapture");
      return new (__t$_EventStreamOfT()).new(e, core.String.as((t241 = e, dart.dsend(this, S$3._eventTypeGetter$1, [t241]))), useCapture);
    }
    forElement(e, opts) {
      let t241;
      if (e == null) dart.nullFailed(I[147], 37502, 39, "e");
      let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
      if (useCapture == null) dart.nullFailed(I[147], 37502, 48, "useCapture");
      return new (__t$_ElementEventStreamImplOfT()).new(e, (t241 = e, dart.dsend(this, S$3._eventTypeGetter$1, [t241])), useCapture);
    }
    [S$1._forElementList](e, opts) {
      let t241;
      if (e == null) dart.nullFailed(I[147], 37506, 57, "e");
      let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
      if (useCapture == null) dart.nullFailed(I[147], 37507, 13, "useCapture");
      return new (__t$_ElementListEventStreamImplOfT()).new(e, core.String.as((t241 = e, dart.dsend(this, S$3._eventTypeGetter$1, [t241]))), useCapture);
    }
    getEventType(target) {
      let t241;
      if (target == null) dart.nullFailed(I[147], 37512, 35, "target");
      return core.String.as((t241 = target, dart.dsend(this, S$3._eventTypeGetter$1, [t241])));
    }
    get [S$3._eventType$1]() {
      return dart.throw(new core.UnsupportedError.new("Access type through getEventType method."));
    }
  }
  (_CustomEventStreamProvider.new = function(_eventTypeGetter) {
    this[S$3._eventTypeGetter] = _eventTypeGetter;
    ;
  }).prototype = _CustomEventStreamProvider.prototype;
  dart.addTypeTests(_CustomEventStreamProvider);
  _CustomEventStreamProvider.prototype[_is__CustomEventStreamProvider_default] = true;
  dart.addTypeCaches(_CustomEventStreamProvider);
  _CustomEventStreamProvider[dart.implements] = () => [html$.EventStreamProvider$(T)];
  dart.setMethodSignature(_CustomEventStreamProvider, () => ({
    __proto__: dart.getMethods(_CustomEventStreamProvider.__proto__),
    forTarget: dart.fnType(async.Stream$(T), [dart.nullable(html$.EventTarget)], {useCapture: core.bool}, {}),
    forElement: dart.fnType(html$.ElementStream$(T), [html$.Element], {useCapture: core.bool}, {}),
    [S$1._forElementList]: dart.fnType(html$.ElementStream$(T), [html$.ElementList$(html$.Element)], {useCapture: core.bool}, {}),
    getEventType: dart.fnType(core.String, [html$.EventTarget])
  }));
  dart.setGetterSignature(_CustomEventStreamProvider, () => ({
    __proto__: dart.getGetters(_CustomEventStreamProvider.__proto__),
    [S$3._eventType$1]: core.String
  }));
  dart.setLibraryUri(_CustomEventStreamProvider, I[148]);
  dart.setFieldSignature(_CustomEventStreamProvider, () => ({
    __proto__: dart.getFields(_CustomEventStreamProvider.__proto__),
    [S$3._eventTypeGetter$1]: dart.finalFieldType(dart.dynamic)
  }));
  return _CustomEventStreamProvider;
});
html$._CustomEventStreamProvider = html$._CustomEventStreamProvider$();
dart.addTypeTests(html$._CustomEventStreamProvider, _is__CustomEventStreamProvider_default);
html$._Html5NodeValidator = class _Html5NodeValidator extends core.Object {
  allowsElement(element) {
    if (element == null) dart.nullFailed(I[147], 37940, 30, "element");
    return html$._Html5NodeValidator._allowedElements.contains(html$.Element._safeTagName(element));
  }
  allowsAttribute(element, attributeName, value) {
    if (element == null) dart.nullFailed(I[147], 37944, 32, "element");
    if (attributeName == null) dart.nullFailed(I[147], 37944, 48, "attributeName");
    if (value == null) dart.nullFailed(I[147], 37944, 70, "value");
    let tagName = html$.Element._safeTagName(element);
    let validator = html$._Html5NodeValidator._attributeValidators[$_get](dart.str(tagName) + "::" + dart.str(attributeName));
    if (validator == null) {
      validator = html$._Html5NodeValidator._attributeValidators[$_get]("*::" + dart.str(attributeName));
    }
    if (validator == null) {
      return false;
    }
    return core.bool.as(dart.dcall(validator, [element, attributeName, value, this]));
  }
  static _standardAttributeValidator(element, attributeName, value, context) {
    if (element == null) dart.nullFailed(I[147], 37956, 51, "element");
    if (attributeName == null) dart.nullFailed(I[147], 37956, 67, "attributeName");
    if (value == null) dart.nullFailed(I[147], 37957, 14, "value");
    if (context == null) dart.nullFailed(I[147], 37957, 41, "context");
    return true;
  }
  static _uriAttributeValidator(element, attributeName, value, context) {
    if (element == null) dart.nullFailed(I[147], 37961, 46, "element");
    if (attributeName == null) dart.nullFailed(I[147], 37961, 62, "attributeName");
    if (value == null) dart.nullFailed(I[147], 37962, 14, "value");
    if (context == null) dart.nullFailed(I[147], 37962, 41, "context");
    return context.uriPolicy.allowsUri(value);
  }
};
(html$._Html5NodeValidator.new = function(opts) {
  let t241;
  let uriPolicy = opts && 'uriPolicy' in opts ? opts.uriPolicy : null;
  this.uriPolicy = (t241 = uriPolicy, t241 == null ? html$.UriPolicy.new() : t241);
  if (dart.test(html$._Html5NodeValidator._attributeValidators[$isEmpty])) {
    for (let attr of html$._Html5NodeValidator._standardAttributes) {
      html$._Html5NodeValidator._attributeValidators[$_set](attr, C[401] || CT.C401);
    }
    for (let attr of html$._Html5NodeValidator._uriAttributes) {
      html$._Html5NodeValidator._attributeValidators[$_set](attr, C[402] || CT.C402);
    }
  }
}).prototype = html$._Html5NodeValidator.prototype;
dart.addTypeTests(html$._Html5NodeValidator);
dart.addTypeCaches(html$._Html5NodeValidator);
html$._Html5NodeValidator[dart.implements] = () => [html$.NodeValidator];
dart.setMethodSignature(html$._Html5NodeValidator, () => ({
  __proto__: dart.getMethods(html$._Html5NodeValidator.__proto__),
  allowsElement: dart.fnType(core.bool, [html$.Element]),
  allowsAttribute: dart.fnType(core.bool, [html$.Element, core.String, core.String])
}));
dart.setLibraryUri(html$._Html5NodeValidator, I[148]);
dart.setFieldSignature(html$._Html5NodeValidator, () => ({
  __proto__: dart.getFields(html$._Html5NodeValidator.__proto__),
  uriPolicy: dart.finalFieldType(html$.UriPolicy)
}));
dart.defineLazy(html$._Html5NodeValidator, {
  /*html$._Html5NodeValidator._allowedElements*/get _allowedElements() {
    return T$0.LinkedHashSetOfString().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"]);
  },
  /*html$._Html5NodeValidator._standardAttributes*/get _standardAttributes() {
    return C[403] || CT.C403;
  },
  /*html$._Html5NodeValidator._uriAttributes*/get _uriAttributes() {
    return C[404] || CT.C404;
  },
  /*html$._Html5NodeValidator._attributeValidators*/get _attributeValidators() {
    return new (T$0.IdentityMapOfString$Function()).new();
  }
}, false);
html$.KeyCode = class KeyCode extends core.Object {
  static isCharacterKey(keyCode) {
    if (keyCode == null) dart.nullFailed(I[147], 38248, 34, "keyCode");
    if (dart.notNull(keyCode) >= 48 && dart.notNull(keyCode) <= 57 || dart.notNull(keyCode) >= 96 && dart.notNull(keyCode) <= 106 || dart.notNull(keyCode) >= 65 && dart.notNull(keyCode) <= 90) {
      return true;
    }
    if (dart.test(html_common.Device.isWebKit) && keyCode === 0) {
      return true;
    }
    return keyCode === 32 || keyCode === 63 || keyCode === 107 || keyCode === 109 || keyCode === 110 || keyCode === 111 || keyCode === 186 || keyCode === 59 || keyCode === 189 || keyCode === 187 || keyCode === 61 || keyCode === 188 || keyCode === 190 || keyCode === 191 || keyCode === 192 || keyCode === 222 || keyCode === 219 || keyCode === 220 || keyCode === 221;
  }
  static _convertKeyCodeToKeyName(keyCode) {
    if (keyCode == null) dart.nullFailed(I[147], 38288, 46, "keyCode");
    switch (keyCode) {
      case 18:
      {
        return "Alt";
      }
      case 8:
      {
        return "Backspace";
      }
      case 20:
      {
        return "CapsLock";
      }
      case 17:
      {
        return "Control";
      }
      case 46:
      {
        return "Del";
      }
      case 40:
      {
        return "Down";
      }
      case 35:
      {
        return "End";
      }
      case 13:
      {
        return "Enter";
      }
      case 27:
      {
        return "Esc";
      }
      case 112:
      {
        return "F1";
      }
      case 113:
      {
        return "F2";
      }
      case 114:
      {
        return "F3";
      }
      case 115:
      {
        return "F4";
      }
      case 116:
      {
        return "F5";
      }
      case 117:
      {
        return "F6";
      }
      case 118:
      {
        return "F7";
      }
      case 119:
      {
        return "F8";
      }
      case 120:
      {
        return "F9";
      }
      case 121:
      {
        return "F10";
      }
      case 122:
      {
        return "F11";
      }
      case 123:
      {
        return "F12";
      }
      case 36:
      {
        return "Home";
      }
      case 45:
      {
        return "Insert";
      }
      case 37:
      {
        return "Left";
      }
      case 91:
      {
        return "Meta";
      }
      case 144:
      {
        return "NumLock";
      }
      case 34:
      {
        return "PageDown";
      }
      case 33:
      {
        return "PageUp";
      }
      case 19:
      {
        return "Pause";
      }
      case 44:
      {
        return "PrintScreen";
      }
      case 39:
      {
        return "Right";
      }
      case 145:
      {
        return "Scroll";
      }
      case 16:
      {
        return "Shift";
      }
      case 32:
      {
        return "Spacebar";
      }
      case 9:
      {
        return "Tab";
      }
      case 38:
      {
        return "Up";
      }
      case 229:
      case 224:
      case 91:
      case 92:
      {
        return "Win";
      }
      default:
      {
        return "Unidentified";
      }
    }
    return "Unidentified";
  }
};
(html$.KeyCode.new = function() {
  ;
}).prototype = html$.KeyCode.prototype;
dart.addTypeTests(html$.KeyCode);
dart.addTypeCaches(html$.KeyCode);
dart.setLibraryUri(html$.KeyCode, I[148]);
dart.defineLazy(html$.KeyCode, {
  /*html$.KeyCode.WIN_KEY_FF_LINUX*/get WIN_KEY_FF_LINUX() {
    return 0;
  },
  /*html$.KeyCode.MAC_ENTER*/get MAC_ENTER() {
    return 3;
  },
  /*html$.KeyCode.BACKSPACE*/get BACKSPACE() {
    return 8;
  },
  /*html$.KeyCode.TAB*/get TAB() {
    return 9;
  },
  /*html$.KeyCode.NUM_CENTER*/get NUM_CENTER() {
    return 12;
  },
  /*html$.KeyCode.ENTER*/get ENTER() {
    return 13;
  },
  /*html$.KeyCode.SHIFT*/get SHIFT() {
    return 16;
  },
  /*html$.KeyCode.CTRL*/get CTRL() {
    return 17;
  },
  /*html$.KeyCode.ALT*/get ALT() {
    return 18;
  },
  /*html$.KeyCode.PAUSE*/get PAUSE() {
    return 19;
  },
  /*html$.KeyCode.CAPS_LOCK*/get CAPS_LOCK() {
    return 20;
  },
  /*html$.KeyCode.ESC*/get ESC() {
    return 27;
  },
  /*html$.KeyCode.SPACE*/get SPACE() {
    return 32;
  },
  /*html$.KeyCode.PAGE_UP*/get PAGE_UP() {
    return 33;
  },
  /*html$.KeyCode.PAGE_DOWN*/get PAGE_DOWN() {
    return 34;
  },
  /*html$.KeyCode.END*/get END() {
    return 35;
  },
  /*html$.KeyCode.HOME*/get HOME() {
    return 36;
  },
  /*html$.KeyCode.LEFT*/get LEFT() {
    return 37;
  },
  /*html$.KeyCode.UP*/get UP() {
    return 38;
  },
  /*html$.KeyCode.RIGHT*/get RIGHT() {
    return 39;
  },
  /*html$.KeyCode.DOWN*/get DOWN() {
    return 40;
  },
  /*html$.KeyCode.NUM_NORTH_EAST*/get NUM_NORTH_EAST() {
    return 33;
  },
  /*html$.KeyCode.NUM_SOUTH_EAST*/get NUM_SOUTH_EAST() {
    return 34;
  },
  /*html$.KeyCode.NUM_SOUTH_WEST*/get NUM_SOUTH_WEST() {
    return 35;
  },
  /*html$.KeyCode.NUM_NORTH_WEST*/get NUM_NORTH_WEST() {
    return 36;
  },
  /*html$.KeyCode.NUM_WEST*/get NUM_WEST() {
    return 37;
  },
  /*html$.KeyCode.NUM_NORTH*/get NUM_NORTH() {
    return 38;
  },
  /*html$.KeyCode.NUM_EAST*/get NUM_EAST() {
    return 39;
  },
  /*html$.KeyCode.NUM_SOUTH*/get NUM_SOUTH() {
    return 40;
  },
  /*html$.KeyCode.PRINT_SCREEN*/get PRINT_SCREEN() {
    return 44;
  },
  /*html$.KeyCode.INSERT*/get INSERT() {
    return 45;
  },
  /*html$.KeyCode.NUM_INSERT*/get NUM_INSERT() {
    return 45;
  },
  /*html$.KeyCode.DELETE*/get DELETE() {
    return 46;
  },
  /*html$.KeyCode.NUM_DELETE*/get NUM_DELETE() {
    return 46;
  },
  /*html$.KeyCode.ZERO*/get ZERO() {
    return 48;
  },
  /*html$.KeyCode.ONE*/get ONE() {
    return 49;
  },
  /*html$.KeyCode.TWO*/get TWO() {
    return 50;
  },
  /*html$.KeyCode.THREE*/get THREE() {
    return 51;
  },
  /*html$.KeyCode.FOUR*/get FOUR() {
    return 52;
  },
  /*html$.KeyCode.FIVE*/get FIVE() {
    return 53;
  },
  /*html$.KeyCode.SIX*/get SIX() {
    return 54;
  },
  /*html$.KeyCode.SEVEN*/get SEVEN() {
    return 55;
  },
  /*html$.KeyCode.EIGHT*/get EIGHT() {
    return 56;
  },
  /*html$.KeyCode.NINE*/get NINE() {
    return 57;
  },
  /*html$.KeyCode.FF_SEMICOLON*/get FF_SEMICOLON() {
    return 59;
  },
  /*html$.KeyCode.FF_EQUALS*/get FF_EQUALS() {
    return 61;
  },
  /*html$.KeyCode.QUESTION_MARK*/get QUESTION_MARK() {
    return 63;
  },
  /*html$.KeyCode.A*/get A() {
    return 65;
  },
  /*html$.KeyCode.B*/get B() {
    return 66;
  },
  /*html$.KeyCode.C*/get C() {
    return 67;
  },
  /*html$.KeyCode.D*/get D() {
    return 68;
  },
  /*html$.KeyCode.E*/get E() {
    return 69;
  },
  /*html$.KeyCode.F*/get F() {
    return 70;
  },
  /*html$.KeyCode.G*/get G() {
    return 71;
  },
  /*html$.KeyCode.H*/get H() {
    return 72;
  },
  /*html$.KeyCode.I*/get I() {
    return 73;
  },
  /*html$.KeyCode.J*/get J() {
    return 74;
  },
  /*html$.KeyCode.K*/get K() {
    return 75;
  },
  /*html$.KeyCode.L*/get L() {
    return 76;
  },
  /*html$.KeyCode.M*/get M() {
    return 77;
  },
  /*html$.KeyCode.N*/get N() {
    return 78;
  },
  /*html$.KeyCode.O*/get O() {
    return 79;
  },
  /*html$.KeyCode.P*/get P() {
    return 80;
  },
  /*html$.KeyCode.Q*/get Q() {
    return 81;
  },
  /*html$.KeyCode.R*/get R() {
    return 82;
  },
  /*html$.KeyCode.S*/get S() {
    return 83;
  },
  /*html$.KeyCode.T*/get T() {
    return 84;
  },
  /*html$.KeyCode.U*/get U() {
    return 85;
  },
  /*html$.KeyCode.V*/get V() {
    return 86;
  },
  /*html$.KeyCode.W*/get W() {
    return 87;
  },
  /*html$.KeyCode.X*/get X() {
    return 88;
  },
  /*html$.KeyCode.Y*/get Y() {
    return 89;
  },
  /*html$.KeyCode.Z*/get Z() {
    return 90;
  },
  /*html$.KeyCode.META*/get META() {
    return 91;
  },
  /*html$.KeyCode.WIN_KEY_LEFT*/get WIN_KEY_LEFT() {
    return 91;
  },
  /*html$.KeyCode.WIN_KEY_RIGHT*/get WIN_KEY_RIGHT() {
    return 92;
  },
  /*html$.KeyCode.CONTEXT_MENU*/get CONTEXT_MENU() {
    return 93;
  },
  /*html$.KeyCode.NUM_ZERO*/get NUM_ZERO() {
    return 96;
  },
  /*html$.KeyCode.NUM_ONE*/get NUM_ONE() {
    return 97;
  },
  /*html$.KeyCode.NUM_TWO*/get NUM_TWO() {
    return 98;
  },
  /*html$.KeyCode.NUM_THREE*/get NUM_THREE() {
    return 99;
  },
  /*html$.KeyCode.NUM_FOUR*/get NUM_FOUR() {
    return 100;
  },
  /*html$.KeyCode.NUM_FIVE*/get NUM_FIVE() {
    return 101;
  },
  /*html$.KeyCode.NUM_SIX*/get NUM_SIX() {
    return 102;
  },
  /*html$.KeyCode.NUM_SEVEN*/get NUM_SEVEN() {
    return 103;
  },
  /*html$.KeyCode.NUM_EIGHT*/get NUM_EIGHT() {
    return 104;
  },
  /*html$.KeyCode.NUM_NINE*/get NUM_NINE() {
    return 105;
  },
  /*html$.KeyCode.NUM_MULTIPLY*/get NUM_MULTIPLY() {
    return 106;
  },
  /*html$.KeyCode.NUM_PLUS*/get NUM_PLUS() {
    return 107;
  },
  /*html$.KeyCode.NUM_MINUS*/get NUM_MINUS() {
    return 109;
  },
  /*html$.KeyCode.NUM_PERIOD*/get NUM_PERIOD() {
    return 110;
  },
  /*html$.KeyCode.NUM_DIVISION*/get NUM_DIVISION() {
    return 111;
  },
  /*html$.KeyCode.F1*/get F1() {
    return 112;
  },
  /*html$.KeyCode.F2*/get F2() {
    return 113;
  },
  /*html$.KeyCode.F3*/get F3() {
    return 114;
  },
  /*html$.KeyCode.F4*/get F4() {
    return 115;
  },
  /*html$.KeyCode.F5*/get F5() {
    return 116;
  },
  /*html$.KeyCode.F6*/get F6() {
    return 117;
  },
  /*html$.KeyCode.F7*/get F7() {
    return 118;
  },
  /*html$.KeyCode.F8*/get F8() {
    return 119;
  },
  /*html$.KeyCode.F9*/get F9() {
    return 120;
  },
  /*html$.KeyCode.F10*/get F10() {
    return 121;
  },
  /*html$.KeyCode.F11*/get F11() {
    return 122;
  },
  /*html$.KeyCode.F12*/get F12() {
    return 123;
  },
  /*html$.KeyCode.NUMLOCK*/get NUMLOCK() {
    return 144;
  },
  /*html$.KeyCode.SCROLL_LOCK*/get SCROLL_LOCK() {
    return 145;
  },
  /*html$.KeyCode.FIRST_MEDIA_KEY*/get FIRST_MEDIA_KEY() {
    return 166;
  },
  /*html$.KeyCode.LAST_MEDIA_KEY*/get LAST_MEDIA_KEY() {
    return 183;
  },
  /*html$.KeyCode.SEMICOLON*/get SEMICOLON() {
    return 186;
  },
  /*html$.KeyCode.DASH*/get DASH() {
    return 189;
  },
  /*html$.KeyCode.EQUALS*/get EQUALS() {
    return 187;
  },
  /*html$.KeyCode.COMMA*/get COMMA() {
    return 188;
  },
  /*html$.KeyCode.PERIOD*/get PERIOD() {
    return 190;
  },
  /*html$.KeyCode.SLASH*/get SLASH() {
    return 191;
  },
  /*html$.KeyCode.APOSTROPHE*/get APOSTROPHE() {
    return 192;
  },
  /*html$.KeyCode.TILDE*/get TILDE() {
    return 192;
  },
  /*html$.KeyCode.SINGLE_QUOTE*/get SINGLE_QUOTE() {
    return 222;
  },
  /*html$.KeyCode.OPEN_SQUARE_BRACKET*/get OPEN_SQUARE_BRACKET() {
    return 219;
  },
  /*html$.KeyCode.BACKSLASH*/get BACKSLASH() {
    return 220;
  },
  /*html$.KeyCode.CLOSE_SQUARE_BRACKET*/get CLOSE_SQUARE_BRACKET() {
    return 221;
  },
  /*html$.KeyCode.WIN_KEY*/get WIN_KEY() {
    return 224;
  },
  /*html$.KeyCode.MAC_FF_META*/get MAC_FF_META() {
    return 224;
  },
  /*html$.KeyCode.WIN_IME*/get WIN_IME() {
    return 229;
  },
  /*html$.KeyCode.UNKNOWN*/get UNKNOWN() {
    return -1;
  }
}, false);
html$.KeyLocation = class KeyLocation extends core.Object {};
(html$.KeyLocation.new = function() {
  ;
}).prototype = html$.KeyLocation.prototype;
dart.addTypeTests(html$.KeyLocation);
dart.addTypeCaches(html$.KeyLocation);
dart.setLibraryUri(html$.KeyLocation, I[148]);
dart.defineLazy(html$.KeyLocation, {
  /*html$.KeyLocation.STANDARD*/get STANDARD() {
    return 0;
  },
  /*html$.KeyLocation.LEFT*/get LEFT() {
    return 1;
  },
  /*html$.KeyLocation.RIGHT*/get RIGHT() {
    return 2;
  },
  /*html$.KeyLocation.NUMPAD*/get NUMPAD() {
    return 3;
  },
  /*html$.KeyLocation.MOBILE*/get MOBILE() {
    return 4;
  },
  /*html$.KeyLocation.JOYSTICK*/get JOYSTICK() {
    return 5;
  }
}, false);
html$._KeyName = class _KeyName extends core.Object {};
(html$._KeyName.new = function() {
  ;
}).prototype = html$._KeyName.prototype;
dart.addTypeTests(html$._KeyName);
dart.addTypeCaches(html$._KeyName);
dart.setLibraryUri(html$._KeyName, I[148]);
dart.defineLazy(html$._KeyName, {
  /*html$._KeyName.ACCEPT*/get ACCEPT() {
    return "Accept";
  },
  /*html$._KeyName.ADD*/get ADD() {
    return "Add";
  },
  /*html$._KeyName.AGAIN*/get AGAIN() {
    return "Again";
  },
  /*html$._KeyName.ALL_CANDIDATES*/get ALL_CANDIDATES() {
    return "AllCandidates";
  },
  /*html$._KeyName.ALPHANUMERIC*/get ALPHANUMERIC() {
    return "Alphanumeric";
  },
  /*html$._KeyName.ALT*/get ALT() {
    return "Alt";
  },
  /*html$._KeyName.ALT_GRAPH*/get ALT_GRAPH() {
    return "AltGraph";
  },
  /*html$._KeyName.APPS*/get APPS() {
    return "Apps";
  },
  /*html$._KeyName.ATTN*/get ATTN() {
    return "Attn";
  },
  /*html$._KeyName.BROWSER_BACK*/get BROWSER_BACK() {
    return "BrowserBack";
  },
  /*html$._KeyName.BROWSER_FAVORTIES*/get BROWSER_FAVORTIES() {
    return "BrowserFavorites";
  },
  /*html$._KeyName.BROWSER_FORWARD*/get BROWSER_FORWARD() {
    return "BrowserForward";
  },
  /*html$._KeyName.BROWSER_NAME*/get BROWSER_NAME() {
    return "BrowserHome";
  },
  /*html$._KeyName.BROWSER_REFRESH*/get BROWSER_REFRESH() {
    return "BrowserRefresh";
  },
  /*html$._KeyName.BROWSER_SEARCH*/get BROWSER_SEARCH() {
    return "BrowserSearch";
  },
  /*html$._KeyName.BROWSER_STOP*/get BROWSER_STOP() {
    return "BrowserStop";
  },
  /*html$._KeyName.CAMERA*/get CAMERA() {
    return "Camera";
  },
  /*html$._KeyName.CAPS_LOCK*/get CAPS_LOCK() {
    return "CapsLock";
  },
  /*html$._KeyName.CLEAR*/get CLEAR() {
    return "Clear";
  },
  /*html$._KeyName.CODE_INPUT*/get CODE_INPUT() {
    return "CodeInput";
  },
  /*html$._KeyName.COMPOSE*/get COMPOSE() {
    return "Compose";
  },
  /*html$._KeyName.CONTROL*/get CONTROL() {
    return "Control";
  },
  /*html$._KeyName.CRSEL*/get CRSEL() {
    return "Crsel";
  },
  /*html$._KeyName.CONVERT*/get CONVERT() {
    return "Convert";
  },
  /*html$._KeyName.COPY*/get COPY() {
    return "Copy";
  },
  /*html$._KeyName.CUT*/get CUT() {
    return "Cut";
  },
  /*html$._KeyName.DECIMAL*/get DECIMAL() {
    return "Decimal";
  },
  /*html$._KeyName.DIVIDE*/get DIVIDE() {
    return "Divide";
  },
  /*html$._KeyName.DOWN*/get DOWN() {
    return "Down";
  },
  /*html$._KeyName.DOWN_LEFT*/get DOWN_LEFT() {
    return "DownLeft";
  },
  /*html$._KeyName.DOWN_RIGHT*/get DOWN_RIGHT() {
    return "DownRight";
  },
  /*html$._KeyName.EJECT*/get EJECT() {
    return "Eject";
  },
  /*html$._KeyName.END*/get END() {
    return "End";
  },
  /*html$._KeyName.ENTER*/get ENTER() {
    return "Enter";
  },
  /*html$._KeyName.ERASE_EOF*/get ERASE_EOF() {
    return "EraseEof";
  },
  /*html$._KeyName.EXECUTE*/get EXECUTE() {
    return "Execute";
  },
  /*html$._KeyName.EXSEL*/get EXSEL() {
    return "Exsel";
  },
  /*html$._KeyName.FN*/get FN() {
    return "Fn";
  },
  /*html$._KeyName.F1*/get F1() {
    return "F1";
  },
  /*html$._KeyName.F2*/get F2() {
    return "F2";
  },
  /*html$._KeyName.F3*/get F3() {
    return "F3";
  },
  /*html$._KeyName.F4*/get F4() {
    return "F4";
  },
  /*html$._KeyName.F5*/get F5() {
    return "F5";
  },
  /*html$._KeyName.F6*/get F6() {
    return "F6";
  },
  /*html$._KeyName.F7*/get F7() {
    return "F7";
  },
  /*html$._KeyName.F8*/get F8() {
    return "F8";
  },
  /*html$._KeyName.F9*/get F9() {
    return "F9";
  },
  /*html$._KeyName.F10*/get F10() {
    return "F10";
  },
  /*html$._KeyName.F11*/get F11() {
    return "F11";
  },
  /*html$._KeyName.F12*/get F12() {
    return "F12";
  },
  /*html$._KeyName.F13*/get F13() {
    return "F13";
  },
  /*html$._KeyName.F14*/get F14() {
    return "F14";
  },
  /*html$._KeyName.F15*/get F15() {
    return "F15";
  },
  /*html$._KeyName.F16*/get F16() {
    return "F16";
  },
  /*html$._KeyName.F17*/get F17() {
    return "F17";
  },
  /*html$._KeyName.F18*/get F18() {
    return "F18";
  },
  /*html$._KeyName.F19*/get F19() {
    return "F19";
  },
  /*html$._KeyName.F20*/get F20() {
    return "F20";
  },
  /*html$._KeyName.F21*/get F21() {
    return "F21";
  },
  /*html$._KeyName.F22*/get F22() {
    return "F22";
  },
  /*html$._KeyName.F23*/get F23() {
    return "F23";
  },
  /*html$._KeyName.F24*/get F24() {
    return "F24";
  },
  /*html$._KeyName.FINAL_MODE*/get FINAL_MODE() {
    return "FinalMode";
  },
  /*html$._KeyName.FIND*/get FIND() {
    return "Find";
  },
  /*html$._KeyName.FULL_WIDTH*/get FULL_WIDTH() {
    return "FullWidth";
  },
  /*html$._KeyName.HALF_WIDTH*/get HALF_WIDTH() {
    return "HalfWidth";
  },
  /*html$._KeyName.HANGUL_MODE*/get HANGUL_MODE() {
    return "HangulMode";
  },
  /*html$._KeyName.HANJA_MODE*/get HANJA_MODE() {
    return "HanjaMode";
  },
  /*html$._KeyName.HELP*/get HELP() {
    return "Help";
  },
  /*html$._KeyName.HIRAGANA*/get HIRAGANA() {
    return "Hiragana";
  },
  /*html$._KeyName.HOME*/get HOME() {
    return "Home";
  },
  /*html$._KeyName.INSERT*/get INSERT() {
    return "Insert";
  },
  /*html$._KeyName.JAPANESE_HIRAGANA*/get JAPANESE_HIRAGANA() {
    return "JapaneseHiragana";
  },
  /*html$._KeyName.JAPANESE_KATAKANA*/get JAPANESE_KATAKANA() {
    return "JapaneseKatakana";
  },
  /*html$._KeyName.JAPANESE_ROMAJI*/get JAPANESE_ROMAJI() {
    return "JapaneseRomaji";
  },
  /*html$._KeyName.JUNJA_MODE*/get JUNJA_MODE() {
    return "JunjaMode";
  },
  /*html$._KeyName.KANA_MODE*/get KANA_MODE() {
    return "KanaMode";
  },
  /*html$._KeyName.KANJI_MODE*/get KANJI_MODE() {
    return "KanjiMode";
  },
  /*html$._KeyName.KATAKANA*/get KATAKANA() {
    return "Katakana";
  },
  /*html$._KeyName.LAUNCH_APPLICATION_1*/get LAUNCH_APPLICATION_1() {
    return "LaunchApplication1";
  },
  /*html$._KeyName.LAUNCH_APPLICATION_2*/get LAUNCH_APPLICATION_2() {
    return "LaunchApplication2";
  },
  /*html$._KeyName.LAUNCH_MAIL*/get LAUNCH_MAIL() {
    return "LaunchMail";
  },
  /*html$._KeyName.LEFT*/get LEFT() {
    return "Left";
  },
  /*html$._KeyName.MENU*/get MENU() {
    return "Menu";
  },
  /*html$._KeyName.META*/get META() {
    return "Meta";
  },
  /*html$._KeyName.MEDIA_NEXT_TRACK*/get MEDIA_NEXT_TRACK() {
    return "MediaNextTrack";
  },
  /*html$._KeyName.MEDIA_PAUSE_PLAY*/get MEDIA_PAUSE_PLAY() {
    return "MediaPlayPause";
  },
  /*html$._KeyName.MEDIA_PREVIOUS_TRACK*/get MEDIA_PREVIOUS_TRACK() {
    return "MediaPreviousTrack";
  },
  /*html$._KeyName.MEDIA_STOP*/get MEDIA_STOP() {
    return "MediaStop";
  },
  /*html$._KeyName.MODE_CHANGE*/get MODE_CHANGE() {
    return "ModeChange";
  },
  /*html$._KeyName.NEXT_CANDIDATE*/get NEXT_CANDIDATE() {
    return "NextCandidate";
  },
  /*html$._KeyName.NON_CONVERT*/get NON_CONVERT() {
    return "Nonconvert";
  },
  /*html$._KeyName.NUM_LOCK*/get NUM_LOCK() {
    return "NumLock";
  },
  /*html$._KeyName.PAGE_DOWN*/get PAGE_DOWN() {
    return "PageDown";
  },
  /*html$._KeyName.PAGE_UP*/get PAGE_UP() {
    return "PageUp";
  },
  /*html$._KeyName.PASTE*/get PASTE() {
    return "Paste";
  },
  /*html$._KeyName.PAUSE*/get PAUSE() {
    return "Pause";
  },
  /*html$._KeyName.PLAY*/get PLAY() {
    return "Play";
  },
  /*html$._KeyName.POWER*/get POWER() {
    return "Power";
  },
  /*html$._KeyName.PREVIOUS_CANDIDATE*/get PREVIOUS_CANDIDATE() {
    return "PreviousCandidate";
  },
  /*html$._KeyName.PRINT_SCREEN*/get PRINT_SCREEN() {
    return "PrintScreen";
  },
  /*html$._KeyName.PROCESS*/get PROCESS() {
    return "Process";
  },
  /*html$._KeyName.PROPS*/get PROPS() {
    return "Props";
  },
  /*html$._KeyName.RIGHT*/get RIGHT() {
    return "Right";
  },
  /*html$._KeyName.ROMAN_CHARACTERS*/get ROMAN_CHARACTERS() {
    return "RomanCharacters";
  },
  /*html$._KeyName.SCROLL*/get SCROLL() {
    return "Scroll";
  },
  /*html$._KeyName.SELECT*/get SELECT() {
    return "Select";
  },
  /*html$._KeyName.SELECT_MEDIA*/get SELECT_MEDIA() {
    return "SelectMedia";
  },
  /*html$._KeyName.SEPARATOR*/get SEPARATOR() {
    return "Separator";
  },
  /*html$._KeyName.SHIFT*/get SHIFT() {
    return "Shift";
  },
  /*html$._KeyName.SOFT_1*/get SOFT_1() {
    return "Soft1";
  },
  /*html$._KeyName.SOFT_2*/get SOFT_2() {
    return "Soft2";
  },
  /*html$._KeyName.SOFT_3*/get SOFT_3() {
    return "Soft3";
  },
  /*html$._KeyName.SOFT_4*/get SOFT_4() {
    return "Soft4";
  },
  /*html$._KeyName.STOP*/get STOP() {
    return "Stop";
  },
  /*html$._KeyName.SUBTRACT*/get SUBTRACT() {
    return "Subtract";
  },
  /*html$._KeyName.SYMBOL_LOCK*/get SYMBOL_LOCK() {
    return "SymbolLock";
  },
  /*html$._KeyName.UP*/get UP() {
    return "Up";
  },
  /*html$._KeyName.UP_LEFT*/get UP_LEFT() {
    return "UpLeft";
  },
  /*html$._KeyName.UP_RIGHT*/get UP_RIGHT() {
    return "UpRight";
  },
  /*html$._KeyName.UNDO*/get UNDO() {
    return "Undo";
  },
  /*html$._KeyName.VOLUME_DOWN*/get VOLUME_DOWN() {
    return "VolumeDown";
  },
  /*html$._KeyName.VOLUMN_MUTE*/get VOLUMN_MUTE() {
    return "VolumeMute";
  },
  /*html$._KeyName.VOLUMN_UP*/get VOLUMN_UP() {
    return "VolumeUp";
  },
  /*html$._KeyName.WIN*/get WIN() {
    return "Win";
  },
  /*html$._KeyName.ZOOM*/get ZOOM() {
    return "Zoom";
  },
  /*html$._KeyName.BACKSPACE*/get BACKSPACE() {
    return "Backspace";
  },
  /*html$._KeyName.TAB*/get TAB() {
    return "Tab";
  },
  /*html$._KeyName.CANCEL*/get CANCEL() {
    return "Cancel";
  },
  /*html$._KeyName.ESC*/get ESC() {
    return "Esc";
  },
  /*html$._KeyName.SPACEBAR*/get SPACEBAR() {
    return "Spacebar";
  },
  /*html$._KeyName.DEL*/get DEL() {
    return "Del";
  },
  /*html$._KeyName.DEAD_GRAVE*/get DEAD_GRAVE() {
    return "DeadGrave";
  },
  /*html$._KeyName.DEAD_EACUTE*/get DEAD_EACUTE() {
    return "DeadEacute";
  },
  /*html$._KeyName.DEAD_CIRCUMFLEX*/get DEAD_CIRCUMFLEX() {
    return "DeadCircumflex";
  },
  /*html$._KeyName.DEAD_TILDE*/get DEAD_TILDE() {
    return "DeadTilde";
  },
  /*html$._KeyName.DEAD_MACRON*/get DEAD_MACRON() {
    return "DeadMacron";
  },
  /*html$._KeyName.DEAD_BREVE*/get DEAD_BREVE() {
    return "DeadBreve";
  },
  /*html$._KeyName.DEAD_ABOVE_DOT*/get DEAD_ABOVE_DOT() {
    return "DeadAboveDot";
  },
  /*html$._KeyName.DEAD_UMLAUT*/get DEAD_UMLAUT() {
    return "DeadUmlaut";
  },
  /*html$._KeyName.DEAD_ABOVE_RING*/get DEAD_ABOVE_RING() {
    return "DeadAboveRing";
  },
  /*html$._KeyName.DEAD_DOUBLEACUTE*/get DEAD_DOUBLEACUTE() {
    return "DeadDoubleacute";
  },
  /*html$._KeyName.DEAD_CARON*/get DEAD_CARON() {
    return "DeadCaron";
  },
  /*html$._KeyName.DEAD_CEDILLA*/get DEAD_CEDILLA() {
    return "DeadCedilla";
  },
  /*html$._KeyName.DEAD_OGONEK*/get DEAD_OGONEK() {
    return "DeadOgonek";
  },
  /*html$._KeyName.DEAD_IOTA*/get DEAD_IOTA() {
    return "DeadIota";
  },
  /*html$._KeyName.DEAD_VOICED_SOUND*/get DEAD_VOICED_SOUND() {
    return "DeadVoicedSound";
  },
  /*html$._KeyName.DEC_SEMIVOICED_SOUND*/get DEC_SEMIVOICED_SOUND() {
    return "DeadSemivoicedSound";
  },
  /*html$._KeyName.UNIDENTIFIED*/get UNIDENTIFIED() {
    return "Unidentified";
  }
}, false);
html$._KeyboardEventHandler = class _KeyboardEventHandler extends html$.EventStreamProvider$(html$.KeyEvent) {
  forTarget(e, opts) {
    let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
    if (useCapture == null) dart.nullFailed(I[147], 38974, 58, "useCapture");
    let handler = new html$._KeyboardEventHandler.initializeAllEventListeners(this[S$3._type$5], e);
    return handler[S$3._stream$3];
  }
  get [S$3._capsLockOn]() {
    return this[S$3._keyDownList][$any](dart.fn(element => {
      if (element == null) dart.nullFailed(I[147], 39009, 29, "element");
      return element.keyCode === 20;
    }, T$0.KeyEventTobool()));
  }
  [S$3._determineKeyCodeForKeypress](event) {
    if (event == null) dart.nullFailed(I[147], 39018, 50, "event");
    for (let prevEvent of this[S$3._keyDownList]) {
      if (prevEvent[S$3._shadowCharCode] == event.charCode) {
        return prevEvent.keyCode;
      }
      if ((dart.test(event.shiftKey) || dart.test(this[S$3._capsLockOn])) && dart.notNull(event.charCode) >= dart.notNull("A"[$codeUnits][$_get](0)) && dart.notNull(event.charCode) <= dart.notNull("Z"[$codeUnits][$_get](0)) && dart.notNull(event.charCode) + dart.notNull(html$._KeyboardEventHandler._ROMAN_ALPHABET_OFFSET) === prevEvent[S$3._shadowCharCode]) {
        return prevEvent.keyCode;
      }
    }
    return -1;
  }
  [S$3._findCharCodeKeyDown](event) {
    if (event == null) dart.nullFailed(I[147], 39042, 42, "event");
    if (event.location === 3) {
      switch (event.keyCode) {
        case 96:
        {
          return 48;
        }
        case 97:
        {
          return 49;
        }
        case 98:
        {
          return 50;
        }
        case 99:
        {
          return 51;
        }
        case 100:
        {
          return 52;
        }
        case 101:
        {
          return 53;
        }
        case 102:
        {
          return 54;
        }
        case 103:
        {
          return 55;
        }
        case 104:
        {
          return 56;
        }
        case 105:
        {
          return 57;
        }
        case 106:
        {
          return 42;
        }
        case 107:
        {
          return 43;
        }
        case 109:
        {
          return 45;
        }
        case 110:
        {
          return 46;
        }
        case 111:
        {
          return 47;
        }
      }
    } else if (dart.notNull(event.keyCode) >= 65 && dart.notNull(event.keyCode) <= 90) {
      return dart.notNull(event.keyCode) + dart.notNull(html$._KeyboardEventHandler._ROMAN_ALPHABET_OFFSET);
    }
    switch (event.keyCode) {
      case 186:
      {
        return 59;
      }
      case 187:
      {
        return 61;
      }
      case 188:
      {
        return 44;
      }
      case 189:
      {
        return 45;
      }
      case 190:
      {
        return 46;
      }
      case 191:
      {
        return 47;
      }
      case 192:
      {
        return 96;
      }
      case 219:
      {
        return 91;
      }
      case 220:
      {
        return 92;
      }
      case 221:
      {
        return 93;
      }
      case 222:
      {
        return 39;
      }
    }
    return event.keyCode;
  }
  [S$3._firesKeyPressEvent](event) {
    if (event == null) dart.nullFailed(I[147], 39116, 37, "event");
    if (!dart.test(html_common.Device.isIE) && !dart.test(html_common.Device.isWebKit)) {
      return true;
    }
    if (html_common.Device.userAgent[$contains]("Mac") && dart.test(event.altKey)) {
      return html$.KeyCode.isCharacterKey(event.keyCode);
    }
    if (dart.test(event.altKey) && !dart.test(event.ctrlKey)) {
      return false;
    }
    if (!dart.test(event.shiftKey) && (this[S$3._keyDownList][$last].keyCode === 17 || this[S$3._keyDownList][$last].keyCode === 18 || html_common.Device.userAgent[$contains]("Mac") && this[S$3._keyDownList][$last].keyCode === 91)) {
      return false;
    }
    if (dart.test(html_common.Device.isWebKit) && dart.test(event.ctrlKey) && dart.test(event.shiftKey) && (event.keyCode === 220 || event.keyCode === 219 || event.keyCode === 221 || event.keyCode === 192 || event.keyCode === 186 || event.keyCode === 189 || event.keyCode === 187 || event.keyCode === 188 || event.keyCode === 190 || event.keyCode === 191 || event.keyCode === 192 || event.keyCode === 222)) {
      return false;
    }
    switch (event.keyCode) {
      case 13:
      {
        return !dart.test(html_common.Device.isIE);
      }
      case 27:
      {
        return !dart.test(html_common.Device.isWebKit);
      }
    }
    return html$.KeyCode.isCharacterKey(event.keyCode);
  }
  [S$3._normalizeKeyCodes](event) {
    if (event == null) dart.nullFailed(I[147], 39173, 40, "event");
    if (dart.test(html_common.Device.isFirefox)) {
      switch (event.keyCode) {
        case 61:
        {
          return 187;
        }
        case 59:
        {
          return 186;
        }
        case 224:
        {
          return 91;
        }
        case 0:
        {
          return 224;
        }
      }
    }
    return event.keyCode;
  }
  processKeyDown(e) {
    if (e == null) dart.nullFailed(I[147], 39191, 37, "e");
    if (dart.notNull(this[S$3._keyDownList][$length]) > 0 && (this[S$3._keyDownList][$last].keyCode === 17 && !dart.test(e.ctrlKey) || this[S$3._keyDownList][$last].keyCode === 18 && !dart.test(e.altKey) || html_common.Device.userAgent[$contains]("Mac") && this[S$3._keyDownList][$last].keyCode === 91 && !dart.test(e.metaKey))) {
      this[S$3._keyDownList][$clear]();
    }
    let event = new html$.KeyEvent.wrap(e);
    event[S$3._shadowKeyCode] = this[S$3._normalizeKeyCodes](event);
    event[S$3._shadowCharCode] = this[S$3._findCharCodeKeyDown](event);
    if (dart.notNull(this[S$3._keyDownList][$length]) > 0 && event.keyCode != this[S$3._keyDownList][$last].keyCode && !dart.test(this[S$3._firesKeyPressEvent](event))) {
      this.processKeyPress(e);
    }
    this[S$3._keyDownList][$add](event);
    this[S$3._stream$3].add(event);
  }
  processKeyPress(event) {
    if (event == null) dart.nullFailed(I[147], 39223, 38, "event");
    let e = new html$.KeyEvent.wrap(event);
    if (dart.test(html_common.Device.isIE)) {
      if (e.keyCode === 13 || e.keyCode === 27) {
        e[S$3._shadowCharCode] = 0;
      } else {
        e[S$3._shadowCharCode] = e.keyCode;
      }
    } else if (dart.test(html_common.Device.isOpera)) {
      e[S$3._shadowCharCode] = dart.test(html$.KeyCode.isCharacterKey(e.keyCode)) ? e.keyCode : 0;
    }
    e[S$3._shadowKeyCode] = this[S$3._determineKeyCodeForKeypress](e);
    if (e[S$3._shadowKeyIdentifier] != null && dart.test(html$._KeyboardEventHandler._keyIdentifier[$containsKey](e[S$3._shadowKeyIdentifier]))) {
      e[S$3._shadowKeyCode] = dart.nullCheck(html$._KeyboardEventHandler._keyIdentifier[$_get](e[S$3._shadowKeyIdentifier]));
    }
    e[S$3._shadowAltKey] = this[S$3._keyDownList][$any](dart.fn(element => {
      if (element == null) dart.nullFailed(I[147], 39248, 45, "element");
      return element.altKey;
    }, T$0.KeyEventTobool()));
    this[S$3._stream$3].add(e);
  }
  processKeyUp(event) {
    if (event == null) dart.nullFailed(I[147], 39253, 35, "event");
    let e = new html$.KeyEvent.wrap(event);
    let toRemove = null;
    for (let key of this[S$3._keyDownList]) {
      if (key.keyCode == e.keyCode) {
        toRemove = key;
      }
    }
    if (toRemove != null) {
      this[S$3._keyDownList][$removeWhere](dart.fn(element => {
        if (element == null) dart.nullFailed(I[147], 39262, 33, "element");
        return dart.equals(element, toRemove);
      }, T$0.KeyEventTobool()));
    } else if (dart.notNull(this[S$3._keyDownList][$length]) > 0) {
      this[S$3._keyDownList][$removeLast]();
    }
    this[S$3._stream$3].add(e);
  }
};
(html$._KeyboardEventHandler.new = function(_type) {
  if (_type == null) dart.nullFailed(I[147], 38984, 30, "_type");
  this[S$3._keyDownList] = T$0.JSArrayOfKeyEvent().of([]);
  this[S$3._type$5] = _type;
  this[S$3._stream$3] = new html$._CustomKeyEventStreamImpl.new("event");
  this[S$3._target$2] = null;
  html$._KeyboardEventHandler.__proto__.new.call(this, "KeyEvent");
  ;
}).prototype = html$._KeyboardEventHandler.prototype;
(html$._KeyboardEventHandler.initializeAllEventListeners = function(_type, _target) {
  if (_type == null) dart.nullFailed(I[147], 38993, 58, "_type");
  this[S$3._keyDownList] = T$0.JSArrayOfKeyEvent().of([]);
  this[S$3._type$5] = _type;
  this[S$3._target$2] = _target;
  this[S$3._stream$3] = new html$._CustomKeyEventStreamImpl.new(_type);
  html$._KeyboardEventHandler.__proto__.new.call(this, "KeyEvent");
  html$.Element.keyDownEvent.forTarget(this[S$3._target$2], {useCapture: true}).listen(dart.bind(this, 'processKeyDown'));
  html$.Element.keyPressEvent.forTarget(this[S$3._target$2], {useCapture: true}).listen(dart.bind(this, 'processKeyPress'));
  html$.Element.keyUpEvent.forTarget(this[S$3._target$2], {useCapture: true}).listen(dart.bind(this, 'processKeyUp'));
}).prototype = html$._KeyboardEventHandler.prototype;
dart.addTypeTests(html$._KeyboardEventHandler);
dart.addTypeCaches(html$._KeyboardEventHandler);
dart.setMethodSignature(html$._KeyboardEventHandler, () => ({
  __proto__: dart.getMethods(html$._KeyboardEventHandler.__proto__),
  forTarget: dart.fnType(html$.CustomStream$(html$.KeyEvent), [dart.nullable(html$.EventTarget)], {useCapture: core.bool}, {}),
  [S$3._determineKeyCodeForKeypress]: dart.fnType(core.int, [html$.KeyboardEvent]),
  [S$3._findCharCodeKeyDown]: dart.fnType(core.int, [html$.KeyboardEvent]),
  [S$3._firesKeyPressEvent]: dart.fnType(core.bool, [html$.KeyEvent]),
  [S$3._normalizeKeyCodes]: dart.fnType(core.int, [html$.KeyboardEvent]),
  processKeyDown: dart.fnType(dart.void, [html$.KeyboardEvent]),
  processKeyPress: dart.fnType(dart.void, [html$.KeyboardEvent]),
  processKeyUp: dart.fnType(dart.void, [html$.KeyboardEvent])
}));
dart.setGetterSignature(html$._KeyboardEventHandler, () => ({
  __proto__: dart.getGetters(html$._KeyboardEventHandler.__proto__),
  [S$3._capsLockOn]: core.bool
}));
dart.setLibraryUri(html$._KeyboardEventHandler, I[148]);
dart.setFieldSignature(html$._KeyboardEventHandler, () => ({
  __proto__: dart.getFields(html$._KeyboardEventHandler.__proto__),
  [S$3._keyDownList]: dart.finalFieldType(core.List$(html$.KeyEvent)),
  [S$3._type$5]: dart.finalFieldType(core.String),
  [S$3._target$2]: dart.finalFieldType(dart.nullable(html$.EventTarget)),
  [S$3._stream$3]: dart.fieldType(html$._CustomKeyEventStreamImpl)
}));
dart.defineLazy(html$._KeyboardEventHandler, {
  /*html$._KeyboardEventHandler._ROMAN_ALPHABET_OFFSET*/get _ROMAN_ALPHABET_OFFSET() {
    return dart.notNull("a"[$codeUnits][$_get](0)) - dart.notNull("A"[$codeUnits][$_get](0));
  },
  /*html$._KeyboardEventHandler._EVENT_TYPE*/get _EVENT_TYPE() {
    return "KeyEvent";
  },
  /*html$._KeyboardEventHandler._keyIdentifier*/get _keyIdentifier() {
    return C[405] || CT.C405;
  }
}, false);
html$.KeyboardEventStream = class KeyboardEventStream extends core.Object {
  static onKeyPress(target) {
    if (target == null) dart.nullFailed(I[147], 39290, 56, "target");
    return new html$._KeyboardEventHandler.new("keypress").forTarget(target);
  }
  static onKeyUp(target) {
    if (target == null) dart.nullFailed(I[147], 39294, 53, "target");
    return new html$._KeyboardEventHandler.new("keyup").forTarget(target);
  }
  static onKeyDown(target) {
    if (target == null) dart.nullFailed(I[147], 39298, 55, "target");
    return new html$._KeyboardEventHandler.new("keydown").forTarget(target);
  }
};
(html$.KeyboardEventStream.new = function() {
  ;
}).prototype = html$.KeyboardEventStream.prototype;
dart.addTypeTests(html$.KeyboardEventStream);
dart.addTypeCaches(html$.KeyboardEventStream);
dart.setLibraryUri(html$.KeyboardEventStream, I[148]);
html$.NodeValidatorBuilder = class NodeValidatorBuilder extends core.Object {
  allowNavigation(uriPolicy = null) {
    if (uriPolicy == null) {
      uriPolicy = html$.UriPolicy.new();
    }
    this.add(html$._SimpleNodeValidator.allowNavigation(uriPolicy));
  }
  allowImages(uriPolicy = null) {
    if (uriPolicy == null) {
      uriPolicy = html$.UriPolicy.new();
    }
    this.add(html$._SimpleNodeValidator.allowImages(uriPolicy));
  }
  allowTextElements() {
    this.add(html$._SimpleNodeValidator.allowTextElements());
  }
  allowInlineStyles(opts) {
    let tagName = opts && 'tagName' in opts ? opts.tagName : null;
    if (tagName == null) {
      tagName = "*";
    } else {
      tagName = tagName[$toUpperCase]();
    }
    this.add(new html$._SimpleNodeValidator.new(null, {allowedAttributes: T$.JSArrayOfString().of([dart.str(tagName) + "::style"])}));
  }
  allowHtml5(opts) {
    let uriPolicy = opts && 'uriPolicy' in opts ? opts.uriPolicy : null;
    this.add(new html$._Html5NodeValidator.new({uriPolicy: uriPolicy}));
  }
  allowSvg() {
    this.add(new html$._SvgNodeValidator.new());
  }
  allowCustomElement(tagName, opts) {
    let t241, t241$;
    if (tagName == null) dart.nullFailed(I[147], 39449, 34, "tagName");
    let uriPolicy = opts && 'uriPolicy' in opts ? opts.uriPolicy : null;
    let attributes = opts && 'attributes' in opts ? opts.attributes : null;
    let uriAttributes = opts && 'uriAttributes' in opts ? opts.uriAttributes : null;
    let tagNameUpper = tagName[$toUpperCase]();
    let attrs = (t241 = attributes, t241 == null ? null : t241[$map](core.String, dart.fn(name => {
      if (name == null) dart.nullFailed(I[147], 39455, 24, "name");
      return tagNameUpper + "::" + name[$toLowerCase]();
    }, T$.StringToString())));
    let uriAttrs = (t241$ = uriAttributes, t241$ == null ? null : t241$[$map](core.String, dart.fn(name => {
      if (name == null) dart.nullFailed(I[147], 39457, 24, "name");
      return tagNameUpper + "::" + name[$toLowerCase]();
    }, T$.StringToString())));
    if (uriPolicy == null) {
      uriPolicy = html$.UriPolicy.new();
    }
    this.add(new html$._CustomElementNodeValidator.new(uriPolicy, T$.JSArrayOfString().of([tagNameUpper]), attrs, uriAttrs, false, true));
  }
  allowTagExtension(tagName, baseName, opts) {
    let t241, t241$;
    if (tagName == null) dart.nullFailed(I[147], 39474, 33, "tagName");
    if (baseName == null) dart.nullFailed(I[147], 39474, 49, "baseName");
    let uriPolicy = opts && 'uriPolicy' in opts ? opts.uriPolicy : null;
    let attributes = opts && 'attributes' in opts ? opts.attributes : null;
    let uriAttributes = opts && 'uriAttributes' in opts ? opts.uriAttributes : null;
    let baseNameUpper = baseName[$toUpperCase]();
    let tagNameUpper = tagName[$toUpperCase]();
    let attrs = (t241 = attributes, t241 == null ? null : t241[$map](core.String, dart.fn(name => {
      if (name == null) dart.nullFailed(I[147], 39481, 24, "name");
      return baseNameUpper + "::" + name[$toLowerCase]();
    }, T$.StringToString())));
    let uriAttrs = (t241$ = uriAttributes, t241$ == null ? null : t241$[$map](core.String, dart.fn(name => {
      if (name == null) dart.nullFailed(I[147], 39483, 24, "name");
      return baseNameUpper + "::" + name[$toLowerCase]();
    }, T$.StringToString())));
    if (uriPolicy == null) {
      uriPolicy = html$.UriPolicy.new();
    }
    this.add(new html$._CustomElementNodeValidator.new(uriPolicy, T$.JSArrayOfString().of([tagNameUpper, baseNameUpper]), attrs, uriAttrs, true, false));
  }
  allowElement(tagName, opts) {
    if (tagName == null) dart.nullFailed(I[147], 39492, 28, "tagName");
    let uriPolicy = opts && 'uriPolicy' in opts ? opts.uriPolicy : null;
    let attributes = opts && 'attributes' in opts ? opts.attributes : null;
    let uriAttributes = opts && 'uriAttributes' in opts ? opts.uriAttributes : null;
    this.allowCustomElement(tagName, {uriPolicy: uriPolicy, attributes: attributes, uriAttributes: uriAttributes});
  }
  allowTemplating() {
    this.add(new html$._TemplatingNodeValidator.new());
  }
  add(validator) {
    if (validator == null) dart.nullFailed(I[147], 39519, 26, "validator");
    this[S$3._validators][$add](validator);
  }
  allowsElement(element) {
    if (element == null) dart.nullFailed(I[147], 39523, 30, "element");
    return this[S$3._validators][$any](dart.fn(v => {
      if (v == null) dart.nullFailed(I[147], 39524, 29, "v");
      return v.allowsElement(element);
    }, T$0.NodeValidatorTobool()));
  }
  allowsAttribute(element, attributeName, value) {
    if (element == null) dart.nullFailed(I[147], 39527, 32, "element");
    if (attributeName == null) dart.nullFailed(I[147], 39527, 48, "attributeName");
    if (value == null) dart.nullFailed(I[147], 39527, 70, "value");
    return this[S$3._validators][$any](dart.fn(v => {
      if (v == null) dart.nullFailed(I[147], 39529, 15, "v");
      return v.allowsAttribute(element, attributeName, value);
    }, T$0.NodeValidatorTobool()));
  }
};
(html$.NodeValidatorBuilder.new = function() {
  this[S$3._validators] = T$0.JSArrayOfNodeValidator().of([]);
}).prototype = html$.NodeValidatorBuilder.prototype;
(html$.NodeValidatorBuilder.common = function() {
  this[S$3._validators] = T$0.JSArrayOfNodeValidator().of([]);
  this.allowHtml5();
  this.allowTemplating();
}).prototype = html$.NodeValidatorBuilder.prototype;
dart.addTypeTests(html$.NodeValidatorBuilder);
dart.addTypeCaches(html$.NodeValidatorBuilder);
html$.NodeValidatorBuilder[dart.implements] = () => [html$.NodeValidator];
dart.setMethodSignature(html$.NodeValidatorBuilder, () => ({
  __proto__: dart.getMethods(html$.NodeValidatorBuilder.__proto__),
  allowNavigation: dart.fnType(dart.void, [], [dart.nullable(html$.UriPolicy)]),
  allowImages: dart.fnType(dart.void, [], [dart.nullable(html$.UriPolicy)]),
  allowTextElements: dart.fnType(dart.void, []),
  allowInlineStyles: dart.fnType(dart.void, [], {tagName: dart.nullable(core.String)}, {}),
  allowHtml5: dart.fnType(dart.void, [], {uriPolicy: dart.nullable(html$.UriPolicy)}, {}),
  allowSvg: dart.fnType(dart.void, []),
  allowCustomElement: dart.fnType(dart.void, [core.String], {attributes: dart.nullable(core.Iterable$(core.String)), uriAttributes: dart.nullable(core.Iterable$(core.String)), uriPolicy: dart.nullable(html$.UriPolicy)}, {}),
  allowTagExtension: dart.fnType(dart.void, [core.String, core.String], {attributes: dart.nullable(core.Iterable$(core.String)), uriAttributes: dart.nullable(core.Iterable$(core.String)), uriPolicy: dart.nullable(html$.UriPolicy)}, {}),
  allowElement: dart.fnType(dart.void, [core.String], {attributes: dart.nullable(core.Iterable$(core.String)), uriAttributes: dart.nullable(core.Iterable$(core.String)), uriPolicy: dart.nullable(html$.UriPolicy)}, {}),
  allowTemplating: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [html$.NodeValidator]),
  allowsElement: dart.fnType(core.bool, [html$.Element]),
  allowsAttribute: dart.fnType(core.bool, [html$.Element, core.String, core.String])
}));
dart.setLibraryUri(html$.NodeValidatorBuilder, I[148]);
dart.setFieldSignature(html$.NodeValidatorBuilder, () => ({
  __proto__: dart.getFields(html$.NodeValidatorBuilder.__proto__),
  [S$3._validators]: dart.finalFieldType(core.List$(html$.NodeValidator))
}));
html$._SimpleNodeValidator = class _SimpleNodeValidator extends core.Object {
  static allowNavigation(uriPolicy) {
    if (uriPolicy == null) dart.nullFailed(I[147], 39539, 58, "uriPolicy");
    return new html$._SimpleNodeValidator.new(uriPolicy, {allowedElements: C[407] || CT.C407, allowedAttributes: C[408] || CT.C408, allowedUriAttributes: C[409] || CT.C409});
  }
  static allowImages(uriPolicy) {
    if (uriPolicy == null) dart.nullFailed(I[147], 39565, 54, "uriPolicy");
    return new html$._SimpleNodeValidator.new(uriPolicy, {allowedElements: C[410] || CT.C410, allowedAttributes: C[411] || CT.C411, allowedUriAttributes: C[412] || CT.C412});
  }
  static allowTextElements() {
    return new html$._SimpleNodeValidator.new(null, {allowedElements: C[413] || CT.C413});
  }
  allowsElement(element) {
    if (element == null) dart.nullFailed(I[147], 39627, 30, "element");
    return this.allowedElements.contains(html$.Element._safeTagName(element));
  }
  allowsAttribute(element, attributeName, value) {
    if (element == null) dart.nullFailed(I[147], 39631, 32, "element");
    if (attributeName == null) dart.nullFailed(I[147], 39631, 48, "attributeName");
    if (value == null) dart.nullFailed(I[147], 39631, 70, "value");
    let tagName = html$.Element._safeTagName(element);
    if (dart.test(this.allowedUriAttributes.contains(dart.str(tagName) + "::" + dart.str(attributeName)))) {
      return dart.nullCheck(this.uriPolicy).allowsUri(value);
    } else if (dart.test(this.allowedUriAttributes.contains("*::" + dart.str(attributeName)))) {
      return dart.nullCheck(this.uriPolicy).allowsUri(value);
    } else if (dart.test(this.allowedAttributes.contains(dart.str(tagName) + "::" + dart.str(attributeName)))) {
      return true;
    } else if (dart.test(this.allowedAttributes.contains("*::" + dart.str(attributeName)))) {
      return true;
    } else if (dart.test(this.allowedAttributes.contains(dart.str(tagName) + "::*"))) {
      return true;
    } else if (dart.test(this.allowedAttributes.contains("*::*"))) {
      return true;
    }
    return false;
  }
};
(html$._SimpleNodeValidator.new = function(uriPolicy, opts) {
  let t241, t241$, t241$0;
  let allowedElements = opts && 'allowedElements' in opts ? opts.allowedElements : null;
  let allowedAttributes = opts && 'allowedAttributes' in opts ? opts.allowedAttributes : null;
  let allowedUriAttributes = opts && 'allowedUriAttributes' in opts ? opts.allowedUriAttributes : null;
  this.allowedElements = new (T$0._IdentityHashSetOfString()).new();
  this.allowedAttributes = new (T$0._IdentityHashSetOfString()).new();
  this.allowedUriAttributes = new (T$0._IdentityHashSetOfString()).new();
  this.uriPolicy = uriPolicy;
  this.allowedElements.addAll((t241 = allowedElements, t241 == null ? C[406] || CT.C406 : t241));
  allowedAttributes = (t241$ = allowedAttributes, t241$ == null ? C[406] || CT.C406 : t241$);
  allowedUriAttributes = (t241$0 = allowedUriAttributes, t241$0 == null ? C[406] || CT.C406 : t241$0);
  let legalAttributes = allowedAttributes[$where](dart.fn(x => {
    if (x == null) dart.nullFailed(I[147], 39619, 17, "x");
    return !dart.test(html$._Html5NodeValidator._uriAttributes[$contains](x));
  }, T$.StringTobool()));
  let extraUriAttributes = allowedAttributes[$where](dart.fn(x => {
    if (x == null) dart.nullFailed(I[147], 39621, 17, "x");
    return html$._Html5NodeValidator._uriAttributes[$contains](x);
  }, T$.StringTobool()));
  this.allowedAttributes.addAll(legalAttributes);
  this.allowedUriAttributes.addAll(allowedUriAttributes);
  this.allowedUriAttributes.addAll(extraUriAttributes);
}).prototype = html$._SimpleNodeValidator.prototype;
dart.addTypeTests(html$._SimpleNodeValidator);
dart.addTypeCaches(html$._SimpleNodeValidator);
html$._SimpleNodeValidator[dart.implements] = () => [html$.NodeValidator];
dart.setMethodSignature(html$._SimpleNodeValidator, () => ({
  __proto__: dart.getMethods(html$._SimpleNodeValidator.__proto__),
  allowsElement: dart.fnType(core.bool, [html$.Element]),
  allowsAttribute: dart.fnType(core.bool, [html$.Element, core.String, core.String])
}));
dart.setLibraryUri(html$._SimpleNodeValidator, I[148]);
dart.setFieldSignature(html$._SimpleNodeValidator, () => ({
  __proto__: dart.getFields(html$._SimpleNodeValidator.__proto__),
  allowedElements: dart.finalFieldType(core.Set$(core.String)),
  allowedAttributes: dart.finalFieldType(core.Set$(core.String)),
  allowedUriAttributes: dart.finalFieldType(core.Set$(core.String)),
  uriPolicy: dart.finalFieldType(dart.nullable(html$.UriPolicy))
}));
html$._CustomElementNodeValidator = class _CustomElementNodeValidator extends html$._SimpleNodeValidator {
  allowsElement(element) {
    if (element == null) dart.nullFailed(I[147], 39668, 30, "element");
    if (dart.test(this.allowTypeExtension)) {
      let isAttr = element[S.$attributes][$_get]("is");
      if (isAttr != null) {
        return dart.test(this.allowedElements.contains(isAttr[$toUpperCase]())) && dart.test(this.allowedElements.contains(html$.Element._safeTagName(element)));
      }
    }
    return dart.test(this.allowCustomTag) && dart.test(this.allowedElements.contains(html$.Element._safeTagName(element)));
  }
  allowsAttribute(element, attributeName, value) {
    if (element == null) dart.nullFailed(I[147], 39680, 32, "element");
    if (attributeName == null) dart.nullFailed(I[147], 39680, 48, "attributeName");
    if (value == null) dart.nullFailed(I[147], 39680, 70, "value");
    if (dart.test(this.allowsElement(element))) {
      if (dart.test(this.allowTypeExtension) && attributeName === "is" && dart.test(this.allowedElements.contains(value[$toUpperCase]()))) {
        return true;
      }
      return super.allowsAttribute(element, attributeName, value);
    }
    return false;
  }
};
(html$._CustomElementNodeValidator.new = function(uriPolicy, allowedElements, allowedAttributes, allowedUriAttributes, allowTypeExtension, allowCustomTag) {
  if (uriPolicy == null) dart.nullFailed(I[147], 39655, 17, "uriPolicy");
  if (allowedElements == null) dart.nullFailed(I[147], 39656, 24, "allowedElements");
  if (allowTypeExtension == null) dart.nullFailed(I[147], 39659, 12, "allowTypeExtension");
  if (allowCustomTag == null) dart.nullFailed(I[147], 39660, 12, "allowCustomTag");
  this.allowTypeExtension = allowTypeExtension === true;
  this.allowCustomTag = allowCustomTag === true;
  html$._CustomElementNodeValidator.__proto__.new.call(this, uriPolicy, {allowedElements: allowedElements, allowedAttributes: allowedAttributes, allowedUriAttributes: allowedUriAttributes});
  ;
}).prototype = html$._CustomElementNodeValidator.prototype;
dart.addTypeTests(html$._CustomElementNodeValidator);
dart.addTypeCaches(html$._CustomElementNodeValidator);
dart.setLibraryUri(html$._CustomElementNodeValidator, I[148]);
dart.setFieldSignature(html$._CustomElementNodeValidator, () => ({
  __proto__: dart.getFields(html$._CustomElementNodeValidator.__proto__),
  allowTypeExtension: dart.finalFieldType(core.bool),
  allowCustomTag: dart.finalFieldType(core.bool)
}));
html$._TemplatingNodeValidator = class _TemplatingNodeValidator extends html$._SimpleNodeValidator {
  allowsAttribute(element, attributeName, value) {
    if (element == null) dart.nullFailed(I[147], 39711, 32, "element");
    if (attributeName == null) dart.nullFailed(I[147], 39711, 48, "attributeName");
    if (value == null) dart.nullFailed(I[147], 39711, 70, "value");
    if (dart.test(super.allowsAttribute(element, attributeName, value))) {
      return true;
    }
    if (attributeName === "template" && value === "") {
      return true;
    }
    if (element[S.$attributes][$_get]("template") === "") {
      return this[S$3._templateAttrs].contains(attributeName);
    }
    return false;
  }
};
(html$._TemplatingNodeValidator.new = function() {
  this[S$3._templateAttrs] = T$0.LinkedHashSetOfString().from(html$._TemplatingNodeValidator._TEMPLATE_ATTRS);
  html$._TemplatingNodeValidator.__proto__.new.call(this, null, {allowedElements: T$.JSArrayOfString().of(["TEMPLATE"]), allowedAttributes: html$._TemplatingNodeValidator._TEMPLATE_ATTRS[$map](core.String, dart.fn(attr => {
      if (attr == null) dart.nullFailed(I[147], 39709, 38, "attr");
      return "TEMPLATE::" + dart.str(attr);
    }, T$.StringToString()))});
}).prototype = html$._TemplatingNodeValidator.prototype;
dart.addTypeTests(html$._TemplatingNodeValidator);
dart.addTypeCaches(html$._TemplatingNodeValidator);
dart.setLibraryUri(html$._TemplatingNodeValidator, I[148]);
dart.setFieldSignature(html$._TemplatingNodeValidator, () => ({
  __proto__: dart.getFields(html$._TemplatingNodeValidator.__proto__),
  [S$3._templateAttrs]: dart.finalFieldType(core.Set$(core.String))
}));
dart.defineLazy(html$._TemplatingNodeValidator, {
  /*html$._TemplatingNodeValidator._TEMPLATE_ATTRS*/get _TEMPLATE_ATTRS() {
    return C[414] || CT.C414;
  }
}, false);
html$._SvgNodeValidator = class _SvgNodeValidator extends core.Object {
  allowsElement(element) {
    if (element == null) dart.nullFailed(I[147], 39728, 30, "element");
    if (svg$.ScriptElement.is(element)) {
      return false;
    }
    if (svg$.SvgElement.is(element) && html$.Element._safeTagName(element) === "foreignObject") {
      return false;
    }
    if (svg$.SvgElement.is(element)) {
      return true;
    }
    return false;
  }
  allowsAttribute(element, attributeName, value) {
    if (element == null) dart.nullFailed(I[147], 39746, 32, "element");
    if (attributeName == null) dart.nullFailed(I[147], 39746, 48, "attributeName");
    if (value == null) dart.nullFailed(I[147], 39746, 70, "value");
    if (attributeName === "is" || attributeName[$startsWith]("on")) {
      return false;
    }
    return this.allowsElement(element);
  }
};
(html$._SvgNodeValidator.new = function() {
  ;
}).prototype = html$._SvgNodeValidator.prototype;
dart.addTypeTests(html$._SvgNodeValidator);
dart.addTypeCaches(html$._SvgNodeValidator);
html$._SvgNodeValidator[dart.implements] = () => [html$.NodeValidator];
dart.setMethodSignature(html$._SvgNodeValidator, () => ({
  __proto__: dart.getMethods(html$._SvgNodeValidator.__proto__),
  allowsElement: dart.fnType(core.bool, [html$.Element]),
  allowsAttribute: dart.fnType(core.bool, [html$.Element, core.String, core.String])
}));
dart.setLibraryUri(html$._SvgNodeValidator, I[148]);
html$.ReadyState = class ReadyState extends core.Object {};
(html$.ReadyState.new = function() {
  ;
}).prototype = html$.ReadyState.prototype;
dart.addTypeTests(html$.ReadyState);
dart.addTypeCaches(html$.ReadyState);
dart.setLibraryUri(html$.ReadyState, I[148]);
dart.defineLazy(html$.ReadyState, {
  /*html$.ReadyState.LOADING*/get LOADING() {
    return "loading";
  },
  /*html$.ReadyState.INTERACTIVE*/get INTERACTIVE() {
    return "interactive";
  },
  /*html$.ReadyState.COMPLETE*/get COMPLETE() {
    return "complete";
  }
}, false);
const _is__WrappedList_default = Symbol('_is__WrappedList_default');
html$._WrappedList$ = dart.generic(E => {
  var __t$_WrappedIteratorOfE = () => (__t$_WrappedIteratorOfE = dart.constFn(html$._WrappedIterator$(E)))();
  var __t$IterableOfE = () => (__t$IterableOfE = dart.constFn(core.Iterable$(E)))();
  var __t$EN = () => (__t$EN = dart.constFn(dart.nullable(E)))();
  class _WrappedList extends collection.ListBase$(E) {
    get iterator() {
      return new (__t$_WrappedIteratorOfE()).new(this[S$3._list$19][$iterator]);
    }
    get length() {
      return this[S$3._list$19][$length];
    }
    add(element) {
      E.as(element);
      if (element == null) dart.nullFailed(I[147], 39799, 14, "element");
      this[S$3._list$19][$add](element);
    }
    remove(element) {
      return this[S$3._list$19][$remove](element);
    }
    clear() {
      this[S$3._list$19][$clear]();
    }
    _get(index) {
      if (index == null) dart.nullFailed(I[147], 39811, 21, "index");
      return E.as(this[S$3._list$19][$_get](index));
    }
    _set(index, value$) {
      let value = value$;
      if (index == null) dart.nullFailed(I[147], 39813, 25, "index");
      E.as(value);
      if (value == null) dart.nullFailed(I[147], 39813, 34, "value");
      this[S$3._list$19][$_set](index, value);
      return value$;
    }
    set length(newLength) {
      if (newLength == null) dart.nullFailed(I[147], 39817, 18, "newLength");
      this[S$3._list$19][$length] = newLength;
    }
    sort(compare = null) {
      if (compare == null) {
        this[S$3._list$19][$sort]();
      } else {
        this[S$3._list$19][$sort](dart.fn((a, b) => {
          if (a == null) dart.nullFailed(I[147], 39825, 24, "a");
          if (b == null) dart.nullFailed(I[147], 39825, 32, "b");
          return compare(E.as(a), E.as(b));
        }, T$0.NodeAndNodeToint()));
      }
    }
    indexOf(element, start = 0) {
      if (start == null) dart.nullFailed(I[147], 39829, 37, "start");
      return this[S$3._list$19][$indexOf](html$.Node.as(element), start);
    }
    lastIndexOf(element, start = null) {
      return this[S$3._list$19][$lastIndexOf](html$.Node.as(element), start);
    }
    insert(index, element) {
      if (index == null) dart.nullFailed(I[147], 39835, 19, "index");
      E.as(element);
      if (element == null) dart.nullFailed(I[147], 39835, 28, "element");
      return this[S$3._list$19][$insert](index, element);
    }
    removeAt(index) {
      if (index == null) dart.nullFailed(I[147], 39837, 18, "index");
      return E.as(this[S$3._list$19][$removeAt](index));
    }
    setRange(start, end, iterable, skipCount = 0) {
      if (start == null) dart.nullFailed(I[147], 39839, 21, "start");
      if (end == null) dart.nullFailed(I[147], 39839, 32, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[147], 39839, 49, "iterable");
      if (skipCount == null) dart.nullFailed(I[147], 39839, 64, "skipCount");
      this[S$3._list$19][$setRange](start, end, iterable, skipCount);
    }
    removeRange(start, end) {
      if (start == null) dart.nullFailed(I[147], 39843, 24, "start");
      if (end == null) dart.nullFailed(I[147], 39843, 35, "end");
      this[S$3._list$19][$removeRange](start, end);
    }
    replaceRange(start, end, iterable) {
      if (start == null) dart.nullFailed(I[147], 39847, 25, "start");
      if (end == null) dart.nullFailed(I[147], 39847, 36, "end");
      __t$IterableOfE().as(iterable);
      if (iterable == null) dart.nullFailed(I[147], 39847, 53, "iterable");
      this[S$3._list$19][$replaceRange](start, end, iterable);
    }
    fillRange(start, end, fillValue = null) {
      if (start == null) dart.nullFailed(I[147], 39851, 22, "start");
      if (end == null) dart.nullFailed(I[147], 39851, 33, "end");
      __t$EN().as(fillValue);
      this[S$3._list$19][$fillRange](start, end, fillValue);
    }
    get rawList() {
      return this[S$3._list$19];
    }
  }
  (_WrappedList.new = function(_list) {
    if (_list == null) dart.nullFailed(I[147], 39789, 21, "_list");
    this[S$3._list$19] = _list;
    ;
  }).prototype = _WrappedList.prototype;
  dart.addTypeTests(_WrappedList);
  _WrappedList.prototype[_is__WrappedList_default] = true;
  dart.addTypeCaches(_WrappedList);
  _WrappedList[dart.implements] = () => [html_common.NodeListWrapper];
  dart.setMethodSignature(_WrappedList, () => ({
    __proto__: dart.getMethods(_WrappedList.__proto__),
    _get: dart.fnType(E, [core.int]),
    [$_get]: dart.fnType(E, [core.int]),
    _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
    [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)])
  }));
  dart.setGetterSignature(_WrappedList, () => ({
    __proto__: dart.getGetters(_WrappedList.__proto__),
    length: core.int,
    [$length]: core.int,
    rawList: core.List$(html$.Node)
  }));
  dart.setSetterSignature(_WrappedList, () => ({
    __proto__: dart.getSetters(_WrappedList.__proto__),
    length: core.int,
    [$length]: core.int
  }));
  dart.setLibraryUri(_WrappedList, I[148]);
  dart.setFieldSignature(_WrappedList, () => ({
    __proto__: dart.getFields(_WrappedList.__proto__),
    [S$3._list$19]: dart.finalFieldType(core.List$(html$.Node))
  }));
  dart.defineExtensionMethods(_WrappedList, [
    'add',
    'remove',
    'clear',
    '_get',
    '_set',
    'sort',
    'indexOf',
    'lastIndexOf',
    'insert',
    'removeAt',
    'setRange',
    'removeRange',
    'replaceRange',
    'fillRange'
  ]);
  dart.defineExtensionAccessors(_WrappedList, ['iterator', 'length']);
  return _WrappedList;
});
html$._WrappedList = html$._WrappedList$();
dart.addTypeTests(html$._WrappedList, _is__WrappedList_default);
const _is__WrappedIterator_default = Symbol('_is__WrappedIterator_default');
html$._WrappedIterator$ = dart.generic(E => {
  class _WrappedIterator extends core.Object {
    moveNext() {
      return this[S$3._iterator$3].moveNext();
    }
    get current() {
      return E.as(this[S$3._iterator$3].current);
    }
  }
  (_WrappedIterator.new = function(_iterator) {
    if (_iterator == null) dart.nullFailed(I[147], 39864, 25, "_iterator");
    this[S$3._iterator$3] = _iterator;
    ;
  }).prototype = _WrappedIterator.prototype;
  dart.addTypeTests(_WrappedIterator);
  _WrappedIterator.prototype[_is__WrappedIterator_default] = true;
  dart.addTypeCaches(_WrappedIterator);
  _WrappedIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setMethodSignature(_WrappedIterator, () => ({
    __proto__: dart.getMethods(_WrappedIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_WrappedIterator, () => ({
    __proto__: dart.getGetters(_WrappedIterator.__proto__),
    current: E
  }));
  dart.setLibraryUri(_WrappedIterator, I[148]);
  dart.setFieldSignature(_WrappedIterator, () => ({
    __proto__: dart.getFields(_WrappedIterator.__proto__),
    [S$3._iterator$3]: dart.fieldType(core.Iterator$(html$.Node))
  }));
  return _WrappedIterator;
});
html$._WrappedIterator = html$._WrappedIterator$();
dart.addTypeTests(html$._WrappedIterator, _is__WrappedIterator_default);
html$._HttpRequestUtils = class _HttpRequestUtils extends core.Object {
  static get(url, onComplete, withCredentials) {
    if (url == null) dart.nullFailed(I[147], 39879, 14, "url");
    if (onComplete == null) dart.nullFailed(I[147], 39879, 19, "onComplete");
    if (withCredentials == null) dart.nullFailed(I[147], 39879, 57, "withCredentials");
    let request = html$.HttpRequest.new();
    request.open("GET", url, {async: true});
    request.withCredentials = withCredentials;
    request[S$1.$onReadyStateChange].listen(dart.fn(e => {
      if (e == null) dart.nullFailed(I[147], 39885, 40, "e");
      if (request.readyState === 4) {
        onComplete(request);
      }
    }, T$0.EventTovoid()));
    request.send();
    return request;
  }
};
(html$._HttpRequestUtils.new = function() {
  ;
}).prototype = html$._HttpRequestUtils.prototype;
dart.addTypeTests(html$._HttpRequestUtils);
dart.addTypeCaches(html$._HttpRequestUtils);
dart.setLibraryUri(html$._HttpRequestUtils, I[148]);
const _is_FixedSizeListIterator_default = Symbol('_is_FixedSizeListIterator_default');
html$.FixedSizeListIterator$ = dart.generic(T => {
  class FixedSizeListIterator extends core.Object {
    moveNext() {
      let nextPosition = dart.notNull(this[S$0._position$2]) + 1;
      if (nextPosition < dart.notNull(this[S$2._length$3])) {
        this[S$3._current$4] = this[S$3._array][$_get](nextPosition);
        this[S$0._position$2] = nextPosition;
        return true;
      }
      this[S$3._current$4] = null;
      this[S$0._position$2] = this[S$2._length$3];
      return false;
    }
    get current() {
      return T.as(this[S$3._current$4]);
    }
  }
  (FixedSizeListIterator.new = function(array) {
    if (array == null) dart.nullFailed(I[147], 39907, 33, "array");
    this[S$3._current$4] = null;
    this[S$3._array] = array;
    this[S$0._position$2] = -1;
    this[S$2._length$3] = array[$length];
    ;
  }).prototype = FixedSizeListIterator.prototype;
  dart.addTypeTests(FixedSizeListIterator);
  FixedSizeListIterator.prototype[_is_FixedSizeListIterator_default] = true;
  dart.addTypeCaches(FixedSizeListIterator);
  FixedSizeListIterator[dart.implements] = () => [core.Iterator$(T)];
  dart.setMethodSignature(FixedSizeListIterator, () => ({
    __proto__: dart.getMethods(FixedSizeListIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(FixedSizeListIterator, () => ({
    __proto__: dart.getGetters(FixedSizeListIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(FixedSizeListIterator, I[148]);
  dart.setFieldSignature(FixedSizeListIterator, () => ({
    __proto__: dart.getFields(FixedSizeListIterator.__proto__),
    [S$3._array]: dart.finalFieldType(core.List$(T)),
    [S$2._length$3]: dart.finalFieldType(core.int),
    [S$0._position$2]: dart.fieldType(core.int),
    [S$3._current$4]: dart.fieldType(dart.nullable(T))
  }));
  return FixedSizeListIterator;
});
html$.FixedSizeListIterator = html$.FixedSizeListIterator$();
dart.addTypeTests(html$.FixedSizeListIterator, _is_FixedSizeListIterator_default);
const _is__VariableSizeListIterator_default = Symbol('_is__VariableSizeListIterator_default');
html$._VariableSizeListIterator$ = dart.generic(T => {
  class _VariableSizeListIterator extends core.Object {
    moveNext() {
      let nextPosition = dart.notNull(this[S$0._position$2]) + 1;
      if (nextPosition < dart.notNull(this[S$3._array][$length])) {
        this[S$3._current$4] = this[S$3._array][$_get](nextPosition);
        this[S$0._position$2] = nextPosition;
        return true;
      }
      this[S$3._current$4] = null;
      this[S$0._position$2] = this[S$3._array][$length];
      return false;
    }
    get current() {
      return T.as(this[S$3._current$4]);
    }
  }
  (_VariableSizeListIterator.new = function(array) {
    if (array == null) dart.nullFailed(I[147], 39933, 37, "array");
    this[S$3._current$4] = null;
    this[S$3._array] = array;
    this[S$0._position$2] = -1;
    ;
  }).prototype = _VariableSizeListIterator.prototype;
  dart.addTypeTests(_VariableSizeListIterator);
  _VariableSizeListIterator.prototype[_is__VariableSizeListIterator_default] = true;
  dart.addTypeCaches(_VariableSizeListIterator);
  _VariableSizeListIterator[dart.implements] = () => [core.Iterator$(T)];
  dart.setMethodSignature(_VariableSizeListIterator, () => ({
    __proto__: dart.getMethods(_VariableSizeListIterator.__proto__),
    moveNext: dart.fnType(core.bool, [])
  }));
  dart.setGetterSignature(_VariableSizeListIterator, () => ({
    __proto__: dart.getGetters(_VariableSizeListIterator.__proto__),
    current: T
  }));
  dart.setLibraryUri(_VariableSizeListIterator, I[148]);
  dart.setFieldSignature(_VariableSizeListIterator, () => ({
    __proto__: dart.getFields(_VariableSizeListIterator.__proto__),
    [S$3._array]: dart.finalFieldType(core.List$(T)),
    [S$0._position$2]: dart.fieldType(core.int),
    [S$3._current$4]: dart.fieldType(dart.nullable(T))
  }));
  return _VariableSizeListIterator;
});
html$._VariableSizeListIterator = html$._VariableSizeListIterator$();
dart.addTypeTests(html$._VariableSizeListIterator, _is__VariableSizeListIterator_default);
html$.Console = class Console extends core.Object {
  get [S$3._isConsoleDefined]() {
    return typeof console != "undefined";
  }
  get memory() {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.memory : null;
  }
  assertCondition(condition = null, arg = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.assert(condition, arg) : null;
  }
  clear(arg = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.clear(arg) : null;
  }
  count(arg = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.count(arg) : null;
  }
  countReset(arg = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.countReset(arg) : null;
  }
  debug(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.debug(arg) : null;
  }
  dir(item = null, options = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.dir(item, options) : null;
  }
  dirxml(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.dirxml(arg) : null;
  }
  error(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.error(arg) : null;
  }
  group(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.group(arg) : null;
  }
  groupCollapsed(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.groupCollapsed(arg) : null;
  }
  groupEnd() {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.groupEnd() : null;
  }
  info(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.info(arg) : null;
  }
  log(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.log(arg) : null;
  }
  table(tabularData = null, properties = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.table(tabularData, properties) : null;
  }
  time(label = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.time(label) : null;
  }
  timeEnd(label = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.timeEnd(label) : null;
  }
  timeLog(label = null, arg = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.timeLog(label, arg) : null;
  }
  trace(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.trace(arg) : null;
  }
  warn(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.warn(arg) : null;
  }
  profile(title = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.profile(title) : null;
  }
  profileEnd(title = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.profileEnd(title) : null;
  }
  timeStamp(arg = null) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.timeStamp(arg) : null;
  }
  markTimeline(arg) {
    return dart.test(this[S$3._isConsoleDefined]) ? window.console.markTimeline(arg) : null;
  }
};
(html$.Console._safe = function() {
  ;
}).prototype = html$.Console.prototype;
dart.addTypeTests(html$.Console);
dart.addTypeCaches(html$.Console);
dart.setMethodSignature(html$.Console, () => ({
  __proto__: dart.getMethods(html$.Console.__proto__),
  assertCondition: dart.fnType(dart.void, [], [dart.nullable(core.bool), dart.nullable(core.Object)]),
  clear: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  count: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  countReset: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  debug: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  dir: dart.fnType(dart.void, [], [dart.nullable(core.Object), dart.nullable(core.Object)]),
  dirxml: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  error: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  group: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  groupCollapsed: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  groupEnd: dart.fnType(dart.void, []),
  info: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  log: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  table: dart.fnType(dart.void, [], [dart.nullable(core.Object), dart.nullable(core.List$(core.String))]),
  time: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  timeEnd: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  timeLog: dart.fnType(dart.void, [], [dart.nullable(core.String), dart.nullable(core.Object)]),
  trace: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  warn: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  profile: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  profileEnd: dart.fnType(dart.void, [], [dart.nullable(core.String)]),
  timeStamp: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  markTimeline: dart.fnType(dart.void, [dart.nullable(core.Object)])
}));
dart.setGetterSignature(html$.Console, () => ({
  __proto__: dart.getGetters(html$.Console.__proto__),
  [S$3._isConsoleDefined]: core.bool,
  memory: dart.nullable(html$.MemoryInfo)
}));
dart.setLibraryUri(html$.Console, I[148]);
dart.defineLazy(html$.Console, {
  /*html$.Console._safeConsole*/get _safeConsole() {
    return C[415] || CT.C415;
  }
}, false);
html$._JSElementUpgrader = class _JSElementUpgrader extends core.Object {
  upgrade(element) {
    if (element == null) dart.nullFailed(I[147], 40299, 27, "element");
    if (!dart.equals(dart.runtimeType(element), this[S$3._nativeType])) {
      if (!dart.equals(this[S$3._nativeType], dart.wrapType(html$.HtmlElement)) || !dart.equals(dart.runtimeType(element), dart.wrapType(html$.UnknownElement))) {
        dart.throw(new core.ArgumentError.new("element is not subclass of " + dart.str(this[S$3._nativeType])));
      }
    }
    _js_helper.setNativeSubclassDispatchRecord(element, this[S$3._interceptor]);
    this[S$3._constructor](element);
    return element;
  }
};
(html$._JSElementUpgrader.new = function(document, type, extendsTag) {
  if (document == null) dart.nullFailed(I[147], 40264, 31, "document");
  if (type == null) dart.nullFailed(I[147], 40264, 46, "type");
  this[S$3._interceptor] = null;
  this[S$3._constructor] = null;
  this[S$3._nativeType] = null;
  let interceptorClass = _interceptors.findInterceptorConstructorForType(type);
  if (interceptorClass == null) {
    dart.throw(new core.ArgumentError.new(type));
  }
  this[S$3._constructor] = _interceptors.findConstructorForNativeSubclassType(type, "created");
  if (this[S$3._constructor] == null) {
    dart.throw(new core.ArgumentError.new(dart.str(type) + " has no constructor called 'created'"));
  }
  _interceptors.getNativeInterceptor(html$.Element.tag("article"));
  let baseClassName = _js_helper.findDispatchTagForInterceptorClass(interceptorClass);
  if (baseClassName == null) {
    dart.throw(new core.ArgumentError.new(type));
  }
  if (extendsTag == null) {
    if (!dart.equals(baseClassName, "HTMLElement")) {
      dart.throw(new core.UnsupportedError.new("Class must provide extendsTag if base " + "native class is not HtmlElement"));
    }
    this[S$3._nativeType] = dart.wrapType(html$.HtmlElement);
  } else {
    let element = document[S.$createElement](extendsTag);
    html$._checkExtendsNativeClassOrTemplate(element, extendsTag, core.String.as(baseClassName));
    this[S$3._nativeType] = dart.runtimeType(element);
  }
  this[S$3._interceptor] = interceptorClass.prototype;
}).prototype = html$._JSElementUpgrader.prototype;
dart.addTypeTests(html$._JSElementUpgrader);
dart.addTypeCaches(html$._JSElementUpgrader);
html$._JSElementUpgrader[dart.implements] = () => [html$.ElementUpgrader];
dart.setMethodSignature(html$._JSElementUpgrader, () => ({
  __proto__: dart.getMethods(html$._JSElementUpgrader.__proto__),
  upgrade: dart.fnType(html$.Element, [html$.Element])
}));
dart.setLibraryUri(html$._JSElementUpgrader, I[148]);
dart.setFieldSignature(html$._JSElementUpgrader, () => ({
  __proto__: dart.getFields(html$._JSElementUpgrader.__proto__),
  [S$3._interceptor]: dart.fieldType(dart.dynamic),
  [S$3._constructor]: dart.fieldType(dart.dynamic),
  [S$3._nativeType]: dart.fieldType(dart.dynamic)
}));
html$._DOMWindowCrossFrame = class _DOMWindowCrossFrame extends core.Object {
  get history() {
    return html$._HistoryCrossFrame._createSafe(this[S$3._window].history);
  }
  get location() {
    return html$._LocationCrossFrame._createSafe(this[S$3._window].location);
  }
  get closed() {
    return this[S$3._window].closed;
  }
  get opener() {
    return html$._DOMWindowCrossFrame._createSafe(this[S$3._window].opener);
  }
  get parent() {
    return html$._DOMWindowCrossFrame._createSafe(this[S$3._window].parent);
  }
  get top() {
    return html$._DOMWindowCrossFrame._createSafe(this[S$3._window].top);
  }
  close() {
    return this[S$3._window].close();
  }
  postMessage(message, targetOrigin, messagePorts = null) {
    if (targetOrigin == null) dart.nullFailed(I[147], 40344, 40, "targetOrigin");
    if (messagePorts == null) {
      this[S$3._window].postMessage(html_common.convertDartToNative_SerializedScriptValue(message), targetOrigin);
    } else {
      this[S$3._window].postMessage(html_common.convertDartToNative_SerializedScriptValue(message), targetOrigin, messagePorts);
    }
  }
  static _createSafe(w) {
    if (core.identical(w, html$.window)) {
      return html$.WindowBase.as(w);
    } else {
      _js_helper.registerGlobalObject(w);
      return new html$._DOMWindowCrossFrame.new(w);
    }
  }
  get on() {
    return dart.throw(new core.UnsupportedError.new("You can only attach EventListeners to your own window."));
  }
  [S._addEventListener](type, listener, useCapture = null) {
    return dart.throw(new core.UnsupportedError.new("You can only attach EventListeners to your own window."));
  }
  addEventListener(type, listener, useCapture = null) {
    if (type == null) dart.nullFailed(I[147], 40381, 32, "type");
    return dart.throw(new core.UnsupportedError.new("You can only attach EventListeners to your own window."));
  }
  dispatchEvent(event) {
    if (event == null) dart.nullFailed(I[147], 40386, 28, "event");
    return dart.throw(new core.UnsupportedError.new("You can only attach EventListeners to your own window."));
  }
  [S._removeEventListener](type, listener, useCapture = null) {
    return dart.throw(new core.UnsupportedError.new("You can only attach EventListeners to your own window."));
  }
  removeEventListener(type, listener, useCapture = null) {
    if (type == null) dart.nullFailed(I[147], 40394, 35, "type");
    return dart.throw(new core.UnsupportedError.new("You can only attach EventListeners to your own window."));
  }
};
(html$._DOMWindowCrossFrame.new = function(_window) {
  this[S$3._window] = _window;
  ;
}).prototype = html$._DOMWindowCrossFrame.prototype;
dart.addTypeTests(html$._DOMWindowCrossFrame);
dart.addTypeCaches(html$._DOMWindowCrossFrame);
html$._DOMWindowCrossFrame[dart.implements] = () => [html$.WindowBase];
dart.setMethodSignature(html$._DOMWindowCrossFrame, () => ({
  __proto__: dart.getMethods(html$._DOMWindowCrossFrame.__proto__),
  close: dart.fnType(dart.void, []),
  [S.$close]: dart.fnType(dart.void, []),
  postMessage: dart.fnType(dart.void, [dart.dynamic, core.String], [dart.nullable(core.List)]),
  [S$.$postMessage]: dart.fnType(dart.void, [dart.dynamic, core.String], [dart.nullable(core.List)]),
  [S._addEventListener]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  addEventListener: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  [S.$addEventListener]: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  dispatchEvent: dart.fnType(core.bool, [html$.Event]),
  [S.$dispatchEvent]: dart.fnType(core.bool, [html$.Event]),
  [S._removeEventListener]: dart.fnType(dart.void, [dart.nullable(core.String), dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  removeEventListener: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)]),
  [S.$removeEventListener]: dart.fnType(dart.void, [core.String, dart.nullable(dart.fnType(dart.dynamic, [html$.Event]))], [dart.nullable(core.bool)])
}));
dart.setGetterSignature(html$._DOMWindowCrossFrame, () => ({
  __proto__: dart.getGetters(html$._DOMWindowCrossFrame.__proto__),
  history: html$.HistoryBase,
  [S$3.$history]: html$.HistoryBase,
  location: html$.LocationBase,
  [S$0.$location]: html$.LocationBase,
  closed: core.bool,
  [S$1.$closed]: core.bool,
  opener: html$.WindowBase,
  [S$3.$opener]: html$.WindowBase,
  parent: html$.WindowBase,
  [S.$parent]: html$.WindowBase,
  top: html$.WindowBase,
  [$top]: html$.WindowBase,
  on: html$.Events,
  [S.$on]: html$.Events
}));
dart.setLibraryUri(html$._DOMWindowCrossFrame, I[148]);
dart.setFieldSignature(html$._DOMWindowCrossFrame, () => ({
  __proto__: dart.getFields(html$._DOMWindowCrossFrame.__proto__),
  [S$3._window]: dart.finalFieldType(dart.dynamic)
}));
dart.defineExtensionMethods(html$._DOMWindowCrossFrame, [
  'close',
  'postMessage',
  'addEventListener',
  'dispatchEvent',
  'removeEventListener'
]);
dart.defineExtensionAccessors(html$._DOMWindowCrossFrame, [
  'history',
  'location',
  'closed',
  'opener',
  'parent',
  'top',
  'on'
]);
html$._LocationCrossFrame = class _LocationCrossFrame extends core.Object {
  set href(val) {
    if (val == null) dart.nullFailed(I[147], 40406, 19, "val");
    return html$._LocationCrossFrame._setHref(this[S$3._location], val);
  }
  static _setHref(location, val) {
    location.href = val;
  }
  static _createSafe(location) {
    if (core.identical(location, html$.window[S$0.$location])) {
      return html$.LocationBase.as(location);
    } else {
      return new html$._LocationCrossFrame.new(location);
    }
  }
};
(html$._LocationCrossFrame.new = function(_location) {
  this[S$3._location] = _location;
  ;
}).prototype = html$._LocationCrossFrame.prototype;
dart.addTypeTests(html$._LocationCrossFrame);
dart.addTypeCaches(html$._LocationCrossFrame);
html$._LocationCrossFrame[dart.implements] = () => [html$.LocationBase];
dart.setSetterSignature(html$._LocationCrossFrame, () => ({
  __proto__: dart.getSetters(html$._LocationCrossFrame.__proto__),
  href: core.String,
  [S$.$href]: core.String
}));
dart.setLibraryUri(html$._LocationCrossFrame, I[148]);
dart.setFieldSignature(html$._LocationCrossFrame, () => ({
  __proto__: dart.getFields(html$._LocationCrossFrame.__proto__),
  [S$3._location]: dart.fieldType(dart.dynamic)
}));
dart.defineExtensionAccessors(html$._LocationCrossFrame, ['href']);
html$._HistoryCrossFrame = class _HistoryCrossFrame extends core.Object {
  back() {
    return this[S$3._history].back();
  }
  forward() {
    return this[S$3._history].forward();
  }
  go(distance) {
    if (distance == null) dart.nullFailed(I[147], 40434, 15, "distance");
    return this[S$3._history].go(distance);
  }
  static _createSafe(h) {
    if (core.identical(h, html$.window.history)) {
      return html$.HistoryBase.as(h);
    } else {
      return new html$._HistoryCrossFrame.new(h);
    }
  }
};
(html$._HistoryCrossFrame.new = function(_history) {
  this[S$3._history] = _history;
  ;
}).prototype = html$._HistoryCrossFrame.prototype;
dart.addTypeTests(html$._HistoryCrossFrame);
dart.addTypeCaches(html$._HistoryCrossFrame);
html$._HistoryCrossFrame[dart.implements] = () => [html$.HistoryBase];
dart.setMethodSignature(html$._HistoryCrossFrame, () => ({
  __proto__: dart.getMethods(html$._HistoryCrossFrame.__proto__),
  back: dart.fnType(dart.void, []),
  [S$1.$back]: dart.fnType(dart.void, []),
  forward: dart.fnType(dart.void, []),
  [S$1.$forward]: dart.fnType(dart.void, []),
  go: dart.fnType(dart.void, [core.int]),
  [S$1.$go]: dart.fnType(dart.void, [core.int])
}));
dart.setLibraryUri(html$._HistoryCrossFrame, I[148]);
dart.setFieldSignature(html$._HistoryCrossFrame, () => ({
  __proto__: dart.getFields(html$._HistoryCrossFrame.__proto__),
  [S$3._history]: dart.fieldType(dart.dynamic)
}));
dart.defineExtensionMethods(html$._HistoryCrossFrame, ['back', 'forward', 'go']);
html$.Platform = class Platform extends core.Object {};
(html$.Platform.new = function() {
  ;
}).prototype = html$.Platform.prototype;
dart.addTypeTests(html$.Platform);
dart.addTypeCaches(html$.Platform);
dart.setLibraryUri(html$.Platform, I[148]);
dart.defineLazy(html$.Platform, {
  /*html$.Platform.supportsTypedData*/get supportsTypedData() {
    return !!window.ArrayBuffer;
  },
  /*html$.Platform.supportsSimd*/get supportsSimd() {
    return false;
  }
}, false);
html$.ElementUpgrader = class ElementUpgrader extends core.Object {};
(html$.ElementUpgrader.new = function() {
  ;
}).prototype = html$.ElementUpgrader.prototype;
dart.addTypeTests(html$.ElementUpgrader);
dart.addTypeCaches(html$.ElementUpgrader);
dart.setLibraryUri(html$.ElementUpgrader, I[148]);
html$.NodeValidator = class NodeValidator extends core.Object {
  static new(opts) {
    let uriPolicy = opts && 'uriPolicy' in opts ? opts.uriPolicy : null;
    return new html$._Html5NodeValidator.new({uriPolicy: uriPolicy});
  }
  static throws(base) {
    if (base == null) dart.nullFailed(I[147], 40886, 46, "base");
    return new html$._ThrowsNodeValidator.new(base);
  }
};
(html$.NodeValidator[dart.mixinNew] = function() {
}).prototype = html$.NodeValidator.prototype;
dart.addTypeTests(html$.NodeValidator);
dart.addTypeCaches(html$.NodeValidator);
dart.setLibraryUri(html$.NodeValidator, I[148]);
html$.NodeTreeSanitizer = class NodeTreeSanitizer extends core.Object {
  static new(validator) {
    if (validator == null) dart.nullFailed(I[147], 40918, 43, "validator");
    return new html$._ValidatingTreeSanitizer.new(validator);
  }
};
(html$.NodeTreeSanitizer[dart.mixinNew] = function() {
}).prototype = html$.NodeTreeSanitizer.prototype;
dart.addTypeTests(html$.NodeTreeSanitizer);
dart.addTypeCaches(html$.NodeTreeSanitizer);
dart.setLibraryUri(html$.NodeTreeSanitizer, I[148]);
dart.defineLazy(html$.NodeTreeSanitizer, {
  /*html$.NodeTreeSanitizer.trusted*/get trusted() {
    return C[416] || CT.C416;
  }
}, false);
html$._TrustedHtmlTreeSanitizer = class _TrustedHtmlTreeSanitizer extends core.Object {
  sanitizeTree(node) {
    if (node == null) dart.nullFailed(I[147], 40946, 21, "node");
  }
};
(html$._TrustedHtmlTreeSanitizer.new = function() {
  ;
}).prototype = html$._TrustedHtmlTreeSanitizer.prototype;
dart.addTypeTests(html$._TrustedHtmlTreeSanitizer);
dart.addTypeCaches(html$._TrustedHtmlTreeSanitizer);
html$._TrustedHtmlTreeSanitizer[dart.implements] = () => [html$.NodeTreeSanitizer];
dart.setMethodSignature(html$._TrustedHtmlTreeSanitizer, () => ({
  __proto__: dart.getMethods(html$._TrustedHtmlTreeSanitizer.__proto__),
  sanitizeTree: dart.fnType(dart.void, [html$.Node])
}));
dart.setLibraryUri(html$._TrustedHtmlTreeSanitizer, I[148]);
html$.UriPolicy = class UriPolicy extends core.Object {
  static new() {
    return new html$._SameOriginUriPolicy.new();
  }
};
(html$.UriPolicy[dart.mixinNew] = function() {
}).prototype = html$.UriPolicy.prototype;
dart.addTypeTests(html$.UriPolicy);
dart.addTypeCaches(html$.UriPolicy);
dart.setLibraryUri(html$.UriPolicy, I[148]);
html$._SameOriginUriPolicy = class _SameOriginUriPolicy extends core.Object {
  allowsUri(uri) {
    if (uri == null) dart.nullFailed(I[147], 40982, 25, "uri");
    this[S$3._hiddenAnchor].href = uri;
    return this[S$3._hiddenAnchor].hostname == this[S$3._loc].hostname && this[S$3._hiddenAnchor].port == this[S$3._loc].port && this[S$3._hiddenAnchor].protocol == this[S$3._loc].protocol || this[S$3._hiddenAnchor].hostname === "" && this[S$3._hiddenAnchor].port === "" && (this[S$3._hiddenAnchor].protocol === ":" || this[S$3._hiddenAnchor].protocol === "");
  }
};
(html$._SameOriginUriPolicy.new = function() {
  this[S$3._hiddenAnchor] = html$.AnchorElement.new();
  this[S$3._loc] = html$.window[S$0.$location];
  ;
}).prototype = html$._SameOriginUriPolicy.prototype;
dart.addTypeTests(html$._SameOriginUriPolicy);
dart.addTypeCaches(html$._SameOriginUriPolicy);
html$._SameOriginUriPolicy[dart.implements] = () => [html$.UriPolicy];
dart.setMethodSignature(html$._SameOriginUriPolicy, () => ({
  __proto__: dart.getMethods(html$._SameOriginUriPolicy.__proto__),
  allowsUri: dart.fnType(core.bool, [core.String])
}));
dart.setLibraryUri(html$._SameOriginUriPolicy, I[148]);
dart.setFieldSignature(html$._SameOriginUriPolicy, () => ({
  __proto__: dart.getFields(html$._SameOriginUriPolicy.__proto__),
  [S$3._hiddenAnchor]: dart.finalFieldType(html$.AnchorElement),
  [S$3._loc]: dart.finalFieldType(html$.Location)
}));
html$._ThrowsNodeValidator = class _ThrowsNodeValidator extends core.Object {
  allowsElement(element) {
    if (element == null) dart.nullFailed(I[147], 40999, 30, "element");
    if (!dart.test(this.validator.allowsElement(element))) {
      dart.throw(new core.ArgumentError.new(html$.Element._safeTagName(element)));
    }
    return true;
  }
  allowsAttribute(element, attributeName, value) {
    if (element == null) dart.nullFailed(I[147], 41006, 32, "element");
    if (attributeName == null) dart.nullFailed(I[147], 41006, 48, "attributeName");
    if (value == null) dart.nullFailed(I[147], 41006, 70, "value");
    if (!dart.test(this.validator.allowsAttribute(element, attributeName, value))) {
      dart.throw(new core.ArgumentError.new(dart.str(html$.Element._safeTagName(element)) + "[" + dart.str(attributeName) + "=\"" + dart.str(value) + "\"]"));
    }
    return true;
  }
};
(html$._ThrowsNodeValidator.new = function(validator) {
  if (validator == null) dart.nullFailed(I[147], 40997, 29, "validator");
  this.validator = validator;
}).prototype = html$._ThrowsNodeValidator.prototype;
dart.addTypeTests(html$._ThrowsNodeValidator);
dart.addTypeCaches(html$._ThrowsNodeValidator);
html$._ThrowsNodeValidator[dart.implements] = () => [html$.NodeValidator];
dart.setMethodSignature(html$._ThrowsNodeValidator, () => ({
  __proto__: dart.getMethods(html$._ThrowsNodeValidator.__proto__),
  allowsElement: dart.fnType(core.bool, [html$.Element]),
  allowsAttribute: dart.fnType(core.bool, [html$.Element, core.String, core.String])
}));
dart.setLibraryUri(html$._ThrowsNodeValidator, I[148]);
dart.setFieldSignature(html$._ThrowsNodeValidator, () => ({
  __proto__: dart.getFields(html$._ThrowsNodeValidator.__proto__),
  validator: dart.finalFieldType(html$.NodeValidator)
}));
html$._ValidatingTreeSanitizer = class _ValidatingTreeSanitizer extends core.Object {
  sanitizeTree(node) {
    if (node == null) dart.nullFailed(I[147], 41026, 26, "node");
    const walk = (node, parent) => {
      if (node == null) dart.nullFailed(I[147], 41027, 20, "node");
      this.sanitizeNode(node, parent);
      let child = node.lastChild;
      while (child != null) {
        let nextChild = null;
        try {
          nextChild = child[S$.$previousNode];
          if (nextChild != null && !dart.equals(nextChild[S.$nextNode], child)) {
            dart.throw(new core.StateError.new("Corrupt HTML"));
          }
        } catch (e$) {
          let e = dart.getThrown(e$);
          if (core.Object.is(e)) {
            this[S$3._removeNode](child, node);
            child = null;
            nextChild = node.lastChild;
          } else
            throw e$;
        }
        if (child != null) walk(child, node);
        child = nextChild;
      }
    };
    dart.fn(walk, T$0.NodeAndNodeNTovoid());
    let previousTreeModifications = null;
    do {
      previousTreeModifications = this.numTreeModifications;
      walk(node, null);
    } while (!dart.equals(previousTreeModifications, this.numTreeModifications));
  }
  [S$3._removeNode](node, parent) {
    if (node == null) dart.nullFailed(I[147], 41063, 25, "node");
    this.numTreeModifications = dart.notNull(this.numTreeModifications) + 1;
    if (parent == null || !dart.equals(parent, node.parentNode)) {
      node[$remove]();
    } else {
      parent[S$._removeChild](node);
    }
  }
  [S$3._sanitizeUntrustedElement](element, parent) {
    let corrupted = true;
    let attrs = null;
    let isAttr = null;
    try {
      attrs = dart.dload(element, 'attributes');
      isAttr = dart.dsend(attrs, '_get', ["is"]);
      let corruptedTest1 = html$.Element._hasCorruptedAttributes(html$.Element.as(element));
      corrupted = dart.test(corruptedTest1) ? true : html$.Element._hasCorruptedAttributesAdditionalCheck(html$.Element.as(element));
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
    let elementText = "element unprintable";
    try {
      elementText = dart.toString(element);
    } catch (e$0) {
      let e = dart.getThrown(e$0);
      if (core.Object.is(e)) {
      } else
        throw e$0;
    }
    try {
      let elementTagName = html$.Element._safeTagName(element);
      this[S$3._sanitizeElement](html$.Element.as(element), parent, corrupted, elementText, elementTagName, core.Map.as(attrs), T$.StringN().as(isAttr));
    } catch (e$1) {
      let ex = dart.getThrown(e$1);
      if (core.ArgumentError.is(ex)) {
        dart.rethrow(e$1);
      } else if (core.Object.is(ex)) {
        let e = ex;
        this[S$3._removeNode](html$.Node.as(element), parent);
        html$.window[S$2.$console].warn("Removing corrupted element " + dart.str(elementText));
      } else
        throw e$1;
    }
  }
  [S$3._sanitizeElement](element, parent, corrupted, text, tag, attrs, isAttr) {
    if (element == null) dart.nullFailed(I[147], 41125, 33, "element");
    if (corrupted == null) dart.nullFailed(I[147], 41125, 61, "corrupted");
    if (text == null) dart.nullFailed(I[147], 41126, 14, "text");
    if (tag == null) dart.nullFailed(I[147], 41126, 27, "tag");
    if (attrs == null) dart.nullFailed(I[147], 41126, 36, "attrs");
    if (false !== corrupted) {
      this[S$3._removeNode](element, parent);
      html$.window[S$2.$console].warn("Removing element due to corrupted attributes on <" + dart.str(text) + ">");
      return;
    }
    if (!dart.test(this.validator.allowsElement(element))) {
      this[S$3._removeNode](element, parent);
      html$.window[S$2.$console].warn("Removing disallowed element <" + dart.str(tag) + "> from " + dart.str(parent));
      return;
    }
    if (isAttr != null) {
      if (!dart.test(this.validator.allowsAttribute(element, "is", isAttr))) {
        this[S$3._removeNode](element, parent);
        html$.window[S$2.$console].warn("Removing disallowed type extension " + "<" + dart.str(tag) + " is=\"" + dart.str(isAttr) + "\">");
        return;
      }
    }
    let keys = attrs[$keys][$toList]();
    for (let i = dart.notNull(attrs[$length]) - 1; i >= 0; i = i - 1) {
      let name = keys[$_get](i);
      if (!dart.test(this.validator.allowsAttribute(element, core.String.as(dart.dsend(name, 'toLowerCase', [])), core.String.as(attrs[$_get](name))))) {
        html$.window[S$2.$console].warn("Removing disallowed attribute " + "<" + dart.str(tag) + " " + dart.str(name) + "=\"" + dart.str(attrs[$_get](name)) + "\">");
        attrs[$remove](name);
      }
    }
    if (html$.TemplateElement.is(element)) {
      let template = element;
      this.sanitizeTree(dart.nullCheck(template.content));
    }
  }
  sanitizeNode(node, parent) {
    if (node == null) dart.nullFailed(I[147], 41168, 26, "node");
    switch (node.nodeType) {
      case 1:
      {
        this[S$3._sanitizeUntrustedElement](node, parent);
        break;
      }
      case 8:
      case 11:
      case 3:
      case 4:
      {
        break;
      }
      default:
      {
        this[S$3._removeNode](node, parent);
      }
    }
  }
};
(html$._ValidatingTreeSanitizer.new = function(validator) {
  if (validator == null) dart.nullFailed(I[147], 41024, 33, "validator");
  this.numTreeModifications = 0;
  this.validator = validator;
}).prototype = html$._ValidatingTreeSanitizer.prototype;
dart.addTypeTests(html$._ValidatingTreeSanitizer);
dart.addTypeCaches(html$._ValidatingTreeSanitizer);
html$._ValidatingTreeSanitizer[dart.implements] = () => [html$.NodeTreeSanitizer];
dart.setMethodSignature(html$._ValidatingTreeSanitizer, () => ({
  __proto__: dart.getMethods(html$._ValidatingTreeSanitizer.__proto__),
  sanitizeTree: dart.fnType(dart.void, [html$.Node]),
  [S$3._removeNode]: dart.fnType(dart.void, [html$.Node, dart.nullable(html$.Node)]),
  [S$3._sanitizeUntrustedElement]: dart.fnType(dart.void, [dart.dynamic, dart.nullable(html$.Node)]),
  [S$3._sanitizeElement]: dart.fnType(dart.void, [html$.Element, dart.nullable(html$.Node), core.bool, core.String, core.String, core.Map, dart.nullable(core.String)]),
  sanitizeNode: dart.fnType(dart.void, [html$.Node, dart.nullable(html$.Node)])
}));
dart.setLibraryUri(html$._ValidatingTreeSanitizer, I[148]);
dart.setFieldSignature(html$._ValidatingTreeSanitizer, () => ({
  __proto__: dart.getFields(html$._ValidatingTreeSanitizer.__proto__),
  validator: dart.fieldType(html$.NodeValidator),
  numTreeModifications: dart.fieldType(core.int)
}));
html$.promiseToFutureAsMap = function promiseToFutureAsMap(jsPromise) {
  return js_util.promiseToFuture(dart.dynamic, core.Object.as(jsPromise)).then(T$0.MapNOfString$dynamic(), C[417] || CT.C417);
};
html$._matchesWithAncestors = function _matchesWithAncestors(event, selector) {
  if (event == null) dart.nullFailed(I[147], 37214, 34, "event");
  if (selector == null) dart.nullFailed(I[147], 37214, 48, "selector");
  let target = event[S.$target];
  return html$.Element.is(target) ? target[S.$matchesWithAncestors](selector) : false;
};
html$._convertNativeToDart_Window = function _convertNativeToDart_Window(win) {
  if (win == null) return null;
  return html$._DOMWindowCrossFrame._createSafe(win);
};
html$._convertNativeToDart_EventTarget = function _convertNativeToDart_EventTarget(e) {
  if (e == null) {
    return null;
  }
  if ("postMessage" in e) {
    let window = html$._DOMWindowCrossFrame._createSafe(e);
    if (html$.EventTarget.is(window)) {
      return window;
    }
    return null;
  } else
    return T$0.EventTargetN().as(e);
};
html$._convertDartToNative_EventTarget = function _convertDartToNative_EventTarget(e) {
  if (html$._DOMWindowCrossFrame.is(e)) {
    return T$0.EventTargetN().as(e[S$3._window]);
  } else {
    return T$0.EventTargetN().as(e);
  }
};
html$._convertNativeToDart_XHR_Response = function _convertNativeToDart_XHR_Response(o) {
  if (html$.Document.is(o)) {
    return o;
  }
  return html_common.convertNativeToDart_SerializedScriptValue(o);
};
html$._callConstructor = function _callConstructor(constructor, interceptor) {
  return dart.fn(receiver => {
    _js_helper.setNativeSubclassDispatchRecord(receiver, interceptor);
    receiver.constructor = receiver.__proto__.constructor;
    return constructor(receiver);
  }, T$.dynamicToObjectN());
};
html$._callAttached = function _callAttached(receiver) {
  return dart.dsend(receiver, 'attached', []);
};
html$._callDetached = function _callDetached(receiver) {
  return dart.dsend(receiver, 'detached', []);
};
html$._callAttributeChanged = function _callAttributeChanged(receiver, name, oldValue, newValue) {
  return dart.dsend(receiver, 'attributeChanged', [name, oldValue, newValue]);
};
html$._makeCallbackMethod = function _makeCallbackMethod(callback) {
  return (function(invokeCallback) {
    return function() {
      return invokeCallback(this);
    };
  })(_js_helper.convertDartClosureToJS(dart.dynamic, callback, 1));
};
html$._makeCallbackMethod3 = function _makeCallbackMethod3(callback) {
  return (function(invokeCallback) {
    return function(arg1, arg2, arg3) {
      return invokeCallback(this, arg1, arg2, arg3);
    };
  })(_js_helper.convertDartClosureToJS(dart.dynamic, callback, 4));
};
html$._checkExtendsNativeClassOrTemplate = function _checkExtendsNativeClassOrTemplate(element, extendsTag, baseClassName) {
  if (element == null) dart.nullFailed(I[147], 40159, 13, "element");
  if (extendsTag == null) dart.nullFailed(I[147], 40159, 29, "extendsTag");
  if (baseClassName == null) dart.nullFailed(I[147], 40159, 48, "baseClassName");
  if (!(element instanceof window[baseClassName]) && !(extendsTag === "template" && element instanceof window.HTMLUnknownElement)) {
    dart.throw(new core.UnsupportedError.new("extendsTag does not match base native class"));
  }
};
html$._registerCustomElement = function _registerCustomElement(context, document, tag, options = null) {
  if (tag == null) dart.nullFailed(I[147], 40168, 59, "tag");
  let extendsTagName = "";
  let type = null;
  if (options != null) {
    extendsTagName = T$.StringN().as(options[$_get]("extends"));
    type = T$0.TypeN().as(options[$_get]("prototype"));
  }
  let interceptorClass = _interceptors.findInterceptorConstructorForType(type);
  if (interceptorClass == null) {
    dart.throw(new core.ArgumentError.new(type));
  }
  let interceptor = interceptorClass.prototype;
  let constructor = _interceptors.findConstructorForNativeSubclassType(type, "created");
  if (constructor == null) {
    dart.throw(new core.ArgumentError.new(dart.str(type) + " has no constructor called 'created'"));
  }
  _interceptors.getNativeInterceptor(html$.Element.tag("article"));
  let baseClassName = core.String.as(_js_helper.findDispatchTagForInterceptorClass(interceptorClass));
  if (baseClassName == null) {
    dart.throw(new core.ArgumentError.new(type));
  }
  if (extendsTagName == null) {
    if (baseClassName !== "HTMLElement") {
      dart.throw(new core.UnsupportedError.new("Class must provide extendsTag if base " + "native class is not HtmlElement"));
    }
  } else {
    let element = dart.dsend(document, 'createElement', [extendsTagName]);
    html$._checkExtendsNativeClassOrTemplate(html$.Element.as(element), extendsTagName, baseClassName);
  }
  let baseConstructor = context[baseClassName];
  let properties = {};
  properties.createdCallback = {value: html$._makeCallbackMethod(html$._callConstructor(constructor, interceptor))};
  properties.attachedCallback = {value: html$._makeCallbackMethod(html$._callAttached)};
  properties.detachedCallback = {value: html$._makeCallbackMethod(html$._callDetached)};
  properties.attributeChangedCallback = {value: html$._makeCallbackMethod3(html$._callAttributeChanged)};
  let baseProto = baseConstructor.prototype;
  let proto = Object.create(baseProto, properties);
  _js_helper.setNativeSubclassDispatchRecord(proto, interceptor);
  let opts = {prototype: proto};
  if (extendsTagName != null) {
    opts.extends = extendsTagName;
  }
  return document.registerElement(tag, opts);
};
html$._initializeCustomElement = function _initializeCustomElement(e) {
  if (e == null) dart.nullFailed(I[147], 40254, 39, "e");
};
html$._wrapZone = function _wrapZone(T, callback) {
  if (dart.equals(async.Zone.current, async.Zone.root)) return callback;
  if (callback == null) return null;
  return async.Zone.current.bindUnaryCallbackGuarded(T, callback);
};
html$._wrapBinaryZone = function _wrapBinaryZone(T1, T2, callback) {
  if (dart.equals(async.Zone.current, async.Zone.root)) return callback;
  if (callback == null) return null;
  return async.Zone.current.bindBinaryCallbackGuarded(T1, T2, callback);
};
html$.querySelector = function querySelector(selectors) {
  if (selectors == null) dart.nullFailed(I[147], 40835, 31, "selectors");
  return html$.document.querySelector(selectors);
};
html$.querySelectorAll = function querySelectorAll(T, selectors) {
  if (selectors == null) dart.nullFailed(I[147], 40853, 59, "selectors");
  return html$.document[S.$querySelectorAll](T, selectors);
};
dart.copyProperties(html$, {
  get window() {
    return window;
  },
  get document() {
    return document;
  },
  get _workerSelf() {
    return self;
  }
});
dart.defineLazy(html$, {
  /*html$._HEIGHT*/get _HEIGHT() {
    return T$.JSArrayOfString().of(["top", "bottom"]);
  },
  /*html$._WIDTH*/get _WIDTH() {
    return T$.JSArrayOfString().of(["right", "left"]);
  },
  /*html$._CONTENT*/get _CONTENT() {
    return "content";
  },
  /*html$._PADDING*/get _PADDING() {
    return "padding";
  },
  /*html$._MARGIN*/get _MARGIN() {
    return "margin";
  }
}, false);
html_common._StructuredClone = class _StructuredClone extends core.Object {
  findSlot(value) {
    let length = this.values[$length];
    for (let i = 0; i < dart.notNull(length); i = i + 1) {
      if (core.identical(this.values[$_get](i), value)) return i;
    }
    this.values[$add](value);
    this.copies[$add](null);
    return length;
  }
  readSlot(i) {
    if (i == null) dart.nullFailed(I[151], 72, 16, "i");
    return this.copies[$_get](i);
  }
  writeSlot(i, x) {
    if (i == null) dart.nullFailed(I[151], 73, 17, "i");
    this.copies[$_set](i, x);
  }
  cleanupSlots() {
  }
  walk(e) {
    if (e == null) return e;
    if (typeof e == 'boolean') return e;
    if (typeof e == 'number') return e;
    if (typeof e == 'string') return e;
    if (core.DateTime.is(e)) {
      return html_common.convertDartToNative_DateTime(e);
    }
    if (core.RegExp.is(e)) {
      dart.throw(new core.UnimplementedError.new("structured clone of RegExp"));
    }
    if (html$.File.is(e)) return e;
    if (html$.Blob.is(e)) return e;
    if (html$.FileList.is(e)) return e;
    if (html$.ImageData.is(e)) return e;
    if (dart.test(this.cloneNotRequired(e))) return e;
    if (core.Map.is(e)) {
      let slot = this.findSlot(e);
      let copy = this.readSlot(slot);
      if (copy != null) return copy;
      copy = this.newJsMap();
      this.writeSlot(slot, copy);
      e[$forEach](dart.fn((key, value) => {
        this.putIntoMap(copy, key, this.walk(value));
      }, T$.dynamicAnddynamicTovoid()));
      return copy;
    }
    if (core.List.is(e)) {
      let slot = this.findSlot(e);
      let copy = this.readSlot(slot);
      if (copy != null) return copy;
      copy = this.copyList(e, slot);
      return copy;
    }
    if (_interceptors.JSObject.is(e)) {
      let slot = this.findSlot(e);
      let copy = this.readSlot(slot);
      if (copy != null) return copy;
      copy = this.newJsObject();
      this.writeSlot(slot, copy);
      this.forEachObjectKey(e, dart.fn((key, value) => {
        this.putIntoObject(copy, key, this.walk(value));
      }, T$.dynamicAnddynamicToNull()));
      return copy;
    }
    dart.throw(new core.UnimplementedError.new("structured clone of other type"));
  }
  copyList(e, slot) {
    if (e == null) dart.nullFailed(I[151], 156, 22, "e");
    if (slot == null) dart.nullFailed(I[151], 156, 29, "slot");
    let i = 0;
    let length = e[$length];
    let copy = this.newJsList(length);
    this.writeSlot(slot, copy);
    for (; i < dart.notNull(length); i = i + 1) {
      copy[$_set](i, this.walk(e[$_get](i)));
    }
    return copy;
  }
  convertDartToNative_PrepareForStructuredClone(value) {
    let copy = this.walk(value);
    this.cleanupSlots();
    return copy;
  }
};
(html_common._StructuredClone.new = function() {
  this.values = [];
  this.copies = [];
  ;
}).prototype = html_common._StructuredClone.prototype;
dart.addTypeTests(html_common._StructuredClone);
dart.addTypeCaches(html_common._StructuredClone);
dart.setMethodSignature(html_common._StructuredClone, () => ({
  __proto__: dart.getMethods(html_common._StructuredClone.__proto__),
  findSlot: dart.fnType(core.int, [dart.dynamic]),
  readSlot: dart.fnType(dart.dynamic, [core.int]),
  writeSlot: dart.fnType(dart.dynamic, [core.int, dart.dynamic]),
  cleanupSlots: dart.fnType(dart.dynamic, []),
  walk: dart.fnType(dart.dynamic, [dart.dynamic]),
  copyList: dart.fnType(core.List, [core.List, core.int]),
  convertDartToNative_PrepareForStructuredClone: dart.fnType(dart.dynamic, [dart.dynamic])
}));
dart.setLibraryUri(html_common._StructuredClone, I[150]);
dart.setFieldSignature(html_common._StructuredClone, () => ({
  __proto__: dart.getFields(html_common._StructuredClone.__proto__),
  values: dart.fieldType(core.List),
  copies: dart.fieldType(core.List)
}));
html_common._AcceptStructuredClone = class _AcceptStructuredClone extends core.Object {
  findSlot(value) {
    let length = this.values[$length];
    for (let i = 0; i < dart.notNull(length); i = i + 1) {
      if (dart.test(this.identicalInJs(this.values[$_get](i), value))) return i;
    }
    this.values[$add](value);
    this.copies[$add](null);
    return length;
  }
  readSlot(i) {
    if (i == null) dart.nullFailed(I[151], 211, 16, "i");
    return this.copies[$_get](i);
  }
  writeSlot(i, x) {
    if (i == null) dart.nullFailed(I[151], 212, 17, "i");
    this.copies[$_set](i, x);
  }
  walk(e) {
    if (e == null) return e;
    if (typeof e == 'boolean') return e;
    if (typeof e == 'number') return e;
    if (typeof e == 'string') return e;
    if (dart.test(html_common.isJavaScriptDate(e))) {
      return html_common.convertNativeToDart_DateTime(e);
    }
    if (dart.test(html_common.isJavaScriptRegExp(e))) {
      dart.throw(new core.UnimplementedError.new("structured clone of RegExp"));
    }
    if (dart.test(html_common.isJavaScriptPromise(e))) {
      return js_util.promiseToFuture(dart.dynamic, core.Object.as(e));
    }
    if (dart.test(html_common.isJavaScriptSimpleObject(e))) {
      let slot = this.findSlot(e);
      let copy = this.readSlot(slot);
      if (copy != null) return copy;
      copy = new _js_helper.LinkedMap.new();
      this.writeSlot(slot, copy);
      this.forEachJsField(e, dart.fn((key, value) => {
        let t248, t247, t246;
        t246 = copy;
        t247 = key;
        t248 = this.walk(value);
        dart.dsend(t246, '_set', [t247, t248]);
        return t248;
      }, T$0.dynamicAnddynamicTodynamic()));
      return copy;
    }
    if (dart.test(html_common.isJavaScriptArray(e))) {
      let l = e;
      let slot = this.findSlot(l);
      let copy = this.readSlot(slot);
      if (copy != null) return copy;
      let length = l[$length];
      copy = dart.test(this.mustCopy) ? this.newDartList(length) : l;
      this.writeSlot(slot, copy);
      for (let i = 0; i < dart.notNull(length); i = i + 1) {
        copy[$_set](i, this.walk(l[$_get](i)));
      }
      return copy;
    }
    return e;
  }
  convertNativeToDart_AcceptStructuredClone(object, opts) {
    let mustCopy = opts && 'mustCopy' in opts ? opts.mustCopy : false;
    this.mustCopy = core.bool.as(mustCopy);
    let copy = this.walk(object);
    return copy;
  }
};
(html_common._AcceptStructuredClone.new = function() {
  this.values = [];
  this.copies = [];
  this.mustCopy = false;
  ;
}).prototype = html_common._AcceptStructuredClone.prototype;
dart.addTypeTests(html_common._AcceptStructuredClone);
dart.addTypeCaches(html_common._AcceptStructuredClone);
dart.setMethodSignature(html_common._AcceptStructuredClone, () => ({
  __proto__: dart.getMethods(html_common._AcceptStructuredClone.__proto__),
  findSlot: dart.fnType(core.int, [dart.dynamic]),
  readSlot: dart.fnType(dart.dynamic, [core.int]),
  writeSlot: dart.fnType(dart.dynamic, [core.int, dart.dynamic]),
  walk: dart.fnType(dart.dynamic, [dart.dynamic]),
  convertNativeToDart_AcceptStructuredClone: dart.fnType(dart.dynamic, [dart.dynamic], {mustCopy: dart.dynamic}, {})
}));
dart.setLibraryUri(html_common._AcceptStructuredClone, I[150]);
dart.setFieldSignature(html_common._AcceptStructuredClone, () => ({
  __proto__: dart.getFields(html_common._AcceptStructuredClone.__proto__),
  values: dart.fieldType(core.List),
  copies: dart.fieldType(core.List),
  mustCopy: dart.fieldType(core.bool)
}));
html_common.ContextAttributes = class ContextAttributes extends core.Object {
  get alpha() {
    return this[S$3.alpha];
  }
  set alpha(value) {
    this[S$3.alpha] = value;
  }
  get antialias() {
    return this[S$3.antialias];
  }
  set antialias(value) {
    this[S$3.antialias] = value;
  }
  get depth() {
    return this[S$3.depth];
  }
  set depth(value) {
    this[S$3.depth] = value;
  }
  get premultipliedAlpha() {
    return this[S$3.premultipliedAlpha];
  }
  set premultipliedAlpha(value) {
    this[S$3.premultipliedAlpha] = value;
  }
  get preserveDrawingBuffer() {
    return this[S$3.preserveDrawingBuffer];
  }
  set preserveDrawingBuffer(value) {
    this[S$3.preserveDrawingBuffer] = value;
  }
  get stencil() {
    return this[S$3.stencil];
  }
  set stencil(value) {
    this[S$3.stencil] = value;
  }
  get failIfMajorPerformanceCaveat() {
    return this[S$3.failIfMajorPerformanceCaveat];
  }
  set failIfMajorPerformanceCaveat(value) {
    this[S$3.failIfMajorPerformanceCaveat] = value;
  }
};
(html_common.ContextAttributes.new = function(alpha, antialias, depth, failIfMajorPerformanceCaveat, premultipliedAlpha, preserveDrawingBuffer, stencil) {
  if (alpha == null) dart.nullFailed(I[151], 298, 12, "alpha");
  if (antialias == null) dart.nullFailed(I[151], 299, 12, "antialias");
  if (depth == null) dart.nullFailed(I[151], 300, 12, "depth");
  if (failIfMajorPerformanceCaveat == null) dart.nullFailed(I[151], 301, 12, "failIfMajorPerformanceCaveat");
  if (premultipliedAlpha == null) dart.nullFailed(I[151], 302, 12, "premultipliedAlpha");
  if (preserveDrawingBuffer == null) dart.nullFailed(I[151], 303, 12, "preserveDrawingBuffer");
  if (stencil == null) dart.nullFailed(I[151], 304, 12, "stencil");
  this[S$3.alpha] = alpha;
  this[S$3.antialias] = antialias;
  this[S$3.depth] = depth;
  this[S$3.failIfMajorPerformanceCaveat] = failIfMajorPerformanceCaveat;
  this[S$3.premultipliedAlpha] = premultipliedAlpha;
  this[S$3.preserveDrawingBuffer] = preserveDrawingBuffer;
  this[S$3.stencil] = stencil;
  ;
}).prototype = html_common.ContextAttributes.prototype;
dart.addTypeTests(html_common.ContextAttributes);
dart.addTypeCaches(html_common.ContextAttributes);
dart.setLibraryUri(html_common.ContextAttributes, I[150]);
dart.setFieldSignature(html_common.ContextAttributes, () => ({
  __proto__: dart.getFields(html_common.ContextAttributes.__proto__),
  alpha: dart.fieldType(core.bool),
  antialias: dart.fieldType(core.bool),
  depth: dart.fieldType(core.bool),
  premultipliedAlpha: dart.fieldType(core.bool),
  preserveDrawingBuffer: dart.fieldType(core.bool),
  stencil: dart.fieldType(core.bool),
  failIfMajorPerformanceCaveat: dart.fieldType(core.bool)
}));
html_common._TypedImageData = class _TypedImageData extends core.Object {
  get data() {
    return this[S$3.data$1];
  }
  set data(value) {
    super.data = value;
  }
  get height() {
    return this[S$3.height$1];
  }
  set height(value) {
    super.height = value;
  }
  get width() {
    return this[S$3.width$1];
  }
  set width(value) {
    super.width = value;
  }
};
(html_common._TypedImageData.new = function(data, height, width) {
  if (data == null) dart.nullFailed(I[151], 330, 24, "data");
  if (height == null) dart.nullFailed(I[151], 330, 35, "height");
  if (width == null) dart.nullFailed(I[151], 330, 48, "width");
  this[S$3.data$1] = data;
  this[S$3.height$1] = height;
  this[S$3.width$1] = width;
  ;
}).prototype = html_common._TypedImageData.prototype;
dart.addTypeTests(html_common._TypedImageData);
dart.addTypeCaches(html_common._TypedImageData);
html_common._TypedImageData[dart.implements] = () => [html$.ImageData];
dart.setLibraryUri(html_common._TypedImageData, I[150]);
dart.setFieldSignature(html_common._TypedImageData, () => ({
  __proto__: dart.getFields(html_common._TypedImageData.__proto__),
  data: dart.finalFieldType(typed_data.Uint8ClampedList),
  height: dart.finalFieldType(core.int),
  width: dart.finalFieldType(core.int)
}));
dart.defineExtensionAccessors(html_common._TypedImageData, ['data', 'height', 'width']);
html_common._StructuredCloneDart2Js = class _StructuredCloneDart2Js extends html_common._StructuredClone {
  newJsObject() {
    return {};
  }
  forEachObjectKey(object, action) {
    if (action == null) dart.nullFailed(I[152], 103, 33, "action");
    for (let key of Object.keys(object)) {
      action(key, object[key]);
    }
  }
  putIntoObject(object, key, value) {
    return object[key] = value;
  }
  newJsMap() {
    return {};
  }
  putIntoMap(map, key, value) {
    return map[key] = value;
  }
  newJsList(length) {
    return new Array(length);
  }
  cloneNotRequired(e) {
    return _native_typed_data.NativeByteBuffer.is(e) || _native_typed_data.NativeTypedData.is(e) || html$.MessagePort.is(e);
  }
};
(html_common._StructuredCloneDart2Js.new = function() {
  html_common._StructuredCloneDart2Js.__proto__.new.call(this);
  ;
}).prototype = html_common._StructuredCloneDart2Js.prototype;
dart.addTypeTests(html_common._StructuredCloneDart2Js);
dart.addTypeCaches(html_common._StructuredCloneDart2Js);
dart.setMethodSignature(html_common._StructuredCloneDart2Js, () => ({
  __proto__: dart.getMethods(html_common._StructuredCloneDart2Js.__proto__),
  newJsObject: dart.fnType(_interceptors.JSObject, []),
  forEachObjectKey: dart.fnType(dart.void, [dart.dynamic, dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic])]),
  putIntoObject: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
  newJsMap: dart.fnType(dart.dynamic, []),
  putIntoMap: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]),
  newJsList: dart.fnType(core.List, [dart.dynamic]),
  cloneNotRequired: dart.fnType(core.bool, [dart.dynamic])
}));
dart.setLibraryUri(html_common._StructuredCloneDart2Js, I[150]);
html_common._AcceptStructuredCloneDart2Js = class _AcceptStructuredCloneDart2Js extends html_common._AcceptStructuredClone {
  newJsList(length) {
    return new Array(length);
  }
  newDartList(length) {
    return this.newJsList(length);
  }
  identicalInJs(a, b) {
    return core.identical(a, b);
  }
  forEachJsField(object, action) {
    if (action == null) dart.nullFailed(I[152], 125, 31, "action");
    for (let key of Object.keys(object)) {
      action(key, object[key]);
    }
  }
};
(html_common._AcceptStructuredCloneDart2Js.new = function() {
  html_common._AcceptStructuredCloneDart2Js.__proto__.new.call(this);
  ;
}).prototype = html_common._AcceptStructuredCloneDart2Js.prototype;
dart.addTypeTests(html_common._AcceptStructuredCloneDart2Js);
dart.addTypeCaches(html_common._AcceptStructuredCloneDart2Js);
dart.setMethodSignature(html_common._AcceptStructuredCloneDart2Js, () => ({
  __proto__: dart.getMethods(html_common._AcceptStructuredCloneDart2Js.__proto__),
  newJsList: dart.fnType(core.List, [dart.dynamic]),
  newDartList: dart.fnType(core.List, [dart.dynamic]),
  identicalInJs: dart.fnType(core.bool, [dart.dynamic, dart.dynamic]),
  forEachJsField: dart.fnType(dart.void, [dart.dynamic, dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic])])
}));
dart.setLibraryUri(html_common._AcceptStructuredCloneDart2Js, I[150]);
html_common.Device = class Device extends core.Object {
  static get userAgent() {
    return html$.window.navigator.userAgent;
  }
  static isEventTypeSupported(eventType) {
    if (eventType == null) dart.nullFailed(I[153], 52, 43, "eventType");
    try {
      let e = html$.Event.eventType(eventType, "");
      return html$.Event.is(e);
    } catch (e$) {
      let _ = dart.getThrown(e$);
      if (core.Object.is(_)) {
      } else
        throw e$;
    }
    return false;
  }
};
(html_common.Device.new = function() {
  ;
}).prototype = html_common.Device.prototype;
dart.addTypeTests(html_common.Device);
dart.addTypeCaches(html_common.Device);
dart.setLibraryUri(html_common.Device, I[150]);
dart.defineLazy(html_common.Device, {
  /*html_common.Device.isOpera*/get isOpera() {
    return html_common.Device.userAgent[$contains]("Opera", 0);
  },
  /*html_common.Device.isIE*/get isIE() {
    return !dart.test(html_common.Device.isOpera) && html_common.Device.userAgent[$contains]("Trident/", 0);
  },
  /*html_common.Device.isFirefox*/get isFirefox() {
    return html_common.Device.userAgent[$contains]("Firefox", 0);
  },
  /*html_common.Device.isWebKit*/get isWebKit() {
    return !dart.test(html_common.Device.isOpera) && html_common.Device.userAgent[$contains]("WebKit", 0);
  },
  /*html_common.Device.cssPrefix*/get cssPrefix() {
    return "-" + dart.str(html_common.Device.propertyPrefix) + "-";
  },
  /*html_common.Device.propertyPrefix*/get propertyPrefix() {
    return dart.test(html_common.Device.isFirefox) ? "moz" : dart.test(html_common.Device.isIE) ? "ms" : dart.test(html_common.Device.isOpera) ? "o" : "webkit";
  }
}, false);
html_common.FilteredElementList = class FilteredElementList extends collection.ListBase$(html$.Element) {
  get [S$3._iterable$2]() {
    return this[S$3._childNodes][$where](dart.fn(n => {
      if (n == null) dart.nullFailed(I[154], 30, 26, "n");
      return html$.Element.is(n);
    }, T$0.NodeTobool()))[$map](html$.Element, dart.fn(n => {
      if (n == null) dart.nullFailed(I[154], 30, 60, "n");
      return html$.Element.as(n);
    }, T$0.NodeToElement()));
  }
  get [S$3._filtered]() {
    return T$0.ListOfElement().from(this[S$3._iterable$2], {growable: false});
  }
  forEach(f) {
    if (f == null) dart.nullFailed(I[154], 34, 21, "f");
    this[S$3._filtered][$forEach](f);
  }
  _set(index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[154], 40, 25, "index");
    html$.Element.as(value);
    if (value == null) dart.nullFailed(I[154], 40, 40, "value");
    this._get(index)[S$.$replaceWith](value);
    return value$;
  }
  set length(newLength) {
    if (newLength == null) dart.nullFailed(I[154], 44, 18, "newLength");
    let len = this.length;
    if (dart.notNull(newLength) >= dart.notNull(len)) {
      return;
    } else if (dart.notNull(newLength) < 0) {
      dart.throw(new core.ArgumentError.new("Invalid list length"));
    }
    this.removeRange(newLength, len);
  }
  add(value) {
    html$.Element.as(value);
    if (value == null) dart.nullFailed(I[154], 55, 20, "value");
    this[S$3._childNodes][$add](value);
  }
  addAll(iterable) {
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[154], 59, 33, "iterable");
    for (let element of iterable) {
      this.add(element);
    }
  }
  contains(needle) {
    if (!html$.Element.is(needle)) return false;
    let element = needle;
    return dart.equals(element.parentNode, this[S$3._node]);
  }
  get reversed() {
    return this[S$3._filtered][$reversed];
  }
  sort(compare = null) {
    dart.throw(new core.UnsupportedError.new("Cannot sort filtered list"));
  }
  setRange(start, end, iterable, skipCount = 0) {
    if (start == null) dart.nullFailed(I[154], 77, 21, "start");
    if (end == null) dart.nullFailed(I[154], 77, 32, "end");
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[154], 77, 55, "iterable");
    if (skipCount == null) dart.nullFailed(I[154], 78, 12, "skipCount");
    dart.throw(new core.UnsupportedError.new("Cannot setRange on filtered list"));
  }
  fillRange(start, end, fillValue = null) {
    if (start == null) dart.nullFailed(I[154], 82, 22, "start");
    if (end == null) dart.nullFailed(I[154], 82, 33, "end");
    T$0.ElementN().as(fillValue);
    dart.throw(new core.UnsupportedError.new("Cannot fillRange on filtered list"));
  }
  replaceRange(start, end, iterable) {
    if (start == null) dart.nullFailed(I[154], 86, 25, "start");
    if (end == null) dart.nullFailed(I[154], 86, 36, "end");
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[154], 86, 59, "iterable");
    dart.throw(new core.UnsupportedError.new("Cannot replaceRange on filtered list"));
  }
  removeRange(start, end) {
    if (start == null) dart.nullFailed(I[154], 90, 24, "start");
    if (end == null) dart.nullFailed(I[154], 90, 35, "end");
    core.List.from(this[S$3._iterable$2][$skip](start)[$take](dart.notNull(end) - dart.notNull(start)))[$forEach](dart.fn(el => dart.dsend(el, 'remove', []), T$.dynamicTovoid()));
  }
  clear() {
    this[S$3._childNodes][$clear]();
  }
  removeLast() {
    let result = this[S$3._iterable$2][$last];
    if (result != null) {
      result[$remove]();
    }
    return result;
  }
  insert(index, value) {
    if (index == null) dart.nullFailed(I[154], 109, 19, "index");
    html$.Element.as(value);
    if (value == null) dart.nullFailed(I[154], 109, 34, "value");
    if (index == this.length) {
      this.add(value);
    } else {
      let element = this[S$3._iterable$2][$elementAt](index);
      dart.nullCheck(element.parentNode).insertBefore(value, element);
    }
  }
  insertAll(index, iterable) {
    if (index == null) dart.nullFailed(I[154], 118, 22, "index");
    T$0.IterableOfElement().as(iterable);
    if (iterable == null) dart.nullFailed(I[154], 118, 47, "iterable");
    if (index == this.length) {
      this.addAll(iterable);
    } else {
      let element = this[S$3._iterable$2][$elementAt](index);
      dart.nullCheck(element.parentNode)[S$.$insertAllBefore](iterable, element);
    }
  }
  removeAt(index) {
    if (index == null) dart.nullFailed(I[154], 127, 24, "index");
    let result = this._get(index);
    result[$remove]();
    return result;
  }
  remove(element) {
    if (!html$.Element.is(element)) return false;
    if (dart.test(this.contains(element))) {
      element[$remove]();
      return true;
    } else {
      return false;
    }
  }
  get length() {
    return this[S$3._iterable$2][$length];
  }
  _get(index) {
    if (index == null) dart.nullFailed(I[154], 144, 27, "index");
    return this[S$3._iterable$2][$elementAt](index);
  }
  get iterator() {
    return this[S$3._filtered][$iterator];
  }
  get rawList() {
    return this[S$3._node].childNodes;
  }
};
(html_common.FilteredElementList.new = function(node) {
  if (node == null) dart.nullFailed(I[154], 23, 28, "node");
  this[S$3._childNodes] = node[S.$nodes];
  this[S$3._node] = node;
  ;
}).prototype = html_common.FilteredElementList.prototype;
dart.addTypeTests(html_common.FilteredElementList);
dart.addTypeCaches(html_common.FilteredElementList);
html_common.FilteredElementList[dart.implements] = () => [html_common.NodeListWrapper];
dart.setMethodSignature(html_common.FilteredElementList, () => ({
  __proto__: dart.getMethods(html_common.FilteredElementList.__proto__),
  _set: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  _get: dart.fnType(html$.Element, [core.int]),
  [$_get]: dart.fnType(html$.Element, [core.int])
}));
dart.setGetterSignature(html_common.FilteredElementList, () => ({
  __proto__: dart.getGetters(html_common.FilteredElementList.__proto__),
  [S$3._iterable$2]: core.Iterable$(html$.Element),
  [S$3._filtered]: core.List$(html$.Element),
  length: core.int,
  [$length]: core.int,
  rawList: core.List$(html$.Node)
}));
dart.setSetterSignature(html_common.FilteredElementList, () => ({
  __proto__: dart.getSetters(html_common.FilteredElementList.__proto__),
  length: core.int,
  [$length]: core.int
}));
dart.setLibraryUri(html_common.FilteredElementList, I[150]);
dart.setFieldSignature(html_common.FilteredElementList, () => ({
  __proto__: dart.getFields(html_common.FilteredElementList.__proto__),
  [S$3._node]: dart.finalFieldType(html$.Node),
  [S$3._childNodes]: dart.finalFieldType(core.List$(html$.Node))
}));
dart.defineExtensionMethods(html_common.FilteredElementList, [
  'forEach',
  '_set',
  'add',
  'addAll',
  'contains',
  'sort',
  'setRange',
  'fillRange',
  'replaceRange',
  'removeRange',
  'clear',
  'removeLast',
  'insert',
  'insertAll',
  'removeAt',
  'remove',
  '_get'
]);
dart.defineExtensionAccessors(html_common.FilteredElementList, ['length', 'reversed', 'iterator']);
html_common.Lists = class Lists extends core.Object {
  static indexOf(a, element, startIndex, endIndex) {
    if (a == null) dart.nullFailed(I[155], 13, 27, "a");
    if (element == null) dart.nullFailed(I[155], 13, 37, "element");
    if (startIndex == null) dart.nullFailed(I[155], 13, 50, "startIndex");
    if (endIndex == null) dart.nullFailed(I[155], 13, 66, "endIndex");
    if (dart.notNull(startIndex) >= dart.notNull(a[$length])) {
      return -1;
    }
    if (dart.notNull(startIndex) < 0) {
      startIndex = 0;
    }
    for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dart.notNull(i) + 1) {
      if (dart.equals(a[$_get](i), element)) {
        return i;
      }
    }
    return -1;
  }
  static lastIndexOf(a, element, startIndex) {
    if (a == null) dart.nullFailed(I[155], 33, 31, "a");
    if (element == null) dart.nullFailed(I[155], 33, 41, "element");
    if (startIndex == null) dart.nullFailed(I[155], 33, 54, "startIndex");
    if (dart.notNull(startIndex) < 0) {
      return -1;
    }
    if (dart.notNull(startIndex) >= dart.notNull(a[$length])) {
      startIndex = dart.notNull(a[$length]) - 1;
    }
    for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
      if (dart.equals(a[$_get](i), element)) {
        return i;
      }
    }
    return -1;
  }
  static getRange(a, start, end, accumulator) {
    if (a == null) dart.nullFailed(I[155], 55, 29, "a");
    if (start == null) dart.nullFailed(I[155], 55, 36, "start");
    if (end == null) dart.nullFailed(I[155], 55, 47, "end");
    if (accumulator == null) dart.nullFailed(I[155], 55, 57, "accumulator");
    if (dart.notNull(start) < 0) dart.throw(new core.RangeError.value(start));
    if (dart.notNull(end) < dart.notNull(start)) dart.throw(new core.RangeError.value(end));
    if (dart.notNull(end) > dart.notNull(a[$length])) dart.throw(new core.RangeError.value(end));
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      accumulator[$add](a[$_get](i));
    }
    return accumulator;
  }
};
(html_common.Lists.new = function() {
  ;
}).prototype = html_common.Lists.prototype;
dart.addTypeTests(html_common.Lists);
dart.addTypeCaches(html_common.Lists);
dart.setLibraryUri(html_common.Lists, I[150]);
html_common.NodeListWrapper = class NodeListWrapper extends core.Object {};
(html_common.NodeListWrapper.new = function() {
  ;
}).prototype = html_common.NodeListWrapper.prototype;
dart.addTypeTests(html_common.NodeListWrapper);
dart.addTypeCaches(html_common.NodeListWrapper);
dart.setLibraryUri(html_common.NodeListWrapper, I[150]);
html_common.convertDartToNative_SerializedScriptValue = function convertDartToNative_SerializedScriptValue(value) {
  return html_common.convertDartToNative_PrepareForStructuredClone(value);
};
html_common.convertNativeToDart_SerializedScriptValue = function convertNativeToDart_SerializedScriptValue(object) {
  return html_common.convertNativeToDart_AcceptStructuredClone(object, {mustCopy: true});
};
html_common.convertNativeToDart_ContextAttributes = function convertNativeToDart_ContextAttributes(nativeContextAttributes) {
  return new html_common.ContextAttributes.new(nativeContextAttributes.alpha, nativeContextAttributes.antialias, nativeContextAttributes.depth, nativeContextAttributes.failIfMajorPerformanceCaveat, nativeContextAttributes.premultipliedAlpha, nativeContextAttributes.preserveDrawingBuffer, nativeContextAttributes.stencil);
};
html_common.convertNativeToDart_ImageData = function convertNativeToDart_ImageData(nativeImageData) {
  0;
  if (html$.ImageData.is(nativeImageData)) {
    let data = nativeImageData.data;
    if (data.constructor === Array) {
      if (typeof CanvasPixelArray !== "undefined") {
        data.constructor = CanvasPixelArray;
        data.BYTES_PER_ELEMENT = 1;
      }
    }
    return nativeImageData;
  }
  return new html_common._TypedImageData.new(nativeImageData.data, nativeImageData.height, nativeImageData.width);
};
html_common.convertDartToNative_ImageData = function convertDartToNative_ImageData(imageData) {
  if (imageData == null) dart.nullFailed(I[151], 369, 41, "imageData");
  if (html_common._TypedImageData.is(imageData)) {
    return {data: imageData.data, height: imageData.height, width: imageData.width};
  }
  return imageData;
};
html_common._convertNativeToDart_Value = function _convertNativeToDart_Value(value) {
  if (value == null) return value;
  if (typeof value == 'string' || typeof value == 'number' || typeof value == 'boolean') return value;
  if (dart.test(html_common.isJavaScriptSimpleObject(value))) {
    return html_common.convertNativeToDart_Dictionary(value);
  }
  if (Array.isArray(value)) {
    let values = [];
    for (let i = 0; i < value.length; i = i + 1) {
      values[$add](html_common._convertNativeToDart_Value(value[i]));
    }
    return values;
  }
  return value;
};
html_common.convertNativeToDart_Dictionary = function convertNativeToDart_Dictionary(object) {
  if (object == null) return null;
  let dict = new (T$0.IdentityMapOfString$dynamic()).new();
  let keys = Object.getOwnPropertyNames(object);
  for (let key of keys) {
    dict[$_set](key, html_common._convertNativeToDart_Value(object[key]));
  }
  return dict;
};
html_common._convertDartToNative_Value = function _convertDartToNative_Value(value) {
  if (value == null) return value;
  if (typeof value == 'string' || typeof value == 'number' || typeof value == 'boolean') return value;
  if (core.Map.is(value)) return html_common.convertDartToNative_Dictionary(value);
  if (core.List.is(value)) {
    let array = [];
    value[$forEach](dart.fn(element => {
      array.push(html_common._convertDartToNative_Value(element));
    }, T$.dynamicTovoid()));
    value = array;
  }
  return value;
};
html_common.convertDartToNative_Dictionary = function convertDartToNative_Dictionary(dict, postCreate = null) {
  if (dict == null) return null;
  let object = {};
  if (postCreate != null) {
    postCreate(object);
  }
  dict[$forEach](dart.fn((key, value) => {
    object[key] = html_common._convertDartToNative_Value(value);
  }, T$.dynamicAnddynamicTovoid()));
  return object;
};
html_common.convertDartToNative_StringArray = function convertDartToNative_StringArray(input) {
  if (input == null) dart.nullFailed(I[152], 78, 51, "input");
  return input;
};
html_common.convertNativeToDart_DateTime = function convertNativeToDart_DateTime(date) {
  let millisSinceEpoch = date.getTime();
  return new core.DateTime.fromMillisecondsSinceEpoch(millisSinceEpoch, {isUtc: true});
};
html_common.convertDartToNative_DateTime = function convertDartToNative_DateTime(date) {
  if (date == null) dart.nullFailed(I[152], 88, 39, "date");
  return new Date(date.millisecondsSinceEpoch);
};
html_common.convertDartToNative_PrepareForStructuredClone = function convertDartToNative_PrepareForStructuredClone(value) {
  return new html_common._StructuredCloneDart2Js.new().convertDartToNative_PrepareForStructuredClone(value);
};
html_common.convertNativeToDart_AcceptStructuredClone = function convertNativeToDart_AcceptStructuredClone(object, opts) {
  let mustCopy = opts && 'mustCopy' in opts ? opts.mustCopy : false;
  return new html_common._AcceptStructuredCloneDart2Js.new().convertNativeToDart_AcceptStructuredClone(object, {mustCopy: mustCopy});
};
html_common.isJavaScriptDate = function isJavaScriptDate(value) {
  return value instanceof Date;
};
html_common.isJavaScriptRegExp = function isJavaScriptRegExp(value) {
  return value instanceof RegExp;
};
html_common.isJavaScriptArray = function isJavaScriptArray(value) {
  return value instanceof Array;
};
html_common.isJavaScriptSimpleObject = function isJavaScriptSimpleObject(value) {
  let proto = Object.getPrototypeOf(value);
  return proto === Object.prototype || proto === null;
};
html_common.isImmutableJavaScriptArray = function isImmutableJavaScriptArray(value) {
  return !!value.immutable$list;
};
html_common.isJavaScriptPromise = function isJavaScriptPromise(value) {
  return typeof Promise != "undefined" && value instanceof Promise;
};
dart.defineLazy(html_common, {
  /*html_common._serializedScriptValue*/get _serializedScriptValue() {
    return "num|String|bool|JSExtendableArray|=Object|Blob|File|NativeByteBuffer|NativeTypedData|MessagePort";
  },
  /*html_common.annotation_Creates_SerializedScriptValue*/get annotation_Creates_SerializedScriptValue() {
    return C[418] || CT.C418;
  },
  /*html_common.annotation_Returns_SerializedScriptValue*/get annotation_Returns_SerializedScriptValue() {
    return C[419] || CT.C419;
  }
}, false);
svg$._SvgElementFactoryProvider = class _SvgElementFactoryProvider extends core.Object {
  static createSvgElement_tag(tag) {
    if (tag == null) dart.nullFailed(I[156], 30, 49, "tag");
    let temp = html$.document[S$1.$createElementNS]("http://www.w3.org/2000/svg", tag);
    return svg$.SvgElement.as(temp);
  }
};
(svg$._SvgElementFactoryProvider.new = function() {
  ;
}).prototype = svg$._SvgElementFactoryProvider.prototype;
dart.addTypeTests(svg$._SvgElementFactoryProvider);
dart.addTypeCaches(svg$._SvgElementFactoryProvider);
dart.setLibraryUri(svg$._SvgElementFactoryProvider, I[157]);
svg$.SvgElement = class SvgElement extends html$.Element {
  static tag(tag) {
    if (tag == null) dart.nullFailed(I[156], 2996, 33, "tag");
    return svg$.SvgElement.as(html$.document[S$1.$createElementNS]("http://www.w3.org/2000/svg", tag));
  }
  static svg(svg, opts) {
    let t247;
    if (svg == null) dart.nullFailed(I[156], 2998, 33, "svg");
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    if (validator == null && treeSanitizer == null) {
      validator = (t247 = new html$.NodeValidatorBuilder.common(), (() => {
        t247.allowSvg();
        return t247;
      })());
    }
    let match = svg$.SvgElement._START_TAG_REGEXP.firstMatch(svg);
    let parentElement = null;
    if (match != null && dart.nullCheck(match.group(1))[$toLowerCase]() === "svg") {
      parentElement = html$.document.body;
    } else {
      parentElement = svg$.SvgSvgElement.new();
    }
    let fragment = dart.dsend(parentElement, 'createFragment', [svg], {validator: validator, treeSanitizer: treeSanitizer});
    return svg$.SvgElement.as(dart.dload(dart.dsend(dart.dload(fragment, 'nodes'), 'where', [dart.fn(e => svg$.SvgElement.is(e), T$0.dynamicTobool())]), 'single'));
  }
  get [S.$classes]() {
    return new svg$.AttributeClassSet.new(this);
  }
  set [S.$classes](value) {
    super[S.$classes] = value;
  }
  get [S.$children]() {
    return new html_common.FilteredElementList.new(this);
  }
  set [S.$children](value) {
    if (value == null) dart.nullFailed(I[156], 3020, 30, "value");
    let children = this[S.$children];
    children[$clear]();
    children[$addAll](value);
  }
  get [S.$outerHtml]() {
    let container = html$.DivElement.new();
    let cloned = svg$.SvgElement.as(this[S$.$clone](true));
    container[S.$children][$add](cloned);
    return container[S.$innerHtml];
  }
  get [S.$innerHtml]() {
    let container = html$.DivElement.new();
    let cloned = svg$.SvgElement.as(this[S$.$clone](true));
    container[S.$children][$addAll](cloned[S.$children]);
    return container[S.$innerHtml];
  }
  set [S.$innerHtml](value) {
    this[S.$setInnerHtml](value);
  }
  [S.$createFragment](svg, opts) {
    let t247;
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    if (treeSanitizer == null) {
      if (validator == null) {
        validator = (t247 = new html$.NodeValidatorBuilder.common(), (() => {
          t247.allowSvg();
          return t247;
        })());
      }
      treeSanitizer = html$.NodeTreeSanitizer.new(validator);
    }
    let html = "<svg version=\"1.1\">" + dart.str(svg) + "</svg>";
    let fragment = dart.nullCheck(html$.document.body)[S.$createFragment](html, {treeSanitizer: treeSanitizer});
    let svgFragment = html$.DocumentFragment.new();
    let root = fragment[S.$nodes][$single];
    while (root.firstChild != null) {
      svgFragment[S.$append](dart.nullCheck(root.firstChild));
    }
    return svgFragment;
  }
  [S.$insertAdjacentText](where, text) {
    if (where == null) dart.nullFailed(I[156], 3069, 34, "where");
    if (text == null) dart.nullFailed(I[156], 3069, 48, "text");
    dart.throw(new core.UnsupportedError.new("Cannot invoke insertAdjacentText on SVG."));
  }
  [S.$insertAdjacentHtml](where, text, opts) {
    if (where == null) dart.nullFailed(I[156], 3073, 34, "where");
    if (text == null) dart.nullFailed(I[156], 3073, 48, "text");
    let validator = opts && 'validator' in opts ? opts.validator : null;
    let treeSanitizer = opts && 'treeSanitizer' in opts ? opts.treeSanitizer : null;
    dart.throw(new core.UnsupportedError.new("Cannot invoke insertAdjacentHtml on SVG."));
  }
  [S.$insertAdjacentElement](where, element) {
    if (where == null) dart.nullFailed(I[156], 3078, 40, "where");
    if (element == null) dart.nullFailed(I[156], 3078, 55, "element");
    dart.throw(new core.UnsupportedError.new("Cannot invoke insertAdjacentElement on SVG."));
  }
  get [S$3._children$1]() {
    dart.throw(new core.UnsupportedError.new("Cannot get _children on SVG."));
  }
  get [S.$isContentEditable]() {
    return false;
  }
  [S.$click]() {
    dart.throw(new core.UnsupportedError.new("Cannot invoke click SVG."));
  }
  static isTagSupported(tag) {
    if (tag == null) dart.nullFailed(I[156], 3096, 37, "tag");
    let e = svg$.SvgElement.tag(tag);
    return svg$.SvgElement.is(e) && !html$.UnknownElement.is(e);
  }
  get [S$3._svgClassName]() {
    return this.className;
  }
  get [S$3.$ownerSvgElement]() {
    return this.ownerSVGElement;
  }
  get [S$3.$viewportElement]() {
    return this.viewportElement;
  }
  [S.$blur](...args) {
    return this.blur.apply(this, args);
  }
  [S.$focus](...args) {
    return this.focus.apply(this, args);
  }
  get [S.$nonce]() {
    return this.nonce;
  }
  set [S.$nonce](value) {
    this.nonce = value;
  }
  get [S.$onAbort]() {
    return svg$.SvgElement.abortEvent.forElement(this);
  }
  get [S.$onBlur]() {
    return svg$.SvgElement.blurEvent.forElement(this);
  }
  get [S.$onCanPlay]() {
    return svg$.SvgElement.canPlayEvent.forElement(this);
  }
  get [S.$onCanPlayThrough]() {
    return svg$.SvgElement.canPlayThroughEvent.forElement(this);
  }
  get [S.$onChange]() {
    return svg$.SvgElement.changeEvent.forElement(this);
  }
  get [S.$onClick]() {
    return svg$.SvgElement.clickEvent.forElement(this);
  }
  get [S.$onContextMenu]() {
    return svg$.SvgElement.contextMenuEvent.forElement(this);
  }
  get [S.$onDoubleClick]() {
    return svg$.SvgElement.doubleClickEvent.forElement(this);
  }
  get [S.$onDrag]() {
    return svg$.SvgElement.dragEvent.forElement(this);
  }
  get [S.$onDragEnd]() {
    return svg$.SvgElement.dragEndEvent.forElement(this);
  }
  get [S.$onDragEnter]() {
    return svg$.SvgElement.dragEnterEvent.forElement(this);
  }
  get [S.$onDragLeave]() {
    return svg$.SvgElement.dragLeaveEvent.forElement(this);
  }
  get [S.$onDragOver]() {
    return svg$.SvgElement.dragOverEvent.forElement(this);
  }
  get [S.$onDragStart]() {
    return svg$.SvgElement.dragStartEvent.forElement(this);
  }
  get [S.$onDrop]() {
    return svg$.SvgElement.dropEvent.forElement(this);
  }
  get [S.$onDurationChange]() {
    return svg$.SvgElement.durationChangeEvent.forElement(this);
  }
  get [S.$onEmptied]() {
    return svg$.SvgElement.emptiedEvent.forElement(this);
  }
  get [S.$onEnded]() {
    return svg$.SvgElement.endedEvent.forElement(this);
  }
  get [S.$onError]() {
    return svg$.SvgElement.errorEvent.forElement(this);
  }
  get [S.$onFocus]() {
    return svg$.SvgElement.focusEvent.forElement(this);
  }
  get [S.$onInput]() {
    return svg$.SvgElement.inputEvent.forElement(this);
  }
  get [S.$onInvalid]() {
    return svg$.SvgElement.invalidEvent.forElement(this);
  }
  get [S.$onKeyDown]() {
    return svg$.SvgElement.keyDownEvent.forElement(this);
  }
  get [S.$onKeyPress]() {
    return svg$.SvgElement.keyPressEvent.forElement(this);
  }
  get [S.$onKeyUp]() {
    return svg$.SvgElement.keyUpEvent.forElement(this);
  }
  get [S.$onLoad]() {
    return svg$.SvgElement.loadEvent.forElement(this);
  }
  get [S.$onLoadedData]() {
    return svg$.SvgElement.loadedDataEvent.forElement(this);
  }
  get [S.$onLoadedMetadata]() {
    return svg$.SvgElement.loadedMetadataEvent.forElement(this);
  }
  get [S.$onMouseDown]() {
    return svg$.SvgElement.mouseDownEvent.forElement(this);
  }
  get [S.$onMouseEnter]() {
    return svg$.SvgElement.mouseEnterEvent.forElement(this);
  }
  get [S.$onMouseLeave]() {
    return svg$.SvgElement.mouseLeaveEvent.forElement(this);
  }
  get [S.$onMouseMove]() {
    return svg$.SvgElement.mouseMoveEvent.forElement(this);
  }
  get [S.$onMouseOut]() {
    return svg$.SvgElement.mouseOutEvent.forElement(this);
  }
  get [S.$onMouseOver]() {
    return svg$.SvgElement.mouseOverEvent.forElement(this);
  }
  get [S.$onMouseUp]() {
    return svg$.SvgElement.mouseUpEvent.forElement(this);
  }
  get [S.$onMouseWheel]() {
    return svg$.SvgElement.mouseWheelEvent.forElement(this);
  }
  get [S.$onPause]() {
    return svg$.SvgElement.pauseEvent.forElement(this);
  }
  get [S.$onPlay]() {
    return svg$.SvgElement.playEvent.forElement(this);
  }
  get [S.$onPlaying]() {
    return svg$.SvgElement.playingEvent.forElement(this);
  }
  get [S.$onRateChange]() {
    return svg$.SvgElement.rateChangeEvent.forElement(this);
  }
  get [S.$onReset]() {
    return svg$.SvgElement.resetEvent.forElement(this);
  }
  get [S.$onResize]() {
    return svg$.SvgElement.resizeEvent.forElement(this);
  }
  get [S.$onScroll]() {
    return svg$.SvgElement.scrollEvent.forElement(this);
  }
  get [S.$onSeeked]() {
    return svg$.SvgElement.seekedEvent.forElement(this);
  }
  get [S.$onSeeking]() {
    return svg$.SvgElement.seekingEvent.forElement(this);
  }
  get [S.$onSelect]() {
    return svg$.SvgElement.selectEvent.forElement(this);
  }
  get [S$.$onStalled]() {
    return svg$.SvgElement.stalledEvent.forElement(this);
  }
  get [S$.$onSubmit]() {
    return svg$.SvgElement.submitEvent.forElement(this);
  }
  get [S$.$onSuspend]() {
    return svg$.SvgElement.suspendEvent.forElement(this);
  }
  get [S$.$onTimeUpdate]() {
    return svg$.SvgElement.timeUpdateEvent.forElement(this);
  }
  get [S$.$onTouchCancel]() {
    return svg$.SvgElement.touchCancelEvent.forElement(this);
  }
  get [S$.$onTouchEnd]() {
    return svg$.SvgElement.touchEndEvent.forElement(this);
  }
  get [S$.$onTouchMove]() {
    return svg$.SvgElement.touchMoveEvent.forElement(this);
  }
  get [S$.$onTouchStart]() {
    return svg$.SvgElement.touchStartEvent.forElement(this);
  }
  get [S$.$onVolumeChange]() {
    return svg$.SvgElement.volumeChangeEvent.forElement(this);
  }
  get [S$.$onWaiting]() {
    return svg$.SvgElement.waitingEvent.forElement(this);
  }
  get [S$.$onWheel]() {
    return svg$.SvgElement.wheelEvent.forElement(this);
  }
};
(svg$.SvgElement.created = function() {
  svg$.SvgElement.__proto__.created.call(this);
  ;
}).prototype = svg$.SvgElement.prototype;
dart.addTypeTests(svg$.SvgElement);
dart.addTypeCaches(svg$.SvgElement);
svg$.SvgElement[dart.implements] = () => [html$.GlobalEventHandlers, html$.NoncedElement];
dart.setGetterSignature(svg$.SvgElement, () => ({
  __proto__: dart.getGetters(svg$.SvgElement.__proto__),
  [S$3._children$1]: html$.HtmlCollection,
  [S.$isContentEditable]: core.bool,
  [S$3._svgClassName]: svg$.AnimatedString,
  [S$3.$ownerSvgElement]: dart.nullable(svg$.SvgSvgElement),
  [S$3.$viewportElement]: dart.nullable(svg$.SvgElement),
  [S.$nonce]: dart.nullable(core.String)
}));
dart.setSetterSignature(svg$.SvgElement, () => ({
  __proto__: dart.getSetters(svg$.SvgElement.__proto__),
  [S.$nonce]: dart.nullable(core.String)
}));
dart.setLibraryUri(svg$.SvgElement, I[157]);
dart.defineLazy(svg$.SvgElement, {
  /*svg$.SvgElement._START_TAG_REGEXP*/get _START_TAG_REGEXP() {
    return core.RegExp.new("<(\\w+)");
  },
  /*svg$.SvgElement.abortEvent*/get abortEvent() {
    return C[216] || CT.C216;
  },
  /*svg$.SvgElement.blurEvent*/get blurEvent() {
    return C[235] || CT.C235;
  },
  /*svg$.SvgElement.canPlayEvent*/get canPlayEvent() {
    return C[236] || CT.C236;
  },
  /*svg$.SvgElement.canPlayThroughEvent*/get canPlayThroughEvent() {
    return C[237] || CT.C237;
  },
  /*svg$.SvgElement.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  },
  /*svg$.SvgElement.clickEvent*/get clickEvent() {
    return C[239] || CT.C239;
  },
  /*svg$.SvgElement.contextMenuEvent*/get contextMenuEvent() {
    return C[240] || CT.C240;
  },
  /*svg$.SvgElement.doubleClickEvent*/get doubleClickEvent() {
    return C[243] || CT.C243;
  },
  /*svg$.SvgElement.dragEvent*/get dragEvent() {
    return C[244] || CT.C244;
  },
  /*svg$.SvgElement.dragEndEvent*/get dragEndEvent() {
    return C[245] || CT.C245;
  },
  /*svg$.SvgElement.dragEnterEvent*/get dragEnterEvent() {
    return C[246] || CT.C246;
  },
  /*svg$.SvgElement.dragLeaveEvent*/get dragLeaveEvent() {
    return C[247] || CT.C247;
  },
  /*svg$.SvgElement.dragOverEvent*/get dragOverEvent() {
    return C[248] || CT.C248;
  },
  /*svg$.SvgElement.dragStartEvent*/get dragStartEvent() {
    return C[249] || CT.C249;
  },
  /*svg$.SvgElement.dropEvent*/get dropEvent() {
    return C[250] || CT.C250;
  },
  /*svg$.SvgElement.durationChangeEvent*/get durationChangeEvent() {
    return C[251] || CT.C251;
  },
  /*svg$.SvgElement.emptiedEvent*/get emptiedEvent() {
    return C[252] || CT.C252;
  },
  /*svg$.SvgElement.endedEvent*/get endedEvent() {
    return C[253] || CT.C253;
  },
  /*svg$.SvgElement.errorEvent*/get errorEvent() {
    return C[218] || CT.C218;
  },
  /*svg$.SvgElement.focusEvent*/get focusEvent() {
    return C[254] || CT.C254;
  },
  /*svg$.SvgElement.inputEvent*/get inputEvent() {
    return C[255] || CT.C255;
  },
  /*svg$.SvgElement.invalidEvent*/get invalidEvent() {
    return C[256] || CT.C256;
  },
  /*svg$.SvgElement.keyDownEvent*/get keyDownEvent() {
    return C[257] || CT.C257;
  },
  /*svg$.SvgElement.keyPressEvent*/get keyPressEvent() {
    return C[258] || CT.C258;
  },
  /*svg$.SvgElement.keyUpEvent*/get keyUpEvent() {
    return C[259] || CT.C259;
  },
  /*svg$.SvgElement.loadEvent*/get loadEvent() {
    return C[260] || CT.C260;
  },
  /*svg$.SvgElement.loadedDataEvent*/get loadedDataEvent() {
    return C[261] || CT.C261;
  },
  /*svg$.SvgElement.loadedMetadataEvent*/get loadedMetadataEvent() {
    return C[262] || CT.C262;
  },
  /*svg$.SvgElement.mouseDownEvent*/get mouseDownEvent() {
    return C[263] || CT.C263;
  },
  /*svg$.SvgElement.mouseEnterEvent*/get mouseEnterEvent() {
    return C[264] || CT.C264;
  },
  /*svg$.SvgElement.mouseLeaveEvent*/get mouseLeaveEvent() {
    return C[265] || CT.C265;
  },
  /*svg$.SvgElement.mouseMoveEvent*/get mouseMoveEvent() {
    return C[266] || CT.C266;
  },
  /*svg$.SvgElement.mouseOutEvent*/get mouseOutEvent() {
    return C[267] || CT.C267;
  },
  /*svg$.SvgElement.mouseOverEvent*/get mouseOverEvent() {
    return C[268] || CT.C268;
  },
  /*svg$.SvgElement.mouseUpEvent*/get mouseUpEvent() {
    return C[269] || CT.C269;
  },
  /*svg$.SvgElement.mouseWheelEvent*/get mouseWheelEvent() {
    return C[344] || CT.C344;
  },
  /*svg$.SvgElement.pauseEvent*/get pauseEvent() {
    return C[271] || CT.C271;
  },
  /*svg$.SvgElement.playEvent*/get playEvent() {
    return C[272] || CT.C272;
  },
  /*svg$.SvgElement.playingEvent*/get playingEvent() {
    return C[273] || CT.C273;
  },
  /*svg$.SvgElement.rateChangeEvent*/get rateChangeEvent() {
    return C[274] || CT.C274;
  },
  /*svg$.SvgElement.resetEvent*/get resetEvent() {
    return C[275] || CT.C275;
  },
  /*svg$.SvgElement.resizeEvent*/get resizeEvent() {
    return C[276] || CT.C276;
  },
  /*svg$.SvgElement.scrollEvent*/get scrollEvent() {
    return C[277] || CT.C277;
  },
  /*svg$.SvgElement.seekedEvent*/get seekedEvent() {
    return C[279] || CT.C279;
  },
  /*svg$.SvgElement.seekingEvent*/get seekingEvent() {
    return C[280] || CT.C280;
  },
  /*svg$.SvgElement.selectEvent*/get selectEvent() {
    return C[281] || CT.C281;
  },
  /*svg$.SvgElement.stalledEvent*/get stalledEvent() {
    return C[283] || CT.C283;
  },
  /*svg$.SvgElement.submitEvent*/get submitEvent() {
    return C[284] || CT.C284;
  },
  /*svg$.SvgElement.suspendEvent*/get suspendEvent() {
    return C[285] || CT.C285;
  },
  /*svg$.SvgElement.timeUpdateEvent*/get timeUpdateEvent() {
    return C[286] || CT.C286;
  },
  /*svg$.SvgElement.touchCancelEvent*/get touchCancelEvent() {
    return C[287] || CT.C287;
  },
  /*svg$.SvgElement.touchEndEvent*/get touchEndEvent() {
    return C[288] || CT.C288;
  },
  /*svg$.SvgElement.touchMoveEvent*/get touchMoveEvent() {
    return C[291] || CT.C291;
  },
  /*svg$.SvgElement.touchStartEvent*/get touchStartEvent() {
    return C[292] || CT.C292;
  },
  /*svg$.SvgElement.volumeChangeEvent*/get volumeChangeEvent() {
    return C[293] || CT.C293;
  },
  /*svg$.SvgElement.waitingEvent*/get waitingEvent() {
    return C[294] || CT.C294;
  },
  /*svg$.SvgElement.wheelEvent*/get wheelEvent() {
    return C[297] || CT.C297;
  }
}, false);
dart.registerExtension("SVGElement", svg$.SvgElement);
svg$.GraphicsElement = class GraphicsElement extends svg$.SvgElement {
  get [S$3.$farthestViewportElement]() {
    return this.farthestViewportElement;
  }
  get [S$3.$nearestViewportElement]() {
    return this.nearestViewportElement;
  }
  get [S$.$transform]() {
    return this.transform;
  }
  [S$3.$getBBox](...args) {
    return this.getBBox.apply(this, args);
  }
  [S$3.$getCtm](...args) {
    return this.getCTM.apply(this, args);
  }
  [S$3.$getScreenCtm](...args) {
    return this.getScreenCTM.apply(this, args);
  }
  get [S$3.$requiredExtensions]() {
    return this.requiredExtensions;
  }
  get [S$3.$systemLanguage]() {
    return this.systemLanguage;
  }
};
(svg$.GraphicsElement.created = function() {
  svg$.GraphicsElement.__proto__.created.call(this);
  ;
}).prototype = svg$.GraphicsElement.prototype;
dart.addTypeTests(svg$.GraphicsElement);
dart.addTypeCaches(svg$.GraphicsElement);
svg$.GraphicsElement[dart.implements] = () => [svg$.Tests];
dart.setMethodSignature(svg$.GraphicsElement, () => ({
  __proto__: dart.getMethods(svg$.GraphicsElement.__proto__),
  [S$3.$getBBox]: dart.fnType(svg$.Rect, []),
  [S$3.$getCtm]: dart.fnType(svg$.Matrix, []),
  [S$3.$getScreenCtm]: dart.fnType(svg$.Matrix, [])
}));
dart.setGetterSignature(svg$.GraphicsElement, () => ({
  __proto__: dart.getGetters(svg$.GraphicsElement.__proto__),
  [S$3.$farthestViewportElement]: dart.nullable(svg$.SvgElement),
  [S$3.$nearestViewportElement]: dart.nullable(svg$.SvgElement),
  [S$.$transform]: dart.nullable(svg$.AnimatedTransformList),
  [S$3.$requiredExtensions]: dart.nullable(svg$.StringList),
  [S$3.$systemLanguage]: dart.nullable(svg$.StringList)
}));
dart.setLibraryUri(svg$.GraphicsElement, I[157]);
dart.registerExtension("SVGGraphicsElement", svg$.GraphicsElement);
svg$.AElement = class AElement extends svg$.GraphicsElement {
  static new() {
    return svg$.AElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("a"));
  }
  get [S.$target]() {
    return this.target;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.AElement.created = function() {
  svg$.AElement.__proto__.created.call(this);
  ;
}).prototype = svg$.AElement.prototype;
dart.addTypeTests(svg$.AElement);
dart.addTypeCaches(svg$.AElement);
svg$.AElement[dart.implements] = () => [svg$.UriReference];
dart.setGetterSignature(svg$.AElement, () => ({
  __proto__: dart.getGetters(svg$.AElement.__proto__),
  [S.$target]: svg$.AnimatedString,
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.AElement, I[157]);
dart.registerExtension("SVGAElement", svg$.AElement);
svg$.Angle = class Angle extends _interceptors.Interceptor {
  get [S$3.$unitType]() {
    return this.unitType;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  get [S$3.$valueAsString]() {
    return this.valueAsString;
  }
  set [S$3.$valueAsString](value) {
    this.valueAsString = value;
  }
  get [S$3.$valueInSpecifiedUnits]() {
    return this.valueInSpecifiedUnits;
  }
  set [S$3.$valueInSpecifiedUnits](value) {
    this.valueInSpecifiedUnits = value;
  }
  [S$3.$convertToSpecifiedUnits](...args) {
    return this.convertToSpecifiedUnits.apply(this, args);
  }
  [S$3.$newValueSpecifiedUnits](...args) {
    return this.newValueSpecifiedUnits.apply(this, args);
  }
};
dart.addTypeTests(svg$.Angle);
dart.addTypeCaches(svg$.Angle);
dart.setMethodSignature(svg$.Angle, () => ({
  __proto__: dart.getMethods(svg$.Angle.__proto__),
  [S$3.$convertToSpecifiedUnits]: dart.fnType(dart.void, [core.int]),
  [S$3.$newValueSpecifiedUnits]: dart.fnType(dart.void, [core.int, core.num])
}));
dart.setGetterSignature(svg$.Angle, () => ({
  __proto__: dart.getGetters(svg$.Angle.__proto__),
  [S$3.$unitType]: dart.nullable(core.int),
  [S.$value]: dart.nullable(core.num),
  [S$3.$valueAsString]: dart.nullable(core.String),
  [S$3.$valueInSpecifiedUnits]: dart.nullable(core.num)
}));
dart.setSetterSignature(svg$.Angle, () => ({
  __proto__: dart.getSetters(svg$.Angle.__proto__),
  [S.$value]: dart.nullable(core.num),
  [S$3.$valueAsString]: dart.nullable(core.String),
  [S$3.$valueInSpecifiedUnits]: dart.nullable(core.num)
}));
dart.setLibraryUri(svg$.Angle, I[157]);
dart.defineLazy(svg$.Angle, {
  /*svg$.Angle.SVG_ANGLETYPE_DEG*/get SVG_ANGLETYPE_DEG() {
    return 2;
  },
  /*svg$.Angle.SVG_ANGLETYPE_GRAD*/get SVG_ANGLETYPE_GRAD() {
    return 4;
  },
  /*svg$.Angle.SVG_ANGLETYPE_RAD*/get SVG_ANGLETYPE_RAD() {
    return 3;
  },
  /*svg$.Angle.SVG_ANGLETYPE_UNKNOWN*/get SVG_ANGLETYPE_UNKNOWN() {
    return 0;
  },
  /*svg$.Angle.SVG_ANGLETYPE_UNSPECIFIED*/get SVG_ANGLETYPE_UNSPECIFIED() {
    return 1;
  }
}, false);
dart.registerExtension("SVGAngle", svg$.Angle);
svg$.AnimationElement = class AnimationElement extends svg$.SvgElement {
  static new() {
    return svg$.AnimationElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("animation"));
  }
  get [S$3.$targetElement]() {
    return this.targetElement;
  }
  [S$3.$beginElement](...args) {
    return this.beginElement.apply(this, args);
  }
  [S$3.$beginElementAt](...args) {
    return this.beginElementAt.apply(this, args);
  }
  [S$3.$endElement](...args) {
    return this.endElement.apply(this, args);
  }
  [S$3.$endElementAt](...args) {
    return this.endElementAt.apply(this, args);
  }
  [S$3.$getCurrentTime](...args) {
    return this.getCurrentTime.apply(this, args);
  }
  [S$3.$getSimpleDuration](...args) {
    return this.getSimpleDuration.apply(this, args);
  }
  [S$3.$getStartTime](...args) {
    return this.getStartTime.apply(this, args);
  }
  get [S$3.$requiredExtensions]() {
    return this.requiredExtensions;
  }
  get [S$3.$systemLanguage]() {
    return this.systemLanguage;
  }
};
(svg$.AnimationElement.created = function() {
  svg$.AnimationElement.__proto__.created.call(this);
  ;
}).prototype = svg$.AnimationElement.prototype;
dart.addTypeTests(svg$.AnimationElement);
dart.addTypeCaches(svg$.AnimationElement);
svg$.AnimationElement[dart.implements] = () => [svg$.Tests];
dart.setMethodSignature(svg$.AnimationElement, () => ({
  __proto__: dart.getMethods(svg$.AnimationElement.__proto__),
  [S$3.$beginElement]: dart.fnType(dart.void, []),
  [S$3.$beginElementAt]: dart.fnType(dart.void, [core.num]),
  [S$3.$endElement]: dart.fnType(dart.void, []),
  [S$3.$endElementAt]: dart.fnType(dart.void, [core.num]),
  [S$3.$getCurrentTime]: dart.fnType(core.double, []),
  [S$3.$getSimpleDuration]: dart.fnType(core.double, []),
  [S$3.$getStartTime]: dart.fnType(core.double, [])
}));
dart.setGetterSignature(svg$.AnimationElement, () => ({
  __proto__: dart.getGetters(svg$.AnimationElement.__proto__),
  [S$3.$targetElement]: dart.nullable(svg$.SvgElement),
  [S$3.$requiredExtensions]: dart.nullable(svg$.StringList),
  [S$3.$systemLanguage]: dart.nullable(svg$.StringList)
}));
dart.setLibraryUri(svg$.AnimationElement, I[157]);
dart.registerExtension("SVGAnimationElement", svg$.AnimationElement);
svg$.AnimateElement = class AnimateElement extends svg$.AnimationElement {
  static new() {
    return svg$.AnimateElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("animate"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("animate")) && svg$.AnimateElement.is(svg$.SvgElement.tag("animate"));
  }
};
(svg$.AnimateElement.created = function() {
  svg$.AnimateElement.__proto__.created.call(this);
  ;
}).prototype = svg$.AnimateElement.prototype;
dart.addTypeTests(svg$.AnimateElement);
dart.addTypeCaches(svg$.AnimateElement);
dart.setLibraryUri(svg$.AnimateElement, I[157]);
dart.registerExtension("SVGAnimateElement", svg$.AnimateElement);
svg$.AnimateMotionElement = class AnimateMotionElement extends svg$.AnimationElement {
  static new() {
    return svg$.AnimateMotionElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("animateMotion"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("animateMotion")) && svg$.AnimateMotionElement.is(svg$.SvgElement.tag("animateMotion"));
  }
};
(svg$.AnimateMotionElement.created = function() {
  svg$.AnimateMotionElement.__proto__.created.call(this);
  ;
}).prototype = svg$.AnimateMotionElement.prototype;
dart.addTypeTests(svg$.AnimateMotionElement);
dart.addTypeCaches(svg$.AnimateMotionElement);
dart.setLibraryUri(svg$.AnimateMotionElement, I[157]);
dart.registerExtension("SVGAnimateMotionElement", svg$.AnimateMotionElement);
svg$.AnimateTransformElement = class AnimateTransformElement extends svg$.AnimationElement {
  static new() {
    return svg$.AnimateTransformElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("animateTransform"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("animateTransform")) && svg$.AnimateTransformElement.is(svg$.SvgElement.tag("animateTransform"));
  }
};
(svg$.AnimateTransformElement.created = function() {
  svg$.AnimateTransformElement.__proto__.created.call(this);
  ;
}).prototype = svg$.AnimateTransformElement.prototype;
dart.addTypeTests(svg$.AnimateTransformElement);
dart.addTypeCaches(svg$.AnimateTransformElement);
dart.setLibraryUri(svg$.AnimateTransformElement, I[157]);
dart.registerExtension("SVGAnimateTransformElement", svg$.AnimateTransformElement);
svg$.AnimatedAngle = class AnimatedAngle extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
};
dart.addTypeTests(svg$.AnimatedAngle);
dart.addTypeCaches(svg$.AnimatedAngle);
dart.setGetterSignature(svg$.AnimatedAngle, () => ({
  __proto__: dart.getGetters(svg$.AnimatedAngle.__proto__),
  [S$3.$animVal]: dart.nullable(svg$.Angle),
  [S$3.$baseVal]: dart.nullable(svg$.Angle)
}));
dart.setLibraryUri(svg$.AnimatedAngle, I[157]);
dart.registerExtension("SVGAnimatedAngle", svg$.AnimatedAngle);
svg$.AnimatedBoolean = class AnimatedBoolean extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
  set [S$3.$baseVal](value) {
    this.baseVal = value;
  }
};
dart.addTypeTests(svg$.AnimatedBoolean);
dart.addTypeCaches(svg$.AnimatedBoolean);
dart.setGetterSignature(svg$.AnimatedBoolean, () => ({
  __proto__: dart.getGetters(svg$.AnimatedBoolean.__proto__),
  [S$3.$animVal]: dart.nullable(core.bool),
  [S$3.$baseVal]: dart.nullable(core.bool)
}));
dart.setSetterSignature(svg$.AnimatedBoolean, () => ({
  __proto__: dart.getSetters(svg$.AnimatedBoolean.__proto__),
  [S$3.$baseVal]: dart.nullable(core.bool)
}));
dart.setLibraryUri(svg$.AnimatedBoolean, I[157]);
dart.registerExtension("SVGAnimatedBoolean", svg$.AnimatedBoolean);
svg$.AnimatedEnumeration = class AnimatedEnumeration extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
  set [S$3.$baseVal](value) {
    this.baseVal = value;
  }
};
dart.addTypeTests(svg$.AnimatedEnumeration);
dart.addTypeCaches(svg$.AnimatedEnumeration);
dart.setGetterSignature(svg$.AnimatedEnumeration, () => ({
  __proto__: dart.getGetters(svg$.AnimatedEnumeration.__proto__),
  [S$3.$animVal]: dart.nullable(core.int),
  [S$3.$baseVal]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.AnimatedEnumeration, () => ({
  __proto__: dart.getSetters(svg$.AnimatedEnumeration.__proto__),
  [S$3.$baseVal]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.AnimatedEnumeration, I[157]);
dart.registerExtension("SVGAnimatedEnumeration", svg$.AnimatedEnumeration);
svg$.AnimatedInteger = class AnimatedInteger extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
  set [S$3.$baseVal](value) {
    this.baseVal = value;
  }
};
dart.addTypeTests(svg$.AnimatedInteger);
dart.addTypeCaches(svg$.AnimatedInteger);
dart.setGetterSignature(svg$.AnimatedInteger, () => ({
  __proto__: dart.getGetters(svg$.AnimatedInteger.__proto__),
  [S$3.$animVal]: dart.nullable(core.int),
  [S$3.$baseVal]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.AnimatedInteger, () => ({
  __proto__: dart.getSetters(svg$.AnimatedInteger.__proto__),
  [S$3.$baseVal]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.AnimatedInteger, I[157]);
dart.registerExtension("SVGAnimatedInteger", svg$.AnimatedInteger);
svg$.AnimatedLength = class AnimatedLength extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
};
dart.addTypeTests(svg$.AnimatedLength);
dart.addTypeCaches(svg$.AnimatedLength);
dart.setGetterSignature(svg$.AnimatedLength, () => ({
  __proto__: dart.getGetters(svg$.AnimatedLength.__proto__),
  [S$3.$animVal]: dart.nullable(svg$.Length),
  [S$3.$baseVal]: dart.nullable(svg$.Length)
}));
dart.setLibraryUri(svg$.AnimatedLength, I[157]);
dart.registerExtension("SVGAnimatedLength", svg$.AnimatedLength);
svg$.AnimatedLengthList = class AnimatedLengthList extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
};
dart.addTypeTests(svg$.AnimatedLengthList);
dart.addTypeCaches(svg$.AnimatedLengthList);
dart.setGetterSignature(svg$.AnimatedLengthList, () => ({
  __proto__: dart.getGetters(svg$.AnimatedLengthList.__proto__),
  [S$3.$animVal]: dart.nullable(svg$.LengthList),
  [S$3.$baseVal]: dart.nullable(svg$.LengthList)
}));
dart.setLibraryUri(svg$.AnimatedLengthList, I[157]);
dart.registerExtension("SVGAnimatedLengthList", svg$.AnimatedLengthList);
svg$.AnimatedNumber = class AnimatedNumber extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
  set [S$3.$baseVal](value) {
    this.baseVal = value;
  }
};
dart.addTypeTests(svg$.AnimatedNumber);
dart.addTypeCaches(svg$.AnimatedNumber);
dart.setGetterSignature(svg$.AnimatedNumber, () => ({
  __proto__: dart.getGetters(svg$.AnimatedNumber.__proto__),
  [S$3.$animVal]: dart.nullable(core.num),
  [S$3.$baseVal]: dart.nullable(core.num)
}));
dart.setSetterSignature(svg$.AnimatedNumber, () => ({
  __proto__: dart.getSetters(svg$.AnimatedNumber.__proto__),
  [S$3.$baseVal]: dart.nullable(core.num)
}));
dart.setLibraryUri(svg$.AnimatedNumber, I[157]);
dart.registerExtension("SVGAnimatedNumber", svg$.AnimatedNumber);
svg$.AnimatedNumberList = class AnimatedNumberList extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
};
dart.addTypeTests(svg$.AnimatedNumberList);
dart.addTypeCaches(svg$.AnimatedNumberList);
dart.setGetterSignature(svg$.AnimatedNumberList, () => ({
  __proto__: dart.getGetters(svg$.AnimatedNumberList.__proto__),
  [S$3.$animVal]: dart.nullable(svg$.NumberList),
  [S$3.$baseVal]: dart.nullable(svg$.NumberList)
}));
dart.setLibraryUri(svg$.AnimatedNumberList, I[157]);
dart.registerExtension("SVGAnimatedNumberList", svg$.AnimatedNumberList);
svg$.AnimatedPreserveAspectRatio = class AnimatedPreserveAspectRatio extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
};
dart.addTypeTests(svg$.AnimatedPreserveAspectRatio);
dart.addTypeCaches(svg$.AnimatedPreserveAspectRatio);
dart.setGetterSignature(svg$.AnimatedPreserveAspectRatio, () => ({
  __proto__: dart.getGetters(svg$.AnimatedPreserveAspectRatio.__proto__),
  [S$3.$animVal]: dart.nullable(svg$.PreserveAspectRatio),
  [S$3.$baseVal]: dart.nullable(svg$.PreserveAspectRatio)
}));
dart.setLibraryUri(svg$.AnimatedPreserveAspectRatio, I[157]);
dart.registerExtension("SVGAnimatedPreserveAspectRatio", svg$.AnimatedPreserveAspectRatio);
svg$.AnimatedRect = class AnimatedRect extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
};
dart.addTypeTests(svg$.AnimatedRect);
dart.addTypeCaches(svg$.AnimatedRect);
dart.setGetterSignature(svg$.AnimatedRect, () => ({
  __proto__: dart.getGetters(svg$.AnimatedRect.__proto__),
  [S$3.$animVal]: dart.nullable(svg$.Rect),
  [S$3.$baseVal]: dart.nullable(svg$.Rect)
}));
dart.setLibraryUri(svg$.AnimatedRect, I[157]);
dart.registerExtension("SVGAnimatedRect", svg$.AnimatedRect);
svg$.AnimatedString = class AnimatedString extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
  set [S$3.$baseVal](value) {
    this.baseVal = value;
  }
};
dart.addTypeTests(svg$.AnimatedString);
dart.addTypeCaches(svg$.AnimatedString);
dart.setGetterSignature(svg$.AnimatedString, () => ({
  __proto__: dart.getGetters(svg$.AnimatedString.__proto__),
  [S$3.$animVal]: dart.nullable(core.String),
  [S$3.$baseVal]: dart.nullable(core.String)
}));
dart.setSetterSignature(svg$.AnimatedString, () => ({
  __proto__: dart.getSetters(svg$.AnimatedString.__proto__),
  [S$3.$baseVal]: dart.nullable(core.String)
}));
dart.setLibraryUri(svg$.AnimatedString, I[157]);
dart.registerExtension("SVGAnimatedString", svg$.AnimatedString);
svg$.AnimatedTransformList = class AnimatedTransformList extends _interceptors.Interceptor {
  get [S$3.$animVal]() {
    return this.animVal;
  }
  get [S$3.$baseVal]() {
    return this.baseVal;
  }
};
dart.addTypeTests(svg$.AnimatedTransformList);
dart.addTypeCaches(svg$.AnimatedTransformList);
dart.setGetterSignature(svg$.AnimatedTransformList, () => ({
  __proto__: dart.getGetters(svg$.AnimatedTransformList.__proto__),
  [S$3.$animVal]: dart.nullable(svg$.TransformList),
  [S$3.$baseVal]: dart.nullable(svg$.TransformList)
}));
dart.setLibraryUri(svg$.AnimatedTransformList, I[157]);
dart.registerExtension("SVGAnimatedTransformList", svg$.AnimatedTransformList);
svg$.GeometryElement = class GeometryElement extends svg$.GraphicsElement {
  get [S$3.$pathLength]() {
    return this.pathLength;
  }
  [S$3.$getPointAtLength](...args) {
    return this.getPointAtLength.apply(this, args);
  }
  [S$3.$getTotalLength](...args) {
    return this.getTotalLength.apply(this, args);
  }
  [S$3.$isPointInFill](...args) {
    return this.isPointInFill.apply(this, args);
  }
  [S$.$isPointInStroke](...args) {
    return this.isPointInStroke.apply(this, args);
  }
};
(svg$.GeometryElement.created = function() {
  svg$.GeometryElement.__proto__.created.call(this);
  ;
}).prototype = svg$.GeometryElement.prototype;
dart.addTypeTests(svg$.GeometryElement);
dart.addTypeCaches(svg$.GeometryElement);
dart.setMethodSignature(svg$.GeometryElement, () => ({
  __proto__: dart.getMethods(svg$.GeometryElement.__proto__),
  [S$3.$getPointAtLength]: dart.fnType(svg$.Point, [core.num]),
  [S$3.$getTotalLength]: dart.fnType(core.double, []),
  [S$3.$isPointInFill]: dart.fnType(core.bool, [svg$.Point]),
  [S$.$isPointInStroke]: dart.fnType(core.bool, [svg$.Point])
}));
dart.setGetterSignature(svg$.GeometryElement, () => ({
  __proto__: dart.getGetters(svg$.GeometryElement.__proto__),
  [S$3.$pathLength]: dart.nullable(svg$.AnimatedNumber)
}));
dart.setLibraryUri(svg$.GeometryElement, I[157]);
dart.registerExtension("SVGGeometryElement", svg$.GeometryElement);
svg$.CircleElement = class CircleElement extends svg$.GeometryElement {
  static new() {
    return svg$.CircleElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("circle"));
  }
  get [S$3.$cx]() {
    return this.cx;
  }
  get [S$3.$cy]() {
    return this.cy;
  }
  get [S$3.$r]() {
    return this.r;
  }
};
(svg$.CircleElement.created = function() {
  svg$.CircleElement.__proto__.created.call(this);
  ;
}).prototype = svg$.CircleElement.prototype;
dart.addTypeTests(svg$.CircleElement);
dart.addTypeCaches(svg$.CircleElement);
dart.setGetterSignature(svg$.CircleElement, () => ({
  __proto__: dart.getGetters(svg$.CircleElement.__proto__),
  [S$3.$cx]: dart.nullable(svg$.AnimatedLength),
  [S$3.$cy]: dart.nullable(svg$.AnimatedLength),
  [S$3.$r]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.CircleElement, I[157]);
dart.registerExtension("SVGCircleElement", svg$.CircleElement);
svg$.ClipPathElement = class ClipPathElement extends svg$.GraphicsElement {
  static new() {
    return svg$.ClipPathElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("clipPath"));
  }
  get [S$3.$clipPathUnits]() {
    return this.clipPathUnits;
  }
};
(svg$.ClipPathElement.created = function() {
  svg$.ClipPathElement.__proto__.created.call(this);
  ;
}).prototype = svg$.ClipPathElement.prototype;
dart.addTypeTests(svg$.ClipPathElement);
dart.addTypeCaches(svg$.ClipPathElement);
dart.setGetterSignature(svg$.ClipPathElement, () => ({
  __proto__: dart.getGetters(svg$.ClipPathElement.__proto__),
  [S$3.$clipPathUnits]: dart.nullable(svg$.AnimatedEnumeration)
}));
dart.setLibraryUri(svg$.ClipPathElement, I[157]);
dart.registerExtension("SVGClipPathElement", svg$.ClipPathElement);
svg$.DefsElement = class DefsElement extends svg$.GraphicsElement {
  static new() {
    return svg$.DefsElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("defs"));
  }
};
(svg$.DefsElement.created = function() {
  svg$.DefsElement.__proto__.created.call(this);
  ;
}).prototype = svg$.DefsElement.prototype;
dart.addTypeTests(svg$.DefsElement);
dart.addTypeCaches(svg$.DefsElement);
dart.setLibraryUri(svg$.DefsElement, I[157]);
dart.registerExtension("SVGDefsElement", svg$.DefsElement);
svg$.DescElement = class DescElement extends svg$.SvgElement {
  static new() {
    return svg$.DescElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("desc"));
  }
};
(svg$.DescElement.created = function() {
  svg$.DescElement.__proto__.created.call(this);
  ;
}).prototype = svg$.DescElement.prototype;
dart.addTypeTests(svg$.DescElement);
dart.addTypeCaches(svg$.DescElement);
dart.setLibraryUri(svg$.DescElement, I[157]);
dart.registerExtension("SVGDescElement", svg$.DescElement);
svg$.DiscardElement = class DiscardElement extends svg$.SvgElement {};
(svg$.DiscardElement.created = function() {
  svg$.DiscardElement.__proto__.created.call(this);
  ;
}).prototype = svg$.DiscardElement.prototype;
dart.addTypeTests(svg$.DiscardElement);
dart.addTypeCaches(svg$.DiscardElement);
dart.setLibraryUri(svg$.DiscardElement, I[157]);
dart.registerExtension("SVGDiscardElement", svg$.DiscardElement);
svg$.EllipseElement = class EllipseElement extends svg$.GeometryElement {
  static new() {
    return svg$.EllipseElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("ellipse"));
  }
  get [S$3.$cx]() {
    return this.cx;
  }
  get [S$3.$cy]() {
    return this.cy;
  }
  get [S$3.$rx]() {
    return this.rx;
  }
  get [S$3.$ry]() {
    return this.ry;
  }
};
(svg$.EllipseElement.created = function() {
  svg$.EllipseElement.__proto__.created.call(this);
  ;
}).prototype = svg$.EllipseElement.prototype;
dart.addTypeTests(svg$.EllipseElement);
dart.addTypeCaches(svg$.EllipseElement);
dart.setGetterSignature(svg$.EllipseElement, () => ({
  __proto__: dart.getGetters(svg$.EllipseElement.__proto__),
  [S$3.$cx]: dart.nullable(svg$.AnimatedLength),
  [S$3.$cy]: dart.nullable(svg$.AnimatedLength),
  [S$3.$rx]: dart.nullable(svg$.AnimatedLength),
  [S$3.$ry]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.EllipseElement, I[157]);
dart.registerExtension("SVGEllipseElement", svg$.EllipseElement);
svg$.FEBlendElement = class FEBlendElement extends svg$.SvgElement {
  static new() {
    return svg$.FEBlendElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feBlend"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feBlend")) && svg$.FEBlendElement.is(svg$.SvgElement.tag("feBlend"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$in2]() {
    return this.in2;
  }
  get [S.$mode]() {
    return this.mode;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEBlendElement.created = function() {
  svg$.FEBlendElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEBlendElement.prototype;
dart.addTypeTests(svg$.FEBlendElement);
dart.addTypeCaches(svg$.FEBlendElement);
svg$.FEBlendElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEBlendElement, () => ({
  __proto__: dart.getGetters(svg$.FEBlendElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$in2]: dart.nullable(svg$.AnimatedString),
  [S.$mode]: dart.nullable(svg$.AnimatedEnumeration),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEBlendElement, I[157]);
dart.defineLazy(svg$.FEBlendElement, {
  /*svg$.FEBlendElement.SVG_FEBLEND_MODE_DARKEN*/get SVG_FEBLEND_MODE_DARKEN() {
    return 4;
  },
  /*svg$.FEBlendElement.SVG_FEBLEND_MODE_LIGHTEN*/get SVG_FEBLEND_MODE_LIGHTEN() {
    return 5;
  },
  /*svg$.FEBlendElement.SVG_FEBLEND_MODE_MULTIPLY*/get SVG_FEBLEND_MODE_MULTIPLY() {
    return 2;
  },
  /*svg$.FEBlendElement.SVG_FEBLEND_MODE_NORMAL*/get SVG_FEBLEND_MODE_NORMAL() {
    return 1;
  },
  /*svg$.FEBlendElement.SVG_FEBLEND_MODE_SCREEN*/get SVG_FEBLEND_MODE_SCREEN() {
    return 3;
  },
  /*svg$.FEBlendElement.SVG_FEBLEND_MODE_UNKNOWN*/get SVG_FEBLEND_MODE_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGFEBlendElement", svg$.FEBlendElement);
svg$.FEColorMatrixElement = class FEColorMatrixElement extends svg$.SvgElement {
  static new() {
    return svg$.FEColorMatrixElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feColorMatrix"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feColorMatrix")) && svg$.FEColorMatrixElement.is(svg$.SvgElement.tag("feColorMatrix"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S.$type]() {
    return this.type;
  }
  get [$values]() {
    return this.values;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEColorMatrixElement.created = function() {
  svg$.FEColorMatrixElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEColorMatrixElement.prototype;
dart.addTypeTests(svg$.FEColorMatrixElement);
dart.addTypeCaches(svg$.FEColorMatrixElement);
svg$.FEColorMatrixElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEColorMatrixElement, () => ({
  __proto__: dart.getGetters(svg$.FEColorMatrixElement.__proto__),
  [S$3.$in1]: svg$.AnimatedString,
  [S.$type]: dart.nullable(svg$.AnimatedEnumeration),
  [$values]: dart.nullable(svg$.AnimatedNumberList),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEColorMatrixElement, I[157]);
dart.defineLazy(svg$.FEColorMatrixElement, {
  /*svg$.FEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_HUEROTATE*/get SVG_FECOLORMATRIX_TYPE_HUEROTATE() {
    return 3;
  },
  /*svg$.FEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA*/get SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA() {
    return 4;
  },
  /*svg$.FEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_MATRIX*/get SVG_FECOLORMATRIX_TYPE_MATRIX() {
    return 1;
  },
  /*svg$.FEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE*/get SVG_FECOLORMATRIX_TYPE_SATURATE() {
    return 2;
  },
  /*svg$.FEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_UNKNOWN*/get SVG_FECOLORMATRIX_TYPE_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGFEColorMatrixElement", svg$.FEColorMatrixElement);
svg$.FEComponentTransferElement = class FEComponentTransferElement extends svg$.SvgElement {
  static new() {
    return svg$.FEComponentTransferElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feComponentTransfer"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feComponentTransfer")) && svg$.FEComponentTransferElement.is(svg$.SvgElement.tag("feComponentTransfer"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEComponentTransferElement.created = function() {
  svg$.FEComponentTransferElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEComponentTransferElement.prototype;
dart.addTypeTests(svg$.FEComponentTransferElement);
dart.addTypeCaches(svg$.FEComponentTransferElement);
svg$.FEComponentTransferElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEComponentTransferElement, () => ({
  __proto__: dart.getGetters(svg$.FEComponentTransferElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEComponentTransferElement, I[157]);
dart.registerExtension("SVGFEComponentTransferElement", svg$.FEComponentTransferElement);
svg$.FECompositeElement = class FECompositeElement extends svg$.SvgElement {
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$in2]() {
    return this.in2;
  }
  get [S$3.$k1]() {
    return this.k1;
  }
  get [S$3.$k2]() {
    return this.k2;
  }
  get [S$3.$k3]() {
    return this.k3;
  }
  get [S$3.$k4]() {
    return this.k4;
  }
  get [S$3.$operator]() {
    return this.operator;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FECompositeElement.created = function() {
  svg$.FECompositeElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FECompositeElement.prototype;
dart.addTypeTests(svg$.FECompositeElement);
dart.addTypeCaches(svg$.FECompositeElement);
svg$.FECompositeElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FECompositeElement, () => ({
  __proto__: dart.getGetters(svg$.FECompositeElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$in2]: dart.nullable(svg$.AnimatedString),
  [S$3.$k1]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$k2]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$k3]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$k4]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$operator]: dart.nullable(svg$.AnimatedEnumeration),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FECompositeElement, I[157]);
dart.defineLazy(svg$.FECompositeElement, {
  /*svg$.FECompositeElement.SVG_FECOMPOSITE_OPERATOR_ARITHMETIC*/get SVG_FECOMPOSITE_OPERATOR_ARITHMETIC() {
    return 6;
  },
  /*svg$.FECompositeElement.SVG_FECOMPOSITE_OPERATOR_ATOP*/get SVG_FECOMPOSITE_OPERATOR_ATOP() {
    return 4;
  },
  /*svg$.FECompositeElement.SVG_FECOMPOSITE_OPERATOR_IN*/get SVG_FECOMPOSITE_OPERATOR_IN() {
    return 2;
  },
  /*svg$.FECompositeElement.SVG_FECOMPOSITE_OPERATOR_OUT*/get SVG_FECOMPOSITE_OPERATOR_OUT() {
    return 3;
  },
  /*svg$.FECompositeElement.SVG_FECOMPOSITE_OPERATOR_OVER*/get SVG_FECOMPOSITE_OPERATOR_OVER() {
    return 1;
  },
  /*svg$.FECompositeElement.SVG_FECOMPOSITE_OPERATOR_UNKNOWN*/get SVG_FECOMPOSITE_OPERATOR_UNKNOWN() {
    return 0;
  },
  /*svg$.FECompositeElement.SVG_FECOMPOSITE_OPERATOR_XOR*/get SVG_FECOMPOSITE_OPERATOR_XOR() {
    return 5;
  }
}, false);
dart.registerExtension("SVGFECompositeElement", svg$.FECompositeElement);
svg$.FEConvolveMatrixElement = class FEConvolveMatrixElement extends svg$.SvgElement {
  static new() {
    return svg$.FEConvolveMatrixElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feConvolveMatrix"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feConvolveMatrix")) && svg$.FEConvolveMatrixElement.is(svg$.SvgElement.tag("feConvolveMatrix"));
  }
  get [S$3.$bias]() {
    return this.bias;
  }
  get [S$3.$divisor]() {
    return this.divisor;
  }
  get [S$3.$edgeMode]() {
    return this.edgeMode;
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$kernelMatrix]() {
    return this.kernelMatrix;
  }
  get [S$3.$kernelUnitLengthX]() {
    return this.kernelUnitLengthX;
  }
  get [S$3.$kernelUnitLengthY]() {
    return this.kernelUnitLengthY;
  }
  get [S$3.$orderX]() {
    return this.orderX;
  }
  get [S$3.$orderY]() {
    return this.orderY;
  }
  get [S$3.$preserveAlpha]() {
    return this.preserveAlpha;
  }
  get [S$3.$targetX]() {
    return this.targetX;
  }
  get [S$3.$targetY]() {
    return this.targetY;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEConvolveMatrixElement.created = function() {
  svg$.FEConvolveMatrixElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEConvolveMatrixElement.prototype;
dart.addTypeTests(svg$.FEConvolveMatrixElement);
dart.addTypeCaches(svg$.FEConvolveMatrixElement);
svg$.FEConvolveMatrixElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEConvolveMatrixElement, () => ({
  __proto__: dart.getGetters(svg$.FEConvolveMatrixElement.__proto__),
  [S$3.$bias]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$divisor]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$edgeMode]: dart.nullable(svg$.AnimatedEnumeration),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$kernelMatrix]: dart.nullable(svg$.AnimatedNumberList),
  [S$3.$kernelUnitLengthX]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$kernelUnitLengthY]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$orderX]: dart.nullable(svg$.AnimatedInteger),
  [S$3.$orderY]: dart.nullable(svg$.AnimatedInteger),
  [S$3.$preserveAlpha]: dart.nullable(svg$.AnimatedBoolean),
  [S$3.$targetX]: dart.nullable(svg$.AnimatedInteger),
  [S$3.$targetY]: dart.nullable(svg$.AnimatedInteger),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEConvolveMatrixElement, I[157]);
dart.defineLazy(svg$.FEConvolveMatrixElement, {
  /*svg$.FEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE*/get SVG_EDGEMODE_DUPLICATE() {
    return 1;
  },
  /*svg$.FEConvolveMatrixElement.SVG_EDGEMODE_NONE*/get SVG_EDGEMODE_NONE() {
    return 3;
  },
  /*svg$.FEConvolveMatrixElement.SVG_EDGEMODE_UNKNOWN*/get SVG_EDGEMODE_UNKNOWN() {
    return 0;
  },
  /*svg$.FEConvolveMatrixElement.SVG_EDGEMODE_WRAP*/get SVG_EDGEMODE_WRAP() {
    return 2;
  }
}, false);
dart.registerExtension("SVGFEConvolveMatrixElement", svg$.FEConvolveMatrixElement);
svg$.FEDiffuseLightingElement = class FEDiffuseLightingElement extends svg$.SvgElement {
  static new() {
    return svg$.FEDiffuseLightingElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feDiffuseLighting"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feDiffuseLighting")) && svg$.FEDiffuseLightingElement.is(svg$.SvgElement.tag("feDiffuseLighting"));
  }
  get [S$3.$diffuseConstant]() {
    return this.diffuseConstant;
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$kernelUnitLengthX]() {
    return this.kernelUnitLengthX;
  }
  get [S$3.$kernelUnitLengthY]() {
    return this.kernelUnitLengthY;
  }
  get [S$3.$surfaceScale]() {
    return this.surfaceScale;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEDiffuseLightingElement.created = function() {
  svg$.FEDiffuseLightingElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEDiffuseLightingElement.prototype;
dart.addTypeTests(svg$.FEDiffuseLightingElement);
dart.addTypeCaches(svg$.FEDiffuseLightingElement);
svg$.FEDiffuseLightingElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEDiffuseLightingElement, () => ({
  __proto__: dart.getGetters(svg$.FEDiffuseLightingElement.__proto__),
  [S$3.$diffuseConstant]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$kernelUnitLengthX]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$kernelUnitLengthY]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$surfaceScale]: dart.nullable(svg$.AnimatedNumber),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEDiffuseLightingElement, I[157]);
dart.registerExtension("SVGFEDiffuseLightingElement", svg$.FEDiffuseLightingElement);
svg$.FEDisplacementMapElement = class FEDisplacementMapElement extends svg$.SvgElement {
  static new() {
    return svg$.FEDisplacementMapElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feDisplacementMap"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feDisplacementMap")) && svg$.FEDisplacementMapElement.is(svg$.SvgElement.tag("feDisplacementMap"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$in2]() {
    return this.in2;
  }
  get [S$.$scale]() {
    return this.scale;
  }
  get [S$3.$xChannelSelector]() {
    return this.xChannelSelector;
  }
  get [S$3.$yChannelSelector]() {
    return this.yChannelSelector;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEDisplacementMapElement.created = function() {
  svg$.FEDisplacementMapElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEDisplacementMapElement.prototype;
dart.addTypeTests(svg$.FEDisplacementMapElement);
dart.addTypeCaches(svg$.FEDisplacementMapElement);
svg$.FEDisplacementMapElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEDisplacementMapElement, () => ({
  __proto__: dart.getGetters(svg$.FEDisplacementMapElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$in2]: dart.nullable(svg$.AnimatedString),
  [S$.$scale]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$xChannelSelector]: dart.nullable(svg$.AnimatedEnumeration),
  [S$3.$yChannelSelector]: dart.nullable(svg$.AnimatedEnumeration),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEDisplacementMapElement, I[157]);
dart.defineLazy(svg$.FEDisplacementMapElement, {
  /*svg$.FEDisplacementMapElement.SVG_CHANNEL_A*/get SVG_CHANNEL_A() {
    return 4;
  },
  /*svg$.FEDisplacementMapElement.SVG_CHANNEL_B*/get SVG_CHANNEL_B() {
    return 3;
  },
  /*svg$.FEDisplacementMapElement.SVG_CHANNEL_G*/get SVG_CHANNEL_G() {
    return 2;
  },
  /*svg$.FEDisplacementMapElement.SVG_CHANNEL_R*/get SVG_CHANNEL_R() {
    return 1;
  },
  /*svg$.FEDisplacementMapElement.SVG_CHANNEL_UNKNOWN*/get SVG_CHANNEL_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGFEDisplacementMapElement", svg$.FEDisplacementMapElement);
svg$.FEDistantLightElement = class FEDistantLightElement extends svg$.SvgElement {
  static new() {
    return svg$.FEDistantLightElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feDistantLight"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feDistantLight")) && svg$.FEDistantLightElement.is(svg$.SvgElement.tag("feDistantLight"));
  }
  get [S$3.$azimuth]() {
    return this.azimuth;
  }
  get [S$3.$elevation]() {
    return this.elevation;
  }
};
(svg$.FEDistantLightElement.created = function() {
  svg$.FEDistantLightElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEDistantLightElement.prototype;
dart.addTypeTests(svg$.FEDistantLightElement);
dart.addTypeCaches(svg$.FEDistantLightElement);
dart.setGetterSignature(svg$.FEDistantLightElement, () => ({
  __proto__: dart.getGetters(svg$.FEDistantLightElement.__proto__),
  [S$3.$azimuth]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$elevation]: dart.nullable(svg$.AnimatedNumber)
}));
dart.setLibraryUri(svg$.FEDistantLightElement, I[157]);
dart.registerExtension("SVGFEDistantLightElement", svg$.FEDistantLightElement);
svg$.FEFloodElement = class FEFloodElement extends svg$.SvgElement {
  static new() {
    return svg$.FEFloodElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feFlood"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feFlood")) && svg$.FEFloodElement.is(svg$.SvgElement.tag("feFlood"));
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEFloodElement.created = function() {
  svg$.FEFloodElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEFloodElement.prototype;
dart.addTypeTests(svg$.FEFloodElement);
dart.addTypeCaches(svg$.FEFloodElement);
svg$.FEFloodElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEFloodElement, () => ({
  __proto__: dart.getGetters(svg$.FEFloodElement.__proto__),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEFloodElement, I[157]);
dart.registerExtension("SVGFEFloodElement", svg$.FEFloodElement);
svg$._SVGComponentTransferFunctionElement = class _SVGComponentTransferFunctionElement extends svg$.SvgElement {};
(svg$._SVGComponentTransferFunctionElement.created = function() {
  svg$._SVGComponentTransferFunctionElement.__proto__.created.call(this);
  ;
}).prototype = svg$._SVGComponentTransferFunctionElement.prototype;
dart.addTypeTests(svg$._SVGComponentTransferFunctionElement);
dart.addTypeCaches(svg$._SVGComponentTransferFunctionElement);
dart.setLibraryUri(svg$._SVGComponentTransferFunctionElement, I[157]);
dart.registerExtension("SVGComponentTransferFunctionElement", svg$._SVGComponentTransferFunctionElement);
svg$.FEFuncAElement = class FEFuncAElement extends svg$._SVGComponentTransferFunctionElement {
  static new() {
    return svg$.FEFuncAElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feFuncA"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feFuncA")) && svg$.FEFuncAElement.is(svg$.SvgElement.tag("feFuncA"));
  }
};
(svg$.FEFuncAElement.created = function() {
  svg$.FEFuncAElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEFuncAElement.prototype;
dart.addTypeTests(svg$.FEFuncAElement);
dart.addTypeCaches(svg$.FEFuncAElement);
dart.setLibraryUri(svg$.FEFuncAElement, I[157]);
dart.registerExtension("SVGFEFuncAElement", svg$.FEFuncAElement);
svg$.FEFuncBElement = class FEFuncBElement extends svg$._SVGComponentTransferFunctionElement {
  static new() {
    return svg$.FEFuncBElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feFuncB"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feFuncB")) && svg$.FEFuncBElement.is(svg$.SvgElement.tag("feFuncB"));
  }
};
(svg$.FEFuncBElement.created = function() {
  svg$.FEFuncBElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEFuncBElement.prototype;
dart.addTypeTests(svg$.FEFuncBElement);
dart.addTypeCaches(svg$.FEFuncBElement);
dart.setLibraryUri(svg$.FEFuncBElement, I[157]);
dart.registerExtension("SVGFEFuncBElement", svg$.FEFuncBElement);
svg$.FEFuncGElement = class FEFuncGElement extends svg$._SVGComponentTransferFunctionElement {
  static new() {
    return svg$.FEFuncGElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feFuncG"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feFuncG")) && svg$.FEFuncGElement.is(svg$.SvgElement.tag("feFuncG"));
  }
};
(svg$.FEFuncGElement.created = function() {
  svg$.FEFuncGElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEFuncGElement.prototype;
dart.addTypeTests(svg$.FEFuncGElement);
dart.addTypeCaches(svg$.FEFuncGElement);
dart.setLibraryUri(svg$.FEFuncGElement, I[157]);
dart.registerExtension("SVGFEFuncGElement", svg$.FEFuncGElement);
svg$.FEFuncRElement = class FEFuncRElement extends svg$._SVGComponentTransferFunctionElement {
  static new() {
    return svg$.FEFuncRElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feFuncR"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feFuncR")) && svg$.FEFuncRElement.is(svg$.SvgElement.tag("feFuncR"));
  }
};
(svg$.FEFuncRElement.created = function() {
  svg$.FEFuncRElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEFuncRElement.prototype;
dart.addTypeTests(svg$.FEFuncRElement);
dart.addTypeCaches(svg$.FEFuncRElement);
dart.setLibraryUri(svg$.FEFuncRElement, I[157]);
dart.registerExtension("SVGFEFuncRElement", svg$.FEFuncRElement);
svg$.FEGaussianBlurElement = class FEGaussianBlurElement extends svg$.SvgElement {
  static new() {
    return svg$.FEGaussianBlurElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feGaussianBlur"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feGaussianBlur")) && svg$.FEGaussianBlurElement.is(svg$.SvgElement.tag("feGaussianBlur"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$stdDeviationX]() {
    return this.stdDeviationX;
  }
  get [S$3.$stdDeviationY]() {
    return this.stdDeviationY;
  }
  [S$3.$setStdDeviation](...args) {
    return this.setStdDeviation.apply(this, args);
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEGaussianBlurElement.created = function() {
  svg$.FEGaussianBlurElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEGaussianBlurElement.prototype;
dart.addTypeTests(svg$.FEGaussianBlurElement);
dart.addTypeCaches(svg$.FEGaussianBlurElement);
svg$.FEGaussianBlurElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setMethodSignature(svg$.FEGaussianBlurElement, () => ({
  __proto__: dart.getMethods(svg$.FEGaussianBlurElement.__proto__),
  [S$3.$setStdDeviation]: dart.fnType(dart.void, [core.num, core.num])
}));
dart.setGetterSignature(svg$.FEGaussianBlurElement, () => ({
  __proto__: dart.getGetters(svg$.FEGaussianBlurElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$stdDeviationX]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$stdDeviationY]: dart.nullable(svg$.AnimatedNumber),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEGaussianBlurElement, I[157]);
dart.registerExtension("SVGFEGaussianBlurElement", svg$.FEGaussianBlurElement);
svg$.FEImageElement = class FEImageElement extends svg$.SvgElement {
  static new() {
    return svg$.FEImageElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feImage"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feImage")) && svg$.FEImageElement.is(svg$.SvgElement.tag("feImage"));
  }
  get [S$3.$preserveAspectRatio]() {
    return this.preserveAspectRatio;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.FEImageElement.created = function() {
  svg$.FEImageElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEImageElement.prototype;
dart.addTypeTests(svg$.FEImageElement);
dart.addTypeCaches(svg$.FEImageElement);
svg$.FEImageElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes, svg$.UriReference];
dart.setGetterSignature(svg$.FEImageElement, () => ({
  __proto__: dart.getGetters(svg$.FEImageElement.__proto__),
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.FEImageElement, I[157]);
dart.registerExtension("SVGFEImageElement", svg$.FEImageElement);
svg$.FEMergeElement = class FEMergeElement extends svg$.SvgElement {
  static new() {
    return svg$.FEMergeElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feMerge"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feMerge")) && svg$.FEMergeElement.is(svg$.SvgElement.tag("feMerge"));
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEMergeElement.created = function() {
  svg$.FEMergeElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEMergeElement.prototype;
dart.addTypeTests(svg$.FEMergeElement);
dart.addTypeCaches(svg$.FEMergeElement);
svg$.FEMergeElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEMergeElement, () => ({
  __proto__: dart.getGetters(svg$.FEMergeElement.__proto__),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEMergeElement, I[157]);
dart.registerExtension("SVGFEMergeElement", svg$.FEMergeElement);
svg$.FEMergeNodeElement = class FEMergeNodeElement extends svg$.SvgElement {
  static new() {
    return svg$.FEMergeNodeElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feMergeNode"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feMergeNode")) && svg$.FEMergeNodeElement.is(svg$.SvgElement.tag("feMergeNode"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
};
(svg$.FEMergeNodeElement.created = function() {
  svg$.FEMergeNodeElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEMergeNodeElement.prototype;
dart.addTypeTests(svg$.FEMergeNodeElement);
dart.addTypeCaches(svg$.FEMergeNodeElement);
dart.setGetterSignature(svg$.FEMergeNodeElement, () => ({
  __proto__: dart.getGetters(svg$.FEMergeNodeElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.FEMergeNodeElement, I[157]);
dart.registerExtension("SVGFEMergeNodeElement", svg$.FEMergeNodeElement);
svg$.FEMorphologyElement = class FEMorphologyElement extends svg$.SvgElement {
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$operator]() {
    return this.operator;
  }
  get [S$2.$radiusX]() {
    return this.radiusX;
  }
  get [S$3.$radiusY]() {
    return this.radiusY;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEMorphologyElement.created = function() {
  svg$.FEMorphologyElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEMorphologyElement.prototype;
dart.addTypeTests(svg$.FEMorphologyElement);
dart.addTypeCaches(svg$.FEMorphologyElement);
svg$.FEMorphologyElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEMorphologyElement, () => ({
  __proto__: dart.getGetters(svg$.FEMorphologyElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$operator]: dart.nullable(svg$.AnimatedEnumeration),
  [S$2.$radiusX]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$radiusY]: dart.nullable(svg$.AnimatedNumber),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEMorphologyElement, I[157]);
dart.defineLazy(svg$.FEMorphologyElement, {
  /*svg$.FEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE*/get SVG_MORPHOLOGY_OPERATOR_DILATE() {
    return 2;
  },
  /*svg$.FEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE*/get SVG_MORPHOLOGY_OPERATOR_ERODE() {
    return 1;
  },
  /*svg$.FEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_UNKNOWN*/get SVG_MORPHOLOGY_OPERATOR_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGFEMorphologyElement", svg$.FEMorphologyElement);
svg$.FEOffsetElement = class FEOffsetElement extends svg$.SvgElement {
  static new() {
    return svg$.FEOffsetElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feOffset"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feOffset")) && svg$.FEOffsetElement.is(svg$.SvgElement.tag("feOffset"));
  }
  get [S$3.$dx]() {
    return this.dx;
  }
  get [S$3.$dy]() {
    return this.dy;
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FEOffsetElement.created = function() {
  svg$.FEOffsetElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEOffsetElement.prototype;
dart.addTypeTests(svg$.FEOffsetElement);
dart.addTypeCaches(svg$.FEOffsetElement);
svg$.FEOffsetElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FEOffsetElement, () => ({
  __proto__: dart.getGetters(svg$.FEOffsetElement.__proto__),
  [S$3.$dx]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$dy]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FEOffsetElement, I[157]);
dart.registerExtension("SVGFEOffsetElement", svg$.FEOffsetElement);
svg$.FEPointLightElement = class FEPointLightElement extends svg$.SvgElement {
  static new() {
    return svg$.FEPointLightElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("fePointLight"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("fePointLight")) && svg$.FEPointLightElement.is(svg$.SvgElement.tag("fePointLight"));
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$z]() {
    return this.z;
  }
};
(svg$.FEPointLightElement.created = function() {
  svg$.FEPointLightElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FEPointLightElement.prototype;
dart.addTypeTests(svg$.FEPointLightElement);
dart.addTypeCaches(svg$.FEPointLightElement);
dart.setGetterSignature(svg$.FEPointLightElement, () => ({
  __proto__: dart.getGetters(svg$.FEPointLightElement.__proto__),
  [S$.$x]: dart.nullable(svg$.AnimatedNumber),
  [S$.$y]: dart.nullable(svg$.AnimatedNumber),
  [S$.$z]: dart.nullable(svg$.AnimatedNumber)
}));
dart.setLibraryUri(svg$.FEPointLightElement, I[157]);
dart.registerExtension("SVGFEPointLightElement", svg$.FEPointLightElement);
svg$.FESpecularLightingElement = class FESpecularLightingElement extends svg$.SvgElement {
  static new() {
    return svg$.FESpecularLightingElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feSpecularLighting"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feSpecularLighting")) && svg$.FESpecularLightingElement.is(svg$.SvgElement.tag("feSpecularLighting"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [S$3.$kernelUnitLengthX]() {
    return this.kernelUnitLengthX;
  }
  get [S$3.$kernelUnitLengthY]() {
    return this.kernelUnitLengthY;
  }
  get [S$3.$specularConstant]() {
    return this.specularConstant;
  }
  get [S$3.$specularExponent]() {
    return this.specularExponent;
  }
  get [S$3.$surfaceScale]() {
    return this.surfaceScale;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FESpecularLightingElement.created = function() {
  svg$.FESpecularLightingElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FESpecularLightingElement.prototype;
dart.addTypeTests(svg$.FESpecularLightingElement);
dart.addTypeCaches(svg$.FESpecularLightingElement);
svg$.FESpecularLightingElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FESpecularLightingElement, () => ({
  __proto__: dart.getGetters(svg$.FESpecularLightingElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [S$3.$kernelUnitLengthX]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$kernelUnitLengthY]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$specularConstant]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$specularExponent]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$surfaceScale]: dart.nullable(svg$.AnimatedNumber),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FESpecularLightingElement, I[157]);
dart.registerExtension("SVGFESpecularLightingElement", svg$.FESpecularLightingElement);
svg$.FESpotLightElement = class FESpotLightElement extends svg$.SvgElement {
  static new() {
    return svg$.FESpotLightElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feSpotLight"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feSpotLight")) && svg$.FESpotLightElement.is(svg$.SvgElement.tag("feSpotLight"));
  }
  get [S$3.$limitingConeAngle]() {
    return this.limitingConeAngle;
  }
  get [S$3.$pointsAtX]() {
    return this.pointsAtX;
  }
  get [S$3.$pointsAtY]() {
    return this.pointsAtY;
  }
  get [S$3.$pointsAtZ]() {
    return this.pointsAtZ;
  }
  get [S$3.$specularExponent]() {
    return this.specularExponent;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$z]() {
    return this.z;
  }
};
(svg$.FESpotLightElement.created = function() {
  svg$.FESpotLightElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FESpotLightElement.prototype;
dart.addTypeTests(svg$.FESpotLightElement);
dart.addTypeCaches(svg$.FESpotLightElement);
dart.setGetterSignature(svg$.FESpotLightElement, () => ({
  __proto__: dart.getGetters(svg$.FESpotLightElement.__proto__),
  [S$3.$limitingConeAngle]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$pointsAtX]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$pointsAtY]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$pointsAtZ]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$specularExponent]: dart.nullable(svg$.AnimatedNumber),
  [S$.$x]: dart.nullable(svg$.AnimatedNumber),
  [S$.$y]: dart.nullable(svg$.AnimatedNumber),
  [S$.$z]: dart.nullable(svg$.AnimatedNumber)
}));
dart.setLibraryUri(svg$.FESpotLightElement, I[157]);
dart.registerExtension("SVGFESpotLightElement", svg$.FESpotLightElement);
svg$.FETileElement = class FETileElement extends svg$.SvgElement {
  static new() {
    return svg$.FETileElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feTile"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feTile")) && svg$.FETileElement.is(svg$.SvgElement.tag("feTile"));
  }
  get [S$3.$in1]() {
    return this.in1;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FETileElement.created = function() {
  svg$.FETileElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FETileElement.prototype;
dart.addTypeTests(svg$.FETileElement);
dart.addTypeCaches(svg$.FETileElement);
svg$.FETileElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FETileElement, () => ({
  __proto__: dart.getGetters(svg$.FETileElement.__proto__),
  [S$3.$in1]: dart.nullable(svg$.AnimatedString),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FETileElement, I[157]);
dart.registerExtension("SVGFETileElement", svg$.FETileElement);
svg$.FETurbulenceElement = class FETurbulenceElement extends svg$.SvgElement {
  static new() {
    return svg$.FETurbulenceElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("feTurbulence"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("feTurbulence")) && svg$.FETurbulenceElement.is(svg$.SvgElement.tag("feTurbulence"));
  }
  get [S$3.$baseFrequencyX]() {
    return this.baseFrequencyX;
  }
  get [S$3.$baseFrequencyY]() {
    return this.baseFrequencyY;
  }
  get [S$3.$numOctaves]() {
    return this.numOctaves;
  }
  get [S$3.$seed]() {
    return this.seed;
  }
  get [S$3.$stitchTiles]() {
    return this.stitchTiles;
  }
  get [S.$type]() {
    return this.type;
  }
  get [$height]() {
    return this.height;
  }
  get [S.$result]() {
    return this.result;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.FETurbulenceElement.created = function() {
  svg$.FETurbulenceElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FETurbulenceElement.prototype;
dart.addTypeTests(svg$.FETurbulenceElement);
dart.addTypeCaches(svg$.FETurbulenceElement);
svg$.FETurbulenceElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setGetterSignature(svg$.FETurbulenceElement, () => ({
  __proto__: dart.getGetters(svg$.FETurbulenceElement.__proto__),
  [S$3.$baseFrequencyX]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$baseFrequencyY]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$numOctaves]: dart.nullable(svg$.AnimatedInteger),
  [S$3.$seed]: dart.nullable(svg$.AnimatedNumber),
  [S$3.$stitchTiles]: dart.nullable(svg$.AnimatedEnumeration),
  [S.$type]: dart.nullable(svg$.AnimatedEnumeration),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FETurbulenceElement, I[157]);
dart.defineLazy(svg$.FETurbulenceElement, {
  /*svg$.FETurbulenceElement.SVG_STITCHTYPE_NOSTITCH*/get SVG_STITCHTYPE_NOSTITCH() {
    return 2;
  },
  /*svg$.FETurbulenceElement.SVG_STITCHTYPE_STITCH*/get SVG_STITCHTYPE_STITCH() {
    return 1;
  },
  /*svg$.FETurbulenceElement.SVG_STITCHTYPE_UNKNOWN*/get SVG_STITCHTYPE_UNKNOWN() {
    return 0;
  },
  /*svg$.FETurbulenceElement.SVG_TURBULENCE_TYPE_FRACTALNOISE*/get SVG_TURBULENCE_TYPE_FRACTALNOISE() {
    return 1;
  },
  /*svg$.FETurbulenceElement.SVG_TURBULENCE_TYPE_TURBULENCE*/get SVG_TURBULENCE_TYPE_TURBULENCE() {
    return 2;
  },
  /*svg$.FETurbulenceElement.SVG_TURBULENCE_TYPE_UNKNOWN*/get SVG_TURBULENCE_TYPE_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGFETurbulenceElement", svg$.FETurbulenceElement);
svg$.FilterElement = class FilterElement extends svg$.SvgElement {
  static new() {
    return svg$.FilterElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("filter"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("filter")) && svg$.FilterElement.is(svg$.SvgElement.tag("filter"));
  }
  get [S$3.$filterUnits]() {
    return this.filterUnits;
  }
  get [$height]() {
    return this.height;
  }
  get [S$3.$primitiveUnits]() {
    return this.primitiveUnits;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.FilterElement.created = function() {
  svg$.FilterElement.__proto__.created.call(this);
  ;
}).prototype = svg$.FilterElement.prototype;
dart.addTypeTests(svg$.FilterElement);
dart.addTypeCaches(svg$.FilterElement);
svg$.FilterElement[dart.implements] = () => [svg$.UriReference];
dart.setGetterSignature(svg$.FilterElement, () => ({
  __proto__: dart.getGetters(svg$.FilterElement.__proto__),
  [S$3.$filterUnits]: dart.nullable(svg$.AnimatedEnumeration),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S$3.$primitiveUnits]: dart.nullable(svg$.AnimatedEnumeration),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.FilterElement, I[157]);
dart.registerExtension("SVGFilterElement", svg$.FilterElement);
svg$.FilterPrimitiveStandardAttributes = class FilterPrimitiveStandardAttributes extends _interceptors.Interceptor {
  get height() {
    return this.height;
  }
  get result() {
    return this.result;
  }
  get width() {
    return this.width;
  }
  get x() {
    return this.x;
  }
  get y() {
    return this.y;
  }
};
dart.addTypeTests(svg$.FilterPrimitiveStandardAttributes);
dart.addTypeCaches(svg$.FilterPrimitiveStandardAttributes);
dart.setGetterSignature(svg$.FilterPrimitiveStandardAttributes, () => ({
  __proto__: dart.getGetters(svg$.FilterPrimitiveStandardAttributes.__proto__),
  height: dart.nullable(svg$.AnimatedLength),
  [$height]: dart.nullable(svg$.AnimatedLength),
  result: dart.nullable(svg$.AnimatedString),
  [S.$result]: dart.nullable(svg$.AnimatedString),
  width: dart.nullable(svg$.AnimatedLength),
  [$width]: dart.nullable(svg$.AnimatedLength),
  x: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  y: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.FilterPrimitiveStandardAttributes, I[157]);
dart.defineExtensionAccessors(svg$.FilterPrimitiveStandardAttributes, [
  'height',
  'result',
  'width',
  'x',
  'y'
]);
svg$.FitToViewBox = class FitToViewBox extends _interceptors.Interceptor {
  get preserveAspectRatio() {
    return this.preserveAspectRatio;
  }
  get viewBox() {
    return this.viewBox;
  }
};
dart.addTypeTests(svg$.FitToViewBox);
dart.addTypeCaches(svg$.FitToViewBox);
dart.setGetterSignature(svg$.FitToViewBox, () => ({
  __proto__: dart.getGetters(svg$.FitToViewBox.__proto__),
  preserveAspectRatio: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  viewBox: dart.nullable(svg$.AnimatedRect),
  [S$3.$viewBox]: dart.nullable(svg$.AnimatedRect)
}));
dart.setLibraryUri(svg$.FitToViewBox, I[157]);
dart.defineExtensionAccessors(svg$.FitToViewBox, ['preserveAspectRatio', 'viewBox']);
svg$.ForeignObjectElement = class ForeignObjectElement extends svg$.GraphicsElement {
  static new() {
    return svg$.ForeignObjectElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("foreignObject"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("foreignObject")) && svg$.ForeignObjectElement.is(svg$.SvgElement.tag("foreignObject"));
  }
  get [$height]() {
    return this.height;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.ForeignObjectElement.created = function() {
  svg$.ForeignObjectElement.__proto__.created.call(this);
  ;
}).prototype = svg$.ForeignObjectElement.prototype;
dart.addTypeTests(svg$.ForeignObjectElement);
dart.addTypeCaches(svg$.ForeignObjectElement);
dart.setGetterSignature(svg$.ForeignObjectElement, () => ({
  __proto__: dart.getGetters(svg$.ForeignObjectElement.__proto__),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.ForeignObjectElement, I[157]);
dart.registerExtension("SVGForeignObjectElement", svg$.ForeignObjectElement);
svg$.GElement = class GElement extends svg$.GraphicsElement {
  static new() {
    return svg$.GElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("g"));
  }
};
(svg$.GElement.created = function() {
  svg$.GElement.__proto__.created.call(this);
  ;
}).prototype = svg$.GElement.prototype;
dart.addTypeTests(svg$.GElement);
dart.addTypeCaches(svg$.GElement);
dart.setLibraryUri(svg$.GElement, I[157]);
dart.registerExtension("SVGGElement", svg$.GElement);
svg$.ImageElement = class ImageElement extends svg$.GraphicsElement {
  static new() {
    return svg$.ImageElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("image"));
  }
  get [S$1.$async]() {
    return this.async;
  }
  set [S$1.$async](value) {
    this.async = value;
  }
  get [$height]() {
    return this.height;
  }
  get [S$3.$preserveAspectRatio]() {
    return this.preserveAspectRatio;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  [S$1.$decode]() {
    return js_util.promiseToFuture(dart.dynamic, this.decode());
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.ImageElement.created = function() {
  svg$.ImageElement.__proto__.created.call(this);
  ;
}).prototype = svg$.ImageElement.prototype;
dart.addTypeTests(svg$.ImageElement);
dart.addTypeCaches(svg$.ImageElement);
svg$.ImageElement[dart.implements] = () => [svg$.UriReference];
dart.setMethodSignature(svg$.ImageElement, () => ({
  __proto__: dart.getMethods(svg$.ImageElement.__proto__),
  [S$1.$decode]: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(svg$.ImageElement, () => ({
  __proto__: dart.getGetters(svg$.ImageElement.__proto__),
  [S$1.$async]: dart.nullable(core.String),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setSetterSignature(svg$.ImageElement, () => ({
  __proto__: dart.getSetters(svg$.ImageElement.__proto__),
  [S$1.$async]: dart.nullable(core.String)
}));
dart.setLibraryUri(svg$.ImageElement, I[157]);
dart.registerExtension("SVGImageElement", svg$.ImageElement);
svg$.Length = class Length extends _interceptors.Interceptor {
  get [S$3.$unitType]() {
    return this.unitType;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  get [S$3.$valueAsString]() {
    return this.valueAsString;
  }
  set [S$3.$valueAsString](value) {
    this.valueAsString = value;
  }
  get [S$3.$valueInSpecifiedUnits]() {
    return this.valueInSpecifiedUnits;
  }
  set [S$3.$valueInSpecifiedUnits](value) {
    this.valueInSpecifiedUnits = value;
  }
  [S$3.$convertToSpecifiedUnits](...args) {
    return this.convertToSpecifiedUnits.apply(this, args);
  }
  [S$3.$newValueSpecifiedUnits](...args) {
    return this.newValueSpecifiedUnits.apply(this, args);
  }
};
dart.addTypeTests(svg$.Length);
dart.addTypeCaches(svg$.Length);
dart.setMethodSignature(svg$.Length, () => ({
  __proto__: dart.getMethods(svg$.Length.__proto__),
  [S$3.$convertToSpecifiedUnits]: dart.fnType(dart.void, [core.int]),
  [S$3.$newValueSpecifiedUnits]: dart.fnType(dart.void, [core.int, core.num])
}));
dart.setGetterSignature(svg$.Length, () => ({
  __proto__: dart.getGetters(svg$.Length.__proto__),
  [S$3.$unitType]: dart.nullable(core.int),
  [S.$value]: dart.nullable(core.num),
  [S$3.$valueAsString]: dart.nullable(core.String),
  [S$3.$valueInSpecifiedUnits]: dart.nullable(core.num)
}));
dart.setSetterSignature(svg$.Length, () => ({
  __proto__: dart.getSetters(svg$.Length.__proto__),
  [S.$value]: dart.nullable(core.num),
  [S$3.$valueAsString]: dart.nullable(core.String),
  [S$3.$valueInSpecifiedUnits]: dart.nullable(core.num)
}));
dart.setLibraryUri(svg$.Length, I[157]);
dart.defineLazy(svg$.Length, {
  /*svg$.Length.SVG_LENGTHTYPE_CM*/get SVG_LENGTHTYPE_CM() {
    return 6;
  },
  /*svg$.Length.SVG_LENGTHTYPE_EMS*/get SVG_LENGTHTYPE_EMS() {
    return 3;
  },
  /*svg$.Length.SVG_LENGTHTYPE_EXS*/get SVG_LENGTHTYPE_EXS() {
    return 4;
  },
  /*svg$.Length.SVG_LENGTHTYPE_IN*/get SVG_LENGTHTYPE_IN() {
    return 8;
  },
  /*svg$.Length.SVG_LENGTHTYPE_MM*/get SVG_LENGTHTYPE_MM() {
    return 7;
  },
  /*svg$.Length.SVG_LENGTHTYPE_NUMBER*/get SVG_LENGTHTYPE_NUMBER() {
    return 1;
  },
  /*svg$.Length.SVG_LENGTHTYPE_PC*/get SVG_LENGTHTYPE_PC() {
    return 10;
  },
  /*svg$.Length.SVG_LENGTHTYPE_PERCENTAGE*/get SVG_LENGTHTYPE_PERCENTAGE() {
    return 2;
  },
  /*svg$.Length.SVG_LENGTHTYPE_PT*/get SVG_LENGTHTYPE_PT() {
    return 9;
  },
  /*svg$.Length.SVG_LENGTHTYPE_PX*/get SVG_LENGTHTYPE_PX() {
    return 5;
  },
  /*svg$.Length.SVG_LENGTHTYPE_UNKNOWN*/get SVG_LENGTHTYPE_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGLength", svg$.Length);
const Interceptor_ListMixin$36$13 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$13.new = function() {
  Interceptor_ListMixin$36$13.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$13.prototype;
dart.applyMixin(Interceptor_ListMixin$36$13, collection.ListMixin$(svg$.Length));
const Interceptor_ImmutableListMixin$36$13 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$13 {};
(Interceptor_ImmutableListMixin$36$13.new = function() {
  Interceptor_ImmutableListMixin$36$13.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$13.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$13, html$.ImmutableListMixin$(svg$.Length));
svg$.LengthList = class LengthList extends Interceptor_ImmutableListMixin$36$13 {
  get [$length]() {
    return this.length;
  }
  get [S$3.$numberOfItems]() {
    return this.numberOfItems;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[156], 2053, 26, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this.getItem(index);
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[156], 2059, 25, "index");
    svg$.Length.as(value);
    if (value == null) dart.nullFailed(I[156], 2059, 39, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[156], 2065, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[156], 2093, 24, "index");
    return this[$_get](index);
  }
  [S$3.__setter__$1](...args) {
    return this.__setter__.apply(this, args);
  }
  [S$3.$appendItem](...args) {
    return this.appendItem.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$3.$getItem](...args) {
    return this.getItem.apply(this, args);
  }
  [S$3.$initialize](...args) {
    return this.initialize.apply(this, args);
  }
  [S$3.$insertItemBefore](...args) {
    return this.insertItemBefore.apply(this, args);
  }
  [S$3.$removeItem](...args) {
    return this.removeItem.apply(this, args);
  }
  [S$3.$replaceItem](...args) {
    return this.replaceItem.apply(this, args);
  }
};
svg$.LengthList.prototype[dart.isList] = true;
dart.addTypeTests(svg$.LengthList);
dart.addTypeCaches(svg$.LengthList);
svg$.LengthList[dart.implements] = () => [core.List$(svg$.Length)];
dart.setMethodSignature(svg$.LengthList, () => ({
  __proto__: dart.getMethods(svg$.LengthList.__proto__),
  [$_get]: dart.fnType(svg$.Length, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$3.__setter__$1]: dart.fnType(dart.void, [core.int, svg$.Length]),
  [S$3.$appendItem]: dart.fnType(svg$.Length, [svg$.Length]),
  [S$3.$getItem]: dart.fnType(svg$.Length, [core.int]),
  [S$3.$initialize]: dart.fnType(svg$.Length, [svg$.Length]),
  [S$3.$insertItemBefore]: dart.fnType(svg$.Length, [svg$.Length, core.int]),
  [S$3.$removeItem]: dart.fnType(svg$.Length, [core.int]),
  [S$3.$replaceItem]: dart.fnType(svg$.Length, [svg$.Length, core.int])
}));
dart.setGetterSignature(svg$.LengthList, () => ({
  __proto__: dart.getGetters(svg$.LengthList.__proto__),
  [$length]: core.int,
  [S$3.$numberOfItems]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.LengthList, () => ({
  __proto__: dart.getSetters(svg$.LengthList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(svg$.LengthList, I[157]);
dart.registerExtension("SVGLengthList", svg$.LengthList);
svg$.LineElement = class LineElement extends svg$.GeometryElement {
  static new() {
    return svg$.LineElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("line"));
  }
  get [S$3.$x1]() {
    return this.x1;
  }
  get [S$3.$x2]() {
    return this.x2;
  }
  get [S$3.$y1]() {
    return this.y1;
  }
  get [S$3.$y2]() {
    return this.y2;
  }
};
(svg$.LineElement.created = function() {
  svg$.LineElement.__proto__.created.call(this);
  ;
}).prototype = svg$.LineElement.prototype;
dart.addTypeTests(svg$.LineElement);
dart.addTypeCaches(svg$.LineElement);
dart.setGetterSignature(svg$.LineElement, () => ({
  __proto__: dart.getGetters(svg$.LineElement.__proto__),
  [S$3.$x1]: dart.nullable(svg$.AnimatedLength),
  [S$3.$x2]: dart.nullable(svg$.AnimatedLength),
  [S$3.$y1]: dart.nullable(svg$.AnimatedLength),
  [S$3.$y2]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.LineElement, I[157]);
dart.registerExtension("SVGLineElement", svg$.LineElement);
svg$._GradientElement = class _GradientElement extends svg$.SvgElement {
  get [S$3.$gradientTransform]() {
    return this.gradientTransform;
  }
  get [S$3.$gradientUnits]() {
    return this.gradientUnits;
  }
  get [S$3.$spreadMethod]() {
    return this.spreadMethod;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$._GradientElement.created = function() {
  svg$._GradientElement.__proto__.created.call(this);
  ;
}).prototype = svg$._GradientElement.prototype;
dart.addTypeTests(svg$._GradientElement);
dart.addTypeCaches(svg$._GradientElement);
svg$._GradientElement[dart.implements] = () => [svg$.UriReference];
dart.setGetterSignature(svg$._GradientElement, () => ({
  __proto__: dart.getGetters(svg$._GradientElement.__proto__),
  [S$3.$gradientTransform]: dart.nullable(svg$.AnimatedTransformList),
  [S$3.$gradientUnits]: dart.nullable(svg$.AnimatedEnumeration),
  [S$3.$spreadMethod]: dart.nullable(svg$.AnimatedEnumeration),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$._GradientElement, I[157]);
dart.defineLazy(svg$._GradientElement, {
  /*svg$._GradientElement.SVG_SPREADMETHOD_PAD*/get SVG_SPREADMETHOD_PAD() {
    return 1;
  },
  /*svg$._GradientElement.SVG_SPREADMETHOD_REFLECT*/get SVG_SPREADMETHOD_REFLECT() {
    return 2;
  },
  /*svg$._GradientElement.SVG_SPREADMETHOD_REPEAT*/get SVG_SPREADMETHOD_REPEAT() {
    return 3;
  },
  /*svg$._GradientElement.SVG_SPREADMETHOD_UNKNOWN*/get SVG_SPREADMETHOD_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGGradientElement", svg$._GradientElement);
svg$.LinearGradientElement = class LinearGradientElement extends svg$._GradientElement {
  static new() {
    return svg$.LinearGradientElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("linearGradient"));
  }
  get [S$3.$x1]() {
    return this.x1;
  }
  get [S$3.$x2]() {
    return this.x2;
  }
  get [S$3.$y1]() {
    return this.y1;
  }
  get [S$3.$y2]() {
    return this.y2;
  }
};
(svg$.LinearGradientElement.created = function() {
  svg$.LinearGradientElement.__proto__.created.call(this);
  ;
}).prototype = svg$.LinearGradientElement.prototype;
dart.addTypeTests(svg$.LinearGradientElement);
dart.addTypeCaches(svg$.LinearGradientElement);
dart.setGetterSignature(svg$.LinearGradientElement, () => ({
  __proto__: dart.getGetters(svg$.LinearGradientElement.__proto__),
  [S$3.$x1]: dart.nullable(svg$.AnimatedLength),
  [S$3.$x2]: dart.nullable(svg$.AnimatedLength),
  [S$3.$y1]: dart.nullable(svg$.AnimatedLength),
  [S$3.$y2]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.LinearGradientElement, I[157]);
dart.registerExtension("SVGLinearGradientElement", svg$.LinearGradientElement);
svg$.MarkerElement = class MarkerElement extends svg$.SvgElement {
  static new() {
    return svg$.MarkerElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("marker"));
  }
  get [S$3.$markerHeight]() {
    return this.markerHeight;
  }
  get [S$3.$markerUnits]() {
    return this.markerUnits;
  }
  get [S$3.$markerWidth]() {
    return this.markerWidth;
  }
  get [S$3.$orientAngle]() {
    return this.orientAngle;
  }
  get [S$3.$orientType]() {
    return this.orientType;
  }
  get [S$3.$refX]() {
    return this.refX;
  }
  get [S$3.$refY]() {
    return this.refY;
  }
  [S$3.$setOrientToAngle](...args) {
    return this.setOrientToAngle.apply(this, args);
  }
  [S$3.$setOrientToAuto](...args) {
    return this.setOrientToAuto.apply(this, args);
  }
  get [S$3.$preserveAspectRatio]() {
    return this.preserveAspectRatio;
  }
  get [S$3.$viewBox]() {
    return this.viewBox;
  }
};
(svg$.MarkerElement.created = function() {
  svg$.MarkerElement.__proto__.created.call(this);
  ;
}).prototype = svg$.MarkerElement.prototype;
dart.addTypeTests(svg$.MarkerElement);
dart.addTypeCaches(svg$.MarkerElement);
svg$.MarkerElement[dart.implements] = () => [svg$.FitToViewBox];
dart.setMethodSignature(svg$.MarkerElement, () => ({
  __proto__: dart.getMethods(svg$.MarkerElement.__proto__),
  [S$3.$setOrientToAngle]: dart.fnType(dart.void, [svg$.Angle]),
  [S$3.$setOrientToAuto]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(svg$.MarkerElement, () => ({
  __proto__: dart.getGetters(svg$.MarkerElement.__proto__),
  [S$3.$markerHeight]: svg$.AnimatedLength,
  [S$3.$markerUnits]: svg$.AnimatedEnumeration,
  [S$3.$markerWidth]: svg$.AnimatedLength,
  [S$3.$orientAngle]: dart.nullable(svg$.AnimatedAngle),
  [S$3.$orientType]: dart.nullable(svg$.AnimatedEnumeration),
  [S$3.$refX]: svg$.AnimatedLength,
  [S$3.$refY]: svg$.AnimatedLength,
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [S$3.$viewBox]: dart.nullable(svg$.AnimatedRect)
}));
dart.setLibraryUri(svg$.MarkerElement, I[157]);
dart.defineLazy(svg$.MarkerElement, {
  /*svg$.MarkerElement.SVG_MARKERUNITS_STROKEWIDTH*/get SVG_MARKERUNITS_STROKEWIDTH() {
    return 2;
  },
  /*svg$.MarkerElement.SVG_MARKERUNITS_UNKNOWN*/get SVG_MARKERUNITS_UNKNOWN() {
    return 0;
  },
  /*svg$.MarkerElement.SVG_MARKERUNITS_USERSPACEONUSE*/get SVG_MARKERUNITS_USERSPACEONUSE() {
    return 1;
  },
  /*svg$.MarkerElement.SVG_MARKER_ORIENT_ANGLE*/get SVG_MARKER_ORIENT_ANGLE() {
    return 2;
  },
  /*svg$.MarkerElement.SVG_MARKER_ORIENT_AUTO*/get SVG_MARKER_ORIENT_AUTO() {
    return 1;
  },
  /*svg$.MarkerElement.SVG_MARKER_ORIENT_UNKNOWN*/get SVG_MARKER_ORIENT_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGMarkerElement", svg$.MarkerElement);
svg$.MaskElement = class MaskElement extends svg$.SvgElement {
  static new() {
    return svg$.MaskElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("mask"));
  }
  get [$height]() {
    return this.height;
  }
  get [S$3.$maskContentUnits]() {
    return this.maskContentUnits;
  }
  get [S$3.$maskUnits]() {
    return this.maskUnits;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$3.$requiredExtensions]() {
    return this.requiredExtensions;
  }
  get [S$3.$systemLanguage]() {
    return this.systemLanguage;
  }
};
(svg$.MaskElement.created = function() {
  svg$.MaskElement.__proto__.created.call(this);
  ;
}).prototype = svg$.MaskElement.prototype;
dart.addTypeTests(svg$.MaskElement);
dart.addTypeCaches(svg$.MaskElement);
svg$.MaskElement[dart.implements] = () => [svg$.Tests];
dart.setGetterSignature(svg$.MaskElement, () => ({
  __proto__: dart.getGetters(svg$.MaskElement.__proto__),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S$3.$maskContentUnits]: dart.nullable(svg$.AnimatedEnumeration),
  [S$3.$maskUnits]: dart.nullable(svg$.AnimatedEnumeration),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength),
  [S$3.$requiredExtensions]: dart.nullable(svg$.StringList),
  [S$3.$systemLanguage]: dart.nullable(svg$.StringList)
}));
dart.setLibraryUri(svg$.MaskElement, I[157]);
dart.registerExtension("SVGMaskElement", svg$.MaskElement);
svg$.Matrix = class Matrix extends _interceptors.Interceptor {
  get [S$1.$a]() {
    return this.a;
  }
  set [S$1.$a](value) {
    this.a = value;
  }
  get [S$1.$b]() {
    return this.b;
  }
  set [S$1.$b](value) {
    this.b = value;
  }
  get [S$1.$c]() {
    return this.c;
  }
  set [S$1.$c](value) {
    this.c = value;
  }
  get [S$1.$d]() {
    return this.d;
  }
  set [S$1.$d](value) {
    this.d = value;
  }
  get [S$1.$e]() {
    return this.e;
  }
  set [S$1.$e](value) {
    this.e = value;
  }
  get [S$1.$f]() {
    return this.f;
  }
  set [S$1.$f](value) {
    this.f = value;
  }
  [S$1.$flipX](...args) {
    return this.flipX.apply(this, args);
  }
  [S$1.$flipY](...args) {
    return this.flipY.apply(this, args);
  }
  [S$1.$inverse](...args) {
    return this.inverse.apply(this, args);
  }
  [S$1.$multiply](...args) {
    return this.multiply.apply(this, args);
  }
  [S$.$rotate](...args) {
    return this.rotate.apply(this, args);
  }
  [S$1.$rotateFromVector](...args) {
    return this.rotateFromVector.apply(this, args);
  }
  [S$.$scale](...args) {
    return this.scale.apply(this, args);
  }
  [S$3.$scaleNonUniform](...args) {
    return this.scaleNonUniform.apply(this, args);
  }
  [S$1.$skewX](...args) {
    return this.skewX.apply(this, args);
  }
  [S$1.$skewY](...args) {
    return this.skewY.apply(this, args);
  }
  [S.$translate](...args) {
    return this.translate.apply(this, args);
  }
};
dart.addTypeTests(svg$.Matrix);
dart.addTypeCaches(svg$.Matrix);
dart.setMethodSignature(svg$.Matrix, () => ({
  __proto__: dart.getMethods(svg$.Matrix.__proto__),
  [S$1.$flipX]: dart.fnType(svg$.Matrix, []),
  [S$1.$flipY]: dart.fnType(svg$.Matrix, []),
  [S$1.$inverse]: dart.fnType(svg$.Matrix, []),
  [S$1.$multiply]: dart.fnType(svg$.Matrix, [svg$.Matrix]),
  [S$.$rotate]: dart.fnType(svg$.Matrix, [core.num]),
  [S$1.$rotateFromVector]: dart.fnType(svg$.Matrix, [core.num, core.num]),
  [S$.$scale]: dart.fnType(svg$.Matrix, [core.num]),
  [S$3.$scaleNonUniform]: dart.fnType(svg$.Matrix, [core.num, core.num]),
  [S$1.$skewX]: dart.fnType(svg$.Matrix, [core.num]),
  [S$1.$skewY]: dart.fnType(svg$.Matrix, [core.num]),
  [S.$translate]: dart.fnType(svg$.Matrix, [core.num, core.num])
}));
dart.setGetterSignature(svg$.Matrix, () => ({
  __proto__: dart.getGetters(svg$.Matrix.__proto__),
  [S$1.$a]: dart.nullable(core.num),
  [S$1.$b]: dart.nullable(core.num),
  [S$1.$c]: dart.nullable(core.num),
  [S$1.$d]: dart.nullable(core.num),
  [S$1.$e]: dart.nullable(core.num),
  [S$1.$f]: dart.nullable(core.num)
}));
dart.setSetterSignature(svg$.Matrix, () => ({
  __proto__: dart.getSetters(svg$.Matrix.__proto__),
  [S$1.$a]: dart.nullable(core.num),
  [S$1.$b]: dart.nullable(core.num),
  [S$1.$c]: dart.nullable(core.num),
  [S$1.$d]: dart.nullable(core.num),
  [S$1.$e]: dart.nullable(core.num),
  [S$1.$f]: dart.nullable(core.num)
}));
dart.setLibraryUri(svg$.Matrix, I[157]);
dart.registerExtension("SVGMatrix", svg$.Matrix);
svg$.MetadataElement = class MetadataElement extends svg$.SvgElement {};
(svg$.MetadataElement.created = function() {
  svg$.MetadataElement.__proto__.created.call(this);
  ;
}).prototype = svg$.MetadataElement.prototype;
dart.addTypeTests(svg$.MetadataElement);
dart.addTypeCaches(svg$.MetadataElement);
dart.setLibraryUri(svg$.MetadataElement, I[157]);
dart.registerExtension("SVGMetadataElement", svg$.MetadataElement);
svg$.Number = class Number extends _interceptors.Interceptor {
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
};
dart.addTypeTests(svg$.Number);
dart.addTypeCaches(svg$.Number);
dart.setGetterSignature(svg$.Number, () => ({
  __proto__: dart.getGetters(svg$.Number.__proto__),
  [S.$value]: dart.nullable(core.num)
}));
dart.setSetterSignature(svg$.Number, () => ({
  __proto__: dart.getSetters(svg$.Number.__proto__),
  [S.$value]: dart.nullable(core.num)
}));
dart.setLibraryUri(svg$.Number, I[157]);
dart.registerExtension("SVGNumber", svg$.Number);
const Interceptor_ListMixin$36$14 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$14.new = function() {
  Interceptor_ListMixin$36$14.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$14.prototype;
dart.applyMixin(Interceptor_ListMixin$36$14, collection.ListMixin$(svg$.Number));
const Interceptor_ImmutableListMixin$36$14 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$14 {};
(Interceptor_ImmutableListMixin$36$14.new = function() {
  Interceptor_ImmutableListMixin$36$14.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$14.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$14, html$.ImmutableListMixin$(svg$.Number));
svg$.NumberList = class NumberList extends Interceptor_ImmutableListMixin$36$14 {
  get [$length]() {
    return this.length;
  }
  get [S$3.$numberOfItems]() {
    return this.numberOfItems;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[156], 2378, 26, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this.getItem(index);
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[156], 2384, 25, "index");
    svg$.Number.as(value);
    if (value == null) dart.nullFailed(I[156], 2384, 39, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[156], 2390, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[156], 2418, 24, "index");
    return this[$_get](index);
  }
  [S$3.__setter__$1](...args) {
    return this.__setter__.apply(this, args);
  }
  [S$3.$appendItem](...args) {
    return this.appendItem.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$3.$getItem](...args) {
    return this.getItem.apply(this, args);
  }
  [S$3.$initialize](...args) {
    return this.initialize.apply(this, args);
  }
  [S$3.$insertItemBefore](...args) {
    return this.insertItemBefore.apply(this, args);
  }
  [S$3.$removeItem](...args) {
    return this.removeItem.apply(this, args);
  }
  [S$3.$replaceItem](...args) {
    return this.replaceItem.apply(this, args);
  }
};
svg$.NumberList.prototype[dart.isList] = true;
dart.addTypeTests(svg$.NumberList);
dart.addTypeCaches(svg$.NumberList);
svg$.NumberList[dart.implements] = () => [core.List$(svg$.Number)];
dart.setMethodSignature(svg$.NumberList, () => ({
  __proto__: dart.getMethods(svg$.NumberList.__proto__),
  [$_get]: dart.fnType(svg$.Number, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$3.__setter__$1]: dart.fnType(dart.void, [core.int, svg$.Number]),
  [S$3.$appendItem]: dart.fnType(svg$.Number, [svg$.Number]),
  [S$3.$getItem]: dart.fnType(svg$.Number, [core.int]),
  [S$3.$initialize]: dart.fnType(svg$.Number, [svg$.Number]),
  [S$3.$insertItemBefore]: dart.fnType(svg$.Number, [svg$.Number, core.int]),
  [S$3.$removeItem]: dart.fnType(svg$.Number, [core.int]),
  [S$3.$replaceItem]: dart.fnType(svg$.Number, [svg$.Number, core.int])
}));
dart.setGetterSignature(svg$.NumberList, () => ({
  __proto__: dart.getGetters(svg$.NumberList.__proto__),
  [$length]: core.int,
  [S$3.$numberOfItems]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.NumberList, () => ({
  __proto__: dart.getSetters(svg$.NumberList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(svg$.NumberList, I[157]);
dart.registerExtension("SVGNumberList", svg$.NumberList);
svg$.PathElement = class PathElement extends svg$.GeometryElement {
  static new() {
    return svg$.PathElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("path"));
  }
};
(svg$.PathElement.created = function() {
  svg$.PathElement.__proto__.created.call(this);
  ;
}).prototype = svg$.PathElement.prototype;
dart.addTypeTests(svg$.PathElement);
dart.addTypeCaches(svg$.PathElement);
dart.setLibraryUri(svg$.PathElement, I[157]);
dart.registerExtension("SVGPathElement", svg$.PathElement);
svg$.PatternElement = class PatternElement extends svg$.SvgElement {
  static new() {
    return svg$.PatternElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("pattern"));
  }
  get [$height]() {
    return this.height;
  }
  get [S$3.$patternContentUnits]() {
    return this.patternContentUnits;
  }
  get [S$3.$patternTransform]() {
    return this.patternTransform;
  }
  get [S$3.$patternUnits]() {
    return this.patternUnits;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$3.$preserveAspectRatio]() {
    return this.preserveAspectRatio;
  }
  get [S$3.$viewBox]() {
    return this.viewBox;
  }
  get [S$3.$requiredExtensions]() {
    return this.requiredExtensions;
  }
  get [S$3.$systemLanguage]() {
    return this.systemLanguage;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.PatternElement.created = function() {
  svg$.PatternElement.__proto__.created.call(this);
  ;
}).prototype = svg$.PatternElement.prototype;
dart.addTypeTests(svg$.PatternElement);
dart.addTypeCaches(svg$.PatternElement);
svg$.PatternElement[dart.implements] = () => [svg$.FitToViewBox, svg$.UriReference, svg$.Tests];
dart.setGetterSignature(svg$.PatternElement, () => ({
  __proto__: dart.getGetters(svg$.PatternElement.__proto__),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S$3.$patternContentUnits]: dart.nullable(svg$.AnimatedEnumeration),
  [S$3.$patternTransform]: dart.nullable(svg$.AnimatedTransformList),
  [S$3.$patternUnits]: dart.nullable(svg$.AnimatedEnumeration),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength),
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [S$3.$viewBox]: dart.nullable(svg$.AnimatedRect),
  [S$3.$requiredExtensions]: dart.nullable(svg$.StringList),
  [S$3.$systemLanguage]: dart.nullable(svg$.StringList),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.PatternElement, I[157]);
dart.registerExtension("SVGPatternElement", svg$.PatternElement);
svg$.Point = class Point extends _interceptors.Interceptor {
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
  [S$1.$matrixTransform](...args) {
    return this.matrixTransform.apply(this, args);
  }
};
dart.addTypeTests(svg$.Point);
dart.addTypeCaches(svg$.Point);
dart.setMethodSignature(svg$.Point, () => ({
  __proto__: dart.getMethods(svg$.Point.__proto__),
  [S$1.$matrixTransform]: dart.fnType(svg$.Point, [svg$.Matrix])
}));
dart.setGetterSignature(svg$.Point, () => ({
  __proto__: dart.getGetters(svg$.Point.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num)
}));
dart.setSetterSignature(svg$.Point, () => ({
  __proto__: dart.getSetters(svg$.Point.__proto__),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num)
}));
dart.setLibraryUri(svg$.Point, I[157]);
dart.registerExtension("SVGPoint", svg$.Point);
svg$.PointList = class PointList extends _interceptors.Interceptor {
  get [$length]() {
    return this.length;
  }
  get [S$3.$numberOfItems]() {
    return this.numberOfItems;
  }
  [S$3.__setter__$1](...args) {
    return this.__setter__.apply(this, args);
  }
  [S$3.$appendItem](...args) {
    return this.appendItem.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$3.$getItem](...args) {
    return this.getItem.apply(this, args);
  }
  [S$3.$initialize](...args) {
    return this.initialize.apply(this, args);
  }
  [S$3.$insertItemBefore](...args) {
    return this.insertItemBefore.apply(this, args);
  }
  [S$3.$removeItem](...args) {
    return this.removeItem.apply(this, args);
  }
  [S$3.$replaceItem](...args) {
    return this.replaceItem.apply(this, args);
  }
};
dart.addTypeTests(svg$.PointList);
dart.addTypeCaches(svg$.PointList);
dart.setMethodSignature(svg$.PointList, () => ({
  __proto__: dart.getMethods(svg$.PointList.__proto__),
  [S$3.__setter__$1]: dart.fnType(dart.void, [core.int, svg$.Point]),
  [S$3.$appendItem]: dart.fnType(svg$.Point, [svg$.Point]),
  [$clear]: dart.fnType(dart.void, []),
  [S$3.$getItem]: dart.fnType(svg$.Point, [core.int]),
  [S$3.$initialize]: dart.fnType(svg$.Point, [svg$.Point]),
  [S$3.$insertItemBefore]: dart.fnType(svg$.Point, [svg$.Point, core.int]),
  [S$3.$removeItem]: dart.fnType(svg$.Point, [core.int]),
  [S$3.$replaceItem]: dart.fnType(svg$.Point, [svg$.Point, core.int])
}));
dart.setGetterSignature(svg$.PointList, () => ({
  __proto__: dart.getGetters(svg$.PointList.__proto__),
  [$length]: dart.nullable(core.int),
  [S$3.$numberOfItems]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.PointList, I[157]);
dart.registerExtension("SVGPointList", svg$.PointList);
svg$.PolygonElement = class PolygonElement extends svg$.GeometryElement {
  static new() {
    return svg$.PolygonElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("polygon"));
  }
  get [S$3.$animatedPoints]() {
    return this.animatedPoints;
  }
  get [S$3.$points]() {
    return this.points;
  }
};
(svg$.PolygonElement.created = function() {
  svg$.PolygonElement.__proto__.created.call(this);
  ;
}).prototype = svg$.PolygonElement.prototype;
dart.addTypeTests(svg$.PolygonElement);
dart.addTypeCaches(svg$.PolygonElement);
dart.setGetterSignature(svg$.PolygonElement, () => ({
  __proto__: dart.getGetters(svg$.PolygonElement.__proto__),
  [S$3.$animatedPoints]: dart.nullable(svg$.PointList),
  [S$3.$points]: svg$.PointList
}));
dart.setLibraryUri(svg$.PolygonElement, I[157]);
dart.registerExtension("SVGPolygonElement", svg$.PolygonElement);
svg$.PolylineElement = class PolylineElement extends svg$.GeometryElement {
  static new() {
    return svg$.PolylineElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("polyline"));
  }
  get [S$3.$animatedPoints]() {
    return this.animatedPoints;
  }
  get [S$3.$points]() {
    return this.points;
  }
};
(svg$.PolylineElement.created = function() {
  svg$.PolylineElement.__proto__.created.call(this);
  ;
}).prototype = svg$.PolylineElement.prototype;
dart.addTypeTests(svg$.PolylineElement);
dart.addTypeCaches(svg$.PolylineElement);
dart.setGetterSignature(svg$.PolylineElement, () => ({
  __proto__: dart.getGetters(svg$.PolylineElement.__proto__),
  [S$3.$animatedPoints]: dart.nullable(svg$.PointList),
  [S$3.$points]: svg$.PointList
}));
dart.setLibraryUri(svg$.PolylineElement, I[157]);
dart.registerExtension("SVGPolylineElement", svg$.PolylineElement);
svg$.PreserveAspectRatio = class PreserveAspectRatio extends _interceptors.Interceptor {
  get [S$3.$align]() {
    return this.align;
  }
  set [S$3.$align](value) {
    this.align = value;
  }
  get [S$3.$meetOrSlice]() {
    return this.meetOrSlice;
  }
  set [S$3.$meetOrSlice](value) {
    this.meetOrSlice = value;
  }
};
dart.addTypeTests(svg$.PreserveAspectRatio);
dart.addTypeCaches(svg$.PreserveAspectRatio);
dart.setGetterSignature(svg$.PreserveAspectRatio, () => ({
  __proto__: dart.getGetters(svg$.PreserveAspectRatio.__proto__),
  [S$3.$align]: dart.nullable(core.int),
  [S$3.$meetOrSlice]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.PreserveAspectRatio, () => ({
  __proto__: dart.getSetters(svg$.PreserveAspectRatio.__proto__),
  [S$3.$align]: dart.nullable(core.int),
  [S$3.$meetOrSlice]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.PreserveAspectRatio, I[157]);
dart.defineLazy(svg$.PreserveAspectRatio, {
  /*svg$.PreserveAspectRatio.SVG_MEETORSLICE_MEET*/get SVG_MEETORSLICE_MEET() {
    return 1;
  },
  /*svg$.PreserveAspectRatio.SVG_MEETORSLICE_SLICE*/get SVG_MEETORSLICE_SLICE() {
    return 2;
  },
  /*svg$.PreserveAspectRatio.SVG_MEETORSLICE_UNKNOWN*/get SVG_MEETORSLICE_UNKNOWN() {
    return 0;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_NONE*/get SVG_PRESERVEASPECTRATIO_NONE() {
    return 1;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_UNKNOWN*/get SVG_PRESERVEASPECTRATIO_UNKNOWN() {
    return 0;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMAXYMAX*/get SVG_PRESERVEASPECTRATIO_XMAXYMAX() {
    return 10;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMAXYMID*/get SVG_PRESERVEASPECTRATIO_XMAXYMID() {
    return 7;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMAXYMIN*/get SVG_PRESERVEASPECTRATIO_XMAXYMIN() {
    return 4;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMIDYMAX*/get SVG_PRESERVEASPECTRATIO_XMIDYMAX() {
    return 9;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMIDYMID*/get SVG_PRESERVEASPECTRATIO_XMIDYMID() {
    return 6;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMIDYMIN*/get SVG_PRESERVEASPECTRATIO_XMIDYMIN() {
    return 3;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMINYMAX*/get SVG_PRESERVEASPECTRATIO_XMINYMAX() {
    return 8;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMINYMID*/get SVG_PRESERVEASPECTRATIO_XMINYMID() {
    return 5;
  },
  /*svg$.PreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMINYMIN*/get SVG_PRESERVEASPECTRATIO_XMINYMIN() {
    return 2;
  }
}, false);
dart.registerExtension("SVGPreserveAspectRatio", svg$.PreserveAspectRatio);
svg$.RadialGradientElement = class RadialGradientElement extends svg$._GradientElement {
  static new() {
    return svg$.RadialGradientElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("radialGradient"));
  }
  get [S$3.$cx]() {
    return this.cx;
  }
  get [S$3.$cy]() {
    return this.cy;
  }
  get [S$3.$fr]() {
    return this.fr;
  }
  get [S$3.$fx]() {
    return this.fx;
  }
  get [S$3.$fy]() {
    return this.fy;
  }
  get [S$3.$r]() {
    return this.r;
  }
};
(svg$.RadialGradientElement.created = function() {
  svg$.RadialGradientElement.__proto__.created.call(this);
  ;
}).prototype = svg$.RadialGradientElement.prototype;
dart.addTypeTests(svg$.RadialGradientElement);
dart.addTypeCaches(svg$.RadialGradientElement);
dart.setGetterSignature(svg$.RadialGradientElement, () => ({
  __proto__: dart.getGetters(svg$.RadialGradientElement.__proto__),
  [S$3.$cx]: dart.nullable(svg$.AnimatedLength),
  [S$3.$cy]: dart.nullable(svg$.AnimatedLength),
  [S$3.$fr]: dart.nullable(svg$.AnimatedLength),
  [S$3.$fx]: dart.nullable(svg$.AnimatedLength),
  [S$3.$fy]: dart.nullable(svg$.AnimatedLength),
  [S$3.$r]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.RadialGradientElement, I[157]);
dart.registerExtension("SVGRadialGradientElement", svg$.RadialGradientElement);
svg$.Rect = class Rect extends _interceptors.Interceptor {
  get [$height]() {
    return this.height;
  }
  set [$height](value) {
    this.height = value;
  }
  get [$width]() {
    return this.width;
  }
  set [$width](value) {
    this.width = value;
  }
  get [S$.$x]() {
    return this.x;
  }
  set [S$.$x](value) {
    this.x = value;
  }
  get [S$.$y]() {
    return this.y;
  }
  set [S$.$y](value) {
    this.y = value;
  }
};
dart.addTypeTests(svg$.Rect);
dart.addTypeCaches(svg$.Rect);
dart.setGetterSignature(svg$.Rect, () => ({
  __proto__: dart.getGetters(svg$.Rect.__proto__),
  [$height]: dart.nullable(core.num),
  [$width]: dart.nullable(core.num),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num)
}));
dart.setSetterSignature(svg$.Rect, () => ({
  __proto__: dart.getSetters(svg$.Rect.__proto__),
  [$height]: dart.nullable(core.num),
  [$width]: dart.nullable(core.num),
  [S$.$x]: dart.nullable(core.num),
  [S$.$y]: dart.nullable(core.num)
}));
dart.setLibraryUri(svg$.Rect, I[157]);
dart.registerExtension("SVGRect", svg$.Rect);
svg$.RectElement = class RectElement extends svg$.GeometryElement {
  static new() {
    return svg$.RectElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("rect"));
  }
  get [$height]() {
    return this.height;
  }
  get [S$3.$rx]() {
    return this.rx;
  }
  get [S$3.$ry]() {
    return this.ry;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.RectElement.created = function() {
  svg$.RectElement.__proto__.created.call(this);
  ;
}).prototype = svg$.RectElement.prototype;
dart.addTypeTests(svg$.RectElement);
dart.addTypeCaches(svg$.RectElement);
dart.setGetterSignature(svg$.RectElement, () => ({
  __proto__: dart.getGetters(svg$.RectElement.__proto__),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [S$3.$rx]: dart.nullable(svg$.AnimatedLength),
  [S$3.$ry]: dart.nullable(svg$.AnimatedLength),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.RectElement, I[157]);
dart.registerExtension("SVGRectElement", svg$.RectElement);
svg$.ScriptElement = class ScriptElement extends svg$.SvgElement {
  static new() {
    return svg$.ScriptElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("script"));
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.ScriptElement.created = function() {
  svg$.ScriptElement.__proto__.created.call(this);
  ;
}).prototype = svg$.ScriptElement.prototype;
dart.addTypeTests(svg$.ScriptElement);
dart.addTypeCaches(svg$.ScriptElement);
svg$.ScriptElement[dart.implements] = () => [svg$.UriReference];
dart.setGetterSignature(svg$.ScriptElement, () => ({
  __proto__: dart.getGetters(svg$.ScriptElement.__proto__),
  [S.$type]: dart.nullable(core.String),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setSetterSignature(svg$.ScriptElement, () => ({
  __proto__: dart.getSetters(svg$.ScriptElement.__proto__),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(svg$.ScriptElement, I[157]);
dart.registerExtension("SVGScriptElement", svg$.ScriptElement);
svg$.SetElement = class SetElement extends svg$.AnimationElement {
  static new() {
    return svg$.SetElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("set"));
  }
  static get supported() {
    return dart.test(svg$.SvgElement.isTagSupported("set")) && svg$.SetElement.is(svg$.SvgElement.tag("set"));
  }
};
(svg$.SetElement.created = function() {
  svg$.SetElement.__proto__.created.call(this);
  ;
}).prototype = svg$.SetElement.prototype;
dart.addTypeTests(svg$.SetElement);
dart.addTypeCaches(svg$.SetElement);
dart.setLibraryUri(svg$.SetElement, I[157]);
dart.registerExtension("SVGSetElement", svg$.SetElement);
svg$.StopElement = class StopElement extends svg$.SvgElement {
  static new() {
    return svg$.StopElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("stop"));
  }
  get [S$3.$gradientOffset]() {
    return this.offset;
  }
};
(svg$.StopElement.created = function() {
  svg$.StopElement.__proto__.created.call(this);
  ;
}).prototype = svg$.StopElement.prototype;
dart.addTypeTests(svg$.StopElement);
dart.addTypeCaches(svg$.StopElement);
dart.setGetterSignature(svg$.StopElement, () => ({
  __proto__: dart.getGetters(svg$.StopElement.__proto__),
  [S$3.$gradientOffset]: svg$.AnimatedNumber
}));
dart.setLibraryUri(svg$.StopElement, I[157]);
dart.registerExtension("SVGStopElement", svg$.StopElement);
const Interceptor_ListMixin$36$15 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$15.new = function() {
  Interceptor_ListMixin$36$15.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$15.prototype;
dart.applyMixin(Interceptor_ListMixin$36$15, collection.ListMixin$(core.String));
const Interceptor_ImmutableListMixin$36$15 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$15 {};
(Interceptor_ImmutableListMixin$36$15.new = function() {
  Interceptor_ImmutableListMixin$36$15.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$15.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$15, html$.ImmutableListMixin$(core.String));
svg$.StringList = class StringList extends Interceptor_ImmutableListMixin$36$15 {
  get [$length]() {
    return this.length;
  }
  get [S$3.$numberOfItems]() {
    return this.numberOfItems;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[156], 2861, 26, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this.getItem(index);
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[156], 2867, 25, "index");
    core.String.as(value);
    if (value == null) dart.nullFailed(I[156], 2867, 39, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[156], 2873, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[156], 2901, 24, "index");
    return this[$_get](index);
  }
  [S$3.__setter__$1](...args) {
    return this.__setter__.apply(this, args);
  }
  [S$3.$appendItem](...args) {
    return this.appendItem.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$3.$getItem](...args) {
    return this.getItem.apply(this, args);
  }
  [S$3.$initialize](...args) {
    return this.initialize.apply(this, args);
  }
  [S$3.$insertItemBefore](...args) {
    return this.insertItemBefore.apply(this, args);
  }
  [S$3.$removeItem](...args) {
    return this.removeItem.apply(this, args);
  }
  [S$3.$replaceItem](...args) {
    return this.replaceItem.apply(this, args);
  }
};
svg$.StringList.prototype[dart.isList] = true;
dart.addTypeTests(svg$.StringList);
dart.addTypeCaches(svg$.StringList);
svg$.StringList[dart.implements] = () => [core.List$(core.String)];
dart.setMethodSignature(svg$.StringList, () => ({
  __proto__: dart.getMethods(svg$.StringList.__proto__),
  [$_get]: dart.fnType(core.String, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$3.__setter__$1]: dart.fnType(dart.void, [core.int, core.String]),
  [S$3.$appendItem]: dart.fnType(core.String, [core.String]),
  [S$3.$getItem]: dart.fnType(core.String, [core.int]),
  [S$3.$initialize]: dart.fnType(core.String, [core.String]),
  [S$3.$insertItemBefore]: dart.fnType(core.String, [core.String, core.int]),
  [S$3.$removeItem]: dart.fnType(core.String, [core.int]),
  [S$3.$replaceItem]: dart.fnType(core.String, [core.String, core.int])
}));
dart.setGetterSignature(svg$.StringList, () => ({
  __proto__: dart.getGetters(svg$.StringList.__proto__),
  [$length]: core.int,
  [S$3.$numberOfItems]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.StringList, () => ({
  __proto__: dart.getSetters(svg$.StringList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(svg$.StringList, I[157]);
dart.registerExtension("SVGStringList", svg$.StringList);
svg$.StyleElement = class StyleElement extends svg$.SvgElement {
  static new() {
    return svg$.StyleElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("style"));
  }
  get [S$.$disabled]() {
    return this.disabled;
  }
  set [S$.$disabled](value) {
    this.disabled = value;
  }
  get [S$.$media]() {
    return this.media;
  }
  set [S$.$media](value) {
    this.media = value;
  }
  get [S$1.$sheet]() {
    return this.sheet;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
};
(svg$.StyleElement.created = function() {
  svg$.StyleElement.__proto__.created.call(this);
  ;
}).prototype = svg$.StyleElement.prototype;
dart.addTypeTests(svg$.StyleElement);
dart.addTypeCaches(svg$.StyleElement);
dart.setGetterSignature(svg$.StyleElement, () => ({
  __proto__: dart.getGetters(svg$.StyleElement.__proto__),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$.$media]: dart.nullable(core.String),
  [S$1.$sheet]: dart.nullable(html$.StyleSheet),
  [S.$type]: dart.nullable(core.String)
}));
dart.setSetterSignature(svg$.StyleElement, () => ({
  __proto__: dart.getSetters(svg$.StyleElement.__proto__),
  [S$.$disabled]: dart.nullable(core.bool),
  [S$.$media]: dart.nullable(core.String),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(svg$.StyleElement, I[157]);
dart.registerExtension("SVGStyleElement", svg$.StyleElement);
svg$.AttributeClassSet = class AttributeClassSet extends html_common.CssClassSetImpl {
  readClasses() {
    let classname = this[S$3._element$3][S.$attributes][$_get]("class");
    if (svg$.AnimatedString.is(classname)) {
      classname = svg$.AnimatedString.as(classname).baseVal;
    }
    let s = new (T$0._IdentityHashSetOfString()).new();
    if (classname == null) {
      return s;
    }
    for (let name of classname[$split](" ")) {
      let trimmed = name[$trim]();
      if (!trimmed[$isEmpty]) {
        s.add(trimmed);
      }
    }
    return s;
  }
  writeClasses(s) {
    if (s == null) dart.nullFailed(I[156], 2986, 25, "s");
    this[S$3._element$3][S.$setAttribute]("class", s[$join](" "));
  }
};
(svg$.AttributeClassSet.new = function(_element) {
  if (_element == null) dart.nullFailed(I[156], 2965, 26, "_element");
  this[S$3._element$3] = _element;
  ;
}).prototype = svg$.AttributeClassSet.prototype;
dart.addTypeTests(svg$.AttributeClassSet);
dart.addTypeCaches(svg$.AttributeClassSet);
dart.setMethodSignature(svg$.AttributeClassSet, () => ({
  __proto__: dart.getMethods(svg$.AttributeClassSet.__proto__),
  readClasses: dart.fnType(core.Set$(core.String), []),
  writeClasses: dart.fnType(dart.void, [core.Set])
}));
dart.setLibraryUri(svg$.AttributeClassSet, I[157]);
dart.setFieldSignature(svg$.AttributeClassSet, () => ({
  __proto__: dart.getFields(svg$.AttributeClassSet.__proto__),
  [S$3._element$3]: dart.finalFieldType(html$.Element)
}));
svg$.SvgSvgElement = class SvgSvgElement extends svg$.GraphicsElement {
  static new() {
    let el = svg$.SvgElement.tag("svg");
    el[S.$attributes][$_set]("version", "1.1");
    return svg$.SvgSvgElement.as(el);
  }
  get [S$3.$currentScale]() {
    return this.currentScale;
  }
  set [S$3.$currentScale](value) {
    this.currentScale = value;
  }
  get [S$3.$currentTranslate]() {
    return this.currentTranslate;
  }
  get [$height]() {
    return this.height;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  [S$3.$animationsPaused](...args) {
    return this.animationsPaused.apply(this, args);
  }
  [S$3.$checkEnclosure](...args) {
    return this.checkEnclosure.apply(this, args);
  }
  [S$3.$checkIntersection](...args) {
    return this.checkIntersection.apply(this, args);
  }
  [S$3.$createSvgAngle](...args) {
    return this.createSVGAngle.apply(this, args);
  }
  [S$3.$createSvgLength](...args) {
    return this.createSVGLength.apply(this, args);
  }
  [S$3.$createSvgMatrix](...args) {
    return this.createSVGMatrix.apply(this, args);
  }
  [S$3.$createSvgNumber](...args) {
    return this.createSVGNumber.apply(this, args);
  }
  [S$3.$createSvgPoint](...args) {
    return this.createSVGPoint.apply(this, args);
  }
  [S$3.$createSvgRect](...args) {
    return this.createSVGRect.apply(this, args);
  }
  [S$3.$createSvgTransform](...args) {
    return this.createSVGTransform.apply(this, args);
  }
  [S$3.$createSvgTransformFromMatrix](...args) {
    return this.createSVGTransformFromMatrix.apply(this, args);
  }
  [S$3.$deselectAll](...args) {
    return this.deselectAll.apply(this, args);
  }
  [S$3.$forceRedraw](...args) {
    return this.forceRedraw.apply(this, args);
  }
  [S$3.$getCurrentTime](...args) {
    return this.getCurrentTime.apply(this, args);
  }
  [S$1.$getElementById](...args) {
    return this.getElementById.apply(this, args);
  }
  [S$3.$getEnclosureList](...args) {
    return this.getEnclosureList.apply(this, args);
  }
  [S$3.$getIntersectionList](...args) {
    return this.getIntersectionList.apply(this, args);
  }
  [S$3.$pauseAnimations](...args) {
    return this.pauseAnimations.apply(this, args);
  }
  [S$3.$setCurrentTime](...args) {
    return this.setCurrentTime.apply(this, args);
  }
  [S$3.$suspendRedraw](...args) {
    return this.suspendRedraw.apply(this, args);
  }
  [S$3.$unpauseAnimations](...args) {
    return this.unpauseAnimations.apply(this, args);
  }
  [S$3.$unsuspendRedraw](...args) {
    return this.unsuspendRedraw.apply(this, args);
  }
  [S$3.$unsuspendRedrawAll](...args) {
    return this.unsuspendRedrawAll.apply(this, args);
  }
  get [S$3.$preserveAspectRatio]() {
    return this.preserveAspectRatio;
  }
  get [S$3.$viewBox]() {
    return this.viewBox;
  }
  get [S$3.$zoomAndPan]() {
    return this.zoomAndPan;
  }
  set [S$3.$zoomAndPan](value) {
    this.zoomAndPan = value;
  }
};
(svg$.SvgSvgElement.created = function() {
  svg$.SvgSvgElement.__proto__.created.call(this);
  ;
}).prototype = svg$.SvgSvgElement.prototype;
dart.addTypeTests(svg$.SvgSvgElement);
dart.addTypeCaches(svg$.SvgSvgElement);
svg$.SvgSvgElement[dart.implements] = () => [svg$.FitToViewBox, svg$.ZoomAndPan];
dart.setMethodSignature(svg$.SvgSvgElement, () => ({
  __proto__: dart.getMethods(svg$.SvgSvgElement.__proto__),
  [S$3.$animationsPaused]: dart.fnType(core.bool, []),
  [S$3.$checkEnclosure]: dart.fnType(core.bool, [svg$.SvgElement, svg$.Rect]),
  [S$3.$checkIntersection]: dart.fnType(core.bool, [svg$.SvgElement, svg$.Rect]),
  [S$3.$createSvgAngle]: dart.fnType(svg$.Angle, []),
  [S$3.$createSvgLength]: dart.fnType(svg$.Length, []),
  [S$3.$createSvgMatrix]: dart.fnType(svg$.Matrix, []),
  [S$3.$createSvgNumber]: dart.fnType(svg$.Number, []),
  [S$3.$createSvgPoint]: dart.fnType(svg$.Point, []),
  [S$3.$createSvgRect]: dart.fnType(svg$.Rect, []),
  [S$3.$createSvgTransform]: dart.fnType(svg$.Transform, []),
  [S$3.$createSvgTransformFromMatrix]: dart.fnType(svg$.Transform, [svg$.Matrix]),
  [S$3.$deselectAll]: dart.fnType(dart.void, []),
  [S$3.$forceRedraw]: dart.fnType(dart.void, []),
  [S$3.$getCurrentTime]: dart.fnType(core.double, []),
  [S$1.$getElementById]: dart.fnType(html$.Element, [core.String]),
  [S$3.$getEnclosureList]: dart.fnType(core.List$(html$.Node), [svg$.Rect, dart.nullable(svg$.SvgElement)]),
  [S$3.$getIntersectionList]: dart.fnType(core.List$(html$.Node), [svg$.Rect, dart.nullable(svg$.SvgElement)]),
  [S$3.$pauseAnimations]: dart.fnType(dart.void, []),
  [S$3.$setCurrentTime]: dart.fnType(dart.void, [core.num]),
  [S$3.$suspendRedraw]: dart.fnType(core.int, [core.int]),
  [S$3.$unpauseAnimations]: dart.fnType(dart.void, []),
  [S$3.$unsuspendRedraw]: dart.fnType(dart.void, [core.int]),
  [S$3.$unsuspendRedrawAll]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(svg$.SvgSvgElement, () => ({
  __proto__: dart.getGetters(svg$.SvgSvgElement.__proto__),
  [S$3.$currentScale]: dart.nullable(core.num),
  [S$3.$currentTranslate]: dart.nullable(svg$.Point),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength),
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [S$3.$viewBox]: dart.nullable(svg$.AnimatedRect),
  [S$3.$zoomAndPan]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.SvgSvgElement, () => ({
  __proto__: dart.getSetters(svg$.SvgSvgElement.__proto__),
  [S$3.$currentScale]: dart.nullable(core.num),
  [S$3.$zoomAndPan]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.SvgSvgElement, I[157]);
dart.registerExtension("SVGSVGElement", svg$.SvgSvgElement);
svg$.SwitchElement = class SwitchElement extends svg$.GraphicsElement {
  static new() {
    return svg$.SwitchElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("switch"));
  }
};
(svg$.SwitchElement.created = function() {
  svg$.SwitchElement.__proto__.created.call(this);
  ;
}).prototype = svg$.SwitchElement.prototype;
dart.addTypeTests(svg$.SwitchElement);
dart.addTypeCaches(svg$.SwitchElement);
dart.setLibraryUri(svg$.SwitchElement, I[157]);
dart.registerExtension("SVGSwitchElement", svg$.SwitchElement);
svg$.SymbolElement = class SymbolElement extends svg$.SvgElement {
  static new() {
    return svg$.SymbolElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("symbol"));
  }
  get [S$3.$preserveAspectRatio]() {
    return this.preserveAspectRatio;
  }
  get [S$3.$viewBox]() {
    return this.viewBox;
  }
};
(svg$.SymbolElement.created = function() {
  svg$.SymbolElement.__proto__.created.call(this);
  ;
}).prototype = svg$.SymbolElement.prototype;
dart.addTypeTests(svg$.SymbolElement);
dart.addTypeCaches(svg$.SymbolElement);
svg$.SymbolElement[dart.implements] = () => [svg$.FitToViewBox];
dart.setGetterSignature(svg$.SymbolElement, () => ({
  __proto__: dart.getGetters(svg$.SymbolElement.__proto__),
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [S$3.$viewBox]: dart.nullable(svg$.AnimatedRect)
}));
dart.setLibraryUri(svg$.SymbolElement, I[157]);
dart.registerExtension("SVGSymbolElement", svg$.SymbolElement);
svg$.TextContentElement = class TextContentElement extends svg$.GraphicsElement {
  get [S$3.$lengthAdjust]() {
    return this.lengthAdjust;
  }
  get [S$2.$textLength]() {
    return this.textLength;
  }
  [S$3.$getCharNumAtPosition](...args) {
    return this.getCharNumAtPosition.apply(this, args);
  }
  [S$3.$getComputedTextLength](...args) {
    return this.getComputedTextLength.apply(this, args);
  }
  [S$3.$getEndPositionOfChar](...args) {
    return this.getEndPositionOfChar.apply(this, args);
  }
  [S$3.$getExtentOfChar](...args) {
    return this.getExtentOfChar.apply(this, args);
  }
  [S$3.$getNumberOfChars](...args) {
    return this.getNumberOfChars.apply(this, args);
  }
  [S$3.$getRotationOfChar](...args) {
    return this.getRotationOfChar.apply(this, args);
  }
  [S$3.$getStartPositionOfChar](...args) {
    return this.getStartPositionOfChar.apply(this, args);
  }
  [S$3.$getSubStringLength](...args) {
    return this.getSubStringLength.apply(this, args);
  }
  [S$3.$selectSubString](...args) {
    return this.selectSubString.apply(this, args);
  }
};
(svg$.TextContentElement.created = function() {
  svg$.TextContentElement.__proto__.created.call(this);
  ;
}).prototype = svg$.TextContentElement.prototype;
dart.addTypeTests(svg$.TextContentElement);
dart.addTypeCaches(svg$.TextContentElement);
dart.setMethodSignature(svg$.TextContentElement, () => ({
  __proto__: dart.getMethods(svg$.TextContentElement.__proto__),
  [S$3.$getCharNumAtPosition]: dart.fnType(core.int, [svg$.Point]),
  [S$3.$getComputedTextLength]: dart.fnType(core.double, []),
  [S$3.$getEndPositionOfChar]: dart.fnType(svg$.Point, [core.int]),
  [S$3.$getExtentOfChar]: dart.fnType(svg$.Rect, [core.int]),
  [S$3.$getNumberOfChars]: dart.fnType(core.int, []),
  [S$3.$getRotationOfChar]: dart.fnType(core.double, [core.int]),
  [S$3.$getStartPositionOfChar]: dart.fnType(svg$.Point, [core.int]),
  [S$3.$getSubStringLength]: dart.fnType(core.double, [core.int, core.int]),
  [S$3.$selectSubString]: dart.fnType(dart.void, [core.int, core.int])
}));
dart.setGetterSignature(svg$.TextContentElement, () => ({
  __proto__: dart.getGetters(svg$.TextContentElement.__proto__),
  [S$3.$lengthAdjust]: dart.nullable(svg$.AnimatedEnumeration),
  [S$2.$textLength]: dart.nullable(svg$.AnimatedLength)
}));
dart.setLibraryUri(svg$.TextContentElement, I[157]);
dart.defineLazy(svg$.TextContentElement, {
  /*svg$.TextContentElement.LENGTHADJUST_SPACING*/get LENGTHADJUST_SPACING() {
    return 1;
  },
  /*svg$.TextContentElement.LENGTHADJUST_SPACINGANDGLYPHS*/get LENGTHADJUST_SPACINGANDGLYPHS() {
    return 2;
  },
  /*svg$.TextContentElement.LENGTHADJUST_UNKNOWN*/get LENGTHADJUST_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGTextContentElement", svg$.TextContentElement);
svg$.TextPositioningElement = class TextPositioningElement extends svg$.TextContentElement {
  get [S$3.$dx]() {
    return this.dx;
  }
  get [S$3.$dy]() {
    return this.dy;
  }
  get [S$.$rotate]() {
    return this.rotate;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
};
(svg$.TextPositioningElement.created = function() {
  svg$.TextPositioningElement.__proto__.created.call(this);
  ;
}).prototype = svg$.TextPositioningElement.prototype;
dart.addTypeTests(svg$.TextPositioningElement);
dart.addTypeCaches(svg$.TextPositioningElement);
dart.setGetterSignature(svg$.TextPositioningElement, () => ({
  __proto__: dart.getGetters(svg$.TextPositioningElement.__proto__),
  [S$3.$dx]: dart.nullable(svg$.AnimatedLengthList),
  [S$3.$dy]: dart.nullable(svg$.AnimatedLengthList),
  [S$.$rotate]: dart.nullable(svg$.AnimatedNumberList),
  [S$.$x]: dart.nullable(svg$.AnimatedLengthList),
  [S$.$y]: dart.nullable(svg$.AnimatedLengthList)
}));
dart.setLibraryUri(svg$.TextPositioningElement, I[157]);
dart.registerExtension("SVGTextPositioningElement", svg$.TextPositioningElement);
svg$.TSpanElement = class TSpanElement extends svg$.TextPositioningElement {
  static new() {
    return svg$.TSpanElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("tspan"));
  }
};
(svg$.TSpanElement.created = function() {
  svg$.TSpanElement.__proto__.created.call(this);
  ;
}).prototype = svg$.TSpanElement.prototype;
dart.addTypeTests(svg$.TSpanElement);
dart.addTypeCaches(svg$.TSpanElement);
dart.setLibraryUri(svg$.TSpanElement, I[157]);
dart.registerExtension("SVGTSpanElement", svg$.TSpanElement);
svg$.Tests = class Tests extends _interceptors.Interceptor {
  get requiredExtensions() {
    return this.requiredExtensions;
  }
  get systemLanguage() {
    return this.systemLanguage;
  }
};
dart.addTypeTests(svg$.Tests);
dart.addTypeCaches(svg$.Tests);
dart.setGetterSignature(svg$.Tests, () => ({
  __proto__: dart.getGetters(svg$.Tests.__proto__),
  requiredExtensions: dart.nullable(svg$.StringList),
  [S$3.$requiredExtensions]: dart.nullable(svg$.StringList),
  systemLanguage: dart.nullable(svg$.StringList),
  [S$3.$systemLanguage]: dart.nullable(svg$.StringList)
}));
dart.setLibraryUri(svg$.Tests, I[157]);
dart.defineExtensionAccessors(svg$.Tests, ['requiredExtensions', 'systemLanguage']);
svg$.TextElement = class TextElement extends svg$.TextPositioningElement {
  static new() {
    return svg$.TextElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("text"));
  }
};
(svg$.TextElement.created = function() {
  svg$.TextElement.__proto__.created.call(this);
  ;
}).prototype = svg$.TextElement.prototype;
dart.addTypeTests(svg$.TextElement);
dart.addTypeCaches(svg$.TextElement);
dart.setLibraryUri(svg$.TextElement, I[157]);
dart.registerExtension("SVGTextElement", svg$.TextElement);
svg$.TextPathElement = class TextPathElement extends svg$.TextContentElement {
  get [S$1.$method]() {
    return this.method;
  }
  get [S$3.$spacing]() {
    return this.spacing;
  }
  get [S$2.$startOffset]() {
    return this.startOffset;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.TextPathElement.created = function() {
  svg$.TextPathElement.__proto__.created.call(this);
  ;
}).prototype = svg$.TextPathElement.prototype;
dart.addTypeTests(svg$.TextPathElement);
dart.addTypeCaches(svg$.TextPathElement);
svg$.TextPathElement[dart.implements] = () => [svg$.UriReference];
dart.setGetterSignature(svg$.TextPathElement, () => ({
  __proto__: dart.getGetters(svg$.TextPathElement.__proto__),
  [S$1.$method]: dart.nullable(svg$.AnimatedEnumeration),
  [S$3.$spacing]: dart.nullable(svg$.AnimatedEnumeration),
  [S$2.$startOffset]: dart.nullable(svg$.AnimatedLength),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.TextPathElement, I[157]);
dart.defineLazy(svg$.TextPathElement, {
  /*svg$.TextPathElement.TEXTPATH_METHODTYPE_ALIGN*/get TEXTPATH_METHODTYPE_ALIGN() {
    return 1;
  },
  /*svg$.TextPathElement.TEXTPATH_METHODTYPE_STRETCH*/get TEXTPATH_METHODTYPE_STRETCH() {
    return 2;
  },
  /*svg$.TextPathElement.TEXTPATH_METHODTYPE_UNKNOWN*/get TEXTPATH_METHODTYPE_UNKNOWN() {
    return 0;
  },
  /*svg$.TextPathElement.TEXTPATH_SPACINGTYPE_AUTO*/get TEXTPATH_SPACINGTYPE_AUTO() {
    return 1;
  },
  /*svg$.TextPathElement.TEXTPATH_SPACINGTYPE_EXACT*/get TEXTPATH_SPACINGTYPE_EXACT() {
    return 2;
  },
  /*svg$.TextPathElement.TEXTPATH_SPACINGTYPE_UNKNOWN*/get TEXTPATH_SPACINGTYPE_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGTextPathElement", svg$.TextPathElement);
svg$.TitleElement = class TitleElement extends svg$.SvgElement {
  static new() {
    return svg$.TitleElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("title"));
  }
};
(svg$.TitleElement.created = function() {
  svg$.TitleElement.__proto__.created.call(this);
  ;
}).prototype = svg$.TitleElement.prototype;
dart.addTypeTests(svg$.TitleElement);
dart.addTypeCaches(svg$.TitleElement);
dart.setLibraryUri(svg$.TitleElement, I[157]);
dart.registerExtension("SVGTitleElement", svg$.TitleElement);
svg$.Transform = class Transform extends _interceptors.Interceptor {
  get [S$.$angle]() {
    return this.angle;
  }
  get [S$.$matrix]() {
    return this.matrix;
  }
  get [S.$type]() {
    return this.type;
  }
  [S$3.$setMatrix](...args) {
    return this.setMatrix.apply(this, args);
  }
  [S$3.$setRotate](...args) {
    return this.setRotate.apply(this, args);
  }
  [S$3.$setScale](...args) {
    return this.setScale.apply(this, args);
  }
  [S$3.$setSkewX](...args) {
    return this.setSkewX.apply(this, args);
  }
  [S$3.$setSkewY](...args) {
    return this.setSkewY.apply(this, args);
  }
  [S$3.$setTranslate](...args) {
    return this.setTranslate.apply(this, args);
  }
};
dart.addTypeTests(svg$.Transform);
dart.addTypeCaches(svg$.Transform);
dart.setMethodSignature(svg$.Transform, () => ({
  __proto__: dart.getMethods(svg$.Transform.__proto__),
  [S$3.$setMatrix]: dart.fnType(dart.void, [svg$.Matrix]),
  [S$3.$setRotate]: dart.fnType(dart.void, [core.num, core.num, core.num]),
  [S$3.$setScale]: dart.fnType(dart.void, [core.num, core.num]),
  [S$3.$setSkewX]: dart.fnType(dart.void, [core.num]),
  [S$3.$setSkewY]: dart.fnType(dart.void, [core.num]),
  [S$3.$setTranslate]: dart.fnType(dart.void, [core.num, core.num])
}));
dart.setGetterSignature(svg$.Transform, () => ({
  __proto__: dart.getGetters(svg$.Transform.__proto__),
  [S$.$angle]: dart.nullable(core.num),
  [S$.$matrix]: dart.nullable(svg$.Matrix),
  [S.$type]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.Transform, I[157]);
dart.defineLazy(svg$.Transform, {
  /*svg$.Transform.SVG_TRANSFORM_MATRIX*/get SVG_TRANSFORM_MATRIX() {
    return 1;
  },
  /*svg$.Transform.SVG_TRANSFORM_ROTATE*/get SVG_TRANSFORM_ROTATE() {
    return 4;
  },
  /*svg$.Transform.SVG_TRANSFORM_SCALE*/get SVG_TRANSFORM_SCALE() {
    return 3;
  },
  /*svg$.Transform.SVG_TRANSFORM_SKEWX*/get SVG_TRANSFORM_SKEWX() {
    return 5;
  },
  /*svg$.Transform.SVG_TRANSFORM_SKEWY*/get SVG_TRANSFORM_SKEWY() {
    return 6;
  },
  /*svg$.Transform.SVG_TRANSFORM_TRANSLATE*/get SVG_TRANSFORM_TRANSLATE() {
    return 2;
  },
  /*svg$.Transform.SVG_TRANSFORM_UNKNOWN*/get SVG_TRANSFORM_UNKNOWN() {
    return 0;
  }
}, false);
dart.registerExtension("SVGTransform", svg$.Transform);
const Interceptor_ListMixin$36$16 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$16.new = function() {
  Interceptor_ListMixin$36$16.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$16.prototype;
dart.applyMixin(Interceptor_ListMixin$36$16, collection.ListMixin$(svg$.Transform));
const Interceptor_ImmutableListMixin$36$16 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$16 {};
(Interceptor_ImmutableListMixin$36$16.new = function() {
  Interceptor_ImmutableListMixin$36$16.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$16.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$16, html$.ImmutableListMixin$(svg$.Transform));
svg$.TransformList = class TransformList extends Interceptor_ImmutableListMixin$36$16 {
  get [$length]() {
    return this.length;
  }
  get [S$3.$numberOfItems]() {
    return this.numberOfItems;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[156], 3850, 29, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return this.getItem(index);
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[156], 3856, 25, "index");
    svg$.Transform.as(value);
    if (value == null) dart.nullFailed(I[156], 3856, 42, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[156], 3862, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[156], 3890, 27, "index");
    return this[$_get](index);
  }
  [S$3.__setter__$1](...args) {
    return this.__setter__.apply(this, args);
  }
  [S$3.$appendItem](...args) {
    return this.appendItem.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$3.$consolidate](...args) {
    return this.consolidate.apply(this, args);
  }
  [S$3.$createSvgTransformFromMatrix](...args) {
    return this.createSVGTransformFromMatrix.apply(this, args);
  }
  [S$3.$getItem](...args) {
    return this.getItem.apply(this, args);
  }
  [S$3.$initialize](...args) {
    return this.initialize.apply(this, args);
  }
  [S$3.$insertItemBefore](...args) {
    return this.insertItemBefore.apply(this, args);
  }
  [S$3.$removeItem](...args) {
    return this.removeItem.apply(this, args);
  }
  [S$3.$replaceItem](...args) {
    return this.replaceItem.apply(this, args);
  }
};
svg$.TransformList.prototype[dart.isList] = true;
dart.addTypeTests(svg$.TransformList);
dart.addTypeCaches(svg$.TransformList);
svg$.TransformList[dart.implements] = () => [core.List$(svg$.Transform)];
dart.setMethodSignature(svg$.TransformList, () => ({
  __proto__: dart.getMethods(svg$.TransformList.__proto__),
  [$_get]: dart.fnType(svg$.Transform, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$3.__setter__$1]: dart.fnType(dart.void, [core.int, svg$.Transform]),
  [S$3.$appendItem]: dart.fnType(svg$.Transform, [svg$.Transform]),
  [S$3.$consolidate]: dart.fnType(dart.nullable(svg$.Transform), []),
  [S$3.$createSvgTransformFromMatrix]: dart.fnType(svg$.Transform, [svg$.Matrix]),
  [S$3.$getItem]: dart.fnType(svg$.Transform, [core.int]),
  [S$3.$initialize]: dart.fnType(svg$.Transform, [svg$.Transform]),
  [S$3.$insertItemBefore]: dart.fnType(svg$.Transform, [svg$.Transform, core.int]),
  [S$3.$removeItem]: dart.fnType(svg$.Transform, [core.int]),
  [S$3.$replaceItem]: dart.fnType(svg$.Transform, [svg$.Transform, core.int])
}));
dart.setGetterSignature(svg$.TransformList, () => ({
  __proto__: dart.getGetters(svg$.TransformList.__proto__),
  [$length]: core.int,
  [S$3.$numberOfItems]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.TransformList, () => ({
  __proto__: dart.getSetters(svg$.TransformList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(svg$.TransformList, I[157]);
dart.registerExtension("SVGTransformList", svg$.TransformList);
svg$.UnitTypes = class UnitTypes extends _interceptors.Interceptor {};
dart.addTypeTests(svg$.UnitTypes);
dart.addTypeCaches(svg$.UnitTypes);
dart.setLibraryUri(svg$.UnitTypes, I[157]);
dart.defineLazy(svg$.UnitTypes, {
  /*svg$.UnitTypes.SVG_UNIT_TYPE_OBJECTBOUNDINGBOX*/get SVG_UNIT_TYPE_OBJECTBOUNDINGBOX() {
    return 2;
  },
  /*svg$.UnitTypes.SVG_UNIT_TYPE_UNKNOWN*/get SVG_UNIT_TYPE_UNKNOWN() {
    return 0;
  },
  /*svg$.UnitTypes.SVG_UNIT_TYPE_USERSPACEONUSE*/get SVG_UNIT_TYPE_USERSPACEONUSE() {
    return 1;
  }
}, false);
dart.registerExtension("SVGUnitTypes", svg$.UnitTypes);
svg$.UriReference = class UriReference extends _interceptors.Interceptor {
  get href() {
    return this.href;
  }
};
dart.addTypeTests(svg$.UriReference);
dart.addTypeCaches(svg$.UriReference);
dart.setGetterSignature(svg$.UriReference, () => ({
  __proto__: dart.getGetters(svg$.UriReference.__proto__),
  href: dart.nullable(svg$.AnimatedString),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.UriReference, I[157]);
dart.defineExtensionAccessors(svg$.UriReference, ['href']);
svg$.UseElement = class UseElement extends svg$.GraphicsElement {
  static new() {
    return svg$.UseElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("use"));
  }
  get [$height]() {
    return this.height;
  }
  get [$width]() {
    return this.width;
  }
  get [S$.$x]() {
    return this.x;
  }
  get [S$.$y]() {
    return this.y;
  }
  get [S$.$href]() {
    return this.href;
  }
};
(svg$.UseElement.created = function() {
  svg$.UseElement.__proto__.created.call(this);
  ;
}).prototype = svg$.UseElement.prototype;
dart.addTypeTests(svg$.UseElement);
dart.addTypeCaches(svg$.UseElement);
svg$.UseElement[dart.implements] = () => [svg$.UriReference];
dart.setGetterSignature(svg$.UseElement, () => ({
  __proto__: dart.getGetters(svg$.UseElement.__proto__),
  [$height]: dart.nullable(svg$.AnimatedLength),
  [$width]: dart.nullable(svg$.AnimatedLength),
  [S$.$x]: dart.nullable(svg$.AnimatedLength),
  [S$.$y]: dart.nullable(svg$.AnimatedLength),
  [S$.$href]: dart.nullable(svg$.AnimatedString)
}));
dart.setLibraryUri(svg$.UseElement, I[157]);
dart.registerExtension("SVGUseElement", svg$.UseElement);
svg$.ViewElement = class ViewElement extends svg$.SvgElement {
  static new() {
    return svg$.ViewElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("view"));
  }
  get [S$3.$preserveAspectRatio]() {
    return this.preserveAspectRatio;
  }
  get [S$3.$viewBox]() {
    return this.viewBox;
  }
  get [S$3.$zoomAndPan]() {
    return this.zoomAndPan;
  }
  set [S$3.$zoomAndPan](value) {
    this.zoomAndPan = value;
  }
};
(svg$.ViewElement.created = function() {
  svg$.ViewElement.__proto__.created.call(this);
  ;
}).prototype = svg$.ViewElement.prototype;
dart.addTypeTests(svg$.ViewElement);
dart.addTypeCaches(svg$.ViewElement);
svg$.ViewElement[dart.implements] = () => [svg$.FitToViewBox, svg$.ZoomAndPan];
dart.setGetterSignature(svg$.ViewElement, () => ({
  __proto__: dart.getGetters(svg$.ViewElement.__proto__),
  [S$3.$preserveAspectRatio]: dart.nullable(svg$.AnimatedPreserveAspectRatio),
  [S$3.$viewBox]: dart.nullable(svg$.AnimatedRect),
  [S$3.$zoomAndPan]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.ViewElement, () => ({
  __proto__: dart.getSetters(svg$.ViewElement.__proto__),
  [S$3.$zoomAndPan]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.ViewElement, I[157]);
dart.registerExtension("SVGViewElement", svg$.ViewElement);
svg$.ZoomAndPan = class ZoomAndPan extends _interceptors.Interceptor {
  get zoomAndPan() {
    return this.zoomAndPan;
  }
  set zoomAndPan(value) {
    this.zoomAndPan = value;
  }
};
dart.addTypeTests(svg$.ZoomAndPan);
dart.addTypeCaches(svg$.ZoomAndPan);
dart.setGetterSignature(svg$.ZoomAndPan, () => ({
  __proto__: dart.getGetters(svg$.ZoomAndPan.__proto__),
  zoomAndPan: dart.nullable(core.int),
  [S$3.$zoomAndPan]: dart.nullable(core.int)
}));
dart.setSetterSignature(svg$.ZoomAndPan, () => ({
  __proto__: dart.getSetters(svg$.ZoomAndPan.__proto__),
  zoomAndPan: dart.nullable(core.int),
  [S$3.$zoomAndPan]: dart.nullable(core.int)
}));
dart.setLibraryUri(svg$.ZoomAndPan, I[157]);
dart.defineExtensionAccessors(svg$.ZoomAndPan, ['zoomAndPan']);
dart.defineLazy(svg$.ZoomAndPan, {
  /*svg$.ZoomAndPan.SVG_ZOOMANDPAN_DISABLE*/get SVG_ZOOMANDPAN_DISABLE() {
    return 1;
  },
  /*svg$.ZoomAndPan.SVG_ZOOMANDPAN_MAGNIFY*/get SVG_ZOOMANDPAN_MAGNIFY() {
    return 2;
  },
  /*svg$.ZoomAndPan.SVG_ZOOMANDPAN_UNKNOWN*/get SVG_ZOOMANDPAN_UNKNOWN() {
    return 0;
  }
}, false);
svg$._SVGFEDropShadowElement = class _SVGFEDropShadowElement extends svg$.SvgElement {};
(svg$._SVGFEDropShadowElement.created = function() {
  svg$._SVGFEDropShadowElement.__proto__.created.call(this);
  ;
}).prototype = svg$._SVGFEDropShadowElement.prototype;
dart.addTypeTests(svg$._SVGFEDropShadowElement);
dart.addTypeCaches(svg$._SVGFEDropShadowElement);
svg$._SVGFEDropShadowElement[dart.implements] = () => [svg$.FilterPrimitiveStandardAttributes];
dart.setLibraryUri(svg$._SVGFEDropShadowElement, I[157]);
dart.registerExtension("SVGFEDropShadowElement", svg$._SVGFEDropShadowElement);
svg$._SVGMPathElement = class _SVGMPathElement extends svg$.SvgElement {
  static new() {
    return svg$._SVGMPathElement.as(svg$._SvgElementFactoryProvider.createSvgElement_tag("mpath"));
  }
};
(svg$._SVGMPathElement.created = function() {
  svg$._SVGMPathElement.__proto__.created.call(this);
  ;
}).prototype = svg$._SVGMPathElement.prototype;
dart.addTypeTests(svg$._SVGMPathElement);
dart.addTypeCaches(svg$._SVGMPathElement);
svg$._SVGMPathElement[dart.implements] = () => [svg$.UriReference];
dart.setLibraryUri(svg$._SVGMPathElement, I[157]);
dart.registerExtension("SVGMPathElement", svg$._SVGMPathElement);
web_audio.AudioNode = class AudioNode extends html$.EventTarget {
  get [S$3.$channelCount]() {
    return this.channelCount;
  }
  set [S$3.$channelCount](value) {
    this.channelCount = value;
  }
  get [S$3.$channelCountMode]() {
    return this.channelCountMode;
  }
  set [S$3.$channelCountMode](value) {
    this.channelCountMode = value;
  }
  get [S$3.$channelInterpretation]() {
    return this.channelInterpretation;
  }
  set [S$3.$channelInterpretation](value) {
    this.channelInterpretation = value;
  }
  get [S$3.$context]() {
    return this.context;
  }
  get [S$3.$numberOfInputs]() {
    return this.numberOfInputs;
  }
  get [S$3.$numberOfOutputs]() {
    return this.numberOfOutputs;
  }
  [S$3._connect](...args) {
    return this.connect.apply(this, args);
  }
  [S$1.$disconnect](...args) {
    return this.disconnect.apply(this, args);
  }
  [S$3.$connectNode](destination, output = 0, input = 0) {
    if (destination == null) dart.nullFailed(I[158], 333, 30, "destination");
    if (output == null) dart.nullFailed(I[158], 333, 48, "output");
    if (input == null) dart.nullFailed(I[158], 333, 64, "input");
    this[S$3._connect](destination, output, input);
  }
  [S$3.$connectParam](destination, output = 0) {
    if (destination == null) dart.nullFailed(I[158], 337, 32, "destination");
    if (output == null) dart.nullFailed(I[158], 337, 50, "output");
    this[S$3._connect](destination, output);
  }
};
dart.addTypeTests(web_audio.AudioNode);
dart.addTypeCaches(web_audio.AudioNode);
dart.setMethodSignature(web_audio.AudioNode, () => ({
  __proto__: dart.getMethods(web_audio.AudioNode.__proto__),
  [S$3._connect]: dart.fnType(web_audio.AudioNode, [dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$1.$disconnect]: dart.fnType(dart.void, [], [dart.dynamic, dart.nullable(core.int), dart.nullable(core.int)]),
  [S$3.$connectNode]: dart.fnType(dart.void, [web_audio.AudioNode], [core.int, core.int]),
  [S$3.$connectParam]: dart.fnType(dart.void, [web_audio.AudioParam], [core.int])
}));
dart.setGetterSignature(web_audio.AudioNode, () => ({
  __proto__: dart.getGetters(web_audio.AudioNode.__proto__),
  [S$3.$channelCount]: dart.nullable(core.int),
  [S$3.$channelCountMode]: dart.nullable(core.String),
  [S$3.$channelInterpretation]: dart.nullable(core.String),
  [S$3.$context]: dart.nullable(web_audio.BaseAudioContext),
  [S$3.$numberOfInputs]: dart.nullable(core.int),
  [S$3.$numberOfOutputs]: dart.nullable(core.int)
}));
dart.setSetterSignature(web_audio.AudioNode, () => ({
  __proto__: dart.getSetters(web_audio.AudioNode.__proto__),
  [S$3.$channelCount]: dart.nullable(core.int),
  [S$3.$channelCountMode]: dart.nullable(core.String),
  [S$3.$channelInterpretation]: dart.nullable(core.String)
}));
dart.setLibraryUri(web_audio.AudioNode, I[159]);
dart.registerExtension("AudioNode", web_audio.AudioNode);
web_audio.AnalyserNode = class AnalyserNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 41, 41, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.AnalyserNode._create_1(context, options_1);
    }
    return web_audio.AnalyserNode._create_2(context);
  }
  static _create_1(context, options) {
    return new AnalyserNode(context, options);
  }
  static _create_2(context) {
    return new AnalyserNode(context);
  }
  get [S$3.$fftSize]() {
    return this.fftSize;
  }
  set [S$3.$fftSize](value) {
    this.fftSize = value;
  }
  get [S$3.$frequencyBinCount]() {
    return this.frequencyBinCount;
  }
  get [S$3.$maxDecibels]() {
    return this.maxDecibels;
  }
  set [S$3.$maxDecibels](value) {
    this.maxDecibels = value;
  }
  get [S$3.$minDecibels]() {
    return this.minDecibels;
  }
  set [S$3.$minDecibels](value) {
    this.minDecibels = value;
  }
  get [S$3.$smoothingTimeConstant]() {
    return this.smoothingTimeConstant;
  }
  set [S$3.$smoothingTimeConstant](value) {
    this.smoothingTimeConstant = value;
  }
  [S$3.$getByteFrequencyData](...args) {
    return this.getByteFrequencyData.apply(this, args);
  }
  [S$3.$getByteTimeDomainData](...args) {
    return this.getByteTimeDomainData.apply(this, args);
  }
  [S$3.$getFloatFrequencyData](...args) {
    return this.getFloatFrequencyData.apply(this, args);
  }
  [S$3.$getFloatTimeDomainData](...args) {
    return this.getFloatTimeDomainData.apply(this, args);
  }
};
dart.addTypeTests(web_audio.AnalyserNode);
dart.addTypeCaches(web_audio.AnalyserNode);
dart.setMethodSignature(web_audio.AnalyserNode, () => ({
  __proto__: dart.getMethods(web_audio.AnalyserNode.__proto__),
  [S$3.$getByteFrequencyData]: dart.fnType(dart.void, [typed_data.Uint8List]),
  [S$3.$getByteTimeDomainData]: dart.fnType(dart.void, [typed_data.Uint8List]),
  [S$3.$getFloatFrequencyData]: dart.fnType(dart.void, [typed_data.Float32List]),
  [S$3.$getFloatTimeDomainData]: dart.fnType(dart.void, [typed_data.Float32List])
}));
dart.setGetterSignature(web_audio.AnalyserNode, () => ({
  __proto__: dart.getGetters(web_audio.AnalyserNode.__proto__),
  [S$3.$fftSize]: dart.nullable(core.int),
  [S$3.$frequencyBinCount]: dart.nullable(core.int),
  [S$3.$maxDecibels]: dart.nullable(core.num),
  [S$3.$minDecibels]: dart.nullable(core.num),
  [S$3.$smoothingTimeConstant]: dart.nullable(core.num)
}));
dart.setSetterSignature(web_audio.AnalyserNode, () => ({
  __proto__: dart.getSetters(web_audio.AnalyserNode.__proto__),
  [S$3.$fftSize]: dart.nullable(core.int),
  [S$3.$maxDecibels]: dart.nullable(core.num),
  [S$3.$minDecibels]: dart.nullable(core.num),
  [S$3.$smoothingTimeConstant]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.AnalyserNode, I[159]);
dart.registerExtension("AnalyserNode", web_audio.AnalyserNode);
dart.registerExtension("RealtimeAnalyserNode", web_audio.AnalyserNode);
web_audio.AudioBuffer = class AudioBuffer$ extends _interceptors.Interceptor {
  static new(options) {
    if (options == null) dart.nullFailed(I[158], 90, 27, "options");
    let options_1 = html_common.convertDartToNative_Dictionary(options);
    return web_audio.AudioBuffer._create_1(options_1);
  }
  static _create_1(options) {
    return new AudioBuffer(options);
  }
  get [S$.$duration]() {
    return this.duration;
  }
  get [$length]() {
    return this.length;
  }
  get [S$3.$numberOfChannels]() {
    return this.numberOfChannels;
  }
  get [S$3.$sampleRate]() {
    return this.sampleRate;
  }
  [S$3.$copyFromChannel](...args) {
    return this.copyFromChannel.apply(this, args);
  }
  [S$3.$copyToChannel](...args) {
    return this.copyToChannel.apply(this, args);
  }
  [S$3.$getChannelData](...args) {
    return this.getChannelData.apply(this, args);
  }
};
dart.addTypeTests(web_audio.AudioBuffer);
dart.addTypeCaches(web_audio.AudioBuffer);
dart.setMethodSignature(web_audio.AudioBuffer, () => ({
  __proto__: dart.getMethods(web_audio.AudioBuffer.__proto__),
  [S$3.$copyFromChannel]: dart.fnType(dart.void, [typed_data.Float32List, core.int], [dart.nullable(core.int)]),
  [S$3.$copyToChannel]: dart.fnType(dart.void, [typed_data.Float32List, core.int], [dart.nullable(core.int)]),
  [S$3.$getChannelData]: dart.fnType(typed_data.Float32List, [core.int])
}));
dart.setGetterSignature(web_audio.AudioBuffer, () => ({
  __proto__: dart.getGetters(web_audio.AudioBuffer.__proto__),
  [S$.$duration]: dart.nullable(core.num),
  [$length]: dart.nullable(core.int),
  [S$3.$numberOfChannels]: dart.nullable(core.int),
  [S$3.$sampleRate]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.AudioBuffer, I[159]);
dart.registerExtension("AudioBuffer", web_audio.AudioBuffer);
web_audio.AudioScheduledSourceNode = class AudioScheduledSourceNode extends web_audio.AudioNode {
  [S$3.$start2](...args) {
    return this.start.apply(this, args);
  }
  [S$.$stop](...args) {
    return this.stop.apply(this, args);
  }
  get [S.$onEnded]() {
    return web_audio.AudioScheduledSourceNode.endedEvent.forTarget(this);
  }
};
dart.addTypeTests(web_audio.AudioScheduledSourceNode);
dart.addTypeCaches(web_audio.AudioScheduledSourceNode);
dart.setMethodSignature(web_audio.AudioScheduledSourceNode, () => ({
  __proto__: dart.getMethods(web_audio.AudioScheduledSourceNode.__proto__),
  [S$3.$start2]: dart.fnType(dart.void, [], [dart.nullable(core.num)]),
  [S$.$stop]: dart.fnType(dart.void, [], [dart.nullable(core.num)])
}));
dart.setGetterSignature(web_audio.AudioScheduledSourceNode, () => ({
  __proto__: dart.getGetters(web_audio.AudioScheduledSourceNode.__proto__),
  [S.$onEnded]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(web_audio.AudioScheduledSourceNode, I[159]);
dart.defineLazy(web_audio.AudioScheduledSourceNode, {
  /*web_audio.AudioScheduledSourceNode.endedEvent*/get endedEvent() {
    return C[253] || CT.C253;
  }
}, false);
dart.registerExtension("AudioScheduledSourceNode", web_audio.AudioScheduledSourceNode);
web_audio.AudioBufferSourceNode = class AudioBufferSourceNode$ extends web_audio.AudioScheduledSourceNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 126, 50, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.AudioBufferSourceNode._create_1(context, options_1);
    }
    return web_audio.AudioBufferSourceNode._create_2(context);
  }
  static _create_1(context, options) {
    return new AudioBufferSourceNode(context, options);
  }
  static _create_2(context) {
    return new AudioBufferSourceNode(context);
  }
  get [$buffer]() {
    return this.buffer;
  }
  set [$buffer](value) {
    this.buffer = value;
  }
  get [S$3.$detune]() {
    return this.detune;
  }
  get [S$.$loop]() {
    return this.loop;
  }
  set [S$.$loop](value) {
    this.loop = value;
  }
  get [S$3.$loopEnd]() {
    return this.loopEnd;
  }
  set [S$3.$loopEnd](value) {
    this.loopEnd = value;
  }
  get [S$3.$loopStart]() {
    return this.loopStart;
  }
  set [S$3.$loopStart](value) {
    this.loopStart = value;
  }
  get [S$.$playbackRate]() {
    return this.playbackRate;
  }
  [S$.$start](...args) {
    return this.start.apply(this, args);
  }
};
dart.addTypeTests(web_audio.AudioBufferSourceNode);
dart.addTypeCaches(web_audio.AudioBufferSourceNode);
dart.setMethodSignature(web_audio.AudioBufferSourceNode, () => ({
  __proto__: dart.getMethods(web_audio.AudioBufferSourceNode.__proto__),
  [S$.$start]: dart.fnType(dart.void, [], [dart.nullable(core.num), dart.nullable(core.num), dart.nullable(core.num)])
}));
dart.setGetterSignature(web_audio.AudioBufferSourceNode, () => ({
  __proto__: dart.getGetters(web_audio.AudioBufferSourceNode.__proto__),
  [$buffer]: dart.nullable(web_audio.AudioBuffer),
  [S$3.$detune]: dart.nullable(web_audio.AudioParam),
  [S$.$loop]: dart.nullable(core.bool),
  [S$3.$loopEnd]: dart.nullable(core.num),
  [S$3.$loopStart]: dart.nullable(core.num),
  [S$.$playbackRate]: dart.nullable(web_audio.AudioParam)
}));
dart.setSetterSignature(web_audio.AudioBufferSourceNode, () => ({
  __proto__: dart.getSetters(web_audio.AudioBufferSourceNode.__proto__),
  [$buffer]: dart.nullable(web_audio.AudioBuffer),
  [S$.$loop]: dart.nullable(core.bool),
  [S$3.$loopEnd]: dart.nullable(core.num),
  [S$3.$loopStart]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.AudioBufferSourceNode, I[159]);
dart.registerExtension("AudioBufferSourceNode", web_audio.AudioBufferSourceNode);
web_audio.BaseAudioContext = class BaseAudioContext extends html$.EventTarget {
  get [S$.$currentTime]() {
    return this.currentTime;
  }
  get [S$3.$destination]() {
    return this.destination;
  }
  get [S$3.$listener]() {
    return this.listener;
  }
  get [S$3.$sampleRate]() {
    return this.sampleRate;
  }
  get [S$.$state]() {
    return this.state;
  }
  [S$3.$createAnalyser](...args) {
    return this.createAnalyser.apply(this, args);
  }
  [S$3.$createBiquadFilter](...args) {
    return this.createBiquadFilter.apply(this, args);
  }
  [S$3.$createBuffer](...args) {
    return this.createBuffer.apply(this, args);
  }
  [S$4.$createBufferSource](...args) {
    return this.createBufferSource.apply(this, args);
  }
  [S$4.$createChannelMerger](...args) {
    return this.createChannelMerger.apply(this, args);
  }
  [S$4.$createChannelSplitter](...args) {
    return this.createChannelSplitter.apply(this, args);
  }
  [S$4.$createConstantSource](...args) {
    return this.createConstantSource.apply(this, args);
  }
  [S$4.$createConvolver](...args) {
    return this.createConvolver.apply(this, args);
  }
  [S$4.$createDelay](...args) {
    return this.createDelay.apply(this, args);
  }
  [S$4.$createDynamicsCompressor](...args) {
    return this.createDynamicsCompressor.apply(this, args);
  }
  [S$3.$createGain](...args) {
    return this.createGain.apply(this, args);
  }
  [S$4.$createIirFilter](...args) {
    return this.createIIRFilter.apply(this, args);
  }
  [S$4.$createMediaElementSource](...args) {
    return this.createMediaElementSource.apply(this, args);
  }
  [S$4.$createMediaStreamDestination](...args) {
    return this.createMediaStreamDestination.apply(this, args);
  }
  [S$4.$createMediaStreamSource](...args) {
    return this.createMediaStreamSource.apply(this, args);
  }
  [S$4.$createOscillator](...args) {
    return this.createOscillator.apply(this, args);
  }
  [S$4.$createPanner](...args) {
    return this.createPanner.apply(this, args);
  }
  [S$4.$createPeriodicWave](real, imag, options = null) {
    if (real == null) dart.nullFailed(I[158], 658, 45, "real");
    if (imag == null) dart.nullFailed(I[158], 658, 61, "imag");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return this[S$4._createPeriodicWave_1](real, imag, options_1);
    }
    return this[S$4._createPeriodicWave_2](real, imag);
  }
  [S$4._createPeriodicWave_1](...args) {
    return this.createPeriodicWave.apply(this, args);
  }
  [S$4._createPeriodicWave_2](...args) {
    return this.createPeriodicWave.apply(this, args);
  }
  [S$3.$createScriptProcessor](...args) {
    return this.createScriptProcessor.apply(this, args);
  }
  [S$4.$createStereoPanner](...args) {
    return this.createStereoPanner.apply(this, args);
  }
  [S$4.$createWaveShaper](...args) {
    return this.createWaveShaper.apply(this, args);
  }
  [S$3.$decodeAudioData](audioData, successCallback = null, errorCallback = null) {
    if (audioData == null) dart.nullFailed(I[158], 682, 50, "audioData");
    return js_util.promiseToFuture(web_audio.AudioBuffer, this.decodeAudioData(audioData, successCallback, errorCallback));
  }
  [S$1.$resume]() {
    return js_util.promiseToFuture(dart.dynamic, this.resume());
  }
};
dart.addTypeTests(web_audio.BaseAudioContext);
dart.addTypeCaches(web_audio.BaseAudioContext);
dart.setMethodSignature(web_audio.BaseAudioContext, () => ({
  __proto__: dart.getMethods(web_audio.BaseAudioContext.__proto__),
  [S$3.$createAnalyser]: dart.fnType(web_audio.AnalyserNode, []),
  [S$3.$createBiquadFilter]: dart.fnType(web_audio.BiquadFilterNode, []),
  [S$3.$createBuffer]: dart.fnType(web_audio.AudioBuffer, [core.int, core.int, core.num]),
  [S$4.$createBufferSource]: dart.fnType(web_audio.AudioBufferSourceNode, []),
  [S$4.$createChannelMerger]: dart.fnType(web_audio.ChannelMergerNode, [], [dart.nullable(core.int)]),
  [S$4.$createChannelSplitter]: dart.fnType(web_audio.ChannelSplitterNode, [], [dart.nullable(core.int)]),
  [S$4.$createConstantSource]: dart.fnType(web_audio.ConstantSourceNode, []),
  [S$4.$createConvolver]: dart.fnType(web_audio.ConvolverNode, []),
  [S$4.$createDelay]: dart.fnType(web_audio.DelayNode, [], [dart.nullable(core.num)]),
  [S$4.$createDynamicsCompressor]: dart.fnType(web_audio.DynamicsCompressorNode, []),
  [S$3.$createGain]: dart.fnType(web_audio.GainNode, []),
  [S$4.$createIirFilter]: dart.fnType(web_audio.IirFilterNode, [core.List$(core.num), core.List$(core.num)]),
  [S$4.$createMediaElementSource]: dart.fnType(web_audio.MediaElementAudioSourceNode, [html$.MediaElement]),
  [S$4.$createMediaStreamDestination]: dart.fnType(web_audio.MediaStreamAudioDestinationNode, []),
  [S$4.$createMediaStreamSource]: dart.fnType(web_audio.MediaStreamAudioSourceNode, [html$.MediaStream]),
  [S$4.$createOscillator]: dart.fnType(web_audio.OscillatorNode, []),
  [S$4.$createPanner]: dart.fnType(web_audio.PannerNode, []),
  [S$4.$createPeriodicWave]: dart.fnType(web_audio.PeriodicWave, [core.List$(core.num), core.List$(core.num)], [dart.nullable(core.Map)]),
  [S$4._createPeriodicWave_1]: dart.fnType(web_audio.PeriodicWave, [core.List$(core.num), core.List$(core.num), dart.dynamic]),
  [S$4._createPeriodicWave_2]: dart.fnType(web_audio.PeriodicWave, [core.List$(core.num), core.List$(core.num)]),
  [S$3.$createScriptProcessor]: dart.fnType(web_audio.ScriptProcessorNode, [], [dart.nullable(core.int), dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$createStereoPanner]: dart.fnType(web_audio.StereoPannerNode, []),
  [S$4.$createWaveShaper]: dart.fnType(web_audio.WaveShaperNode, []),
  [S$3.$decodeAudioData]: dart.fnType(async.Future$(web_audio.AudioBuffer), [typed_data.ByteBuffer], [dart.nullable(dart.fnType(dart.void, [web_audio.AudioBuffer])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))]),
  [S$1.$resume]: dart.fnType(async.Future, [])
}));
dart.setGetterSignature(web_audio.BaseAudioContext, () => ({
  __proto__: dart.getGetters(web_audio.BaseAudioContext.__proto__),
  [S$.$currentTime]: dart.nullable(core.num),
  [S$3.$destination]: dart.nullable(web_audio.AudioDestinationNode),
  [S$3.$listener]: dart.nullable(web_audio.AudioListener),
  [S$3.$sampleRate]: dart.nullable(core.num),
  [S$.$state]: dart.nullable(core.String)
}));
dart.setLibraryUri(web_audio.BaseAudioContext, I[159]);
dart.registerExtension("BaseAudioContext", web_audio.BaseAudioContext);
web_audio.AudioContext = class AudioContext extends web_audio.BaseAudioContext {
  static get supported() {
    return !!(window.AudioContext || window.webkitAudioContext);
  }
  get [S$3.$baseLatency]() {
    return this.baseLatency;
  }
  [S.$close]() {
    return js_util.promiseToFuture(dart.dynamic, this.close());
  }
  [S$3.$getOutputTimestamp]() {
    return dart.nullCheck(html_common.convertNativeToDart_Dictionary(this[S$3._getOutputTimestamp_1]()));
  }
  [S$3._getOutputTimestamp_1](...args) {
    return this.getOutputTimestamp.apply(this, args);
  }
  [S$3.$suspend]() {
    return js_util.promiseToFuture(dart.dynamic, this.suspend());
  }
  static new() {
    return new (window.AudioContext || window.webkitAudioContext)();
  }
  [S$3.$createGain]() {
    if (this.createGain !== undefined) {
      return this.createGain();
    } else {
      return this.createGainNode();
    }
  }
  [S$3.$createScriptProcessor](bufferSize = null, numberOfInputChannels = null, numberOfOutputChannels = null) {
    let $function = this.createScriptProcessor || this.createJavaScriptNode;
    if (numberOfOutputChannels != null) {
      return $function.call(this, bufferSize, numberOfInputChannels, numberOfOutputChannels);
    } else if (numberOfInputChannels != null) {
      return $function.call(this, bufferSize, numberOfInputChannels);
    } else if (bufferSize != null) {
      return $function.call(this, bufferSize);
    } else {
      return $function.call(this);
    }
  }
  [S$3._decodeAudioData](...args) {
    return this.decodeAudioData.apply(this, args);
  }
  [S$3.$decodeAudioData](audioData, successCallback = null, errorCallback = null) {
    if (audioData == null) dart.nullFailed(I[158], 233, 50, "audioData");
    if (successCallback != null && errorCallback != null) {
      return this[S$3._decodeAudioData](audioData, successCallback, errorCallback);
    }
    let completer = T$0.CompleterOfAudioBuffer().new();
    this[S$3._decodeAudioData](audioData, dart.fn(value => {
      if (value == null) dart.nullFailed(I[158], 241, 34, "value");
      completer.complete(value);
    }, T$0.AudioBufferTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[158], 243, 9, "error");
      if (error == null) {
        completer.completeError("");
      } else {
        completer.completeError(error);
      }
    }, T$0.DomExceptionTovoid()));
    return completer.future;
  }
};
dart.addTypeTests(web_audio.AudioContext);
dart.addTypeCaches(web_audio.AudioContext);
dart.setMethodSignature(web_audio.AudioContext, () => ({
  __proto__: dart.getMethods(web_audio.AudioContext.__proto__),
  [S.$close]: dart.fnType(async.Future, []),
  [S$3.$getOutputTimestamp]: dart.fnType(core.Map, []),
  [S$3._getOutputTimestamp_1]: dart.fnType(dart.dynamic, []),
  [S$3.$suspend]: dart.fnType(async.Future, []),
  [S$3._decodeAudioData]: dart.fnType(async.Future$(web_audio.AudioBuffer), [typed_data.ByteBuffer], [dart.nullable(dart.fnType(dart.void, [web_audio.AudioBuffer])), dart.nullable(dart.fnType(dart.void, [html$.DomException]))])
}));
dart.setGetterSignature(web_audio.AudioContext, () => ({
  __proto__: dart.getGetters(web_audio.AudioContext.__proto__),
  [S$3.$baseLatency]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.AudioContext, I[159]);
dart.registerExtension("AudioContext", web_audio.AudioContext);
dart.registerExtension("webkitAudioContext", web_audio.AudioContext);
web_audio.AudioDestinationNode = class AudioDestinationNode extends web_audio.AudioNode {
  get [S$4.$maxChannelCount]() {
    return this.maxChannelCount;
  }
};
dart.addTypeTests(web_audio.AudioDestinationNode);
dart.addTypeCaches(web_audio.AudioDestinationNode);
dart.setGetterSignature(web_audio.AudioDestinationNode, () => ({
  __proto__: dart.getGetters(web_audio.AudioDestinationNode.__proto__),
  [S$4.$maxChannelCount]: dart.nullable(core.int)
}));
dart.setLibraryUri(web_audio.AudioDestinationNode, I[159]);
dart.registerExtension("AudioDestinationNode", web_audio.AudioDestinationNode);
web_audio.AudioListener = class AudioListener extends _interceptors.Interceptor {
  get [S$4.$forwardX]() {
    return this.forwardX;
  }
  get [S$4.$forwardY]() {
    return this.forwardY;
  }
  get [S$4.$forwardZ]() {
    return this.forwardZ;
  }
  get [S$2.$positionX]() {
    return this.positionX;
  }
  get [S$2.$positionY]() {
    return this.positionY;
  }
  get [S$4.$positionZ]() {
    return this.positionZ;
  }
  get [S$4.$upX]() {
    return this.upX;
  }
  get [S$4.$upY]() {
    return this.upY;
  }
  get [S$4.$upZ]() {
    return this.upZ;
  }
  [S$4.$setOrientation](...args) {
    return this.setOrientation.apply(this, args);
  }
  [S$2.$setPosition](...args) {
    return this.setPosition.apply(this, args);
  }
};
dart.addTypeTests(web_audio.AudioListener);
dart.addTypeCaches(web_audio.AudioListener);
dart.setMethodSignature(web_audio.AudioListener, () => ({
  __proto__: dart.getMethods(web_audio.AudioListener.__proto__),
  [S$4.$setOrientation]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num, core.num, core.num]),
  [S$2.$setPosition]: dart.fnType(dart.void, [core.num, core.num, core.num])
}));
dart.setGetterSignature(web_audio.AudioListener, () => ({
  __proto__: dart.getGetters(web_audio.AudioListener.__proto__),
  [S$4.$forwardX]: dart.nullable(web_audio.AudioParam),
  [S$4.$forwardY]: dart.nullable(web_audio.AudioParam),
  [S$4.$forwardZ]: dart.nullable(web_audio.AudioParam),
  [S$2.$positionX]: dart.nullable(web_audio.AudioParam),
  [S$2.$positionY]: dart.nullable(web_audio.AudioParam),
  [S$4.$positionZ]: dart.nullable(web_audio.AudioParam),
  [S$4.$upX]: dart.nullable(web_audio.AudioParam),
  [S$4.$upY]: dart.nullable(web_audio.AudioParam),
  [S$4.$upZ]: dart.nullable(web_audio.AudioParam)
}));
dart.setLibraryUri(web_audio.AudioListener, I[159]);
dart.registerExtension("AudioListener", web_audio.AudioListener);
web_audio.AudioParam = class AudioParam extends _interceptors.Interceptor {
  get [S$1.$defaultValue]() {
    return this.defaultValue;
  }
  get [S$4.$maxValue]() {
    return this.maxValue;
  }
  get [S$4.$minValue]() {
    return this.minValue;
  }
  get [S.$value]() {
    return this.value;
  }
  set [S.$value](value) {
    this.value = value;
  }
  [S$4.$cancelAndHoldAtTime](...args) {
    return this.cancelAndHoldAtTime.apply(this, args);
  }
  [S$4.$cancelScheduledValues](...args) {
    return this.cancelScheduledValues.apply(this, args);
  }
  [S$4.$exponentialRampToValueAtTime](...args) {
    return this.exponentialRampToValueAtTime.apply(this, args);
  }
  [S$4.$linearRampToValueAtTime](...args) {
    return this.linearRampToValueAtTime.apply(this, args);
  }
  [S$4.$setTargetAtTime](...args) {
    return this.setTargetAtTime.apply(this, args);
  }
  [S$4.$setValueAtTime](...args) {
    return this.setValueAtTime.apply(this, args);
  }
  [S$4.$setValueCurveAtTime](...args) {
    return this.setValueCurveAtTime.apply(this, args);
  }
};
dart.addTypeTests(web_audio.AudioParam);
dart.addTypeCaches(web_audio.AudioParam);
dart.setMethodSignature(web_audio.AudioParam, () => ({
  __proto__: dart.getMethods(web_audio.AudioParam.__proto__),
  [S$4.$cancelAndHoldAtTime]: dart.fnType(web_audio.AudioParam, [core.num]),
  [S$4.$cancelScheduledValues]: dart.fnType(web_audio.AudioParam, [core.num]),
  [S$4.$exponentialRampToValueAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num]),
  [S$4.$linearRampToValueAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num]),
  [S$4.$setTargetAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num, core.num]),
  [S$4.$setValueAtTime]: dart.fnType(web_audio.AudioParam, [core.num, core.num]),
  [S$4.$setValueCurveAtTime]: dart.fnType(web_audio.AudioParam, [core.List$(core.num), core.num, core.num])
}));
dart.setGetterSignature(web_audio.AudioParam, () => ({
  __proto__: dart.getGetters(web_audio.AudioParam.__proto__),
  [S$1.$defaultValue]: dart.nullable(core.num),
  [S$4.$maxValue]: dart.nullable(core.num),
  [S$4.$minValue]: dart.nullable(core.num),
  [S.$value]: dart.nullable(core.num)
}));
dart.setSetterSignature(web_audio.AudioParam, () => ({
  __proto__: dart.getSetters(web_audio.AudioParam.__proto__),
  [S.$value]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.AudioParam, I[159]);
dart.registerExtension("AudioParam", web_audio.AudioParam);
const Interceptor_MapMixin$36$2 = class Interceptor_MapMixin extends _interceptors.Interceptor {};
(Interceptor_MapMixin$36$2.new = function() {
  Interceptor_MapMixin$36$2.__proto__.new.call(this);
}).prototype = Interceptor_MapMixin$36$2.prototype;
dart.applyMixin(Interceptor_MapMixin$36$2, collection.MapMixin$(core.String, dart.dynamic));
web_audio.AudioParamMap = class AudioParamMap extends Interceptor_MapMixin$36$2 {
  [S$4._getItem$1](key) {
    if (key == null) dart.nullFailed(I[158], 388, 24, "key");
    return html_common.convertNativeToDart_Dictionary(this.get(key));
  }
  [$addAll](other) {
    T$0.MapOfString$dynamic().as(other);
    if (other == null) dart.nullFailed(I[158], 391, 36, "other");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$containsValue](value) {
    return this[$values][$any](dart.fn(e => {
      if (e == null) dart.nullFailed(I[158], 395, 52, "e");
      return dart.equals(e, value);
    }, T$0.MapTobool()));
  }
  [$containsKey](key) {
    return this[S$4._getItem$1](core.String.as(key)) != null;
  }
  [$_get](key) {
    return this[S$4._getItem$1](core.String.as(key));
  }
  [$forEach](f) {
    if (f == null) dart.nullFailed(I[158], 401, 21, "f");
    let entries = this.entries();
    while (true) {
      let entry = entries.next();
      if (entry.done) return;
      f(entry.value[0], html_common.convertNativeToDart_Dictionary(entry.value[1]));
    }
  }
  get [$keys]() {
    let keys = T$.JSArrayOfString().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[158], 413, 14, "k");
      return keys[$add](k);
    }, T$0.StringAnddynamicTovoid()));
    return keys;
  }
  get [$values]() {
    let values = T$0.JSArrayOfMap().of([]);
    this[$forEach](dart.fn((k, v) => {
      if (k == null) dart.nullFailed(I[158], 419, 14, "k");
      return values[$add](core.Map.as(v));
    }, T$0.StringAnddynamicTovoid()));
    return values;
  }
  get [$length]() {
    return this.size;
  }
  get [$isEmpty]() {
    return this[$length] === 0;
  }
  get [$isNotEmpty]() {
    return !dart.test(this[$isEmpty]);
  }
  [$_set](key, value$) {
    let value = value$;
    core.String.as(key);
    if (key == null) dart.nullFailed(I[158], 429, 28, "key");
    dart.throw(new core.UnsupportedError.new("Not supported"));
    return value$;
  }
  [$putIfAbsent](key, ifAbsent) {
    core.String.as(key);
    if (key == null) dart.nullFailed(I[158], 433, 30, "key");
    T$.VoidTodynamic().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[158], 433, 43, "ifAbsent");
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$remove](key) {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
  [$clear]() {
    dart.throw(new core.UnsupportedError.new("Not supported"));
  }
};
dart.addTypeTests(web_audio.AudioParamMap);
dart.addTypeCaches(web_audio.AudioParamMap);
dart.setMethodSignature(web_audio.AudioParamMap, () => ({
  __proto__: dart.getMethods(web_audio.AudioParamMap.__proto__),
  [S$4._getItem$1]: dart.fnType(dart.nullable(core.Map), [core.String]),
  [$containsValue]: dart.fnType(core.bool, [dart.dynamic]),
  [$containsKey]: dart.fnType(core.bool, [dart.dynamic]),
  [$_get]: dart.fnType(dart.nullable(core.Map), [dart.dynamic]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$remove]: dart.fnType(core.String, [dart.dynamic]),
  [$clear]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(web_audio.AudioParamMap, () => ({
  __proto__: dart.getGetters(web_audio.AudioParamMap.__proto__),
  [$keys]: core.Iterable$(core.String),
  [$values]: core.Iterable$(core.Map)
}));
dart.setLibraryUri(web_audio.AudioParamMap, I[159]);
dart.registerExtension("AudioParamMap", web_audio.AudioParamMap);
web_audio.AudioProcessingEvent = class AudioProcessingEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[158], 456, 39, "type");
    if (eventInitDict == null) dart.nullFailed(I[158], 456, 49, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return web_audio.AudioProcessingEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new AudioProcessingEvent(type, eventInitDict);
  }
  get [S$4.$inputBuffer]() {
    return this.inputBuffer;
  }
  get [S$4.$outputBuffer]() {
    return this.outputBuffer;
  }
  get [S$4.$playbackTime]() {
    return this.playbackTime;
  }
};
dart.addTypeTests(web_audio.AudioProcessingEvent);
dart.addTypeCaches(web_audio.AudioProcessingEvent);
dart.setGetterSignature(web_audio.AudioProcessingEvent, () => ({
  __proto__: dart.getGetters(web_audio.AudioProcessingEvent.__proto__),
  [S$4.$inputBuffer]: dart.nullable(web_audio.AudioBuffer),
  [S$4.$outputBuffer]: dart.nullable(web_audio.AudioBuffer),
  [S$4.$playbackTime]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.AudioProcessingEvent, I[159]);
dart.registerExtension("AudioProcessingEvent", web_audio.AudioProcessingEvent);
web_audio.AudioTrack = class AudioTrack extends _interceptors.Interceptor {
  get [S$.$enabled]() {
    return this.enabled;
  }
  set [S$.$enabled](value) {
    this.enabled = value;
  }
  get [S.$id]() {
    return this.id;
  }
  get [S$.$kind]() {
    return this.kind;
  }
  get [S$.$label]() {
    return this.label;
  }
  get [S$1.$language]() {
    return this.language;
  }
  get [S$3.$sourceBuffer]() {
    return this.sourceBuffer;
  }
};
dart.addTypeTests(web_audio.AudioTrack);
dart.addTypeCaches(web_audio.AudioTrack);
dart.setGetterSignature(web_audio.AudioTrack, () => ({
  __proto__: dart.getGetters(web_audio.AudioTrack.__proto__),
  [S$.$enabled]: dart.nullable(core.bool),
  [S.$id]: dart.nullable(core.String),
  [S$.$kind]: dart.nullable(core.String),
  [S$.$label]: dart.nullable(core.String),
  [S$1.$language]: dart.nullable(core.String),
  [S$3.$sourceBuffer]: dart.nullable(html$.SourceBuffer)
}));
dart.setSetterSignature(web_audio.AudioTrack, () => ({
  __proto__: dart.getSetters(web_audio.AudioTrack.__proto__),
  [S$.$enabled]: dart.nullable(core.bool)
}));
dart.setLibraryUri(web_audio.AudioTrack, I[159]);
dart.registerExtension("AudioTrack", web_audio.AudioTrack);
web_audio.AudioTrackList = class AudioTrackList extends html$.EventTarget {
  get [$length]() {
    return this.length;
  }
  [S$4.__getter__$1](...args) {
    return this.__getter__.apply(this, args);
  }
  [S$1.$getTrackById](...args) {
    return this.getTrackById.apply(this, args);
  }
  get [S.$onChange]() {
    return web_audio.AudioTrackList.changeEvent.forTarget(this);
  }
};
dart.addTypeTests(web_audio.AudioTrackList);
dart.addTypeCaches(web_audio.AudioTrackList);
dart.setMethodSignature(web_audio.AudioTrackList, () => ({
  __proto__: dart.getMethods(web_audio.AudioTrackList.__proto__),
  [S$4.__getter__$1]: dart.fnType(web_audio.AudioTrack, [core.int]),
  [S$1.$getTrackById]: dart.fnType(dart.nullable(web_audio.AudioTrack), [core.String])
}));
dart.setGetterSignature(web_audio.AudioTrackList, () => ({
  __proto__: dart.getGetters(web_audio.AudioTrackList.__proto__),
  [$length]: dart.nullable(core.int),
  [S.$onChange]: async.Stream$(html$.Event)
}));
dart.setLibraryUri(web_audio.AudioTrackList, I[159]);
dart.defineLazy(web_audio.AudioTrackList, {
  /*web_audio.AudioTrackList.changeEvent*/get changeEvent() {
    return C[238] || CT.C238;
  }
}, false);
dart.registerExtension("AudioTrackList", web_audio.AudioTrackList);
web_audio.AudioWorkletGlobalScope = class AudioWorkletGlobalScope extends html$.WorkletGlobalScope {
  get [S$.$currentTime]() {
    return this.currentTime;
  }
  get [S$3.$sampleRate]() {
    return this.sampleRate;
  }
  [S$4.$registerProcessor](...args) {
    return this.registerProcessor.apply(this, args);
  }
};
dart.addTypeTests(web_audio.AudioWorkletGlobalScope);
dart.addTypeCaches(web_audio.AudioWorkletGlobalScope);
dart.setMethodSignature(web_audio.AudioWorkletGlobalScope, () => ({
  __proto__: dart.getMethods(web_audio.AudioWorkletGlobalScope.__proto__),
  [S$4.$registerProcessor]: dart.fnType(dart.void, [core.String, core.Object])
}));
dart.setGetterSignature(web_audio.AudioWorkletGlobalScope, () => ({
  __proto__: dart.getGetters(web_audio.AudioWorkletGlobalScope.__proto__),
  [S$.$currentTime]: dart.nullable(core.num),
  [S$3.$sampleRate]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.AudioWorkletGlobalScope, I[159]);
dart.registerExtension("AudioWorkletGlobalScope", web_audio.AudioWorkletGlobalScope);
web_audio.AudioWorkletNode = class AudioWorkletNode$ extends web_audio.AudioNode {
  static new(context, name, options = null) {
    if (context == null) dart.nullFailed(I[158], 568, 45, "context");
    if (name == null) dart.nullFailed(I[158], 568, 61, "name");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.AudioWorkletNode._create_1(context, name, options_1);
    }
    return web_audio.AudioWorkletNode._create_2(context, name);
  }
  static _create_1(context, name, options) {
    return new AudioWorkletNode(context, name, options);
  }
  static _create_2(context, name) {
    return new AudioWorkletNode(context, name);
  }
  get [S$4.$parameters]() {
    return this.parameters;
  }
};
dart.addTypeTests(web_audio.AudioWorkletNode);
dart.addTypeCaches(web_audio.AudioWorkletNode);
dart.setGetterSignature(web_audio.AudioWorkletNode, () => ({
  __proto__: dart.getGetters(web_audio.AudioWorkletNode.__proto__),
  [S$4.$parameters]: dart.nullable(web_audio.AudioParamMap)
}));
dart.setLibraryUri(web_audio.AudioWorkletNode, I[159]);
dart.registerExtension("AudioWorkletNode", web_audio.AudioWorkletNode);
web_audio.AudioWorkletProcessor = class AudioWorkletProcessor extends _interceptors.Interceptor {};
dart.addTypeTests(web_audio.AudioWorkletProcessor);
dart.addTypeCaches(web_audio.AudioWorkletProcessor);
dart.setLibraryUri(web_audio.AudioWorkletProcessor, I[159]);
dart.registerExtension("AudioWorkletProcessor", web_audio.AudioWorkletProcessor);
web_audio.BiquadFilterNode = class BiquadFilterNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 706, 45, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.BiquadFilterNode._create_1(context, options_1);
    }
    return web_audio.BiquadFilterNode._create_2(context);
  }
  static _create_1(context, options) {
    return new BiquadFilterNode(context, options);
  }
  static _create_2(context) {
    return new BiquadFilterNode(context);
  }
  get [S$4.$Q]() {
    return this.Q;
  }
  get [S$3.$detune]() {
    return this.detune;
  }
  get [S$4.$frequency]() {
    return this.frequency;
  }
  get [S$4.$gain]() {
    return this.gain;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  [S$4.$getFrequencyResponse](...args) {
    return this.getFrequencyResponse.apply(this, args);
  }
};
dart.addTypeTests(web_audio.BiquadFilterNode);
dart.addTypeCaches(web_audio.BiquadFilterNode);
dart.setMethodSignature(web_audio.BiquadFilterNode, () => ({
  __proto__: dart.getMethods(web_audio.BiquadFilterNode.__proto__),
  [S$4.$getFrequencyResponse]: dart.fnType(dart.void, [typed_data.Float32List, typed_data.Float32List, typed_data.Float32List])
}));
dart.setGetterSignature(web_audio.BiquadFilterNode, () => ({
  __proto__: dart.getGetters(web_audio.BiquadFilterNode.__proto__),
  [S$4.$Q]: dart.nullable(web_audio.AudioParam),
  [S$3.$detune]: dart.nullable(web_audio.AudioParam),
  [S$4.$frequency]: dart.nullable(web_audio.AudioParam),
  [S$4.$gain]: dart.nullable(web_audio.AudioParam),
  [S.$type]: dart.nullable(core.String)
}));
dart.setSetterSignature(web_audio.BiquadFilterNode, () => ({
  __proto__: dart.getSetters(web_audio.BiquadFilterNode.__proto__),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(web_audio.BiquadFilterNode, I[159]);
dart.registerExtension("BiquadFilterNode", web_audio.BiquadFilterNode);
web_audio.ChannelMergerNode = class ChannelMergerNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 744, 46, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.ChannelMergerNode._create_1(context, options_1);
    }
    return web_audio.ChannelMergerNode._create_2(context);
  }
  static _create_1(context, options) {
    return new ChannelMergerNode(context, options);
  }
  static _create_2(context) {
    return new ChannelMergerNode(context);
  }
};
dart.addTypeTests(web_audio.ChannelMergerNode);
dart.addTypeCaches(web_audio.ChannelMergerNode);
dart.setLibraryUri(web_audio.ChannelMergerNode, I[159]);
dart.registerExtension("ChannelMergerNode", web_audio.ChannelMergerNode);
dart.registerExtension("AudioChannelMerger", web_audio.ChannelMergerNode);
web_audio.ChannelSplitterNode = class ChannelSplitterNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 767, 48, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.ChannelSplitterNode._create_1(context, options_1);
    }
    return web_audio.ChannelSplitterNode._create_2(context);
  }
  static _create_1(context, options) {
    return new ChannelSplitterNode(context, options);
  }
  static _create_2(context) {
    return new ChannelSplitterNode(context);
  }
};
dart.addTypeTests(web_audio.ChannelSplitterNode);
dart.addTypeCaches(web_audio.ChannelSplitterNode);
dart.setLibraryUri(web_audio.ChannelSplitterNode, I[159]);
dart.registerExtension("ChannelSplitterNode", web_audio.ChannelSplitterNode);
dart.registerExtension("AudioChannelSplitter", web_audio.ChannelSplitterNode);
web_audio.ConstantSourceNode = class ConstantSourceNode$ extends web_audio.AudioScheduledSourceNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 790, 47, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.ConstantSourceNode._create_1(context, options_1);
    }
    return web_audio.ConstantSourceNode._create_2(context);
  }
  static _create_1(context, options) {
    return new ConstantSourceNode(context, options);
  }
  static _create_2(context) {
    return new ConstantSourceNode(context);
  }
  get [S.$offset]() {
    return this.offset;
  }
};
dart.addTypeTests(web_audio.ConstantSourceNode);
dart.addTypeCaches(web_audio.ConstantSourceNode);
dart.setGetterSignature(web_audio.ConstantSourceNode, () => ({
  __proto__: dart.getGetters(web_audio.ConstantSourceNode.__proto__),
  [S.$offset]: dart.nullable(web_audio.AudioParam)
}));
dart.setLibraryUri(web_audio.ConstantSourceNode, I[159]);
dart.registerExtension("ConstantSourceNode", web_audio.ConstantSourceNode);
web_audio.ConvolverNode = class ConvolverNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 815, 42, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.ConvolverNode._create_1(context, options_1);
    }
    return web_audio.ConvolverNode._create_2(context);
  }
  static _create_1(context, options) {
    return new ConvolverNode(context, options);
  }
  static _create_2(context) {
    return new ConvolverNode(context);
  }
  get [$buffer]() {
    return this.buffer;
  }
  set [$buffer](value) {
    this.buffer = value;
  }
  get [S$4.$normalize]() {
    return this.normalize;
  }
  set [S$4.$normalize](value) {
    this.normalize = value;
  }
};
dart.addTypeTests(web_audio.ConvolverNode);
dart.addTypeCaches(web_audio.ConvolverNode);
dart.setGetterSignature(web_audio.ConvolverNode, () => ({
  __proto__: dart.getGetters(web_audio.ConvolverNode.__proto__),
  [$buffer]: dart.nullable(web_audio.AudioBuffer),
  [S$4.$normalize]: dart.nullable(core.bool)
}));
dart.setSetterSignature(web_audio.ConvolverNode, () => ({
  __proto__: dart.getSetters(web_audio.ConvolverNode.__proto__),
  [$buffer]: dart.nullable(web_audio.AudioBuffer),
  [S$4.$normalize]: dart.nullable(core.bool)
}));
dart.setLibraryUri(web_audio.ConvolverNode, I[159]);
dart.registerExtension("ConvolverNode", web_audio.ConvolverNode);
web_audio.DelayNode = class DelayNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 846, 38, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.DelayNode._create_1(context, options_1);
    }
    return web_audio.DelayNode._create_2(context);
  }
  static _create_1(context, options) {
    return new DelayNode(context, options);
  }
  static _create_2(context) {
    return new DelayNode(context);
  }
  get [S$4.$delayTime]() {
    return this.delayTime;
  }
};
dart.addTypeTests(web_audio.DelayNode);
dart.addTypeCaches(web_audio.DelayNode);
dart.setGetterSignature(web_audio.DelayNode, () => ({
  __proto__: dart.getGetters(web_audio.DelayNode.__proto__),
  [S$4.$delayTime]: dart.nullable(web_audio.AudioParam)
}));
dart.setLibraryUri(web_audio.DelayNode, I[159]);
dart.registerExtension("DelayNode", web_audio.DelayNode);
web_audio.DynamicsCompressorNode = class DynamicsCompressorNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 871, 51, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.DynamicsCompressorNode._create_1(context, options_1);
    }
    return web_audio.DynamicsCompressorNode._create_2(context);
  }
  static _create_1(context, options) {
    return new DynamicsCompressorNode(context, options);
  }
  static _create_2(context) {
    return new DynamicsCompressorNode(context);
  }
  get [S$4.$attack]() {
    return this.attack;
  }
  get [S$4.$knee]() {
    return this.knee;
  }
  get [S$4.$ratio]() {
    return this.ratio;
  }
  get [S$4.$reduction]() {
    return this.reduction;
  }
  get [S$4.$release]() {
    return this.release;
  }
  get [S$4.$threshold]() {
    return this.threshold;
  }
};
dart.addTypeTests(web_audio.DynamicsCompressorNode);
dart.addTypeCaches(web_audio.DynamicsCompressorNode);
dart.setGetterSignature(web_audio.DynamicsCompressorNode, () => ({
  __proto__: dart.getGetters(web_audio.DynamicsCompressorNode.__proto__),
  [S$4.$attack]: dart.nullable(web_audio.AudioParam),
  [S$4.$knee]: dart.nullable(web_audio.AudioParam),
  [S$4.$ratio]: dart.nullable(web_audio.AudioParam),
  [S$4.$reduction]: dart.nullable(core.num),
  [S$4.$release]: dart.nullable(web_audio.AudioParam),
  [S$4.$threshold]: dart.nullable(web_audio.AudioParam)
}));
dart.setLibraryUri(web_audio.DynamicsCompressorNode, I[159]);
dart.registerExtension("DynamicsCompressorNode", web_audio.DynamicsCompressorNode);
web_audio.GainNode = class GainNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 909, 37, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.GainNode._create_1(context, options_1);
    }
    return web_audio.GainNode._create_2(context);
  }
  static _create_1(context, options) {
    return new GainNode(context, options);
  }
  static _create_2(context) {
    return new GainNode(context);
  }
  get [S$4.$gain]() {
    return this.gain;
  }
};
dart.addTypeTests(web_audio.GainNode);
dart.addTypeCaches(web_audio.GainNode);
dart.setGetterSignature(web_audio.GainNode, () => ({
  __proto__: dart.getGetters(web_audio.GainNode.__proto__),
  [S$4.$gain]: dart.nullable(web_audio.AudioParam)
}));
dart.setLibraryUri(web_audio.GainNode, I[159]);
dart.registerExtension("GainNode", web_audio.GainNode);
dart.registerExtension("AudioGainNode", web_audio.GainNode);
web_audio.IirFilterNode = class IirFilterNode extends web_audio.AudioNode {
  static new(context, options) {
    if (context == null) dart.nullFailed(I[158], 934, 42, "context");
    if (options == null) dart.nullFailed(I[158], 934, 55, "options");
    let options_1 = html_common.convertDartToNative_Dictionary(options);
    return web_audio.IirFilterNode._create_1(context, options_1);
  }
  static _create_1(context, options) {
    return new IIRFilterNode(context, options);
  }
  [S$4.$getFrequencyResponse](...args) {
    return this.getFrequencyResponse.apply(this, args);
  }
};
dart.addTypeTests(web_audio.IirFilterNode);
dart.addTypeCaches(web_audio.IirFilterNode);
dart.setMethodSignature(web_audio.IirFilterNode, () => ({
  __proto__: dart.getMethods(web_audio.IirFilterNode.__proto__),
  [S$4.$getFrequencyResponse]: dart.fnType(dart.void, [typed_data.Float32List, typed_data.Float32List, typed_data.Float32List])
}));
dart.setLibraryUri(web_audio.IirFilterNode, I[159]);
dart.registerExtension("IIRFilterNode", web_audio.IirFilterNode);
web_audio.MediaElementAudioSourceNode = class MediaElementAudioSourceNode$ extends web_audio.AudioNode {
  static new(context, options) {
    if (context == null) dart.nullFailed(I[158], 955, 56, "context");
    if (options == null) dart.nullFailed(I[158], 955, 69, "options");
    let options_1 = html_common.convertDartToNative_Dictionary(options);
    return web_audio.MediaElementAudioSourceNode._create_1(context, options_1);
  }
  static _create_1(context, options) {
    return new MediaElementAudioSourceNode(context, options);
  }
  get [S$4.$mediaElement]() {
    return this.mediaElement;
  }
};
dart.addTypeTests(web_audio.MediaElementAudioSourceNode);
dart.addTypeCaches(web_audio.MediaElementAudioSourceNode);
dart.setGetterSignature(web_audio.MediaElementAudioSourceNode, () => ({
  __proto__: dart.getGetters(web_audio.MediaElementAudioSourceNode.__proto__),
  [S$4.$mediaElement]: dart.nullable(html$.MediaElement)
}));
dart.setLibraryUri(web_audio.MediaElementAudioSourceNode, I[159]);
dart.registerExtension("MediaElementAudioSourceNode", web_audio.MediaElementAudioSourceNode);
web_audio.MediaStreamAudioDestinationNode = class MediaStreamAudioDestinationNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 978, 60, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.MediaStreamAudioDestinationNode._create_1(context, options_1);
    }
    return web_audio.MediaStreamAudioDestinationNode._create_2(context);
  }
  static _create_1(context, options) {
    return new MediaStreamAudioDestinationNode(context, options);
  }
  static _create_2(context) {
    return new MediaStreamAudioDestinationNode(context);
  }
  get [S$1.$stream]() {
    return this.stream;
  }
};
dart.addTypeTests(web_audio.MediaStreamAudioDestinationNode);
dart.addTypeCaches(web_audio.MediaStreamAudioDestinationNode);
dart.setGetterSignature(web_audio.MediaStreamAudioDestinationNode, () => ({
  __proto__: dart.getGetters(web_audio.MediaStreamAudioDestinationNode.__proto__),
  [S$1.$stream]: dart.nullable(html$.MediaStream)
}));
dart.setLibraryUri(web_audio.MediaStreamAudioDestinationNode, I[159]);
dart.registerExtension("MediaStreamAudioDestinationNode", web_audio.MediaStreamAudioDestinationNode);
web_audio.MediaStreamAudioSourceNode = class MediaStreamAudioSourceNode$ extends web_audio.AudioNode {
  static new(context, options) {
    if (context == null) dart.nullFailed(I[158], 1009, 55, "context");
    if (options == null) dart.nullFailed(I[158], 1009, 68, "options");
    let options_1 = html_common.convertDartToNative_Dictionary(options);
    return web_audio.MediaStreamAudioSourceNode._create_1(context, options_1);
  }
  static _create_1(context, options) {
    return new MediaStreamAudioSourceNode(context, options);
  }
  get [S$4.$mediaStream]() {
    return this.mediaStream;
  }
};
dart.addTypeTests(web_audio.MediaStreamAudioSourceNode);
dart.addTypeCaches(web_audio.MediaStreamAudioSourceNode);
dart.setGetterSignature(web_audio.MediaStreamAudioSourceNode, () => ({
  __proto__: dart.getGetters(web_audio.MediaStreamAudioSourceNode.__proto__),
  [S$4.$mediaStream]: dart.nullable(html$.MediaStream)
}));
dart.setLibraryUri(web_audio.MediaStreamAudioSourceNode, I[159]);
dart.registerExtension("MediaStreamAudioSourceNode", web_audio.MediaStreamAudioSourceNode);
web_audio.OfflineAudioCompletionEvent = class OfflineAudioCompletionEvent$ extends html$.Event {
  static new(type, eventInitDict) {
    if (type == null) dart.nullFailed(I[158], 1032, 46, "type");
    if (eventInitDict == null) dart.nullFailed(I[158], 1032, 56, "eventInitDict");
    let eventInitDict_1 = html_common.convertDartToNative_Dictionary(eventInitDict);
    return web_audio.OfflineAudioCompletionEvent._create_1(type, eventInitDict_1);
  }
  static _create_1(type, eventInitDict) {
    return new OfflineAudioCompletionEvent(type, eventInitDict);
  }
  get [S$4.$renderedBuffer]() {
    return this.renderedBuffer;
  }
};
dart.addTypeTests(web_audio.OfflineAudioCompletionEvent);
dart.addTypeCaches(web_audio.OfflineAudioCompletionEvent);
dart.setGetterSignature(web_audio.OfflineAudioCompletionEvent, () => ({
  __proto__: dart.getGetters(web_audio.OfflineAudioCompletionEvent.__proto__),
  [S$4.$renderedBuffer]: dart.nullable(web_audio.AudioBuffer)
}));
dart.setLibraryUri(web_audio.OfflineAudioCompletionEvent, I[159]);
dart.registerExtension("OfflineAudioCompletionEvent", web_audio.OfflineAudioCompletionEvent);
web_audio.OfflineAudioContext = class OfflineAudioContext$ extends web_audio.BaseAudioContext {
  static new(numberOfChannels_OR_options, numberOfFrames = null, sampleRate = null) {
    if (typeof sampleRate == 'number' && core.int.is(numberOfFrames) && core.int.is(numberOfChannels_OR_options)) {
      return web_audio.OfflineAudioContext._create_1(numberOfChannels_OR_options, numberOfFrames, sampleRate);
    }
    if (core.Map.is(numberOfChannels_OR_options) && numberOfFrames == null && sampleRate == null) {
      let options_1 = html_common.convertDartToNative_Dictionary(numberOfChannels_OR_options);
      return web_audio.OfflineAudioContext._create_2(options_1);
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  static _create_1(numberOfChannels_OR_options, numberOfFrames, sampleRate) {
    return new OfflineAudioContext(numberOfChannels_OR_options, numberOfFrames, sampleRate);
  }
  static _create_2(numberOfChannels_OR_options) {
    return new OfflineAudioContext(numberOfChannels_OR_options);
  }
  get [$length]() {
    return this.length;
  }
  [S$4.$startRendering]() {
    return js_util.promiseToFuture(web_audio.AudioBuffer, this.startRendering());
  }
  [S$4.$suspendFor](suspendTime) {
    if (suspendTime == null) dart.nullFailed(I[158], 1087, 25, "suspendTime");
    return js_util.promiseToFuture(dart.dynamic, this.suspend(suspendTime));
  }
};
dart.addTypeTests(web_audio.OfflineAudioContext);
dart.addTypeCaches(web_audio.OfflineAudioContext);
dart.setMethodSignature(web_audio.OfflineAudioContext, () => ({
  __proto__: dart.getMethods(web_audio.OfflineAudioContext.__proto__),
  [S$4.$startRendering]: dart.fnType(async.Future$(web_audio.AudioBuffer), []),
  [S$4.$suspendFor]: dart.fnType(async.Future, [core.num])
}));
dart.setGetterSignature(web_audio.OfflineAudioContext, () => ({
  __proto__: dart.getGetters(web_audio.OfflineAudioContext.__proto__),
  [$length]: dart.nullable(core.int)
}));
dart.setLibraryUri(web_audio.OfflineAudioContext, I[159]);
dart.registerExtension("OfflineAudioContext", web_audio.OfflineAudioContext);
web_audio.OscillatorNode = class OscillatorNode$ extends web_audio.AudioScheduledSourceNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 1101, 43, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.OscillatorNode._create_1(context, options_1);
    }
    return web_audio.OscillatorNode._create_2(context);
  }
  static _create_1(context, options) {
    return new OscillatorNode(context, options);
  }
  static _create_2(context) {
    return new OscillatorNode(context);
  }
  get [S$3.$detune]() {
    return this.detune;
  }
  get [S$4.$frequency]() {
    return this.frequency;
  }
  get [S.$type]() {
    return this.type;
  }
  set [S.$type](value) {
    this.type = value;
  }
  [S$4.$setPeriodicWave](...args) {
    return this.setPeriodicWave.apply(this, args);
  }
};
dart.addTypeTests(web_audio.OscillatorNode);
dart.addTypeCaches(web_audio.OscillatorNode);
dart.setMethodSignature(web_audio.OscillatorNode, () => ({
  __proto__: dart.getMethods(web_audio.OscillatorNode.__proto__),
  [S$4.$setPeriodicWave]: dart.fnType(dart.void, [web_audio.PeriodicWave])
}));
dart.setGetterSignature(web_audio.OscillatorNode, () => ({
  __proto__: dart.getGetters(web_audio.OscillatorNode.__proto__),
  [S$3.$detune]: dart.nullable(web_audio.AudioParam),
  [S$4.$frequency]: dart.nullable(web_audio.AudioParam),
  [S.$type]: dart.nullable(core.String)
}));
dart.setSetterSignature(web_audio.OscillatorNode, () => ({
  __proto__: dart.getSetters(web_audio.OscillatorNode.__proto__),
  [S.$type]: dart.nullable(core.String)
}));
dart.setLibraryUri(web_audio.OscillatorNode, I[159]);
dart.registerExtension("OscillatorNode", web_audio.OscillatorNode);
dart.registerExtension("Oscillator", web_audio.OscillatorNode);
web_audio.PannerNode = class PannerNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 1134, 39, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.PannerNode._create_1(context, options_1);
    }
    return web_audio.PannerNode._create_2(context);
  }
  static _create_1(context, options) {
    return new PannerNode(context, options);
  }
  static _create_2(context) {
    return new PannerNode(context);
  }
  get [S$4.$coneInnerAngle]() {
    return this.coneInnerAngle;
  }
  set [S$4.$coneInnerAngle](value) {
    this.coneInnerAngle = value;
  }
  get [S$4.$coneOuterAngle]() {
    return this.coneOuterAngle;
  }
  set [S$4.$coneOuterAngle](value) {
    this.coneOuterAngle = value;
  }
  get [S$4.$coneOuterGain]() {
    return this.coneOuterGain;
  }
  set [S$4.$coneOuterGain](value) {
    this.coneOuterGain = value;
  }
  get [S$4.$distanceModel]() {
    return this.distanceModel;
  }
  set [S$4.$distanceModel](value) {
    this.distanceModel = value;
  }
  get [S$4.$maxDistance]() {
    return this.maxDistance;
  }
  set [S$4.$maxDistance](value) {
    this.maxDistance = value;
  }
  get [S$4.$orientationX]() {
    return this.orientationX;
  }
  get [S$4.$orientationY]() {
    return this.orientationY;
  }
  get [S$4.$orientationZ]() {
    return this.orientationZ;
  }
  get [S$4.$panningModel]() {
    return this.panningModel;
  }
  set [S$4.$panningModel](value) {
    this.panningModel = value;
  }
  get [S$2.$positionX]() {
    return this.positionX;
  }
  get [S$2.$positionY]() {
    return this.positionY;
  }
  get [S$4.$positionZ]() {
    return this.positionZ;
  }
  get [S$4.$refDistance]() {
    return this.refDistance;
  }
  set [S$4.$refDistance](value) {
    this.refDistance = value;
  }
  get [S$4.$rolloffFactor]() {
    return this.rolloffFactor;
  }
  set [S$4.$rolloffFactor](value) {
    this.rolloffFactor = value;
  }
  [S$4.$setOrientation](...args) {
    return this.setOrientation.apply(this, args);
  }
  [S$2.$setPosition](...args) {
    return this.setPosition.apply(this, args);
  }
};
dart.addTypeTests(web_audio.PannerNode);
dart.addTypeCaches(web_audio.PannerNode);
dart.setMethodSignature(web_audio.PannerNode, () => ({
  __proto__: dart.getMethods(web_audio.PannerNode.__proto__),
  [S$4.$setOrientation]: dart.fnType(dart.void, [core.num, core.num, core.num]),
  [S$2.$setPosition]: dart.fnType(dart.void, [core.num, core.num, core.num])
}));
dart.setGetterSignature(web_audio.PannerNode, () => ({
  __proto__: dart.getGetters(web_audio.PannerNode.__proto__),
  [S$4.$coneInnerAngle]: dart.nullable(core.num),
  [S$4.$coneOuterAngle]: dart.nullable(core.num),
  [S$4.$coneOuterGain]: dart.nullable(core.num),
  [S$4.$distanceModel]: dart.nullable(core.String),
  [S$4.$maxDistance]: dart.nullable(core.num),
  [S$4.$orientationX]: dart.nullable(web_audio.AudioParam),
  [S$4.$orientationY]: dart.nullable(web_audio.AudioParam),
  [S$4.$orientationZ]: dart.nullable(web_audio.AudioParam),
  [S$4.$panningModel]: dart.nullable(core.String),
  [S$2.$positionX]: dart.nullable(web_audio.AudioParam),
  [S$2.$positionY]: dart.nullable(web_audio.AudioParam),
  [S$4.$positionZ]: dart.nullable(web_audio.AudioParam),
  [S$4.$refDistance]: dart.nullable(core.num),
  [S$4.$rolloffFactor]: dart.nullable(core.num)
}));
dart.setSetterSignature(web_audio.PannerNode, () => ({
  __proto__: dart.getSetters(web_audio.PannerNode.__proto__),
  [S$4.$coneInnerAngle]: dart.nullable(core.num),
  [S$4.$coneOuterAngle]: dart.nullable(core.num),
  [S$4.$coneOuterGain]: dart.nullable(core.num),
  [S$4.$distanceModel]: dart.nullable(core.String),
  [S$4.$maxDistance]: dart.nullable(core.num),
  [S$4.$panningModel]: dart.nullable(core.String),
  [S$4.$refDistance]: dart.nullable(core.num),
  [S$4.$rolloffFactor]: dart.nullable(core.num)
}));
dart.setLibraryUri(web_audio.PannerNode, I[159]);
dart.registerExtension("PannerNode", web_audio.PannerNode);
dart.registerExtension("AudioPannerNode", web_audio.PannerNode);
dart.registerExtension("webkitAudioPannerNode", web_audio.PannerNode);
web_audio.PeriodicWave = class PeriodicWave$ extends _interceptors.Interceptor {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 1205, 41, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.PeriodicWave._create_1(context, options_1);
    }
    return web_audio.PeriodicWave._create_2(context);
  }
  static _create_1(context, options) {
    return new PeriodicWave(context, options);
  }
  static _create_2(context) {
    return new PeriodicWave(context);
  }
};
dart.addTypeTests(web_audio.PeriodicWave);
dart.addTypeCaches(web_audio.PeriodicWave);
dart.setLibraryUri(web_audio.PeriodicWave, I[159]);
dart.registerExtension("PeriodicWave", web_audio.PeriodicWave);
web_audio.ScriptProcessorNode = class ScriptProcessorNode extends web_audio.AudioNode {
  get [S$4.$bufferSize]() {
    return this.bufferSize;
  }
  [S$4.$setEventListener](...args) {
    return this.setEventListener.apply(this, args);
  }
  get [S$4.$onAudioProcess]() {
    return web_audio.ScriptProcessorNode.audioProcessEvent.forTarget(this);
  }
};
dart.addTypeTests(web_audio.ScriptProcessorNode);
dart.addTypeCaches(web_audio.ScriptProcessorNode);
dart.setMethodSignature(web_audio.ScriptProcessorNode, () => ({
  __proto__: dart.getMethods(web_audio.ScriptProcessorNode.__proto__),
  [S$4.$setEventListener]: dart.fnType(dart.void, [dart.fnType(dart.dynamic, [html$.Event])])
}));
dart.setGetterSignature(web_audio.ScriptProcessorNode, () => ({
  __proto__: dart.getGetters(web_audio.ScriptProcessorNode.__proto__),
  [S$4.$bufferSize]: dart.nullable(core.int),
  [S$4.$onAudioProcess]: async.Stream$(web_audio.AudioProcessingEvent)
}));
dart.setLibraryUri(web_audio.ScriptProcessorNode, I[159]);
dart.defineLazy(web_audio.ScriptProcessorNode, {
  /*web_audio.ScriptProcessorNode.audioProcessEvent*/get audioProcessEvent() {
    return C[420] || CT.C420;
  }
}, false);
dart.registerExtension("ScriptProcessorNode", web_audio.ScriptProcessorNode);
dart.registerExtension("JavaScriptAudioNode", web_audio.ScriptProcessorNode);
web_audio.StereoPannerNode = class StereoPannerNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 1263, 45, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.StereoPannerNode._create_1(context, options_1);
    }
    return web_audio.StereoPannerNode._create_2(context);
  }
  static _create_1(context, options) {
    return new StereoPannerNode(context, options);
  }
  static _create_2(context) {
    return new StereoPannerNode(context);
  }
  get [S$4.$pan]() {
    return this.pan;
  }
};
dart.addTypeTests(web_audio.StereoPannerNode);
dart.addTypeCaches(web_audio.StereoPannerNode);
dart.setGetterSignature(web_audio.StereoPannerNode, () => ({
  __proto__: dart.getGetters(web_audio.StereoPannerNode.__proto__),
  [S$4.$pan]: dart.nullable(web_audio.AudioParam)
}));
dart.setLibraryUri(web_audio.StereoPannerNode, I[159]);
dart.registerExtension("StereoPannerNode", web_audio.StereoPannerNode);
web_audio.WaveShaperNode = class WaveShaperNode$ extends web_audio.AudioNode {
  static new(context, options = null) {
    if (context == null) dart.nullFailed(I[158], 1288, 43, "context");
    if (options != null) {
      let options_1 = html_common.convertDartToNative_Dictionary(options);
      return web_audio.WaveShaperNode._create_1(context, options_1);
    }
    return web_audio.WaveShaperNode._create_2(context);
  }
  static _create_1(context, options) {
    return new WaveShaperNode(context, options);
  }
  static _create_2(context) {
    return new WaveShaperNode(context);
  }
  get [S$4.$curve]() {
    return this.curve;
  }
  set [S$4.$curve](value) {
    this.curve = value;
  }
  get [S$4.$oversample]() {
    return this.oversample;
  }
  set [S$4.$oversample](value) {
    this.oversample = value;
  }
};
dart.addTypeTests(web_audio.WaveShaperNode);
dart.addTypeCaches(web_audio.WaveShaperNode);
dart.setGetterSignature(web_audio.WaveShaperNode, () => ({
  __proto__: dart.getGetters(web_audio.WaveShaperNode.__proto__),
  [S$4.$curve]: dart.nullable(typed_data.Float32List),
  [S$4.$oversample]: dart.nullable(core.String)
}));
dart.setSetterSignature(web_audio.WaveShaperNode, () => ({
  __proto__: dart.getSetters(web_audio.WaveShaperNode.__proto__),
  [S$4.$curve]: dart.nullable(typed_data.Float32List),
  [S$4.$oversample]: dart.nullable(core.String)
}));
dart.setLibraryUri(web_audio.WaveShaperNode, I[159]);
dart.registerExtension("WaveShaperNode", web_audio.WaveShaperNode);
web_gl.ActiveInfo = class ActiveInfo extends _interceptors.Interceptor {
  get [$name]() {
    return this.name;
  }
  get [S$.$size]() {
    return this.size;
  }
  get [S.$type]() {
    return this.type;
  }
};
dart.addTypeTests(web_gl.ActiveInfo);
dart.addTypeCaches(web_gl.ActiveInfo);
dart.setGetterSignature(web_gl.ActiveInfo, () => ({
  __proto__: dart.getGetters(web_gl.ActiveInfo.__proto__),
  [$name]: core.String,
  [S$.$size]: core.int,
  [S.$type]: core.int
}));
dart.setLibraryUri(web_gl.ActiveInfo, I[160]);
dart.registerExtension("WebGLActiveInfo", web_gl.ActiveInfo);
web_gl.AngleInstancedArrays = class AngleInstancedArrays extends _interceptors.Interceptor {
  [S$4.$drawArraysInstancedAngle](...args) {
    return this.drawArraysInstancedANGLE.apply(this, args);
  }
  [S$4.$drawElementsInstancedAngle](...args) {
    return this.drawElementsInstancedANGLE.apply(this, args);
  }
  [S$4.$vertexAttribDivisorAngle](...args) {
    return this.vertexAttribDivisorANGLE.apply(this, args);
  }
};
dart.addTypeTests(web_gl.AngleInstancedArrays);
dart.addTypeCaches(web_gl.AngleInstancedArrays);
dart.setMethodSignature(web_gl.AngleInstancedArrays, () => ({
  __proto__: dart.getMethods(web_gl.AngleInstancedArrays.__proto__),
  [S$4.$drawArraysInstancedAngle]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$drawElementsInstancedAngle]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$vertexAttribDivisorAngle]: dart.fnType(dart.void, [core.int, core.int])
}));
dart.setLibraryUri(web_gl.AngleInstancedArrays, I[160]);
dart.defineLazy(web_gl.AngleInstancedArrays, {
  /*web_gl.AngleInstancedArrays.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE*/get VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE() {
    return 35070;
  }
}, false);
dart.registerExtension("ANGLEInstancedArrays", web_gl.AngleInstancedArrays);
dart.registerExtension("ANGLE_instanced_arrays", web_gl.AngleInstancedArrays);
web_gl.Buffer = class Buffer extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Buffer);
dart.addTypeCaches(web_gl.Buffer);
dart.setLibraryUri(web_gl.Buffer, I[160]);
dart.registerExtension("WebGLBuffer", web_gl.Buffer);
web_gl.Canvas = class Canvas extends _interceptors.Interceptor {
  get [S$.$canvas]() {
    return this.canvas;
  }
  get [S$4.$offscreenCanvas]() {
    return this.canvas;
  }
};
dart.addTypeTests(web_gl.Canvas);
dart.addTypeCaches(web_gl.Canvas);
dart.setGetterSignature(web_gl.Canvas, () => ({
  __proto__: dart.getGetters(web_gl.Canvas.__proto__),
  [S$.$canvas]: html$.CanvasElement,
  [S$4.$offscreenCanvas]: dart.nullable(html$.OffscreenCanvas)
}));
dart.setLibraryUri(web_gl.Canvas, I[160]);
dart.registerExtension("WebGLCanvas", web_gl.Canvas);
web_gl.ColorBufferFloat = class ColorBufferFloat extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.ColorBufferFloat);
dart.addTypeCaches(web_gl.ColorBufferFloat);
dart.setLibraryUri(web_gl.ColorBufferFloat, I[160]);
dart.registerExtension("WebGLColorBufferFloat", web_gl.ColorBufferFloat);
web_gl.CompressedTextureAstc = class CompressedTextureAstc extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.CompressedTextureAstc);
dart.addTypeCaches(web_gl.CompressedTextureAstc);
dart.setLibraryUri(web_gl.CompressedTextureAstc, I[160]);
dart.defineLazy(web_gl.CompressedTextureAstc, {
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_10x10_KHR*/get COMPRESSED_RGBA_ASTC_10x10_KHR() {
    return 37819;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_10x5_KHR*/get COMPRESSED_RGBA_ASTC_10x5_KHR() {
    return 37816;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_10x6_KHR*/get COMPRESSED_RGBA_ASTC_10x6_KHR() {
    return 37817;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_10x8_KHR*/get COMPRESSED_RGBA_ASTC_10x8_KHR() {
    return 37818;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_12x10_KHR*/get COMPRESSED_RGBA_ASTC_12x10_KHR() {
    return 37820;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_12x12_KHR*/get COMPRESSED_RGBA_ASTC_12x12_KHR() {
    return 37821;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_4x4_KHR*/get COMPRESSED_RGBA_ASTC_4x4_KHR() {
    return 37808;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_5x4_KHR*/get COMPRESSED_RGBA_ASTC_5x4_KHR() {
    return 37809;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_5x5_KHR*/get COMPRESSED_RGBA_ASTC_5x5_KHR() {
    return 37810;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_6x5_KHR*/get COMPRESSED_RGBA_ASTC_6x5_KHR() {
    return 37811;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_6x6_KHR*/get COMPRESSED_RGBA_ASTC_6x6_KHR() {
    return 37812;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_8x5_KHR*/get COMPRESSED_RGBA_ASTC_8x5_KHR() {
    return 37813;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_8x6_KHR*/get COMPRESSED_RGBA_ASTC_8x6_KHR() {
    return 37814;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_RGBA_ASTC_8x8_KHR*/get COMPRESSED_RGBA_ASTC_8x8_KHR() {
    return 37815;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR() {
    return 37851;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR() {
    return 37848;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR() {
    return 37849;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR() {
    return 37850;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR() {
    return 37852;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR() {
    return 37853;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR() {
    return 37840;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR() {
    return 37841;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR() {
    return 37842;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR() {
    return 37843;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR() {
    return 37844;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR() {
    return 37845;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR() {
    return 37846;
  },
  /*web_gl.CompressedTextureAstc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR*/get COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR() {
    return 37847;
  }
}, false);
dart.registerExtension("WebGLCompressedTextureASTC", web_gl.CompressedTextureAstc);
web_gl.CompressedTextureAtc = class CompressedTextureAtc extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.CompressedTextureAtc);
dart.addTypeCaches(web_gl.CompressedTextureAtc);
dart.setLibraryUri(web_gl.CompressedTextureAtc, I[160]);
dart.defineLazy(web_gl.CompressedTextureAtc, {
  /*web_gl.CompressedTextureAtc.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL*/get COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL() {
    return 35987;
  },
  /*web_gl.CompressedTextureAtc.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL*/get COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL() {
    return 34798;
  },
  /*web_gl.CompressedTextureAtc.COMPRESSED_RGB_ATC_WEBGL*/get COMPRESSED_RGB_ATC_WEBGL() {
    return 35986;
  }
}, false);
dart.registerExtension("WebGLCompressedTextureATC", web_gl.CompressedTextureAtc);
dart.registerExtension("WEBGL_compressed_texture_atc", web_gl.CompressedTextureAtc);
web_gl.CompressedTextureETC1 = class CompressedTextureETC1 extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.CompressedTextureETC1);
dart.addTypeCaches(web_gl.CompressedTextureETC1);
dart.setLibraryUri(web_gl.CompressedTextureETC1, I[160]);
dart.defineLazy(web_gl.CompressedTextureETC1, {
  /*web_gl.CompressedTextureETC1.COMPRESSED_RGB_ETC1_WEBGL*/get COMPRESSED_RGB_ETC1_WEBGL() {
    return 36196;
  }
}, false);
dart.registerExtension("WebGLCompressedTextureETC1", web_gl.CompressedTextureETC1);
dart.registerExtension("WEBGL_compressed_texture_etc1", web_gl.CompressedTextureETC1);
web_gl.CompressedTextureEtc = class CompressedTextureEtc extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.CompressedTextureEtc);
dart.addTypeCaches(web_gl.CompressedTextureEtc);
dart.setLibraryUri(web_gl.CompressedTextureEtc, I[160]);
dart.defineLazy(web_gl.CompressedTextureEtc, {
  /*web_gl.CompressedTextureEtc.COMPRESSED_R11_EAC*/get COMPRESSED_R11_EAC() {
    return 37488;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_RG11_EAC*/get COMPRESSED_RG11_EAC() {
    return 37490;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_RGB8_ETC2*/get COMPRESSED_RGB8_ETC2() {
    return 37492;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2*/get COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2() {
    return 37494;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_RGBA8_ETC2_EAC*/get COMPRESSED_RGBA8_ETC2_EAC() {
    return 37496;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_SIGNED_R11_EAC*/get COMPRESSED_SIGNED_R11_EAC() {
    return 37489;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_SIGNED_RG11_EAC*/get COMPRESSED_SIGNED_RG11_EAC() {
    return 37491;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC*/get COMPRESSED_SRGB8_ALPHA8_ETC2_EAC() {
    return 37497;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_SRGB8_ETC2*/get COMPRESSED_SRGB8_ETC2() {
    return 37493;
  },
  /*web_gl.CompressedTextureEtc.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2*/get COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2() {
    return 37495;
  }
}, false);
dart.registerExtension("WebGLCompressedTextureETC", web_gl.CompressedTextureEtc);
web_gl.CompressedTexturePvrtc = class CompressedTexturePvrtc extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.CompressedTexturePvrtc);
dart.addTypeCaches(web_gl.CompressedTexturePvrtc);
dart.setLibraryUri(web_gl.CompressedTexturePvrtc, I[160]);
dart.defineLazy(web_gl.CompressedTexturePvrtc, {
  /*web_gl.CompressedTexturePvrtc.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG*/get COMPRESSED_RGBA_PVRTC_2BPPV1_IMG() {
    return 35843;
  },
  /*web_gl.CompressedTexturePvrtc.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG*/get COMPRESSED_RGBA_PVRTC_4BPPV1_IMG() {
    return 35842;
  },
  /*web_gl.CompressedTexturePvrtc.COMPRESSED_RGB_PVRTC_2BPPV1_IMG*/get COMPRESSED_RGB_PVRTC_2BPPV1_IMG() {
    return 35841;
  },
  /*web_gl.CompressedTexturePvrtc.COMPRESSED_RGB_PVRTC_4BPPV1_IMG*/get COMPRESSED_RGB_PVRTC_4BPPV1_IMG() {
    return 35840;
  }
}, false);
dart.registerExtension("WebGLCompressedTexturePVRTC", web_gl.CompressedTexturePvrtc);
dart.registerExtension("WEBGL_compressed_texture_pvrtc", web_gl.CompressedTexturePvrtc);
web_gl.CompressedTextureS3TC = class CompressedTextureS3TC extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.CompressedTextureS3TC);
dart.addTypeCaches(web_gl.CompressedTextureS3TC);
dart.setLibraryUri(web_gl.CompressedTextureS3TC, I[160]);
dart.defineLazy(web_gl.CompressedTextureS3TC, {
  /*web_gl.CompressedTextureS3TC.COMPRESSED_RGBA_S3TC_DXT1_EXT*/get COMPRESSED_RGBA_S3TC_DXT1_EXT() {
    return 33777;
  },
  /*web_gl.CompressedTextureS3TC.COMPRESSED_RGBA_S3TC_DXT3_EXT*/get COMPRESSED_RGBA_S3TC_DXT3_EXT() {
    return 33778;
  },
  /*web_gl.CompressedTextureS3TC.COMPRESSED_RGBA_S3TC_DXT5_EXT*/get COMPRESSED_RGBA_S3TC_DXT5_EXT() {
    return 33779;
  },
  /*web_gl.CompressedTextureS3TC.COMPRESSED_RGB_S3TC_DXT1_EXT*/get COMPRESSED_RGB_S3TC_DXT1_EXT() {
    return 33776;
  }
}, false);
dart.registerExtension("WebGLCompressedTextureS3TC", web_gl.CompressedTextureS3TC);
dart.registerExtension("WEBGL_compressed_texture_s3tc", web_gl.CompressedTextureS3TC);
web_gl.CompressedTextureS3TCsRgb = class CompressedTextureS3TCsRgb extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.CompressedTextureS3TCsRgb);
dart.addTypeCaches(web_gl.CompressedTextureS3TCsRgb);
dart.setLibraryUri(web_gl.CompressedTextureS3TCsRgb, I[160]);
dart.defineLazy(web_gl.CompressedTextureS3TCsRgb, {
  /*web_gl.CompressedTextureS3TCsRgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT*/get COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT() {
    return 35917;
  },
  /*web_gl.CompressedTextureS3TCsRgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT*/get COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT() {
    return 35918;
  },
  /*web_gl.CompressedTextureS3TCsRgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT*/get COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT() {
    return 35919;
  },
  /*web_gl.CompressedTextureS3TCsRgb.COMPRESSED_SRGB_S3TC_DXT1_EXT*/get COMPRESSED_SRGB_S3TC_DXT1_EXT() {
    return 35916;
  }
}, false);
dart.registerExtension("WebGLCompressedTextureS3TCsRGB", web_gl.CompressedTextureS3TCsRgb);
web_gl.ContextEvent = class ContextEvent extends html$.Event {
  static new(type, eventInit = null) {
    if (type == null) dart.nullFailed(I[161], 303, 31, "type");
    if (eventInit != null) {
      let eventInit_1 = html_common.convertDartToNative_Dictionary(eventInit);
      return web_gl.ContextEvent._create_1(type, eventInit_1);
    }
    return web_gl.ContextEvent._create_2(type);
  }
  static _create_1(type, eventInit) {
    return new WebGLContextEvent(type, eventInit);
  }
  static _create_2(type) {
    return new WebGLContextEvent(type);
  }
  get [S$4.$statusMessage]() {
    return this.statusMessage;
  }
};
dart.addTypeTests(web_gl.ContextEvent);
dart.addTypeCaches(web_gl.ContextEvent);
dart.setGetterSignature(web_gl.ContextEvent, () => ({
  __proto__: dart.getGetters(web_gl.ContextEvent.__proto__),
  [S$4.$statusMessage]: core.String
}));
dart.setLibraryUri(web_gl.ContextEvent, I[160]);
dart.registerExtension("WebGLContextEvent", web_gl.ContextEvent);
web_gl.DebugRendererInfo = class DebugRendererInfo extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.DebugRendererInfo);
dart.addTypeCaches(web_gl.DebugRendererInfo);
dart.setLibraryUri(web_gl.DebugRendererInfo, I[160]);
dart.defineLazy(web_gl.DebugRendererInfo, {
  /*web_gl.DebugRendererInfo.UNMASKED_RENDERER_WEBGL*/get UNMASKED_RENDERER_WEBGL() {
    return 37446;
  },
  /*web_gl.DebugRendererInfo.UNMASKED_VENDOR_WEBGL*/get UNMASKED_VENDOR_WEBGL() {
    return 37445;
  }
}, false);
dart.registerExtension("WebGLDebugRendererInfo", web_gl.DebugRendererInfo);
dart.registerExtension("WEBGL_debug_renderer_info", web_gl.DebugRendererInfo);
web_gl.DebugShaders = class DebugShaders extends _interceptors.Interceptor {
  [S$4.$getTranslatedShaderSource](...args) {
    return this.getTranslatedShaderSource.apply(this, args);
  }
};
dart.addTypeTests(web_gl.DebugShaders);
dart.addTypeCaches(web_gl.DebugShaders);
dart.setMethodSignature(web_gl.DebugShaders, () => ({
  __proto__: dart.getMethods(web_gl.DebugShaders.__proto__),
  [S$4.$getTranslatedShaderSource]: dart.fnType(dart.nullable(core.String), [web_gl.Shader])
}));
dart.setLibraryUri(web_gl.DebugShaders, I[160]);
dart.registerExtension("WebGLDebugShaders", web_gl.DebugShaders);
dart.registerExtension("WEBGL_debug_shaders", web_gl.DebugShaders);
web_gl.DepthTexture = class DepthTexture extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.DepthTexture);
dart.addTypeCaches(web_gl.DepthTexture);
dart.setLibraryUri(web_gl.DepthTexture, I[160]);
dart.defineLazy(web_gl.DepthTexture, {
  /*web_gl.DepthTexture.UNSIGNED_INT_24_8_WEBGL*/get UNSIGNED_INT_24_8_WEBGL() {
    return 34042;
  }
}, false);
dart.registerExtension("WebGLDepthTexture", web_gl.DepthTexture);
dart.registerExtension("WEBGL_depth_texture", web_gl.DepthTexture);
web_gl.DrawBuffers = class DrawBuffers extends _interceptors.Interceptor {
  [S$4.$drawBuffersWebgl](...args) {
    return this.drawBuffersWEBGL.apply(this, args);
  }
};
dart.addTypeTests(web_gl.DrawBuffers);
dart.addTypeCaches(web_gl.DrawBuffers);
dart.setMethodSignature(web_gl.DrawBuffers, () => ({
  __proto__: dart.getMethods(web_gl.DrawBuffers.__proto__),
  [S$4.$drawBuffersWebgl]: dart.fnType(dart.void, [core.List$(core.int)])
}));
dart.setLibraryUri(web_gl.DrawBuffers, I[160]);
dart.registerExtension("WebGLDrawBuffers", web_gl.DrawBuffers);
dart.registerExtension("WEBGL_draw_buffers", web_gl.DrawBuffers);
web_gl.EXTsRgb = class EXTsRgb extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.EXTsRgb);
dart.addTypeCaches(web_gl.EXTsRgb);
dart.setLibraryUri(web_gl.EXTsRgb, I[160]);
dart.defineLazy(web_gl.EXTsRgb, {
  /*web_gl.EXTsRgb.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT*/get FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT() {
    return 33296;
  },
  /*web_gl.EXTsRgb.SRGB8_ALPHA8_EXT*/get SRGB8_ALPHA8_EXT() {
    return 35907;
  },
  /*web_gl.EXTsRgb.SRGB_ALPHA_EXT*/get SRGB_ALPHA_EXT() {
    return 35906;
  },
  /*web_gl.EXTsRgb.SRGB_EXT*/get SRGB_EXT() {
    return 35904;
  }
}, false);
dart.registerExtension("EXTsRGB", web_gl.EXTsRgb);
dart.registerExtension("EXT_sRGB", web_gl.EXTsRgb);
web_gl.ExtBlendMinMax = class ExtBlendMinMax extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.ExtBlendMinMax);
dart.addTypeCaches(web_gl.ExtBlendMinMax);
dart.setLibraryUri(web_gl.ExtBlendMinMax, I[160]);
dart.defineLazy(web_gl.ExtBlendMinMax, {
  /*web_gl.ExtBlendMinMax.MAX_EXT*/get MAX_EXT() {
    return 32776;
  },
  /*web_gl.ExtBlendMinMax.MIN_EXT*/get MIN_EXT() {
    return 32775;
  }
}, false);
dart.registerExtension("EXTBlendMinMax", web_gl.ExtBlendMinMax);
dart.registerExtension("EXT_blend_minmax", web_gl.ExtBlendMinMax);
web_gl.ExtColorBufferFloat = class ExtColorBufferFloat extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.ExtColorBufferFloat);
dart.addTypeCaches(web_gl.ExtColorBufferFloat);
dart.setLibraryUri(web_gl.ExtColorBufferFloat, I[160]);
dart.registerExtension("EXTColorBufferFloat", web_gl.ExtColorBufferFloat);
web_gl.ExtColorBufferHalfFloat = class ExtColorBufferHalfFloat extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.ExtColorBufferHalfFloat);
dart.addTypeCaches(web_gl.ExtColorBufferHalfFloat);
dart.setLibraryUri(web_gl.ExtColorBufferHalfFloat, I[160]);
dart.registerExtension("EXTColorBufferHalfFloat", web_gl.ExtColorBufferHalfFloat);
web_gl.ExtDisjointTimerQuery = class ExtDisjointTimerQuery extends _interceptors.Interceptor {
  [S$4.$beginQueryExt](...args) {
    return this.beginQueryEXT.apply(this, args);
  }
  [S$4.$createQueryExt](...args) {
    return this.createQueryEXT.apply(this, args);
  }
  [S$4.$deleteQueryExt](...args) {
    return this.deleteQueryEXT.apply(this, args);
  }
  [S$4.$endQueryExt](...args) {
    return this.endQueryEXT.apply(this, args);
  }
  [S$4.$getQueryExt](...args) {
    return this.getQueryEXT.apply(this, args);
  }
  [S$4.$getQueryObjectExt](...args) {
    return this.getQueryObjectEXT.apply(this, args);
  }
  [S$4.$isQueryExt](...args) {
    return this.isQueryEXT.apply(this, args);
  }
  [S$4.$queryCounterExt](...args) {
    return this.queryCounterEXT.apply(this, args);
  }
};
dart.addTypeTests(web_gl.ExtDisjointTimerQuery);
dart.addTypeCaches(web_gl.ExtDisjointTimerQuery);
dart.setMethodSignature(web_gl.ExtDisjointTimerQuery, () => ({
  __proto__: dart.getMethods(web_gl.ExtDisjointTimerQuery.__proto__),
  [S$4.$beginQueryExt]: dart.fnType(dart.void, [core.int, web_gl.TimerQueryExt]),
  [S$4.$createQueryExt]: dart.fnType(web_gl.TimerQueryExt, []),
  [S$4.$deleteQueryExt]: dart.fnType(dart.void, [dart.nullable(web_gl.TimerQueryExt)]),
  [S$4.$endQueryExt]: dart.fnType(dart.void, [core.int]),
  [S$4.$getQueryExt]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getQueryObjectExt]: dart.fnType(dart.nullable(core.Object), [web_gl.TimerQueryExt, core.int]),
  [S$4.$isQueryExt]: dart.fnType(core.bool, [dart.nullable(web_gl.TimerQueryExt)]),
  [S$4.$queryCounterExt]: dart.fnType(dart.void, [web_gl.TimerQueryExt, core.int])
}));
dart.setLibraryUri(web_gl.ExtDisjointTimerQuery, I[160]);
dart.defineLazy(web_gl.ExtDisjointTimerQuery, {
  /*web_gl.ExtDisjointTimerQuery.CURRENT_QUERY_EXT*/get CURRENT_QUERY_EXT() {
    return 34917;
  },
  /*web_gl.ExtDisjointTimerQuery.GPU_DISJOINT_EXT*/get GPU_DISJOINT_EXT() {
    return 36795;
  },
  /*web_gl.ExtDisjointTimerQuery.QUERY_COUNTER_BITS_EXT*/get QUERY_COUNTER_BITS_EXT() {
    return 34916;
  },
  /*web_gl.ExtDisjointTimerQuery.QUERY_RESULT_AVAILABLE_EXT*/get QUERY_RESULT_AVAILABLE_EXT() {
    return 34919;
  },
  /*web_gl.ExtDisjointTimerQuery.QUERY_RESULT_EXT*/get QUERY_RESULT_EXT() {
    return 34918;
  },
  /*web_gl.ExtDisjointTimerQuery.TIMESTAMP_EXT*/get TIMESTAMP_EXT() {
    return 36392;
  },
  /*web_gl.ExtDisjointTimerQuery.TIME_ELAPSED_EXT*/get TIME_ELAPSED_EXT() {
    return 35007;
  }
}, false);
dart.registerExtension("EXTDisjointTimerQuery", web_gl.ExtDisjointTimerQuery);
web_gl.ExtDisjointTimerQueryWebGL2 = class ExtDisjointTimerQueryWebGL2 extends _interceptors.Interceptor {
  [S$4.$queryCounterExt](...args) {
    return this.queryCounterEXT.apply(this, args);
  }
};
dart.addTypeTests(web_gl.ExtDisjointTimerQueryWebGL2);
dart.addTypeCaches(web_gl.ExtDisjointTimerQueryWebGL2);
dart.setMethodSignature(web_gl.ExtDisjointTimerQueryWebGL2, () => ({
  __proto__: dart.getMethods(web_gl.ExtDisjointTimerQueryWebGL2.__proto__),
  [S$4.$queryCounterExt]: dart.fnType(dart.void, [web_gl.Query, core.int])
}));
dart.setLibraryUri(web_gl.ExtDisjointTimerQueryWebGL2, I[160]);
dart.defineLazy(web_gl.ExtDisjointTimerQueryWebGL2, {
  /*web_gl.ExtDisjointTimerQueryWebGL2.GPU_DISJOINT_EXT*/get GPU_DISJOINT_EXT() {
    return 36795;
  },
  /*web_gl.ExtDisjointTimerQueryWebGL2.QUERY_COUNTER_BITS_EXT*/get QUERY_COUNTER_BITS_EXT() {
    return 34916;
  },
  /*web_gl.ExtDisjointTimerQueryWebGL2.TIMESTAMP_EXT*/get TIMESTAMP_EXT() {
    return 36392;
  },
  /*web_gl.ExtDisjointTimerQueryWebGL2.TIME_ELAPSED_EXT*/get TIME_ELAPSED_EXT() {
    return 35007;
  }
}, false);
dart.registerExtension("EXTDisjointTimerQueryWebGL2", web_gl.ExtDisjointTimerQueryWebGL2);
web_gl.ExtFragDepth = class ExtFragDepth extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.ExtFragDepth);
dart.addTypeCaches(web_gl.ExtFragDepth);
dart.setLibraryUri(web_gl.ExtFragDepth, I[160]);
dart.registerExtension("EXTFragDepth", web_gl.ExtFragDepth);
dart.registerExtension("EXT_frag_depth", web_gl.ExtFragDepth);
web_gl.ExtShaderTextureLod = class ExtShaderTextureLod extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.ExtShaderTextureLod);
dart.addTypeCaches(web_gl.ExtShaderTextureLod);
dart.setLibraryUri(web_gl.ExtShaderTextureLod, I[160]);
dart.registerExtension("EXTShaderTextureLOD", web_gl.ExtShaderTextureLod);
dart.registerExtension("EXT_shader_texture_lod", web_gl.ExtShaderTextureLod);
web_gl.ExtTextureFilterAnisotropic = class ExtTextureFilterAnisotropic extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.ExtTextureFilterAnisotropic);
dart.addTypeCaches(web_gl.ExtTextureFilterAnisotropic);
dart.setLibraryUri(web_gl.ExtTextureFilterAnisotropic, I[160]);
dart.defineLazy(web_gl.ExtTextureFilterAnisotropic, {
  /*web_gl.ExtTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT*/get MAX_TEXTURE_MAX_ANISOTROPY_EXT() {
    return 34047;
  },
  /*web_gl.ExtTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT*/get TEXTURE_MAX_ANISOTROPY_EXT() {
    return 34046;
  }
}, false);
dart.registerExtension("EXTTextureFilterAnisotropic", web_gl.ExtTextureFilterAnisotropic);
dart.registerExtension("EXT_texture_filter_anisotropic", web_gl.ExtTextureFilterAnisotropic);
web_gl.Framebuffer = class Framebuffer extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Framebuffer);
dart.addTypeCaches(web_gl.Framebuffer);
dart.setLibraryUri(web_gl.Framebuffer, I[160]);
dart.registerExtension("WebGLFramebuffer", web_gl.Framebuffer);
web_gl.GetBufferSubDataAsync = class GetBufferSubDataAsync extends _interceptors.Interceptor {
  [S$4.$getBufferSubDataAsync](target, srcByteOffset, dstData, dstOffset = null, length = null) {
    if (target == null) dart.nullFailed(I[161], 559, 36, "target");
    if (srcByteOffset == null) dart.nullFailed(I[161], 559, 48, "srcByteOffset");
    if (dstData == null) dart.nullFailed(I[161], 559, 73, "dstData");
    return js_util.promiseToFuture(dart.dynamic, this.getBufferSubDataAsync(target, srcByteOffset, dstData, dstOffset, length));
  }
};
dart.addTypeTests(web_gl.GetBufferSubDataAsync);
dart.addTypeCaches(web_gl.GetBufferSubDataAsync);
dart.setMethodSignature(web_gl.GetBufferSubDataAsync, () => ({
  __proto__: dart.getMethods(web_gl.GetBufferSubDataAsync.__proto__),
  [S$4.$getBufferSubDataAsync]: dart.fnType(async.Future, [core.int, core.int, typed_data.TypedData], [dart.nullable(core.int), dart.nullable(core.int)])
}));
dart.setLibraryUri(web_gl.GetBufferSubDataAsync, I[160]);
dart.registerExtension("WebGLGetBufferSubDataAsync", web_gl.GetBufferSubDataAsync);
web_gl.LoseContext = class LoseContext extends _interceptors.Interceptor {
  [S$4.$loseContext](...args) {
    return this.loseContext.apply(this, args);
  }
  [S$4.$restoreContext](...args) {
    return this.restoreContext.apply(this, args);
  }
};
dart.addTypeTests(web_gl.LoseContext);
dart.addTypeCaches(web_gl.LoseContext);
dart.setMethodSignature(web_gl.LoseContext, () => ({
  __proto__: dart.getMethods(web_gl.LoseContext.__proto__),
  [S$4.$loseContext]: dart.fnType(dart.void, []),
  [S$4.$restoreContext]: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(web_gl.LoseContext, I[160]);
dart.registerExtension("WebGLLoseContext", web_gl.LoseContext);
dart.registerExtension("WebGLExtensionLoseContext", web_gl.LoseContext);
dart.registerExtension("WEBGL_lose_context", web_gl.LoseContext);
web_gl.OesElementIndexUint = class OesElementIndexUint extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.OesElementIndexUint);
dart.addTypeCaches(web_gl.OesElementIndexUint);
dart.setLibraryUri(web_gl.OesElementIndexUint, I[160]);
dart.registerExtension("OESElementIndexUint", web_gl.OesElementIndexUint);
dart.registerExtension("OES_element_index_uint", web_gl.OesElementIndexUint);
web_gl.OesStandardDerivatives = class OesStandardDerivatives extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.OesStandardDerivatives);
dart.addTypeCaches(web_gl.OesStandardDerivatives);
dart.setLibraryUri(web_gl.OesStandardDerivatives, I[160]);
dart.defineLazy(web_gl.OesStandardDerivatives, {
  /*web_gl.OesStandardDerivatives.FRAGMENT_SHADER_DERIVATIVE_HINT_OES*/get FRAGMENT_SHADER_DERIVATIVE_HINT_OES() {
    return 35723;
  }
}, false);
dart.registerExtension("OESStandardDerivatives", web_gl.OesStandardDerivatives);
dart.registerExtension("OES_standard_derivatives", web_gl.OesStandardDerivatives);
web_gl.OesTextureFloat = class OesTextureFloat extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.OesTextureFloat);
dart.addTypeCaches(web_gl.OesTextureFloat);
dart.setLibraryUri(web_gl.OesTextureFloat, I[160]);
dart.registerExtension("OESTextureFloat", web_gl.OesTextureFloat);
dart.registerExtension("OES_texture_float", web_gl.OesTextureFloat);
web_gl.OesTextureFloatLinear = class OesTextureFloatLinear extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.OesTextureFloatLinear);
dart.addTypeCaches(web_gl.OesTextureFloatLinear);
dart.setLibraryUri(web_gl.OesTextureFloatLinear, I[160]);
dart.registerExtension("OESTextureFloatLinear", web_gl.OesTextureFloatLinear);
dart.registerExtension("OES_texture_float_linear", web_gl.OesTextureFloatLinear);
web_gl.OesTextureHalfFloat = class OesTextureHalfFloat extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.OesTextureHalfFloat);
dart.addTypeCaches(web_gl.OesTextureHalfFloat);
dart.setLibraryUri(web_gl.OesTextureHalfFloat, I[160]);
dart.defineLazy(web_gl.OesTextureHalfFloat, {
  /*web_gl.OesTextureHalfFloat.HALF_FLOAT_OES*/get HALF_FLOAT_OES() {
    return 36193;
  }
}, false);
dart.registerExtension("OESTextureHalfFloat", web_gl.OesTextureHalfFloat);
dart.registerExtension("OES_texture_half_float", web_gl.OesTextureHalfFloat);
web_gl.OesTextureHalfFloatLinear = class OesTextureHalfFloatLinear extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.OesTextureHalfFloatLinear);
dart.addTypeCaches(web_gl.OesTextureHalfFloatLinear);
dart.setLibraryUri(web_gl.OesTextureHalfFloatLinear, I[160]);
dart.registerExtension("OESTextureHalfFloatLinear", web_gl.OesTextureHalfFloatLinear);
dart.registerExtension("OES_texture_half_float_linear", web_gl.OesTextureHalfFloatLinear);
web_gl.OesVertexArrayObject = class OesVertexArrayObject extends _interceptors.Interceptor {
  [S$4.$bindVertexArray](...args) {
    return this.bindVertexArrayOES.apply(this, args);
  }
  [S$4.$createVertexArray](...args) {
    return this.createVertexArrayOES.apply(this, args);
  }
  [S$4.$deleteVertexArray](...args) {
    return this.deleteVertexArrayOES.apply(this, args);
  }
  [S$4.$isVertexArray](...args) {
    return this.isVertexArrayOES.apply(this, args);
  }
};
dart.addTypeTests(web_gl.OesVertexArrayObject);
dart.addTypeCaches(web_gl.OesVertexArrayObject);
dart.setMethodSignature(web_gl.OesVertexArrayObject, () => ({
  __proto__: dart.getMethods(web_gl.OesVertexArrayObject.__proto__),
  [S$4.$bindVertexArray]: dart.fnType(dart.void, [dart.nullable(web_gl.VertexArrayObjectOes)]),
  [S$4.$createVertexArray]: dart.fnType(web_gl.VertexArrayObjectOes, []),
  [S$4.$deleteVertexArray]: dart.fnType(dart.void, [dart.nullable(web_gl.VertexArrayObjectOes)]),
  [S$4.$isVertexArray]: dart.fnType(core.bool, [dart.nullable(web_gl.VertexArrayObjectOes)])
}));
dart.setLibraryUri(web_gl.OesVertexArrayObject, I[160]);
dart.defineLazy(web_gl.OesVertexArrayObject, {
  /*web_gl.OesVertexArrayObject.VERTEX_ARRAY_BINDING_OES*/get VERTEX_ARRAY_BINDING_OES() {
    return 34229;
  }
}, false);
dart.registerExtension("OESVertexArrayObject", web_gl.OesVertexArrayObject);
dart.registerExtension("OES_vertex_array_object", web_gl.OesVertexArrayObject);
web_gl.Program = class Program extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Program);
dart.addTypeCaches(web_gl.Program);
dart.setLibraryUri(web_gl.Program, I[160]);
dart.registerExtension("WebGLProgram", web_gl.Program);
web_gl.Query = class Query extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Query);
dart.addTypeCaches(web_gl.Query);
dart.setLibraryUri(web_gl.Query, I[160]);
dart.registerExtension("WebGLQuery", web_gl.Query);
web_gl.Renderbuffer = class Renderbuffer extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Renderbuffer);
dart.addTypeCaches(web_gl.Renderbuffer);
dart.setLibraryUri(web_gl.Renderbuffer, I[160]);
dart.registerExtension("WebGLRenderbuffer", web_gl.Renderbuffer);
web_gl.RenderingContext = class RenderingContext extends _interceptors.Interceptor {
  static get supported() {
    return !!window.WebGLRenderingContext;
  }
  get [S$.$canvas]() {
    return this.canvas;
  }
  get [S$4.$drawingBufferHeight]() {
    return this.drawingBufferHeight;
  }
  get [S$4.$drawingBufferWidth]() {
    return this.drawingBufferWidth;
  }
  [S$4.$activeTexture](...args) {
    return this.activeTexture.apply(this, args);
  }
  [S$4.$attachShader](...args) {
    return this.attachShader.apply(this, args);
  }
  [S$4.$bindAttribLocation](...args) {
    return this.bindAttribLocation.apply(this, args);
  }
  [S$4.$bindBuffer](...args) {
    return this.bindBuffer.apply(this, args);
  }
  [S$4.$bindFramebuffer](...args) {
    return this.bindFramebuffer.apply(this, args);
  }
  [S$4.$bindRenderbuffer](...args) {
    return this.bindRenderbuffer.apply(this, args);
  }
  [S$4.$bindTexture](...args) {
    return this.bindTexture.apply(this, args);
  }
  [S$4.$blendColor](...args) {
    return this.blendColor.apply(this, args);
  }
  [S$4.$blendEquation](...args) {
    return this.blendEquation.apply(this, args);
  }
  [S$4.$blendEquationSeparate](...args) {
    return this.blendEquationSeparate.apply(this, args);
  }
  [S$4.$blendFunc](...args) {
    return this.blendFunc.apply(this, args);
  }
  [S$4.$blendFuncSeparate](...args) {
    return this.blendFuncSeparate.apply(this, args);
  }
  [S$4.$bufferData](...args) {
    return this.bufferData.apply(this, args);
  }
  [S$4.$bufferSubData](...args) {
    return this.bufferSubData.apply(this, args);
  }
  [S$4.$checkFramebufferStatus](...args) {
    return this.checkFramebufferStatus.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$4.$clearColor](...args) {
    return this.clearColor.apply(this, args);
  }
  [S$4.$clearDepth](...args) {
    return this.clearDepth.apply(this, args);
  }
  [S$4.$clearStencil](...args) {
    return this.clearStencil.apply(this, args);
  }
  [S$4.$colorMask](...args) {
    return this.colorMask.apply(this, args);
  }
  [S$2.$commit]() {
    return js_util.promiseToFuture(dart.dynamic, this.commit());
  }
  [S$4.$compileShader](...args) {
    return this.compileShader.apply(this, args);
  }
  [S$4.$compressedTexImage2D](...args) {
    return this.compressedTexImage2D.apply(this, args);
  }
  [S$4.$compressedTexSubImage2D](...args) {
    return this.compressedTexSubImage2D.apply(this, args);
  }
  [S$4.$copyTexImage2D](...args) {
    return this.copyTexImage2D.apply(this, args);
  }
  [S$4.$copyTexSubImage2D](...args) {
    return this.copyTexSubImage2D.apply(this, args);
  }
  [S$3.$createBuffer](...args) {
    return this.createBuffer.apply(this, args);
  }
  [S$4.$createFramebuffer](...args) {
    return this.createFramebuffer.apply(this, args);
  }
  [S$4.$createProgram](...args) {
    return this.createProgram.apply(this, args);
  }
  [S$4.$createRenderbuffer](...args) {
    return this.createRenderbuffer.apply(this, args);
  }
  [S$4.$createShader](...args) {
    return this.createShader.apply(this, args);
  }
  [S$4.$createTexture](...args) {
    return this.createTexture.apply(this, args);
  }
  [S$4.$cullFace](...args) {
    return this.cullFace.apply(this, args);
  }
  [S$4.$deleteBuffer](...args) {
    return this.deleteBuffer.apply(this, args);
  }
  [S$4.$deleteFramebuffer](...args) {
    return this.deleteFramebuffer.apply(this, args);
  }
  [S$4.$deleteProgram](...args) {
    return this.deleteProgram.apply(this, args);
  }
  [S$4.$deleteRenderbuffer](...args) {
    return this.deleteRenderbuffer.apply(this, args);
  }
  [S$4.$deleteShader](...args) {
    return this.deleteShader.apply(this, args);
  }
  [S$4.$deleteTexture](...args) {
    return this.deleteTexture.apply(this, args);
  }
  [S$4.$depthFunc](...args) {
    return this.depthFunc.apply(this, args);
  }
  [S$4.$depthMask](...args) {
    return this.depthMask.apply(this, args);
  }
  [S$4.$depthRange](...args) {
    return this.depthRange.apply(this, args);
  }
  [S$4.$detachShader](...args) {
    return this.detachShader.apply(this, args);
  }
  [S$1.$disable](...args) {
    return this.disable.apply(this, args);
  }
  [S$4.$disableVertexAttribArray](...args) {
    return this.disableVertexAttribArray.apply(this, args);
  }
  [S$4.$drawArrays](...args) {
    return this.drawArrays.apply(this, args);
  }
  [S$4.$drawElements](...args) {
    return this.drawElements.apply(this, args);
  }
  [S$1.$enable](...args) {
    return this.enable.apply(this, args);
  }
  [S$4.$enableVertexAttribArray](...args) {
    return this.enableVertexAttribArray.apply(this, args);
  }
  [S$.$finish](...args) {
    return this.finish.apply(this, args);
  }
  [S$4.$flush](...args) {
    return this.flush.apply(this, args);
  }
  [S$4.$framebufferRenderbuffer](...args) {
    return this.framebufferRenderbuffer.apply(this, args);
  }
  [S$4.$framebufferTexture2D](...args) {
    return this.framebufferTexture2D.apply(this, args);
  }
  [S$4.$frontFace](...args) {
    return this.frontFace.apply(this, args);
  }
  [S$4.$generateMipmap](...args) {
    return this.generateMipmap.apply(this, args);
  }
  [S$4.$getActiveAttrib](...args) {
    return this.getActiveAttrib.apply(this, args);
  }
  [S$4.$getActiveUniform](...args) {
    return this.getActiveUniform.apply(this, args);
  }
  [S$4.$getAttachedShaders](...args) {
    return this.getAttachedShaders.apply(this, args);
  }
  [S$4.$getAttribLocation](...args) {
    return this.getAttribLocation.apply(this, args);
  }
  [S$4.$getBufferParameter](...args) {
    return this.getBufferParameter.apply(this, args);
  }
  [S$.$getContextAttributes]() {
    return html_common.convertNativeToDart_Dictionary(this[S$4._getContextAttributes_1$1]());
  }
  [S$4._getContextAttributes_1$1](...args) {
    return this.getContextAttributes.apply(this, args);
  }
  [S$4.$getError](...args) {
    return this.getError.apply(this, args);
  }
  [S$4.$getExtension](...args) {
    return this.getExtension.apply(this, args);
  }
  [S$4.$getFramebufferAttachmentParameter](...args) {
    return this.getFramebufferAttachmentParameter.apply(this, args);
  }
  [S$3.$getParameter](...args) {
    return this.getParameter.apply(this, args);
  }
  [S$4.$getProgramInfoLog](...args) {
    return this.getProgramInfoLog.apply(this, args);
  }
  [S$4.$getProgramParameter](...args) {
    return this.getProgramParameter.apply(this, args);
  }
  [S$4.$getRenderbufferParameter](...args) {
    return this.getRenderbufferParameter.apply(this, args);
  }
  [S$4.$getShaderInfoLog](...args) {
    return this.getShaderInfoLog.apply(this, args);
  }
  [S$4.$getShaderParameter](...args) {
    return this.getShaderParameter.apply(this, args);
  }
  [S$4.$getShaderPrecisionFormat](...args) {
    return this.getShaderPrecisionFormat.apply(this, args);
  }
  [S$4.$getShaderSource](...args) {
    return this.getShaderSource.apply(this, args);
  }
  [S$4.$getSupportedExtensions](...args) {
    return this.getSupportedExtensions.apply(this, args);
  }
  [S$4.$getTexParameter](...args) {
    return this.getTexParameter.apply(this, args);
  }
  [S$4.$getUniform](...args) {
    return this.getUniform.apply(this, args);
  }
  [S$4.$getUniformLocation](...args) {
    return this.getUniformLocation.apply(this, args);
  }
  [S$4.$getVertexAttrib](...args) {
    return this.getVertexAttrib.apply(this, args);
  }
  [S$4.$getVertexAttribOffset](...args) {
    return this.getVertexAttribOffset.apply(this, args);
  }
  [S$4.$hint](...args) {
    return this.hint.apply(this, args);
  }
  [S$4.$isBuffer](...args) {
    return this.isBuffer.apply(this, args);
  }
  [S$.$isContextLost](...args) {
    return this.isContextLost.apply(this, args);
  }
  [S$4.$isEnabled](...args) {
    return this.isEnabled.apply(this, args);
  }
  [S$4.$isFramebuffer](...args) {
    return this.isFramebuffer.apply(this, args);
  }
  [S$4.$isProgram](...args) {
    return this.isProgram.apply(this, args);
  }
  [S$4.$isRenderbuffer](...args) {
    return this.isRenderbuffer.apply(this, args);
  }
  [S$4.$isShader](...args) {
    return this.isShader.apply(this, args);
  }
  [S$4.$isTexture](...args) {
    return this.isTexture.apply(this, args);
  }
  [S$.$lineWidth](...args) {
    return this.lineWidth.apply(this, args);
  }
  [S$4.$linkProgram](...args) {
    return this.linkProgram.apply(this, args);
  }
  [S$4.$pixelStorei](...args) {
    return this.pixelStorei.apply(this, args);
  }
  [S$4.$polygonOffset](...args) {
    return this.polygonOffset.apply(this, args);
  }
  [S$4._readPixels](...args) {
    return this.readPixels.apply(this, args);
  }
  [S$4.$renderbufferStorage](...args) {
    return this.renderbufferStorage.apply(this, args);
  }
  [S$4.$sampleCoverage](...args) {
    return this.sampleCoverage.apply(this, args);
  }
  [S$4.$scissor](...args) {
    return this.scissor.apply(this, args);
  }
  [S$4.$shaderSource](...args) {
    return this.shaderSource.apply(this, args);
  }
  [S$4.$stencilFunc](...args) {
    return this.stencilFunc.apply(this, args);
  }
  [S$4.$stencilFuncSeparate](...args) {
    return this.stencilFuncSeparate.apply(this, args);
  }
  [S$4.$stencilMask](...args) {
    return this.stencilMask.apply(this, args);
  }
  [S$4.$stencilMaskSeparate](...args) {
    return this.stencilMaskSeparate.apply(this, args);
  }
  [S$4.$stencilOp](...args) {
    return this.stencilOp.apply(this, args);
  }
  [S$4.$stencilOpSeparate](...args) {
    return this.stencilOpSeparate.apply(this, args);
  }
  [S$4.$texImage2D](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video, format = null, type = null, pixels = null) {
    if (target == null) dart.nullFailed(I[161], 980, 11, "target");
    if (level == null) dart.nullFailed(I[161], 981, 11, "level");
    if (internalformat == null) dart.nullFailed(I[161], 982, 11, "internalformat");
    if (format_OR_width == null) dart.nullFailed(I[161], 983, 11, "format_OR_width");
    if (height_OR_type == null) dart.nullFailed(I[161], 984, 11, "height_OR_type");
    if (type != null && format != null && core.int.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video)) {
      this[S$4._texImage2D_1](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      let pixels_1 = html_common.convertDartToNative_ImageData(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      this[S$4._texImage2D_2](target, level, internalformat, format_OR_width, height_OR_type, pixels_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_3](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_4](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_5](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_6](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texImage2D_1](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_2](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_3](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_4](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_5](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_6](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4.$texParameterf](...args) {
    return this.texParameterf.apply(this, args);
  }
  [S$4.$texParameteri](...args) {
    return this.texParameteri.apply(this, args);
  }
  [S$4.$texSubImage2D](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video, type = null, pixels = null) {
    if (target == null) dart.nullFailed(I[161], 1097, 11, "target");
    if (level == null) dart.nullFailed(I[161], 1098, 11, "level");
    if (xoffset == null) dart.nullFailed(I[161], 1099, 11, "xoffset");
    if (yoffset == null) dart.nullFailed(I[161], 1100, 11, "yoffset");
    if (format_OR_width == null) dart.nullFailed(I[161], 1101, 11, "format_OR_width");
    if (height_OR_type == null) dart.nullFailed(I[161], 1102, 11, "height_OR_type");
    if (type != null && core.int.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video)) {
      this[S$4._texSubImage2D_1](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      let pixels_1 = html_common.convertDartToNative_ImageData(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      this[S$4._texSubImage2D_2](target, level, xoffset, yoffset, format_OR_width, height_OR_type, pixels_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_3](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_4](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_5](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_6](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texSubImage2D_1](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_2](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_3](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_4](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_5](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_6](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4.$uniform1f](...args) {
    return this.uniform1f.apply(this, args);
  }
  [S$4.$uniform1fv](...args) {
    return this.uniform1fv.apply(this, args);
  }
  [S$4.$uniform1i](...args) {
    return this.uniform1i.apply(this, args);
  }
  [S$4.$uniform1iv](...args) {
    return this.uniform1iv.apply(this, args);
  }
  [S$4.$uniform2f](...args) {
    return this.uniform2f.apply(this, args);
  }
  [S$4.$uniform2fv](...args) {
    return this.uniform2fv.apply(this, args);
  }
  [S$4.$uniform2i](...args) {
    return this.uniform2i.apply(this, args);
  }
  [S$4.$uniform2iv](...args) {
    return this.uniform2iv.apply(this, args);
  }
  [S$4.$uniform3f](...args) {
    return this.uniform3f.apply(this, args);
  }
  [S$4.$uniform3fv](...args) {
    return this.uniform3fv.apply(this, args);
  }
  [S$4.$uniform3i](...args) {
    return this.uniform3i.apply(this, args);
  }
  [S$4.$uniform3iv](...args) {
    return this.uniform3iv.apply(this, args);
  }
  [S$4.$uniform4f](...args) {
    return this.uniform4f.apply(this, args);
  }
  [S$4.$uniform4fv](...args) {
    return this.uniform4fv.apply(this, args);
  }
  [S$4.$uniform4i](...args) {
    return this.uniform4i.apply(this, args);
  }
  [S$4.$uniform4iv](...args) {
    return this.uniform4iv.apply(this, args);
  }
  [S$4.$uniformMatrix2fv](...args) {
    return this.uniformMatrix2fv.apply(this, args);
  }
  [S$4.$uniformMatrix3fv](...args) {
    return this.uniformMatrix3fv.apply(this, args);
  }
  [S$4.$uniformMatrix4fv](...args) {
    return this.uniformMatrix4fv.apply(this, args);
  }
  [S$4.$useProgram](...args) {
    return this.useProgram.apply(this, args);
  }
  [S$4.$validateProgram](...args) {
    return this.validateProgram.apply(this, args);
  }
  [S$4.$vertexAttrib1f](...args) {
    return this.vertexAttrib1f.apply(this, args);
  }
  [S$4.$vertexAttrib1fv](...args) {
    return this.vertexAttrib1fv.apply(this, args);
  }
  [S$4.$vertexAttrib2f](...args) {
    return this.vertexAttrib2f.apply(this, args);
  }
  [S$4.$vertexAttrib2fv](...args) {
    return this.vertexAttrib2fv.apply(this, args);
  }
  [S$4.$vertexAttrib3f](...args) {
    return this.vertexAttrib3f.apply(this, args);
  }
  [S$4.$vertexAttrib3fv](...args) {
    return this.vertexAttrib3fv.apply(this, args);
  }
  [S$4.$vertexAttrib4f](...args) {
    return this.vertexAttrib4f.apply(this, args);
  }
  [S$4.$vertexAttrib4fv](...args) {
    return this.vertexAttrib4fv.apply(this, args);
  }
  [S$4.$vertexAttribPointer](...args) {
    return this.vertexAttribPointer.apply(this, args);
  }
  [S$4.$viewport](...args) {
    return this.viewport.apply(this, args);
  }
  [S$4.$readPixels](x, y, width, height, format, type, pixels) {
    if (x == null) dart.nullFailed(I[161], 1273, 23, "x");
    if (y == null) dart.nullFailed(I[161], 1273, 30, "y");
    if (width == null) dart.nullFailed(I[161], 1273, 37, "width");
    if (height == null) dart.nullFailed(I[161], 1273, 48, "height");
    if (format == null) dart.nullFailed(I[161], 1273, 60, "format");
    if (type == null) dart.nullFailed(I[161], 1273, 72, "type");
    this[S$4._readPixels](x, y, width, height, format, type, pixels);
  }
  [S$4.$texImage2DUntyped](targetTexture, levelOfDetail, internalFormat, format, type, data) {
    if (targetTexture == null) dart.nullFailed(I[161], 1287, 30, "targetTexture");
    if (levelOfDetail == null) dart.nullFailed(I[161], 1287, 49, "levelOfDetail");
    if (internalFormat == null) dart.nullFailed(I[161], 1288, 11, "internalFormat");
    if (format == null) dart.nullFailed(I[161], 1288, 31, "format");
    if (type == null) dart.nullFailed(I[161], 1288, 43, "type");
    this[S$4.$texImage2D](targetTexture, levelOfDetail, internalFormat, format, type, data);
  }
  [S$4.$texImage2DTyped](targetTexture, levelOfDetail, internalFormat, width, height, border, format, type, data) {
    if (targetTexture == null) dart.nullFailed(I[161], 1299, 28, "targetTexture");
    if (levelOfDetail == null) dart.nullFailed(I[161], 1299, 47, "levelOfDetail");
    if (internalFormat == null) dart.nullFailed(I[161], 1299, 66, "internalFormat");
    if (width == null) dart.nullFailed(I[161], 1300, 11, "width");
    if (height == null) dart.nullFailed(I[161], 1300, 22, "height");
    if (border == null) dart.nullFailed(I[161], 1300, 34, "border");
    if (format == null) dart.nullFailed(I[161], 1300, 46, "format");
    if (type == null) dart.nullFailed(I[161], 1300, 58, "type");
    if (data == null) dart.nullFailed(I[161], 1300, 74, "data");
    this[S$4.$texImage2D](targetTexture, levelOfDetail, internalFormat, width, height, border, format, type, data);
  }
  [S$4.$texSubImage2DUntyped](targetTexture, levelOfDetail, xOffset, yOffset, format, type, data) {
    if (targetTexture == null) dart.nullFailed(I[161], 1313, 33, "targetTexture");
    if (levelOfDetail == null) dart.nullFailed(I[161], 1313, 52, "levelOfDetail");
    if (xOffset == null) dart.nullFailed(I[161], 1313, 71, "xOffset");
    if (yOffset == null) dart.nullFailed(I[161], 1314, 11, "yOffset");
    if (format == null) dart.nullFailed(I[161], 1314, 24, "format");
    if (type == null) dart.nullFailed(I[161], 1314, 36, "type");
    this[S$4.$texSubImage2D](targetTexture, levelOfDetail, xOffset, yOffset, format, type, data);
  }
  [S$4.$texSubImage2DTyped](targetTexture, levelOfDetail, xOffset, yOffset, width, height, border, format, type, data) {
    if (targetTexture == null) dart.nullFailed(I[161], 1324, 11, "targetTexture");
    if (levelOfDetail == null) dart.nullFailed(I[161], 1325, 11, "levelOfDetail");
    if (xOffset == null) dart.nullFailed(I[161], 1326, 11, "xOffset");
    if (yOffset == null) dart.nullFailed(I[161], 1327, 11, "yOffset");
    if (width == null) dart.nullFailed(I[161], 1328, 11, "width");
    if (height == null) dart.nullFailed(I[161], 1329, 11, "height");
    if (border == null) dart.nullFailed(I[161], 1330, 11, "border");
    if (format == null) dart.nullFailed(I[161], 1331, 11, "format");
    if (type == null) dart.nullFailed(I[161], 1332, 11, "type");
    if (data == null) dart.nullFailed(I[161], 1333, 17, "data");
    this[S$4.$texSubImage2D](targetTexture, levelOfDetail, xOffset, yOffset, width, height, format, type, data);
  }
  [S$4.$bufferDataTyped](target, data, usage) {
    if (target == null) dart.nullFailed(I[161], 1342, 28, "target");
    if (data == null) dart.nullFailed(I[161], 1342, 46, "data");
    if (usage == null) dart.nullFailed(I[161], 1342, 56, "usage");
    this.bufferData(target, data, usage);
  }
  [S$4.$bufferSubDataTyped](target, offset, data) {
    if (target == null) dart.nullFailed(I[161], 1350, 31, "target");
    if (offset == null) dart.nullFailed(I[161], 1350, 43, "offset");
    if (data == null) dart.nullFailed(I[161], 1350, 61, "data");
    this.bufferSubData(target, offset, data);
  }
};
dart.addTypeTests(web_gl.RenderingContext);
dart.addTypeCaches(web_gl.RenderingContext);
web_gl.RenderingContext[dart.implements] = () => [html$.CanvasRenderingContext];
dart.setMethodSignature(web_gl.RenderingContext, () => ({
  __proto__: dart.getMethods(web_gl.RenderingContext.__proto__),
  [S$4.$activeTexture]: dart.fnType(dart.void, [core.int]),
  [S$4.$attachShader]: dart.fnType(dart.void, [web_gl.Program, web_gl.Shader]),
  [S$4.$bindAttribLocation]: dart.fnType(dart.void, [web_gl.Program, core.int, core.String]),
  [S$4.$bindBuffer]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Buffer)]),
  [S$4.$bindFramebuffer]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Framebuffer)]),
  [S$4.$bindRenderbuffer]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$bindTexture]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Texture)]),
  [S$4.$blendColor]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$4.$blendEquation]: dart.fnType(dart.void, [core.int]),
  [S$4.$blendEquationSeparate]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$blendFunc]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$blendFuncSeparate]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$bufferData]: dart.fnType(dart.void, [core.int, dart.dynamic, core.int]),
  [S$4.$bufferSubData]: dart.fnType(dart.void, [core.int, core.int, dart.dynamic]),
  [S$4.$checkFramebufferStatus]: dart.fnType(core.int, [core.int]),
  [$clear]: dart.fnType(dart.void, [core.int]),
  [S$4.$clearColor]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$4.$clearDepth]: dart.fnType(dart.void, [core.num]),
  [S$4.$clearStencil]: dart.fnType(dart.void, [core.int]),
  [S$4.$colorMask]: dart.fnType(dart.void, [core.bool, core.bool, core.bool, core.bool]),
  [S$2.$commit]: dart.fnType(async.Future, []),
  [S$4.$compileShader]: dart.fnType(dart.void, [web_gl.Shader]),
  [S$4.$compressedTexImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData]),
  [S$4.$compressedTexSubImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData]),
  [S$4.$copyTexImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$copyTexSubImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$3.$createBuffer]: dart.fnType(web_gl.Buffer, []),
  [S$4.$createFramebuffer]: dart.fnType(web_gl.Framebuffer, []),
  [S$4.$createProgram]: dart.fnType(web_gl.Program, []),
  [S$4.$createRenderbuffer]: dart.fnType(web_gl.Renderbuffer, []),
  [S$4.$createShader]: dart.fnType(web_gl.Shader, [core.int]),
  [S$4.$createTexture]: dart.fnType(web_gl.Texture, []),
  [S$4.$cullFace]: dart.fnType(dart.void, [core.int]),
  [S$4.$deleteBuffer]: dart.fnType(dart.void, [dart.nullable(web_gl.Buffer)]),
  [S$4.$deleteFramebuffer]: dart.fnType(dart.void, [dart.nullable(web_gl.Framebuffer)]),
  [S$4.$deleteProgram]: dart.fnType(dart.void, [dart.nullable(web_gl.Program)]),
  [S$4.$deleteRenderbuffer]: dart.fnType(dart.void, [dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$deleteShader]: dart.fnType(dart.void, [dart.nullable(web_gl.Shader)]),
  [S$4.$deleteTexture]: dart.fnType(dart.void, [dart.nullable(web_gl.Texture)]),
  [S$4.$depthFunc]: dart.fnType(dart.void, [core.int]),
  [S$4.$depthMask]: dart.fnType(dart.void, [core.bool]),
  [S$4.$depthRange]: dart.fnType(dart.void, [core.num, core.num]),
  [S$4.$detachShader]: dart.fnType(dart.void, [web_gl.Program, web_gl.Shader]),
  [S$1.$disable]: dart.fnType(dart.void, [core.int]),
  [S$4.$disableVertexAttribArray]: dart.fnType(dart.void, [core.int]),
  [S$4.$drawArrays]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$drawElements]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$1.$enable]: dart.fnType(dart.void, [core.int]),
  [S$4.$enableVertexAttribArray]: dart.fnType(dart.void, [core.int]),
  [S$.$finish]: dart.fnType(dart.void, []),
  [S$4.$flush]: dart.fnType(dart.void, []),
  [S$4.$framebufferRenderbuffer]: dart.fnType(dart.void, [core.int, core.int, core.int, dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$framebufferTexture2D]: dart.fnType(dart.void, [core.int, core.int, core.int, dart.nullable(web_gl.Texture), core.int]),
  [S$4.$frontFace]: dart.fnType(dart.void, [core.int]),
  [S$4.$generateMipmap]: dart.fnType(dart.void, [core.int]),
  [S$4.$getActiveAttrib]: dart.fnType(web_gl.ActiveInfo, [web_gl.Program, core.int]),
  [S$4.$getActiveUniform]: dart.fnType(web_gl.ActiveInfo, [web_gl.Program, core.int]),
  [S$4.$getAttachedShaders]: dart.fnType(dart.nullable(core.List$(web_gl.Shader)), [web_gl.Program]),
  [S$4.$getAttribLocation]: dart.fnType(core.int, [web_gl.Program, core.String]),
  [S$4.$getBufferParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$.$getContextAttributes]: dart.fnType(dart.nullable(core.Map), []),
  [S$4._getContextAttributes_1$1]: dart.fnType(dart.dynamic, []),
  [S$4.$getError]: dart.fnType(core.int, []),
  [S$4.$getExtension]: dart.fnType(dart.nullable(core.Object), [core.String]),
  [S$4.$getFramebufferAttachmentParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int, core.int]),
  [S$3.$getParameter]: dart.fnType(dart.nullable(core.Object), [core.int]),
  [S$4.$getProgramInfoLog]: dart.fnType(dart.nullable(core.String), [web_gl.Program]),
  [S$4.$getProgramParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Program, core.int]),
  [S$4.$getRenderbufferParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getShaderInfoLog]: dart.fnType(dart.nullable(core.String), [web_gl.Shader]),
  [S$4.$getShaderParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Shader, core.int]),
  [S$4.$getShaderPrecisionFormat]: dart.fnType(web_gl.ShaderPrecisionFormat, [core.int, core.int]),
  [S$4.$getShaderSource]: dart.fnType(dart.nullable(core.String), [web_gl.Shader]),
  [S$4.$getSupportedExtensions]: dart.fnType(dart.nullable(core.List$(core.String)), []),
  [S$4.$getTexParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getUniform]: dart.fnType(dart.nullable(core.Object), [web_gl.Program, web_gl.UniformLocation]),
  [S$4.$getUniformLocation]: dart.fnType(web_gl.UniformLocation, [web_gl.Program, core.String]),
  [S$4.$getVertexAttrib]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getVertexAttribOffset]: dart.fnType(core.int, [core.int, core.int]),
  [S$4.$hint]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$isBuffer]: dart.fnType(core.bool, [dart.nullable(web_gl.Buffer)]),
  [S$.$isContextLost]: dart.fnType(core.bool, []),
  [S$4.$isEnabled]: dart.fnType(core.bool, [core.int]),
  [S$4.$isFramebuffer]: dart.fnType(core.bool, [dart.nullable(web_gl.Framebuffer)]),
  [S$4.$isProgram]: dart.fnType(core.bool, [dart.nullable(web_gl.Program)]),
  [S$4.$isRenderbuffer]: dart.fnType(core.bool, [dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$isShader]: dart.fnType(core.bool, [dart.nullable(web_gl.Shader)]),
  [S$4.$isTexture]: dart.fnType(core.bool, [dart.nullable(web_gl.Texture)]),
  [S$.$lineWidth]: dart.fnType(dart.void, [core.num]),
  [S$4.$linkProgram]: dart.fnType(dart.void, [web_gl.Program]),
  [S$4.$pixelStorei]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$polygonOffset]: dart.fnType(dart.void, [core.num, core.num]),
  [S$4._readPixels]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, dart.nullable(typed_data.TypedData)]),
  [S$4.$renderbufferStorage]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$sampleCoverage]: dart.fnType(dart.void, [core.num, core.bool]),
  [S$4.$scissor]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$shaderSource]: dart.fnType(dart.void, [web_gl.Shader, core.String]),
  [S$4.$stencilFunc]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$stencilFuncSeparate]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$stencilMask]: dart.fnType(dart.void, [core.int]),
  [S$4.$stencilMaskSeparate]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$stencilOp]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$stencilOpSeparate]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$texImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int), dart.nullable(typed_data.TypedData)]),
  [S$4._texImage2D_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int, dart.dynamic, dart.dynamic, dart.nullable(typed_data.TypedData)]),
  [S$4._texImage2D_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texImage2D_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texImage2D_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texImage2D_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texImage2D_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4.$texParameterf]: dart.fnType(dart.void, [core.int, core.int, core.num]),
  [S$4.$texParameteri]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$texSubImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int), dart.nullable(typed_data.TypedData)]),
  [S$4._texSubImage2D_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int, dart.dynamic, dart.nullable(typed_data.TypedData)]),
  [S$4._texSubImage2D_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texSubImage2D_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texSubImage2D_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texSubImage2D_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texSubImage2D_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4.$uniform1f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num]),
  [S$4.$uniform1fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform1i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int]),
  [S$4.$uniform1iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform2f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num, core.num]),
  [S$4.$uniform2fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform2i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int]),
  [S$4.$uniform2iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform3f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num, core.num, core.num]),
  [S$4.$uniform3fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform3i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int, core.int]),
  [S$4.$uniform3iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform4f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num, core.num, core.num, core.num]),
  [S$4.$uniform4fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform4i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int, core.int, core.int]),
  [S$4.$uniform4iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniformMatrix2fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic]),
  [S$4.$uniformMatrix3fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic]),
  [S$4.$uniformMatrix4fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic]),
  [S$4.$useProgram]: dart.fnType(dart.void, [dart.nullable(web_gl.Program)]),
  [S$4.$validateProgram]: dart.fnType(dart.void, [web_gl.Program]),
  [S$4.$vertexAttrib1f]: dart.fnType(dart.void, [core.int, core.num]),
  [S$4.$vertexAttrib1fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttrib2f]: dart.fnType(dart.void, [core.int, core.num, core.num]),
  [S$4.$vertexAttrib2fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttrib3f]: dart.fnType(dart.void, [core.int, core.num, core.num, core.num]),
  [S$4.$vertexAttrib3fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttrib4f]: dart.fnType(dart.void, [core.int, core.num, core.num, core.num, core.num]),
  [S$4.$vertexAttrib4fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttribPointer]: dart.fnType(dart.void, [core.int, core.int, core.int, core.bool, core.int, core.int]),
  [S$4.$viewport]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$readPixels]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, dart.nullable(typed_data.TypedData)]),
  [S$4.$texImage2DUntyped]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, dart.dynamic]),
  [S$4.$texImage2DTyped]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData]),
  [S$4.$texSubImage2DUntyped]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic]),
  [S$4.$texSubImage2DTyped]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData]),
  [S$4.$bufferDataTyped]: dart.fnType(dart.void, [core.int, typed_data.TypedData, core.int]),
  [S$4.$bufferSubDataTyped]: dart.fnType(dart.void, [core.int, core.int, typed_data.TypedData])
}));
dart.setGetterSignature(web_gl.RenderingContext, () => ({
  __proto__: dart.getGetters(web_gl.RenderingContext.__proto__),
  [S$.$canvas]: html$.CanvasElement,
  [S$4.$drawingBufferHeight]: dart.nullable(core.int),
  [S$4.$drawingBufferWidth]: dart.nullable(core.int)
}));
dart.setLibraryUri(web_gl.RenderingContext, I[160]);
dart.registerExtension("WebGLRenderingContext", web_gl.RenderingContext);
web_gl.RenderingContext2 = class RenderingContext2 extends _interceptors.Interceptor {
  get [S$.$canvas]() {
    return this.canvas;
  }
  [S$4.$beginQuery](...args) {
    return this.beginQuery.apply(this, args);
  }
  [S$4.$beginTransformFeedback](...args) {
    return this.beginTransformFeedback.apply(this, args);
  }
  [S$4.$bindBufferBase](...args) {
    return this.bindBufferBase.apply(this, args);
  }
  [S$4.$bindBufferRange](...args) {
    return this.bindBufferRange.apply(this, args);
  }
  [S$4.$bindSampler](...args) {
    return this.bindSampler.apply(this, args);
  }
  [S$4.$bindTransformFeedback](...args) {
    return this.bindTransformFeedback.apply(this, args);
  }
  [S$4.$bindVertexArray](...args) {
    return this.bindVertexArray.apply(this, args);
  }
  [S$4.$blitFramebuffer](...args) {
    return this.blitFramebuffer.apply(this, args);
  }
  [S$4.$bufferData2](...args) {
    return this.bufferData.apply(this, args);
  }
  [S$4.$bufferSubData2](...args) {
    return this.bufferSubData.apply(this, args);
  }
  [S$4.$clearBufferfi](...args) {
    return this.clearBufferfi.apply(this, args);
  }
  [S$4.$clearBufferfv](...args) {
    return this.clearBufferfv.apply(this, args);
  }
  [S$4.$clearBufferiv](...args) {
    return this.clearBufferiv.apply(this, args);
  }
  [S$4.$clearBufferuiv](...args) {
    return this.clearBufferuiv.apply(this, args);
  }
  [S$4.$clientWaitSync](...args) {
    return this.clientWaitSync.apply(this, args);
  }
  [S$4.$compressedTexImage2D2](...args) {
    return this.compressedTexImage2D.apply(this, args);
  }
  [S$4.$compressedTexImage2D3](...args) {
    return this.compressedTexImage2D.apply(this, args);
  }
  [S$4.$compressedTexImage3D](...args) {
    return this.compressedTexImage3D.apply(this, args);
  }
  [S$4.$compressedTexImage3D2](...args) {
    return this.compressedTexImage3D.apply(this, args);
  }
  [S$4.$compressedTexSubImage2D2](...args) {
    return this.compressedTexSubImage2D.apply(this, args);
  }
  [S$4.$compressedTexSubImage2D3](...args) {
    return this.compressedTexSubImage2D.apply(this, args);
  }
  [S$4.$compressedTexSubImage3D](...args) {
    return this.compressedTexSubImage3D.apply(this, args);
  }
  [S$4.$compressedTexSubImage3D2](...args) {
    return this.compressedTexSubImage3D.apply(this, args);
  }
  [S$4.$copyBufferSubData](...args) {
    return this.copyBufferSubData.apply(this, args);
  }
  [S$4.$copyTexSubImage3D](...args) {
    return this.copyTexSubImage3D.apply(this, args);
  }
  [S$4.$createQuery](...args) {
    return this.createQuery.apply(this, args);
  }
  [S$4.$createSampler](...args) {
    return this.createSampler.apply(this, args);
  }
  [S$4.$createTransformFeedback](...args) {
    return this.createTransformFeedback.apply(this, args);
  }
  [S$4.$createVertexArray](...args) {
    return this.createVertexArray.apply(this, args);
  }
  [S$4.$deleteQuery](...args) {
    return this.deleteQuery.apply(this, args);
  }
  [S$4.$deleteSampler](...args) {
    return this.deleteSampler.apply(this, args);
  }
  [S$4.$deleteSync](...args) {
    return this.deleteSync.apply(this, args);
  }
  [S$4.$deleteTransformFeedback](...args) {
    return this.deleteTransformFeedback.apply(this, args);
  }
  [S$4.$deleteVertexArray](...args) {
    return this.deleteVertexArray.apply(this, args);
  }
  [S$4.$drawArraysInstanced](...args) {
    return this.drawArraysInstanced.apply(this, args);
  }
  [S$4.$drawBuffers](...args) {
    return this.drawBuffers.apply(this, args);
  }
  [S$4.$drawElementsInstanced](...args) {
    return this.drawElementsInstanced.apply(this, args);
  }
  [S$4.$drawRangeElements](...args) {
    return this.drawRangeElements.apply(this, args);
  }
  [S$4.$endQuery](...args) {
    return this.endQuery.apply(this, args);
  }
  [S$4.$endTransformFeedback](...args) {
    return this.endTransformFeedback.apply(this, args);
  }
  [S$4.$fenceSync](...args) {
    return this.fenceSync.apply(this, args);
  }
  [S$4.$framebufferTextureLayer](...args) {
    return this.framebufferTextureLayer.apply(this, args);
  }
  [S$4.$getActiveUniformBlockName](...args) {
    return this.getActiveUniformBlockName.apply(this, args);
  }
  [S$4.$getActiveUniformBlockParameter](...args) {
    return this.getActiveUniformBlockParameter.apply(this, args);
  }
  [S$4.$getActiveUniforms](...args) {
    return this.getActiveUniforms.apply(this, args);
  }
  [S$4.$getBufferSubData](...args) {
    return this.getBufferSubData.apply(this, args);
  }
  [S$4.$getFragDataLocation](...args) {
    return this.getFragDataLocation.apply(this, args);
  }
  [S$4.$getIndexedParameter](...args) {
    return this.getIndexedParameter.apply(this, args);
  }
  [S$4.$getInternalformatParameter](...args) {
    return this.getInternalformatParameter.apply(this, args);
  }
  [S$4.$getQuery](...args) {
    return this.getQuery.apply(this, args);
  }
  [S$4.$getQueryParameter](...args) {
    return this.getQueryParameter.apply(this, args);
  }
  [S$4.$getSamplerParameter](...args) {
    return this.getSamplerParameter.apply(this, args);
  }
  [S$4.$getSyncParameter](...args) {
    return this.getSyncParameter.apply(this, args);
  }
  [S$4.$getTransformFeedbackVarying](...args) {
    return this.getTransformFeedbackVarying.apply(this, args);
  }
  [S$4.$getUniformBlockIndex](...args) {
    return this.getUniformBlockIndex.apply(this, args);
  }
  [S$4.$getUniformIndices](program, uniformNames) {
    if (program == null) dart.nullFailed(I[161], 1537, 40, "program");
    if (uniformNames == null) dart.nullFailed(I[161], 1537, 62, "uniformNames");
    let uniformNames_1 = html_common.convertDartToNative_StringArray(uniformNames);
    return this[S$4._getUniformIndices_1](program, uniformNames_1);
  }
  [S$4._getUniformIndices_1](...args) {
    return this.getUniformIndices.apply(this, args);
  }
  [S$4.$invalidateFramebuffer](...args) {
    return this.invalidateFramebuffer.apply(this, args);
  }
  [S$4.$invalidateSubFramebuffer](...args) {
    return this.invalidateSubFramebuffer.apply(this, args);
  }
  [S$4.$isQuery](...args) {
    return this.isQuery.apply(this, args);
  }
  [S$4.$isSampler](...args) {
    return this.isSampler.apply(this, args);
  }
  [S$4.$isSync](...args) {
    return this.isSync.apply(this, args);
  }
  [S$4.$isTransformFeedback](...args) {
    return this.isTransformFeedback.apply(this, args);
  }
  [S$4.$isVertexArray](...args) {
    return this.isVertexArray.apply(this, args);
  }
  [S$4.$pauseTransformFeedback](...args) {
    return this.pauseTransformFeedback.apply(this, args);
  }
  [S$4.$readBuffer](...args) {
    return this.readBuffer.apply(this, args);
  }
  [S$4.$readPixels2](...args) {
    return this.readPixels.apply(this, args);
  }
  [S$4.$renderbufferStorageMultisample](...args) {
    return this.renderbufferStorageMultisample.apply(this, args);
  }
  [S$4.$resumeTransformFeedback](...args) {
    return this.resumeTransformFeedback.apply(this, args);
  }
  [S$4.$samplerParameterf](...args) {
    return this.samplerParameterf.apply(this, args);
  }
  [S$4.$samplerParameteri](...args) {
    return this.samplerParameteri.apply(this, args);
  }
  [S$4.$texImage2D2](target, level, internalformat, width, height, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video, srcOffset = null) {
    if (target == null) dart.nullFailed(I[161], 1579, 11, "target");
    if (level == null) dart.nullFailed(I[161], 1580, 11, "level");
    if (internalformat == null) dart.nullFailed(I[161], 1581, 11, "internalformat");
    if (width == null) dart.nullFailed(I[161], 1582, 11, "width");
    if (height == null) dart.nullFailed(I[161], 1583, 11, "height");
    if (border == null) dart.nullFailed(I[161], 1584, 11, "border");
    if (format == null) dart.nullFailed(I[161], 1585, 11, "format");
    if (type == null) dart.nullFailed(I[161], 1586, 11, "type");
    if (core.int.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texImage2D2_1](target, level, internalformat, width, height, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      let data_1 = html_common.convertDartToNative_ImageData(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      this[S$4._texImage2D2_2](target, level, internalformat, width, height, border, format, type, data_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texImage2D2_3](target, level, internalformat, width, height, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texImage2D2_4](target, level, internalformat, width, height, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texImage2D2_5](target, level, internalformat, width, height, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texImage2D2_6](target, level, internalformat, width, height, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (srcOffset != null && typed_data.TypedData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video)) {
      this[S$4._texImage2D2_7](target, level, internalformat, width, height, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video, srcOffset);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texImage2D2_1](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D2_2](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D2_3](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D2_4](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D2_5](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D2_6](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D2_7](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4.$texImage3D](target, level, internalformat, width, height, depth, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video, srcOffset = null) {
    if (target == null) dart.nullFailed(I[161], 1715, 11, "target");
    if (level == null) dart.nullFailed(I[161], 1716, 11, "level");
    if (internalformat == null) dart.nullFailed(I[161], 1717, 11, "internalformat");
    if (width == null) dart.nullFailed(I[161], 1718, 11, "width");
    if (height == null) dart.nullFailed(I[161], 1719, 11, "height");
    if (depth == null) dart.nullFailed(I[161], 1720, 11, "depth");
    if (border == null) dart.nullFailed(I[161], 1721, 11, "border");
    if (format == null) dart.nullFailed(I[161], 1722, 11, "format");
    if (type == null) dart.nullFailed(I[161], 1723, 11, "type");
    if (core.int.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texImage3D_1](target, level, internalformat, width, height, depth, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      let data_1 = html_common.convertDartToNative_ImageData(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      this[S$4._texImage3D_2](target, level, internalformat, width, height, depth, border, format, type, data_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texImage3D_3](target, level, internalformat, width, height, depth, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texImage3D_4](target, level, internalformat, width, height, depth, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texImage3D_5](target, level, internalformat, width, height, depth, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texImage3D_6](target, level, internalformat, width, height, depth, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if ((typed_data.TypedData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) || bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video == null) && srcOffset == null) {
      this[S$4._texImage3D_7](target, level, internalformat, width, height, depth, border, format, type, T$0.TypedDataN().as(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video));
      return;
    }
    if (srcOffset != null && typed_data.TypedData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video)) {
      this[S$4._texImage3D_8](target, level, internalformat, width, height, depth, border, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video, srcOffset);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texImage3D_1](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4._texImage3D_2](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4._texImage3D_3](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4._texImage3D_4](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4._texImage3D_5](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4._texImage3D_6](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4._texImage3D_7](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4._texImage3D_8](...args) {
    return this.texImage3D.apply(this, args);
  }
  [S$4.$texStorage2D](...args) {
    return this.texStorage2D.apply(this, args);
  }
  [S$4.$texStorage3D](...args) {
    return this.texStorage3D.apply(this, args);
  }
  [S$4.$texSubImage2D2](target, level, xoffset, yoffset, width, height, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video, srcOffset = null) {
    if (target == null) dart.nullFailed(I[161], 1885, 11, "target");
    if (level == null) dart.nullFailed(I[161], 1886, 11, "level");
    if (xoffset == null) dart.nullFailed(I[161], 1887, 11, "xoffset");
    if (yoffset == null) dart.nullFailed(I[161], 1888, 11, "yoffset");
    if (width == null) dart.nullFailed(I[161], 1889, 11, "width");
    if (height == null) dart.nullFailed(I[161], 1890, 11, "height");
    if (format == null) dart.nullFailed(I[161], 1891, 11, "format");
    if (type == null) dart.nullFailed(I[161], 1892, 11, "type");
    if (core.int.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texSubImage2D2_1](target, level, xoffset, yoffset, width, height, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      let data_1 = html_common.convertDartToNative_ImageData(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      this[S$4._texSubImage2D2_2](target, level, xoffset, yoffset, width, height, format, type, data_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texSubImage2D2_3](target, level, xoffset, yoffset, width, height, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texSubImage2D2_4](target, level, xoffset, yoffset, width, height, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texSubImage2D2_5](target, level, xoffset, yoffset, width, height, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video) && srcOffset == null) {
      this[S$4._texSubImage2D2_6](target, level, xoffset, yoffset, width, height, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video);
      return;
    }
    if (srcOffset != null && typed_data.TypedData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video)) {
      this[S$4._texSubImage2D2_7](target, level, xoffset, yoffset, width, height, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_srcData_OR_video, srcOffset);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texSubImage2D2_1](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D2_2](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D2_3](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D2_4](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D2_5](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D2_6](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D2_7](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4.$texSubImage3D](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video, srcOffset = null) {
    if (target == null) dart.nullFailed(I[161], 2021, 11, "target");
    if (level == null) dart.nullFailed(I[161], 2022, 11, "level");
    if (xoffset == null) dart.nullFailed(I[161], 2023, 11, "xoffset");
    if (yoffset == null) dart.nullFailed(I[161], 2024, 11, "yoffset");
    if (zoffset == null) dart.nullFailed(I[161], 2025, 11, "zoffset");
    if (width == null) dart.nullFailed(I[161], 2026, 11, "width");
    if (height == null) dart.nullFailed(I[161], 2027, 11, "height");
    if (depth == null) dart.nullFailed(I[161], 2028, 11, "depth");
    if (format == null) dart.nullFailed(I[161], 2029, 11, "format");
    if (type == null) dart.nullFailed(I[161], 2030, 11, "type");
    if (core.int.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texSubImage3D_1](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      let data_1 = html_common.convertDartToNative_ImageData(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      this[S$4._texSubImage3D_2](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texSubImage3D_3](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texSubImage3D_4](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texSubImage3D_5](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texSubImage3D_6](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (typed_data.TypedData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video) && srcOffset == null) {
      this[S$4._texSubImage3D_7](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video);
      return;
    }
    if (srcOffset != null && typed_data.TypedData.is(bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video)) {
      this[S$4._texSubImage3D_8](target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bitmap_OR_canvas_OR_data_OR_image_OR_offset_OR_pixels_OR_video, srcOffset);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texSubImage3D_1](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4._texSubImage3D_2](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4._texSubImage3D_3](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4._texSubImage3D_4](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4._texSubImage3D_5](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4._texSubImage3D_6](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4._texSubImage3D_7](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4._texSubImage3D_8](...args) {
    return this.texSubImage3D.apply(this, args);
  }
  [S$4.$transformFeedbackVaryings](program, varyings, bufferMode) {
    if (program == null) dart.nullFailed(I[161], 2191, 15, "program");
    if (varyings == null) dart.nullFailed(I[161], 2191, 37, "varyings");
    if (bufferMode == null) dart.nullFailed(I[161], 2191, 51, "bufferMode");
    let varyings_1 = html_common.convertDartToNative_StringArray(varyings);
    this[S$4._transformFeedbackVaryings_1](program, varyings_1, bufferMode);
    return;
  }
  [S$4._transformFeedbackVaryings_1](...args) {
    return this.transformFeedbackVaryings.apply(this, args);
  }
  [S$4.$uniform1fv2](...args) {
    return this.uniform1fv.apply(this, args);
  }
  [S$4.$uniform1iv2](...args) {
    return this.uniform1iv.apply(this, args);
  }
  [S$4.$uniform1ui](...args) {
    return this.uniform1ui.apply(this, args);
  }
  [S$4.$uniform1uiv](...args) {
    return this.uniform1uiv.apply(this, args);
  }
  [S$4.$uniform2fv2](...args) {
    return this.uniform2fv.apply(this, args);
  }
  [S$4.$uniform2iv2](...args) {
    return this.uniform2iv.apply(this, args);
  }
  [S$4.$uniform2ui](...args) {
    return this.uniform2ui.apply(this, args);
  }
  [S$4.$uniform2uiv](...args) {
    return this.uniform2uiv.apply(this, args);
  }
  [S$4.$uniform3fv2](...args) {
    return this.uniform3fv.apply(this, args);
  }
  [S$4.$uniform3iv2](...args) {
    return this.uniform3iv.apply(this, args);
  }
  [S$4.$uniform3ui](...args) {
    return this.uniform3ui.apply(this, args);
  }
  [S$4.$uniform3uiv](...args) {
    return this.uniform3uiv.apply(this, args);
  }
  [S$4.$uniform4fv2](...args) {
    return this.uniform4fv.apply(this, args);
  }
  [S$4.$uniform4iv2](...args) {
    return this.uniform4iv.apply(this, args);
  }
  [S$4.$uniform4ui](...args) {
    return this.uniform4ui.apply(this, args);
  }
  [S$4.$uniform4uiv](...args) {
    return this.uniform4uiv.apply(this, args);
  }
  [S$4.$uniformBlockBinding](...args) {
    return this.uniformBlockBinding.apply(this, args);
  }
  [S$4.$uniformMatrix2fv2](...args) {
    return this.uniformMatrix2fv.apply(this, args);
  }
  [S$4.$uniformMatrix2x3fv](...args) {
    return this.uniformMatrix2x3fv.apply(this, args);
  }
  [S$4.$uniformMatrix2x4fv](...args) {
    return this.uniformMatrix2x4fv.apply(this, args);
  }
  [S$4.$uniformMatrix3fv2](...args) {
    return this.uniformMatrix3fv.apply(this, args);
  }
  [S$4.$uniformMatrix3x2fv](...args) {
    return this.uniformMatrix3x2fv.apply(this, args);
  }
  [S$4.$uniformMatrix3x4fv](...args) {
    return this.uniformMatrix3x4fv.apply(this, args);
  }
  [S$4.$uniformMatrix4fv2](...args) {
    return this.uniformMatrix4fv.apply(this, args);
  }
  [S$4.$uniformMatrix4x2fv](...args) {
    return this.uniformMatrix4x2fv.apply(this, args);
  }
  [S$4.$uniformMatrix4x3fv](...args) {
    return this.uniformMatrix4x3fv.apply(this, args);
  }
  [S$4.$vertexAttribDivisor](...args) {
    return this.vertexAttribDivisor.apply(this, args);
  }
  [S$4.$vertexAttribI4i](...args) {
    return this.vertexAttribI4i.apply(this, args);
  }
  [S$4.$vertexAttribI4iv](...args) {
    return this.vertexAttribI4iv.apply(this, args);
  }
  [S$4.$vertexAttribI4ui](...args) {
    return this.vertexAttribI4ui.apply(this, args);
  }
  [S$4.$vertexAttribI4uiv](...args) {
    return this.vertexAttribI4uiv.apply(this, args);
  }
  [S$4.$vertexAttribIPointer](...args) {
    return this.vertexAttribIPointer.apply(this, args);
  }
  [S$4.$waitSync](...args) {
    return this.waitSync.apply(this, args);
  }
  get [S$4.$drawingBufferHeight]() {
    return this.drawingBufferHeight;
  }
  get [S$4.$drawingBufferWidth]() {
    return this.drawingBufferWidth;
  }
  [S$4.$activeTexture](...args) {
    return this.activeTexture.apply(this, args);
  }
  [S$4.$attachShader](...args) {
    return this.attachShader.apply(this, args);
  }
  [S$4.$bindAttribLocation](...args) {
    return this.bindAttribLocation.apply(this, args);
  }
  [S$4.$bindBuffer](...args) {
    return this.bindBuffer.apply(this, args);
  }
  [S$4.$bindFramebuffer](...args) {
    return this.bindFramebuffer.apply(this, args);
  }
  [S$4.$bindRenderbuffer](...args) {
    return this.bindRenderbuffer.apply(this, args);
  }
  [S$4.$bindTexture](...args) {
    return this.bindTexture.apply(this, args);
  }
  [S$4.$blendColor](...args) {
    return this.blendColor.apply(this, args);
  }
  [S$4.$blendEquation](...args) {
    return this.blendEquation.apply(this, args);
  }
  [S$4.$blendEquationSeparate](...args) {
    return this.blendEquationSeparate.apply(this, args);
  }
  [S$4.$blendFunc](...args) {
    return this.blendFunc.apply(this, args);
  }
  [S$4.$blendFuncSeparate](...args) {
    return this.blendFuncSeparate.apply(this, args);
  }
  [S$4.$bufferData](...args) {
    return this.bufferData.apply(this, args);
  }
  [S$4.$bufferSubData](...args) {
    return this.bufferSubData.apply(this, args);
  }
  [S$4.$checkFramebufferStatus](...args) {
    return this.checkFramebufferStatus.apply(this, args);
  }
  [$clear](...args) {
    return this.clear.apply(this, args);
  }
  [S$4.$clearColor](...args) {
    return this.clearColor.apply(this, args);
  }
  [S$4.$clearDepth](...args) {
    return this.clearDepth.apply(this, args);
  }
  [S$4.$clearStencil](...args) {
    return this.clearStencil.apply(this, args);
  }
  [S$4.$colorMask](...args) {
    return this.colorMask.apply(this, args);
  }
  [S$2.$commit]() {
    return js_util.promiseToFuture(dart.dynamic, this.commit());
  }
  [S$4.$compileShader](...args) {
    return this.compileShader.apply(this, args);
  }
  [S$4.$compressedTexImage2D](...args) {
    return this.compressedTexImage2D.apply(this, args);
  }
  [S$4.$compressedTexSubImage2D](...args) {
    return this.compressedTexSubImage2D.apply(this, args);
  }
  [S$4.$copyTexImage2D](...args) {
    return this.copyTexImage2D.apply(this, args);
  }
  [S$4.$copyTexSubImage2D](...args) {
    return this.copyTexSubImage2D.apply(this, args);
  }
  [S$3.$createBuffer](...args) {
    return this.createBuffer.apply(this, args);
  }
  [S$4.$createFramebuffer](...args) {
    return this.createFramebuffer.apply(this, args);
  }
  [S$4.$createProgram](...args) {
    return this.createProgram.apply(this, args);
  }
  [S$4.$createRenderbuffer](...args) {
    return this.createRenderbuffer.apply(this, args);
  }
  [S$4.$createShader](...args) {
    return this.createShader.apply(this, args);
  }
  [S$4.$createTexture](...args) {
    return this.createTexture.apply(this, args);
  }
  [S$4.$cullFace](...args) {
    return this.cullFace.apply(this, args);
  }
  [S$4.$deleteBuffer](...args) {
    return this.deleteBuffer.apply(this, args);
  }
  [S$4.$deleteFramebuffer](...args) {
    return this.deleteFramebuffer.apply(this, args);
  }
  [S$4.$deleteProgram](...args) {
    return this.deleteProgram.apply(this, args);
  }
  [S$4.$deleteRenderbuffer](...args) {
    return this.deleteRenderbuffer.apply(this, args);
  }
  [S$4.$deleteShader](...args) {
    return this.deleteShader.apply(this, args);
  }
  [S$4.$deleteTexture](...args) {
    return this.deleteTexture.apply(this, args);
  }
  [S$4.$depthFunc](...args) {
    return this.depthFunc.apply(this, args);
  }
  [S$4.$depthMask](...args) {
    return this.depthMask.apply(this, args);
  }
  [S$4.$depthRange](...args) {
    return this.depthRange.apply(this, args);
  }
  [S$4.$detachShader](...args) {
    return this.detachShader.apply(this, args);
  }
  [S$1.$disable](...args) {
    return this.disable.apply(this, args);
  }
  [S$4.$disableVertexAttribArray](...args) {
    return this.disableVertexAttribArray.apply(this, args);
  }
  [S$4.$drawArrays](...args) {
    return this.drawArrays.apply(this, args);
  }
  [S$4.$drawElements](...args) {
    return this.drawElements.apply(this, args);
  }
  [S$1.$enable](...args) {
    return this.enable.apply(this, args);
  }
  [S$4.$enableVertexAttribArray](...args) {
    return this.enableVertexAttribArray.apply(this, args);
  }
  [S$.$finish](...args) {
    return this.finish.apply(this, args);
  }
  [S$4.$flush](...args) {
    return this.flush.apply(this, args);
  }
  [S$4.$framebufferRenderbuffer](...args) {
    return this.framebufferRenderbuffer.apply(this, args);
  }
  [S$4.$framebufferTexture2D](...args) {
    return this.framebufferTexture2D.apply(this, args);
  }
  [S$4.$frontFace](...args) {
    return this.frontFace.apply(this, args);
  }
  [S$4.$generateMipmap](...args) {
    return this.generateMipmap.apply(this, args);
  }
  [S$4.$getActiveAttrib](...args) {
    return this.getActiveAttrib.apply(this, args);
  }
  [S$4.$getActiveUniform](...args) {
    return this.getActiveUniform.apply(this, args);
  }
  [S$4.$getAttachedShaders](...args) {
    return this.getAttachedShaders.apply(this, args);
  }
  [S$4.$getAttribLocation](...args) {
    return this.getAttribLocation.apply(this, args);
  }
  [S$4.$getBufferParameter](...args) {
    return this.getBufferParameter.apply(this, args);
  }
  [S$.$getContextAttributes]() {
    return html_common.convertNativeToDart_Dictionary(this[S$4._getContextAttributes_1$1]());
  }
  [S$4._getContextAttributes_1$1](...args) {
    return this.getContextAttributes.apply(this, args);
  }
  [S$4.$getError](...args) {
    return this.getError.apply(this, args);
  }
  [S$4.$getExtension](...args) {
    return this.getExtension.apply(this, args);
  }
  [S$4.$getFramebufferAttachmentParameter](...args) {
    return this.getFramebufferAttachmentParameter.apply(this, args);
  }
  [S$3.$getParameter](...args) {
    return this.getParameter.apply(this, args);
  }
  [S$4.$getProgramInfoLog](...args) {
    return this.getProgramInfoLog.apply(this, args);
  }
  [S$4.$getProgramParameter](...args) {
    return this.getProgramParameter.apply(this, args);
  }
  [S$4.$getRenderbufferParameter](...args) {
    return this.getRenderbufferParameter.apply(this, args);
  }
  [S$4.$getShaderInfoLog](...args) {
    return this.getShaderInfoLog.apply(this, args);
  }
  [S$4.$getShaderParameter](...args) {
    return this.getShaderParameter.apply(this, args);
  }
  [S$4.$getShaderPrecisionFormat](...args) {
    return this.getShaderPrecisionFormat.apply(this, args);
  }
  [S$4.$getShaderSource](...args) {
    return this.getShaderSource.apply(this, args);
  }
  [S$4.$getSupportedExtensions](...args) {
    return this.getSupportedExtensions.apply(this, args);
  }
  [S$4.$getTexParameter](...args) {
    return this.getTexParameter.apply(this, args);
  }
  [S$4.$getUniform](...args) {
    return this.getUniform.apply(this, args);
  }
  [S$4.$getUniformLocation](...args) {
    return this.getUniformLocation.apply(this, args);
  }
  [S$4.$getVertexAttrib](...args) {
    return this.getVertexAttrib.apply(this, args);
  }
  [S$4.$getVertexAttribOffset](...args) {
    return this.getVertexAttribOffset.apply(this, args);
  }
  [S$4.$hint](...args) {
    return this.hint.apply(this, args);
  }
  [S$4.$isBuffer](...args) {
    return this.isBuffer.apply(this, args);
  }
  [S$.$isContextLost](...args) {
    return this.isContextLost.apply(this, args);
  }
  [S$4.$isEnabled](...args) {
    return this.isEnabled.apply(this, args);
  }
  [S$4.$isFramebuffer](...args) {
    return this.isFramebuffer.apply(this, args);
  }
  [S$4.$isProgram](...args) {
    return this.isProgram.apply(this, args);
  }
  [S$4.$isRenderbuffer](...args) {
    return this.isRenderbuffer.apply(this, args);
  }
  [S$4.$isShader](...args) {
    return this.isShader.apply(this, args);
  }
  [S$4.$isTexture](...args) {
    return this.isTexture.apply(this, args);
  }
  [S$.$lineWidth](...args) {
    return this.lineWidth.apply(this, args);
  }
  [S$4.$linkProgram](...args) {
    return this.linkProgram.apply(this, args);
  }
  [S$4.$pixelStorei](...args) {
    return this.pixelStorei.apply(this, args);
  }
  [S$4.$polygonOffset](...args) {
    return this.polygonOffset.apply(this, args);
  }
  [S$4._readPixels](...args) {
    return this.readPixels.apply(this, args);
  }
  [S$4.$renderbufferStorage](...args) {
    return this.renderbufferStorage.apply(this, args);
  }
  [S$4.$sampleCoverage](...args) {
    return this.sampleCoverage.apply(this, args);
  }
  [S$4.$scissor](...args) {
    return this.scissor.apply(this, args);
  }
  [S$4.$shaderSource](...args) {
    return this.shaderSource.apply(this, args);
  }
  [S$4.$stencilFunc](...args) {
    return this.stencilFunc.apply(this, args);
  }
  [S$4.$stencilFuncSeparate](...args) {
    return this.stencilFuncSeparate.apply(this, args);
  }
  [S$4.$stencilMask](...args) {
    return this.stencilMask.apply(this, args);
  }
  [S$4.$stencilMaskSeparate](...args) {
    return this.stencilMaskSeparate.apply(this, args);
  }
  [S$4.$stencilOp](...args) {
    return this.stencilOp.apply(this, args);
  }
  [S$4.$stencilOpSeparate](...args) {
    return this.stencilOpSeparate.apply(this, args);
  }
  [S$4.$texImage2D](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video, format = null, type = null, pixels = null) {
    if (target == null) dart.nullFailed(I[161], 2533, 11, "target");
    if (level == null) dart.nullFailed(I[161], 2534, 11, "level");
    if (internalformat == null) dart.nullFailed(I[161], 2535, 11, "internalformat");
    if (format_OR_width == null) dart.nullFailed(I[161], 2536, 11, "format_OR_width");
    if (height_OR_type == null) dart.nullFailed(I[161], 2537, 11, "height_OR_type");
    if (type != null && format != null && core.int.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video)) {
      this[S$4._texImage2D_1](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      let pixels_1 = html_common.convertDartToNative_ImageData(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      this[S$4._texImage2D_2](target, level, internalformat, format_OR_width, height_OR_type, pixels_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_3](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_4](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_5](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video) && format == null && type == null && pixels == null) {
      this[S$4._texImage2D_6](target, level, internalformat, format_OR_width, height_OR_type, bitmap_OR_border_OR_canvas_OR_image_OR_pixels_OR_video);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texImage2D_1](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_2](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_3](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_4](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_5](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4._texImage2D_6](...args) {
    return this.texImage2D.apply(this, args);
  }
  [S$4.$texParameterf](...args) {
    return this.texParameterf.apply(this, args);
  }
  [S$4.$texParameteri](...args) {
    return this.texParameteri.apply(this, args);
  }
  [S$4.$texSubImage2D](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video, type = null, pixels = null) {
    if (target == null) dart.nullFailed(I[161], 2650, 11, "target");
    if (level == null) dart.nullFailed(I[161], 2651, 11, "level");
    if (xoffset == null) dart.nullFailed(I[161], 2652, 11, "xoffset");
    if (yoffset == null) dart.nullFailed(I[161], 2653, 11, "yoffset");
    if (format_OR_width == null) dart.nullFailed(I[161], 2654, 11, "format_OR_width");
    if (height_OR_type == null) dart.nullFailed(I[161], 2655, 11, "height_OR_type");
    if (type != null && core.int.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video)) {
      this[S$4._texSubImage2D_1](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels);
      return;
    }
    if (html$.ImageData.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      let pixels_1 = html_common.convertDartToNative_ImageData(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      this[S$4._texSubImage2D_2](target, level, xoffset, yoffset, format_OR_width, height_OR_type, pixels_1);
      return;
    }
    if (html$.ImageElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_3](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.CanvasElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_4](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.VideoElement.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_5](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    if (html$.ImageBitmap.is(bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video) && type == null && pixels == null) {
      this[S$4._texSubImage2D_6](target, level, xoffset, yoffset, format_OR_width, height_OR_type, bitmap_OR_canvas_OR_format_OR_image_OR_pixels_OR_video);
      return;
    }
    dart.throw(new core.ArgumentError.new("Incorrect number or type of arguments"));
  }
  [S$4._texSubImage2D_1](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_2](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_3](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_4](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_5](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4._texSubImage2D_6](...args) {
    return this.texSubImage2D.apply(this, args);
  }
  [S$4.$uniform1f](...args) {
    return this.uniform1f.apply(this, args);
  }
  [S$4.$uniform1fv](...args) {
    return this.uniform1fv.apply(this, args);
  }
  [S$4.$uniform1i](...args) {
    return this.uniform1i.apply(this, args);
  }
  [S$4.$uniform1iv](...args) {
    return this.uniform1iv.apply(this, args);
  }
  [S$4.$uniform2f](...args) {
    return this.uniform2f.apply(this, args);
  }
  [S$4.$uniform2fv](...args) {
    return this.uniform2fv.apply(this, args);
  }
  [S$4.$uniform2i](...args) {
    return this.uniform2i.apply(this, args);
  }
  [S$4.$uniform2iv](...args) {
    return this.uniform2iv.apply(this, args);
  }
  [S$4.$uniform3f](...args) {
    return this.uniform3f.apply(this, args);
  }
  [S$4.$uniform3fv](...args) {
    return this.uniform3fv.apply(this, args);
  }
  [S$4.$uniform3i](...args) {
    return this.uniform3i.apply(this, args);
  }
  [S$4.$uniform3iv](...args) {
    return this.uniform3iv.apply(this, args);
  }
  [S$4.$uniform4f](...args) {
    return this.uniform4f.apply(this, args);
  }
  [S$4.$uniform4fv](...args) {
    return this.uniform4fv.apply(this, args);
  }
  [S$4.$uniform4i](...args) {
    return this.uniform4i.apply(this, args);
  }
  [S$4.$uniform4iv](...args) {
    return this.uniform4iv.apply(this, args);
  }
  [S$4.$uniformMatrix2fv](...args) {
    return this.uniformMatrix2fv.apply(this, args);
  }
  [S$4.$uniformMatrix3fv](...args) {
    return this.uniformMatrix3fv.apply(this, args);
  }
  [S$4.$uniformMatrix4fv](...args) {
    return this.uniformMatrix4fv.apply(this, args);
  }
  [S$4.$useProgram](...args) {
    return this.useProgram.apply(this, args);
  }
  [S$4.$validateProgram](...args) {
    return this.validateProgram.apply(this, args);
  }
  [S$4.$vertexAttrib1f](...args) {
    return this.vertexAttrib1f.apply(this, args);
  }
  [S$4.$vertexAttrib1fv](...args) {
    return this.vertexAttrib1fv.apply(this, args);
  }
  [S$4.$vertexAttrib2f](...args) {
    return this.vertexAttrib2f.apply(this, args);
  }
  [S$4.$vertexAttrib2fv](...args) {
    return this.vertexAttrib2fv.apply(this, args);
  }
  [S$4.$vertexAttrib3f](...args) {
    return this.vertexAttrib3f.apply(this, args);
  }
  [S$4.$vertexAttrib3fv](...args) {
    return this.vertexAttrib3fv.apply(this, args);
  }
  [S$4.$vertexAttrib4f](...args) {
    return this.vertexAttrib4f.apply(this, args);
  }
  [S$4.$vertexAttrib4fv](...args) {
    return this.vertexAttrib4fv.apply(this, args);
  }
  [S$4.$vertexAttribPointer](...args) {
    return this.vertexAttribPointer.apply(this, args);
  }
  [S$4.$viewport](...args) {
    return this.viewport.apply(this, args);
  }
  [S$4.$readPixels](x, y, width, height, format, type, pixels) {
    if (x == null) dart.nullFailed(I[161], 2826, 23, "x");
    if (y == null) dart.nullFailed(I[161], 2826, 30, "y");
    if (width == null) dart.nullFailed(I[161], 2826, 37, "width");
    if (height == null) dart.nullFailed(I[161], 2826, 48, "height");
    if (format == null) dart.nullFailed(I[161], 2826, 60, "format");
    if (type == null) dart.nullFailed(I[161], 2826, 72, "type");
    if (pixels == null) dart.nullFailed(I[161], 2827, 17, "pixels");
    this[S$4._readPixels](x, y, width, height, format, type, pixels);
  }
};
dart.addTypeTests(web_gl.RenderingContext2);
dart.addTypeCaches(web_gl.RenderingContext2);
web_gl.RenderingContext2[dart.implements] = () => [web_gl._WebGL2RenderingContextBase, web_gl._WebGLRenderingContextBase];
dart.setMethodSignature(web_gl.RenderingContext2, () => ({
  __proto__: dart.getMethods(web_gl.RenderingContext2.__proto__),
  [S$4.$beginQuery]: dart.fnType(dart.void, [core.int, web_gl.Query]),
  [S$4.$beginTransformFeedback]: dart.fnType(dart.void, [core.int]),
  [S$4.$bindBufferBase]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(web_gl.Buffer)]),
  [S$4.$bindBufferRange]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(web_gl.Buffer), core.int, core.int]),
  [S$4.$bindSampler]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Sampler)]),
  [S$4.$bindTransformFeedback]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.TransformFeedback)]),
  [S$4.$bindVertexArray]: dart.fnType(dart.void, [dart.nullable(web_gl.VertexArrayObject)]),
  [S$4.$blitFramebuffer]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$bufferData2]: dart.fnType(dart.void, [core.int, typed_data.TypedData, core.int, core.int], [dart.nullable(core.int)]),
  [S$4.$bufferSubData2]: dart.fnType(dart.void, [core.int, core.int, typed_data.TypedData, core.int], [dart.nullable(core.int)]),
  [S$4.$clearBufferfi]: dart.fnType(dart.void, [core.int, core.int, core.num, core.int]),
  [S$4.$clearBufferfv]: dart.fnType(dart.void, [core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4.$clearBufferiv]: dart.fnType(dart.void, [core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4.$clearBufferuiv]: dart.fnType(dart.void, [core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4.$clientWaitSync]: dart.fnType(core.int, [web_gl.Sync, core.int, core.int]),
  [S$4.$compressedTexImage2D2]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData, core.int], [dart.nullable(core.int)]),
  [S$4.$compressedTexImage2D3]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$compressedTexImage3D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$compressedTexImage3D2]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$compressedTexSubImage2D2]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData, core.int], [dart.nullable(core.int)]),
  [S$4.$compressedTexSubImage2D3]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$compressedTexSubImage3D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$compressedTexSubImage3D2]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$copyBufferSubData]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$copyTexSubImage3D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$createQuery]: dart.fnType(dart.nullable(web_gl.Query), []),
  [S$4.$createSampler]: dart.fnType(dart.nullable(web_gl.Sampler), []),
  [S$4.$createTransformFeedback]: dart.fnType(dart.nullable(web_gl.TransformFeedback), []),
  [S$4.$createVertexArray]: dart.fnType(dart.nullable(web_gl.VertexArrayObject), []),
  [S$4.$deleteQuery]: dart.fnType(dart.void, [dart.nullable(web_gl.Query)]),
  [S$4.$deleteSampler]: dart.fnType(dart.void, [dart.nullable(web_gl.Sampler)]),
  [S$4.$deleteSync]: dart.fnType(dart.void, [dart.nullable(web_gl.Sync)]),
  [S$4.$deleteTransformFeedback]: dart.fnType(dart.void, [dart.nullable(web_gl.TransformFeedback)]),
  [S$4.$deleteVertexArray]: dart.fnType(dart.void, [dart.nullable(web_gl.VertexArrayObject)]),
  [S$4.$drawArraysInstanced]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$drawBuffers]: dart.fnType(dart.void, [core.List$(core.int)]),
  [S$4.$drawElementsInstanced]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$drawRangeElements]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$endQuery]: dart.fnType(dart.void, [core.int]),
  [S$4.$endTransformFeedback]: dart.fnType(dart.void, []),
  [S$4.$fenceSync]: dart.fnType(dart.nullable(web_gl.Sync), [core.int, core.int]),
  [S$4.$framebufferTextureLayer]: dart.fnType(dart.void, [core.int, core.int, dart.nullable(web_gl.Texture), core.int, core.int]),
  [S$4.$getActiveUniformBlockName]: dart.fnType(dart.nullable(core.String), [web_gl.Program, core.int]),
  [S$4.$getActiveUniformBlockParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Program, core.int, core.int]),
  [S$4.$getActiveUniforms]: dart.fnType(dart.nullable(core.Object), [web_gl.Program, core.List$(core.int), core.int]),
  [S$4.$getBufferSubData]: dart.fnType(dart.void, [core.int, core.int, typed_data.TypedData], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$getFragDataLocation]: dart.fnType(core.int, [web_gl.Program, core.String]),
  [S$4.$getIndexedParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getInternalformatParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int, core.int]),
  [S$4.$getQuery]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getQueryParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Query, core.int]),
  [S$4.$getSamplerParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Sampler, core.int]),
  [S$4.$getSyncParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Sync, core.int]),
  [S$4.$getTransformFeedbackVarying]: dart.fnType(dart.nullable(web_gl.ActiveInfo), [web_gl.Program, core.int]),
  [S$4.$getUniformBlockIndex]: dart.fnType(core.int, [web_gl.Program, core.String]),
  [S$4.$getUniformIndices]: dart.fnType(dart.nullable(core.List$(core.int)), [web_gl.Program, core.List$(core.String)]),
  [S$4._getUniformIndices_1]: dart.fnType(dart.nullable(core.List$(core.int)), [web_gl.Program, core.List]),
  [S$4.$invalidateFramebuffer]: dart.fnType(dart.void, [core.int, core.List$(core.int)]),
  [S$4.$invalidateSubFramebuffer]: dart.fnType(dart.void, [core.int, core.List$(core.int), core.int, core.int, core.int, core.int]),
  [S$4.$isQuery]: dart.fnType(core.bool, [dart.nullable(web_gl.Query)]),
  [S$4.$isSampler]: dart.fnType(core.bool, [dart.nullable(web_gl.Sampler)]),
  [S$4.$isSync]: dart.fnType(core.bool, [dart.nullable(web_gl.Sync)]),
  [S$4.$isTransformFeedback]: dart.fnType(core.bool, [dart.nullable(web_gl.TransformFeedback)]),
  [S$4.$isVertexArray]: dart.fnType(core.bool, [dart.nullable(web_gl.VertexArrayObject)]),
  [S$4.$pauseTransformFeedback]: dart.fnType(dart.void, []),
  [S$4.$readBuffer]: dart.fnType(dart.void, [core.int]),
  [S$4.$readPixels2]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4.$renderbufferStorageMultisample]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$resumeTransformFeedback]: dart.fnType(dart.void, []),
  [S$4.$samplerParameterf]: dart.fnType(dart.void, [web_gl.Sampler, core.int, core.num]),
  [S$4.$samplerParameteri]: dart.fnType(dart.void, [web_gl.Sampler, core.int, core.int]),
  [S$4.$texImage2D2]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4._texImage2D2_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int]),
  [S$4._texImage2D2_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texImage2D2_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texImage2D2_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texImage2D2_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texImage2D2_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4._texImage2D2_7]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, typed_data.TypedData, dart.dynamic]),
  [S$4.$texImage3D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4._texImage3D_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int]),
  [S$4._texImage3D_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texImage3D_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texImage3D_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texImage3D_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texImage3D_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4._texImage3D_7]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.nullable(typed_data.TypedData)]),
  [S$4._texImage3D_8]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, typed_data.TypedData, dart.dynamic]),
  [S$4.$texStorage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$texStorage3D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$texSubImage2D2]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4._texSubImage2D2_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int]),
  [S$4._texSubImage2D2_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texSubImage2D2_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texSubImage2D2_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texSubImage2D2_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texSubImage2D2_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4._texSubImage2D2_7]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, typed_data.TypedData, dart.dynamic]),
  [S$4.$texSubImage3D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int)]),
  [S$4._texSubImage3D_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int]),
  [S$4._texSubImage3D_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texSubImage3D_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texSubImage3D_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texSubImage3D_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texSubImage3D_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4._texSubImage3D_7]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, typed_data.TypedData]),
  [S$4._texSubImage3D_8]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, typed_data.TypedData, dart.dynamic]),
  [S$4.$transformFeedbackVaryings]: dart.fnType(dart.void, [web_gl.Program, core.List$(core.String), core.int]),
  [S$4._transformFeedbackVaryings_1]: dart.fnType(dart.void, [web_gl.Program, core.List, dart.dynamic]),
  [S$4.$uniform1fv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform1iv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform1ui]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int]),
  [S$4.$uniform1uiv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniform2fv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform2iv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform2ui]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int]),
  [S$4.$uniform2uiv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniform3fv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform3iv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform3ui]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int, core.int]),
  [S$4.$uniform3uiv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniform4fv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform4iv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniform4ui]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int, core.int, core.int]),
  [S$4.$uniform4uiv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniformBlockBinding]: dart.fnType(dart.void, [web_gl.Program, core.int, core.int]),
  [S$4.$uniformMatrix2fv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniformMatrix2x3fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniformMatrix2x4fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniformMatrix3fv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniformMatrix3x2fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniformMatrix3x4fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniformMatrix4fv2]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic, core.int], [dart.nullable(core.int)]),
  [S$4.$uniformMatrix4x2fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$uniformMatrix4x3fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int)]),
  [S$4.$vertexAttribDivisor]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$vertexAttribI4i]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$vertexAttribI4iv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttribI4ui]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$vertexAttribI4uiv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttribIPointer]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int]),
  [S$4.$waitSync]: dart.fnType(dart.void, [web_gl.Sync, core.int, core.int]),
  [S$4.$activeTexture]: dart.fnType(dart.void, [core.int]),
  [S$4.$attachShader]: dart.fnType(dart.void, [web_gl.Program, web_gl.Shader]),
  [S$4.$bindAttribLocation]: dart.fnType(dart.void, [web_gl.Program, core.int, core.String]),
  [S$4.$bindBuffer]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Buffer)]),
  [S$4.$bindFramebuffer]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Framebuffer)]),
  [S$4.$bindRenderbuffer]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$bindTexture]: dart.fnType(dart.void, [core.int, dart.nullable(web_gl.Texture)]),
  [S$4.$blendColor]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$4.$blendEquation]: dart.fnType(dart.void, [core.int]),
  [S$4.$blendEquationSeparate]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$blendFunc]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$blendFuncSeparate]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$bufferData]: dart.fnType(dart.void, [core.int, dart.dynamic, core.int]),
  [S$4.$bufferSubData]: dart.fnType(dart.void, [core.int, core.int, dart.dynamic]),
  [S$4.$checkFramebufferStatus]: dart.fnType(core.int, [core.int]),
  [$clear]: dart.fnType(dart.void, [core.int]),
  [S$4.$clearColor]: dart.fnType(dart.void, [core.num, core.num, core.num, core.num]),
  [S$4.$clearDepth]: dart.fnType(dart.void, [core.num]),
  [S$4.$clearStencil]: dart.fnType(dart.void, [core.int]),
  [S$4.$colorMask]: dart.fnType(dart.void, [core.bool, core.bool, core.bool, core.bool]),
  [S$2.$commit]: dart.fnType(async.Future, []),
  [S$4.$compileShader]: dart.fnType(dart.void, [web_gl.Shader]),
  [S$4.$compressedTexImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData]),
  [S$4.$compressedTexSubImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData]),
  [S$4.$copyTexImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$4.$copyTexSubImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, core.int, core.int]),
  [S$3.$createBuffer]: dart.fnType(web_gl.Buffer, []),
  [S$4.$createFramebuffer]: dart.fnType(web_gl.Framebuffer, []),
  [S$4.$createProgram]: dart.fnType(web_gl.Program, []),
  [S$4.$createRenderbuffer]: dart.fnType(web_gl.Renderbuffer, []),
  [S$4.$createShader]: dart.fnType(web_gl.Shader, [core.int]),
  [S$4.$createTexture]: dart.fnType(web_gl.Texture, []),
  [S$4.$cullFace]: dart.fnType(dart.void, [core.int]),
  [S$4.$deleteBuffer]: dart.fnType(dart.void, [dart.nullable(web_gl.Buffer)]),
  [S$4.$deleteFramebuffer]: dart.fnType(dart.void, [dart.nullable(web_gl.Framebuffer)]),
  [S$4.$deleteProgram]: dart.fnType(dart.void, [dart.nullable(web_gl.Program)]),
  [S$4.$deleteRenderbuffer]: dart.fnType(dart.void, [dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$deleteShader]: dart.fnType(dart.void, [dart.nullable(web_gl.Shader)]),
  [S$4.$deleteTexture]: dart.fnType(dart.void, [dart.nullable(web_gl.Texture)]),
  [S$4.$depthFunc]: dart.fnType(dart.void, [core.int]),
  [S$4.$depthMask]: dart.fnType(dart.void, [core.bool]),
  [S$4.$depthRange]: dart.fnType(dart.void, [core.num, core.num]),
  [S$4.$detachShader]: dart.fnType(dart.void, [web_gl.Program, web_gl.Shader]),
  [S$1.$disable]: dart.fnType(dart.void, [core.int]),
  [S$4.$disableVertexAttribArray]: dart.fnType(dart.void, [core.int]),
  [S$4.$drawArrays]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$drawElements]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$1.$enable]: dart.fnType(dart.void, [core.int]),
  [S$4.$enableVertexAttribArray]: dart.fnType(dart.void, [core.int]),
  [S$.$finish]: dart.fnType(dart.void, []),
  [S$4.$flush]: dart.fnType(dart.void, []),
  [S$4.$framebufferRenderbuffer]: dart.fnType(dart.void, [core.int, core.int, core.int, dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$framebufferTexture2D]: dart.fnType(dart.void, [core.int, core.int, core.int, dart.nullable(web_gl.Texture), core.int]),
  [S$4.$frontFace]: dart.fnType(dart.void, [core.int]),
  [S$4.$generateMipmap]: dart.fnType(dart.void, [core.int]),
  [S$4.$getActiveAttrib]: dart.fnType(web_gl.ActiveInfo, [web_gl.Program, core.int]),
  [S$4.$getActiveUniform]: dart.fnType(web_gl.ActiveInfo, [web_gl.Program, core.int]),
  [S$4.$getAttachedShaders]: dart.fnType(dart.nullable(core.List$(web_gl.Shader)), [web_gl.Program]),
  [S$4.$getAttribLocation]: dart.fnType(core.int, [web_gl.Program, core.String]),
  [S$4.$getBufferParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$.$getContextAttributes]: dart.fnType(dart.nullable(core.Map), []),
  [S$4._getContextAttributes_1$1]: dart.fnType(dart.dynamic, []),
  [S$4.$getError]: dart.fnType(core.int, []),
  [S$4.$getExtension]: dart.fnType(dart.nullable(core.Object), [core.String]),
  [S$4.$getFramebufferAttachmentParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int, core.int]),
  [S$3.$getParameter]: dart.fnType(dart.nullable(core.Object), [core.int]),
  [S$4.$getProgramInfoLog]: dart.fnType(dart.nullable(core.String), [web_gl.Program]),
  [S$4.$getProgramParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Program, core.int]),
  [S$4.$getRenderbufferParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getShaderInfoLog]: dart.fnType(dart.nullable(core.String), [web_gl.Shader]),
  [S$4.$getShaderParameter]: dart.fnType(dart.nullable(core.Object), [web_gl.Shader, core.int]),
  [S$4.$getShaderPrecisionFormat]: dart.fnType(web_gl.ShaderPrecisionFormat, [core.int, core.int]),
  [S$4.$getShaderSource]: dart.fnType(dart.nullable(core.String), [web_gl.Shader]),
  [S$4.$getSupportedExtensions]: dart.fnType(dart.nullable(core.List$(core.String)), []),
  [S$4.$getTexParameter]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getUniform]: dart.fnType(dart.nullable(core.Object), [web_gl.Program, web_gl.UniformLocation]),
  [S$4.$getUniformLocation]: dart.fnType(web_gl.UniformLocation, [web_gl.Program, core.String]),
  [S$4.$getVertexAttrib]: dart.fnType(dart.nullable(core.Object), [core.int, core.int]),
  [S$4.$getVertexAttribOffset]: dart.fnType(core.int, [core.int, core.int]),
  [S$4.$hint]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$isBuffer]: dart.fnType(core.bool, [dart.nullable(web_gl.Buffer)]),
  [S$.$isContextLost]: dart.fnType(core.bool, []),
  [S$4.$isEnabled]: dart.fnType(core.bool, [core.int]),
  [S$4.$isFramebuffer]: dart.fnType(core.bool, [dart.nullable(web_gl.Framebuffer)]),
  [S$4.$isProgram]: dart.fnType(core.bool, [dart.nullable(web_gl.Program)]),
  [S$4.$isRenderbuffer]: dart.fnType(core.bool, [dart.nullable(web_gl.Renderbuffer)]),
  [S$4.$isShader]: dart.fnType(core.bool, [dart.nullable(web_gl.Shader)]),
  [S$4.$isTexture]: dart.fnType(core.bool, [dart.nullable(web_gl.Texture)]),
  [S$.$lineWidth]: dart.fnType(dart.void, [core.num]),
  [S$4.$linkProgram]: dart.fnType(dart.void, [web_gl.Program]),
  [S$4.$pixelStorei]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$polygonOffset]: dart.fnType(dart.void, [core.num, core.num]),
  [S$4._readPixels]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, dart.nullable(typed_data.TypedData)]),
  [S$4.$renderbufferStorage]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$sampleCoverage]: dart.fnType(dart.void, [core.num, core.bool]),
  [S$4.$scissor]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$shaderSource]: dart.fnType(dart.void, [web_gl.Shader, core.String]),
  [S$4.$stencilFunc]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$stencilFuncSeparate]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$stencilMask]: dart.fnType(dart.void, [core.int]),
  [S$4.$stencilMaskSeparate]: dart.fnType(dart.void, [core.int, core.int]),
  [S$4.$stencilOp]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$stencilOpSeparate]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$texImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int), dart.nullable(core.int), dart.nullable(typed_data.TypedData)]),
  [S$4._texImage2D_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int, dart.dynamic, dart.dynamic, dart.nullable(typed_data.TypedData)]),
  [S$4._texImage2D_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texImage2D_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texImage2D_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texImage2D_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texImage2D_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4.$texParameterf]: dart.fnType(dart.void, [core.int, core.int, core.num]),
  [S$4.$texParameteri]: dart.fnType(dart.void, [core.int, core.int, core.int]),
  [S$4.$texSubImage2D]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, dart.dynamic], [dart.nullable(core.int), dart.nullable(typed_data.TypedData)]),
  [S$4._texSubImage2D_1]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, core.int, dart.dynamic, dart.nullable(typed_data.TypedData)]),
  [S$4._texSubImage2D_2]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic]),
  [S$4._texSubImage2D_3]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageElement]),
  [S$4._texSubImage2D_4]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.CanvasElement]),
  [S$4._texSubImage2D_5]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.VideoElement]),
  [S$4._texSubImage2D_6]: dart.fnType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, html$.ImageBitmap]),
  [S$4.$uniform1f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num]),
  [S$4.$uniform1fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform1i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int]),
  [S$4.$uniform1iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform2f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num, core.num]),
  [S$4.$uniform2fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform2i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int]),
  [S$4.$uniform2iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform3f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num, core.num, core.num]),
  [S$4.$uniform3fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform3i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int, core.int]),
  [S$4.$uniform3iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform4f]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.num, core.num, core.num, core.num]),
  [S$4.$uniform4fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniform4i]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.int, core.int, core.int, core.int]),
  [S$4.$uniform4iv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), dart.dynamic]),
  [S$4.$uniformMatrix2fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic]),
  [S$4.$uniformMatrix3fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic]),
  [S$4.$uniformMatrix4fv]: dart.fnType(dart.void, [dart.nullable(web_gl.UniformLocation), core.bool, dart.dynamic]),
  [S$4.$useProgram]: dart.fnType(dart.void, [dart.nullable(web_gl.Program)]),
  [S$4.$validateProgram]: dart.fnType(dart.void, [web_gl.Program]),
  [S$4.$vertexAttrib1f]: dart.fnType(dart.void, [core.int, core.num]),
  [S$4.$vertexAttrib1fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttrib2f]: dart.fnType(dart.void, [core.int, core.num, core.num]),
  [S$4.$vertexAttrib2fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttrib3f]: dart.fnType(dart.void, [core.int, core.num, core.num, core.num]),
  [S$4.$vertexAttrib3fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttrib4f]: dart.fnType(dart.void, [core.int, core.num, core.num, core.num, core.num]),
  [S$4.$vertexAttrib4fv]: dart.fnType(dart.void, [core.int, dart.dynamic]),
  [S$4.$vertexAttribPointer]: dart.fnType(dart.void, [core.int, core.int, core.int, core.bool, core.int, core.int]),
  [S$4.$viewport]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int]),
  [S$4.$readPixels]: dart.fnType(dart.void, [core.int, core.int, core.int, core.int, core.int, core.int, typed_data.TypedData])
}));
dart.setGetterSignature(web_gl.RenderingContext2, () => ({
  __proto__: dart.getGetters(web_gl.RenderingContext2.__proto__),
  [S$.$canvas]: dart.nullable(web_gl.Canvas),
  [S$4.$drawingBufferHeight]: dart.nullable(core.int),
  [S$4.$drawingBufferWidth]: dart.nullable(core.int)
}));
dart.setLibraryUri(web_gl.RenderingContext2, I[160]);
dart.registerExtension("WebGL2RenderingContext", web_gl.RenderingContext2);
web_gl.Sampler = class Sampler extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Sampler);
dart.addTypeCaches(web_gl.Sampler);
dart.setLibraryUri(web_gl.Sampler, I[160]);
dart.registerExtension("WebGLSampler", web_gl.Sampler);
web_gl.Shader = class Shader extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Shader);
dart.addTypeCaches(web_gl.Shader);
dart.setLibraryUri(web_gl.Shader, I[160]);
dart.registerExtension("WebGLShader", web_gl.Shader);
web_gl.ShaderPrecisionFormat = class ShaderPrecisionFormat extends _interceptors.Interceptor {
  get [S$4.$precision]() {
    return this.precision;
  }
  get [S$4.$rangeMax]() {
    return this.rangeMax;
  }
  get [S$4.$rangeMin]() {
    return this.rangeMin;
  }
};
dart.addTypeTests(web_gl.ShaderPrecisionFormat);
dart.addTypeCaches(web_gl.ShaderPrecisionFormat);
dart.setGetterSignature(web_gl.ShaderPrecisionFormat, () => ({
  __proto__: dart.getGetters(web_gl.ShaderPrecisionFormat.__proto__),
  [S$4.$precision]: core.int,
  [S$4.$rangeMax]: core.int,
  [S$4.$rangeMin]: core.int
}));
dart.setLibraryUri(web_gl.ShaderPrecisionFormat, I[160]);
dart.registerExtension("WebGLShaderPrecisionFormat", web_gl.ShaderPrecisionFormat);
web_gl.Sync = class Sync extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.Sync);
dart.addTypeCaches(web_gl.Sync);
dart.setLibraryUri(web_gl.Sync, I[160]);
dart.registerExtension("WebGLSync", web_gl.Sync);
web_gl.Texture = class Texture extends _interceptors.Interceptor {
  get [S$4.$lastUploadedVideoFrameWasSkipped]() {
    return this.lastUploadedVideoFrameWasSkipped;
  }
  get [S$4.$lastUploadedVideoHeight]() {
    return this.lastUploadedVideoHeight;
  }
  get [S$4.$lastUploadedVideoTimestamp]() {
    return this.lastUploadedVideoTimestamp;
  }
  get [S$4.$lastUploadedVideoWidth]() {
    return this.lastUploadedVideoWidth;
  }
};
dart.addTypeTests(web_gl.Texture);
dart.addTypeCaches(web_gl.Texture);
dart.setGetterSignature(web_gl.Texture, () => ({
  __proto__: dart.getGetters(web_gl.Texture.__proto__),
  [S$4.$lastUploadedVideoFrameWasSkipped]: dart.nullable(core.bool),
  [S$4.$lastUploadedVideoHeight]: dart.nullable(core.int),
  [S$4.$lastUploadedVideoTimestamp]: dart.nullable(core.num),
  [S$4.$lastUploadedVideoWidth]: dart.nullable(core.int)
}));
dart.setLibraryUri(web_gl.Texture, I[160]);
dart.registerExtension("WebGLTexture", web_gl.Texture);
web_gl.TimerQueryExt = class TimerQueryExt extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.TimerQueryExt);
dart.addTypeCaches(web_gl.TimerQueryExt);
dart.setLibraryUri(web_gl.TimerQueryExt, I[160]);
dart.registerExtension("WebGLTimerQueryEXT", web_gl.TimerQueryExt);
web_gl.TransformFeedback = class TransformFeedback extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.TransformFeedback);
dart.addTypeCaches(web_gl.TransformFeedback);
dart.setLibraryUri(web_gl.TransformFeedback, I[160]);
dart.registerExtension("WebGLTransformFeedback", web_gl.TransformFeedback);
web_gl.UniformLocation = class UniformLocation extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.UniformLocation);
dart.addTypeCaches(web_gl.UniformLocation);
dart.setLibraryUri(web_gl.UniformLocation, I[160]);
dart.registerExtension("WebGLUniformLocation", web_gl.UniformLocation);
web_gl.VertexArrayObject = class VertexArrayObject extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.VertexArrayObject);
dart.addTypeCaches(web_gl.VertexArrayObject);
dart.setLibraryUri(web_gl.VertexArrayObject, I[160]);
dart.registerExtension("WebGLVertexArrayObject", web_gl.VertexArrayObject);
web_gl.VertexArrayObjectOes = class VertexArrayObjectOes extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl.VertexArrayObjectOes);
dart.addTypeCaches(web_gl.VertexArrayObjectOes);
dart.setLibraryUri(web_gl.VertexArrayObjectOes, I[160]);
dart.registerExtension("WebGLVertexArrayObjectOES", web_gl.VertexArrayObjectOes);
web_gl.WebGL = class WebGL extends core.Object {};
(web_gl.WebGL[dart.mixinNew] = function() {
}).prototype = web_gl.WebGL.prototype;
dart.addTypeTests(web_gl.WebGL);
dart.addTypeCaches(web_gl.WebGL);
dart.setLibraryUri(web_gl.WebGL, I[160]);
dart.defineLazy(web_gl.WebGL, {
  /*web_gl.WebGL.ACTIVE_ATTRIBUTES*/get ACTIVE_ATTRIBUTES() {
    return 35721;
  },
  /*web_gl.WebGL.ACTIVE_TEXTURE*/get ACTIVE_TEXTURE() {
    return 34016;
  },
  /*web_gl.WebGL.ACTIVE_UNIFORMS*/get ACTIVE_UNIFORMS() {
    return 35718;
  },
  /*web_gl.WebGL.ACTIVE_UNIFORM_BLOCKS*/get ACTIVE_UNIFORM_BLOCKS() {
    return 35382;
  },
  /*web_gl.WebGL.ALIASED_LINE_WIDTH_RANGE*/get ALIASED_LINE_WIDTH_RANGE() {
    return 33902;
  },
  /*web_gl.WebGL.ALIASED_POINT_SIZE_RANGE*/get ALIASED_POINT_SIZE_RANGE() {
    return 33901;
  },
  /*web_gl.WebGL.ALPHA*/get ALPHA() {
    return 6406;
  },
  /*web_gl.WebGL.ALPHA_BITS*/get ALPHA_BITS() {
    return 3413;
  },
  /*web_gl.WebGL.ALREADY_SIGNALED*/get ALREADY_SIGNALED() {
    return 37146;
  },
  /*web_gl.WebGL.ALWAYS*/get ALWAYS() {
    return 519;
  },
  /*web_gl.WebGL.ANY_SAMPLES_PASSED*/get ANY_SAMPLES_PASSED() {
    return 35887;
  },
  /*web_gl.WebGL.ANY_SAMPLES_PASSED_CONSERVATIVE*/get ANY_SAMPLES_PASSED_CONSERVATIVE() {
    return 36202;
  },
  /*web_gl.WebGL.ARRAY_BUFFER*/get ARRAY_BUFFER() {
    return 34962;
  },
  /*web_gl.WebGL.ARRAY_BUFFER_BINDING*/get ARRAY_BUFFER_BINDING() {
    return 34964;
  },
  /*web_gl.WebGL.ATTACHED_SHADERS*/get ATTACHED_SHADERS() {
    return 35717;
  },
  /*web_gl.WebGL.BACK*/get BACK() {
    return 1029;
  },
  /*web_gl.WebGL.BLEND*/get BLEND() {
    return 3042;
  },
  /*web_gl.WebGL.BLEND_COLOR*/get BLEND_COLOR() {
    return 32773;
  },
  /*web_gl.WebGL.BLEND_DST_ALPHA*/get BLEND_DST_ALPHA() {
    return 32970;
  },
  /*web_gl.WebGL.BLEND_DST_RGB*/get BLEND_DST_RGB() {
    return 32968;
  },
  /*web_gl.WebGL.BLEND_EQUATION*/get BLEND_EQUATION() {
    return 32777;
  },
  /*web_gl.WebGL.BLEND_EQUATION_ALPHA*/get BLEND_EQUATION_ALPHA() {
    return 34877;
  },
  /*web_gl.WebGL.BLEND_EQUATION_RGB*/get BLEND_EQUATION_RGB() {
    return 32777;
  },
  /*web_gl.WebGL.BLEND_SRC_ALPHA*/get BLEND_SRC_ALPHA() {
    return 32971;
  },
  /*web_gl.WebGL.BLEND_SRC_RGB*/get BLEND_SRC_RGB() {
    return 32969;
  },
  /*web_gl.WebGL.BLUE_BITS*/get BLUE_BITS() {
    return 3412;
  },
  /*web_gl.WebGL.BOOL*/get BOOL() {
    return 35670;
  },
  /*web_gl.WebGL.BOOL_VEC2*/get BOOL_VEC2() {
    return 35671;
  },
  /*web_gl.WebGL.BOOL_VEC3*/get BOOL_VEC3() {
    return 35672;
  },
  /*web_gl.WebGL.BOOL_VEC4*/get BOOL_VEC4() {
    return 35673;
  },
  /*web_gl.WebGL.BROWSER_DEFAULT_WEBGL*/get BROWSER_DEFAULT_WEBGL() {
    return 37444;
  },
  /*web_gl.WebGL.BUFFER_SIZE*/get BUFFER_SIZE() {
    return 34660;
  },
  /*web_gl.WebGL.BUFFER_USAGE*/get BUFFER_USAGE() {
    return 34661;
  },
  /*web_gl.WebGL.BYTE*/get BYTE() {
    return 5120;
  },
  /*web_gl.WebGL.CCW*/get CCW() {
    return 2305;
  },
  /*web_gl.WebGL.CLAMP_TO_EDGE*/get CLAMP_TO_EDGE() {
    return 33071;
  },
  /*web_gl.WebGL.COLOR*/get COLOR() {
    return 6144;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT0*/get COLOR_ATTACHMENT0() {
    return 36064;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT0_WEBGL*/get COLOR_ATTACHMENT0_WEBGL() {
    return 36064;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT1*/get COLOR_ATTACHMENT1() {
    return 36065;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT10*/get COLOR_ATTACHMENT10() {
    return 36074;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT10_WEBGL*/get COLOR_ATTACHMENT10_WEBGL() {
    return 36074;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT11*/get COLOR_ATTACHMENT11() {
    return 36075;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT11_WEBGL*/get COLOR_ATTACHMENT11_WEBGL() {
    return 36075;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT12*/get COLOR_ATTACHMENT12() {
    return 36076;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT12_WEBGL*/get COLOR_ATTACHMENT12_WEBGL() {
    return 36076;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT13*/get COLOR_ATTACHMENT13() {
    return 36077;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT13_WEBGL*/get COLOR_ATTACHMENT13_WEBGL() {
    return 36077;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT14*/get COLOR_ATTACHMENT14() {
    return 36078;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT14_WEBGL*/get COLOR_ATTACHMENT14_WEBGL() {
    return 36078;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT15*/get COLOR_ATTACHMENT15() {
    return 36079;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT15_WEBGL*/get COLOR_ATTACHMENT15_WEBGL() {
    return 36079;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT1_WEBGL*/get COLOR_ATTACHMENT1_WEBGL() {
    return 36065;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT2*/get COLOR_ATTACHMENT2() {
    return 36066;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT2_WEBGL*/get COLOR_ATTACHMENT2_WEBGL() {
    return 36066;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT3*/get COLOR_ATTACHMENT3() {
    return 36067;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT3_WEBGL*/get COLOR_ATTACHMENT3_WEBGL() {
    return 36067;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT4*/get COLOR_ATTACHMENT4() {
    return 36068;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT4_WEBGL*/get COLOR_ATTACHMENT4_WEBGL() {
    return 36068;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT5*/get COLOR_ATTACHMENT5() {
    return 36069;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT5_WEBGL*/get COLOR_ATTACHMENT5_WEBGL() {
    return 36069;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT6*/get COLOR_ATTACHMENT6() {
    return 36070;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT6_WEBGL*/get COLOR_ATTACHMENT6_WEBGL() {
    return 36070;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT7*/get COLOR_ATTACHMENT7() {
    return 36071;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT7_WEBGL*/get COLOR_ATTACHMENT7_WEBGL() {
    return 36071;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT8*/get COLOR_ATTACHMENT8() {
    return 36072;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT8_WEBGL*/get COLOR_ATTACHMENT8_WEBGL() {
    return 36072;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT9*/get COLOR_ATTACHMENT9() {
    return 36073;
  },
  /*web_gl.WebGL.COLOR_ATTACHMENT9_WEBGL*/get COLOR_ATTACHMENT9_WEBGL() {
    return 36073;
  },
  /*web_gl.WebGL.COLOR_BUFFER_BIT*/get COLOR_BUFFER_BIT() {
    return 16384;
  },
  /*web_gl.WebGL.COLOR_CLEAR_VALUE*/get COLOR_CLEAR_VALUE() {
    return 3106;
  },
  /*web_gl.WebGL.COLOR_WRITEMASK*/get COLOR_WRITEMASK() {
    return 3107;
  },
  /*web_gl.WebGL.COMPARE_REF_TO_TEXTURE*/get COMPARE_REF_TO_TEXTURE() {
    return 34894;
  },
  /*web_gl.WebGL.COMPILE_STATUS*/get COMPILE_STATUS() {
    return 35713;
  },
  /*web_gl.WebGL.COMPRESSED_TEXTURE_FORMATS*/get COMPRESSED_TEXTURE_FORMATS() {
    return 34467;
  },
  /*web_gl.WebGL.CONDITION_SATISFIED*/get CONDITION_SATISFIED() {
    return 37148;
  },
  /*web_gl.WebGL.CONSTANT_ALPHA*/get CONSTANT_ALPHA() {
    return 32771;
  },
  /*web_gl.WebGL.CONSTANT_COLOR*/get CONSTANT_COLOR() {
    return 32769;
  },
  /*web_gl.WebGL.CONTEXT_LOST_WEBGL*/get CONTEXT_LOST_WEBGL() {
    return 37442;
  },
  /*web_gl.WebGL.COPY_READ_BUFFER*/get COPY_READ_BUFFER() {
    return 36662;
  },
  /*web_gl.WebGL.COPY_READ_BUFFER_BINDING*/get COPY_READ_BUFFER_BINDING() {
    return 36662;
  },
  /*web_gl.WebGL.COPY_WRITE_BUFFER*/get COPY_WRITE_BUFFER() {
    return 36663;
  },
  /*web_gl.WebGL.COPY_WRITE_BUFFER_BINDING*/get COPY_WRITE_BUFFER_BINDING() {
    return 36663;
  },
  /*web_gl.WebGL.CULL_FACE*/get CULL_FACE() {
    return 2884;
  },
  /*web_gl.WebGL.CULL_FACE_MODE*/get CULL_FACE_MODE() {
    return 2885;
  },
  /*web_gl.WebGL.CURRENT_PROGRAM*/get CURRENT_PROGRAM() {
    return 35725;
  },
  /*web_gl.WebGL.CURRENT_QUERY*/get CURRENT_QUERY() {
    return 34917;
  },
  /*web_gl.WebGL.CURRENT_VERTEX_ATTRIB*/get CURRENT_VERTEX_ATTRIB() {
    return 34342;
  },
  /*web_gl.WebGL.CW*/get CW() {
    return 2304;
  },
  /*web_gl.WebGL.DECR*/get DECR() {
    return 7683;
  },
  /*web_gl.WebGL.DECR_WRAP*/get DECR_WRAP() {
    return 34056;
  },
  /*web_gl.WebGL.DELETE_STATUS*/get DELETE_STATUS() {
    return 35712;
  },
  /*web_gl.WebGL.DEPTH*/get DEPTH() {
    return 6145;
  },
  /*web_gl.WebGL.DEPTH24_STENCIL8*/get DEPTH24_STENCIL8() {
    return 35056;
  },
  /*web_gl.WebGL.DEPTH32F_STENCIL8*/get DEPTH32F_STENCIL8() {
    return 36013;
  },
  /*web_gl.WebGL.DEPTH_ATTACHMENT*/get DEPTH_ATTACHMENT() {
    return 36096;
  },
  /*web_gl.WebGL.DEPTH_BITS*/get DEPTH_BITS() {
    return 3414;
  },
  /*web_gl.WebGL.DEPTH_BUFFER_BIT*/get DEPTH_BUFFER_BIT() {
    return 256;
  },
  /*web_gl.WebGL.DEPTH_CLEAR_VALUE*/get DEPTH_CLEAR_VALUE() {
    return 2931;
  },
  /*web_gl.WebGL.DEPTH_COMPONENT*/get DEPTH_COMPONENT() {
    return 6402;
  },
  /*web_gl.WebGL.DEPTH_COMPONENT16*/get DEPTH_COMPONENT16() {
    return 33189;
  },
  /*web_gl.WebGL.DEPTH_COMPONENT24*/get DEPTH_COMPONENT24() {
    return 33190;
  },
  /*web_gl.WebGL.DEPTH_COMPONENT32F*/get DEPTH_COMPONENT32F() {
    return 36012;
  },
  /*web_gl.WebGL.DEPTH_FUNC*/get DEPTH_FUNC() {
    return 2932;
  },
  /*web_gl.WebGL.DEPTH_RANGE*/get DEPTH_RANGE() {
    return 2928;
  },
  /*web_gl.WebGL.DEPTH_STENCIL*/get DEPTH_STENCIL() {
    return 34041;
  },
  /*web_gl.WebGL.DEPTH_STENCIL_ATTACHMENT*/get DEPTH_STENCIL_ATTACHMENT() {
    return 33306;
  },
  /*web_gl.WebGL.DEPTH_TEST*/get DEPTH_TEST() {
    return 2929;
  },
  /*web_gl.WebGL.DEPTH_WRITEMASK*/get DEPTH_WRITEMASK() {
    return 2930;
  },
  /*web_gl.WebGL.DITHER*/get DITHER() {
    return 3024;
  },
  /*web_gl.WebGL.DONT_CARE*/get DONT_CARE() {
    return 4352;
  },
  /*web_gl.WebGL.DRAW_BUFFER0*/get DRAW_BUFFER0() {
    return 34853;
  },
  /*web_gl.WebGL.DRAW_BUFFER0_WEBGL*/get DRAW_BUFFER0_WEBGL() {
    return 34853;
  },
  /*web_gl.WebGL.DRAW_BUFFER1*/get DRAW_BUFFER1() {
    return 34854;
  },
  /*web_gl.WebGL.DRAW_BUFFER10*/get DRAW_BUFFER10() {
    return 34863;
  },
  /*web_gl.WebGL.DRAW_BUFFER10_WEBGL*/get DRAW_BUFFER10_WEBGL() {
    return 34863;
  },
  /*web_gl.WebGL.DRAW_BUFFER11*/get DRAW_BUFFER11() {
    return 34864;
  },
  /*web_gl.WebGL.DRAW_BUFFER11_WEBGL*/get DRAW_BUFFER11_WEBGL() {
    return 34864;
  },
  /*web_gl.WebGL.DRAW_BUFFER12*/get DRAW_BUFFER12() {
    return 34865;
  },
  /*web_gl.WebGL.DRAW_BUFFER12_WEBGL*/get DRAW_BUFFER12_WEBGL() {
    return 34865;
  },
  /*web_gl.WebGL.DRAW_BUFFER13*/get DRAW_BUFFER13() {
    return 34866;
  },
  /*web_gl.WebGL.DRAW_BUFFER13_WEBGL*/get DRAW_BUFFER13_WEBGL() {
    return 34866;
  },
  /*web_gl.WebGL.DRAW_BUFFER14*/get DRAW_BUFFER14() {
    return 34867;
  },
  /*web_gl.WebGL.DRAW_BUFFER14_WEBGL*/get DRAW_BUFFER14_WEBGL() {
    return 34867;
  },
  /*web_gl.WebGL.DRAW_BUFFER15*/get DRAW_BUFFER15() {
    return 34868;
  },
  /*web_gl.WebGL.DRAW_BUFFER15_WEBGL*/get DRAW_BUFFER15_WEBGL() {
    return 34868;
  },
  /*web_gl.WebGL.DRAW_BUFFER1_WEBGL*/get DRAW_BUFFER1_WEBGL() {
    return 34854;
  },
  /*web_gl.WebGL.DRAW_BUFFER2*/get DRAW_BUFFER2() {
    return 34855;
  },
  /*web_gl.WebGL.DRAW_BUFFER2_WEBGL*/get DRAW_BUFFER2_WEBGL() {
    return 34855;
  },
  /*web_gl.WebGL.DRAW_BUFFER3*/get DRAW_BUFFER3() {
    return 34856;
  },
  /*web_gl.WebGL.DRAW_BUFFER3_WEBGL*/get DRAW_BUFFER3_WEBGL() {
    return 34856;
  },
  /*web_gl.WebGL.DRAW_BUFFER4*/get DRAW_BUFFER4() {
    return 34857;
  },
  /*web_gl.WebGL.DRAW_BUFFER4_WEBGL*/get DRAW_BUFFER4_WEBGL() {
    return 34857;
  },
  /*web_gl.WebGL.DRAW_BUFFER5*/get DRAW_BUFFER5() {
    return 34858;
  },
  /*web_gl.WebGL.DRAW_BUFFER5_WEBGL*/get DRAW_BUFFER5_WEBGL() {
    return 34858;
  },
  /*web_gl.WebGL.DRAW_BUFFER6*/get DRAW_BUFFER6() {
    return 34859;
  },
  /*web_gl.WebGL.DRAW_BUFFER6_WEBGL*/get DRAW_BUFFER6_WEBGL() {
    return 34859;
  },
  /*web_gl.WebGL.DRAW_BUFFER7*/get DRAW_BUFFER7() {
    return 34860;
  },
  /*web_gl.WebGL.DRAW_BUFFER7_WEBGL*/get DRAW_BUFFER7_WEBGL() {
    return 34860;
  },
  /*web_gl.WebGL.DRAW_BUFFER8*/get DRAW_BUFFER8() {
    return 34861;
  },
  /*web_gl.WebGL.DRAW_BUFFER8_WEBGL*/get DRAW_BUFFER8_WEBGL() {
    return 34861;
  },
  /*web_gl.WebGL.DRAW_BUFFER9*/get DRAW_BUFFER9() {
    return 34862;
  },
  /*web_gl.WebGL.DRAW_BUFFER9_WEBGL*/get DRAW_BUFFER9_WEBGL() {
    return 34862;
  },
  /*web_gl.WebGL.DRAW_FRAMEBUFFER*/get DRAW_FRAMEBUFFER() {
    return 36009;
  },
  /*web_gl.WebGL.DRAW_FRAMEBUFFER_BINDING*/get DRAW_FRAMEBUFFER_BINDING() {
    return 36006;
  },
  /*web_gl.WebGL.DST_ALPHA*/get DST_ALPHA() {
    return 772;
  },
  /*web_gl.WebGL.DST_COLOR*/get DST_COLOR() {
    return 774;
  },
  /*web_gl.WebGL.DYNAMIC_COPY*/get DYNAMIC_COPY() {
    return 35050;
  },
  /*web_gl.WebGL.DYNAMIC_DRAW*/get DYNAMIC_DRAW() {
    return 35048;
  },
  /*web_gl.WebGL.DYNAMIC_READ*/get DYNAMIC_READ() {
    return 35049;
  },
  /*web_gl.WebGL.ELEMENT_ARRAY_BUFFER*/get ELEMENT_ARRAY_BUFFER() {
    return 34963;
  },
  /*web_gl.WebGL.ELEMENT_ARRAY_BUFFER_BINDING*/get ELEMENT_ARRAY_BUFFER_BINDING() {
    return 34965;
  },
  /*web_gl.WebGL.EQUAL*/get EQUAL() {
    return 514;
  },
  /*web_gl.WebGL.FASTEST*/get FASTEST() {
    return 4353;
  },
  /*web_gl.WebGL.FLOAT*/get FLOAT() {
    return 5126;
  },
  /*web_gl.WebGL.FLOAT_32_UNSIGNED_INT_24_8_REV*/get FLOAT_32_UNSIGNED_INT_24_8_REV() {
    return 36269;
  },
  /*web_gl.WebGL.FLOAT_MAT2*/get FLOAT_MAT2() {
    return 35674;
  },
  /*web_gl.WebGL.FLOAT_MAT2x3*/get FLOAT_MAT2x3() {
    return 35685;
  },
  /*web_gl.WebGL.FLOAT_MAT2x4*/get FLOAT_MAT2x4() {
    return 35686;
  },
  /*web_gl.WebGL.FLOAT_MAT3*/get FLOAT_MAT3() {
    return 35675;
  },
  /*web_gl.WebGL.FLOAT_MAT3x2*/get FLOAT_MAT3x2() {
    return 35687;
  },
  /*web_gl.WebGL.FLOAT_MAT3x4*/get FLOAT_MAT3x4() {
    return 35688;
  },
  /*web_gl.WebGL.FLOAT_MAT4*/get FLOAT_MAT4() {
    return 35676;
  },
  /*web_gl.WebGL.FLOAT_MAT4x2*/get FLOAT_MAT4x2() {
    return 35689;
  },
  /*web_gl.WebGL.FLOAT_MAT4x3*/get FLOAT_MAT4x3() {
    return 35690;
  },
  /*web_gl.WebGL.FLOAT_VEC2*/get FLOAT_VEC2() {
    return 35664;
  },
  /*web_gl.WebGL.FLOAT_VEC3*/get FLOAT_VEC3() {
    return 35665;
  },
  /*web_gl.WebGL.FLOAT_VEC4*/get FLOAT_VEC4() {
    return 35666;
  },
  /*web_gl.WebGL.FRAGMENT_SHADER*/get FRAGMENT_SHADER() {
    return 35632;
  },
  /*web_gl.WebGL.FRAGMENT_SHADER_DERIVATIVE_HINT*/get FRAGMENT_SHADER_DERIVATIVE_HINT() {
    return 35723;
  },
  /*web_gl.WebGL.FRAMEBUFFER*/get FRAMEBUFFER() {
    return 36160;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE*/get FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE() {
    return 33301;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE*/get FRAMEBUFFER_ATTACHMENT_BLUE_SIZE() {
    return 33300;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING*/get FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING() {
    return 33296;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE*/get FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE() {
    return 33297;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE*/get FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE() {
    return 33302;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE*/get FRAMEBUFFER_ATTACHMENT_GREEN_SIZE() {
    return 33299;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME*/get FRAMEBUFFER_ATTACHMENT_OBJECT_NAME() {
    return 36049;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE*/get FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE() {
    return 36048;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_RED_SIZE*/get FRAMEBUFFER_ATTACHMENT_RED_SIZE() {
    return 33298;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE*/get FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE() {
    return 33303;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE*/get FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE() {
    return 36051;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER*/get FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER() {
    return 36052;
  },
  /*web_gl.WebGL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL*/get FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL() {
    return 36050;
  },
  /*web_gl.WebGL.FRAMEBUFFER_BINDING*/get FRAMEBUFFER_BINDING() {
    return 36006;
  },
  /*web_gl.WebGL.FRAMEBUFFER_COMPLETE*/get FRAMEBUFFER_COMPLETE() {
    return 36053;
  },
  /*web_gl.WebGL.FRAMEBUFFER_DEFAULT*/get FRAMEBUFFER_DEFAULT() {
    return 33304;
  },
  /*web_gl.WebGL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT*/get FRAMEBUFFER_INCOMPLETE_ATTACHMENT() {
    return 36054;
  },
  /*web_gl.WebGL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS*/get FRAMEBUFFER_INCOMPLETE_DIMENSIONS() {
    return 36057;
  },
  /*web_gl.WebGL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT*/get FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT() {
    return 36055;
  },
  /*web_gl.WebGL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE*/get FRAMEBUFFER_INCOMPLETE_MULTISAMPLE() {
    return 36182;
  },
  /*web_gl.WebGL.FRAMEBUFFER_UNSUPPORTED*/get FRAMEBUFFER_UNSUPPORTED() {
    return 36061;
  },
  /*web_gl.WebGL.FRONT*/get FRONT() {
    return 1028;
  },
  /*web_gl.WebGL.FRONT_AND_BACK*/get FRONT_AND_BACK() {
    return 1032;
  },
  /*web_gl.WebGL.FRONT_FACE*/get FRONT_FACE() {
    return 2886;
  },
  /*web_gl.WebGL.FUNC_ADD*/get FUNC_ADD() {
    return 32774;
  },
  /*web_gl.WebGL.FUNC_REVERSE_SUBTRACT*/get FUNC_REVERSE_SUBTRACT() {
    return 32779;
  },
  /*web_gl.WebGL.FUNC_SUBTRACT*/get FUNC_SUBTRACT() {
    return 32778;
  },
  /*web_gl.WebGL.GENERATE_MIPMAP_HINT*/get GENERATE_MIPMAP_HINT() {
    return 33170;
  },
  /*web_gl.WebGL.GEQUAL*/get GEQUAL() {
    return 518;
  },
  /*web_gl.WebGL.GREATER*/get GREATER() {
    return 516;
  },
  /*web_gl.WebGL.GREEN_BITS*/get GREEN_BITS() {
    return 3411;
  },
  /*web_gl.WebGL.HALF_FLOAT*/get HALF_FLOAT() {
    return 5131;
  },
  /*web_gl.WebGL.HIGH_FLOAT*/get HIGH_FLOAT() {
    return 36338;
  },
  /*web_gl.WebGL.HIGH_INT*/get HIGH_INT() {
    return 36341;
  },
  /*web_gl.WebGL.IMPLEMENTATION_COLOR_READ_FORMAT*/get IMPLEMENTATION_COLOR_READ_FORMAT() {
    return 35739;
  },
  /*web_gl.WebGL.IMPLEMENTATION_COLOR_READ_TYPE*/get IMPLEMENTATION_COLOR_READ_TYPE() {
    return 35738;
  },
  /*web_gl.WebGL.INCR*/get INCR() {
    return 7682;
  },
  /*web_gl.WebGL.INCR_WRAP*/get INCR_WRAP() {
    return 34055;
  },
  /*web_gl.WebGL.INT*/get INT() {
    return 5124;
  },
  /*web_gl.WebGL.INTERLEAVED_ATTRIBS*/get INTERLEAVED_ATTRIBS() {
    return 35980;
  },
  /*web_gl.WebGL.INT_2_10_10_10_REV*/get INT_2_10_10_10_REV() {
    return 36255;
  },
  /*web_gl.WebGL.INT_SAMPLER_2D*/get INT_SAMPLER_2D() {
    return 36298;
  },
  /*web_gl.WebGL.INT_SAMPLER_2D_ARRAY*/get INT_SAMPLER_2D_ARRAY() {
    return 36303;
  },
  /*web_gl.WebGL.INT_SAMPLER_3D*/get INT_SAMPLER_3D() {
    return 36299;
  },
  /*web_gl.WebGL.INT_SAMPLER_CUBE*/get INT_SAMPLER_CUBE() {
    return 36300;
  },
  /*web_gl.WebGL.INT_VEC2*/get INT_VEC2() {
    return 35667;
  },
  /*web_gl.WebGL.INT_VEC3*/get INT_VEC3() {
    return 35668;
  },
  /*web_gl.WebGL.INT_VEC4*/get INT_VEC4() {
    return 35669;
  },
  /*web_gl.WebGL.INVALID_ENUM*/get INVALID_ENUM() {
    return 1280;
  },
  /*web_gl.WebGL.INVALID_FRAMEBUFFER_OPERATION*/get INVALID_FRAMEBUFFER_OPERATION() {
    return 1286;
  },
  /*web_gl.WebGL.INVALID_INDEX*/get INVALID_INDEX() {
    return 4294967295.0;
  },
  /*web_gl.WebGL.INVALID_OPERATION*/get INVALID_OPERATION() {
    return 1282;
  },
  /*web_gl.WebGL.INVALID_VALUE*/get INVALID_VALUE() {
    return 1281;
  },
  /*web_gl.WebGL.INVERT*/get INVERT() {
    return 5386;
  },
  /*web_gl.WebGL.KEEP*/get KEEP() {
    return 7680;
  },
  /*web_gl.WebGL.LEQUAL*/get LEQUAL() {
    return 515;
  },
  /*web_gl.WebGL.LESS*/get LESS() {
    return 513;
  },
  /*web_gl.WebGL.LINEAR*/get LINEAR() {
    return 9729;
  },
  /*web_gl.WebGL.LINEAR_MIPMAP_LINEAR*/get LINEAR_MIPMAP_LINEAR() {
    return 9987;
  },
  /*web_gl.WebGL.LINEAR_MIPMAP_NEAREST*/get LINEAR_MIPMAP_NEAREST() {
    return 9985;
  },
  /*web_gl.WebGL.LINES*/get LINES() {
    return 1;
  },
  /*web_gl.WebGL.LINE_LOOP*/get LINE_LOOP() {
    return 2;
  },
  /*web_gl.WebGL.LINE_STRIP*/get LINE_STRIP() {
    return 3;
  },
  /*web_gl.WebGL.LINE_WIDTH*/get LINE_WIDTH() {
    return 2849;
  },
  /*web_gl.WebGL.LINK_STATUS*/get LINK_STATUS() {
    return 35714;
  },
  /*web_gl.WebGL.LOW_FLOAT*/get LOW_FLOAT() {
    return 36336;
  },
  /*web_gl.WebGL.LOW_INT*/get LOW_INT() {
    return 36339;
  },
  /*web_gl.WebGL.LUMINANCE*/get LUMINANCE() {
    return 6409;
  },
  /*web_gl.WebGL.LUMINANCE_ALPHA*/get LUMINANCE_ALPHA() {
    return 6410;
  },
  /*web_gl.WebGL.MAX*/get MAX() {
    return 32776;
  },
  /*web_gl.WebGL.MAX_3D_TEXTURE_SIZE*/get MAX_3D_TEXTURE_SIZE() {
    return 32883;
  },
  /*web_gl.WebGL.MAX_ARRAY_TEXTURE_LAYERS*/get MAX_ARRAY_TEXTURE_LAYERS() {
    return 35071;
  },
  /*web_gl.WebGL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL*/get MAX_CLIENT_WAIT_TIMEOUT_WEBGL() {
    return 37447;
  },
  /*web_gl.WebGL.MAX_COLOR_ATTACHMENTS*/get MAX_COLOR_ATTACHMENTS() {
    return 36063;
  },
  /*web_gl.WebGL.MAX_COLOR_ATTACHMENTS_WEBGL*/get MAX_COLOR_ATTACHMENTS_WEBGL() {
    return 36063;
  },
  /*web_gl.WebGL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS*/get MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS() {
    return 35379;
  },
  /*web_gl.WebGL.MAX_COMBINED_TEXTURE_IMAGE_UNITS*/get MAX_COMBINED_TEXTURE_IMAGE_UNITS() {
    return 35661;
  },
  /*web_gl.WebGL.MAX_COMBINED_UNIFORM_BLOCKS*/get MAX_COMBINED_UNIFORM_BLOCKS() {
    return 35374;
  },
  /*web_gl.WebGL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS*/get MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS() {
    return 35377;
  },
  /*web_gl.WebGL.MAX_CUBE_MAP_TEXTURE_SIZE*/get MAX_CUBE_MAP_TEXTURE_SIZE() {
    return 34076;
  },
  /*web_gl.WebGL.MAX_DRAW_BUFFERS*/get MAX_DRAW_BUFFERS() {
    return 34852;
  },
  /*web_gl.WebGL.MAX_DRAW_BUFFERS_WEBGL*/get MAX_DRAW_BUFFERS_WEBGL() {
    return 34852;
  },
  /*web_gl.WebGL.MAX_ELEMENTS_INDICES*/get MAX_ELEMENTS_INDICES() {
    return 33001;
  },
  /*web_gl.WebGL.MAX_ELEMENTS_VERTICES*/get MAX_ELEMENTS_VERTICES() {
    return 33000;
  },
  /*web_gl.WebGL.MAX_ELEMENT_INDEX*/get MAX_ELEMENT_INDEX() {
    return 36203;
  },
  /*web_gl.WebGL.MAX_FRAGMENT_INPUT_COMPONENTS*/get MAX_FRAGMENT_INPUT_COMPONENTS() {
    return 37157;
  },
  /*web_gl.WebGL.MAX_FRAGMENT_UNIFORM_BLOCKS*/get MAX_FRAGMENT_UNIFORM_BLOCKS() {
    return 35373;
  },
  /*web_gl.WebGL.MAX_FRAGMENT_UNIFORM_COMPONENTS*/get MAX_FRAGMENT_UNIFORM_COMPONENTS() {
    return 35657;
  },
  /*web_gl.WebGL.MAX_FRAGMENT_UNIFORM_VECTORS*/get MAX_FRAGMENT_UNIFORM_VECTORS() {
    return 36349;
  },
  /*web_gl.WebGL.MAX_PROGRAM_TEXEL_OFFSET*/get MAX_PROGRAM_TEXEL_OFFSET() {
    return 35077;
  },
  /*web_gl.WebGL.MAX_RENDERBUFFER_SIZE*/get MAX_RENDERBUFFER_SIZE() {
    return 34024;
  },
  /*web_gl.WebGL.MAX_SAMPLES*/get MAX_SAMPLES() {
    return 36183;
  },
  /*web_gl.WebGL.MAX_SERVER_WAIT_TIMEOUT*/get MAX_SERVER_WAIT_TIMEOUT() {
    return 37137;
  },
  /*web_gl.WebGL.MAX_TEXTURE_IMAGE_UNITS*/get MAX_TEXTURE_IMAGE_UNITS() {
    return 34930;
  },
  /*web_gl.WebGL.MAX_TEXTURE_LOD_BIAS*/get MAX_TEXTURE_LOD_BIAS() {
    return 34045;
  },
  /*web_gl.WebGL.MAX_TEXTURE_SIZE*/get MAX_TEXTURE_SIZE() {
    return 3379;
  },
  /*web_gl.WebGL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS*/get MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS() {
    return 35978;
  },
  /*web_gl.WebGL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS*/get MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS() {
    return 35979;
  },
  /*web_gl.WebGL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS*/get MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS() {
    return 35968;
  },
  /*web_gl.WebGL.MAX_UNIFORM_BLOCK_SIZE*/get MAX_UNIFORM_BLOCK_SIZE() {
    return 35376;
  },
  /*web_gl.WebGL.MAX_UNIFORM_BUFFER_BINDINGS*/get MAX_UNIFORM_BUFFER_BINDINGS() {
    return 35375;
  },
  /*web_gl.WebGL.MAX_VARYING_COMPONENTS*/get MAX_VARYING_COMPONENTS() {
    return 35659;
  },
  /*web_gl.WebGL.MAX_VARYING_VECTORS*/get MAX_VARYING_VECTORS() {
    return 36348;
  },
  /*web_gl.WebGL.MAX_VERTEX_ATTRIBS*/get MAX_VERTEX_ATTRIBS() {
    return 34921;
  },
  /*web_gl.WebGL.MAX_VERTEX_OUTPUT_COMPONENTS*/get MAX_VERTEX_OUTPUT_COMPONENTS() {
    return 37154;
  },
  /*web_gl.WebGL.MAX_VERTEX_TEXTURE_IMAGE_UNITS*/get MAX_VERTEX_TEXTURE_IMAGE_UNITS() {
    return 35660;
  },
  /*web_gl.WebGL.MAX_VERTEX_UNIFORM_BLOCKS*/get MAX_VERTEX_UNIFORM_BLOCKS() {
    return 35371;
  },
  /*web_gl.WebGL.MAX_VERTEX_UNIFORM_COMPONENTS*/get MAX_VERTEX_UNIFORM_COMPONENTS() {
    return 35658;
  },
  /*web_gl.WebGL.MAX_VERTEX_UNIFORM_VECTORS*/get MAX_VERTEX_UNIFORM_VECTORS() {
    return 36347;
  },
  /*web_gl.WebGL.MAX_VIEWPORT_DIMS*/get MAX_VIEWPORT_DIMS() {
    return 3386;
  },
  /*web_gl.WebGL.MEDIUM_FLOAT*/get MEDIUM_FLOAT() {
    return 36337;
  },
  /*web_gl.WebGL.MEDIUM_INT*/get MEDIUM_INT() {
    return 36340;
  },
  /*web_gl.WebGL.MIN*/get MIN() {
    return 32775;
  },
  /*web_gl.WebGL.MIN_PROGRAM_TEXEL_OFFSET*/get MIN_PROGRAM_TEXEL_OFFSET() {
    return 35076;
  },
  /*web_gl.WebGL.MIRRORED_REPEAT*/get MIRRORED_REPEAT() {
    return 33648;
  },
  /*web_gl.WebGL.NEAREST*/get NEAREST() {
    return 9728;
  },
  /*web_gl.WebGL.NEAREST_MIPMAP_LINEAR*/get NEAREST_MIPMAP_LINEAR() {
    return 9986;
  },
  /*web_gl.WebGL.NEAREST_MIPMAP_NEAREST*/get NEAREST_MIPMAP_NEAREST() {
    return 9984;
  },
  /*web_gl.WebGL.NEVER*/get NEVER() {
    return 512;
  },
  /*web_gl.WebGL.NICEST*/get NICEST() {
    return 4354;
  },
  /*web_gl.WebGL.NONE*/get NONE() {
    return 0;
  },
  /*web_gl.WebGL.NOTEQUAL*/get NOTEQUAL() {
    return 517;
  },
  /*web_gl.WebGL.NO_ERROR*/get NO_ERROR() {
    return 0;
  },
  /*web_gl.WebGL.OBJECT_TYPE*/get OBJECT_TYPE() {
    return 37138;
  },
  /*web_gl.WebGL.ONE*/get ONE() {
    return 1;
  },
  /*web_gl.WebGL.ONE_MINUS_CONSTANT_ALPHA*/get ONE_MINUS_CONSTANT_ALPHA() {
    return 32772;
  },
  /*web_gl.WebGL.ONE_MINUS_CONSTANT_COLOR*/get ONE_MINUS_CONSTANT_COLOR() {
    return 32770;
  },
  /*web_gl.WebGL.ONE_MINUS_DST_ALPHA*/get ONE_MINUS_DST_ALPHA() {
    return 773;
  },
  /*web_gl.WebGL.ONE_MINUS_DST_COLOR*/get ONE_MINUS_DST_COLOR() {
    return 775;
  },
  /*web_gl.WebGL.ONE_MINUS_SRC_ALPHA*/get ONE_MINUS_SRC_ALPHA() {
    return 771;
  },
  /*web_gl.WebGL.ONE_MINUS_SRC_COLOR*/get ONE_MINUS_SRC_COLOR() {
    return 769;
  },
  /*web_gl.WebGL.OUT_OF_MEMORY*/get OUT_OF_MEMORY() {
    return 1285;
  },
  /*web_gl.WebGL.PACK_ALIGNMENT*/get PACK_ALIGNMENT() {
    return 3333;
  },
  /*web_gl.WebGL.PACK_ROW_LENGTH*/get PACK_ROW_LENGTH() {
    return 3330;
  },
  /*web_gl.WebGL.PACK_SKIP_PIXELS*/get PACK_SKIP_PIXELS() {
    return 3332;
  },
  /*web_gl.WebGL.PACK_SKIP_ROWS*/get PACK_SKIP_ROWS() {
    return 3331;
  },
  /*web_gl.WebGL.PIXEL_PACK_BUFFER*/get PIXEL_PACK_BUFFER() {
    return 35051;
  },
  /*web_gl.WebGL.PIXEL_PACK_BUFFER_BINDING*/get PIXEL_PACK_BUFFER_BINDING() {
    return 35053;
  },
  /*web_gl.WebGL.PIXEL_UNPACK_BUFFER*/get PIXEL_UNPACK_BUFFER() {
    return 35052;
  },
  /*web_gl.WebGL.PIXEL_UNPACK_BUFFER_BINDING*/get PIXEL_UNPACK_BUFFER_BINDING() {
    return 35055;
  },
  /*web_gl.WebGL.POINTS*/get POINTS() {
    return 0;
  },
  /*web_gl.WebGL.POLYGON_OFFSET_FACTOR*/get POLYGON_OFFSET_FACTOR() {
    return 32824;
  },
  /*web_gl.WebGL.POLYGON_OFFSET_FILL*/get POLYGON_OFFSET_FILL() {
    return 32823;
  },
  /*web_gl.WebGL.POLYGON_OFFSET_UNITS*/get POLYGON_OFFSET_UNITS() {
    return 10752;
  },
  /*web_gl.WebGL.QUERY_RESULT*/get QUERY_RESULT() {
    return 34918;
  },
  /*web_gl.WebGL.QUERY_RESULT_AVAILABLE*/get QUERY_RESULT_AVAILABLE() {
    return 34919;
  },
  /*web_gl.WebGL.R11F_G11F_B10F*/get R11F_G11F_B10F() {
    return 35898;
  },
  /*web_gl.WebGL.R16F*/get R16F() {
    return 33325;
  },
  /*web_gl.WebGL.R16I*/get R16I() {
    return 33331;
  },
  /*web_gl.WebGL.R16UI*/get R16UI() {
    return 33332;
  },
  /*web_gl.WebGL.R32F*/get R32F() {
    return 33326;
  },
  /*web_gl.WebGL.R32I*/get R32I() {
    return 33333;
  },
  /*web_gl.WebGL.R32UI*/get R32UI() {
    return 33334;
  },
  /*web_gl.WebGL.R8*/get R8() {
    return 33321;
  },
  /*web_gl.WebGL.R8I*/get R8I() {
    return 33329;
  },
  /*web_gl.WebGL.R8UI*/get R8UI() {
    return 33330;
  },
  /*web_gl.WebGL.R8_SNORM*/get R8_SNORM() {
    return 36756;
  },
  /*web_gl.WebGL.RASTERIZER_DISCARD*/get RASTERIZER_DISCARD() {
    return 35977;
  },
  /*web_gl.WebGL.READ_BUFFER*/get READ_BUFFER() {
    return 3074;
  },
  /*web_gl.WebGL.READ_FRAMEBUFFER*/get READ_FRAMEBUFFER() {
    return 36008;
  },
  /*web_gl.WebGL.READ_FRAMEBUFFER_BINDING*/get READ_FRAMEBUFFER_BINDING() {
    return 36010;
  },
  /*web_gl.WebGL.RED*/get RED() {
    return 6403;
  },
  /*web_gl.WebGL.RED_BITS*/get RED_BITS() {
    return 3410;
  },
  /*web_gl.WebGL.RED_INTEGER*/get RED_INTEGER() {
    return 36244;
  },
  /*web_gl.WebGL.RENDERBUFFER*/get RENDERBUFFER() {
    return 36161;
  },
  /*web_gl.WebGL.RENDERBUFFER_ALPHA_SIZE*/get RENDERBUFFER_ALPHA_SIZE() {
    return 36179;
  },
  /*web_gl.WebGL.RENDERBUFFER_BINDING*/get RENDERBUFFER_BINDING() {
    return 36007;
  },
  /*web_gl.WebGL.RENDERBUFFER_BLUE_SIZE*/get RENDERBUFFER_BLUE_SIZE() {
    return 36178;
  },
  /*web_gl.WebGL.RENDERBUFFER_DEPTH_SIZE*/get RENDERBUFFER_DEPTH_SIZE() {
    return 36180;
  },
  /*web_gl.WebGL.RENDERBUFFER_GREEN_SIZE*/get RENDERBUFFER_GREEN_SIZE() {
    return 36177;
  },
  /*web_gl.WebGL.RENDERBUFFER_HEIGHT*/get RENDERBUFFER_HEIGHT() {
    return 36163;
  },
  /*web_gl.WebGL.RENDERBUFFER_INTERNAL_FORMAT*/get RENDERBUFFER_INTERNAL_FORMAT() {
    return 36164;
  },
  /*web_gl.WebGL.RENDERBUFFER_RED_SIZE*/get RENDERBUFFER_RED_SIZE() {
    return 36176;
  },
  /*web_gl.WebGL.RENDERBUFFER_SAMPLES*/get RENDERBUFFER_SAMPLES() {
    return 36011;
  },
  /*web_gl.WebGL.RENDERBUFFER_STENCIL_SIZE*/get RENDERBUFFER_STENCIL_SIZE() {
    return 36181;
  },
  /*web_gl.WebGL.RENDERBUFFER_WIDTH*/get RENDERBUFFER_WIDTH() {
    return 36162;
  },
  /*web_gl.WebGL.RENDERER*/get RENDERER() {
    return 7937;
  },
  /*web_gl.WebGL.REPEAT*/get REPEAT() {
    return 10497;
  },
  /*web_gl.WebGL.REPLACE*/get REPLACE() {
    return 7681;
  },
  /*web_gl.WebGL.RG*/get RG() {
    return 33319;
  },
  /*web_gl.WebGL.RG16F*/get RG16F() {
    return 33327;
  },
  /*web_gl.WebGL.RG16I*/get RG16I() {
    return 33337;
  },
  /*web_gl.WebGL.RG16UI*/get RG16UI() {
    return 33338;
  },
  /*web_gl.WebGL.RG32F*/get RG32F() {
    return 33328;
  },
  /*web_gl.WebGL.RG32I*/get RG32I() {
    return 33339;
  },
  /*web_gl.WebGL.RG32UI*/get RG32UI() {
    return 33340;
  },
  /*web_gl.WebGL.RG8*/get RG8() {
    return 33323;
  },
  /*web_gl.WebGL.RG8I*/get RG8I() {
    return 33335;
  },
  /*web_gl.WebGL.RG8UI*/get RG8UI() {
    return 33336;
  },
  /*web_gl.WebGL.RG8_SNORM*/get RG8_SNORM() {
    return 36757;
  },
  /*web_gl.WebGL.RGB*/get RGB() {
    return 6407;
  },
  /*web_gl.WebGL.RGB10_A2*/get RGB10_A2() {
    return 32857;
  },
  /*web_gl.WebGL.RGB10_A2UI*/get RGB10_A2UI() {
    return 36975;
  },
  /*web_gl.WebGL.RGB16F*/get RGB16F() {
    return 34843;
  },
  /*web_gl.WebGL.RGB16I*/get RGB16I() {
    return 36233;
  },
  /*web_gl.WebGL.RGB16UI*/get RGB16UI() {
    return 36215;
  },
  /*web_gl.WebGL.RGB32F*/get RGB32F() {
    return 34837;
  },
  /*web_gl.WebGL.RGB32I*/get RGB32I() {
    return 36227;
  },
  /*web_gl.WebGL.RGB32UI*/get RGB32UI() {
    return 36209;
  },
  /*web_gl.WebGL.RGB565*/get RGB565() {
    return 36194;
  },
  /*web_gl.WebGL.RGB5_A1*/get RGB5_A1() {
    return 32855;
  },
  /*web_gl.WebGL.RGB8*/get RGB8() {
    return 32849;
  },
  /*web_gl.WebGL.RGB8I*/get RGB8I() {
    return 36239;
  },
  /*web_gl.WebGL.RGB8UI*/get RGB8UI() {
    return 36221;
  },
  /*web_gl.WebGL.RGB8_SNORM*/get RGB8_SNORM() {
    return 36758;
  },
  /*web_gl.WebGL.RGB9_E5*/get RGB9_E5() {
    return 35901;
  },
  /*web_gl.WebGL.RGBA*/get RGBA() {
    return 6408;
  },
  /*web_gl.WebGL.RGBA16F*/get RGBA16F() {
    return 34842;
  },
  /*web_gl.WebGL.RGBA16I*/get RGBA16I() {
    return 36232;
  },
  /*web_gl.WebGL.RGBA16UI*/get RGBA16UI() {
    return 36214;
  },
  /*web_gl.WebGL.RGBA32F*/get RGBA32F() {
    return 34836;
  },
  /*web_gl.WebGL.RGBA32I*/get RGBA32I() {
    return 36226;
  },
  /*web_gl.WebGL.RGBA32UI*/get RGBA32UI() {
    return 36208;
  },
  /*web_gl.WebGL.RGBA4*/get RGBA4() {
    return 32854;
  },
  /*web_gl.WebGL.RGBA8*/get RGBA8() {
    return 32856;
  },
  /*web_gl.WebGL.RGBA8I*/get RGBA8I() {
    return 36238;
  },
  /*web_gl.WebGL.RGBA8UI*/get RGBA8UI() {
    return 36220;
  },
  /*web_gl.WebGL.RGBA8_SNORM*/get RGBA8_SNORM() {
    return 36759;
  },
  /*web_gl.WebGL.RGBA_INTEGER*/get RGBA_INTEGER() {
    return 36249;
  },
  /*web_gl.WebGL.RGB_INTEGER*/get RGB_INTEGER() {
    return 36248;
  },
  /*web_gl.WebGL.RG_INTEGER*/get RG_INTEGER() {
    return 33320;
  },
  /*web_gl.WebGL.SAMPLER_2D*/get SAMPLER_2D() {
    return 35678;
  },
  /*web_gl.WebGL.SAMPLER_2D_ARRAY*/get SAMPLER_2D_ARRAY() {
    return 36289;
  },
  /*web_gl.WebGL.SAMPLER_2D_ARRAY_SHADOW*/get SAMPLER_2D_ARRAY_SHADOW() {
    return 36292;
  },
  /*web_gl.WebGL.SAMPLER_2D_SHADOW*/get SAMPLER_2D_SHADOW() {
    return 35682;
  },
  /*web_gl.WebGL.SAMPLER_3D*/get SAMPLER_3D() {
    return 35679;
  },
  /*web_gl.WebGL.SAMPLER_BINDING*/get SAMPLER_BINDING() {
    return 35097;
  },
  /*web_gl.WebGL.SAMPLER_CUBE*/get SAMPLER_CUBE() {
    return 35680;
  },
  /*web_gl.WebGL.SAMPLER_CUBE_SHADOW*/get SAMPLER_CUBE_SHADOW() {
    return 36293;
  },
  /*web_gl.WebGL.SAMPLES*/get SAMPLES() {
    return 32937;
  },
  /*web_gl.WebGL.SAMPLE_ALPHA_TO_COVERAGE*/get SAMPLE_ALPHA_TO_COVERAGE() {
    return 32926;
  },
  /*web_gl.WebGL.SAMPLE_BUFFERS*/get SAMPLE_BUFFERS() {
    return 32936;
  },
  /*web_gl.WebGL.SAMPLE_COVERAGE*/get SAMPLE_COVERAGE() {
    return 32928;
  },
  /*web_gl.WebGL.SAMPLE_COVERAGE_INVERT*/get SAMPLE_COVERAGE_INVERT() {
    return 32939;
  },
  /*web_gl.WebGL.SAMPLE_COVERAGE_VALUE*/get SAMPLE_COVERAGE_VALUE() {
    return 32938;
  },
  /*web_gl.WebGL.SCISSOR_BOX*/get SCISSOR_BOX() {
    return 3088;
  },
  /*web_gl.WebGL.SCISSOR_TEST*/get SCISSOR_TEST() {
    return 3089;
  },
  /*web_gl.WebGL.SEPARATE_ATTRIBS*/get SEPARATE_ATTRIBS() {
    return 35981;
  },
  /*web_gl.WebGL.SHADER_TYPE*/get SHADER_TYPE() {
    return 35663;
  },
  /*web_gl.WebGL.SHADING_LANGUAGE_VERSION*/get SHADING_LANGUAGE_VERSION() {
    return 35724;
  },
  /*web_gl.WebGL.SHORT*/get SHORT() {
    return 5122;
  },
  /*web_gl.WebGL.SIGNALED*/get SIGNALED() {
    return 37145;
  },
  /*web_gl.WebGL.SIGNED_NORMALIZED*/get SIGNED_NORMALIZED() {
    return 36764;
  },
  /*web_gl.WebGL.SRC_ALPHA*/get SRC_ALPHA() {
    return 770;
  },
  /*web_gl.WebGL.SRC_ALPHA_SATURATE*/get SRC_ALPHA_SATURATE() {
    return 776;
  },
  /*web_gl.WebGL.SRC_COLOR*/get SRC_COLOR() {
    return 768;
  },
  /*web_gl.WebGL.SRGB*/get SRGB() {
    return 35904;
  },
  /*web_gl.WebGL.SRGB8*/get SRGB8() {
    return 35905;
  },
  /*web_gl.WebGL.SRGB8_ALPHA8*/get SRGB8_ALPHA8() {
    return 35907;
  },
  /*web_gl.WebGL.STATIC_COPY*/get STATIC_COPY() {
    return 35046;
  },
  /*web_gl.WebGL.STATIC_DRAW*/get STATIC_DRAW() {
    return 35044;
  },
  /*web_gl.WebGL.STATIC_READ*/get STATIC_READ() {
    return 35045;
  },
  /*web_gl.WebGL.STENCIL*/get STENCIL() {
    return 6146;
  },
  /*web_gl.WebGL.STENCIL_ATTACHMENT*/get STENCIL_ATTACHMENT() {
    return 36128;
  },
  /*web_gl.WebGL.STENCIL_BACK_FAIL*/get STENCIL_BACK_FAIL() {
    return 34817;
  },
  /*web_gl.WebGL.STENCIL_BACK_FUNC*/get STENCIL_BACK_FUNC() {
    return 34816;
  },
  /*web_gl.WebGL.STENCIL_BACK_PASS_DEPTH_FAIL*/get STENCIL_BACK_PASS_DEPTH_FAIL() {
    return 34818;
  },
  /*web_gl.WebGL.STENCIL_BACK_PASS_DEPTH_PASS*/get STENCIL_BACK_PASS_DEPTH_PASS() {
    return 34819;
  },
  /*web_gl.WebGL.STENCIL_BACK_REF*/get STENCIL_BACK_REF() {
    return 36003;
  },
  /*web_gl.WebGL.STENCIL_BACK_VALUE_MASK*/get STENCIL_BACK_VALUE_MASK() {
    return 36004;
  },
  /*web_gl.WebGL.STENCIL_BACK_WRITEMASK*/get STENCIL_BACK_WRITEMASK() {
    return 36005;
  },
  /*web_gl.WebGL.STENCIL_BITS*/get STENCIL_BITS() {
    return 3415;
  },
  /*web_gl.WebGL.STENCIL_BUFFER_BIT*/get STENCIL_BUFFER_BIT() {
    return 1024;
  },
  /*web_gl.WebGL.STENCIL_CLEAR_VALUE*/get STENCIL_CLEAR_VALUE() {
    return 2961;
  },
  /*web_gl.WebGL.STENCIL_FAIL*/get STENCIL_FAIL() {
    return 2964;
  },
  /*web_gl.WebGL.STENCIL_FUNC*/get STENCIL_FUNC() {
    return 2962;
  },
  /*web_gl.WebGL.STENCIL_INDEX8*/get STENCIL_INDEX8() {
    return 36168;
  },
  /*web_gl.WebGL.STENCIL_PASS_DEPTH_FAIL*/get STENCIL_PASS_DEPTH_FAIL() {
    return 2965;
  },
  /*web_gl.WebGL.STENCIL_PASS_DEPTH_PASS*/get STENCIL_PASS_DEPTH_PASS() {
    return 2966;
  },
  /*web_gl.WebGL.STENCIL_REF*/get STENCIL_REF() {
    return 2967;
  },
  /*web_gl.WebGL.STENCIL_TEST*/get STENCIL_TEST() {
    return 2960;
  },
  /*web_gl.WebGL.STENCIL_VALUE_MASK*/get STENCIL_VALUE_MASK() {
    return 2963;
  },
  /*web_gl.WebGL.STENCIL_WRITEMASK*/get STENCIL_WRITEMASK() {
    return 2968;
  },
  /*web_gl.WebGL.STREAM_COPY*/get STREAM_COPY() {
    return 35042;
  },
  /*web_gl.WebGL.STREAM_DRAW*/get STREAM_DRAW() {
    return 35040;
  },
  /*web_gl.WebGL.STREAM_READ*/get STREAM_READ() {
    return 35041;
  },
  /*web_gl.WebGL.SUBPIXEL_BITS*/get SUBPIXEL_BITS() {
    return 3408;
  },
  /*web_gl.WebGL.SYNC_CONDITION*/get SYNC_CONDITION() {
    return 37139;
  },
  /*web_gl.WebGL.SYNC_FENCE*/get SYNC_FENCE() {
    return 37142;
  },
  /*web_gl.WebGL.SYNC_FLAGS*/get SYNC_FLAGS() {
    return 37141;
  },
  /*web_gl.WebGL.SYNC_FLUSH_COMMANDS_BIT*/get SYNC_FLUSH_COMMANDS_BIT() {
    return 1;
  },
  /*web_gl.WebGL.SYNC_GPU_COMMANDS_COMPLETE*/get SYNC_GPU_COMMANDS_COMPLETE() {
    return 37143;
  },
  /*web_gl.WebGL.SYNC_STATUS*/get SYNC_STATUS() {
    return 37140;
  },
  /*web_gl.WebGL.TEXTURE*/get TEXTURE() {
    return 5890;
  },
  /*web_gl.WebGL.TEXTURE0*/get TEXTURE0() {
    return 33984;
  },
  /*web_gl.WebGL.TEXTURE1*/get TEXTURE1() {
    return 33985;
  },
  /*web_gl.WebGL.TEXTURE10*/get TEXTURE10() {
    return 33994;
  },
  /*web_gl.WebGL.TEXTURE11*/get TEXTURE11() {
    return 33995;
  },
  /*web_gl.WebGL.TEXTURE12*/get TEXTURE12() {
    return 33996;
  },
  /*web_gl.WebGL.TEXTURE13*/get TEXTURE13() {
    return 33997;
  },
  /*web_gl.WebGL.TEXTURE14*/get TEXTURE14() {
    return 33998;
  },
  /*web_gl.WebGL.TEXTURE15*/get TEXTURE15() {
    return 33999;
  },
  /*web_gl.WebGL.TEXTURE16*/get TEXTURE16() {
    return 34000;
  },
  /*web_gl.WebGL.TEXTURE17*/get TEXTURE17() {
    return 34001;
  },
  /*web_gl.WebGL.TEXTURE18*/get TEXTURE18() {
    return 34002;
  },
  /*web_gl.WebGL.TEXTURE19*/get TEXTURE19() {
    return 34003;
  },
  /*web_gl.WebGL.TEXTURE2*/get TEXTURE2() {
    return 33986;
  },
  /*web_gl.WebGL.TEXTURE20*/get TEXTURE20() {
    return 34004;
  },
  /*web_gl.WebGL.TEXTURE21*/get TEXTURE21() {
    return 34005;
  },
  /*web_gl.WebGL.TEXTURE22*/get TEXTURE22() {
    return 34006;
  },
  /*web_gl.WebGL.TEXTURE23*/get TEXTURE23() {
    return 34007;
  },
  /*web_gl.WebGL.TEXTURE24*/get TEXTURE24() {
    return 34008;
  },
  /*web_gl.WebGL.TEXTURE25*/get TEXTURE25() {
    return 34009;
  },
  /*web_gl.WebGL.TEXTURE26*/get TEXTURE26() {
    return 34010;
  },
  /*web_gl.WebGL.TEXTURE27*/get TEXTURE27() {
    return 34011;
  },
  /*web_gl.WebGL.TEXTURE28*/get TEXTURE28() {
    return 34012;
  },
  /*web_gl.WebGL.TEXTURE29*/get TEXTURE29() {
    return 34013;
  },
  /*web_gl.WebGL.TEXTURE3*/get TEXTURE3() {
    return 33987;
  },
  /*web_gl.WebGL.TEXTURE30*/get TEXTURE30() {
    return 34014;
  },
  /*web_gl.WebGL.TEXTURE31*/get TEXTURE31() {
    return 34015;
  },
  /*web_gl.WebGL.TEXTURE4*/get TEXTURE4() {
    return 33988;
  },
  /*web_gl.WebGL.TEXTURE5*/get TEXTURE5() {
    return 33989;
  },
  /*web_gl.WebGL.TEXTURE6*/get TEXTURE6() {
    return 33990;
  },
  /*web_gl.WebGL.TEXTURE7*/get TEXTURE7() {
    return 33991;
  },
  /*web_gl.WebGL.TEXTURE8*/get TEXTURE8() {
    return 33992;
  },
  /*web_gl.WebGL.TEXTURE9*/get TEXTURE9() {
    return 33993;
  },
  /*web_gl.WebGL.TEXTURE_2D*/get TEXTURE_2D() {
    return 3553;
  },
  /*web_gl.WebGL.TEXTURE_2D_ARRAY*/get TEXTURE_2D_ARRAY() {
    return 35866;
  },
  /*web_gl.WebGL.TEXTURE_3D*/get TEXTURE_3D() {
    return 32879;
  },
  /*web_gl.WebGL.TEXTURE_BASE_LEVEL*/get TEXTURE_BASE_LEVEL() {
    return 33084;
  },
  /*web_gl.WebGL.TEXTURE_BINDING_2D*/get TEXTURE_BINDING_2D() {
    return 32873;
  },
  /*web_gl.WebGL.TEXTURE_BINDING_2D_ARRAY*/get TEXTURE_BINDING_2D_ARRAY() {
    return 35869;
  },
  /*web_gl.WebGL.TEXTURE_BINDING_3D*/get TEXTURE_BINDING_3D() {
    return 32874;
  },
  /*web_gl.WebGL.TEXTURE_BINDING_CUBE_MAP*/get TEXTURE_BINDING_CUBE_MAP() {
    return 34068;
  },
  /*web_gl.WebGL.TEXTURE_COMPARE_FUNC*/get TEXTURE_COMPARE_FUNC() {
    return 34893;
  },
  /*web_gl.WebGL.TEXTURE_COMPARE_MODE*/get TEXTURE_COMPARE_MODE() {
    return 34892;
  },
  /*web_gl.WebGL.TEXTURE_CUBE_MAP*/get TEXTURE_CUBE_MAP() {
    return 34067;
  },
  /*web_gl.WebGL.TEXTURE_CUBE_MAP_NEGATIVE_X*/get TEXTURE_CUBE_MAP_NEGATIVE_X() {
    return 34070;
  },
  /*web_gl.WebGL.TEXTURE_CUBE_MAP_NEGATIVE_Y*/get TEXTURE_CUBE_MAP_NEGATIVE_Y() {
    return 34072;
  },
  /*web_gl.WebGL.TEXTURE_CUBE_MAP_NEGATIVE_Z*/get TEXTURE_CUBE_MAP_NEGATIVE_Z() {
    return 34074;
  },
  /*web_gl.WebGL.TEXTURE_CUBE_MAP_POSITIVE_X*/get TEXTURE_CUBE_MAP_POSITIVE_X() {
    return 34069;
  },
  /*web_gl.WebGL.TEXTURE_CUBE_MAP_POSITIVE_Y*/get TEXTURE_CUBE_MAP_POSITIVE_Y() {
    return 34071;
  },
  /*web_gl.WebGL.TEXTURE_CUBE_MAP_POSITIVE_Z*/get TEXTURE_CUBE_MAP_POSITIVE_Z() {
    return 34073;
  },
  /*web_gl.WebGL.TEXTURE_IMMUTABLE_FORMAT*/get TEXTURE_IMMUTABLE_FORMAT() {
    return 37167;
  },
  /*web_gl.WebGL.TEXTURE_IMMUTABLE_LEVELS*/get TEXTURE_IMMUTABLE_LEVELS() {
    return 33503;
  },
  /*web_gl.WebGL.TEXTURE_MAG_FILTER*/get TEXTURE_MAG_FILTER() {
    return 10240;
  },
  /*web_gl.WebGL.TEXTURE_MAX_LEVEL*/get TEXTURE_MAX_LEVEL() {
    return 33085;
  },
  /*web_gl.WebGL.TEXTURE_MAX_LOD*/get TEXTURE_MAX_LOD() {
    return 33083;
  },
  /*web_gl.WebGL.TEXTURE_MIN_FILTER*/get TEXTURE_MIN_FILTER() {
    return 10241;
  },
  /*web_gl.WebGL.TEXTURE_MIN_LOD*/get TEXTURE_MIN_LOD() {
    return 33082;
  },
  /*web_gl.WebGL.TEXTURE_WRAP_R*/get TEXTURE_WRAP_R() {
    return 32882;
  },
  /*web_gl.WebGL.TEXTURE_WRAP_S*/get TEXTURE_WRAP_S() {
    return 10242;
  },
  /*web_gl.WebGL.TEXTURE_WRAP_T*/get TEXTURE_WRAP_T() {
    return 10243;
  },
  /*web_gl.WebGL.TIMEOUT_EXPIRED*/get TIMEOUT_EXPIRED() {
    return 37147;
  },
  /*web_gl.WebGL.TIMEOUT_IGNORED*/get TIMEOUT_IGNORED() {
    return -1;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK*/get TRANSFORM_FEEDBACK() {
    return 36386;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_ACTIVE*/get TRANSFORM_FEEDBACK_ACTIVE() {
    return 36388;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_BINDING*/get TRANSFORM_FEEDBACK_BINDING() {
    return 36389;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_BUFFER*/get TRANSFORM_FEEDBACK_BUFFER() {
    return 35982;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_BUFFER_BINDING*/get TRANSFORM_FEEDBACK_BUFFER_BINDING() {
    return 35983;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_BUFFER_MODE*/get TRANSFORM_FEEDBACK_BUFFER_MODE() {
    return 35967;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_BUFFER_SIZE*/get TRANSFORM_FEEDBACK_BUFFER_SIZE() {
    return 35973;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_BUFFER_START*/get TRANSFORM_FEEDBACK_BUFFER_START() {
    return 35972;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_PAUSED*/get TRANSFORM_FEEDBACK_PAUSED() {
    return 36387;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN*/get TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN() {
    return 35976;
  },
  /*web_gl.WebGL.TRANSFORM_FEEDBACK_VARYINGS*/get TRANSFORM_FEEDBACK_VARYINGS() {
    return 35971;
  },
  /*web_gl.WebGL.TRIANGLES*/get TRIANGLES() {
    return 4;
  },
  /*web_gl.WebGL.TRIANGLE_FAN*/get TRIANGLE_FAN() {
    return 6;
  },
  /*web_gl.WebGL.TRIANGLE_STRIP*/get TRIANGLE_STRIP() {
    return 5;
  },
  /*web_gl.WebGL.UNIFORM_ARRAY_STRIDE*/get UNIFORM_ARRAY_STRIDE() {
    return 35388;
  },
  /*web_gl.WebGL.UNIFORM_BLOCK_ACTIVE_UNIFORMS*/get UNIFORM_BLOCK_ACTIVE_UNIFORMS() {
    return 35394;
  },
  /*web_gl.WebGL.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES*/get UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES() {
    return 35395;
  },
  /*web_gl.WebGL.UNIFORM_BLOCK_BINDING*/get UNIFORM_BLOCK_BINDING() {
    return 35391;
  },
  /*web_gl.WebGL.UNIFORM_BLOCK_DATA_SIZE*/get UNIFORM_BLOCK_DATA_SIZE() {
    return 35392;
  },
  /*web_gl.WebGL.UNIFORM_BLOCK_INDEX*/get UNIFORM_BLOCK_INDEX() {
    return 35386;
  },
  /*web_gl.WebGL.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER*/get UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER() {
    return 35398;
  },
  /*web_gl.WebGL.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER*/get UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER() {
    return 35396;
  },
  /*web_gl.WebGL.UNIFORM_BUFFER*/get UNIFORM_BUFFER() {
    return 35345;
  },
  /*web_gl.WebGL.UNIFORM_BUFFER_BINDING*/get UNIFORM_BUFFER_BINDING() {
    return 35368;
  },
  /*web_gl.WebGL.UNIFORM_BUFFER_OFFSET_ALIGNMENT*/get UNIFORM_BUFFER_OFFSET_ALIGNMENT() {
    return 35380;
  },
  /*web_gl.WebGL.UNIFORM_BUFFER_SIZE*/get UNIFORM_BUFFER_SIZE() {
    return 35370;
  },
  /*web_gl.WebGL.UNIFORM_BUFFER_START*/get UNIFORM_BUFFER_START() {
    return 35369;
  },
  /*web_gl.WebGL.UNIFORM_IS_ROW_MAJOR*/get UNIFORM_IS_ROW_MAJOR() {
    return 35390;
  },
  /*web_gl.WebGL.UNIFORM_MATRIX_STRIDE*/get UNIFORM_MATRIX_STRIDE() {
    return 35389;
  },
  /*web_gl.WebGL.UNIFORM_OFFSET*/get UNIFORM_OFFSET() {
    return 35387;
  },
  /*web_gl.WebGL.UNIFORM_SIZE*/get UNIFORM_SIZE() {
    return 35384;
  },
  /*web_gl.WebGL.UNIFORM_TYPE*/get UNIFORM_TYPE() {
    return 35383;
  },
  /*web_gl.WebGL.UNPACK_ALIGNMENT*/get UNPACK_ALIGNMENT() {
    return 3317;
  },
  /*web_gl.WebGL.UNPACK_COLORSPACE_CONVERSION_WEBGL*/get UNPACK_COLORSPACE_CONVERSION_WEBGL() {
    return 37443;
  },
  /*web_gl.WebGL.UNPACK_FLIP_Y_WEBGL*/get UNPACK_FLIP_Y_WEBGL() {
    return 37440;
  },
  /*web_gl.WebGL.UNPACK_IMAGE_HEIGHT*/get UNPACK_IMAGE_HEIGHT() {
    return 32878;
  },
  /*web_gl.WebGL.UNPACK_PREMULTIPLY_ALPHA_WEBGL*/get UNPACK_PREMULTIPLY_ALPHA_WEBGL() {
    return 37441;
  },
  /*web_gl.WebGL.UNPACK_ROW_LENGTH*/get UNPACK_ROW_LENGTH() {
    return 3314;
  },
  /*web_gl.WebGL.UNPACK_SKIP_IMAGES*/get UNPACK_SKIP_IMAGES() {
    return 32877;
  },
  /*web_gl.WebGL.UNPACK_SKIP_PIXELS*/get UNPACK_SKIP_PIXELS() {
    return 3316;
  },
  /*web_gl.WebGL.UNPACK_SKIP_ROWS*/get UNPACK_SKIP_ROWS() {
    return 3315;
  },
  /*web_gl.WebGL.UNSIGNALED*/get UNSIGNALED() {
    return 37144;
  },
  /*web_gl.WebGL.UNSIGNED_BYTE*/get UNSIGNED_BYTE() {
    return 5121;
  },
  /*web_gl.WebGL.UNSIGNED_INT*/get UNSIGNED_INT() {
    return 5125;
  },
  /*web_gl.WebGL.UNSIGNED_INT_10F_11F_11F_REV*/get UNSIGNED_INT_10F_11F_11F_REV() {
    return 35899;
  },
  /*web_gl.WebGL.UNSIGNED_INT_24_8*/get UNSIGNED_INT_24_8() {
    return 34042;
  },
  /*web_gl.WebGL.UNSIGNED_INT_2_10_10_10_REV*/get UNSIGNED_INT_2_10_10_10_REV() {
    return 33640;
  },
  /*web_gl.WebGL.UNSIGNED_INT_5_9_9_9_REV*/get UNSIGNED_INT_5_9_9_9_REV() {
    return 35902;
  },
  /*web_gl.WebGL.UNSIGNED_INT_SAMPLER_2D*/get UNSIGNED_INT_SAMPLER_2D() {
    return 36306;
  },
  /*web_gl.WebGL.UNSIGNED_INT_SAMPLER_2D_ARRAY*/get UNSIGNED_INT_SAMPLER_2D_ARRAY() {
    return 36311;
  },
  /*web_gl.WebGL.UNSIGNED_INT_SAMPLER_3D*/get UNSIGNED_INT_SAMPLER_3D() {
    return 36307;
  },
  /*web_gl.WebGL.UNSIGNED_INT_SAMPLER_CUBE*/get UNSIGNED_INT_SAMPLER_CUBE() {
    return 36308;
  },
  /*web_gl.WebGL.UNSIGNED_INT_VEC2*/get UNSIGNED_INT_VEC2() {
    return 36294;
  },
  /*web_gl.WebGL.UNSIGNED_INT_VEC3*/get UNSIGNED_INT_VEC3() {
    return 36295;
  },
  /*web_gl.WebGL.UNSIGNED_INT_VEC4*/get UNSIGNED_INT_VEC4() {
    return 36296;
  },
  /*web_gl.WebGL.UNSIGNED_NORMALIZED*/get UNSIGNED_NORMALIZED() {
    return 35863;
  },
  /*web_gl.WebGL.UNSIGNED_SHORT*/get UNSIGNED_SHORT() {
    return 5123;
  },
  /*web_gl.WebGL.UNSIGNED_SHORT_4_4_4_4*/get UNSIGNED_SHORT_4_4_4_4() {
    return 32819;
  },
  /*web_gl.WebGL.UNSIGNED_SHORT_5_5_5_1*/get UNSIGNED_SHORT_5_5_5_1() {
    return 32820;
  },
  /*web_gl.WebGL.UNSIGNED_SHORT_5_6_5*/get UNSIGNED_SHORT_5_6_5() {
    return 33635;
  },
  /*web_gl.WebGL.VALIDATE_STATUS*/get VALIDATE_STATUS() {
    return 35715;
  },
  /*web_gl.WebGL.VENDOR*/get VENDOR() {
    return 7936;
  },
  /*web_gl.WebGL.VERSION*/get VERSION() {
    return 7938;
  },
  /*web_gl.WebGL.VERTEX_ARRAY_BINDING*/get VERTEX_ARRAY_BINDING() {
    return 34229;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/get VERTEX_ATTRIB_ARRAY_BUFFER_BINDING() {
    return 34975;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_DIVISOR*/get VERTEX_ATTRIB_ARRAY_DIVISOR() {
    return 35070;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_ENABLED*/get VERTEX_ATTRIB_ARRAY_ENABLED() {
    return 34338;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_INTEGER*/get VERTEX_ATTRIB_ARRAY_INTEGER() {
    return 35069;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_NORMALIZED*/get VERTEX_ATTRIB_ARRAY_NORMALIZED() {
    return 34922;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_POINTER*/get VERTEX_ATTRIB_ARRAY_POINTER() {
    return 34373;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_SIZE*/get VERTEX_ATTRIB_ARRAY_SIZE() {
    return 34339;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_STRIDE*/get VERTEX_ATTRIB_ARRAY_STRIDE() {
    return 34340;
  },
  /*web_gl.WebGL.VERTEX_ATTRIB_ARRAY_TYPE*/get VERTEX_ATTRIB_ARRAY_TYPE() {
    return 34341;
  },
  /*web_gl.WebGL.VERTEX_SHADER*/get VERTEX_SHADER() {
    return 35633;
  },
  /*web_gl.WebGL.VIEWPORT*/get VIEWPORT() {
    return 2978;
  },
  /*web_gl.WebGL.WAIT_FAILED*/get WAIT_FAILED() {
    return 37149;
  },
  /*web_gl.WebGL.ZERO*/get ZERO() {
    return 0;
  }
}, false);
dart.registerExtension("WebGL", web_gl.WebGL);
web_gl._WebGL2RenderingContextBase = class _WebGL2RenderingContextBase extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl._WebGL2RenderingContextBase);
dart.addTypeCaches(web_gl._WebGL2RenderingContextBase);
web_gl._WebGL2RenderingContextBase[dart.implements] = () => [web_gl._WebGLRenderingContextBase];
dart.setLibraryUri(web_gl._WebGL2RenderingContextBase, I[160]);
dart.registerExtension("WebGL2RenderingContextBase", web_gl._WebGL2RenderingContextBase);
web_gl._WebGLRenderingContextBase = class _WebGLRenderingContextBase extends _interceptors.Interceptor {};
dart.addTypeTests(web_gl._WebGLRenderingContextBase);
dart.addTypeCaches(web_gl._WebGLRenderingContextBase);
dart.setLibraryUri(web_gl._WebGLRenderingContextBase, I[160]);
web_sql.SqlDatabase = class SqlDatabase extends _interceptors.Interceptor {
  static get supported() {
    return !!window.openDatabase;
  }
  get [S.$version]() {
    return this.version;
  }
  [S$4._changeVersion](...args) {
    return this.changeVersion.apply(this, args);
  }
  [S$4.$changeVersion](oldVersion, newVersion) {
    if (oldVersion == null) dart.nullFailed(I[162], 121, 47, "oldVersion");
    if (newVersion == null) dart.nullFailed(I[162], 121, 66, "newVersion");
    let completer = T$0.CompleterOfSqlTransaction().new();
    this[S$4._changeVersion](oldVersion, newVersion, dart.fn(value => {
      if (value == null) dart.nullFailed(I[162], 123, 45, "value");
      completer.complete(value);
    }, T$0.SqlTransactionTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[162], 125, 9, "error");
      completer.completeError(error);
    }, T$0.SqlErrorTovoid()));
    return completer.future;
  }
  [S$4._readTransaction](...args) {
    return this.readTransaction.apply(this, args);
  }
  [S$4.$readTransaction]() {
    let completer = T$0.CompleterOfSqlTransaction().new();
    this[S$4._readTransaction](dart.fn(value => {
      if (value == null) dart.nullFailed(I[162], 139, 23, "value");
      completer.complete(value);
    }, T$0.SqlTransactionTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[162], 141, 9, "error");
      completer.completeError(error);
    }, T$0.SqlErrorTovoid()));
    return completer.future;
  }
  [S.$transaction](...args) {
    return this.transaction.apply(this, args);
  }
  [S$4.$transaction_future]() {
    let completer = T$0.CompleterOfSqlTransaction().new();
    this.transaction(dart.fn(value => {
      if (value == null) dart.nullFailed(I[162], 154, 18, "value");
      _js_helper.applyExtension("SQLTransaction", value);
      completer.complete(value);
    }, T$0.SqlTransactionTovoid()), dart.fn(error => {
      if (error == null) dart.nullFailed(I[162], 157, 9, "error");
      completer.completeError(error);
    }, T$0.SqlErrorTovoid()));
    return completer.future;
  }
};
dart.addTypeTests(web_sql.SqlDatabase);
dart.addTypeCaches(web_sql.SqlDatabase);
dart.setMethodSignature(web_sql.SqlDatabase, () => ({
  __proto__: dart.getMethods(web_sql.SqlDatabase.__proto__),
  [S$4._changeVersion]: dart.fnType(dart.void, [core.String, core.String], [dart.nullable(dart.fnType(dart.void, [web_sql.SqlTransaction])), dart.nullable(dart.fnType(dart.void, [web_sql.SqlError])), dart.nullable(dart.fnType(dart.void, []))]),
  [S$4.$changeVersion]: dart.fnType(async.Future$(web_sql.SqlTransaction), [core.String, core.String]),
  [S$4._readTransaction]: dart.fnType(dart.void, [dart.fnType(dart.void, [web_sql.SqlTransaction])], [dart.nullable(dart.fnType(dart.void, [web_sql.SqlError])), dart.nullable(dart.fnType(dart.void, []))]),
  [S$4.$readTransaction]: dart.fnType(async.Future$(web_sql.SqlTransaction), []),
  [S.$transaction]: dart.fnType(dart.void, [dart.fnType(dart.void, [web_sql.SqlTransaction])], [dart.nullable(dart.fnType(dart.void, [web_sql.SqlError])), dart.nullable(dart.fnType(dart.void, []))]),
  [S$4.$transaction_future]: dart.fnType(async.Future$(web_sql.SqlTransaction), [])
}));
dart.setGetterSignature(web_sql.SqlDatabase, () => ({
  __proto__: dart.getGetters(web_sql.SqlDatabase.__proto__),
  [S.$version]: dart.nullable(core.String)
}));
dart.setLibraryUri(web_sql.SqlDatabase, I[163]);
dart.registerExtension("Database", web_sql.SqlDatabase);
web_sql.SqlError = class SqlError extends _interceptors.Interceptor {
  get [S$.$code]() {
    return this.code;
  }
  get [$message]() {
    return this.message;
  }
};
dart.addTypeTests(web_sql.SqlError);
dart.addTypeCaches(web_sql.SqlError);
dart.setGetterSignature(web_sql.SqlError, () => ({
  __proto__: dart.getGetters(web_sql.SqlError.__proto__),
  [S$.$code]: dart.nullable(core.int),
  [$message]: dart.nullable(core.String)
}));
dart.setLibraryUri(web_sql.SqlError, I[163]);
dart.defineLazy(web_sql.SqlError, {
  /*web_sql.SqlError.CONSTRAINT_ERR*/get CONSTRAINT_ERR() {
    return 6;
  },
  /*web_sql.SqlError.DATABASE_ERR*/get DATABASE_ERR() {
    return 1;
  },
  /*web_sql.SqlError.QUOTA_ERR*/get QUOTA_ERR() {
    return 4;
  },
  /*web_sql.SqlError.SYNTAX_ERR*/get SYNTAX_ERR() {
    return 5;
  },
  /*web_sql.SqlError.TIMEOUT_ERR*/get TIMEOUT_ERR() {
    return 7;
  },
  /*web_sql.SqlError.TOO_LARGE_ERR*/get TOO_LARGE_ERR() {
    return 3;
  },
  /*web_sql.SqlError.UNKNOWN_ERR*/get UNKNOWN_ERR() {
    return 0;
  },
  /*web_sql.SqlError.VERSION_ERR*/get VERSION_ERR() {
    return 2;
  }
}, false);
dart.registerExtension("SQLError", web_sql.SqlError);
web_sql.SqlResultSet = class SqlResultSet extends _interceptors.Interceptor {
  get [S$4.$insertId]() {
    return this.insertId;
  }
  get [S$2.$rows]() {
    return this.rows;
  }
  get [S$4.$rowsAffected]() {
    return this.rowsAffected;
  }
};
dart.addTypeTests(web_sql.SqlResultSet);
dart.addTypeCaches(web_sql.SqlResultSet);
dart.setGetterSignature(web_sql.SqlResultSet, () => ({
  __proto__: dart.getGetters(web_sql.SqlResultSet.__proto__),
  [S$4.$insertId]: dart.nullable(core.int),
  [S$2.$rows]: dart.nullable(web_sql.SqlResultSetRowList),
  [S$4.$rowsAffected]: dart.nullable(core.int)
}));
dart.setLibraryUri(web_sql.SqlResultSet, I[163]);
dart.registerExtension("SQLResultSet", web_sql.SqlResultSet);
core.Map$ = dart.generic((K, V) => {
  class Map extends core.Object {
    static unmodifiable(other) {
      if (other == null) dart.nullFailed(I[7], 561, 50, "other");
      return new (collection.UnmodifiableMapView$(K, V)).new(collection.LinkedHashMap$(K, V).from(other));
    }
    static castFrom(K, V, K2, V2, source) {
      if (source == null) dart.nullFailed(I[164], 171, 55, "source");
      return new (_internal.CastMap$(K, V, K2, V2)).new(source);
    }
    static fromEntries(entries) {
      let t247;
      if (entries == null) dart.nullFailed(I[164], 186, 52, "entries");
      t247 = new (_js_helper.LinkedMap$(K, V)).new();
      return (() => {
        t247[$addEntries](entries);
        return t247;
      })();
    }
  }
  (Map[dart.mixinNew] = function() {
  }).prototype = Map.prototype;
  dart.addTypeTests(Map);
  Map.prototype[dart.isMap] = true;
  dart.addTypeCaches(Map);
  dart.setLibraryUri(Map, I[9]);
  return Map;
});
core.Map = core.Map$();
dart.addTypeTests(core.Map, dart.isMap);
const Interceptor_ListMixin$36$17 = class Interceptor_ListMixin extends _interceptors.Interceptor {};
(Interceptor_ListMixin$36$17.new = function() {
  Interceptor_ListMixin$36$17.__proto__.new.call(this);
}).prototype = Interceptor_ListMixin$36$17.prototype;
dart.applyMixin(Interceptor_ListMixin$36$17, collection.ListMixin$(core.Map));
const Interceptor_ImmutableListMixin$36$17 = class Interceptor_ImmutableListMixin extends Interceptor_ListMixin$36$17 {};
(Interceptor_ImmutableListMixin$36$17.new = function() {
  Interceptor_ImmutableListMixin$36$17.__proto__.new.call(this);
}).prototype = Interceptor_ImmutableListMixin$36$17.prototype;
dart.applyMixin(Interceptor_ImmutableListMixin$36$17, html$.ImmutableListMixin$(core.Map));
web_sql.SqlResultSetRowList = class SqlResultSetRowList extends Interceptor_ImmutableListMixin$36$17 {
  get [$length]() {
    return this.length;
  }
  [$_get](index) {
    if (index == null) dart.nullFailed(I[162], 226, 23, "index");
    if (index >>> 0 !== index || index >= this[$length]) dart.throw(new core.IndexError.new(index, this));
    return dart.nullCheck(this[S$.$item](index));
  }
  [$_set](index, value$) {
    let value = value$;
    if (index == null) dart.nullFailed(I[162], 232, 25, "index");
    core.Map.as(value);
    if (value == null) dart.nullFailed(I[162], 232, 36, "value");
    dart.throw(new core.UnsupportedError.new("Cannot assign element of immutable List."));
    return value$;
  }
  set [$length](value) {
    if (value == null) dart.nullFailed(I[162], 238, 18, "value");
    dart.throw(new core.UnsupportedError.new("Cannot resize immutable List."));
  }
  get [$first]() {
    if (dart.notNull(this[$length]) > 0) {
      return this[0];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$first](value) {
    super[$first] = value;
  }
  get [$last]() {
    let len = this[$length];
    if (dart.notNull(len) > 0) {
      return this[dart.notNull(len) - 1];
    }
    dart.throw(new core.StateError.new("No elements"));
  }
  set [$last](value) {
    super[$last] = value;
  }
  get [$single]() {
    let len = this[$length];
    if (len === 1) {
      return this[0];
    }
    if (len === 0) dart.throw(new core.StateError.new("No elements"));
    dart.throw(new core.StateError.new("More than one element"));
  }
  [$elementAt](index) {
    if (index == null) dart.nullFailed(I[162], 266, 21, "index");
    return this[$_get](index);
  }
  [S$.$item](index) {
    if (index == null) dart.nullFailed(I[162], 269, 17, "index");
    return html_common.convertNativeToDart_Dictionary(this[S$4._item_1](index));
  }
  [S$4._item_1](...args) {
    return this.item.apply(this, args);
  }
};
web_sql.SqlResultSetRowList.prototype[dart.isList] = true;
dart.addTypeTests(web_sql.SqlResultSetRowList);
dart.addTypeCaches(web_sql.SqlResultSetRowList);
web_sql.SqlResultSetRowList[dart.implements] = () => [core.List$(core.Map)];
dart.setMethodSignature(web_sql.SqlResultSetRowList, () => ({
  __proto__: dart.getMethods(web_sql.SqlResultSetRowList.__proto__),
  [$_get]: dart.fnType(core.Map, [core.int]),
  [$_set]: dart.fnType(dart.void, [core.int, dart.nullable(core.Object)]),
  [S$.$item]: dart.fnType(dart.nullable(core.Map), [core.int]),
  [S$4._item_1]: dart.fnType(dart.dynamic, [dart.dynamic])
}));
dart.setGetterSignature(web_sql.SqlResultSetRowList, () => ({
  __proto__: dart.getGetters(web_sql.SqlResultSetRowList.__proto__),
  [$length]: core.int
}));
dart.setSetterSignature(web_sql.SqlResultSetRowList, () => ({
  __proto__: dart.getSetters(web_sql.SqlResultSetRowList.__proto__),
  [$length]: core.int
}));
dart.setLibraryUri(web_sql.SqlResultSetRowList, I[163]);
dart.registerExtension("SQLResultSetRowList", web_sql.SqlResultSetRowList);
web_sql.SqlTransaction = class SqlTransaction extends _interceptors.Interceptor {
  [S$4._executeSql](...args) {
    return this.executeSql.apply(this, args);
  }
  [S$4.$executeSql](sqlStatement, $arguments = null) {
    if (sqlStatement == null) dart.nullFailed(I[162], 298, 42, "sqlStatement");
    let completer = T$0.CompleterOfSqlResultSet().new();
    this[S$4._executeSql](sqlStatement, $arguments, dart.fn((transaction, resultSet) => {
      if (transaction == null) dart.nullFailed(I[162], 300, 43, "transaction");
      if (resultSet == null) dart.nullFailed(I[162], 300, 56, "resultSet");
      _js_helper.applyExtension("SQLResultSet", resultSet);
      _js_helper.applyExtension("SQLResultSetRowList", resultSet.rows);
      completer.complete(resultSet);
    }, T$0.SqlTransactionAndSqlResultSetTovoid()), dart.fn((transaction, error) => {
      if (transaction == null) dart.nullFailed(I[162], 304, 9, "transaction");
      if (error == null) dart.nullFailed(I[162], 304, 22, "error");
      completer.completeError(error);
    }, T$0.SqlTransactionAndSqlErrorTovoid()));
    return completer.future;
  }
};
dart.addTypeTests(web_sql.SqlTransaction);
dart.addTypeCaches(web_sql.SqlTransaction);
dart.setMethodSignature(web_sql.SqlTransaction, () => ({
  __proto__: dart.getMethods(web_sql.SqlTransaction.__proto__),
  [S$4._executeSql]: dart.fnType(dart.void, [core.String], [dart.nullable(core.List), dart.nullable(dart.fnType(dart.void, [web_sql.SqlTransaction, web_sql.SqlResultSet])), dart.nullable(dart.fnType(dart.void, [web_sql.SqlTransaction, web_sql.SqlError]))]),
  [S$4.$executeSql]: dart.fnType(async.Future$(web_sql.SqlResultSet), [core.String], [dart.nullable(core.List)])
}));
dart.setLibraryUri(web_sql.SqlTransaction, I[163]);
dart.registerExtension("SQLTransaction", web_sql.SqlTransaction);
var _errorMsg$ = dart.privateName(core, "_errorMsg");
core._CompileTimeError = class _CompileTimeError extends core.Error {
  toString() {
    return this[_errorMsg$];
  }
};
(core._CompileTimeError.new = function(_errorMsg) {
  if (_errorMsg == null) dart.nullFailed(I[7], 775, 26, "_errorMsg");
  this[_errorMsg$] = _errorMsg;
  core._CompileTimeError.__proto__.new.call(this);
  ;
}).prototype = core._CompileTimeError.prototype;
dart.addTypeTests(core._CompileTimeError);
dart.addTypeCaches(core._CompileTimeError);
dart.setLibraryUri(core._CompileTimeError, I[9]);
dart.setFieldSignature(core._CompileTimeError, () => ({
  __proto__: dart.getFields(core._CompileTimeError.__proto__),
  [_errorMsg$]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(core._CompileTimeError, ['toString']);
var _name$6 = dart.privateName(core, "_name");
core._DuplicatedFieldInitializerError = class _DuplicatedFieldInitializerError extends core.Object {
  toString() {
    return "Error: field '" + dart.str(this[_name$6]) + "' is already initialized.";
  }
};
(core._DuplicatedFieldInitializerError.new = function(_name) {
  if (_name == null) dart.nullFailed(I[7], 917, 41, "_name");
  this[_name$6] = _name;
  ;
}).prototype = core._DuplicatedFieldInitializerError.prototype;
dart.addTypeTests(core._DuplicatedFieldInitializerError);
dart.addTypeCaches(core._DuplicatedFieldInitializerError);
dart.setLibraryUri(core._DuplicatedFieldInitializerError, I[9]);
dart.setFieldSignature(core._DuplicatedFieldInitializerError, () => ({
  __proto__: dart.getFields(core._DuplicatedFieldInitializerError.__proto__),
  [_name$6]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(core._DuplicatedFieldInitializerError, ['toString']);
var _used$ = dart.privateName(core, "_used");
var _digits$ = dart.privateName(core, "_digits");
var _isNegative = dart.privateName(core, "_isNegative");
var _isZero = dart.privateName(core, "_isZero");
var _dlShift = dart.privateName(core, "_dlShift");
var _drShift = dart.privateName(core, "_drShift");
var _absCompare = dart.privateName(core, "_absCompare");
var _absAddSetSign = dart.privateName(core, "_absAddSetSign");
var _absSubSetSign = dart.privateName(core, "_absSubSetSign");
var _absAndSetSign = dart.privateName(core, "_absAndSetSign");
var _absAndNotSetSign = dart.privateName(core, "_absAndNotSetSign");
var _absOrSetSign = dart.privateName(core, "_absOrSetSign");
var _absXorSetSign = dart.privateName(core, "_absXorSetSign");
var _divRem = dart.privateName(core, "_divRem");
var _div = dart.privateName(core, "_div");
var _rem = dart.privateName(core, "_rem");
var _toRadixCodeUnit = dart.privateName(core, "_toRadixCodeUnit");
var _toHexString = dart.privateName(core, "_toHexString");
core._BigIntImpl = class _BigIntImpl extends core.Object {
  static parse(source, opts) {
    if (source == null) dart.nullFailed(I[7], 1043, 35, "source");
    let radix = opts && 'radix' in opts ? opts.radix : null;
    let result = core._BigIntImpl._tryParse(source, {radix: radix});
    if (result == null) {
      dart.throw(new core.FormatException.new("Could not parse BigInt", source));
    }
    return result;
  }
  static _parseDecimal(source, isNegative) {
    if (source == null) dart.nullFailed(I[7], 1054, 43, "source");
    if (isNegative == null) dart.nullFailed(I[7], 1054, 56, "isNegative");
    let part = 0;
    let result = core._BigIntImpl.zero;
    let digitInPartCount = 4 - source.length[$remainder](4);
    if (digitInPartCount === 4) digitInPartCount = 0;
    for (let i = 0; i < source.length; i = i + 1) {
      part = part * 10 + source[$codeUnitAt](i) - 48;
      if ((digitInPartCount = digitInPartCount + 1) === 4) {
        result = result['*'](core._BigIntImpl._bigInt10000)['+'](core._BigIntImpl._fromInt(part));
        part = 0;
        digitInPartCount = 0;
      }
    }
    if (dart.test(isNegative)) return result._negate();
    return result;
  }
  static _codeUnitToRadixValue(codeUnit) {
    if (codeUnit == null) dart.nullFailed(I[7], 1084, 40, "codeUnit");
    if (48 <= dart.notNull(codeUnit) && dart.notNull(codeUnit) <= 57) return dart.notNull(codeUnit) - 48;
    codeUnit = (dart.notNull(codeUnit) | 32) >>> 0;
    let result = dart.notNull(codeUnit) - 97 + 10;
    return result;
  }
  static _parseHex(source, startPos, isNegative) {
    let t247, t247$, t247$0, t247$1;
    if (source == null) dart.nullFailed(I[7], 1104, 40, "source");
    if (startPos == null) dart.nullFailed(I[7], 1104, 52, "startPos");
    if (isNegative == null) dart.nullFailed(I[7], 1104, 67, "isNegative");
    let hexDigitsPerChunk = (16 / 4)[$truncate]();
    let sourceLength = source.length - dart.notNull(startPos);
    let chunkCount = (sourceLength / hexDigitsPerChunk)[$ceil]();
    let digits = _native_typed_data.NativeUint16List.new(chunkCount);
    let lastDigitLength = sourceLength - (chunkCount - 1) * hexDigitsPerChunk;
    let digitIndex = dart.notNull(digits[$length]) - 1;
    let i = startPos;
    let chunk = 0;
    for (let j = 0; j < lastDigitLength; j = j + 1) {
      let digitValue = core._BigIntImpl._codeUnitToRadixValue(source[$codeUnitAt]((t247 = i, i = dart.notNull(t247) + 1, t247)));
      if (dart.notNull(digitValue) >= 16) return null;
      chunk = chunk * 16 + dart.notNull(digitValue);
    }
    digits[$_set]((t247$ = digitIndex, digitIndex = t247$ - 1, t247$), chunk);
    while (dart.notNull(i) < source.length) {
      chunk = 0;
      for (let j = 0; j < hexDigitsPerChunk; j = j + 1) {
        let digitValue = core._BigIntImpl._codeUnitToRadixValue(source[$codeUnitAt]((t247$0 = i, i = dart.notNull(t247$0) + 1, t247$0)));
        if (dart.notNull(digitValue) >= 16) return null;
        chunk = chunk * 16 + dart.notNull(digitValue);
      }
      digits[$_set]((t247$1 = digitIndex, digitIndex = t247$1 - 1, t247$1), chunk);
    }
    if (digits[$length] === 1 && digits[$_get](0) === 0) return core._BigIntImpl.zero;
    return new core._BigIntImpl.__(isNegative, digits[$length], digits);
  }
  static _parseRadix(source, radix, isNegative) {
    if (source == null) dart.nullFailed(I[7], 1138, 42, "source");
    if (radix == null) dart.nullFailed(I[7], 1138, 54, "radix");
    if (isNegative == null) dart.nullFailed(I[7], 1138, 66, "isNegative");
    let result = core._BigIntImpl.zero;
    let base = core._BigIntImpl._fromInt(radix);
    for (let i = 0; i < source.length; i = i + 1) {
      let digitValue = core._BigIntImpl._codeUnitToRadixValue(source[$codeUnitAt](i));
      if (dart.notNull(digitValue) >= dart.notNull(radix)) return null;
      result = result['*'](base)['+'](core._BigIntImpl._fromInt(digitValue));
    }
    if (dart.test(isNegative)) return result._negate();
    return result;
  }
  static _tryParse(source, opts) {
    let t247, t247$, t247$0;
    if (source == null) dart.nullFailed(I[7], 1155, 40, "source");
    let radix = opts && 'radix' in opts ? opts.radix : null;
    if (source === "") return null;
    let match = core._BigIntImpl._parseRE.firstMatch(source);
    let signIndex = 1;
    let hexIndex = 3;
    let decimalIndex = 4;
    let nonDecimalHexIndex = 5;
    if (match == null) return null;
    let isNegative = match._get(signIndex) === "-";
    let decimalMatch = match._get(decimalIndex);
    let hexMatch = match._get(hexIndex);
    let nonDecimalMatch = match._get(nonDecimalHexIndex);
    if (radix == null) {
      if (decimalMatch != null) {
        return core._BigIntImpl._parseDecimal(decimalMatch, isNegative);
      }
      if (hexMatch != null) {
        return core._BigIntImpl._parseHex(hexMatch, 2, isNegative);
      }
      return null;
    }
    if (dart.notNull(radix) < 2 || dart.notNull(radix) > 36) {
      dart.throw(new core.RangeError.range(radix, 2, 36, "radix"));
    }
    if (radix === 10 && decimalMatch != null) {
      return core._BigIntImpl._parseDecimal(decimalMatch, isNegative);
    }
    if (radix === 16 && (decimalMatch != null || nonDecimalMatch != null)) {
      return core._BigIntImpl._parseHex((t247 = decimalMatch, t247 == null ? dart.nullCheck(nonDecimalMatch) : t247), 0, isNegative);
    }
    return core._BigIntImpl._parseRadix((t247$0 = (t247$ = decimalMatch, t247$ == null ? nonDecimalMatch : t247$), t247$0 == null ? dart.nullCheck(hexMatch) : t247$0), radix, isNegative);
  }
  static _normalize(used, digits) {
    if (used == null) dart.nullFailed(I[7], 1202, 29, "used");
    if (digits == null) dart.nullFailed(I[7], 1202, 46, "digits");
    while (dart.notNull(used) > 0 && digits[$_get](dart.notNull(used) - 1) === 0)
      used = dart.notNull(used) - 1;
    return used;
  }
  get [_isZero]() {
    return this[_used$] === 0;
  }
  static _cloneDigits(digits, from, to, length) {
    if (digits == null) dart.nullFailed(I[7], 1223, 18, "digits");
    if (from == null) dart.nullFailed(I[7], 1223, 30, "from");
    if (to == null) dart.nullFailed(I[7], 1223, 40, "to");
    if (length == null) dart.nullFailed(I[7], 1223, 48, "length");
    let resultDigits = _native_typed_data.NativeUint16List.new(length);
    let n = dart.notNull(to) - dart.notNull(from);
    for (let i = 0; i < n; i = i + 1) {
      resultDigits[$_set](i, digits[$_get](dart.notNull(from) + i));
    }
    return resultDigits;
  }
  static from(value) {
    if (value == null) dart.nullFailed(I[7], 1233, 32, "value");
    if (value === 0) return core._BigIntImpl.zero;
    if (value === 1) return core._BigIntImpl.one;
    if (value === 2) return core._BigIntImpl.two;
    if (value[$abs]() < 4294967296) return core._BigIntImpl._fromInt(value[$toInt]());
    if (typeof value == 'number') return core._BigIntImpl._fromDouble(value);
    return core._BigIntImpl._fromInt(dart.asInt(value));
  }
  static _fromInt(value) {
    let t247;
    if (value == null) dart.nullFailed(I[7], 1245, 36, "value");
    let isNegative = dart.notNull(value) < 0;
    if (!(16 === 16)) dart.assertFailed(null, I[7], 1247, 12, "_digitBits == 16");
    if (isNegative) {
      if (value === -9223372036854776000.0) {
        let digits = _native_typed_data.NativeUint16List.new(4);
        digits[$_set](3, 32768);
        return new core._BigIntImpl.__(true, 4, digits);
      }
      value = -dart.notNull(value);
    }
    if (dart.notNull(value) < 65536) {
      let digits = _native_typed_data.NativeUint16List.new(1);
      digits[$_set](0, value);
      return new core._BigIntImpl.__(isNegative, 1, digits);
    }
    if (dart.notNull(value) <= 4294967295) {
      let digits = _native_typed_data.NativeUint16List.new(2);
      digits[$_set](0, (dart.notNull(value) & 65535) >>> 0);
      digits[$_set](1, value[$rightShift](16));
      return new core._BigIntImpl.__(isNegative, 2, digits);
    }
    let bits = value[$bitLength];
    let digits = _native_typed_data.NativeUint16List.new(((bits - 1) / 16)[$truncate]() + 1);
    let i = 0;
    while (value !== 0) {
      digits[$_set]((t247 = i, i = t247 + 1, t247), (dart.notNull(value) & 65535) >>> 0);
      value = (dart.notNull(value) / 65536)[$truncate]();
    }
    return new core._BigIntImpl.__(isNegative, digits[$length], digits);
  }
  static _fromDouble(value) {
    if (value == null) dart.nullFailed(I[7], 1285, 42, "value");
    if (value[$isNaN] || value[$isInfinite]) {
      dart.throw(new core.ArgumentError.new("Value must be finite: " + dart.str(value)));
    }
    let isNegative = dart.notNull(value) < 0;
    if (isNegative) value = -dart.notNull(value);
    value = value[$floorToDouble]();
    if (value === 0) return core._BigIntImpl.zero;
    let bits = core._BigIntImpl._bitsForFromDouble;
    for (let i = 0; i < 8; i = i + 1) {
      bits[$_set](i, 0);
    }
    bits[$buffer][$asByteData]()[$setFloat64](0, value, typed_data.Endian.little);
    let biasedExponent = (dart.notNull(bits[$_get](7)) << 4 >>> 0) + bits[$_get](6)[$rightShift](4);
    let exponent = biasedExponent - 1075;
    if (!(16 === 16)) dart.assertFailed(null, I[7], 1306, 12, "_digitBits == 16");
    let unshiftedDigits = _native_typed_data.NativeUint16List.new(4);
    unshiftedDigits[$_set](0, (dart.notNull(bits[$_get](1)) << 8 >>> 0) + dart.notNull(bits[$_get](0)));
    unshiftedDigits[$_set](1, (dart.notNull(bits[$_get](3)) << 8 >>> 0) + dart.notNull(bits[$_get](2)));
    unshiftedDigits[$_set](2, (dart.notNull(bits[$_get](5)) << 8 >>> 0) + dart.notNull(bits[$_get](4)));
    unshiftedDigits[$_set](3, 16 | dart.notNull(bits[$_get](6)) & 15);
    let unshiftedBig = new core._BigIntImpl._normalized(false, 4, unshiftedDigits);
    let absResult = unshiftedBig;
    if (exponent < 0) {
      absResult = unshiftedBig['>>'](-exponent);
    } else if (exponent > 0) {
      absResult = unshiftedBig['<<'](exponent);
    }
    if (isNegative) return absResult._negate();
    return absResult;
  }
  _negate() {
    if (this[_used$] === 0) return this;
    return new core._BigIntImpl.__(!dart.test(this[_isNegative]), this[_used$], this[_digits$]);
  }
  abs() {
    return dart.test(this[_isNegative]) ? this._negate() : this;
  }
  [_dlShift](n) {
    if (n == null) dart.nullFailed(I[7], 1345, 28, "n");
    let used = this[_used$];
    if (used === 0) {
      return core._BigIntImpl.zero;
    }
    let resultUsed = dart.notNull(used) + dart.notNull(n);
    let digits = this[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    for (let i = dart.notNull(used) - 1; i >= 0; i = i - 1) {
      resultDigits[$_set](i + dart.notNull(n), digits[$_get](i));
    }
    return new core._BigIntImpl.__(this[_isNegative], resultUsed, resultDigits);
  }
  static _dlShiftDigits(xDigits, xUsed, n, resultDigits) {
    if (xDigits == null) dart.nullFailed(I[7], 1365, 18, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 1365, 31, "xUsed");
    if (n == null) dart.nullFailed(I[7], 1365, 42, "n");
    if (resultDigits == null) dart.nullFailed(I[7], 1365, 56, "resultDigits");
    if (xUsed === 0) {
      return 0;
    }
    if (n === 0 && resultDigits == xDigits) {
      return xUsed;
    }
    let resultUsed = dart.notNull(xUsed) + dart.notNull(n);
    for (let i = dart.notNull(xUsed) - 1; i >= 0; i = i - 1) {
      resultDigits[$_set](i + dart.notNull(n), xDigits[$_get](i));
    }
    for (let i = dart.notNull(n) - 1; i >= 0; i = i - 1) {
      resultDigits[$_set](i, 0);
    }
    return resultUsed;
  }
  [_drShift](n) {
    if (n == null) dart.nullFailed(I[7], 1383, 28, "n");
    let used = this[_used$];
    if (used === 0) {
      return core._BigIntImpl.zero;
    }
    let resultUsed = dart.notNull(used) - dart.notNull(n);
    if (resultUsed <= 0) {
      return dart.test(this[_isNegative]) ? core._BigIntImpl._minusOne : core._BigIntImpl.zero;
    }
    let digits = this[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    for (let i = n; dart.notNull(i) < dart.notNull(used); i = dart.notNull(i) + 1) {
      resultDigits[$_set](dart.notNull(i) - dart.notNull(n), digits[$_get](i));
    }
    let result = new core._BigIntImpl.__(this[_isNegative], resultUsed, resultDigits);
    if (dart.test(this[_isNegative])) {
      for (let i = 0; i < dart.notNull(n); i = i + 1) {
        if (digits[$_get](i) !== 0) {
          return result['-'](core._BigIntImpl.one);
        }
      }
    }
    return result;
  }
  static _lsh(xDigits, xUsed, n, resultDigits) {
    if (xDigits == null) dart.nullFailed(I[7], 1416, 18, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 1416, 31, "xUsed");
    if (n == null) dart.nullFailed(I[7], 1416, 42, "n");
    if (resultDigits == null) dart.nullFailed(I[7], 1416, 56, "resultDigits");
    if (!(dart.notNull(xUsed) > 0)) dart.assertFailed(null, I[7], 1417, 12, "xUsed > 0");
    let digitShift = (dart.notNull(n) / 16)[$truncate]();
    let bitShift = n[$modulo](16);
    let carryBitShift = 16 - bitShift;
    let bitMask = (1)[$leftShift](carryBitShift) - 1;
    let carry = 0;
    for (let i = dart.notNull(xUsed) - 1; i >= 0; i = i - 1) {
      let digit = xDigits[$_get](i);
      resultDigits[$_set](i + digitShift + 1, (digit[$rightShift](carryBitShift) | carry) >>> 0);
      carry = ((dart.notNull(digit) & bitMask) >>> 0)[$leftShift](bitShift);
    }
    resultDigits[$_set](digitShift, carry);
  }
  ['<<'](shiftAmount) {
    if (shiftAmount == null) dart.nullFailed(I[7], 1443, 31, "shiftAmount");
    if (dart.notNull(shiftAmount) < 0) {
      dart.throw(new core.ArgumentError.new("shift-amount must be posititve " + dart.str(shiftAmount)));
    }
    if (dart.test(this[_isZero])) return this;
    let digitShift = (dart.notNull(shiftAmount) / 16)[$truncate]();
    let bitShift = shiftAmount[$modulo](16);
    if (bitShift === 0) {
      return this[_dlShift](digitShift);
    }
    let resultUsed = dart.notNull(this[_used$]) + digitShift + 1;
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    core._BigIntImpl._lsh(this[_digits$], this[_used$], shiftAmount, resultDigits);
    return new core._BigIntImpl.__(this[_isNegative], resultUsed, resultDigits);
  }
  static _lShiftDigits(xDigits, xUsed, n, resultDigits) {
    if (xDigits == null) dart.nullFailed(I[7], 1462, 18, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 1462, 31, "xUsed");
    if (n == null) dart.nullFailed(I[7], 1462, 42, "n");
    if (resultDigits == null) dart.nullFailed(I[7], 1462, 56, "resultDigits");
    let digitsShift = (dart.notNull(n) / 16)[$truncate]();
    let bitShift = n[$modulo](16);
    if (bitShift === 0) {
      return core._BigIntImpl._dlShiftDigits(xDigits, xUsed, digitsShift, resultDigits);
    }
    let resultUsed = dart.notNull(xUsed) + digitsShift + 1;
    core._BigIntImpl._lsh(xDigits, xUsed, n, resultDigits);
    let i = digitsShift;
    while ((i = i - 1) >= 0) {
      resultDigits[$_set](i, 0);
    }
    if (resultDigits[$_get](resultUsed - 1) === 0) {
      resultUsed = resultUsed - 1;
    }
    return resultUsed;
  }
  static _rsh(xDigits, xUsed, n, resultDigits) {
    if (xDigits == null) dart.nullFailed(I[7], 1482, 18, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 1482, 31, "xUsed");
    if (n == null) dart.nullFailed(I[7], 1482, 42, "n");
    if (resultDigits == null) dart.nullFailed(I[7], 1482, 56, "resultDigits");
    if (!(dart.notNull(xUsed) > 0)) dart.assertFailed(null, I[7], 1483, 12, "xUsed > 0");
    let digitsShift = (dart.notNull(n) / 16)[$truncate]();
    let bitShift = n[$modulo](16);
    let carryBitShift = 16 - bitShift;
    let bitMask = (1)[$leftShift](bitShift) - 1;
    let carry = xDigits[$_get](digitsShift)[$rightShift](bitShift);
    let last = dart.notNull(xUsed) - digitsShift - 1;
    for (let i = 0; i < last; i = i + 1) {
      let digit = xDigits[$_get](i + digitsShift + 1);
      resultDigits[$_set](i, (((dart.notNull(digit) & bitMask) >>> 0)[$leftShift](carryBitShift) | carry) >>> 0);
      carry = digit[$rightShift](bitShift);
    }
    resultDigits[$_set](last, carry);
  }
  ['>>'](shiftAmount) {
    if (shiftAmount == null) dart.nullFailed(I[7], 1507, 31, "shiftAmount");
    if (dart.notNull(shiftAmount) < 0) {
      dart.throw(new core.ArgumentError.new("shift-amount must be posititve " + dart.str(shiftAmount)));
    }
    if (dart.test(this[_isZero])) return this;
    let digitShift = (dart.notNull(shiftAmount) / 16)[$truncate]();
    let bitShift = shiftAmount[$modulo](16);
    if (bitShift === 0) {
      return this[_drShift](digitShift);
    }
    let used = this[_used$];
    let resultUsed = dart.notNull(used) - digitShift;
    if (resultUsed <= 0) {
      return dart.test(this[_isNegative]) ? core._BigIntImpl._minusOne : core._BigIntImpl.zero;
    }
    let digits = this[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    core._BigIntImpl._rsh(digits, used, shiftAmount, resultDigits);
    let result = new core._BigIntImpl.__(this[_isNegative], resultUsed, resultDigits);
    if (dart.test(this[_isNegative])) {
      if ((dart.notNull(digits[$_get](digitShift)) & (1)[$leftShift](bitShift) - 1) !== 0) {
        return result['-'](core._BigIntImpl.one);
      }
      for (let i = 0; i < digitShift; i = i + 1) {
        if (digits[$_get](i) !== 0) {
          return result['-'](core._BigIntImpl.one);
        }
      }
    }
    return result;
  }
  [_absCompare](other) {
    if (other == null) dart.nullFailed(I[7], 1544, 31, "other");
    return core._BigIntImpl._compareDigits(this[_digits$], this[_used$], other[_digits$], other[_used$]);
  }
  compareTo(other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 1554, 39, "other");
    if (this[_isNegative] == other[_isNegative]) {
      let result = this[_absCompare](other);
      return dart.test(this[_isNegative]) ? 0 - dart.notNull(result) : result;
    }
    return dart.test(this[_isNegative]) ? -1 : 1;
  }
  static _compareDigits(digits, used, otherDigits, otherUsed) {
    if (digits == null) dart.nullFailed(I[7], 1568, 18, "digits");
    if (used == null) dart.nullFailed(I[7], 1568, 30, "used");
    if (otherDigits == null) dart.nullFailed(I[7], 1568, 47, "otherDigits");
    if (otherUsed == null) dart.nullFailed(I[7], 1568, 64, "otherUsed");
    let result = dart.notNull(used) - dart.notNull(otherUsed);
    if (result === 0) {
      for (let i = dart.notNull(used) - 1; i >= 0; i = i - 1) {
        result = dart.notNull(digits[$_get](i)) - dart.notNull(otherDigits[$_get](i));
        if (result !== 0) return result;
      }
    }
    return result;
  }
  static _absAdd(digits, used, otherDigits, otherUsed, resultDigits) {
    if (digits == null) dart.nullFailed(I[7], 1581, 34, "digits");
    if (used == null) dart.nullFailed(I[7], 1581, 46, "used");
    if (otherDigits == null) dart.nullFailed(I[7], 1581, 63, "otherDigits");
    if (otherUsed == null) dart.nullFailed(I[7], 1582, 11, "otherUsed");
    if (resultDigits == null) dart.nullFailed(I[7], 1582, 33, "resultDigits");
    if (!(dart.notNull(used) >= dart.notNull(otherUsed) && dart.notNull(otherUsed) > 0)) dart.assertFailed(null, I[7], 1583, 12, "used >= otherUsed && otherUsed > 0");
    let carry = 0;
    for (let i = 0; i < dart.notNull(otherUsed); i = i + 1) {
      carry = carry + (dart.notNull(digits[$_get](i)) + dart.notNull(otherDigits[$_get](i)));
      resultDigits[$_set](i, (carry & 65535) >>> 0);
      carry = carry[$rightShift](16);
    }
    for (let i = otherUsed; dart.notNull(i) < dart.notNull(used); i = dart.notNull(i) + 1) {
      carry = carry + dart.notNull(digits[$_get](i));
      resultDigits[$_set](i, (carry & 65535) >>> 0);
      carry = carry[$rightShift](16);
    }
    resultDigits[$_set](used, carry);
  }
  static _absSub(digits, used, otherDigits, otherUsed, resultDigits) {
    if (digits == null) dart.nullFailed(I[7], 1600, 34, "digits");
    if (used == null) dart.nullFailed(I[7], 1600, 46, "used");
    if (otherDigits == null) dart.nullFailed(I[7], 1600, 63, "otherDigits");
    if (otherUsed == null) dart.nullFailed(I[7], 1601, 11, "otherUsed");
    if (resultDigits == null) dart.nullFailed(I[7], 1601, 33, "resultDigits");
    if (!(dart.notNull(used) >= dart.notNull(otherUsed) && dart.notNull(otherUsed) > 0)) dart.assertFailed(null, I[7], 1602, 12, "used >= otherUsed && otherUsed > 0");
    let carry = 0;
    for (let i = 0; i < dart.notNull(otherUsed); i = i + 1) {
      carry = carry + (dart.notNull(digits[$_get](i)) - dart.notNull(otherDigits[$_get](i)));
      resultDigits[$_set](i, (carry & 65535) >>> 0);
      carry = 0 - (carry[$rightShift](16) & 1);
    }
    for (let i = otherUsed; dart.notNull(i) < dart.notNull(used); i = dart.notNull(i) + 1) {
      carry = carry + dart.notNull(digits[$_get](i));
      resultDigits[$_set](i, (carry & 65535) >>> 0);
      carry = 0 - (carry[$rightShift](16) & 1);
    }
  }
  [_absAddSetSign](other, isNegative) {
    if (other == null) dart.nullFailed(I[7], 1622, 42, "other");
    if (isNegative == null) dart.nullFailed(I[7], 1622, 54, "isNegative");
    let used = this[_used$];
    let otherUsed = other[_used$];
    if (dart.notNull(used) < dart.notNull(otherUsed)) {
      return other[_absAddSetSign](this, isNegative);
    }
    if (used === 0) {
      if (!!dart.test(isNegative)) dart.assertFailed(null, I[7], 1629, 14, "!isNegative");
      return core._BigIntImpl.zero;
    }
    if (otherUsed === 0) {
      return this[_isNegative] == isNegative ? this : this._negate();
    }
    let resultUsed = dart.notNull(used) + 1;
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    core._BigIntImpl._absAdd(this[_digits$], used, other[_digits$], otherUsed, resultDigits);
    return new core._BigIntImpl.__(isNegative, resultUsed, resultDigits);
  }
  [_absSubSetSign](other, isNegative) {
    if (other == null) dart.nullFailed(I[7], 1644, 42, "other");
    if (isNegative == null) dart.nullFailed(I[7], 1644, 54, "isNegative");
    if (!(dart.notNull(this[_absCompare](other)) >= 0)) dart.assertFailed(null, I[7], 1645, 12, "_absCompare(other) >= 0");
    let used = this[_used$];
    if (used === 0) {
      if (!!dart.test(isNegative)) dart.assertFailed(null, I[7], 1648, 14, "!isNegative");
      return core._BigIntImpl.zero;
    }
    let otherUsed = other[_used$];
    if (otherUsed === 0) {
      return this[_isNegative] == isNegative ? this : this._negate();
    }
    let resultDigits = _native_typed_data.NativeUint16List.new(used);
    core._BigIntImpl._absSub(this[_digits$], used, other[_digits$], otherUsed, resultDigits);
    return new core._BigIntImpl.__(isNegative, used, resultDigits);
  }
  [_absAndSetSign](other, isNegative) {
    if (other == null) dart.nullFailed(I[7], 1661, 42, "other");
    if (isNegative == null) dart.nullFailed(I[7], 1661, 54, "isNegative");
    let resultUsed = core._min(this[_used$], other[_used$]);
    let digits = this[_digits$];
    let otherDigits = other[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    for (let i = 0; i < dart.notNull(resultUsed); i = i + 1) {
      resultDigits[$_set](i, (dart.notNull(digits[$_get](i)) & dart.notNull(otherDigits[$_get](i))) >>> 0);
    }
    return new core._BigIntImpl.__(isNegative, resultUsed, resultDigits);
  }
  [_absAndNotSetSign](other, isNegative) {
    if (other == null) dart.nullFailed(I[7], 1673, 45, "other");
    if (isNegative == null) dart.nullFailed(I[7], 1673, 57, "isNegative");
    let resultUsed = this[_used$];
    let digits = this[_digits$];
    let otherDigits = other[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    let m = core._min(resultUsed, other[_used$]);
    for (let i = 0; i < dart.notNull(m); i = i + 1) {
      resultDigits[$_set](i, (dart.notNull(digits[$_get](i)) & ~dart.notNull(otherDigits[$_get](i)) >>> 0) >>> 0);
    }
    for (let i = m; dart.notNull(i) < dart.notNull(resultUsed); i = dart.notNull(i) + 1) {
      resultDigits[$_set](i, digits[$_get](i));
    }
    return new core._BigIntImpl.__(isNegative, resultUsed, resultDigits);
  }
  [_absOrSetSign](other, isNegative) {
    if (other == null) dart.nullFailed(I[7], 1689, 41, "other");
    if (isNegative == null) dart.nullFailed(I[7], 1689, 53, "isNegative");
    let used = this[_used$];
    let otherUsed = other[_used$];
    let resultUsed = core._max(used, otherUsed);
    let digits = this[_digits$];
    let otherDigits = other[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    let l = null;
    let m = null;
    if (dart.notNull(used) < dart.notNull(otherUsed)) {
      l = other;
      m = used;
    } else {
      l = this;
      m = otherUsed;
    }
    for (let i = 0; i < dart.notNull(m); i = i + 1) {
      resultDigits[$_set](i, (dart.notNull(digits[$_get](i)) | dart.notNull(otherDigits[$_get](i))) >>> 0);
    }
    let lDigits = l[_digits$];
    for (let i = m; dart.notNull(i) < dart.notNull(resultUsed); i = dart.notNull(i) + 1) {
      resultDigits[$_set](i, lDigits[$_get](i));
    }
    return new core._BigIntImpl.__(isNegative, resultUsed, resultDigits);
  }
  [_absXorSetSign](other, isNegative) {
    if (other == null) dart.nullFailed(I[7], 1716, 42, "other");
    if (isNegative == null) dart.nullFailed(I[7], 1716, 54, "isNegative");
    let used = this[_used$];
    let otherUsed = other[_used$];
    let resultUsed = core._max(used, otherUsed);
    let digits = this[_digits$];
    let otherDigits = other[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    let l = null;
    let m = null;
    if (dart.notNull(used) < dart.notNull(otherUsed)) {
      l = other;
      m = used;
    } else {
      l = this;
      m = otherUsed;
    }
    for (let i = 0; i < dart.notNull(m); i = i + 1) {
      resultDigits[$_set](i, (dart.notNull(digits[$_get](i)) ^ dart.notNull(otherDigits[$_get](i))) >>> 0);
    }
    let lDigits = l[_digits$];
    for (let i = m; dart.notNull(i) < dart.notNull(resultUsed); i = dart.notNull(i) + 1) {
      resultDigits[$_set](i, lDigits[$_get](i));
    }
    return new core._BigIntImpl.__(isNegative, resultUsed, resultDigits);
  }
  ['&'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 1752, 48, "other");
    if (dart.test(this[_isZero]) || dart.test(other[_isZero])) return core._BigIntImpl.zero;
    if (this[_isNegative] == other[_isNegative]) {
      if (dart.test(this[_isNegative])) {
        let this1 = this[_absSubSetSign](core._BigIntImpl.one, true);
        let other1 = other[_absSubSetSign](core._BigIntImpl.one, true);
        return this1[_absOrSetSign](other1, true)[_absAddSetSign](core._BigIntImpl.one, true);
      }
      return this[_absAndSetSign](other, false);
    }
    let p = null;
    let n = null;
    if (dart.test(this[_isNegative])) {
      p = other;
      n = this;
    } else {
      p = this;
      n = other;
    }
    let n1 = n[_absSubSetSign](core._BigIntImpl.one, false);
    return p[_absAndNotSetSign](n1, false);
  }
  ['|'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 1791, 48, "other");
    if (dart.test(this[_isZero])) return other;
    if (dart.test(other[_isZero])) return this;
    if (this[_isNegative] == other[_isNegative]) {
      if (dart.test(this[_isNegative])) {
        let this1 = this[_absSubSetSign](core._BigIntImpl.one, true);
        let other1 = other[_absSubSetSign](core._BigIntImpl.one, true);
        return this1[_absAndSetSign](other1, true)[_absAddSetSign](core._BigIntImpl.one, true);
      }
      return this[_absOrSetSign](other, false);
    }
    let p = null;
    let n = null;
    if (dart.test(this[_isNegative])) {
      p = other;
      n = this;
    } else {
      p = this;
      n = other;
    }
    let n1 = n[_absSubSetSign](core._BigIntImpl.one, true);
    return n1[_absAndNotSetSign](p, true)[_absAddSetSign](core._BigIntImpl.one, true);
  }
  ['^'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 1832, 48, "other");
    if (dart.test(this[_isZero])) return other;
    if (dart.test(other[_isZero])) return this;
    if (this[_isNegative] == other[_isNegative]) {
      if (dart.test(this[_isNegative])) {
        let this1 = this[_absSubSetSign](core._BigIntImpl.one, true);
        let other1 = other[_absSubSetSign](core._BigIntImpl.one, true);
        return this1[_absXorSetSign](other1, false);
      }
      return this[_absXorSetSign](other, false);
    }
    let p = null;
    let n = null;
    if (dart.test(this[_isNegative])) {
      p = other;
      n = this;
    } else {
      p = this;
      n = other;
    }
    let n1 = n[_absSubSetSign](core._BigIntImpl.one, true);
    return p[_absXorSetSign](n1, true)[_absAddSetSign](core._BigIntImpl.one, true);
  }
  ['~']() {
    if (dart.test(this[_isZero])) return core._BigIntImpl._minusOne;
    if (dart.test(this[_isNegative])) {
      return this[_absSubSetSign](core._BigIntImpl.one, false);
    }
    return this[_absAddSetSign](core._BigIntImpl.one, true);
  }
  ['+'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 1880, 48, "other");
    if (dart.test(this[_isZero])) return other;
    if (dart.test(other[_isZero])) return this;
    let isNegative = this[_isNegative];
    if (isNegative == other[_isNegative]) {
      return this[_absAddSetSign](other, isNegative);
    }
    if (dart.notNull(this[_absCompare](other)) >= 0) {
      return this[_absSubSetSign](other, isNegative);
    }
    return other[_absSubSetSign](this, !dart.test(isNegative));
  }
  ['-'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 1898, 48, "other");
    if (dart.test(this[_isZero])) return other._negate();
    if (dart.test(other[_isZero])) return this;
    let isNegative = this[_isNegative];
    if (isNegative != other[_isNegative]) {
      return this[_absAddSetSign](other, isNegative);
    }
    if (dart.notNull(this[_absCompare](other)) >= 0) {
      return this[_absSubSetSign](other, isNegative);
    }
    return other[_absSubSetSign](this, !dart.test(isNegative));
  }
  static _mulAdd(x, multiplicandDigits, i, accumulatorDigits, j, n) {
    let t247, t247$, t247$0;
    if (x == null) dart.nullFailed(I[7], 1927, 27, "x");
    if (multiplicandDigits == null) dart.nullFailed(I[7], 1927, 41, "multiplicandDigits");
    if (i == null) dart.nullFailed(I[7], 1927, 65, "i");
    if (accumulatorDigits == null) dart.nullFailed(I[7], 1928, 18, "accumulatorDigits");
    if (j == null) dart.nullFailed(I[7], 1928, 41, "j");
    if (n == null) dart.nullFailed(I[7], 1928, 48, "n");
    if (x === 0) {
      return;
    }
    let c = 0;
    while ((n = dart.notNull(n) - 1) >= 0) {
      let product = dart.notNull(x) * dart.notNull(multiplicandDigits[$_get]((t247 = i, i = dart.notNull(t247) + 1, t247)));
      let combined = product + dart.notNull(accumulatorDigits[$_get](j)) + c;
      accumulatorDigits[$_set]((t247$ = j, j = dart.notNull(t247$) + 1, t247$), (combined & 65535) >>> 0);
      c = (combined / 65536)[$truncate]();
    }
    while (c !== 0) {
      let l = dart.notNull(accumulatorDigits[$_get](j)) + c;
      accumulatorDigits[$_set]((t247$0 = j, j = dart.notNull(t247$0) + 1, t247$0), (l & 65535) >>> 0);
      c = (l / 65536)[$truncate]();
    }
  }
  ['*'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 1950, 48, "other");
    let used = this[_used$];
    let otherUsed = other[_used$];
    if (used === 0 || otherUsed === 0) {
      return core._BigIntImpl.zero;
    }
    let resultUsed = dart.notNull(used) + dart.notNull(otherUsed);
    let digits = this[_digits$];
    let otherDigits = other[_digits$];
    let resultDigits = _native_typed_data.NativeUint16List.new(resultUsed);
    let i = 0;
    while (i < dart.notNull(otherUsed)) {
      core._BigIntImpl._mulAdd(otherDigits[$_get](i), digits, 0, resultDigits, i, used);
      i = i + 1;
    }
    return new core._BigIntImpl.__(this[_isNegative] != other[_isNegative], resultUsed, resultDigits);
  }
  static _mulDigits(xDigits, xUsed, otherDigits, otherUsed, resultDigits) {
    if (xDigits == null) dart.nullFailed(I[7], 1971, 36, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 1971, 49, "xUsed");
    if (otherDigits == null) dart.nullFailed(I[7], 1971, 67, "otherDigits");
    if (otherUsed == null) dart.nullFailed(I[7], 1972, 11, "otherUsed");
    if (resultDigits == null) dart.nullFailed(I[7], 1972, 33, "resultDigits");
    let resultUsed = dart.notNull(xUsed) + dart.notNull(otherUsed);
    let i = resultUsed;
    if (!(dart.notNull(resultDigits[$length]) >= i)) dart.assertFailed(null, I[7], 1975, 12, "resultDigits.length >= i");
    while ((i = i - 1) >= 0) {
      resultDigits[$_set](i, 0);
    }
    i = 0;
    while (i < dart.notNull(otherUsed)) {
      core._BigIntImpl._mulAdd(otherDigits[$_get](i), xDigits, 0, resultDigits, i, xUsed);
      i = i + 1;
    }
    return resultUsed;
  }
  static _estimateQuotientDigit(topDigitDivisor, digits, i) {
    if (topDigitDivisor == null) dart.nullFailed(I[7], 1989, 11, "topDigitDivisor");
    if (digits == null) dart.nullFailed(I[7], 1989, 39, "digits");
    if (i == null) dart.nullFailed(I[7], 1989, 51, "i");
    if (digits[$_get](i) == topDigitDivisor) return 65535;
    let quotientDigit = (((digits[$_get](i)[$leftShift](16) | dart.notNull(digits[$_get](dart.notNull(i) - 1))) >>> 0) / dart.notNull(topDigitDivisor))[$truncate]();
    if (quotientDigit > 65535) return 65535;
    return quotientDigit;
  }
  [_div](other) {
    if (other == null) dart.nullFailed(I[7], 1998, 32, "other");
    if (!(dart.notNull(other[_used$]) > 0)) dart.assertFailed(null, I[7], 1999, 12, "other._used > 0");
    if (dart.notNull(this[_used$]) < dart.notNull(other[_used$])) {
      return core._BigIntImpl.zero;
    }
    this[_divRem](other);
    let lastQuo_used = dart.nullCheck(core._BigIntImpl._lastQuoRemUsed) - dart.nullCheck(core._BigIntImpl._lastRemUsed);
    let quo_digits = core._BigIntImpl._cloneDigits(dart.nullCheck(core._BigIntImpl._lastQuoRemDigits), dart.nullCheck(core._BigIntImpl._lastRemUsed), dart.nullCheck(core._BigIntImpl._lastQuoRemUsed), lastQuo_used);
    let quo = new core._BigIntImpl.__(false, lastQuo_used, quo_digits);
    if (this[_isNegative] != other[_isNegative] && dart.notNull(quo[_used$]) > 0) {
      quo = quo._negate();
    }
    return quo;
  }
  [_rem](other) {
    if (other == null) dart.nullFailed(I[7], 2017, 32, "other");
    if (!(dart.notNull(other[_used$]) > 0)) dart.assertFailed(null, I[7], 2018, 12, "other._used > 0");
    if (dart.notNull(this[_used$]) < dart.notNull(other[_used$])) {
      return this;
    }
    this[_divRem](other);
    let remDigits = core._BigIntImpl._cloneDigits(dart.nullCheck(core._BigIntImpl._lastQuoRemDigits), 0, dart.nullCheck(core._BigIntImpl._lastRemUsed), dart.nullCheck(core._BigIntImpl._lastRemUsed));
    let rem = new core._BigIntImpl.__(false, dart.nullCheck(core._BigIntImpl._lastRemUsed), remDigits);
    if (dart.nullCheck(core._BigIntImpl._lastRem_nsh) > 0) {
      rem = rem['>>'](dart.nullCheck(core._BigIntImpl._lastRem_nsh));
    }
    if (dart.test(this[_isNegative]) && dart.notNull(rem[_used$]) > 0) {
      rem = rem._negate();
    }
    return rem;
  }
  [_divRem](other) {
    let t247, t247$;
    if (other == null) dart.nullFailed(I[7], 2045, 28, "other");
    if (this[_used$] == core._BigIntImpl._lastDividendUsed && other[_used$] == core._BigIntImpl._lastDivisorUsed && this[_digits$] == core._BigIntImpl._lastDividendDigits && other[_digits$] == core._BigIntImpl._lastDivisorDigits) {
      return;
    }
    if (!(dart.notNull(this[_used$]) >= dart.notNull(other[_used$]))) dart.assertFailed(null, I[7], 2053, 12, "_used >= other._used");
    let nsh = 16 - other[_digits$][$_get](dart.notNull(other[_used$]) - 1)[$bitLength];
    let resultDigits = null;
    let resultUsed = null;
    let yDigits = null;
    let yUsed = null;
    if (nsh > 0) {
      yDigits = _native_typed_data.NativeUint16List.new(dart.notNull(other[_used$]) + 5);
      yUsed = core._BigIntImpl._lShiftDigits(other[_digits$], other[_used$], nsh, yDigits);
      resultDigits = _native_typed_data.NativeUint16List.new(dart.notNull(this[_used$]) + 5);
      resultUsed = core._BigIntImpl._lShiftDigits(this[_digits$], this[_used$], nsh, resultDigits);
    } else {
      yDigits = other[_digits$];
      yUsed = other[_used$];
      resultDigits = core._BigIntImpl._cloneDigits(this[_digits$], 0, this[_used$], dart.notNull(this[_used$]) + 2);
      resultUsed = this[_used$];
    }
    let topDigitDivisor = yDigits[$_get](dart.notNull(yUsed) - 1);
    let i = resultUsed;
    let j = dart.notNull(i) - dart.notNull(yUsed);
    let tmpDigits = _native_typed_data.NativeUint16List.new(i);
    let tmpUsed = core._BigIntImpl._dlShiftDigits(yDigits, yUsed, j, tmpDigits);
    if (dart.notNull(core._BigIntImpl._compareDigits(resultDigits, resultUsed, tmpDigits, tmpUsed)) >= 0) {
      if (!(i == resultUsed)) dart.assertFailed(null, I[7], 2086, 14, "i == resultUsed");
      resultDigits[$_set]((t247 = resultUsed, resultUsed = dart.notNull(t247) + 1, t247), 1);
      core._BigIntImpl._absSub(resultDigits, resultUsed, tmpDigits, tmpUsed, resultDigits);
    } else {
      resultDigits[$_set]((t247$ = resultUsed, resultUsed = dart.notNull(t247$) + 1, t247$), 0);
    }
    let nyDigits = _native_typed_data.NativeUint16List.new(dart.notNull(yUsed) + 2);
    nyDigits[$_set](yUsed, 1);
    core._BigIntImpl._absSub(nyDigits, dart.notNull(yUsed) + 1, yDigits, yUsed, nyDigits);
    i = dart.notNull(i) - 1;
    while (j > 0) {
      let estimatedQuotientDigit = core._BigIntImpl._estimateQuotientDigit(topDigitDivisor, resultDigits, i);
      j = j - 1;
      core._BigIntImpl._mulAdd(estimatedQuotientDigit, nyDigits, 0, resultDigits, j, yUsed);
      if (dart.notNull(resultDigits[$_get](i)) < dart.notNull(estimatedQuotientDigit)) {
        let tmpUsed = core._BigIntImpl._dlShiftDigits(nyDigits, yUsed, j, tmpDigits);
        core._BigIntImpl._absSub(resultDigits, resultUsed, tmpDigits, tmpUsed, resultDigits);
        while (dart.notNull(resultDigits[$_get](i)) < (estimatedQuotientDigit = dart.notNull(estimatedQuotientDigit) - 1)) {
          core._BigIntImpl._absSub(resultDigits, resultUsed, tmpDigits, tmpUsed, resultDigits);
        }
      }
      i = dart.notNull(i) - 1;
    }
    core._BigIntImpl._lastDividendDigits = this[_digits$];
    core._BigIntImpl._lastDividendUsed = this[_used$];
    core._BigIntImpl._lastDivisorDigits = other[_digits$];
    core._BigIntImpl._lastDivisorUsed = other[_used$];
    core._BigIntImpl._lastQuoRemDigits = resultDigits;
    core._BigIntImpl._lastQuoRemUsed = resultUsed;
    core._BigIntImpl._lastRemUsed = yUsed;
    core._BigIntImpl._lastRem_nsh = nsh;
  }
  get hashCode() {
    function combine(hash, value) {
      if (hash == null) dart.nullFailed(I[7], 2138, 21, "hash");
      if (value == null) dart.nullFailed(I[7], 2138, 31, "value");
      hash = 536870911 & dart.notNull(hash) + dart.notNull(value);
      hash = 536870911 & dart.notNull(hash) + ((524287 & dart.notNull(hash)) << 10);
      return (dart.notNull(hash) ^ hash[$rightShift](6)) >>> 0;
    }
    dart.fn(combine, T$0.intAndintToint());
    function finish(hash) {
      if (hash == null) dart.nullFailed(I[7], 2144, 20, "hash");
      hash = 536870911 & dart.notNull(hash) + ((67108863 & dart.notNull(hash)) << 3);
      hash = (dart.notNull(hash) ^ hash[$rightShift](11)) >>> 0;
      return 536870911 & dart.notNull(hash) + ((16383 & dart.notNull(hash)) << 15);
    }
    dart.fn(finish, T$0.intToint());
    if (dart.test(this[_isZero])) return 6707;
    let hash = dart.test(this[_isNegative]) ? 83585 : 429689;
    for (let i = 0; i < dart.notNull(this[_used$]); i = i + 1) {
      hash = combine(hash, this[_digits$][$_get](i));
    }
    return finish(hash);
  }
  _equals(other) {
    if (other == null) return false;
    return core._BigIntImpl.is(other) && this.compareTo(other) === 0;
  }
  get bitLength() {
    if (this[_used$] === 0) return 0;
    if (dart.test(this[_isNegative])) return this['~']().bitLength;
    return 16 * (dart.notNull(this[_used$]) - 1) + this[_digits$][$_get](dart.notNull(this[_used$]) - 1)[$bitLength];
  }
  ['~/'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2217, 49, "other");
    if (other[_used$] === 0) {
      dart.throw(C[421] || CT.C421);
    }
    return this[_div](other);
  }
  remainder(other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2231, 47, "other");
    if (other[_used$] === 0) {
      dart.throw(C[421] || CT.C421);
    }
    return this[_rem](other);
  }
  ['/'](other) {
    if (other == null) dart.nullFailed(I[7], 2239, 28, "other");
    return dart.notNull(this.toDouble()) / dart.notNull(other.toDouble());
  }
  ['<'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2242, 41, "other");
    return dart.notNull(this.compareTo(other)) < 0;
  }
  ['<='](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2245, 42, "other");
    return dart.notNull(this.compareTo(other)) <= 0;
  }
  ['>'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2248, 41, "other");
    return dart.notNull(this.compareTo(other)) > 0;
  }
  ['>='](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2251, 42, "other");
    return dart.notNull(this.compareTo(other)) >= 0;
  }
  ['%'](other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2264, 48, "other");
    if (other[_used$] === 0) {
      dart.throw(C[421] || CT.C421);
    }
    let result = this[_rem](other);
    if (dart.test(result[_isNegative])) {
      if (dart.test(other[_isNegative])) {
        result = result['-'](other);
      } else {
        result = result['+'](other);
      }
    }
    return result;
  }
  get sign() {
    if (this[_used$] === 0) return 0;
    return dart.test(this[_isNegative]) ? -1 : 1;
  }
  get isEven() {
    return this[_used$] === 0 || (dart.notNull(this[_digits$][$_get](0)) & 1) === 0;
  }
  get isOdd() {
    return !dart.test(this.isEven);
  }
  get isNegative() {
    return this[_isNegative];
  }
  pow(exponent) {
    if (exponent == null) dart.nullFailed(I[7], 2299, 23, "exponent");
    if (dart.notNull(exponent) < 0) {
      dart.throw(new core.ArgumentError.new("Exponent must not be negative: " + dart.str(exponent)));
    }
    if (exponent === 0) return core._BigIntImpl.one;
    let result = core._BigIntImpl.one;
    let base = this;
    while (exponent !== 0) {
      if ((dart.notNull(exponent) & 1) === 1) {
        result = result['*'](base);
      }
      exponent = exponent[$rightShift](1);
      if (exponent !== 0) {
        base = base['*'](base);
      }
    }
    return result;
  }
  modPow(exponent, modulus) {
    core._BigIntImpl.as(exponent);
    if (exponent == null) dart.nullFailed(I[7], 2328, 29, "exponent");
    core._BigIntImpl.as(modulus);
    if (modulus == null) dart.nullFailed(I[7], 2328, 61, "modulus");
    if (dart.test(exponent[_isNegative])) {
      dart.throw(new core.ArgumentError.new("exponent must be positive: " + dart.str(exponent)));
    }
    if (dart.test(modulus['<='](core._BigIntImpl.zero))) {
      dart.throw(new core.ArgumentError.new("modulus must be strictly positive: " + dart.str(modulus)));
    }
    if (dart.test(exponent[_isZero])) return core._BigIntImpl.one;
    let modulusUsed = modulus[_used$];
    let modulusUsed2p4 = 2 * dart.notNull(modulusUsed) + 4;
    let exponentBitlen = exponent.bitLength;
    if (dart.notNull(exponentBitlen) <= 0) return core._BigIntImpl.one;
    let z = new core._BigIntClassic.new(modulus);
    let resultDigits = _native_typed_data.NativeUint16List.new(modulusUsed2p4);
    let result2Digits = _native_typed_data.NativeUint16List.new(modulusUsed2p4);
    let gDigits = _native_typed_data.NativeUint16List.new(modulusUsed);
    let gUsed = z.convert(this, gDigits);
    for (let j = dart.notNull(gUsed) - 1; j >= 0; j = j - 1) {
      resultDigits[$_set](j, gDigits[$_get](j));
    }
    let resultUsed = gUsed;
    let result2Used = null;
    for (let i = dart.notNull(exponentBitlen) - 2; i >= 0; i = i - 1) {
      result2Used = z.sqr(resultDigits, resultUsed, result2Digits);
      if (!dart.test(exponent['&'](core._BigIntImpl.one['<<'](i))[_isZero])) {
        resultUsed = z.mul(result2Digits, result2Used, gDigits, gUsed, resultDigits);
      } else {
        let tmpDigits = resultDigits;
        let tmpUsed = resultUsed;
        resultDigits = result2Digits;
        resultUsed = result2Used;
        result2Digits = tmpDigits;
        result2Used = tmpUsed;
      }
    }
    return z.revert(resultDigits, resultUsed);
  }
  static _binaryGcd(x, y, inv) {
    if (x == null) dart.nullFailed(I[7], 2374, 45, "x");
    if (y == null) dart.nullFailed(I[7], 2374, 60, "y");
    if (inv == null) dart.nullFailed(I[7], 2374, 68, "inv");
    let xDigits = x[_digits$];
    let yDigits = y[_digits$];
    let xUsed = x[_used$];
    let yUsed = y[_used$];
    let maxUsed = dart.notNull(xUsed) > dart.notNull(yUsed) ? xUsed : yUsed;
    let unshiftedMaxUsed = maxUsed;
    xDigits = core._BigIntImpl._cloneDigits(xDigits, 0, xUsed, maxUsed);
    yDigits = core._BigIntImpl._cloneDigits(yDigits, 0, yUsed, maxUsed);
    let shiftAmount = 0;
    if (dart.test(inv)) {
      if (yUsed === 1 && yDigits[$_get](0) === 1) return core._BigIntImpl.one;
      if (yUsed === 0 || yDigits[$_get](0)[$isEven] && xDigits[$_get](0)[$isEven]) {
        dart.throw(core.Exception.new("Not coprime"));
      }
    } else {
      if (dart.test(x[_isZero])) {
        dart.throw(new core.ArgumentError.value(0, "this", "must not be zero"));
      }
      if (dart.test(y[_isZero])) {
        dart.throw(new core.ArgumentError.value(0, "other", "must not be zero"));
      }
      if (xUsed === 1 && xDigits[$_get](0) === 1 || yUsed === 1 && yDigits[$_get](0) === 1) return core._BigIntImpl.one;
      while ((dart.notNull(xDigits[$_get](0)) & 1) === 0 && (dart.notNull(yDigits[$_get](0)) & 1) === 0) {
        core._BigIntImpl._rsh(xDigits, xUsed, 1, xDigits);
        core._BigIntImpl._rsh(yDigits, yUsed, 1, yDigits);
        shiftAmount = shiftAmount + 1;
      }
      if (shiftAmount >= 16) {
        let digitShiftAmount = (shiftAmount / 16)[$truncate]();
        xUsed = dart.notNull(xUsed) - digitShiftAmount;
        yUsed = dart.notNull(yUsed) - digitShiftAmount;
        maxUsed = dart.notNull(maxUsed) - digitShiftAmount;
      }
      if ((dart.notNull(yDigits[$_get](0)) & 1) === 1) {
        let tmpDigits = xDigits;
        let tmpUsed = xUsed;
        xDigits = yDigits;
        xUsed = yUsed;
        yDigits = tmpDigits;
        yUsed = tmpUsed;
      }
    }
    let uDigits = core._BigIntImpl._cloneDigits(xDigits, 0, xUsed, unshiftedMaxUsed);
    let vDigits = core._BigIntImpl._cloneDigits(yDigits, 0, yUsed, dart.notNull(unshiftedMaxUsed) + 2);
    let ac = (dart.notNull(xDigits[$_get](0)) & 1) === 0;
    let abcdUsed = dart.notNull(maxUsed) + 1;
    let abcdLen = abcdUsed + 2;
    let aDigits = core._dummyList;
    let aIsNegative = false;
    let cDigits = core._dummyList;
    let cIsNegative = false;
    if (ac) {
      aDigits = _native_typed_data.NativeUint16List.new(abcdLen);
      aDigits[$_set](0, 1);
      cDigits = _native_typed_data.NativeUint16List.new(abcdLen);
    }
    let bDigits = _native_typed_data.NativeUint16List.new(abcdLen);
    let bIsNegative = false;
    let dDigits = _native_typed_data.NativeUint16List.new(abcdLen);
    let dIsNegative = false;
    dDigits[$_set](0, 1);
    while (true) {
      while ((dart.notNull(uDigits[$_get](0)) & 1) === 0) {
        core._BigIntImpl._rsh(uDigits, maxUsed, 1, uDigits);
        if (ac) {
          if ((dart.notNull(aDigits[$_get](0)) & 1) === 1 || (dart.notNull(bDigits[$_get](0)) & 1) === 1) {
            if (aIsNegative) {
              if (aDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(aDigits, maxUsed, yDigits, maxUsed)) > 0) {
                core._BigIntImpl._absSub(aDigits, abcdUsed, yDigits, maxUsed, aDigits);
              } else {
                core._BigIntImpl._absSub(yDigits, maxUsed, aDigits, maxUsed, aDigits);
                aIsNegative = false;
              }
            } else {
              core._BigIntImpl._absAdd(aDigits, abcdUsed, yDigits, maxUsed, aDigits);
            }
            if (bIsNegative) {
              core._BigIntImpl._absAdd(bDigits, abcdUsed, xDigits, maxUsed, bDigits);
            } else if (bDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(bDigits, maxUsed, xDigits, maxUsed)) > 0) {
              core._BigIntImpl._absSub(bDigits, abcdUsed, xDigits, maxUsed, bDigits);
            } else {
              core._BigIntImpl._absSub(xDigits, maxUsed, bDigits, maxUsed, bDigits);
              bIsNegative = true;
            }
          }
          core._BigIntImpl._rsh(aDigits, abcdUsed, 1, aDigits);
        } else if ((dart.notNull(bDigits[$_get](0)) & 1) === 1) {
          if (bIsNegative) {
            core._BigIntImpl._absAdd(bDigits, abcdUsed, xDigits, maxUsed, bDigits);
          } else if (bDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(bDigits, maxUsed, xDigits, maxUsed)) > 0) {
            core._BigIntImpl._absSub(bDigits, abcdUsed, xDigits, maxUsed, bDigits);
          } else {
            core._BigIntImpl._absSub(xDigits, maxUsed, bDigits, maxUsed, bDigits);
            bIsNegative = true;
          }
        }
        core._BigIntImpl._rsh(bDigits, abcdUsed, 1, bDigits);
      }
      while ((dart.notNull(vDigits[$_get](0)) & 1) === 0) {
        core._BigIntImpl._rsh(vDigits, maxUsed, 1, vDigits);
        if (ac) {
          if ((dart.notNull(cDigits[$_get](0)) & 1) === 1 || (dart.notNull(dDigits[$_get](0)) & 1) === 1) {
            if (cIsNegative) {
              if (cDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(cDigits, maxUsed, yDigits, maxUsed)) > 0) {
                core._BigIntImpl._absSub(cDigits, abcdUsed, yDigits, maxUsed, cDigits);
              } else {
                core._BigIntImpl._absSub(yDigits, maxUsed, cDigits, maxUsed, cDigits);
                cIsNegative = false;
              }
            } else {
              core._BigIntImpl._absAdd(cDigits, abcdUsed, yDigits, maxUsed, cDigits);
            }
            if (dIsNegative) {
              core._BigIntImpl._absAdd(dDigits, abcdUsed, xDigits, maxUsed, dDigits);
            } else if (dDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(dDigits, maxUsed, xDigits, maxUsed)) > 0) {
              core._BigIntImpl._absSub(dDigits, abcdUsed, xDigits, maxUsed, dDigits);
            } else {
              core._BigIntImpl._absSub(xDigits, maxUsed, dDigits, maxUsed, dDigits);
              dIsNegative = true;
            }
          }
          core._BigIntImpl._rsh(cDigits, abcdUsed, 1, cDigits);
        } else if ((dart.notNull(dDigits[$_get](0)) & 1) === 1) {
          if (dIsNegative) {
            core._BigIntImpl._absAdd(dDigits, abcdUsed, xDigits, maxUsed, dDigits);
          } else if (dDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(dDigits, maxUsed, xDigits, maxUsed)) > 0) {
            core._BigIntImpl._absSub(dDigits, abcdUsed, xDigits, maxUsed, dDigits);
          } else {
            core._BigIntImpl._absSub(xDigits, maxUsed, dDigits, maxUsed, dDigits);
            dIsNegative = true;
          }
        }
        core._BigIntImpl._rsh(dDigits, abcdUsed, 1, dDigits);
      }
      if (dart.notNull(core._BigIntImpl._compareDigits(uDigits, maxUsed, vDigits, maxUsed)) >= 0) {
        core._BigIntImpl._absSub(uDigits, maxUsed, vDigits, maxUsed, uDigits);
        if (ac) {
          if (aIsNegative === cIsNegative) {
            let a_cmp_c = core._BigIntImpl._compareDigits(aDigits, abcdUsed, cDigits, abcdUsed);
            if (dart.notNull(a_cmp_c) > 0) {
              core._BigIntImpl._absSub(aDigits, abcdUsed, cDigits, abcdUsed, aDigits);
            } else {
              core._BigIntImpl._absSub(cDigits, abcdUsed, aDigits, abcdUsed, aDigits);
              aIsNegative = !aIsNegative && a_cmp_c !== 0;
            }
          } else {
            core._BigIntImpl._absAdd(aDigits, abcdUsed, cDigits, abcdUsed, aDigits);
          }
        }
        if (bIsNegative === dIsNegative) {
          let b_cmp_d = core._BigIntImpl._compareDigits(bDigits, abcdUsed, dDigits, abcdUsed);
          if (dart.notNull(b_cmp_d) > 0) {
            core._BigIntImpl._absSub(bDigits, abcdUsed, dDigits, abcdUsed, bDigits);
          } else {
            core._BigIntImpl._absSub(dDigits, abcdUsed, bDigits, abcdUsed, bDigits);
            bIsNegative = !bIsNegative && b_cmp_d !== 0;
          }
        } else {
          core._BigIntImpl._absAdd(bDigits, abcdUsed, dDigits, abcdUsed, bDigits);
        }
      } else {
        core._BigIntImpl._absSub(vDigits, maxUsed, uDigits, maxUsed, vDigits);
        if (ac) {
          if (cIsNegative === aIsNegative) {
            let c_cmp_a = core._BigIntImpl._compareDigits(cDigits, abcdUsed, aDigits, abcdUsed);
            if (dart.notNull(c_cmp_a) > 0) {
              core._BigIntImpl._absSub(cDigits, abcdUsed, aDigits, abcdUsed, cDigits);
            } else {
              core._BigIntImpl._absSub(aDigits, abcdUsed, cDigits, abcdUsed, cDigits);
              cIsNegative = !cIsNegative && c_cmp_a !== 0;
            }
          } else {
            core._BigIntImpl._absAdd(cDigits, abcdUsed, aDigits, abcdUsed, cDigits);
          }
        }
        if (dIsNegative === bIsNegative) {
          let d_cmp_b = core._BigIntImpl._compareDigits(dDigits, abcdUsed, bDigits, abcdUsed);
          if (dart.notNull(d_cmp_b) > 0) {
            core._BigIntImpl._absSub(dDigits, abcdUsed, bDigits, abcdUsed, dDigits);
          } else {
            core._BigIntImpl._absSub(bDigits, abcdUsed, dDigits, abcdUsed, dDigits);
            dIsNegative = !dIsNegative && d_cmp_b !== 0;
          }
        } else {
          core._BigIntImpl._absAdd(dDigits, abcdUsed, bDigits, abcdUsed, dDigits);
        }
      }
      let i = maxUsed;
      while (dart.notNull(i) > 0 && uDigits[$_get](dart.notNull(i) - 1) === 0)
        i = dart.notNull(i) - 1;
      if (i === 0) break;
    }
    if (!dart.test(inv)) {
      if (shiftAmount > 0) {
        maxUsed = core._BigIntImpl._lShiftDigits(vDigits, maxUsed, shiftAmount, vDigits);
      }
      return new core._BigIntImpl.__(false, maxUsed, vDigits);
    }
    let i = dart.notNull(maxUsed) - 1;
    while (i > 0 && vDigits[$_get](i) === 0)
      i = i - 1;
    if (i !== 0 || vDigits[$_get](0) !== 1) {
      dart.throw(core.Exception.new("Not coprime"));
    }
    if (dIsNegative) {
      while (dDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(dDigits, maxUsed, xDigits, maxUsed)) > 0) {
        core._BigIntImpl._absSub(dDigits, abcdUsed, xDigits, maxUsed, dDigits);
      }
      core._BigIntImpl._absSub(xDigits, maxUsed, dDigits, maxUsed, dDigits);
      dIsNegative = false;
    } else {
      while (dDigits[$_get](maxUsed) !== 0 || dart.notNull(core._BigIntImpl._compareDigits(dDigits, maxUsed, xDigits, maxUsed)) >= 0) {
        core._BigIntImpl._absSub(dDigits, abcdUsed, xDigits, maxUsed, dDigits);
      }
    }
    return new core._BigIntImpl.__(false, maxUsed, dDigits);
  }
  modInverse(modulus) {
    core._BigIntImpl.as(modulus);
    if (modulus == null) dart.nullFailed(I[7], 2632, 48, "modulus");
    if (dart.test(modulus['<='](core._BigIntImpl.zero))) {
      dart.throw(new core.ArgumentError.new("Modulus must be strictly positive: " + dart.str(modulus)));
    }
    if (dart.equals(modulus, core._BigIntImpl.one)) return core._BigIntImpl.zero;
    let tmp = this;
    if (dart.test(tmp[_isNegative]) || dart.notNull(tmp[_absCompare](modulus)) >= 0) {
      tmp = tmp['%'](modulus);
    }
    return core._BigIntImpl._binaryGcd(modulus, tmp, true);
  }
  gcd(other) {
    core._BigIntImpl.as(other);
    if (other == null) dart.nullFailed(I[7], 2657, 41, "other");
    if (dart.test(this[_isZero])) return other.abs();
    if (dart.test(other[_isZero])) return this.abs();
    return core._BigIntImpl._binaryGcd(this, other, false);
  }
  toUnsigned(width) {
    if (width == null) dart.nullFailed(I[7], 2689, 30, "width");
    return this['&'](core._BigIntImpl.one['<<'](width)['-'](core._BigIntImpl.one));
  }
  toSigned(width) {
    if (width == null) dart.nullFailed(I[7], 2727, 28, "width");
    let signMask = core._BigIntImpl.one['<<'](dart.notNull(width) - 1);
    return this['&'](signMask['-'](core._BigIntImpl.one))['-'](this['&'](signMask));
  }
  get isValidInt() {
    if (dart.notNull(this[_used$]) <= 3) return true;
    let asInt = this.toInt();
    if (!asInt[$toDouble]()[$isFinite]) return false;
    return this._equals(core._BigIntImpl._fromInt(asInt));
  }
  toInt() {
    let result = 0;
    for (let i = dart.notNull(this[_used$]) - 1; i >= 0; i = i - 1) {
      result = result * 65536 + dart.notNull(this[_digits$][$_get](i));
    }
    return dart.test(this[_isNegative]) ? -result : result;
  }
  toDouble() {
    let t248, t247, t248$, t247$;
    if (dart.test(this[_isZero])) return 0.0;
    let resultBits = _native_typed_data.NativeUint8List.new(8);
    let length = 16 * (dart.notNull(this[_used$]) - 1) + this[_digits$][$_get](dart.notNull(this[_used$]) - 1)[$bitLength];
    if (length > 971 + 53) {
      return dart.test(this[_isNegative]) ? -1 / 0 : 1 / 0;
    }
    if (dart.test(this[_isNegative])) resultBits[$_set](7, 128);
    let biasedExponent = length - 53 + 1075;
    resultBits[$_set](6, (biasedExponent & 15) << 4);
    t247 = resultBits;
    t248 = 7;
    t247[$_set](t248, (dart.notNull(t247[$_get](t248)) | biasedExponent[$rightShift](4)) >>> 0);
    let cachedBits = 0;
    let cachedBitsLength = 0;
    let digitIndex = dart.notNull(this[_used$]) - 1;
    const readBits = n => {
      if (n == null) dart.nullFailed(I[7], 2790, 22, "n");
      while (cachedBitsLength < dart.notNull(n)) {
        let nextDigit = null;
        let nextDigitLength = 16;
        if (digitIndex < 0) {
          nextDigit = 0;
          digitIndex = digitIndex - 1;
        } else {
          nextDigit = this[_digits$][$_get](digitIndex);
          if (digitIndex === dart.notNull(this[_used$]) - 1) nextDigitLength = nextDigit[$bitLength];
          digitIndex = digitIndex - 1;
        }
        cachedBits = cachedBits[$leftShift](nextDigitLength) + dart.notNull(nextDigit);
        cachedBitsLength = cachedBitsLength + nextDigitLength;
      }
      let result = cachedBits[$rightShift](cachedBitsLength - dart.notNull(n));
      cachedBits = cachedBits - result[$leftShift](cachedBitsLength - dart.notNull(n));
      cachedBitsLength = cachedBitsLength - dart.notNull(n);
      return result;
    };
    dart.fn(readBits, T$0.intToint());
    let leadingBits = dart.notNull(readBits(5)) & 15;
    t247$ = resultBits;
    t248$ = 6;
    t247$[$_set](t248$, (dart.notNull(t247$[$_get](t248$)) | leadingBits) >>> 0);
    for (let i = 5; i >= 0; i = i - 1) {
      resultBits[$_set](i, readBits(8));
    }
    function roundUp() {
      let carry = 1;
      for (let i = 0; i < 8; i = i + 1) {
        if (carry === 0) break;
        let sum = dart.notNull(resultBits[$_get](i)) + carry;
        resultBits[$_set](i, sum & 255);
        carry = sum[$rightShift](8);
      }
    }
    dart.fn(roundUp, T$.VoidTovoid());
    if (readBits(1) === 1) {
      if (resultBits[$_get](0)[$isOdd]) {
        roundUp();
      } else {
        if (cachedBits !== 0) {
          roundUp();
        } else {
          for (let i = digitIndex; i >= 0; i = i - 1) {
            if (this[_digits$][$_get](i) !== 0) {
              roundUp();
              break;
            }
          }
        }
      }
    }
    return resultBits[$buffer][$asByteData]()[$getFloat64](0, typed_data.Endian.little);
  }
  toString() {
    if (this[_used$] === 0) return "0";
    if (this[_used$] === 1) {
      if (dart.test(this[_isNegative])) return (-dart.notNull(this[_digits$][$_get](0)))[$toString]();
      return dart.toString(this[_digits$][$_get](0));
    }
    let decimalDigitChunks = T$.JSArrayOfString().of([]);
    let rest = dart.test(this.isNegative) ? this._negate() : this;
    while (dart.notNull(rest[_used$]) > 1) {
      let digits4 = dart.toString(rest.remainder(core._BigIntImpl._bigInt10000));
      decimalDigitChunks[$add](digits4);
      if (digits4.length === 1) decimalDigitChunks[$add]("000");
      if (digits4.length === 2) decimalDigitChunks[$add]("00");
      if (digits4.length === 3) decimalDigitChunks[$add]("0");
      rest = rest['~/'](core._BigIntImpl._bigInt10000);
    }
    decimalDigitChunks[$add](dart.toString(rest[_digits$][$_get](0)));
    if (dart.test(this[_isNegative])) decimalDigitChunks[$add]("-");
    return decimalDigitChunks[$reversed][$join]();
  }
  [_toRadixCodeUnit](digit) {
    if (digit == null) dart.nullFailed(I[7], 2890, 28, "digit");
    if (dart.notNull(digit) < 10) return 48 + dart.notNull(digit);
    return 97 + dart.notNull(digit) - 10;
  }
  toRadixString(radix) {
    if (radix == null) dart.nullFailed(I[7], 2905, 28, "radix");
    if (dart.notNull(radix) > 36) dart.throw(new core.RangeError.range(radix, 2, 36));
    if (this[_used$] === 0) return "0";
    if (this[_used$] === 1) {
      let digitString = this[_digits$][$_get](0)[$toRadixString](radix);
      if (dart.test(this[_isNegative])) return "-" + digitString;
      return digitString;
    }
    if (radix === 16) return this[_toHexString]();
    let base = core._BigIntImpl._fromInt(radix);
    let reversedDigitCodeUnits = T$.JSArrayOfint().of([]);
    let rest = this.abs();
    while (!dart.test(rest[_isZero])) {
      let digit = rest.remainder(base).toInt();
      rest = rest['~/'](base);
      reversedDigitCodeUnits[$add](this[_toRadixCodeUnit](digit));
    }
    let digitString = core.String.fromCharCodes(reversedDigitCodeUnits[$reversed]);
    if (dart.test(this[_isNegative])) return "-" + dart.notNull(digitString);
    return digitString;
  }
  [_toHexString]() {
    let chars = T$.JSArrayOfint().of([]);
    for (let i = 0; i < dart.notNull(this[_used$]) - 1; i = i + 1) {
      let chunk = this[_digits$][$_get](i);
      for (let j = 0; j < (16 / 4)[$truncate](); j = j + 1) {
        chars[$add](this[_toRadixCodeUnit](dart.notNull(chunk) & 15));
        chunk = chunk[$rightShift](4);
      }
    }
    let msbChunk = this[_digits$][$_get](dart.notNull(this[_used$]) - 1);
    while (msbChunk !== 0) {
      chars[$add](this[_toRadixCodeUnit](dart.notNull(msbChunk) & 15));
      msbChunk = msbChunk[$rightShift](4);
    }
    if (dart.test(this[_isNegative])) {
      chars[$add](45);
    }
    return core.String.fromCharCodes(chars[$reversed]);
  }
};
(core._BigIntImpl.__ = function(isNegative, used, digits) {
  if (isNegative == null) dart.nullFailed(I[7], 1210, 22, "isNegative");
  if (used == null) dart.nullFailed(I[7], 1210, 38, "used");
  if (digits == null) dart.nullFailed(I[7], 1210, 55, "digits");
  core._BigIntImpl._normalized.call(this, isNegative, core._BigIntImpl._normalize(used, digits), digits);
}).prototype = core._BigIntImpl.prototype;
(core._BigIntImpl._normalized = function(isNegative, _used, _digits) {
  if (isNegative == null) dart.nullFailed(I[7], 1213, 32, "isNegative");
  if (_used == null) dart.nullFailed(I[7], 1213, 49, "_used");
  if (_digits == null) dart.nullFailed(I[7], 1213, 61, "_digits");
  this[_used$] = _used;
  this[_digits$] = _digits;
  this[_isNegative] = _used === 0 ? false : isNegative;
  ;
}).prototype = core._BigIntImpl.prototype;
dart.addTypeTests(core._BigIntImpl);
dart.addTypeCaches(core._BigIntImpl);
core._BigIntImpl[dart.implements] = () => [core.BigInt];
dart.setMethodSignature(core._BigIntImpl, () => ({
  __proto__: dart.getMethods(core._BigIntImpl.__proto__),
  _negate: dart.fnType(core._BigIntImpl, []),
  abs: dart.fnType(core._BigIntImpl, []),
  [_dlShift]: dart.fnType(core._BigIntImpl, [core.int]),
  [_drShift]: dart.fnType(core._BigIntImpl, [core.int]),
  '<<': dart.fnType(core._BigIntImpl, [core.int]),
  '>>': dart.fnType(core._BigIntImpl, [core.int]),
  [_absCompare]: dart.fnType(core.int, [core._BigIntImpl]),
  compareTo: dart.fnType(core.int, [dart.nullable(core.Object)]),
  [$compareTo]: dart.fnType(core.int, [dart.nullable(core.Object)]),
  [_absAddSetSign]: dart.fnType(core._BigIntImpl, [core._BigIntImpl, core.bool]),
  [_absSubSetSign]: dart.fnType(core._BigIntImpl, [core._BigIntImpl, core.bool]),
  [_absAndSetSign]: dart.fnType(core._BigIntImpl, [core._BigIntImpl, core.bool]),
  [_absAndNotSetSign]: dart.fnType(core._BigIntImpl, [core._BigIntImpl, core.bool]),
  [_absOrSetSign]: dart.fnType(core._BigIntImpl, [core._BigIntImpl, core.bool]),
  [_absXorSetSign]: dart.fnType(core._BigIntImpl, [core._BigIntImpl, core.bool]),
  '&': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  '|': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  '^': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  '~': dart.fnType(core._BigIntImpl, []),
  '+': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  '-': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  '*': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  [_div]: dart.fnType(core._BigIntImpl, [core._BigIntImpl]),
  [_rem]: dart.fnType(core._BigIntImpl, [core._BigIntImpl]),
  [_divRem]: dart.fnType(dart.void, [core._BigIntImpl]),
  '~/': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  remainder: dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  '/': dart.fnType(core.double, [core.BigInt]),
  '<': dart.fnType(core.bool, [dart.nullable(core.Object)]),
  '<=': dart.fnType(core.bool, [dart.nullable(core.Object)]),
  '>': dart.fnType(core.bool, [dart.nullable(core.Object)]),
  '>=': dart.fnType(core.bool, [dart.nullable(core.Object)]),
  '%': dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  pow: dart.fnType(core._BigIntImpl, [core.int]),
  modPow: dart.fnType(core._BigIntImpl, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  modInverse: dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  gcd: dart.fnType(core._BigIntImpl, [dart.nullable(core.Object)]),
  toUnsigned: dart.fnType(core._BigIntImpl, [core.int]),
  toSigned: dart.fnType(core._BigIntImpl, [core.int]),
  toInt: dart.fnType(core.int, []),
  toDouble: dart.fnType(core.double, []),
  [_toRadixCodeUnit]: dart.fnType(core.int, [core.int]),
  toRadixString: dart.fnType(core.String, [core.int]),
  [_toHexString]: dart.fnType(core.String, [])
}));
dart.setGetterSignature(core._BigIntImpl, () => ({
  __proto__: dart.getGetters(core._BigIntImpl.__proto__),
  [_isZero]: core.bool,
  bitLength: core.int,
  sign: core.int,
  isEven: core.bool,
  isOdd: core.bool,
  isNegative: core.bool,
  isValidInt: core.bool
}));
dart.setLibraryUri(core._BigIntImpl, I[9]);
dart.setFieldSignature(core._BigIntImpl, () => ({
  __proto__: dart.getFields(core._BigIntImpl.__proto__),
  [_isNegative]: dart.finalFieldType(core.bool),
  [_digits$]: dart.finalFieldType(typed_data.Uint16List),
  [_used$]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(core._BigIntImpl, ['compareTo', '_equals', 'toString']);
dart.defineExtensionAccessors(core._BigIntImpl, ['hashCode']);
dart.defineLazy(core._BigIntImpl, {
  /*core._BigIntImpl._digitBits*/get _digitBits() {
    return 16;
  },
  /*core._BigIntImpl._digitBase*/get _digitBase() {
    return 65536;
  },
  /*core._BigIntImpl._digitMask*/get _digitMask() {
    return 65535;
  },
  /*core._BigIntImpl.zero*/get zero() {
    return core._BigIntImpl._fromInt(0);
  },
  /*core._BigIntImpl.one*/get one() {
    return core._BigIntImpl._fromInt(1);
  },
  /*core._BigIntImpl.two*/get two() {
    return core._BigIntImpl._fromInt(2);
  },
  /*core._BigIntImpl._minusOne*/get _minusOne() {
    return core._BigIntImpl.one._negate();
  },
  /*core._BigIntImpl._bigInt10000*/get _bigInt10000() {
    return core._BigIntImpl._fromInt(10000);
  },
  /*core._BigIntImpl._lastDividendDigits*/get _lastDividendDigits() {
    return null;
  },
  set _lastDividendDigits(_) {},
  /*core._BigIntImpl._lastDividendUsed*/get _lastDividendUsed() {
    return null;
  },
  set _lastDividendUsed(_) {},
  /*core._BigIntImpl._lastDivisorDigits*/get _lastDivisorDigits() {
    return null;
  },
  set _lastDivisorDigits(_) {},
  /*core._BigIntImpl._lastDivisorUsed*/get _lastDivisorUsed() {
    return null;
  },
  set _lastDivisorUsed(_) {},
  /*core._BigIntImpl._lastQuoRemDigits*/get _lastQuoRemDigits() {
    return null;
  },
  set _lastQuoRemDigits(_) {},
  /*core._BigIntImpl._lastQuoRemUsed*/get _lastQuoRemUsed() {
    return null;
  },
  set _lastQuoRemUsed(_) {},
  /*core._BigIntImpl._lastRemUsed*/get _lastRemUsed() {
    return null;
  },
  set _lastRemUsed(_) {},
  /*core._BigIntImpl._lastRem_nsh*/get _lastRem_nsh() {
    return null;
  },
  set _lastRem_nsh(_) {},
  /*core._BigIntImpl._parseRE*/get _parseRE() {
    return core.RegExp.new("^\\s*([+-]?)((0x[a-f0-9]+)|(\\d+)|([a-z0-9]+))\\s*$", {caseSensitive: false});
  },
  set _parseRE(_) {},
  /*core._BigIntImpl._bitsForFromDouble*/get _bitsForFromDouble() {
    return _native_typed_data.NativeUint8List.new(8);
  },
  /*core._BigIntImpl._simpleValidIntDigits*/get _simpleValidIntDigits() {
    return 3;
  }
}, false);
core._BigIntReduction = class _BigIntReduction extends core.Object {};
(core._BigIntReduction.new = function() {
  ;
}).prototype = core._BigIntReduction.prototype;
dart.addTypeTests(core._BigIntReduction);
dart.addTypeCaches(core._BigIntReduction);
dart.setLibraryUri(core._BigIntReduction, I[9]);
var _modulus$ = dart.privateName(core, "_modulus");
var _normalizedModulus = dart.privateName(core, "_normalizedModulus");
var _reduce = dart.privateName(core, "_reduce");
core._BigIntClassic = class _BigIntClassic extends core.Object {
  convert(x, resultDigits) {
    if (x == null) dart.nullFailed(I[7], 2975, 27, "x");
    if (resultDigits == null) dart.nullFailed(I[7], 2975, 41, "resultDigits");
    let digits = null;
    let used = null;
    if (dart.test(x[_isNegative]) || dart.notNull(x[_absCompare](this[_modulus$])) >= 0) {
      let remainder = x[_rem](this[_modulus$]);
      if (dart.test(x[_isNegative]) && dart.notNull(remainder[_used$]) > 0) {
        if (!dart.test(remainder[_isNegative])) dart.assertFailed(null, I[7], 2981, 16, "remainder._isNegative");
        remainder = remainder['+'](this[_modulus$]);
      }
      if (!!dart.test(remainder[_isNegative])) dart.assertFailed(null, I[7], 2984, 14, "!remainder._isNegative");
      used = remainder[_used$];
      digits = remainder[_digits$];
    } else {
      used = x[_used$];
      digits = x[_digits$];
    }
    let i = used;
    while ((i = dart.notNull(i) - 1) >= 0) {
      resultDigits[$_set](i, digits[$_get](i));
    }
    return used;
  }
  revert(xDigits, xUsed) {
    if (xDigits == null) dart.nullFailed(I[7], 2998, 33, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 2998, 46, "xUsed");
    return new core._BigIntImpl.__(false, xUsed, xDigits);
  }
  [_reduce](xDigits, xUsed) {
    if (xDigits == null) dart.nullFailed(I[7], 3002, 26, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 3002, 39, "xUsed");
    if (dart.notNull(xUsed) < dart.notNull(this[_modulus$][_used$])) {
      return xUsed;
    }
    let reverted = this.revert(xDigits, xUsed);
    let rem = reverted[_rem](this[_normalizedModulus]);
    return this.convert(rem, xDigits);
  }
  sqr(xDigits, xUsed, resultDigits) {
    if (xDigits == null) dart.nullFailed(I[7], 3011, 22, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 3011, 35, "xUsed");
    if (resultDigits == null) dart.nullFailed(I[7], 3011, 53, "resultDigits");
    let b = new core._BigIntImpl.__(false, xUsed, xDigits);
    let b2 = b['*'](b);
    for (let i = 0; i < dart.notNull(b2[_used$]); i = i + 1) {
      resultDigits[$_set](i, b2[_digits$][$_get](i));
    }
    for (let i = b2[_used$]; dart.notNull(i) < 2 * dart.notNull(xUsed); i = dart.notNull(i) + 1) {
      resultDigits[$_set](i, 0);
    }
    return this[_reduce](resultDigits, 2 * dart.notNull(xUsed));
  }
  mul(xDigits, xUsed, yDigits, yUsed, resultDigits) {
    if (xDigits == null) dart.nullFailed(I[7], 3023, 22, "xDigits");
    if (xUsed == null) dart.nullFailed(I[7], 3023, 35, "xUsed");
    if (yDigits == null) dart.nullFailed(I[7], 3023, 53, "yDigits");
    if (yUsed == null) dart.nullFailed(I[7], 3023, 66, "yUsed");
    if (resultDigits == null) dart.nullFailed(I[7], 3024, 18, "resultDigits");
    let resultUsed = core._BigIntImpl._mulDigits(xDigits, xUsed, yDigits, yUsed, resultDigits);
    return this[_reduce](resultDigits, resultUsed);
  }
};
(core._BigIntClassic.new = function(_modulus) {
  if (_modulus == null) dart.nullFailed(I[7], 2970, 23, "_modulus");
  this[_modulus$] = _modulus;
  this[_normalizedModulus] = _modulus['<<'](16 - _modulus[_digits$][$_get](dart.notNull(_modulus[_used$]) - 1)[$bitLength]);
  ;
}).prototype = core._BigIntClassic.prototype;
dart.addTypeTests(core._BigIntClassic);
dart.addTypeCaches(core._BigIntClassic);
core._BigIntClassic[dart.implements] = () => [core._BigIntReduction];
dart.setMethodSignature(core._BigIntClassic, () => ({
  __proto__: dart.getMethods(core._BigIntClassic.__proto__),
  convert: dart.fnType(core.int, [core._BigIntImpl, typed_data.Uint16List]),
  revert: dart.fnType(core._BigIntImpl, [typed_data.Uint16List, core.int]),
  [_reduce]: dart.fnType(core.int, [typed_data.Uint16List, core.int]),
  sqr: dart.fnType(core.int, [typed_data.Uint16List, core.int, typed_data.Uint16List]),
  mul: dart.fnType(core.int, [typed_data.Uint16List, core.int, typed_data.Uint16List, core.int, typed_data.Uint16List])
}));
dart.setLibraryUri(core._BigIntClassic, I[9]);
dart.setFieldSignature(core._BigIntClassic, () => ({
  __proto__: dart.getFields(core._BigIntClassic.__proto__),
  [_modulus$]: dart.finalFieldType(core._BigIntImpl),
  [_normalizedModulus]: dart.finalFieldType(core._BigIntImpl)
}));
var message$11 = dart.privateName(core, "Deprecated.message");
core.Deprecated = class Deprecated extends core.Object {
  get message() {
    return this[message$11];
  }
  set message(value) {
    super.message = value;
  }
  get expires() {
    return this.message;
  }
  toString() {
    return "Deprecated feature: " + dart.str(this.message);
  }
};
(core.Deprecated.new = function(message) {
  if (message == null) dart.nullFailed(I[165], 77, 25, "message");
  this[message$11] = message;
  ;
}).prototype = core.Deprecated.prototype;
dart.addTypeTests(core.Deprecated);
dart.addTypeCaches(core.Deprecated);
dart.setGetterSignature(core.Deprecated, () => ({
  __proto__: dart.getGetters(core.Deprecated.__proto__),
  expires: core.String
}));
dart.setLibraryUri(core.Deprecated, I[9]);
dart.setFieldSignature(core.Deprecated, () => ({
  __proto__: dart.getFields(core.Deprecated.__proto__),
  message: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(core.Deprecated, ['toString']);
core._Override = class _Override extends core.Object {};
(core._Override.new = function() {
  ;
}).prototype = core._Override.prototype;
dart.addTypeTests(core._Override);
dart.addTypeCaches(core._Override);
dart.setLibraryUri(core._Override, I[9]);
core.Provisional = class Provisional extends core.Object {
  get message() {
    return null;
  }
};
(core.Provisional.new = function(opts) {
  let message = opts && 'message' in opts ? opts.message : null;
  ;
}).prototype = core.Provisional.prototype;
dart.addTypeTests(core.Provisional);
dart.addTypeCaches(core.Provisional);
dart.setGetterSignature(core.Provisional, () => ({
  __proto__: dart.getGetters(core.Provisional.__proto__),
  message: dart.nullable(core.String)
}));
dart.setLibraryUri(core.Provisional, I[9]);
var name$12 = dart.privateName(core, "pragma.name");
var options$ = dart.privateName(core, "pragma.options");
core.pragma = class pragma extends core.Object {
  get name() {
    return this[name$12];
  }
  set name(value) {
    super.name = value;
  }
  get options() {
    return this[options$];
  }
  set options(value) {
    super.options = value;
  }
};
(core.pragma.__ = function(name, options = null) {
  if (name == null) dart.nullFailed(I[165], 188, 23, "name");
  this[name$12] = name;
  this[options$] = options;
  ;
}).prototype = core.pragma.prototype;
dart.addTypeTests(core.pragma);
dart.addTypeCaches(core.pragma);
dart.setLibraryUri(core.pragma, I[9]);
dart.setFieldSignature(core.pragma, () => ({
  __proto__: dart.getFields(core.pragma.__proto__),
  name: dart.finalFieldType(core.String),
  options: dart.finalFieldType(dart.nullable(core.Object))
}));
core.BigInt = class BigInt extends core.Object {
  static get zero() {
    return core._BigIntImpl.zero;
  }
  static get one() {
    return core._BigIntImpl.one;
  }
  static get two() {
    return core._BigIntImpl.two;
  }
  static parse(source, opts) {
    if (source == null) dart.nullFailed(I[7], 261, 30, "source");
    let radix = opts && 'radix' in opts ? opts.radix : null;
    return core._BigIntImpl.parse(source, {radix: radix});
  }
  static tryParse(source, opts) {
    if (source == null) dart.nullFailed(I[7], 265, 34, "source");
    let radix = opts && 'radix' in opts ? opts.radix : null;
    return core._BigIntImpl._tryParse(source, {radix: radix});
  }
};
(core.BigInt[dart.mixinNew] = function() {
}).prototype = core.BigInt.prototype;
dart.addTypeTests(core.BigInt);
dart.addTypeCaches(core.BigInt);
core.BigInt[dart.implements] = () => [core.Comparable$(core.BigInt)];
dart.setLibraryUri(core.BigInt, I[9]);
core.bool = class bool extends core.Object {
  static is(o) {
    return o === true || o === false;
  }
  static as(o) {
    if (o === true || o === false) return o;
    return dart.as(o, core.bool);
  }
  static fromEnvironment(name, opts) {
    if (name == null) dart.nullFailed(I[7], 656, 39, "name");
    let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : false;
    if (defaultValue == null) dart.nullFailed(I[7], 656, 51, "defaultValue");
    dart.throw(new core.UnsupportedError.new("bool.fromEnvironment can only be used as a const constructor"));
  }
  static hasEnvironment(name) {
    if (name == null) dart.nullFailed(I[7], 663, 38, "name");
    dart.throw(new core.UnsupportedError.new("bool.hasEnvironment can only be used as a const constructor"));
  }
  get [$hashCode]() {
    return super[$hashCode];
  }
  [$bitAnd](other) {
    if (other == null) dart.nullFailed(I[166], 93, 24, "other");
    return dart.test(other) && this;
  }
  [$bitOr](other) {
    if (other == null) dart.nullFailed(I[166], 99, 24, "other");
    return dart.test(other) || this;
  }
  [$bitXor](other) {
    if (other == null) dart.nullFailed(I[166], 105, 24, "other");
    return !dart.test(other) === this;
  }
  [$toString]() {
    return this ? "true" : "false";
  }
};
(core.bool[dart.mixinNew] = function() {
}).prototype = core.bool.prototype;
dart.addTypeCaches(core.bool);
dart.setMethodSignature(core.bool, () => ({
  __proto__: dart.getMethods(core.bool.__proto__),
  [$bitAnd]: dart.fnType(core.bool, [core.bool]),
  [$bitOr]: dart.fnType(core.bool, [core.bool]),
  [$bitXor]: dart.fnType(core.bool, [core.bool])
}));
dart.setLibraryUri(core.bool, I[9]);
const _is_Comparable_default = Symbol('_is_Comparable_default');
core.Comparable$ = dart.generic(T => {
  class Comparable extends core.Object {
    static compare(a, b) {
      if (a == null) dart.nullFailed(I[167], 88, 33, "a");
      if (b == null) dart.nullFailed(I[167], 88, 47, "b");
      return a[$compareTo](b);
    }
  }
  (Comparable.new = function() {
    ;
  }).prototype = Comparable.prototype;
  dart.addTypeTests(Comparable);
  Comparable.prototype[_is_Comparable_default] = true;
  dart.addTypeCaches(Comparable);
  dart.setLibraryUri(Comparable, I[9]);
  return Comparable;
});
core.Comparable = core.Comparable$();
dart.addTypeTests(core.Comparable, _is_Comparable_default);
var isUtc$ = dart.privateName(core, "DateTime.isUtc");
var _value$4 = dart.privateName(core, "_value");
core.DateTime = class DateTime extends core.Object {
  get isUtc() {
    return this[isUtc$];
  }
  set isUtc(value) {
    super.isUtc = value;
  }
  static _microsecondInRoundedMilliseconds(microsecond) {
    if (microsecond == null) dart.nullFailed(I[7], 340, 52, "microsecond");
    return (dart.notNull(microsecond) / 1000)[$round]();
  }
  static parse(formattedString) {
    if (formattedString == null) dart.nullFailed(I[168], 272, 32, "formattedString");
    let re = core.DateTime._parseFormat;
    let match = re.firstMatch(formattedString);
    if (match != null) {
      function parseIntOrZero(matched) {
        if (matched == null) return 0;
        return core.int.parse(matched);
      }
      dart.fn(parseIntOrZero, T$0.StringNToint());
      function parseMilliAndMicroseconds(matched) {
        if (matched == null) return 0;
        let length = matched.length;
        if (!(length >= 1)) dart.assertFailed(null, I[168], 287, 16, "length >= 1");
        let result = 0;
        for (let i = 0; i < 6; i = i + 1) {
          result = result * 10;
          if (i < matched.length) {
            result = result + ((matched[$codeUnitAt](i) ^ 48) >>> 0);
          }
        }
        return result;
      }
      dart.fn(parseMilliAndMicroseconds, T$0.StringNToint());
      let years = core.int.parse(dart.nullCheck(match._get(1)));
      let month = core.int.parse(dart.nullCheck(match._get(2)));
      let day = core.int.parse(dart.nullCheck(match._get(3)));
      let hour = parseIntOrZero(match._get(4));
      let minute = parseIntOrZero(match._get(5));
      let second = parseIntOrZero(match._get(6));
      let milliAndMicroseconds = parseMilliAndMicroseconds(match._get(7));
      let millisecond = (dart.notNull(milliAndMicroseconds) / 1000)[$truncate]();
      let microsecond = milliAndMicroseconds[$remainder](1000);
      let isUtc = false;
      if (match._get(8) != null) {
        isUtc = true;
        let tzSign = match._get(9);
        if (tzSign != null) {
          let sign = tzSign === "-" ? -1 : 1;
          let hourDifference = core.int.parse(dart.nullCheck(match._get(10)));
          let minuteDifference = parseIntOrZero(match._get(11));
          minuteDifference = dart.notNull(minuteDifference) + 60 * dart.notNull(hourDifference);
          minute = dart.notNull(minute) - sign * dart.notNull(minuteDifference);
        }
      }
      let value = core.DateTime._brokenDownDateToValue(years, month, day, hour, minute, second, millisecond, microsecond, isUtc);
      if (value == null) {
        dart.throw(new core.FormatException.new("Time out of range", formattedString));
      }
      return new core.DateTime._withValue(value, {isUtc: isUtc});
    } else {
      dart.throw(new core.FormatException.new("Invalid date format", formattedString));
    }
  }
  static tryParse(formattedString) {
    if (formattedString == null) dart.nullFailed(I[168], 338, 36, "formattedString");
    try {
      return core.DateTime.parse(formattedString);
    } catch (e) {
      let ex = dart.getThrown(e);
      if (core.FormatException.is(ex)) {
        return null;
      } else
        throw e;
    }
  }
  _equals(other) {
    if (other == null) return false;
    return core.DateTime.is(other) && this[_value$4] == other.millisecondsSinceEpoch && this.isUtc == other.isUtc;
  }
  isBefore(other) {
    if (other == null) dart.nullFailed(I[7], 425, 26, "other");
    return dart.notNull(this[_value$4]) < dart.notNull(other.millisecondsSinceEpoch);
  }
  isAfter(other) {
    if (other == null) dart.nullFailed(I[7], 428, 25, "other");
    return dart.notNull(this[_value$4]) > dart.notNull(other.millisecondsSinceEpoch);
  }
  isAtSameMomentAs(other) {
    if (other == null) dart.nullFailed(I[7], 431, 34, "other");
    return this[_value$4] == other.millisecondsSinceEpoch;
  }
  compareTo(other) {
    if (other == null) dart.nullFailed(I[7], 435, 26, "other");
    return this[_value$4][$compareTo](other.millisecondsSinceEpoch);
  }
  get hashCode() {
    return (dart.notNull(this[_value$4]) ^ this[_value$4][$rightShift](30)) & 1073741823;
  }
  toLocal() {
    if (dart.test(this.isUtc)) {
      return new core.DateTime._withValue(this[_value$4], {isUtc: false});
    }
    return this;
  }
  toUtc() {
    if (dart.test(this.isUtc)) return this;
    return new core.DateTime._withValue(this[_value$4], {isUtc: true});
  }
  static _fourDigits(n) {
    if (n == null) dart.nullFailed(I[168], 500, 33, "n");
    let absN = n[$abs]();
    let sign = dart.notNull(n) < 0 ? "-" : "";
    if (absN >= 1000) return dart.str(n);
    if (absN >= 100) return sign + "0" + dart.str(absN);
    if (absN >= 10) return sign + "00" + dart.str(absN);
    return sign + "000" + dart.str(absN);
  }
  static _sixDigits(n) {
    if (n == null) dart.nullFailed(I[168], 509, 32, "n");
    if (!(dart.notNull(n) < -9999 || dart.notNull(n) > 9999)) dart.assertFailed(null, I[168], 510, 12, "n < -9999 || n > 9999");
    let absN = n[$abs]();
    let sign = dart.notNull(n) < 0 ? "-" : "+";
    if (absN >= 100000) return sign + dart.str(absN);
    return sign + "0" + dart.str(absN);
  }
  static _threeDigits(n) {
    if (n == null) dart.nullFailed(I[168], 517, 34, "n");
    if (dart.notNull(n) >= 100) return dart.str(n);
    if (dart.notNull(n) >= 10) return "0" + dart.str(n);
    return "00" + dart.str(n);
  }
  static _twoDigits(n) {
    if (n == null) dart.nullFailed(I[168], 523, 32, "n");
    if (dart.notNull(n) >= 10) return dart.str(n);
    return "0" + dart.str(n);
  }
  toString() {
    let y = core.DateTime._fourDigits(this.year);
    let m = core.DateTime._twoDigits(this.month);
    let d = core.DateTime._twoDigits(this.day);
    let h = core.DateTime._twoDigits(this.hour);
    let min = core.DateTime._twoDigits(this.minute);
    let sec = core.DateTime._twoDigits(this.second);
    let ms = core.DateTime._threeDigits(this.millisecond);
    let us = this.microsecond === 0 ? "" : core.DateTime._threeDigits(this.microsecond);
    if (dart.test(this.isUtc)) {
      return dart.str(y) + "-" + dart.str(m) + "-" + dart.str(d) + " " + dart.str(h) + ":" + dart.str(min) + ":" + dart.str(sec) + "." + dart.str(ms) + dart.str(us) + "Z";
    } else {
      return dart.str(y) + "-" + dart.str(m) + "-" + dart.str(d) + " " + dart.str(h) + ":" + dart.str(min) + ":" + dart.str(sec) + "." + dart.str(ms) + dart.str(us);
    }
  }
  toIso8601String() {
    let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 9999 ? core.DateTime._fourDigits(this.year) : core.DateTime._sixDigits(this.year);
    let m = core.DateTime._twoDigits(this.month);
    let d = core.DateTime._twoDigits(this.day);
    let h = core.DateTime._twoDigits(this.hour);
    let min = core.DateTime._twoDigits(this.minute);
    let sec = core.DateTime._twoDigits(this.second);
    let ms = core.DateTime._threeDigits(this.millisecond);
    let us = this.microsecond === 0 ? "" : core.DateTime._threeDigits(this.microsecond);
    if (dart.test(this.isUtc)) {
      return dart.str(y) + "-" + dart.str(m) + "-" + dart.str(d) + "T" + dart.str(h) + ":" + dart.str(min) + ":" + dart.str(sec) + "." + dart.str(ms) + dart.str(us) + "Z";
    } else {
      return dart.str(y) + "-" + dart.str(m) + "-" + dart.str(d) + "T" + dart.str(h) + ":" + dart.str(min) + ":" + dart.str(sec) + "." + dart.str(ms) + dart.str(us);
    }
  }
  add(duration) {
    if (duration == null) dart.nullFailed(I[7], 371, 25, "duration");
    return new core.DateTime._withValue(dart.notNull(this[_value$4]) + dart.notNull(duration.inMilliseconds), {isUtc: this.isUtc});
  }
  subtract(duration) {
    if (duration == null) dart.nullFailed(I[7], 376, 30, "duration");
    return new core.DateTime._withValue(dart.notNull(this[_value$4]) - dart.notNull(duration.inMilliseconds), {isUtc: this.isUtc});
  }
  difference(other) {
    if (other == null) dart.nullFailed(I[7], 381, 32, "other");
    return new core.Duration.new({milliseconds: dart.notNull(this[_value$4]) - dart.notNull(other[_value$4])});
  }
  static _brokenDownDateToValue(year, month, day, hour, minute, second, millisecond, microsecond, isUtc) {
    if (year == null) dart.nullFailed(I[7], 345, 42, "year");
    if (month == null) dart.nullFailed(I[7], 345, 52, "month");
    if (day == null) dart.nullFailed(I[7], 345, 63, "day");
    if (hour == null) dart.nullFailed(I[7], 345, 72, "hour");
    if (minute == null) dart.nullFailed(I[7], 346, 11, "minute");
    if (second == null) dart.nullFailed(I[7], 346, 23, "second");
    if (millisecond == null) dart.nullFailed(I[7], 346, 35, "millisecond");
    if (microsecond == null) dart.nullFailed(I[7], 346, 52, "microsecond");
    if (isUtc == null) dart.nullFailed(I[7], 346, 70, "isUtc");
    return _js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, dart.notNull(millisecond) + dart.notNull(core.DateTime._microsecondInRoundedMilliseconds(microsecond)), isUtc);
  }
  get millisecondsSinceEpoch() {
    return this[_value$4];
  }
  get microsecondsSinceEpoch() {
    return dart.notNull(this[_value$4]) * 1000;
  }
  get timeZoneName() {
    if (dart.test(this.isUtc)) return "UTC";
    return _js_helper.Primitives.getTimeZoneName(this);
  }
  get timeZoneOffset() {
    if (dart.test(this.isUtc)) return core.Duration.zero;
    return new core.Duration.new({minutes: _js_helper.Primitives.getTimeZoneOffsetInMinutes(this)});
  }
  get year() {
    return _js_helper.Primitives.getYear(this);
  }
  get month() {
    return _js_helper.Primitives.getMonth(this);
  }
  get day() {
    return _js_helper.Primitives.getDay(this);
  }
  get hour() {
    return _js_helper.Primitives.getHours(this);
  }
  get minute() {
    return _js_helper.Primitives.getMinutes(this);
  }
  get second() {
    return _js_helper.Primitives.getSeconds(this);
  }
  get millisecond() {
    return _js_helper.Primitives.getMilliseconds(this);
  }
  get microsecond() {
    return 0;
  }
  get weekday() {
    return _js_helper.Primitives.getWeekday(this);
  }
};
(core.DateTime.new = function(year, month = 1, day = 1, hour = 0, minute = 0, second = 0, millisecond = 0, microsecond = 0) {
  if (year == null) dart.nullFailed(I[168], 172, 16, "year");
  if (month == null) dart.nullFailed(I[168], 173, 12, "month");
  if (day == null) dart.nullFailed(I[168], 174, 11, "day");
  if (hour == null) dart.nullFailed(I[168], 175, 11, "hour");
  if (minute == null) dart.nullFailed(I[168], 176, 11, "minute");
  if (second == null) dart.nullFailed(I[168], 177, 11, "second");
  if (millisecond == null) dart.nullFailed(I[168], 178, 11, "millisecond");
  if (microsecond == null) dart.nullFailed(I[168], 179, 11, "microsecond");
  core.DateTime._internal.call(this, year, month, day, hour, minute, second, millisecond, microsecond, false);
}).prototype = core.DateTime.prototype;
(core.DateTime.utc = function(year, month = 1, day = 1, hour = 0, minute = 0, second = 0, millisecond = 0, microsecond = 0) {
  if (year == null) dart.nullFailed(I[168], 192, 20, "year");
  if (month == null) dart.nullFailed(I[168], 193, 12, "month");
  if (day == null) dart.nullFailed(I[168], 194, 11, "day");
  if (hour == null) dart.nullFailed(I[168], 195, 11, "hour");
  if (minute == null) dart.nullFailed(I[168], 196, 11, "minute");
  if (second == null) dart.nullFailed(I[168], 197, 11, "second");
  if (millisecond == null) dart.nullFailed(I[168], 198, 11, "millisecond");
  if (microsecond == null) dart.nullFailed(I[168], 199, 11, "microsecond");
  core.DateTime._internal.call(this, year, month, day, hour, minute, second, millisecond, microsecond, true);
}).prototype = core.DateTime.prototype;
(core.DateTime.now = function() {
  core.DateTime._now.call(this);
}).prototype = core.DateTime.prototype;
(core.DateTime.fromMillisecondsSinceEpoch = function(millisecondsSinceEpoch, opts) {
  if (millisecondsSinceEpoch == null) dart.nullFailed(I[7], 307, 43, "millisecondsSinceEpoch");
  let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false;
  if (isUtc == null) dart.nullFailed(I[7], 308, 13, "isUtc");
  core.DateTime._withValue.call(this, millisecondsSinceEpoch, {isUtc: isUtc});
}).prototype = core.DateTime.prototype;
(core.DateTime.fromMicrosecondsSinceEpoch = function(microsecondsSinceEpoch, opts) {
  if (microsecondsSinceEpoch == null) dart.nullFailed(I[7], 312, 43, "microsecondsSinceEpoch");
  let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false;
  if (isUtc == null) dart.nullFailed(I[7], 313, 13, "isUtc");
  core.DateTime._withValue.call(this, core.DateTime._microsecondInRoundedMilliseconds(microsecondsSinceEpoch), {isUtc: isUtc});
}).prototype = core.DateTime.prototype;
(core.DateTime._withValue = function(_value, opts) {
  if (_value == null) dart.nullFailed(I[168], 374, 28, "_value");
  let isUtc = opts && 'isUtc' in opts ? opts.isUtc : null;
  if (isUtc == null) dart.nullFailed(I[168], 374, 51, "isUtc");
  this[_value$4] = _value;
  this[isUtc$] = isUtc;
  if (this.millisecondsSinceEpoch[$abs]() > 8640000000000000.0 || this.millisecondsSinceEpoch[$abs]() === 8640000000000000.0 && this.microsecond !== 0) {
    dart.throw(new core.ArgumentError.new("DateTime is outside valid range: " + dart.str(this.millisecondsSinceEpoch)));
  }
  _internal.checkNotNullable(core.bool, this.isUtc, "isUtc");
}).prototype = core.DateTime.prototype;
(core.DateTime._internal = function(year, month, day, hour, minute, second, millisecond, microsecond, isUtc) {
  if (year == null) dart.nullFailed(I[7], 319, 26, "year");
  if (month == null) dart.nullFailed(I[7], 319, 36, "month");
  if (day == null) dart.nullFailed(I[7], 319, 47, "day");
  if (hour == null) dart.nullFailed(I[7], 319, 56, "hour");
  if (minute == null) dart.nullFailed(I[7], 319, 66, "minute");
  if (second == null) dart.nullFailed(I[7], 320, 11, "second");
  if (millisecond == null) dart.nullFailed(I[7], 320, 23, "millisecond");
  if (microsecond == null) dart.nullFailed(I[7], 320, 40, "microsecond");
  if (isUtc == null) dart.nullFailed(I[7], 320, 58, "isUtc");
  this[isUtc$] = isUtc;
  this[_value$4] = core.int.as(_js_helper.checkInt(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, dart.notNull(millisecond) + dart.notNull(core.DateTime._microsecondInRoundedMilliseconds(microsecond)), isUtc)));
  ;
}).prototype = core.DateTime.prototype;
(core.DateTime._now = function() {
  this[isUtc$] = false;
  this[_value$4] = _js_helper.Primitives.dateNow();
  ;
}).prototype = core.DateTime.prototype;
dart.addTypeTests(core.DateTime);
dart.addTypeCaches(core.DateTime);
core.DateTime[dart.implements] = () => [core.Comparable$(core.DateTime)];
dart.setMethodSignature(core.DateTime, () => ({
  __proto__: dart.getMethods(core.DateTime.__proto__),
  isBefore: dart.fnType(core.bool, [core.DateTime]),
  isAfter: dart.fnType(core.bool, [core.DateTime]),
  isAtSameMomentAs: dart.fnType(core.bool, [core.DateTime]),
  compareTo: dart.fnType(core.int, [core.DateTime]),
  [$compareTo]: dart.fnType(core.int, [core.DateTime]),
  toLocal: dart.fnType(core.DateTime, []),
  toUtc: dart.fnType(core.DateTime, []),
  toIso8601String: dart.fnType(core.String, []),
  add: dart.fnType(core.DateTime, [core.Duration]),
  subtract: dart.fnType(core.DateTime, [core.Duration]),
  difference: dart.fnType(core.Duration, [core.DateTime])
}));
dart.setGetterSignature(core.DateTime, () => ({
  __proto__: dart.getGetters(core.DateTime.__proto__),
  millisecondsSinceEpoch: core.int,
  microsecondsSinceEpoch: core.int,
  timeZoneName: core.String,
  timeZoneOffset: core.Duration,
  year: core.int,
  month: core.int,
  day: core.int,
  hour: core.int,
  minute: core.int,
  second: core.int,
  millisecond: core.int,
  microsecond: core.int,
  weekday: core.int
}));
dart.setLibraryUri(core.DateTime, I[9]);
dart.setFieldSignature(core.DateTime, () => ({
  __proto__: dart.getFields(core.DateTime.__proto__),
  [_value$4]: dart.finalFieldType(core.int),
  isUtc: dart.finalFieldType(core.bool)
}));
dart.defineExtensionMethods(core.DateTime, ['_equals', 'compareTo', 'toString']);
dart.defineExtensionAccessors(core.DateTime, ['hashCode']);
dart.defineLazy(core.DateTime, {
  /*core.DateTime.monday*/get monday() {
    return 1;
  },
  /*core.DateTime.tuesday*/get tuesday() {
    return 2;
  },
  /*core.DateTime.wednesday*/get wednesday() {
    return 3;
  },
  /*core.DateTime.thursday*/get thursday() {
    return 4;
  },
  /*core.DateTime.friday*/get friday() {
    return 5;
  },
  /*core.DateTime.saturday*/get saturday() {
    return 6;
  },
  /*core.DateTime.sunday*/get sunday() {
    return 7;
  },
  /*core.DateTime.daysPerWeek*/get daysPerWeek() {
    return 7;
  },
  /*core.DateTime.january*/get january() {
    return 1;
  },
  /*core.DateTime.february*/get february() {
    return 2;
  },
  /*core.DateTime.march*/get march() {
    return 3;
  },
  /*core.DateTime.april*/get april() {
    return 4;
  },
  /*core.DateTime.may*/get may() {
    return 5;
  },
  /*core.DateTime.june*/get june() {
    return 6;
  },
  /*core.DateTime.july*/get july() {
    return 7;
  },
  /*core.DateTime.august*/get august() {
    return 8;
  },
  /*core.DateTime.september*/get september() {
    return 9;
  },
  /*core.DateTime.october*/get october() {
    return 10;
  },
  /*core.DateTime.november*/get november() {
    return 11;
  },
  /*core.DateTime.december*/get december() {
    return 12;
  },
  /*core.DateTime.monthsPerYear*/get monthsPerYear() {
    return 12;
  },
  /*core.DateTime._maxMillisecondsSinceEpoch*/get _maxMillisecondsSinceEpoch() {
    return 8640000000000000.0;
  },
  /*core.DateTime._parseFormat*/get _parseFormat() {
    return core.RegExp.new("^([+-]?\\d{4,6})-?(\\d\\d)-?(\\d\\d)" + "(?:[ T](\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d+))?)?)?" + "( ?[zZ]| ?([-+])(\\d\\d)(?::?(\\d\\d))?)?)?$");
  }
}, false);
var _duration$ = dart.privateName(core, "Duration._duration");
var _duration = dart.privateName(core, "_duration");
core.Duration = class Duration extends core.Object {
  get [_duration]() {
    return this[_duration$];
  }
  set [_duration](value) {
    super[_duration] = value;
  }
  ['+'](other) {
    if (other == null) dart.nullFailed(I[169], 148, 32, "other");
    return new core.Duration._microseconds(dart.notNull(this[_duration]) + dart.notNull(other[_duration]));
  }
  ['-'](other) {
    if (other == null) dart.nullFailed(I[169], 154, 32, "other");
    return new core.Duration._microseconds(dart.notNull(this[_duration]) - dart.notNull(other[_duration]));
  }
  ['*'](factor) {
    if (factor == null) dart.nullFailed(I[169], 163, 27, "factor");
    return new core.Duration._microseconds((dart.notNull(this[_duration]) * dart.notNull(factor))[$round]());
  }
  ['~/'](quotient) {
    if (quotient == null) dart.nullFailed(I[169], 171, 28, "quotient");
    if (quotient === 0) dart.throw(new core.IntegerDivisionByZeroException.new());
    return new core.Duration._microseconds((dart.notNull(this[_duration]) / dart.notNull(quotient))[$truncate]());
  }
  ['<'](other) {
    if (other == null) dart.nullFailed(I[169], 179, 28, "other");
    return dart.notNull(this[_duration]) < dart.notNull(other[_duration]);
  }
  ['>'](other) {
    if (other == null) dart.nullFailed(I[169], 182, 28, "other");
    return dart.notNull(this[_duration]) > dart.notNull(other[_duration]);
  }
  ['<='](other) {
    if (other == null) dart.nullFailed(I[169], 185, 29, "other");
    return dart.notNull(this[_duration]) <= dart.notNull(other[_duration]);
  }
  ['>='](other) {
    if (other == null) dart.nullFailed(I[169], 188, 29, "other");
    return dart.notNull(this[_duration]) >= dart.notNull(other[_duration]);
  }
  get inDays() {
    return (dart.notNull(this[_duration]) / 86400000000.0)[$truncate]();
  }
  get inHours() {
    return (dart.notNull(this[_duration]) / 3600000000.0)[$truncate]();
  }
  get inMinutes() {
    return (dart.notNull(this[_duration]) / 60000000)[$truncate]();
  }
  get inSeconds() {
    return (dart.notNull(this[_duration]) / 1000000)[$truncate]();
  }
  get inMilliseconds() {
    return (dart.notNull(this[_duration]) / 1000)[$truncate]();
  }
  get inMicroseconds() {
    return this[_duration];
  }
  _equals(other) {
    if (other == null) return false;
    return core.Duration.is(other) && this[_duration] == other.inMicroseconds;
  }
  get hashCode() {
    return dart.hashCode(this[_duration]);
  }
  compareTo(other) {
    core.Duration.as(other);
    if (other == null) dart.nullFailed(I[169], 246, 26, "other");
    return this[_duration][$compareTo](other[_duration]);
  }
  toString() {
    function sixDigits(n) {
      if (n == null) dart.nullFailed(I[169], 260, 26, "n");
      if (dart.notNull(n) >= 100000) return dart.str(n);
      if (dart.notNull(n) >= 10000) return "0" + dart.str(n);
      if (dart.notNull(n) >= 1000) return "00" + dart.str(n);
      if (dart.notNull(n) >= 100) return "000" + dart.str(n);
      if (dart.notNull(n) >= 10) return "0000" + dart.str(n);
      return "00000" + dart.str(n);
    }
    dart.fn(sixDigits, T$0.intToString());
    function twoDigits(n) {
      if (n == null) dart.nullFailed(I[169], 269, 26, "n");
      if (dart.notNull(n) >= 10) return dart.str(n);
      return "0" + dart.str(n);
    }
    dart.fn(twoDigits, T$0.intToString());
    if (dart.notNull(this.inMicroseconds) < 0) {
      return "-" + dart.str(this._negate());
    }
    let twoDigitMinutes = twoDigits(this.inMinutes[$remainder](60));
    let twoDigitSeconds = twoDigits(this.inSeconds[$remainder](60));
    let sixDigitUs = sixDigits(this.inMicroseconds[$remainder](1000000));
    return dart.str(this.inHours) + ":" + dart.str(twoDigitMinutes) + ":" + dart.str(twoDigitSeconds) + "." + dart.str(sixDigitUs);
  }
  get isNegative() {
    return dart.notNull(this[_duration]) < 0;
  }
  abs() {
    return new core.Duration._microseconds(this[_duration][$abs]());
  }
  _negate() {
    return new core.Duration._microseconds(0 - dart.notNull(this[_duration]));
  }
};
(core.Duration.new = function(opts) {
  let days = opts && 'days' in opts ? opts.days : 0;
  if (days == null) dart.nullFailed(I[169], 129, 12, "days");
  let hours = opts && 'hours' in opts ? opts.hours : 0;
  if (hours == null) dart.nullFailed(I[169], 130, 11, "hours");
  let minutes = opts && 'minutes' in opts ? opts.minutes : 0;
  if (minutes == null) dart.nullFailed(I[169], 131, 11, "minutes");
  let seconds = opts && 'seconds' in opts ? opts.seconds : 0;
  if (seconds == null) dart.nullFailed(I[169], 132, 11, "seconds");
  let milliseconds = opts && 'milliseconds' in opts ? opts.milliseconds : 0;
  if (milliseconds == null) dart.nullFailed(I[169], 133, 11, "milliseconds");
  let microseconds = opts && 'microseconds' in opts ? opts.microseconds : 0;
  if (microseconds == null) dart.nullFailed(I[169], 134, 11, "microseconds");
  core.Duration._microseconds.call(this, 86400000000.0 * dart.notNull(days) + 3600000000.0 * dart.notNull(hours) + 60000000 * dart.notNull(minutes) + 1000000 * dart.notNull(seconds) + 1000 * dart.notNull(milliseconds) + dart.notNull(microseconds));
}).prototype = core.Duration.prototype;
(core.Duration._microseconds = function(_duration) {
  if (_duration == null) dart.nullFailed(I[169], 144, 37, "_duration");
  this[_duration$] = _duration;
  ;
}).prototype = core.Duration.prototype;
dart.addTypeTests(core.Duration);
dart.addTypeCaches(core.Duration);
core.Duration[dart.implements] = () => [core.Comparable$(core.Duration)];
dart.setMethodSignature(core.Duration, () => ({
  __proto__: dart.getMethods(core.Duration.__proto__),
  '+': dart.fnType(core.Duration, [core.Duration]),
  '-': dart.fnType(core.Duration, [core.Duration]),
  '*': dart.fnType(core.Duration, [core.num]),
  '~/': dart.fnType(core.Duration, [core.int]),
  '<': dart.fnType(core.bool, [core.Duration]),
  '>': dart.fnType(core.bool, [core.Duration]),
  '<=': dart.fnType(core.bool, [core.Duration]),
  '>=': dart.fnType(core.bool, [core.Duration]),
  compareTo: dart.fnType(core.int, [dart.nullable(core.Object)]),
  [$compareTo]: dart.fnType(core.int, [dart.nullable(core.Object)]),
  abs: dart.fnType(core.Duration, []),
  _negate: dart.fnType(core.Duration, [])
}));
dart.setGetterSignature(core.Duration, () => ({
  __proto__: dart.getGetters(core.Duration.__proto__),
  inDays: core.int,
  inHours: core.int,
  inMinutes: core.int,
  inSeconds: core.int,
  inMilliseconds: core.int,
  inMicroseconds: core.int,
  isNegative: core.bool
}));
dart.setLibraryUri(core.Duration, I[9]);
dart.setFieldSignature(core.Duration, () => ({
  __proto__: dart.getFields(core.Duration.__proto__),
  [_duration]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(core.Duration, ['_equals', 'compareTo', 'toString']);
dart.defineExtensionAccessors(core.Duration, ['hashCode']);
dart.defineLazy(core.Duration, {
  /*core.Duration.microsecondsPerMillisecond*/get microsecondsPerMillisecond() {
    return 1000;
  },
  /*core.Duration.millisecondsPerSecond*/get millisecondsPerSecond() {
    return 1000;
  },
  /*core.Duration.secondsPerMinute*/get secondsPerMinute() {
    return 60;
  },
  /*core.Duration.minutesPerHour*/get minutesPerHour() {
    return 60;
  },
  /*core.Duration.hoursPerDay*/get hoursPerDay() {
    return 24;
  },
  /*core.Duration.microsecondsPerSecond*/get microsecondsPerSecond() {
    return 1000000;
  },
  /*core.Duration.microsecondsPerMinute*/get microsecondsPerMinute() {
    return 60000000;
  },
  /*core.Duration.microsecondsPerHour*/get microsecondsPerHour() {
    return 3600000000.0;
  },
  /*core.Duration.microsecondsPerDay*/get microsecondsPerDay() {
    return 86400000000.0;
  },
  /*core.Duration.millisecondsPerMinute*/get millisecondsPerMinute() {
    return 60000;
  },
  /*core.Duration.millisecondsPerHour*/get millisecondsPerHour() {
    return 3600000;
  },
  /*core.Duration.millisecondsPerDay*/get millisecondsPerDay() {
    return 86400000;
  },
  /*core.Duration.secondsPerHour*/get secondsPerHour() {
    return 3600;
  },
  /*core.Duration.secondsPerDay*/get secondsPerDay() {
    return 86400;
  },
  /*core.Duration.minutesPerDay*/get minutesPerDay() {
    return 1440;
  },
  /*core.Duration.zero*/get zero() {
    return C[422] || CT.C422;
  }
}, false);
core.Enum = class Enum extends core.Object {};
(core.Enum.new = function() {
  ;
}).prototype = core.Enum.prototype;
dart.addTypeTests(core.Enum);
dart.addTypeCaches(core.Enum);
dart.setLibraryUri(core.Enum, I[9]);
core.TypeError = class TypeError extends core.Error {};
(core.TypeError.new = function() {
  core.TypeError.__proto__.new.call(this);
  ;
}).prototype = core.TypeError.prototype;
dart.addTypeTests(core.TypeError);
dart.addTypeCaches(core.TypeError);
dart.setLibraryUri(core.TypeError, I[9]);
core.CastError = class CastError extends core.Error {};
(core.CastError.new = function() {
  core.CastError.__proto__.new.call(this);
  ;
}).prototype = core.CastError.prototype;
dart.addTypeTests(core.CastError);
dart.addTypeCaches(core.CastError);
dart.setLibraryUri(core.CastError, I[9]);
core.NullThrownError = class NullThrownError extends core.Error {
  toString() {
    return "Throw of null.";
  }
};
(core.NullThrownError.new = function() {
  core.NullThrownError.__proto__.new.call(this);
  ;
}).prototype = core.NullThrownError.prototype;
dart.addTypeTests(core.NullThrownError);
dart.addTypeCaches(core.NullThrownError);
dart.setLibraryUri(core.NullThrownError, I[9]);
dart.defineExtensionMethods(core.NullThrownError, ['toString']);
var invalidValue = dart.privateName(core, "ArgumentError.invalidValue");
var name$13 = dart.privateName(core, "ArgumentError.name");
var message$12 = dart.privateName(core, "ArgumentError.message");
core.ArgumentError = class ArgumentError extends core.Error {
  get invalidValue() {
    return this[invalidValue];
  }
  set invalidValue(value) {
    super.invalidValue = value;
  }
  get name() {
    return this[name$13];
  }
  set name(value) {
    super.name = value;
  }
  get message() {
    return this[message$12];
  }
  set message(value) {
    super.message = value;
  }
  static checkNotNull(T, argument, name = null) {
    if (argument == null) dart.throw(new core.ArgumentError.notNull(name));
    return argument;
  }
  get [_errorName$]() {
    return "Invalid argument" + (!dart.test(this[_hasValue$]) ? "(s)" : "");
  }
  get [_errorExplanation$]() {
    return "";
  }
  toString() {
    let name = this[$name];
    let nameString = name == null ? "" : " (" + dart.str(name) + ")";
    let message = this[$message];
    let messageString = message == null ? "" : ": " + dart.str(message);
    let prefix = dart.str(this[_errorName$]) + nameString + messageString;
    if (!dart.test(this[_hasValue$])) return prefix;
    let explanation = this[_errorExplanation$];
    let errorValue = core.Error.safeToString(this[$invalidValue]);
    return prefix + dart.str(explanation) + ": " + dart.str(errorValue);
  }
};
(core.ArgumentError.new = function(message = null, name = null) {
  this[message$12] = message;
  this[name$13] = name;
  this[invalidValue] = null;
  this[_hasValue$] = false;
  core.ArgumentError.__proto__.new.call(this);
  ;
}).prototype = core.ArgumentError.prototype;
(core.ArgumentError.value = function(value, name = null, message = null) {
  this[name$13] = name;
  this[message$12] = message;
  this[invalidValue] = value;
  this[_hasValue$] = true;
  core.ArgumentError.__proto__.new.call(this);
  ;
}).prototype = core.ArgumentError.prototype;
(core.ArgumentError.notNull = function(name = null) {
  this[name$13] = name;
  this[_hasValue$] = false;
  this[message$12] = "Must not be null";
  this[invalidValue] = null;
  core.ArgumentError.__proto__.new.call(this);
  ;
}).prototype = core.ArgumentError.prototype;
dart.addTypeTests(core.ArgumentError);
dart.addTypeCaches(core.ArgumentError);
dart.setGetterSignature(core.ArgumentError, () => ({
  __proto__: dart.getGetters(core.ArgumentError.__proto__),
  [_errorName$]: core.String,
  [_errorExplanation$]: core.String
}));
dart.setLibraryUri(core.ArgumentError, I[9]);
dart.setFieldSignature(core.ArgumentError, () => ({
  __proto__: dart.getFields(core.ArgumentError.__proto__),
  [_hasValue$]: dart.finalFieldType(core.bool),
  invalidValue: dart.finalFieldType(dart.dynamic),
  name: dart.finalFieldType(dart.nullable(core.String)),
  message: dart.finalFieldType(dart.dynamic)
}));
dart.defineExtensionMethods(core.ArgumentError, ['toString']);
dart.defineExtensionAccessors(core.ArgumentError, ['invalidValue', 'name', 'message']);
var start = dart.privateName(core, "RangeError.start");
var end = dart.privateName(core, "RangeError.end");
core.RangeError = class RangeError extends core.ArgumentError {
  get start() {
    return this[start];
  }
  set start(value) {
    super.start = value;
  }
  get end() {
    return this[end];
  }
  set end(value) {
    super.end = value;
  }
  static checkValueInInterval(value, minValue, maxValue, name = null, message = null) {
    if (value == null) dart.nullFailed(I[170], 279, 39, "value");
    if (minValue == null) dart.nullFailed(I[170], 279, 50, "minValue");
    if (maxValue == null) dart.nullFailed(I[170], 279, 64, "maxValue");
    if (dart.notNull(value) < dart.notNull(minValue) || dart.notNull(value) > dart.notNull(maxValue)) {
      dart.throw(new core.RangeError.range(value, minValue, maxValue, name, message));
    }
    return value;
  }
  static checkValidIndex(index, indexable, name = null, length = null, message = null) {
    if (index == null) dart.nullFailed(I[170], 302, 34, "index");
    length == null ? length = core.int.as(dart.dload(indexable, 'length')) : null;
    if (0 > dart.notNull(index) || dart.notNull(index) >= dart.notNull(length)) {
      name == null ? name = "index" : null;
      dart.throw(new core.IndexError.new(index, indexable, name, message, length));
    }
    return index;
  }
  static checkValidRange(start, end, length, startName = null, endName = null, message = null) {
    if (start == null) dart.nullFailed(I[170], 327, 34, "start");
    if (length == null) dart.nullFailed(I[170], 327, 55, "length");
    if (0 > dart.notNull(start) || dart.notNull(start) > dart.notNull(length)) {
      startName == null ? startName = "start" : null;
      dart.throw(new core.RangeError.range(start, 0, length, startName, message));
    }
    if (end != null) {
      if (dart.notNull(start) > dart.notNull(end) || dart.notNull(end) > dart.notNull(length)) {
        endName == null ? endName = "end" : null;
        dart.throw(new core.RangeError.range(end, start, length, endName, message));
      }
      return end;
    }
    return length;
  }
  static checkNotNegative(value, name = null, message = null) {
    let t249;
    if (value == null) dart.nullFailed(I[170], 354, 35, "value");
    if (dart.notNull(value) < 0) {
      dart.throw(new core.RangeError.range(value, 0, null, (t249 = name, t249 == null ? "index" : t249), message));
    }
    return value;
  }
  get [_errorName$]() {
    return "RangeError";
  }
  get [_errorExplanation$]() {
    if (!dart.test(this[_hasValue$])) dart.assertFailed(null, I[170], 363, 12, "_hasValue");
    let explanation = "";
    let start = this.start;
    let end = this.end;
    if (start == null) {
      if (end != null) {
        explanation = ": Not less than or equal to " + dart.str(end);
      }
    } else if (end == null) {
      explanation = ": Not greater than or equal to " + dart.str(start);
    } else if (dart.notNull(end) > dart.notNull(start)) {
      explanation = ": Not in inclusive range " + dart.str(start) + ".." + dart.str(end);
    } else if (dart.notNull(end) < dart.notNull(start)) {
      explanation = ": Valid value range is empty";
    } else {
      explanation = ": Only valid value is " + dart.str(start);
    }
    return explanation;
  }
};
(core.RangeError.new = function(message) {
  this[start] = null;
  this[end] = null;
  core.RangeError.__proto__.new.call(this, message);
  ;
}).prototype = core.RangeError.prototype;
(core.RangeError.value = function(value, name = null, message = null) {
  let t249;
  if (value == null) dart.nullFailed(I[170], 234, 24, "value");
  this[start] = null;
  this[end] = null;
  core.RangeError.__proto__.value.call(this, value, name, (t249 = message, t249 == null ? "Value not in range" : t249));
  ;
}).prototype = core.RangeError.prototype;
(core.RangeError.range = function(invalidValue, minValue, maxValue, name = null, message = null) {
  let t249;
  if (invalidValue == null) dart.nullFailed(I[170], 252, 24, "invalidValue");
  this[start] = minValue;
  this[end] = maxValue;
  core.RangeError.__proto__.value.call(this, invalidValue, name, (t249 = message, t249 == null ? "Invalid value" : t249));
  ;
}).prototype = core.RangeError.prototype;
dart.addTypeTests(core.RangeError);
dart.addTypeCaches(core.RangeError);
dart.setLibraryUri(core.RangeError, I[9]);
dart.setFieldSignature(core.RangeError, () => ({
  __proto__: dart.getFields(core.RangeError.__proto__),
  start: dart.finalFieldType(dart.nullable(core.num)),
  end: dart.finalFieldType(dart.nullable(core.num))
}));
var indexable$ = dart.privateName(core, "IndexError.indexable");
var length$ = dart.privateName(core, "IndexError.length");
core.IndexError = class IndexError extends core.ArgumentError {
  get indexable() {
    return this[indexable$];
  }
  set indexable(value) {
    super.indexable = value;
  }
  get length() {
    return this[length$];
  }
  set length(value) {
    super.length = value;
  }
  get start() {
    return 0;
  }
  get end() {
    return dart.notNull(this.length) - 1;
  }
  get [_errorName$]() {
    return "RangeError";
  }
  get [_errorExplanation$]() {
    if (!dart.test(this[_hasValue$])) dart.assertFailed(null, I[170], 417, 12, "_hasValue");
    let invalidValue = core.int.as(this[$invalidValue]);
    if (dart.notNull(invalidValue) < 0) {
      return ": index must not be negative";
    }
    if (this.length === 0) {
      return ": no indices are valid";
    }
    return ": index should be less than " + dart.str(this.length);
  }
};
(core.IndexError.new = function(invalidValue, indexable, name = null, message = null, length = null) {
  let t249, t249$;
  if (invalidValue == null) dart.nullFailed(I[170], 405, 18, "invalidValue");
  this[indexable$] = indexable;
  this[length$] = core.int.as((t249 = length, t249 == null ? dart.dload(indexable, 'length') : t249));
  core.IndexError.__proto__.value.call(this, invalidValue, name, (t249$ = message, t249$ == null ? "Index out of range" : t249$));
  ;
}).prototype = core.IndexError.prototype;
dart.addTypeTests(core.IndexError);
dart.addTypeCaches(core.IndexError);
core.IndexError[dart.implements] = () => [core.RangeError];
dart.setGetterSignature(core.IndexError, () => ({
  __proto__: dart.getGetters(core.IndexError.__proto__),
  start: core.int,
  end: core.int
}));
dart.setLibraryUri(core.IndexError, I[9]);
dart.setFieldSignature(core.IndexError, () => ({
  __proto__: dart.getFields(core.IndexError.__proto__),
  indexable: dart.finalFieldType(dart.dynamic),
  length: dart.finalFieldType(core.int)
}));
var _className = dart.privateName(core, "_className");
core.AbstractClassInstantiationError = class AbstractClassInstantiationError extends core.Error {
  toString() {
    return "Cannot instantiate abstract class: '" + dart.str(this[_className]) + "'";
  }
};
(core.AbstractClassInstantiationError.new = function(className) {
  if (className == null) dart.nullFailed(I[170], 449, 42, "className");
  this[_className] = className;
  core.AbstractClassInstantiationError.__proto__.new.call(this);
  ;
}).prototype = core.AbstractClassInstantiationError.prototype;
dart.addTypeTests(core.AbstractClassInstantiationError);
dart.addTypeCaches(core.AbstractClassInstantiationError);
dart.setLibraryUri(core.AbstractClassInstantiationError, I[9]);
dart.setFieldSignature(core.AbstractClassInstantiationError, () => ({
  __proto__: dart.getFields(core.AbstractClassInstantiationError.__proto__),
  [_className]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(core.AbstractClassInstantiationError, ['toString']);
core.NoSuchMethodError = class NoSuchMethodError extends core.Error {
  toString() {
    let sb = new core.StringBuffer.new("");
    let comma = "";
    let $arguments = this[_arguments$];
    if ($arguments != null) {
      for (let argument of $arguments) {
        sb.write(comma);
        sb.write(core.Error.safeToString(argument));
        comma = ", ";
      }
    }
    let namedArguments = this[_namedArguments$];
    if (namedArguments != null) {
      namedArguments[$forEach](dart.fn((key, value) => {
        if (key == null) dart.nullFailed(I[7], 821, 38, "key");
        sb.write(comma);
        sb.write(core._symbolToString(key));
        sb.write(": ");
        sb.write(core.Error.safeToString(value));
        comma = ", ";
      }, T$0.SymbolAnddynamicTovoid()));
    }
    let memberName = core._symbolToString(this[_memberName$]);
    let receiverText = core.Error.safeToString(this[_receiver$]);
    let actualParameters = dart.str(sb);
    let invocation = this[_invocation$];
    let failureMessage = dart.InvocationImpl.is(invocation) ? invocation.failureMessage : "method not found";
    return "NoSuchMethodError: '" + dart.str(memberName) + "'\n" + dart.str(failureMessage) + "\n" + "Receiver: " + dart.str(receiverText) + "\n" + "Arguments: [" + actualParameters + "]";
  }
};
(core.NoSuchMethodError._withInvocation = function(_receiver, invocation) {
  if (invocation == null) dart.nullFailed(I[7], 801, 64, "invocation");
  this[_receiver$] = _receiver;
  this[_memberName$] = invocation.memberName;
  this[_arguments$] = invocation.positionalArguments;
  this[_namedArguments$] = invocation.namedArguments;
  this[_invocation$] = invocation;
  core.NoSuchMethodError.__proto__.new.call(this);
  ;
}).prototype = core.NoSuchMethodError.prototype;
(core.NoSuchMethodError.new = function(receiver, memberName, positionalArguments, namedArguments) {
  if (memberName == null) dart.nullFailed(I[7], 788, 46, "memberName");
  this[_receiver$] = receiver;
  this[_memberName$] = memberName;
  this[_arguments$] = positionalArguments;
  this[_namedArguments$] = namedArguments;
  this[_invocation$] = null;
  core.NoSuchMethodError.__proto__.new.call(this);
  ;
}).prototype = core.NoSuchMethodError.prototype;
dart.addTypeTests(core.NoSuchMethodError);
dart.addTypeCaches(core.NoSuchMethodError);
dart.setLibraryUri(core.NoSuchMethodError, I[9]);
dart.setFieldSignature(core.NoSuchMethodError, () => ({
  __proto__: dart.getFields(core.NoSuchMethodError.__proto__),
  [_receiver$]: dart.finalFieldType(dart.nullable(core.Object)),
  [_memberName$]: dart.finalFieldType(core.Symbol),
  [_arguments$]: dart.finalFieldType(dart.nullable(core.List)),
  [_namedArguments$]: dart.finalFieldType(dart.nullable(core.Map$(core.Symbol, dart.dynamic))),
  [_invocation$]: dart.finalFieldType(dart.nullable(core.Invocation))
}));
dart.defineExtensionMethods(core.NoSuchMethodError, ['toString']);
var message$13 = dart.privateName(core, "UnsupportedError.message");
core.UnsupportedError = class UnsupportedError extends core.Error {
  get message() {
    return this[message$13];
  }
  set message(value) {
    super.message = value;
  }
  toString() {
    return "Unsupported operation: " + dart.str(this.message);
  }
};
(core.UnsupportedError.new = function(message) {
  if (message == null) dart.nullFailed(I[170], 503, 32, "message");
  this[message$13] = message;
  core.UnsupportedError.__proto__.new.call(this);
  ;
}).prototype = core.UnsupportedError.prototype;
dart.addTypeTests(core.UnsupportedError);
dart.addTypeCaches(core.UnsupportedError);
dart.setLibraryUri(core.UnsupportedError, I[9]);
dart.setFieldSignature(core.UnsupportedError, () => ({
  __proto__: dart.getFields(core.UnsupportedError.__proto__),
  message: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(core.UnsupportedError, ['toString']);
var message$14 = dart.privateName(core, "UnimplementedError.message");
core.UnimplementedError = class UnimplementedError extends core.Error {
  get message() {
    return this[message$14];
  }
  set message(value) {
    super.message = value;
  }
  toString() {
    let message = this.message;
    return message != null ? "UnimplementedError: " + dart.str(message) : "UnimplementedError";
  }
};
(core.UnimplementedError.new = function(message = null) {
  this[message$14] = message;
  core.UnimplementedError.__proto__.new.call(this);
  ;
}).prototype = core.UnimplementedError.prototype;
dart.addTypeTests(core.UnimplementedError);
dart.addTypeCaches(core.UnimplementedError);
core.UnimplementedError[dart.implements] = () => [core.UnsupportedError];
dart.setLibraryUri(core.UnimplementedError, I[9]);
dart.setFieldSignature(core.UnimplementedError, () => ({
  __proto__: dart.getFields(core.UnimplementedError.__proto__),
  message: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(core.UnimplementedError, ['toString']);
var message$15 = dart.privateName(core, "StateError.message");
core.StateError = class StateError extends core.Error {
  get message() {
    return this[message$15];
  }
  set message(value) {
    super.message = value;
  }
  toString() {
    return "Bad state: " + dart.str(this.message);
  }
};
(core.StateError.new = function(message) {
  if (message == null) dart.nullFailed(I[170], 540, 19, "message");
  this[message$15] = message;
  core.StateError.__proto__.new.call(this);
  ;
}).prototype = core.StateError.prototype;
dart.addTypeTests(core.StateError);
dart.addTypeCaches(core.StateError);
dart.setLibraryUri(core.StateError, I[9]);
dart.setFieldSignature(core.StateError, () => ({
  __proto__: dart.getFields(core.StateError.__proto__),
  message: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(core.StateError, ['toString']);
var modifiedObject$ = dart.privateName(core, "ConcurrentModificationError.modifiedObject");
core.ConcurrentModificationError = class ConcurrentModificationError extends core.Error {
  get modifiedObject() {
    return this[modifiedObject$];
  }
  set modifiedObject(value) {
    super.modifiedObject = value;
  }
  toString() {
    if (this.modifiedObject == null) {
      return "Concurrent modification during iteration.";
    }
    return "Concurrent modification during iteration: " + dart.str(core.Error.safeToString(this.modifiedObject)) + ".";
  }
};
(core.ConcurrentModificationError.new = function(modifiedObject = null) {
  this[modifiedObject$] = modifiedObject;
  core.ConcurrentModificationError.__proto__.new.call(this);
  ;
}).prototype = core.ConcurrentModificationError.prototype;
dart.addTypeTests(core.ConcurrentModificationError);
dart.addTypeCaches(core.ConcurrentModificationError);
dart.setLibraryUri(core.ConcurrentModificationError, I[9]);
dart.setFieldSignature(core.ConcurrentModificationError, () => ({
  __proto__: dart.getFields(core.ConcurrentModificationError.__proto__),
  modifiedObject: dart.finalFieldType(dart.nullable(core.Object))
}));
dart.defineExtensionMethods(core.ConcurrentModificationError, ['toString']);
core.OutOfMemoryError = class OutOfMemoryError extends core.Object {
  toString() {
    return "Out of Memory";
  }
  get stackTrace() {
    return null;
  }
};
(core.OutOfMemoryError.new = function() {
  ;
}).prototype = core.OutOfMemoryError.prototype;
dart.addTypeTests(core.OutOfMemoryError);
dart.addTypeCaches(core.OutOfMemoryError);
core.OutOfMemoryError[dart.implements] = () => [core.Error];
dart.setGetterSignature(core.OutOfMemoryError, () => ({
  __proto__: dart.getGetters(core.OutOfMemoryError.__proto__),
  stackTrace: dart.nullable(core.StackTrace),
  [$stackTrace]: dart.nullable(core.StackTrace)
}));
dart.setLibraryUri(core.OutOfMemoryError, I[9]);
dart.defineExtensionMethods(core.OutOfMemoryError, ['toString']);
dart.defineExtensionAccessors(core.OutOfMemoryError, ['stackTrace']);
core.StackOverflowError = class StackOverflowError extends core.Object {
  toString() {
    return "Stack Overflow";
  }
  get stackTrace() {
    return null;
  }
};
(core.StackOverflowError.new = function() {
  ;
}).prototype = core.StackOverflowError.prototype;
dart.addTypeTests(core.StackOverflowError);
dart.addTypeCaches(core.StackOverflowError);
core.StackOverflowError[dart.implements] = () => [core.Error];
dart.setGetterSignature(core.StackOverflowError, () => ({
  __proto__: dart.getGetters(core.StackOverflowError.__proto__),
  stackTrace: dart.nullable(core.StackTrace),
  [$stackTrace]: dart.nullable(core.StackTrace)
}));
dart.setLibraryUri(core.StackOverflowError, I[9]);
dart.defineExtensionMethods(core.StackOverflowError, ['toString']);
dart.defineExtensionAccessors(core.StackOverflowError, ['stackTrace']);
var variableName$ = dart.privateName(core, "CyclicInitializationError.variableName");
core.CyclicInitializationError = class CyclicInitializationError extends core.Error {
  get variableName() {
    return this[variableName$];
  }
  set variableName(value) {
    super.variableName = value;
  }
  toString() {
    let variableName = this.variableName;
    return variableName == null ? "Reading static variable during its initialization" : "Reading static variable '" + dart.str(variableName) + "' during its initialization";
  }
};
(core.CyclicInitializationError.new = function(variableName = null) {
  this[variableName$] = variableName;
  core.CyclicInitializationError.__proto__.new.call(this);
  ;
}).prototype = core.CyclicInitializationError.prototype;
dart.addTypeTests(core.CyclicInitializationError);
dart.addTypeCaches(core.CyclicInitializationError);
dart.setLibraryUri(core.CyclicInitializationError, I[9]);
dart.setFieldSignature(core.CyclicInitializationError, () => ({
  __proto__: dart.getFields(core.CyclicInitializationError.__proto__),
  variableName: dart.finalFieldType(dart.nullable(core.String))
}));
dart.defineExtensionMethods(core.CyclicInitializationError, ['toString']);
core.Exception = class Exception extends core.Object {
  static new(message = null) {
    return new core._Exception.new(message);
  }
};
(core.Exception[dart.mixinNew] = function() {
}).prototype = core.Exception.prototype;
dart.addTypeTests(core.Exception);
dart.addTypeCaches(core.Exception);
dart.setLibraryUri(core.Exception, I[9]);
core._Exception = class _Exception extends core.Object {
  toString() {
    let message = this.message;
    if (message == null) return "Exception";
    return "Exception: " + dart.str(message);
  }
};
(core._Exception.new = function(message = null) {
  this.message = message;
  ;
}).prototype = core._Exception.prototype;
dart.addTypeTests(core._Exception);
dart.addTypeCaches(core._Exception);
core._Exception[dart.implements] = () => [core.Exception];
dart.setLibraryUri(core._Exception, I[9]);
dart.setFieldSignature(core._Exception, () => ({
  __proto__: dart.getFields(core._Exception.__proto__),
  message: dart.finalFieldType(dart.dynamic)
}));
dart.defineExtensionMethods(core._Exception, ['toString']);
var message$16 = dart.privateName(core, "FormatException.message");
var source$ = dart.privateName(core, "FormatException.source");
var offset$ = dart.privateName(core, "FormatException.offset");
core.FormatException = class FormatException extends core.Object {
  get message() {
    return this[message$16];
  }
  set message(value) {
    super.message = value;
  }
  get source() {
    return this[source$];
  }
  set source(value) {
    super.source = value;
  }
  get offset() {
    return this[offset$];
  }
  set offset(value) {
    super.offset = value;
  }
  toString() {
    let report = "FormatException";
    let message = this.message;
    if (message != null && "" !== message) {
      report = report + ": " + dart.str(message);
    }
    let offset = this.offset;
    let source = this.source;
    if (typeof source == 'string') {
      if (offset != null && (dart.notNull(offset) < 0 || dart.notNull(offset) > source.length)) {
        offset = null;
      }
      if (offset == null) {
        if (source.length > 78) {
          source = source[$substring](0, 75) + "...";
        }
        return report + "\n" + dart.str(source);
      }
      let lineNum = 1;
      let lineStart = 0;
      let previousCharWasCR = false;
      for (let i = 0; i < dart.notNull(offset); i = i + 1) {
        let char = source[$codeUnitAt](i);
        if (char === 10) {
          if (lineStart !== i || !previousCharWasCR) {
            lineNum = lineNum + 1;
          }
          lineStart = i + 1;
          previousCharWasCR = false;
        } else if (char === 13) {
          lineNum = lineNum + 1;
          lineStart = i + 1;
          previousCharWasCR = true;
        }
      }
      if (lineNum > 1) {
        report = report + (" (at line " + dart.str(lineNum) + ", character " + dart.str(dart.notNull(offset) - lineStart + 1) + ")\n");
      } else {
        report = report + (" (at character " + dart.str(dart.notNull(offset) + 1) + ")\n");
      }
      let lineEnd = source.length;
      for (let i = offset; dart.notNull(i) < source.length; i = dart.notNull(i) + 1) {
        let char = source[$codeUnitAt](i);
        if (char === 10 || char === 13) {
          lineEnd = i;
          break;
        }
      }
      let length = dart.notNull(lineEnd) - lineStart;
      let start = lineStart;
      let end = lineEnd;
      let prefix = "";
      let postfix = "";
      if (length > 78) {
        let index = dart.notNull(offset) - lineStart;
        if (index < 75) {
          end = start + 75;
          postfix = "...";
        } else if (dart.notNull(end) - dart.notNull(offset) < 75) {
          start = dart.notNull(end) - 75;
          prefix = "...";
        } else {
          start = dart.notNull(offset) - 36;
          end = dart.notNull(offset) + 36;
          prefix = postfix = "...";
        }
      }
      let slice = source[$substring](start, end);
      let markOffset = dart.notNull(offset) - start + prefix.length;
      return report + prefix + slice + postfix + "\n" + " "[$times](markOffset) + "^\n";
    } else {
      if (offset != null) {
        report = report + (" (at offset " + dart.str(offset) + ")");
      }
      return report;
    }
  }
};
(core.FormatException.new = function(message = "", source = null, offset = null) {
  if (message == null) dart.nullFailed(I[171], 68, 31, "message");
  this[message$16] = message;
  this[source$] = source;
  this[offset$] = offset;
  ;
}).prototype = core.FormatException.prototype;
dart.addTypeTests(core.FormatException);
dart.addTypeCaches(core.FormatException);
core.FormatException[dart.implements] = () => [core.Exception];
dart.setLibraryUri(core.FormatException, I[9]);
dart.setFieldSignature(core.FormatException, () => ({
  __proto__: dart.getFields(core.FormatException.__proto__),
  message: dart.finalFieldType(core.String),
  source: dart.finalFieldType(dart.dynamic),
  offset: dart.finalFieldType(dart.nullable(core.int))
}));
dart.defineExtensionMethods(core.FormatException, ['toString']);
core.IntegerDivisionByZeroException = class IntegerDivisionByZeroException extends core.Object {
  toString() {
    return "IntegerDivisionByZeroException";
  }
};
(core.IntegerDivisionByZeroException.new = function() {
  ;
}).prototype = core.IntegerDivisionByZeroException.prototype;
dart.addTypeTests(core.IntegerDivisionByZeroException);
dart.addTypeCaches(core.IntegerDivisionByZeroException);
core.IntegerDivisionByZeroException[dart.implements] = () => [core.Exception];
dart.setLibraryUri(core.IntegerDivisionByZeroException, I[9]);
dart.defineExtensionMethods(core.IntegerDivisionByZeroException, ['toString']);
var name$14 = dart.privateName(core, "Expando.name");
var _jsWeakMap = dart.privateName(core, "_jsWeakMap");
const _is_Expando_default = Symbol('_is_Expando_default');
core.Expando$ = dart.generic(T => {
  var __t$TN = () => (__t$TN = dart.constFn(dart.nullable(T)))();
  class Expando extends core.Object {
    get name() {
      return this[name$14];
    }
    set name(value) {
      super.name = value;
    }
    static _checkType(object) {
      if (object == null || typeof object == 'boolean' || typeof object == 'number' || typeof object == 'string') {
        dart.throw(new core.ArgumentError.value(object, "Expandos are not allowed on strings, numbers, booleans or null"));
      }
    }
    toString() {
      return "Expando:" + dart.str(this.name);
    }
    _get(object) {
      if (object == null) dart.nullFailed(I[7], 151, 25, "object");
      core.Expando._checkType(object);
      return this[_jsWeakMap].get(object);
    }
    _set(object, value$) {
      let value = value$;
      if (object == null) dart.nullFailed(I[7], 157, 28, "object");
      __t$TN().as(value);
      this[_jsWeakMap].set(object, value);
      return value$;
    }
  }
  (Expando.new = function(name = null) {
    this[_jsWeakMap] = new WeakMap();
    this[name$14] = name;
    ;
  }).prototype = Expando.prototype;
  dart.addTypeTests(Expando);
  Expando.prototype[_is_Expando_default] = true;
  dart.addTypeCaches(Expando);
  dart.setMethodSignature(Expando, () => ({
    __proto__: dart.getMethods(Expando.__proto__),
    _get: dart.fnType(dart.nullable(T), [core.Object]),
    _set: dart.fnType(dart.void, [core.Object, dart.nullable(core.Object)])
  }));
  dart.setLibraryUri(Expando, I[9]);
  dart.setFieldSignature(Expando, () => ({
    __proto__: dart.getFields(Expando.__proto__),
    [_jsWeakMap]: dart.finalFieldType(core.Object),
    name: dart.finalFieldType(dart.nullable(core.String))
  }));
  dart.defineExtensionMethods(Expando, ['toString']);
  return Expando;
});
core.Expando = core.Expando$();
dart.addTypeTests(core.Expando, _is_Expando_default);
core.Function = class Function extends core.Object {
  static _toMangledNames(namedArguments) {
    if (namedArguments == null) dart.nullFailed(I[7], 122, 28, "namedArguments");
    let result = new (T$0.IdentityMapOfString$dynamic()).new();
    namedArguments[$forEach](dart.fn((symbol, value) => {
      if (symbol == null) dart.nullFailed(I[7], 124, 29, "symbol");
      result[$_set](core._symbolToString(symbol), value);
    }, T$0.SymbolAnddynamicTovoid()));
    return result;
  }
  static is(o) {
    return typeof o == "function";
  }
  static as(o) {
    if (typeof o == "function") return o;
    return dart.as(o, core.Function);
  }
  static apply($function, positionalArguments, namedArguments = null) {
    if ($function == null) dart.nullFailed(I[7], 96, 25, "function");
    let needsCopy = namedArguments != null && dart.test(namedArguments[$isNotEmpty]);
    if (positionalArguments == null) {
      positionalArguments = [];
    } else if (needsCopy || !Array.isArray(positionalArguments)) {
      positionalArguments = core.List.of(positionalArguments);
    }
    if (namedArguments != null && dart.test(namedArguments[$isNotEmpty])) {
      let map = {};
      namedArguments[$forEach](dart.fn((symbol, arg) => {
        if (symbol == null) dart.nullFailed(I[7], 113, 31, "symbol");
        map[core._symbolToString(symbol)] = arg;
      }, T$0.SymbolAnddynamicTovoid()));
      return dart.dcall($function, positionalArguments, map);
    }
    return dart.dcall($function, positionalArguments);
  }
};
(core.Function.new = function() {
  ;
}).prototype = core.Function.prototype;
dart.addTypeCaches(core.Function);
dart.setLibraryUri(core.Function, I[9]);
var _positional = dart.privateName(core, "_positional");
var _named = dart.privateName(core, "_named");
core._Invocation = class _Invocation extends core.Object {
  get positionalArguments() {
    let t249;
    t249 = this[_positional];
    return t249 == null ? C[425] || CT.C425 : t249;
  }
  get namedArguments() {
    let t249;
    t249 = this[_named];
    return t249 == null ? C[426] || CT.C426 : t249;
  }
  get isMethod() {
    return this[_named] != null;
  }
  get isGetter() {
    return this[_positional] == null;
  }
  get isSetter() {
    return this[_positional] != null && this[_named] == null;
  }
  get isAccessor() {
    return this[_named] == null;
  }
  static _ensureNonNullTypes(types) {
    if (types == null) return C[1] || CT.C1;
    let typeArguments = T$.ListOfType().unmodifiable(types);
    for (let i = 0; i < dart.notNull(typeArguments[$length]); i = i + 1) {
      if (typeArguments[$_get](i) == null) {
        dart.throw(new core.ArgumentError.value(types, "types", "Type arguments must be non-null, was null at index " + dart.str(i) + "."));
      }
    }
    return typeArguments;
  }
};
(core._Invocation.method = function(memberName, types, positional, named) {
  if (memberName == null) dart.nullFailed(I[11], 99, 27, "memberName");
  this.memberName = memberName;
  this.typeArguments = core._Invocation._ensureNonNullTypes(types);
  this[_positional] = positional == null ? C[423] || CT.C423 : T$.ListOfObjectN().unmodifiable(positional);
  this[_named] = named == null || dart.test(named[$isEmpty]) ? C[424] || CT.C424 : T$0.MapOfSymbol$ObjectN().unmodifiable(named);
  ;
}).prototype = core._Invocation.prototype;
(core._Invocation.getter = function(memberName) {
  if (memberName == null) dart.nullFailed(I[11], 109, 27, "memberName");
  this.memberName = memberName;
  this.typeArguments = C[1] || CT.C1;
  this[_positional] = null;
  this[_named] = null;
  ;
}).prototype = core._Invocation.prototype;
(core._Invocation.setter = function(memberName, argument) {
  if (memberName == null) dart.nullFailed(I[11], 114, 27, "memberName");
  this.memberName = memberName;
  this.typeArguments = C[1] || CT.C1;
  this[_positional] = T$.ListOfObjectN().unmodifiable([argument]);
  this[_named] = null;
  ;
}).prototype = core._Invocation.prototype;
dart.addTypeTests(core._Invocation);
dart.addTypeCaches(core._Invocation);
core._Invocation[dart.implements] = () => [core.Invocation];
dart.setGetterSignature(core._Invocation, () => ({
  __proto__: dart.getGetters(core._Invocation.__proto__),
  positionalArguments: core.List,
  namedArguments: core.Map$(core.Symbol, dart.dynamic),
  isMethod: core.bool,
  isGetter: core.bool,
  isSetter: core.bool,
  isAccessor: core.bool
}));
dart.setLibraryUri(core._Invocation, I[9]);
dart.setFieldSignature(core._Invocation, () => ({
  __proto__: dart.getFields(core._Invocation.__proto__),
  memberName: dart.finalFieldType(core.Symbol),
  typeArguments: dart.finalFieldType(core.List$(core.Type)),
  [_positional]: dart.finalFieldType(dart.nullable(core.List$(dart.nullable(core.Object)))),
  [_named]: dart.finalFieldType(dart.nullable(core.Map$(core.Symbol, dart.nullable(core.Object))))
}));
var length$0 = dart.privateName(core, "_GeneratorIterable.length");
var _generator = dart.privateName(core, "_generator");
const _is__GeneratorIterable_default = Symbol('_is__GeneratorIterable_default');
core._GeneratorIterable$ = dart.generic(E => {
  var __t$intToE = () => (__t$intToE = dart.constFn(dart.fnType(E, [core.int])))();
  class _GeneratorIterable extends _internal.ListIterable$(E) {
    get length() {
      return this[length$0];
    }
    set length(value) {
      super.length = value;
    }
    elementAt(index) {
      let t249;
      if (index == null) dart.nullFailed(I[35], 642, 19, "index");
      core.RangeError.checkValidIndex(index, this);
      t249 = index;
      return this[_generator](t249);
    }
    static _id(n) {
      if (n == null) dart.nullFailed(I[35], 648, 22, "n");
      return n;
    }
  }
  (_GeneratorIterable.new = function(length, generator) {
    let t249;
    if (length == null) dart.nullFailed(I[35], 637, 27, "length");
    this[length$0] = length;
    this[_generator] = (t249 = generator, t249 == null ? __t$intToE().as(C[427] || CT.C427) : t249);
    _GeneratorIterable.__proto__.new.call(this);
    ;
  }).prototype = _GeneratorIterable.prototype;
  dart.addTypeTests(_GeneratorIterable);
  _GeneratorIterable.prototype[_is__GeneratorIterable_default] = true;
  dart.addTypeCaches(_GeneratorIterable);
  dart.setLibraryUri(_GeneratorIterable, I[9]);
  dart.setFieldSignature(_GeneratorIterable, () => ({
    __proto__: dart.getFields(_GeneratorIterable.__proto__),
    length: dart.finalFieldType(core.int),
    [_generator]: dart.finalFieldType(dart.fnType(E, [core.int]))
  }));
  dart.defineExtensionMethods(_GeneratorIterable, ['elementAt']);
  dart.defineExtensionAccessors(_GeneratorIterable, ['length']);
  return _GeneratorIterable;
});
core._GeneratorIterable = core._GeneratorIterable$();
dart.addTypeTests(core._GeneratorIterable, _is__GeneratorIterable_default);
const _is_BidirectionalIterator_default = Symbol('_is_BidirectionalIterator_default');
core.BidirectionalIterator$ = dart.generic(E => {
  class BidirectionalIterator extends core.Object {}
  (BidirectionalIterator.new = function() {
    ;
  }).prototype = BidirectionalIterator.prototype;
  dart.addTypeTests(BidirectionalIterator);
  BidirectionalIterator.prototype[_is_BidirectionalIterator_default] = true;
  dart.addTypeCaches(BidirectionalIterator);
  BidirectionalIterator[dart.implements] = () => [core.Iterator$(E)];
  dart.setLibraryUri(BidirectionalIterator, I[9]);
  return BidirectionalIterator;
});
core.BidirectionalIterator = core.BidirectionalIterator$();
dart.addTypeTests(core.BidirectionalIterator, _is_BidirectionalIterator_default);
core.Null = class Null extends core.Object {
  static is(o) {
    return o == null;
  }
  static as(o) {
    if (o == null) return o;
    return dart.as(o, core.Null);
  }
  get hashCode() {
    return super[$hashCode];
  }
  toString() {
    return "null";
  }
};
(core.Null[dart.mixinNew] = function() {
}).prototype = core.Null.prototype;
dart.addTypeCaches(core.Null);
dart.setLibraryUri(core.Null, I[9]);
dart.defineExtensionMethods(core.Null, ['toString']);
dart.defineExtensionAccessors(core.Null, ['hashCode']);
core.Pattern = class Pattern extends core.Object {};
(core.Pattern.new = function() {
  ;
}).prototype = core.Pattern.prototype;
dart.addTypeTests(core.Pattern);
dart.addTypeCaches(core.Pattern);
dart.setLibraryUri(core.Pattern, I[9]);
core.RegExp = class RegExp extends core.Object {
  static new(source, opts) {
    if (source == null) dart.nullFailed(I[7], 687, 25, "source");
    let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false;
    if (multiLine == null) dart.nullFailed(I[7], 688, 17, "multiLine");
    let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive : true;
    if (caseSensitive == null) dart.nullFailed(I[7], 689, 16, "caseSensitive");
    let unicode = opts && 'unicode' in opts ? opts.unicode : false;
    if (unicode == null) dart.nullFailed(I[7], 690, 16, "unicode");
    let dotAll = opts && 'dotAll' in opts ? opts.dotAll : false;
    if (dotAll == null) dart.nullFailed(I[7], 691, 16, "dotAll");
    return new _js_helper.JSSyntaxRegExp.new(source, {multiLine: multiLine, caseSensitive: caseSensitive, unicode: unicode, dotAll: dotAll});
  }
  static escape(text) {
    if (text == null) dart.nullFailed(I[7], 699, 31, "text");
    return _js_helper.quoteStringForRegExp(text);
  }
};
(core.RegExp[dart.mixinNew] = function() {
}).prototype = core.RegExp.prototype;
dart.addTypeTests(core.RegExp);
dart.addTypeCaches(core.RegExp);
core.RegExp[dart.implements] = () => [core.Pattern];
dart.setLibraryUri(core.RegExp, I[9]);
const _is_Set_default = Symbol('_is_Set_default');
core.Set$ = dart.generic(E => {
  class Set extends _internal.EfficientLengthIterable$(E) {
    static unmodifiable(elements) {
      if (elements == null) dart.nullFailed(I[172], 88, 40, "elements");
      return new (collection.UnmodifiableSetView$(E)).new((() => {
        let t249 = collection.LinkedHashSet$(E).of(elements);
        return t249;
      })());
    }
    static castFrom(S, T, source, opts) {
      if (source == null) dart.nullFailed(I[172], 114, 39, "source");
      let newSet = opts && 'newSet' in opts ? opts.newSet : null;
      return new (_internal.CastSet$(S, T)).new(source, newSet);
    }
  }
  dart.addTypeTests(Set);
  Set.prototype[_is_Set_default] = true;
  dart.addTypeCaches(Set);
  dart.setLibraryUri(Set, I[9]);
  return Set;
});
core.Set = core.Set$();
dart.addTypeTests(core.Set, _is_Set_default);
const _is_Sink_default = Symbol('_is_Sink_default');
core.Sink$ = dart.generic(T => {
  class Sink extends core.Object {}
  (Sink.new = function() {
    ;
  }).prototype = Sink.prototype;
  dart.addTypeTests(Sink);
  Sink.prototype[_is_Sink_default] = true;
  dart.addTypeCaches(Sink);
  dart.setLibraryUri(Sink, I[9]);
  return Sink;
});
core.Sink = core.Sink$();
dart.addTypeTests(core.Sink, _is_Sink_default);
var _StringStackTrace__stackTrace = dart.privateName(core, "_StringStackTrace._stackTrace");
core.StackTrace = class StackTrace extends core.Object {
  static get current() {
    return dart.stackTrace(Error());
  }
};
(core.StackTrace.new = function() {
  ;
}).prototype = core.StackTrace.prototype;
dart.addTypeTests(core.StackTrace);
dart.addTypeCaches(core.StackTrace);
dart.setLibraryUri(core.StackTrace, I[9]);
dart.defineLazy(core.StackTrace, {
  /*core.StackTrace.empty*/get empty() {
    return C[428] || CT.C428;
  }
}, false);
var _stackTrace = dart.privateName(core, "_stackTrace");
const _stackTrace$ = _StringStackTrace__stackTrace;
core._StringStackTrace = class _StringStackTrace extends core.Object {
  get [_stackTrace]() {
    return this[_stackTrace$];
  }
  set [_stackTrace](value) {
    super[_stackTrace] = value;
  }
  toString() {
    return this[_stackTrace];
  }
};
(core._StringStackTrace.new = function(_stackTrace) {
  if (_stackTrace == null) dart.nullFailed(I[173], 56, 32, "_stackTrace");
  this[_stackTrace$] = _stackTrace;
  ;
}).prototype = core._StringStackTrace.prototype;
dart.addTypeTests(core._StringStackTrace);
dart.addTypeCaches(core._StringStackTrace);
core._StringStackTrace[dart.implements] = () => [core.StackTrace];
dart.setLibraryUri(core._StringStackTrace, I[9]);
dart.setFieldSignature(core._StringStackTrace, () => ({
  __proto__: dart.getFields(core._StringStackTrace.__proto__),
  [_stackTrace]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(core._StringStackTrace, ['toString']);
var _start$2 = dart.privateName(core, "_start");
var _stop = dart.privateName(core, "_stop");
core.Stopwatch = class Stopwatch extends core.Object {
  get frequency() {
    return core.Stopwatch._frequency;
  }
  start() {
    let stop = this[_stop];
    if (stop != null) {
      this[_start$2] = dart.notNull(this[_start$2]) + (dart.notNull(core.Stopwatch._now()) - dart.notNull(stop));
      this[_stop] = null;
    }
  }
  stop() {
    this[_stop] == null ? this[_stop] = core.Stopwatch._now() : null;
  }
  reset() {
    let t250;
    this[_start$2] = (t250 = this[_stop], t250 == null ? core.Stopwatch._now() : t250);
  }
  get elapsedTicks() {
    let t250;
    return dart.notNull((t250 = this[_stop], t250 == null ? core.Stopwatch._now() : t250)) - dart.notNull(this[_start$2]);
  }
  get elapsed() {
    return new core.Duration.new({microseconds: this.elapsedMicroseconds});
  }
  get elapsedMicroseconds() {
    let ticks = this.elapsedTicks;
    if (core.Stopwatch._frequency === 1000000) return ticks;
    if (!(core.Stopwatch._frequency === 1000)) dart.assertFailed(null, I[7], 455, 12, "_frequency == 1000");
    return dart.notNull(ticks) * 1000;
  }
  get elapsedMilliseconds() {
    let ticks = this.elapsedTicks;
    if (core.Stopwatch._frequency === 1000) return ticks;
    if (!(core.Stopwatch._frequency === 1000000)) dart.assertFailed(null, I[7], 463, 12, "_frequency == 1000000");
    return (dart.notNull(ticks) / 1000)[$truncate]();
  }
  get isRunning() {
    return this[_stop] == null;
  }
  static _initTicker() {
    _js_helper.Primitives.initTicker();
    return _js_helper.Primitives.timerFrequency;
  }
  static _now() {
    return _js_helper.Primitives.timerTicks();
  }
};
(core.Stopwatch.new = function() {
  this[_start$2] = 0;
  this[_stop] = 0;
  core.Stopwatch._frequency;
}).prototype = core.Stopwatch.prototype;
dart.addTypeTests(core.Stopwatch);
dart.addTypeCaches(core.Stopwatch);
dart.setMethodSignature(core.Stopwatch, () => ({
  __proto__: dart.getMethods(core.Stopwatch.__proto__),
  start: dart.fnType(dart.void, []),
  stop: dart.fnType(dart.void, []),
  reset: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(core.Stopwatch, () => ({
  __proto__: dart.getGetters(core.Stopwatch.__proto__),
  frequency: core.int,
  elapsedTicks: core.int,
  elapsed: core.Duration,
  elapsedMicroseconds: core.int,
  elapsedMilliseconds: core.int,
  isRunning: core.bool
}));
dart.setLibraryUri(core.Stopwatch, I[9]);
dart.setFieldSignature(core.Stopwatch, () => ({
  __proto__: dart.getFields(core.Stopwatch.__proto__),
  [_start$2]: dart.fieldType(core.int),
  [_stop]: dart.fieldType(dart.nullable(core.int))
}));
dart.defineLazy(core.Stopwatch, {
  /*core.Stopwatch._frequency*/get _frequency() {
    return core.Stopwatch._initTicker();
  }
}, false);
var string$ = dart.privateName(core, "Runes.string");
core.Runes = class Runes extends core.Iterable$(core.int) {
  get string() {
    return this[string$];
  }
  set string(value) {
    super.string = value;
  }
  get iterator() {
    return new core.RuneIterator.new(this.string);
  }
  get last() {
    if (this.string.length === 0) {
      dart.throw(new core.StateError.new("No elements."));
    }
    let length = this.string.length;
    let code = this.string[$codeUnitAt](length - 1);
    if (dart.test(core._isTrailSurrogate(code)) && this.string.length > 1) {
      let previousCode = this.string[$codeUnitAt](length - 2);
      if (dart.test(core._isLeadSurrogate(previousCode))) {
        return core._combineSurrogatePair(previousCode, code);
      }
    }
    return code;
  }
};
(core.Runes.new = function(string) {
  if (string == null) dart.nullFailed(I[174], 642, 14, "string");
  this[string$] = string;
  core.Runes.__proto__.new.call(this);
  ;
}).prototype = core.Runes.prototype;
dart.addTypeTests(core.Runes);
dart.addTypeCaches(core.Runes);
dart.setGetterSignature(core.Runes, () => ({
  __proto__: dart.getGetters(core.Runes.__proto__),
  iterator: core.RuneIterator,
  [$iterator]: core.RuneIterator
}));
dart.setLibraryUri(core.Runes, I[9]);
dart.setFieldSignature(core.Runes, () => ({
  __proto__: dart.getFields(core.Runes.__proto__),
  string: dart.finalFieldType(core.String)
}));
dart.defineExtensionAccessors(core.Runes, ['iterator', 'last']);
var string$0 = dart.privateName(core, "RuneIterator.string");
var _currentCodePoint = dart.privateName(core, "_currentCodePoint");
var _position$0 = dart.privateName(core, "_position");
var _nextPosition = dart.privateName(core, "_nextPosition");
var _checkSplitSurrogate = dart.privateName(core, "_checkSplitSurrogate");
core.RuneIterator = class RuneIterator extends core.Object {
  get string() {
    return this[string$0];
  }
  set string(value) {
    super.string = value;
  }
  [_checkSplitSurrogate](index) {
    if (index == null) dart.nullFailed(I[174], 713, 33, "index");
    if (dart.notNull(index) > 0 && dart.notNull(index) < this.string.length && dart.test(core._isLeadSurrogate(this.string[$codeUnitAt](dart.notNull(index) - 1))) && dart.test(core._isTrailSurrogate(this.string[$codeUnitAt](index)))) {
      dart.throw(new core.ArgumentError.new("Index inside surrogate pair: " + dart.str(index)));
    }
  }
  get rawIndex() {
    return this[_position$0] != this[_nextPosition] ? this[_position$0] : -1;
  }
  set rawIndex(rawIndex) {
    if (rawIndex == null) dart.nullFailed(I[174], 735, 25, "rawIndex");
    core.RangeError.checkValidIndex(rawIndex, this.string, "rawIndex");
    this.reset(rawIndex);
    this.moveNext();
  }
  reset(rawIndex = 0) {
    if (rawIndex == null) dart.nullFailed(I[174], 750, 19, "rawIndex");
    core.RangeError.checkValueInInterval(rawIndex, 0, this.string.length, "rawIndex");
    this[_checkSplitSurrogate](rawIndex);
    this[_position$0] = this[_nextPosition] = rawIndex;
    this[_currentCodePoint] = -1;
  }
  get current() {
    return this[_currentCodePoint];
  }
  get currentSize() {
    return dart.notNull(this[_nextPosition]) - dart.notNull(this[_position$0]);
  }
  get currentAsString() {
    if (this[_position$0] == this[_nextPosition]) return "";
    if (dart.notNull(this[_position$0]) + 1 === this[_nextPosition]) return this.string[$_get](this[_position$0]);
    return this.string[$substring](this[_position$0], this[_nextPosition]);
  }
  moveNext() {
    this[_position$0] = this[_nextPosition];
    if (this[_position$0] === this.string.length) {
      this[_currentCodePoint] = -1;
      return false;
    }
    let codeUnit = this.string[$codeUnitAt](this[_position$0]);
    let nextPosition = dart.notNull(this[_position$0]) + 1;
    if (dart.test(core._isLeadSurrogate(codeUnit)) && nextPosition < this.string.length) {
      let nextCodeUnit = this.string[$codeUnitAt](nextPosition);
      if (dart.test(core._isTrailSurrogate(nextCodeUnit))) {
        this[_nextPosition] = nextPosition + 1;
        this[_currentCodePoint] = core._combineSurrogatePair(codeUnit, nextCodeUnit);
        return true;
      }
    }
    this[_nextPosition] = nextPosition;
    this[_currentCodePoint] = codeUnit;
    return true;
  }
  movePrevious() {
    this[_nextPosition] = this[_position$0];
    if (this[_position$0] === 0) {
      this[_currentCodePoint] = -1;
      return false;
    }
    let position = dart.notNull(this[_position$0]) - 1;
    let codeUnit = this.string[$codeUnitAt](position);
    if (dart.test(core._isTrailSurrogate(codeUnit)) && position > 0) {
      let prevCodeUnit = this.string[$codeUnitAt](position - 1);
      if (dart.test(core._isLeadSurrogate(prevCodeUnit))) {
        this[_position$0] = position - 1;
        this[_currentCodePoint] = core._combineSurrogatePair(prevCodeUnit, codeUnit);
        return true;
      }
    }
    this[_position$0] = position;
    this[_currentCodePoint] = codeUnit;
    return true;
  }
};
(core.RuneIterator.new = function(string) {
  if (string == null) dart.nullFailed(I[174], 691, 23, "string");
  this[_currentCodePoint] = -1;
  this[string$0] = string;
  this[_position$0] = 0;
  this[_nextPosition] = 0;
  ;
}).prototype = core.RuneIterator.prototype;
(core.RuneIterator.at = function(string, index) {
  if (string == null) dart.nullFailed(I[174], 704, 26, "string");
  if (index == null) dart.nullFailed(I[174], 704, 38, "index");
  this[_currentCodePoint] = -1;
  this[string$0] = string;
  this[_position$0] = index;
  this[_nextPosition] = index;
  core.RangeError.checkValueInInterval(index, 0, string.length);
  this[_checkSplitSurrogate](index);
}).prototype = core.RuneIterator.prototype;
dart.addTypeTests(core.RuneIterator);
dart.addTypeCaches(core.RuneIterator);
core.RuneIterator[dart.implements] = () => [core.BidirectionalIterator$(core.int)];
dart.setMethodSignature(core.RuneIterator, () => ({
  __proto__: dart.getMethods(core.RuneIterator.__proto__),
  [_checkSplitSurrogate]: dart.fnType(dart.void, [core.int]),
  reset: dart.fnType(dart.void, [], [core.int]),
  moveNext: dart.fnType(core.bool, []),
  movePrevious: dart.fnType(core.bool, [])
}));
dart.setGetterSignature(core.RuneIterator, () => ({
  __proto__: dart.getGetters(core.RuneIterator.__proto__),
  rawIndex: core.int,
  current: core.int,
  currentSize: core.int,
  currentAsString: core.String
}));
dart.setSetterSignature(core.RuneIterator, () => ({
  __proto__: dart.getSetters(core.RuneIterator.__proto__),
  rawIndex: core.int
}));
dart.setLibraryUri(core.RuneIterator, I[9]);
dart.setFieldSignature(core.RuneIterator, () => ({
  __proto__: dart.getFields(core.RuneIterator.__proto__),
  string: dart.finalFieldType(core.String),
  [_position$0]: dart.fieldType(core.int),
  [_nextPosition]: dart.fieldType(core.int),
  [_currentCodePoint]: dart.fieldType(core.int)
}));
core.Symbol = class Symbol extends core.Object {};
(core.Symbol[dart.mixinNew] = function() {
}).prototype = core.Symbol.prototype;
dart.addTypeTests(core.Symbol);
dart.addTypeCaches(core.Symbol);
dart.setLibraryUri(core.Symbol, I[9]);
dart.defineLazy(core.Symbol, {
  /*core.Symbol.unaryMinus*/get unaryMinus() {
    return C[429] || CT.C429;
  },
  /*core.Symbol.empty*/get empty() {
    return C[430] || CT.C430;
  }
}, false);
core.Uri = class Uri extends core.Object {
  static get base() {
    let uri = _js_helper.Primitives.currentUri();
    if (uri != null) return core.Uri.parse(uri);
    dart.throw(new core.UnsupportedError.new("'Uri.base' is not supported"));
  }
  static dataFromString(content, opts) {
    if (content == null) dart.nullFailed(I[175], 283, 37, "content");
    let mimeType = opts && 'mimeType' in opts ? opts.mimeType : null;
    let encoding = opts && 'encoding' in opts ? opts.encoding : null;
    let parameters = opts && 'parameters' in opts ? opts.parameters : null;
    let base64 = opts && 'base64' in opts ? opts.base64 : false;
    if (base64 == null) dart.nullFailed(I[175], 287, 12, "base64");
    let data = core.UriData.fromString(content, {mimeType: mimeType, encoding: encoding, parameters: parameters, base64: base64});
    return data.uri;
  }
  static dataFromBytes(bytes, opts) {
    if (bytes == null) dart.nullFailed(I[175], 310, 39, "bytes");
    let mimeType = opts && 'mimeType' in opts ? opts.mimeType : "application/octet-stream";
    if (mimeType == null) dart.nullFailed(I[175], 311, 15, "mimeType");
    let parameters = opts && 'parameters' in opts ? opts.parameters : null;
    let percentEncoded = opts && 'percentEncoded' in opts ? opts.percentEncoded : false;
    if (percentEncoded == null) dart.nullFailed(I[175], 313, 12, "percentEncoded");
    let data = core.UriData.fromBytes(bytes, {mimeType: mimeType, parameters: parameters, percentEncoded: percentEncoded});
    return data.uri;
  }
  get hasScheme() {
    return this.scheme[$isNotEmpty];
  }
  static parse(uri, start = 0, end = null) {
    let t250;
    if (uri == null) dart.nullFailed(I[175], 669, 27, "uri");
    if (start == null) dart.nullFailed(I[175], 669, 37, "start");
    end == null ? end = uri.length : null;
    if (dart.notNull(end) >= dart.notNull(start) + 5) {
      let dataDelta = core._startsWithData(uri, start);
      if (dataDelta === 0) {
        if (dart.notNull(start) > 0 || dart.notNull(end) < uri.length) uri = uri[$substring](start, end);
        return core.UriData._parse(uri, 5, null).uri;
      } else if (dataDelta === 32) {
        return core.UriData._parse(uri[$substring](dart.notNull(start) + 5, end), 0, null).uri;
      }
    }
    let indices = T$0.ListOfint().filled(8, 0, {growable: false});
    t250 = indices;
    (() => {
      t250[$_set](0, 0);
      t250[$_set](1, dart.notNull(start) - 1);
      t250[$_set](2, dart.notNull(start) - 1);
      t250[$_set](7, dart.notNull(start) - 1);
      t250[$_set](3, start);
      t250[$_set](4, start);
      t250[$_set](5, end);
      t250[$_set](6, end);
      return t250;
    })();
    let state = core._scan(uri, start, end, 0, indices);
    if (dart.notNull(state) >= 14) {
      indices[$_set](7, end);
    }
    let schemeEnd = indices[$_get](1);
    if (dart.notNull(schemeEnd) >= dart.notNull(start)) {
      state = core._scan(uri, start, schemeEnd, 20, indices);
      if (state === 20) {
        indices[$_set](7, schemeEnd);
      }
    }
    let hostStart = dart.notNull(indices[$_get](2)) + 1;
    let portStart = indices[$_get](3);
    let pathStart = indices[$_get](4);
    let queryStart = indices[$_get](5);
    let fragmentStart = indices[$_get](6);
    let scheme = null;
    if (dart.notNull(fragmentStart) < dart.notNull(queryStart)) queryStart = fragmentStart;
    if (dart.notNull(pathStart) < hostStart) {
      pathStart = queryStart;
    } else if (dart.notNull(pathStart) <= dart.notNull(schemeEnd)) {
      pathStart = dart.notNull(schemeEnd) + 1;
    }
    if (dart.notNull(portStart) < hostStart) portStart = pathStart;
    if (!(hostStart === start || dart.notNull(schemeEnd) <= hostStart)) dart.assertFailed(null, I[175], 808, 12, "hostStart == start || schemeEnd <= hostStart");
    if (!(hostStart <= dart.notNull(portStart))) dart.assertFailed(null, I[175], 809, 12, "hostStart <= portStart");
    if (!(dart.notNull(schemeEnd) <= dart.notNull(pathStart))) dart.assertFailed(null, I[175], 810, 12, "schemeEnd <= pathStart");
    if (!(dart.notNull(portStart) <= dart.notNull(pathStart))) dart.assertFailed(null, I[175], 811, 12, "portStart <= pathStart");
    if (!(dart.notNull(pathStart) <= dart.notNull(queryStart))) dart.assertFailed(null, I[175], 812, 12, "pathStart <= queryStart");
    if (!(dart.notNull(queryStart) <= dart.notNull(fragmentStart))) dart.assertFailed(null, I[175], 813, 12, "queryStart <= fragmentStart");
    let isSimple = dart.notNull(indices[$_get](7)) < dart.notNull(start);
    if (isSimple) {
      if (hostStart > dart.notNull(schemeEnd) + 3) {
        isSimple = false;
      } else if (dart.notNull(portStart) > dart.notNull(start) && dart.notNull(portStart) + 1 === pathStart) {
        isSimple = false;
      } else if (dart.notNull(queryStart) < dart.notNull(end) && queryStart === dart.notNull(pathStart) + 2 && uri[$startsWith]("..", pathStart) || dart.notNull(queryStart) > dart.notNull(pathStart) + 2 && uri[$startsWith]("/..", dart.notNull(queryStart) - 3)) {
        isSimple = false;
      } else {
        if (schemeEnd === dart.notNull(start) + 4) {
          if (uri[$startsWith]("file", start)) {
            scheme = "file";
            if (hostStart <= dart.notNull(start)) {
              let schemeAuth = "file://";
              let delta = 2;
              if (!uri[$startsWith]("/", pathStart)) {
                schemeAuth = "file:///";
                delta = 3;
              }
              uri = schemeAuth + uri[$substring](pathStart, end);
              schemeEnd = dart.notNull(schemeEnd) - dart.notNull(start);
              hostStart = 7;
              portStart = 7;
              pathStart = 7;
              queryStart = dart.notNull(queryStart) + (delta - dart.notNull(start));
              fragmentStart = dart.notNull(fragmentStart) + (delta - dart.notNull(start));
              start = 0;
              end = uri.length;
            } else if (pathStart == queryStart) {
              if (start === 0 && end === uri.length) {
                uri = uri[$replaceRange](pathStart, queryStart, "/");
                queryStart = dart.notNull(queryStart) + 1;
                fragmentStart = dart.notNull(fragmentStart) + 1;
                end = dart.notNull(end) + 1;
              } else {
                uri = uri[$substring](start, pathStart) + "/" + uri[$substring](queryStart, end);
                schemeEnd = dart.notNull(schemeEnd) - dart.notNull(start);
                hostStart = hostStart - dart.notNull(start);
                portStart = dart.notNull(portStart) - dart.notNull(start);
                pathStart = dart.notNull(pathStart) - dart.notNull(start);
                queryStart = dart.notNull(queryStart) + (1 - dart.notNull(start));
                fragmentStart = dart.notNull(fragmentStart) + (1 - dart.notNull(start));
                start = 0;
                end = uri.length;
              }
            }
          } else if (uri[$startsWith]("http", start)) {
            scheme = "http";
            if (dart.notNull(portStart) > dart.notNull(start) && dart.notNull(portStart) + 3 === pathStart && uri[$startsWith]("80", dart.notNull(portStart) + 1)) {
              if (start === 0 && end === uri.length) {
                uri = uri[$replaceRange](portStart, pathStart, "");
                pathStart = dart.notNull(pathStart) - 3;
                queryStart = dart.notNull(queryStart) - 3;
                fragmentStart = dart.notNull(fragmentStart) - 3;
                end = dart.notNull(end) - 3;
              } else {
                uri = uri[$substring](start, portStart) + uri[$substring](pathStart, end);
                schemeEnd = dart.notNull(schemeEnd) - dart.notNull(start);
                hostStart = hostStart - dart.notNull(start);
                portStart = dart.notNull(portStart) - dart.notNull(start);
                pathStart = dart.notNull(pathStart) - (3 + dart.notNull(start));
                queryStart = dart.notNull(queryStart) - (3 + dart.notNull(start));
                fragmentStart = dart.notNull(fragmentStart) - (3 + dart.notNull(start));
                start = 0;
                end = uri.length;
              }
            }
          }
        } else if (schemeEnd === dart.notNull(start) + 5 && uri[$startsWith]("https", start)) {
          scheme = "https";
          if (dart.notNull(portStart) > dart.notNull(start) && dart.notNull(portStart) + 4 === pathStart && uri[$startsWith]("443", dart.notNull(portStart) + 1)) {
            if (start === 0 && end === uri.length) {
              uri = uri[$replaceRange](portStart, pathStart, "");
              pathStart = dart.notNull(pathStart) - 4;
              queryStart = dart.notNull(queryStart) - 4;
              fragmentStart = dart.notNull(fragmentStart) - 4;
              end = dart.notNull(end) - 3;
            } else {
              uri = uri[$substring](start, portStart) + uri[$substring](pathStart, end);
              schemeEnd = dart.notNull(schemeEnd) - dart.notNull(start);
              hostStart = hostStart - dart.notNull(start);
              portStart = dart.notNull(portStart) - dart.notNull(start);
              pathStart = dart.notNull(pathStart) - (4 + dart.notNull(start));
              queryStart = dart.notNull(queryStart) - (4 + dart.notNull(start));
              fragmentStart = dart.notNull(fragmentStart) - (4 + dart.notNull(start));
              start = 0;
              end = uri.length;
            }
          }
        }
      }
    }
    if (isSimple) {
      if (dart.notNull(start) > 0 || dart.notNull(end) < uri.length) {
        uri = uri[$substring](start, end);
        schemeEnd = dart.notNull(schemeEnd) - dart.notNull(start);
        hostStart = hostStart - dart.notNull(start);
        portStart = dart.notNull(portStart) - dart.notNull(start);
        pathStart = dart.notNull(pathStart) - dart.notNull(start);
        queryStart = dart.notNull(queryStart) - dart.notNull(start);
        fragmentStart = dart.notNull(fragmentStart) - dart.notNull(start);
      }
      return new core._SimpleUri.new(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
    }
    return core._Uri.notSimple(uri, start, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
  }
  static tryParse(uri, start = 0, end = null) {
    if (uri == null) dart.nullFailed(I[175], 966, 31, "uri");
    if (start == null) dart.nullFailed(I[175], 966, 41, "start");
    try {
      return core.Uri.parse(uri, start, end);
    } catch (e) {
      let ex = dart.getThrown(e);
      if (core.FormatException.is(ex)) {
        return null;
      } else
        throw e;
    }
  }
  static encodeComponent(component) {
    if (component == null) dart.nullFailed(I[175], 993, 40, "component");
    return core._Uri._uriEncode(core._Uri._unreserved2396Table, component, convert.utf8, false);
  }
  static encodeQueryComponent(component, opts) {
    if (component == null) dart.nullFailed(I[175], 1030, 45, "component");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[175], 1031, 17, "encoding");
    return core._Uri._uriEncode(core._Uri._unreservedTable, component, encoding, true);
  }
  static decodeComponent(encodedComponent) {
    if (encodedComponent == null) dart.nullFailed(I[175], 1046, 40, "encodedComponent");
    return core._Uri._uriDecode(encodedComponent, 0, encodedComponent.length, convert.utf8, false);
  }
  static decodeQueryComponent(encodedComponent, opts) {
    if (encodedComponent == null) dart.nullFailed(I[175], 1057, 45, "encodedComponent");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[175], 1058, 17, "encoding");
    return core._Uri._uriDecode(encodedComponent, 0, encodedComponent.length, encoding, true);
  }
  static encodeFull(uri) {
    if (uri == null) dart.nullFailed(I[175], 1070, 35, "uri");
    return core._Uri._uriEncode(core._Uri._encodeFullTable, uri, convert.utf8, false);
  }
  static decodeFull(uri) {
    if (uri == null) dart.nullFailed(I[175], 1080, 35, "uri");
    return core._Uri._uriDecode(uri, 0, uri.length, convert.utf8, false);
  }
  static splitQueryString(query, opts) {
    if (query == null) dart.nullFailed(I[175], 1096, 54, "query");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[175], 1097, 17, "encoding");
    return query[$split]("&")[$fold](T$0.MapOfString$String(), new (T$.IdentityMapOfString$String()).new(), dart.fn((map, element) => {
      if (map == null) dart.nullFailed(I[175], 1098, 39, "map");
      if (element == null) dart.nullFailed(I[175], 1098, 44, "element");
      let index = element[$indexOf]("=");
      if (index === -1) {
        if (element !== "") {
          map[$_set](core.Uri.decodeQueryComponent(element, {encoding: encoding}), "");
        }
      } else if (index !== 0) {
        let key = element[$substring](0, index);
        let value = element[$substring](index + 1);
        map[$_set](core.Uri.decodeQueryComponent(key, {encoding: encoding}), core.Uri.decodeQueryComponent(value, {encoding: encoding}));
      }
      return map;
    }, T$0.MapOfString$StringAndStringToMapOfString$String()));
  }
  static parseIPv4Address(host) {
    if (host == null) dart.nullFailed(I[175], 1119, 44, "host");
    return core.Uri._parseIPv4Address(host, 0, host.length);
  }
  static _parseIPv4Address(host, start, end) {
    let t252;
    if (host == null) dart.nullFailed(I[175], 1123, 45, "host");
    if (start == null) dart.nullFailed(I[175], 1123, 55, "start");
    if (end == null) dart.nullFailed(I[175], 1123, 66, "end");
    function error(msg, position) {
      if (msg == null) dart.nullFailed(I[175], 1124, 23, "msg");
      if (position == null) dart.nullFailed(I[175], 1124, 32, "position");
      dart.throw(new core.FormatException.new("Illegal IPv4 address, " + dart.str(msg), host, position));
    }
    dart.fn(error, T$0.StringAndintTovoid());
    let result = _native_typed_data.NativeUint8List.new(4);
    let partIndex = 0;
    let partStart = start;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = host[$codeUnitAt](i);
      if (char !== 46) {
        if ((char ^ 48) >>> 0 > 9) {
          error("invalid character", i);
        }
      } else {
        if (partIndex === 3) {
          error("IPv4 address should contain exactly 4 parts", i);
        }
        let part = core.int.parse(host[$substring](partStart, i));
        if (dart.notNull(part) > 255) {
          error("each part must be in the range 0..255", partStart);
        }
        result[$_set]((t252 = partIndex, partIndex = t252 + 1, t252), part);
        partStart = dart.notNull(i) + 1;
      }
    }
    if (partIndex !== 3) {
      error("IPv4 address should contain exactly 4 parts", end);
    }
    let part = core.int.parse(host[$substring](partStart, end));
    if (dart.notNull(part) > 255) {
      error("each part must be in the range 0..255", partStart);
    }
    result[$_set](partIndex, part);
    return result;
  }
  static parseIPv6Address(host, start = 0, end = null) {
    if (host == null) dart.nullFailed(I[175], 1181, 44, "host");
    if (start == null) dart.nullFailed(I[175], 1181, 55, "start");
    end == null ? end = host.length : null;
    function error(msg, position = null) {
      if (msg == null) dart.nullFailed(I[175], 1191, 23, "msg");
      dart.throw(new core.FormatException.new("Illegal IPv6 address, " + dart.str(msg), host, T$.intN().as(position)));
    }
    dart.fn(error, T$0.StringAnddynamicTovoid$1());
    function parseHex(start, end) {
      if (start == null) dart.nullFailed(I[175], 1196, 22, "start");
      if (end == null) dart.nullFailed(I[175], 1196, 33, "end");
      if (dart.notNull(end) - dart.notNull(start) > 4) {
        error("an IPv6 part can only contain a maximum of 4 hex digits", start);
      }
      let value = core.int.parse(host[$substring](start, end), {radix: 16});
      if (dart.notNull(value) < 0 || dart.notNull(value) > 65535) {
        error("each part must be in the range of `0x0..0xFFFF`", start);
      }
      return value;
    }
    dart.fn(parseHex, T$0.intAndintToint());
    if (host.length < 2) error("address is too short");
    let parts = T$.JSArrayOfint().of([]);
    let wildcardSeen = false;
    let seenDot = false;
    let partStart = start;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = host[$codeUnitAt](i);
      if (char === 58) {
        if (i == start) {
          i = dart.notNull(i) + 1;
          if (host[$codeUnitAt](i) !== 58) {
            error("invalid start colon.", i);
          }
          partStart = i;
        }
        if (i == partStart) {
          if (wildcardSeen) {
            error("only one wildcard `::` is allowed", i);
          }
          wildcardSeen = true;
          parts[$add](-1);
        } else {
          parts[$add](parseHex(partStart, i));
        }
        partStart = dart.notNull(i) + 1;
      } else if (char === 46) {
        seenDot = true;
      }
    }
    if (parts[$length] === 0) error("too few parts");
    let atEnd = partStart == end;
    let isLastWildcard = parts[$last] === -1;
    if (atEnd && !isLastWildcard) {
      error("expected a part after last `:`", end);
    }
    if (!atEnd) {
      if (!seenDot) {
        parts[$add](parseHex(partStart, end));
      } else {
        let last = core.Uri._parseIPv4Address(host, partStart, end);
        parts[$add]((dart.notNull(last[$_get](0)) << 8 | dart.notNull(last[$_get](1))) >>> 0);
        parts[$add]((dart.notNull(last[$_get](2)) << 8 | dart.notNull(last[$_get](3))) >>> 0);
      }
    }
    if (wildcardSeen) {
      if (dart.notNull(parts[$length]) > 7) {
        error("an address with a wildcard must have less than 7 parts");
      }
    } else if (parts[$length] !== 8) {
      error("an address without a wildcard must contain exactly 8 parts");
    }
    let bytes = _native_typed_data.NativeUint8List.new(16);
    for (let i = 0, index = 0; i < dart.notNull(parts[$length]); i = i + 1) {
      let value = parts[$_get](i);
      if (value === -1) {
        let wildCardLength = 9 - dart.notNull(parts[$length]);
        for (let j = 0; j < wildCardLength; j = j + 1) {
          bytes[$_set](index, 0);
          bytes[$_set](index + 1, 0);
          index = index + 2;
        }
      } else {
        bytes[$_set](index, value[$rightShift](8));
        bytes[$_set](index + 1, dart.notNull(value) & 255);
        index = index + 2;
      }
    }
    return bytes;
  }
};
(core.Uri[dart.mixinNew] = function() {
}).prototype = core.Uri.prototype;
dart.addTypeTests(core.Uri);
dart.addTypeCaches(core.Uri);
dart.setGetterSignature(core.Uri, () => ({
  __proto__: dart.getGetters(core.Uri.__proto__),
  hasScheme: core.bool
}));
dart.setLibraryUri(core.Uri, I[9]);
var ___Uri__text = dart.privateName(core, "_#_Uri#_text");
var ___Uri__text_isSet = dart.privateName(core, "_#_Uri#_text#isSet");
var ___Uri_pathSegments = dart.privateName(core, "_#_Uri#pathSegments");
var ___Uri_pathSegments_isSet = dart.privateName(core, "_#_Uri#pathSegments#isSet");
var ___Uri_hashCode = dart.privateName(core, "_#_Uri#hashCode");
var ___Uri_hashCode_isSet = dart.privateName(core, "_#_Uri#hashCode#isSet");
var ___Uri_queryParameters = dart.privateName(core, "_#_Uri#queryParameters");
var ___Uri_queryParameters_isSet = dart.privateName(core, "_#_Uri#queryParameters#isSet");
var ___Uri_queryParametersAll = dart.privateName(core, "_#_Uri#queryParametersAll");
var ___Uri_queryParametersAll_isSet = dart.privateName(core, "_#_Uri#queryParametersAll#isSet");
var _userInfo$ = dart.privateName(core, "_userInfo");
var _host$ = dart.privateName(core, "_host");
var _port$ = dart.privateName(core, "_port");
var _query$ = dart.privateName(core, "_query");
var _fragment$ = dart.privateName(core, "_fragment");
var _initializeText = dart.privateName(core, "_initializeText");
var _text$ = dart.privateName(core, "_text");
var _writeAuthority = dart.privateName(core, "_writeAuthority");
var _mergePaths = dart.privateName(core, "_mergePaths");
var _toFilePath = dart.privateName(core, "_toFilePath");
core._Uri = class _Uri extends core.Object {
  get [_text$]() {
    let t253;
    if (!dart.test(this[___Uri__text_isSet])) {
      let t252 = this[_initializeText]();
      if (dart.test(this[___Uri__text_isSet])) dart.throw(new _internal.LateError.fieldADI("_text"));
      this[___Uri__text] = t252;
      this[___Uri__text_isSet] = true;
    }
    t253 = this[___Uri__text];
    return t253;
  }
  get pathSegments() {
    let t254;
    if (!dart.test(this[___Uri_pathSegments_isSet])) {
      let t253 = core._Uri._computePathSegments(this.path);
      if (dart.test(this[___Uri_pathSegments_isSet])) dart.throw(new _internal.LateError.fieldADI("pathSegments"));
      this[___Uri_pathSegments] = t253;
      this[___Uri_pathSegments_isSet] = true;
    }
    t254 = this[___Uri_pathSegments];
    return t254;
  }
  get hashCode() {
    let t255;
    if (!dart.test(this[___Uri_hashCode_isSet])) {
      let t254 = dart.hashCode(this[_text$]);
      if (dart.test(this[___Uri_hashCode_isSet])) dart.throw(new _internal.LateError.fieldADI("hashCode"));
      this[___Uri_hashCode] = t254;
      this[___Uri_hashCode_isSet] = true;
    }
    t255 = this[___Uri_hashCode];
    return t255;
  }
  get queryParameters() {
    let t256;
    if (!dart.test(this[___Uri_queryParameters_isSet])) {
      let t255 = new (T$0.UnmodifiableMapViewOfString$String()).new(core.Uri.splitQueryString(this.query));
      if (dart.test(this[___Uri_queryParameters_isSet])) dart.throw(new _internal.LateError.fieldADI("queryParameters"));
      this[___Uri_queryParameters] = t255;
      this[___Uri_queryParameters_isSet] = true;
    }
    t256 = this[___Uri_queryParameters];
    return t256;
  }
  get queryParametersAll() {
    let t257;
    if (!dart.test(this[___Uri_queryParametersAll_isSet])) {
      let t256 = core._Uri._computeQueryParametersAll(this.query);
      if (dart.test(this[___Uri_queryParametersAll_isSet])) dart.throw(new _internal.LateError.fieldADI("queryParametersAll"));
      this[___Uri_queryParametersAll] = t256;
      this[___Uri_queryParametersAll_isSet] = true;
    }
    t257 = this[___Uri_queryParametersAll];
    return t257;
  }
  static notSimple(uri, start, end, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme) {
    let t257;
    if (uri == null) dart.nullFailed(I[175], 1356, 14, "uri");
    if (start == null) dart.nullFailed(I[175], 1357, 11, "start");
    if (end == null) dart.nullFailed(I[175], 1358, 11, "end");
    if (schemeEnd == null) dart.nullFailed(I[175], 1359, 11, "schemeEnd");
    if (hostStart == null) dart.nullFailed(I[175], 1360, 11, "hostStart");
    if (portStart == null) dart.nullFailed(I[175], 1361, 11, "portStart");
    if (pathStart == null) dart.nullFailed(I[175], 1362, 11, "pathStart");
    if (queryStart == null) dart.nullFailed(I[175], 1363, 11, "queryStart");
    if (fragmentStart == null) dart.nullFailed(I[175], 1364, 11, "fragmentStart");
    if (scheme == null) {
      scheme = "";
      if (dart.notNull(schemeEnd) > dart.notNull(start)) {
        scheme = core._Uri._makeScheme(uri, start, schemeEnd);
      } else if (schemeEnd == start) {
        core._Uri._fail(uri, start, "Invalid empty scheme");
        dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
      }
    }
    let userInfo = "";
    let host = null;
    let port = null;
    if (dart.notNull(hostStart) > dart.notNull(start)) {
      let userInfoStart = dart.notNull(schemeEnd) + 3;
      if (userInfoStart < dart.notNull(hostStart)) {
        userInfo = core._Uri._makeUserInfo(uri, userInfoStart, dart.notNull(hostStart) - 1);
      }
      host = core._Uri._makeHost(uri, hostStart, portStart, false);
      if (dart.notNull(portStart) + 1 < dart.notNull(pathStart)) {
        let portNumber = (t257 = core.int.tryParse(uri[$substring](dart.notNull(portStart) + 1, pathStart)), t257 == null ? dart.throw(new core.FormatException.new("Invalid port", uri, dart.notNull(portStart) + 1)) : t257);
        port = core._Uri._makePort(portNumber, scheme);
      }
    }
    let path = core._Uri._makePath(uri, pathStart, queryStart, null, scheme, host != null);
    let query = null;
    if (dart.notNull(queryStart) < dart.notNull(fragmentStart)) {
      query = core._Uri._makeQuery(uri, dart.notNull(queryStart) + 1, fragmentStart, null);
    }
    let fragment = null;
    if (dart.notNull(fragmentStart) < dart.notNull(end)) {
      fragment = core._Uri._makeFragment(uri, dart.notNull(fragmentStart) + 1, end);
    }
    return new core._Uri._internal(scheme, userInfo, host, port, path, query, fragment);
  }
  static new(opts) {
    let scheme = opts && 'scheme' in opts ? opts.scheme : null;
    let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null;
    let host = opts && 'host' in opts ? opts.host : null;
    let port = opts && 'port' in opts ? opts.port : null;
    let path = opts && 'path' in opts ? opts.path : null;
    let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : null;
    let query = opts && 'query' in opts ? opts.query : null;
    let queryParameters = opts && 'queryParameters' in opts ? opts.queryParameters : null;
    let fragment = opts && 'fragment' in opts ? opts.fragment : null;
    if (scheme == null) {
      scheme = "";
    } else {
      scheme = core._Uri._makeScheme(scheme, 0, scheme.length);
    }
    userInfo = core._Uri._makeUserInfo(userInfo, 0, core._stringOrNullLength(userInfo));
    if (userInfo == null) {
      dart.throw("unreachable");
    }
    host = core._Uri._makeHost(host, 0, core._stringOrNullLength(host), false);
    if (query === "") query = null;
    query = core._Uri._makeQuery(query, 0, core._stringOrNullLength(query), queryParameters);
    fragment = core._Uri._makeFragment(fragment, 0, core._stringOrNullLength(fragment));
    port = core._Uri._makePort(port, scheme);
    let isFile = scheme === "file";
    if (host == null && (userInfo[$isNotEmpty] || port != null || isFile)) {
      host = "";
    }
    let hasAuthority = host != null;
    path = core._Uri._makePath(path, 0, core._stringOrNullLength(path), pathSegments, scheme, hasAuthority);
    if (path == null) {
      dart.throw("unreachable");
    }
    if (scheme[$isEmpty] && host == null && !path[$startsWith]("/")) {
      let allowScheme = scheme[$isNotEmpty] || host != null;
      path = core._Uri._normalizeRelativePath(path, allowScheme);
    } else {
      path = core._Uri._removeDotSegments(path);
    }
    if (host == null && path[$startsWith]("//")) {
      host = "";
    }
    return new core._Uri._internal(scheme, userInfo, host, port, path, query, fragment);
  }
  static http(authority, unencodedPath, queryParameters = null) {
    if (authority == null) dart.nullFailed(I[175], 1454, 28, "authority");
    if (unencodedPath == null) dart.nullFailed(I[175], 1454, 46, "unencodedPath");
    return core._Uri._makeHttpUri("http", authority, unencodedPath, queryParameters);
  }
  static https(authority, unencodedPath, queryParameters = null) {
    if (authority == null) dart.nullFailed(I[175], 1460, 29, "authority");
    if (unencodedPath == null) dart.nullFailed(I[175], 1460, 47, "unencodedPath");
    return core._Uri._makeHttpUri("https", authority, unencodedPath, queryParameters);
  }
  get authority() {
    if (!dart.test(this.hasAuthority)) return "";
    let sb = new core.StringBuffer.new();
    this[_writeAuthority](sb);
    return sb.toString();
  }
  get userInfo() {
    return this[_userInfo$];
  }
  get host() {
    let host = this[_host$];
    if (host == null) return "";
    if (host[$startsWith]("[")) {
      return host[$substring](1, host.length - 1);
    }
    return host;
  }
  get port() {
    let t257;
    t257 = this[_port$];
    return t257 == null ? core._Uri._defaultPort(this.scheme) : t257;
  }
  static _defaultPort(scheme) {
    if (scheme == null) dart.nullFailed(I[175], 1488, 34, "scheme");
    if (scheme === "http") return 80;
    if (scheme === "https") return 443;
    return 0;
  }
  get query() {
    let t257;
    t257 = this[_query$];
    return t257 == null ? "" : t257;
  }
  get fragment() {
    let t257;
    t257 = this[_fragment$];
    return t257 == null ? "" : t257;
  }
  isScheme(scheme) {
    if (scheme == null) dart.nullFailed(I[175], 1498, 24, "scheme");
    let thisScheme = this.scheme;
    if (scheme == null) return thisScheme[$isEmpty];
    if (scheme.length !== thisScheme.length) return false;
    return core._Uri._compareScheme(scheme, thisScheme);
  }
  static _compareScheme(scheme, uri) {
    if (scheme == null) dart.nullFailed(I[175], 1517, 37, "scheme");
    if (uri == null) dart.nullFailed(I[175], 1517, 52, "uri");
    for (let i = 0; i < scheme.length; i = i + 1) {
      let schemeChar = scheme[$codeUnitAt](i);
      let uriChar = uri[$codeUnitAt](i);
      let delta = (schemeChar ^ uriChar) >>> 0;
      if (delta !== 0) {
        if (delta === 32) {
          let lowerChar = (uriChar | delta) >>> 0;
          if (97 <= lowerChar && lowerChar <= 122) {
            continue;
          }
        }
        return false;
      }
    }
    return true;
  }
  static _fail(uri, index, message) {
    if (uri == null) dart.nullFailed(I[175], 1537, 29, "uri");
    if (index == null) dart.nullFailed(I[175], 1537, 38, "index");
    if (message == null) dart.nullFailed(I[175], 1537, 52, "message");
    dart.throw(new core.FormatException.new(message, uri, index));
  }
  static _makeHttpUri(scheme, authority, unencodedPath, queryParameters) {
    if (scheme == null) dart.nullFailed(I[175], 1541, 35, "scheme");
    if (unencodedPath == null) dart.nullFailed(I[175], 1542, 14, "unencodedPath");
    let userInfo = "";
    let host = null;
    let port = null;
    if (authority != null && authority[$isNotEmpty]) {
      let hostStart = 0;
      for (let i = 0; i < authority.length; i = i + 1) {
        if (authority[$codeUnitAt](i) === 64) {
          userInfo = authority[$substring](0, i);
          hostStart = i + 1;
          break;
        }
      }
      let hostEnd = hostStart;
      if (hostStart < authority.length && authority[$codeUnitAt](hostStart) === 91) {
        let escapeForZoneID = -1;
        for (; hostEnd < authority.length; hostEnd = hostEnd + 1) {
          let char = authority[$codeUnitAt](hostEnd);
          if (char === 37 && escapeForZoneID < 0) {
            escapeForZoneID = hostEnd;
            if (authority[$startsWith]("25", hostEnd + 1)) {
              hostEnd = hostEnd + 2;
            }
          } else if (char === 93) {
            break;
          }
        }
        if (hostEnd === authority.length) {
          dart.throw(new core.FormatException.new("Invalid IPv6 host entry.", authority, hostStart));
        }
        core.Uri.parseIPv6Address(authority, hostStart + 1, escapeForZoneID < 0 ? hostEnd : escapeForZoneID);
        hostEnd = hostEnd + 1;
        if (hostEnd !== authority.length && authority[$codeUnitAt](hostEnd) !== 58) {
          dart.throw(new core.FormatException.new("Invalid end of authority", authority, hostEnd));
        }
      }
      for (; hostEnd < authority.length; hostEnd = hostEnd + 1) {
        if (authority[$codeUnitAt](hostEnd) === 58) {
          let portString = authority[$substring](hostEnd + 1);
          if (portString[$isNotEmpty]) port = core.int.parse(portString);
          break;
        }
      }
      host = authority[$substring](hostStart, hostEnd);
    }
    return core._Uri.new({scheme: scheme, userInfo: userInfo, host: host, port: port, pathSegments: unencodedPath[$split]("/"), queryParameters: queryParameters});
  }
  static file(path, opts) {
    let t257;
    if (path == null) dart.nullFailed(I[175], 1607, 28, "path");
    let windows = opts && 'windows' in opts ? opts.windows : null;
    return core._Uri.as(dart.test((t257 = windows, t257 == null ? core._Uri._isWindows : t257)) ? core._Uri._makeWindowsFileUrl(path, false) : core._Uri._makeFileUri(path, false));
  }
  static directory(path, opts) {
    let t257;
    if (path == null) dart.nullFailed(I[175], 1614, 33, "path");
    let windows = opts && 'windows' in opts ? opts.windows : null;
    return core._Uri.as(dart.test((t257 = windows, t257 == null ? core._Uri._isWindows : t257)) ? core._Uri._makeWindowsFileUrl(path, true) : core._Uri._makeFileUri(path, true));
  }
  static get _isWindows() {
    return core._Uri._isWindowsCached;
  }
  static _checkNonWindowsPathReservedCharacters(segments, argumentError) {
    if (segments == null) dart.nullFailed(I[175], 1624, 20, "segments");
    if (argumentError == null) dart.nullFailed(I[175], 1624, 35, "argumentError");
    for (let segment of segments) {
      if (segment[$contains]("/")) {
        if (dart.test(argumentError)) {
          dart.throw(new core.ArgumentError.new("Illegal path character " + dart.str(segment)));
        } else {
          dart.throw(new core.UnsupportedError.new("Illegal path character " + dart.str(segment)));
        }
      }
    }
  }
  static _checkWindowsPathReservedCharacters(segments, argumentError, firstSegment = 0) {
    if (segments == null) dart.nullFailed(I[175], 1637, 20, "segments");
    if (argumentError == null) dart.nullFailed(I[175], 1637, 35, "argumentError");
    if (firstSegment == null) dart.nullFailed(I[175], 1638, 12, "firstSegment");
    for (let segment of segments[$skip](firstSegment)) {
      if (segment[$contains](core.RegExp.new("[\"*/:<>?\\\\|]"))) {
        if (dart.test(argumentError)) {
          dart.throw(new core.ArgumentError.new("Illegal character in path"));
        } else {
          dart.throw(new core.UnsupportedError.new("Illegal character in path: " + dart.str(segment)));
        }
      }
    }
  }
  static _checkWindowsDriveLetter(charCode, argumentError) {
    if (charCode == null) dart.nullFailed(I[175], 1650, 44, "charCode");
    if (argumentError == null) dart.nullFailed(I[175], 1650, 59, "argumentError");
    if (65 <= dart.notNull(charCode) && dart.notNull(charCode) <= 90 || 97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 122) {
      return;
    }
    if (dart.test(argumentError)) {
      dart.throw(new core.ArgumentError.new("Illegal drive letter " + dart.notNull(core.String.fromCharCode(charCode))));
    } else {
      dart.throw(new core.UnsupportedError.new("Illegal drive letter " + dart.notNull(core.String.fromCharCode(charCode))));
    }
  }
  static _makeFileUri(path, slashTerminated) {
    if (path == null) dart.nullFailed(I[175], 1664, 34, "path");
    if (slashTerminated == null) dart.nullFailed(I[175], 1664, 45, "slashTerminated");
    let segments = path[$split]("/");
    if (dart.test(slashTerminated) && dart.test(segments[$isNotEmpty]) && segments[$last][$isNotEmpty]) {
      segments[$add]("");
    }
    if (path[$startsWith]("/")) {
      return core._Uri.new({scheme: "file", pathSegments: segments});
    } else {
      return core._Uri.new({pathSegments: segments});
    }
  }
  static _makeWindowsFileUrl(path, slashTerminated) {
    if (path == null) dart.nullFailed(I[175], 1679, 37, "path");
    if (slashTerminated == null) dart.nullFailed(I[175], 1679, 48, "slashTerminated");
    if (path[$startsWith]("\\\\?\\")) {
      if (path[$startsWith]("UNC\\", 4)) {
        path = path[$replaceRange](0, 7, "\\");
      } else {
        path = path[$substring](4);
        if (path.length < 3 || path[$codeUnitAt](1) !== 58 || path[$codeUnitAt](2) !== 92) {
          dart.throw(new core.ArgumentError.new("Windows paths with \\\\?\\ prefix must be absolute"));
        }
      }
    } else {
      path = path[$replaceAll]("/", "\\");
    }
    if (path.length > 1 && path[$codeUnitAt](1) === 58) {
      core._Uri._checkWindowsDriveLetter(path[$codeUnitAt](0), true);
      if (path.length === 2 || path[$codeUnitAt](2) !== 92) {
        dart.throw(new core.ArgumentError.new("Windows paths with drive letter must be absolute"));
      }
      let pathSegments = path[$split]("\\");
      if (dart.test(slashTerminated) && pathSegments[$last][$isNotEmpty]) {
        pathSegments[$add]("");
      }
      core._Uri._checkWindowsPathReservedCharacters(pathSegments, true, 1);
      return core._Uri.new({scheme: "file", pathSegments: pathSegments});
    }
    if (path[$startsWith]("\\")) {
      if (path[$startsWith]("\\", 1)) {
        let pathStart = path[$indexOf]("\\", 2);
        let hostPart = pathStart < 0 ? path[$substring](2) : path[$substring](2, pathStart);
        let pathPart = pathStart < 0 ? "" : path[$substring](pathStart + 1);
        let pathSegments = pathPart[$split]("\\");
        core._Uri._checkWindowsPathReservedCharacters(pathSegments, true);
        if (dart.test(slashTerminated) && pathSegments[$last][$isNotEmpty]) {
          pathSegments[$add]("");
        }
        return core._Uri.new({scheme: "file", host: hostPart, pathSegments: pathSegments});
      } else {
        let pathSegments = path[$split]("\\");
        if (dart.test(slashTerminated) && pathSegments[$last][$isNotEmpty]) {
          pathSegments[$add]("");
        }
        core._Uri._checkWindowsPathReservedCharacters(pathSegments, true);
        return core._Uri.new({scheme: "file", pathSegments: pathSegments});
      }
    } else {
      let pathSegments = path[$split]("\\");
      core._Uri._checkWindowsPathReservedCharacters(pathSegments, true);
      if (dart.test(slashTerminated) && dart.test(pathSegments[$isNotEmpty]) && pathSegments[$last][$isNotEmpty]) {
        pathSegments[$add]("");
      }
      return core._Uri.new({pathSegments: pathSegments});
    }
  }
  replace(opts) {
    let scheme = opts && 'scheme' in opts ? opts.scheme : null;
    let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null;
    let host = opts && 'host' in opts ? opts.host : null;
    let port = opts && 'port' in opts ? opts.port : null;
    let path = opts && 'path' in opts ? opts.path : null;
    let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : null;
    let query = opts && 'query' in opts ? opts.query : null;
    let queryParameters = opts && 'queryParameters' in opts ? opts.queryParameters : null;
    let fragment = opts && 'fragment' in opts ? opts.fragment : null;
    let schemeChanged = false;
    if (scheme != null) {
      scheme = core._Uri._makeScheme(scheme, 0, scheme.length);
      schemeChanged = scheme != this.scheme;
    } else {
      scheme = this.scheme;
    }
    let isFile = scheme === "file";
    if (userInfo != null) {
      userInfo = core._Uri._makeUserInfo(userInfo, 0, userInfo.length);
    } else {
      userInfo = this[_userInfo$];
    }
    if (port != null) {
      port = core._Uri._makePort(port, scheme);
    } else {
      port = this[_port$];
      if (schemeChanged) {
        port = core._Uri._makePort(port, scheme);
      }
    }
    if (host != null) {
      host = core._Uri._makeHost(host, 0, host.length, false);
    } else if (dart.test(this.hasAuthority)) {
      host = this[_host$];
    } else if (userInfo[$isNotEmpty] || port != null || isFile) {
      host = "";
    }
    let hasAuthority = host != null;
    if (path != null || pathSegments != null) {
      path = core._Uri._makePath(path, 0, core._stringOrNullLength(path), pathSegments, scheme, hasAuthority);
    } else {
      let currentPath = this.path;
      if ((isFile || hasAuthority && !currentPath[$isEmpty]) && !currentPath[$startsWith]("/")) {
        currentPath = "/" + dart.notNull(currentPath);
      }
      path = currentPath;
    }
    if (query != null || queryParameters != null) {
      query = core._Uri._makeQuery(query, 0, core._stringOrNullLength(query), queryParameters);
    } else {
      query = this[_query$];
    }
    if (fragment != null) {
      fragment = core._Uri._makeFragment(fragment, 0, fragment.length);
    } else {
      fragment = this[_fragment$];
    }
    return new core._Uri._internal(scheme, userInfo, host, port, path, query, fragment);
  }
  removeFragment() {
    if (!dart.test(this.hasFragment)) return this;
    return new core._Uri._internal(this.scheme, this[_userInfo$], this[_host$], this[_port$], this.path, this[_query$], null);
  }
  static _computePathSegments(pathToSplit) {
    if (pathToSplit == null) dart.nullFailed(I[175], 1823, 51, "pathToSplit");
    if (pathToSplit[$isNotEmpty] && pathToSplit[$codeUnitAt](0) === 47) {
      pathToSplit = pathToSplit[$substring](1);
    }
    return pathToSplit[$isEmpty] ? C[406] || CT.C406 : T$.ListOfString().unmodifiable(pathToSplit[$split]("/")[$map](dart.dynamic, C[431] || CT.C431));
  }
  static _computeQueryParametersAll(query) {
    if (query == null || query[$isEmpty]) return C[432] || CT.C432;
    let queryParameterLists = core._Uri._splitQueryStringAll(query);
    queryParameterLists[$updateAll](C[433] || CT.C433);
    return T$0.MapOfString$ListOfString().unmodifiable(queryParameterLists);
  }
  normalizePath() {
    let path = core._Uri._normalizePath(this.path, this.scheme, this.hasAuthority);
    if (path == this.path) return this;
    return this.replace({path: path});
  }
  static _makePort(port, scheme) {
    if (scheme == null) dart.nullFailed(I[175], 1846, 43, "scheme");
    if (port != null && port == core._Uri._defaultPort(scheme)) return null;
    return port;
  }
  static _makeHost(host, start, end, strictIPv6) {
    if (start == null) dart.nullFailed(I[175], 1861, 46, "start");
    if (end == null) dart.nullFailed(I[175], 1861, 57, "end");
    if (strictIPv6 == null) dart.nullFailed(I[175], 1861, 67, "strictIPv6");
    if (host == null) return null;
    if (start == end) return "";
    if (host[$codeUnitAt](start) === 91) {
      if (host[$codeUnitAt](dart.notNull(end) - 1) !== 93) {
        core._Uri._fail(host, start, "Missing end `]` to match `[` in host");
        dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
      }
      let zoneID = "";
      let index = core._Uri._checkZoneID(host, dart.notNull(start) + 1, dart.notNull(end) - 1);
      if (dart.notNull(index) < dart.notNull(end) - 1) {
        let zoneIDstart = host[$startsWith]("25", dart.notNull(index) + 1) ? dart.notNull(index) + 3 : dart.notNull(index) + 1;
        zoneID = core._Uri._normalizeZoneID(host, zoneIDstart, dart.notNull(end) - 1, "%25");
      }
      core.Uri.parseIPv6Address(host, dart.notNull(start) + 1, index);
      return host[$substring](start, index)[$toLowerCase]() + dart.notNull(zoneID) + "]";
    }
    if (!dart.test(strictIPv6)) {
      for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
        if (host[$codeUnitAt](i) === 58) {
          let zoneID = "";
          let index = core._Uri._checkZoneID(host, start, end);
          if (dart.notNull(index) < dart.notNull(end)) {
            let zoneIDstart = host[$startsWith]("25", dart.notNull(index) + 1) ? dart.notNull(index) + 3 : dart.notNull(index) + 1;
            zoneID = core._Uri._normalizeZoneID(host, zoneIDstart, end, "%25");
          }
          core.Uri.parseIPv6Address(host, start, index);
          return "[" + host[$substring](start, index) + dart.notNull(zoneID) + "]";
        }
      }
    }
    return core._Uri._normalizeRegName(host, start, end);
  }
  static _checkZoneID(host, start, end) {
    if (host == null) dart.nullFailed(I[175], 1902, 34, "host");
    if (start == null) dart.nullFailed(I[175], 1902, 44, "start");
    if (end == null) dart.nullFailed(I[175], 1902, 55, "end");
    let index = host[$indexOf]("%", start);
    index = dart.notNull(index) >= dart.notNull(start) && dart.notNull(index) < dart.notNull(end) ? index : end;
    return index;
  }
  static _isZoneIDChar(char) {
    if (char == null) dart.nullFailed(I[175], 1908, 33, "char");
    return dart.notNull(char) < 127 && (dart.notNull(core._Uri._zoneIDTable[$_get](char[$rightShift](4))) & 1 << (dart.notNull(char) & 15)) !== 0;
  }
  static _normalizeZoneID(host, start, end, prefix = "") {
    let t257, t257$;
    if (host == null) dart.nullFailed(I[175], 1918, 41, "host");
    if (start == null) dart.nullFailed(I[175], 1918, 51, "start");
    if (end == null) dart.nullFailed(I[175], 1918, 62, "end");
    if (prefix == null) dart.nullFailed(I[175], 1919, 15, "prefix");
    let buffer = null;
    if (prefix !== "") {
      buffer = new core.StringBuffer.new(prefix);
    }
    let sectionStart = start;
    let index = start;
    let isNormalized = true;
    while (dart.notNull(index) < dart.notNull(end)) {
      let char = host[$codeUnitAt](index);
      if (char === 37) {
        let replacement = core._Uri._normalizeEscape(host, index, true);
        if (replacement == null && isNormalized) {
          index = dart.notNull(index) + 3;
          continue;
        }
        buffer == null ? buffer = new core.StringBuffer.new() : null;
        let slice = host[$substring](sectionStart, index);
        buffer.write(slice);
        let sourceLength = 3;
        if (replacement == null) {
          replacement = host[$substring](index, dart.notNull(index) + 3);
        } else if (replacement === "%") {
          core._Uri._fail(host, index, "ZoneID should not contain % anymore");
          dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
        }
        buffer.write(replacement);
        index = dart.notNull(index) + sourceLength;
        sectionStart = index;
        isNormalized = true;
      } else if (dart.test(core._Uri._isZoneIDChar(char))) {
        if (isNormalized && 65 <= char && 90 >= char) {
          buffer == null ? buffer = new core.StringBuffer.new() : null;
          if (dart.notNull(sectionStart) < dart.notNull(index)) {
            buffer.write(host[$substring](sectionStart, index));
            sectionStart = index;
          }
          isNormalized = false;
        }
        index = dart.notNull(index) + 1;
      } else {
        let sourceLength = 1;
        if ((char & 64512) === 55296 && dart.notNull(index) + 1 < dart.notNull(end)) {
          let tail = host[$codeUnitAt](dart.notNull(index) + 1);
          if ((tail & 64512) === 56320) {
            char = 65536 | (char & 1023) << 10 | tail & 1023;
            sourceLength = 2;
          }
        }
        let slice = host[$substring](sectionStart, index);
        t257$ = (t257 = buffer, t257 == null ? buffer = new core.StringBuffer.new() : t257);
        (() => {
          t257$.write(slice);
          t257$.write(core._Uri._escapeChar(char));
          return t257$;
        })();
        index = dart.notNull(index) + sourceLength;
        sectionStart = index;
      }
    }
    if (buffer == null) return host[$substring](start, end);
    if (dart.notNull(sectionStart) < dart.notNull(end)) {
      let slice = host[$substring](sectionStart, end);
      buffer.write(slice);
    }
    return dart.toString(buffer);
  }
  static _isRegNameChar(char) {
    if (char == null) dart.nullFailed(I[175], 1984, 34, "char");
    return dart.notNull(char) < 127 && (dart.notNull(core._Uri._regNameTable[$_get](char[$rightShift](4))) & 1 << (dart.notNull(char) & 15)) !== 0;
  }
  static _normalizeRegName(host, start, end) {
    let t257, t257$;
    if (host == null) dart.nullFailed(I[175], 1993, 42, "host");
    if (start == null) dart.nullFailed(I[175], 1993, 52, "start");
    if (end == null) dart.nullFailed(I[175], 1993, 63, "end");
    let buffer = null;
    let sectionStart = start;
    let index = start;
    let isNormalized = true;
    while (dart.notNull(index) < dart.notNull(end)) {
      let char = host[$codeUnitAt](index);
      if (char === 37) {
        let replacement = core._Uri._normalizeEscape(host, index, true);
        if (replacement == null && isNormalized) {
          index = dart.notNull(index) + 3;
          continue;
        }
        buffer == null ? buffer = new core.StringBuffer.new() : null;
        let slice = host[$substring](sectionStart, index);
        if (!isNormalized) slice = slice[$toLowerCase]();
        buffer.write(slice);
        let sourceLength = 3;
        if (replacement == null) {
          replacement = host[$substring](index, dart.notNull(index) + 3);
        } else if (replacement === "%") {
          replacement = "%25";
          sourceLength = 1;
        }
        buffer.write(replacement);
        index = dart.notNull(index) + sourceLength;
        sectionStart = index;
        isNormalized = true;
      } else if (dart.test(core._Uri._isRegNameChar(char))) {
        if (isNormalized && 65 <= char && 90 >= char) {
          buffer == null ? buffer = new core.StringBuffer.new() : null;
          if (dart.notNull(sectionStart) < dart.notNull(index)) {
            buffer.write(host[$substring](sectionStart, index));
            sectionStart = index;
          }
          isNormalized = false;
        }
        index = dart.notNull(index) + 1;
      } else if (dart.test(core._Uri._isGeneralDelimiter(char))) {
        core._Uri._fail(host, index, "Invalid character");
        dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
      } else {
        let sourceLength = 1;
        if ((char & 64512) === 55296 && dart.notNull(index) + 1 < dart.notNull(end)) {
          let tail = host[$codeUnitAt](dart.notNull(index) + 1);
          if ((tail & 64512) === 56320) {
            char = 65536 | (char & 1023) << 10 | tail & 1023;
            sourceLength = 2;
          }
        }
        let slice = host[$substring](sectionStart, index);
        if (!isNormalized) slice = slice[$toLowerCase]();
        t257$ = (t257 = buffer, t257 == null ? buffer = new core.StringBuffer.new() : t257);
        (() => {
          t257$.write(slice);
          t257$.write(core._Uri._escapeChar(char));
          return t257$;
        })();
        index = dart.notNull(index) + sourceLength;
        sectionStart = index;
      }
    }
    if (buffer == null) return host[$substring](start, end);
    if (dart.notNull(sectionStart) < dart.notNull(end)) {
      let slice = host[$substring](sectionStart, end);
      if (!isNormalized) slice = slice[$toLowerCase]();
      buffer.write(slice);
    }
    return dart.toString(buffer);
  }
  static _makeScheme(scheme, start, end) {
    if (scheme == null) dart.nullFailed(I[175], 2065, 36, "scheme");
    if (start == null) dart.nullFailed(I[175], 2065, 48, "start");
    if (end == null) dart.nullFailed(I[175], 2065, 59, "end");
    if (start == end) return "";
    let firstCodeUnit = scheme[$codeUnitAt](start);
    if (!dart.test(core._Uri._isAlphabeticCharacter(firstCodeUnit))) {
      core._Uri._fail(scheme, start, "Scheme not starting with alphabetic character");
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    let containsUpperCase = false;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let codeUnit = scheme[$codeUnitAt](i);
      if (!dart.test(core._Uri._isSchemeCharacter(codeUnit))) {
        core._Uri._fail(scheme, i, "Illegal scheme character");
        dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
      }
      if (65 <= codeUnit && codeUnit <= 90) {
        containsUpperCase = true;
      }
    }
    scheme = scheme[$substring](start, end);
    if (containsUpperCase) scheme = scheme[$toLowerCase]();
    return core._Uri._canonicalizeScheme(scheme);
  }
  static _canonicalizeScheme(scheme) {
    if (scheme == null) dart.nullFailed(I[175], 2089, 44, "scheme");
    if (scheme === "http") return "http";
    if (scheme === "file") return "file";
    if (scheme === "https") return "https";
    if (scheme === "package") return "package";
    return scheme;
  }
  static _makeUserInfo(userInfo, start, end) {
    if (start == null) dart.nullFailed(I[175], 2097, 53, "start");
    if (end == null) dart.nullFailed(I[175], 2097, 64, "end");
    if (userInfo == null) return "";
    return core._Uri._normalizeOrSubstring(userInfo, start, end, core._Uri._userinfoTable);
  }
  static _makePath(path, start, end, pathSegments, scheme, hasAuthority) {
    if (start == null) dart.nullFailed(I[175], 2102, 45, "start");
    if (end == null) dart.nullFailed(I[175], 2102, 56, "end");
    if (scheme == null) dart.nullFailed(I[175], 2103, 46, "scheme");
    if (hasAuthority == null) dart.nullFailed(I[175], 2103, 59, "hasAuthority");
    let isFile = scheme === "file";
    let ensureLeadingSlash = isFile || dart.test(hasAuthority);
    let result = null;
    if (path == null) {
      if (pathSegments == null) return isFile ? "/" : "";
      result = pathSegments[$map](core.String, dart.fn(s => {
        if (s == null) dart.nullFailed(I[175], 2110, 17, "s");
        return core._Uri._uriEncode(core._Uri._pathCharTable, s, convert.utf8, false);
      }, T$.StringToString()))[$join]("/");
    } else if (pathSegments != null) {
      dart.throw(new core.ArgumentError.new("Both path and pathSegments specified"));
    } else {
      result = core._Uri._normalizeOrSubstring(path, start, end, core._Uri._pathCharOrSlashTable, {escapeDelimiters: true});
    }
    if (result[$isEmpty]) {
      if (isFile) return "/";
    } else if (ensureLeadingSlash && !result[$startsWith]("/")) {
      result = "/" + dart.notNull(result);
    }
    result = core._Uri._normalizePath(result, scheme, hasAuthority);
    return result;
  }
  static _normalizePath(path, scheme, hasAuthority) {
    if (path == null) dart.nullFailed(I[175], 2132, 39, "path");
    if (scheme == null) dart.nullFailed(I[175], 2132, 52, "scheme");
    if (hasAuthority == null) dart.nullFailed(I[175], 2132, 65, "hasAuthority");
    if (scheme[$isEmpty] && !dart.test(hasAuthority) && !path[$startsWith]("/")) {
      return core._Uri._normalizeRelativePath(path, scheme[$isNotEmpty] || dart.test(hasAuthority));
    }
    return core._Uri._removeDotSegments(path);
  }
  static _makeQuery(query, start, end, queryParameters) {
    if (start == null) dart.nullFailed(I[175], 2139, 48, "start");
    if (end == null) dart.nullFailed(I[175], 2139, 59, "end");
    if (query != null) {
      if (queryParameters != null) {
        dart.throw(new core.ArgumentError.new("Both query and queryParameters specified"));
      }
      return core._Uri._normalizeOrSubstring(query, start, end, core._Uri._queryCharTable, {escapeDelimiters: true});
    }
    if (queryParameters == null) return null;
    let result = new core.StringBuffer.new();
    let separator = "";
    function writeParameter(key, value) {
      if (key == null) dart.nullFailed(I[175], 2153, 32, "key");
      result.write(separator);
      separator = "&";
      result.write(core.Uri.encodeQueryComponent(key));
      if (value != null && value[$isNotEmpty]) {
        result.write("=");
        result.write(core.Uri.encodeQueryComponent(value));
      }
    }
    dart.fn(writeParameter, T$0.StringAndStringNTovoid());
    queryParameters[$forEach](dart.fn((key, value) => {
      if (key == null) dart.nullFailed(I[175], 2163, 30, "key");
      if (value == null || typeof value == 'string') {
        writeParameter(key, T$.StringN().as(value));
      } else {
        let values = core.Iterable.as(value);
        for (let t257 of values) {
          let value = core.String.as(t257);
          writeParameter(key, value);
        }
      }
    }, T$0.StringAnddynamicTovoid()));
    return result.toString();
  }
  static _makeFragment(fragment, start, end) {
    if (start == null) dart.nullFailed(I[175], 2176, 54, "start");
    if (end == null) dart.nullFailed(I[175], 2176, 65, "end");
    if (fragment == null) return null;
    return core._Uri._normalizeOrSubstring(fragment, start, end, core._Uri._queryCharTable, {escapeDelimiters: true});
  }
  static _normalizeEscape(source, index, lowerCase) {
    if (source == null) dart.nullFailed(I[175], 2193, 42, "source");
    if (index == null) dart.nullFailed(I[175], 2193, 54, "index");
    if (lowerCase == null) dart.nullFailed(I[175], 2193, 66, "lowerCase");
    if (!(source[$codeUnitAt](index) === 37)) dart.assertFailed(null, I[175], 2194, 12, "source.codeUnitAt(index) == _PERCENT");
    if (dart.notNull(index) + 2 >= source.length) {
      return "%";
    }
    let firstDigit = source[$codeUnitAt](dart.notNull(index) + 1);
    let secondDigit = source[$codeUnitAt](dart.notNull(index) + 2);
    let firstDigitValue = _internal.hexDigitValue(firstDigit);
    let secondDigitValue = _internal.hexDigitValue(secondDigit);
    if (dart.notNull(firstDigitValue) < 0 || dart.notNull(secondDigitValue) < 0) {
      return "%";
    }
    let value = dart.notNull(firstDigitValue) * 16 + dart.notNull(secondDigitValue);
    if (dart.test(core._Uri._isUnreservedChar(value))) {
      if (dart.test(lowerCase) && 65 <= value && 90 >= value) {
        value = (value | 32) >>> 0;
      }
      return core.String.fromCharCode(value);
    }
    if (firstDigit >= 97 || secondDigit >= 97) {
      return source[$substring](index, dart.notNull(index) + 3)[$toUpperCase]();
    }
    return null;
  }
  static _escapeChar(char) {
    if (char == null) dart.nullFailed(I[175], 2221, 33, "char");
    if (!(dart.notNull(char) <= 1114111)) dart.assertFailed(null, I[175], 2222, 12, "char <= 0x10ffff");
    let codeUnits = null;
    if (dart.notNull(char) < 128) {
      codeUnits = _native_typed_data.NativeUint8List.new(3);
      codeUnits[$_set](0, 37);
      codeUnits[$_set](1, "0123456789ABCDEF"[$codeUnitAt](char[$rightShift](4)));
      codeUnits[$_set](2, "0123456789ABCDEF"[$codeUnitAt](dart.notNull(char) & 15));
    } else {
      let flag = 192;
      let encodedBytes = 2;
      if (dart.notNull(char) > 2047) {
        flag = 224;
        encodedBytes = 3;
        if (dart.notNull(char) > 65535) {
          encodedBytes = 4;
          flag = 240;
        }
      }
      codeUnits = _native_typed_data.NativeUint8List.new(3 * encodedBytes);
      let index = 0;
      while ((encodedBytes = encodedBytes - 1) >= 0) {
        let byte = (char[$rightShift](6 * encodedBytes) & 63 | flag) >>> 0;
        codeUnits[$_set](index, 37);
        codeUnits[$_set](index + 1, "0123456789ABCDEF"[$codeUnitAt](byte[$rightShift](4)));
        codeUnits[$_set](index + 2, "0123456789ABCDEF"[$codeUnitAt](byte & 15));
        index = index + 3;
        flag = 128;
      }
    }
    return core.String.fromCharCodes(codeUnits);
  }
  static _normalizeOrSubstring(component, start, end, charTable, opts) {
    let t258;
    if (component == null) dart.nullFailed(I[175], 2261, 14, "component");
    if (start == null) dart.nullFailed(I[175], 2261, 29, "start");
    if (end == null) dart.nullFailed(I[175], 2261, 40, "end");
    if (charTable == null) dart.nullFailed(I[175], 2261, 55, "charTable");
    let escapeDelimiters = opts && 'escapeDelimiters' in opts ? opts.escapeDelimiters : false;
    if (escapeDelimiters == null) dart.nullFailed(I[175], 2262, 13, "escapeDelimiters");
    t258 = core._Uri._normalize(component, start, end, charTable, {escapeDelimiters: escapeDelimiters});
    return t258 == null ? component[$substring](start, end) : t258;
  }
  static _normalize(component, start, end, charTable, opts) {
    let t258, t258$;
    if (component == null) dart.nullFailed(I[175], 2278, 14, "component");
    if (start == null) dart.nullFailed(I[175], 2278, 29, "start");
    if (end == null) dart.nullFailed(I[175], 2278, 40, "end");
    if (charTable == null) dart.nullFailed(I[175], 2278, 55, "charTable");
    let escapeDelimiters = opts && 'escapeDelimiters' in opts ? opts.escapeDelimiters : false;
    if (escapeDelimiters == null) dart.nullFailed(I[175], 2279, 13, "escapeDelimiters");
    let buffer = null;
    let sectionStart = start;
    let index = start;
    while (dart.notNull(index) < dart.notNull(end)) {
      let char = component[$codeUnitAt](index);
      if (char < 127 && (dart.notNull(charTable[$_get](char[$rightShift](4))) & 1 << (char & 15)) !== 0) {
        index = dart.notNull(index) + 1;
      } else {
        let replacement = null;
        let sourceLength = null;
        if (char === 37) {
          replacement = core._Uri._normalizeEscape(component, index, false);
          if (replacement == null) {
            index = dart.notNull(index) + 3;
            continue;
          }
          if ("%" === replacement) {
            replacement = "%25";
            sourceLength = 1;
          } else {
            sourceLength = 3;
          }
        } else if (!dart.test(escapeDelimiters) && dart.test(core._Uri._isGeneralDelimiter(char))) {
          core._Uri._fail(component, index, "Invalid character");
          dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
          dart.throw("unreachable");
        } else {
          sourceLength = 1;
          if ((char & 64512) === 55296) {
            if (dart.notNull(index) + 1 < dart.notNull(end)) {
              let tail = component[$codeUnitAt](dart.notNull(index) + 1);
              if ((tail & 64512) === 56320) {
                sourceLength = 2;
                char = 65536 | (char & 1023) << 10 | tail & 1023;
              }
            }
          }
          replacement = core._Uri._escapeChar(char);
        }
        t258$ = (t258 = buffer, t258 == null ? buffer = new core.StringBuffer.new() : t258);
        (() => {
          t258$.write(component[$substring](sectionStart, index));
          t258$.write(replacement);
          return t258$;
        })();
        index = dart.notNull(index) + dart.notNull(sourceLength);
        sectionStart = index;
      }
    }
    if (buffer == null) {
      return null;
    }
    if (dart.notNull(sectionStart) < dart.notNull(end)) {
      buffer.write(component[$substring](sectionStart, end));
    }
    return dart.toString(buffer);
  }
  static _isSchemeCharacter(ch) {
    if (ch == null) dart.nullFailed(I[175], 2339, 38, "ch");
    return dart.notNull(ch) < 128 && (dart.notNull(core._Uri._schemeTable[$_get](ch[$rightShift](4))) & 1 << (dart.notNull(ch) & 15)) !== 0;
  }
  static _isGeneralDelimiter(ch) {
    if (ch == null) dart.nullFailed(I[175], 2343, 39, "ch");
    return dart.notNull(ch) <= 93 && (dart.notNull(core._Uri._genDelimitersTable[$_get](ch[$rightShift](4))) & 1 << (dart.notNull(ch) & 15)) !== 0;
  }
  get isAbsolute() {
    return this.scheme !== "" && this.fragment === "";
  }
  [_mergePaths](base, reference) {
    if (base == null) dart.nullFailed(I[175], 2351, 29, "base");
    if (reference == null) dart.nullFailed(I[175], 2351, 42, "reference");
    let backCount = 0;
    let refStart = 0;
    while (reference[$startsWith]("../", refStart)) {
      refStart = refStart + 3;
      backCount = backCount + 1;
    }
    let baseEnd = base[$lastIndexOf]("/");
    while (baseEnd > 0 && backCount > 0) {
      let newEnd = base[$lastIndexOf]("/", baseEnd - 1);
      if (newEnd < 0) {
        break;
      }
      let delta = baseEnd - newEnd;
      if ((delta === 2 || delta === 3) && base[$codeUnitAt](newEnd + 1) === 46 && (delta === 2 || base[$codeUnitAt](newEnd + 2) === 46)) {
        break;
      }
      baseEnd = newEnd;
      backCount = backCount - 1;
    }
    return base[$replaceRange](baseEnd + 1, null, reference[$substring](refStart - 3 * backCount));
  }
  static _mayContainDotSegments(path) {
    if (path == null) dart.nullFailed(I[175], 2389, 45, "path");
    if (path[$startsWith](".")) return true;
    let index = path[$indexOf]("/.");
    return index !== -1;
  }
  static _removeDotSegments(path) {
    if (path == null) dart.nullFailed(I[175], 2400, 43, "path");
    if (!dart.test(core._Uri._mayContainDotSegments(path))) return path;
    if (!path[$isNotEmpty]) dart.assertFailed(null, I[175], 2402, 12, "path.isNotEmpty");
    let output = T$.JSArrayOfString().of([]);
    let appendSlash = false;
    for (let segment of path[$split]("/")) {
      appendSlash = false;
      if (segment === "..") {
        if (dart.test(output[$isNotEmpty])) {
          output[$removeLast]();
          if (dart.test(output[$isEmpty])) {
            output[$add]("");
          }
        }
        appendSlash = true;
      } else if ("." === segment) {
        appendSlash = true;
      } else {
        output[$add](segment);
      }
    }
    if (appendSlash) output[$add]("");
    return output[$join]("/");
  }
  static _normalizeRelativePath(path, allowScheme) {
    if (path == null) dart.nullFailed(I[175], 2436, 47, "path");
    if (allowScheme == null) dart.nullFailed(I[175], 2436, 58, "allowScheme");
    if (!!path[$startsWith]("/")) dart.assertFailed(null, I[175], 2437, 12, "!path.startsWith('/')");
    if (!dart.test(core._Uri._mayContainDotSegments(path))) {
      if (!dart.test(allowScheme)) path = core._Uri._escapeScheme(path);
      return path;
    }
    if (!path[$isNotEmpty]) dart.assertFailed(null, I[175], 2442, 12, "path.isNotEmpty");
    let output = T$.JSArrayOfString().of([]);
    let appendSlash = false;
    for (let segment of path[$split]("/")) {
      appendSlash = false;
      if (".." === segment) {
        if (!dart.test(output[$isEmpty]) && output[$last] !== "..") {
          output[$removeLast]();
          appendSlash = true;
        } else {
          output[$add]("..");
        }
      } else if ("." === segment) {
        appendSlash = true;
      } else {
        output[$add](segment);
      }
    }
    if (dart.test(output[$isEmpty]) || output[$length] === 1 && output[$_get](0)[$isEmpty]) {
      return "./";
    }
    if (appendSlash || output[$last] === "..") output[$add]("");
    if (!dart.test(allowScheme)) output[$_set](0, core._Uri._escapeScheme(output[$_get](0)));
    return output[$join]("/");
  }
  static _escapeScheme(path) {
    if (path == null) dart.nullFailed(I[175], 2469, 38, "path");
    if (path.length >= 2 && dart.test(core._Uri._isAlphabeticCharacter(path[$codeUnitAt](0)))) {
      for (let i = 1; i < path.length; i = i + 1) {
        let char = path[$codeUnitAt](i);
        if (char === 58) {
          return path[$substring](0, i) + "%3A" + path[$substring](i + 1);
        }
        if (char > 127 || (dart.notNull(core._Uri._schemeTable[$_get](char[$rightShift](4))) & 1 << (char & 15)) === 0) {
          break;
        }
      }
    }
    return path;
  }
  resolve(reference) {
    if (reference == null) dart.nullFailed(I[175], 2485, 22, "reference");
    return this.resolveUri(core.Uri.parse(reference));
  }
  static _packageNameEnd(uri, path) {
    if (uri == null) dart.nullFailed(I[175], 2499, 34, "uri");
    if (path == null) dart.nullFailed(I[175], 2499, 46, "path");
    if (dart.test(uri.isScheme("package")) && !dart.test(uri.hasAuthority)) {
      return core._skipPackageNameChars(path, 0, path.length);
    }
    return -1;
  }
  resolveUri(reference) {
    if (reference == null) dart.nullFailed(I[175], 2506, 22, "reference");
    let targetScheme = null;
    let targetUserInfo = "";
    let targetHost = null;
    let targetPort = null;
    let targetPath = null;
    let targetQuery = null;
    if (reference.scheme[$isNotEmpty]) {
      targetScheme = reference.scheme;
      if (dart.test(reference.hasAuthority)) {
        targetUserInfo = reference.userInfo;
        targetHost = reference.host;
        targetPort = dart.test(reference.hasPort) ? reference.port : null;
      }
      targetPath = core._Uri._removeDotSegments(reference.path);
      if (dart.test(reference.hasQuery)) {
        targetQuery = reference.query;
      }
    } else {
      targetScheme = this.scheme;
      if (dart.test(reference.hasAuthority)) {
        targetUserInfo = reference.userInfo;
        targetHost = reference.host;
        targetPort = core._Uri._makePort(dart.test(reference.hasPort) ? reference.port : null, targetScheme);
        targetPath = core._Uri._removeDotSegments(reference.path);
        if (dart.test(reference.hasQuery)) targetQuery = reference.query;
      } else {
        targetUserInfo = this[_userInfo$];
        targetHost = this[_host$];
        targetPort = this[_port$];
        if (reference.path === "") {
          targetPath = this.path;
          if (dart.test(reference.hasQuery)) {
            targetQuery = reference.query;
          } else {
            targetQuery = this[_query$];
          }
        } else {
          let basePath = this.path;
          let packageNameEnd = core._Uri._packageNameEnd(this, basePath);
          if (dart.notNull(packageNameEnd) > 0) {
            if (!(targetScheme === "package")) dart.assertFailed(null, I[175], 2549, 20, "targetScheme == \"package\"");
            if (!!dart.test(this.hasAuthority)) dart.assertFailed(null, I[175], 2550, 20, "!this.hasAuthority");
            if (!!dart.test(this.hasEmptyPath)) dart.assertFailed(null, I[175], 2551, 20, "!this.hasEmptyPath");
            let packageName = basePath[$substring](0, packageNameEnd);
            if (dart.test(reference.hasAbsolutePath)) {
              targetPath = packageName + dart.notNull(core._Uri._removeDotSegments(reference.path));
            } else {
              targetPath = packageName + dart.notNull(core._Uri._removeDotSegments(this[_mergePaths](basePath[$substring](packageName.length), reference.path)));
            }
          } else if (dart.test(reference.hasAbsolutePath)) {
            targetPath = core._Uri._removeDotSegments(reference.path);
          } else {
            if (dart.test(this.hasEmptyPath)) {
              if (!dart.test(this.hasAuthority)) {
                if (!dart.test(this.hasScheme)) {
                  targetPath = reference.path;
                } else {
                  targetPath = core._Uri._removeDotSegments(reference.path);
                }
              } else {
                targetPath = core._Uri._removeDotSegments("/" + dart.notNull(reference.path));
              }
            } else {
              let mergedPath = this[_mergePaths](this.path, reference.path);
              if (dart.test(this.hasScheme) || dart.test(this.hasAuthority) || dart.test(this.hasAbsolutePath)) {
                targetPath = core._Uri._removeDotSegments(mergedPath);
              } else {
                targetPath = core._Uri._normalizeRelativePath(mergedPath, dart.test(this.hasScheme) || dart.test(this.hasAuthority));
              }
            }
          }
          if (dart.test(reference.hasQuery)) targetQuery = reference.query;
        }
      }
    }
    let fragment = dart.test(reference.hasFragment) ? reference.fragment : null;
    return new core._Uri._internal(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, fragment);
  }
  get hasScheme() {
    return this.scheme[$isNotEmpty];
  }
  get hasAuthority() {
    return this[_host$] != null;
  }
  get hasPort() {
    return this[_port$] != null;
  }
  get hasQuery() {
    return this[_query$] != null;
  }
  get hasFragment() {
    return this[_fragment$] != null;
  }
  get hasEmptyPath() {
    return this.path[$isEmpty];
  }
  get hasAbsolutePath() {
    return this.path[$startsWith]("/");
  }
  get origin() {
    if (this.scheme === "") {
      dart.throw(new core.StateError.new("Cannot use origin without a scheme: " + dart.str(this)));
    }
    if (this.scheme !== "http" && this.scheme !== "https") {
      dart.throw(new core.StateError.new("Origin is only applicable schemes http and https: " + dart.str(this)));
    }
    let host = this[_host$];
    if (host == null || host === "") {
      dart.throw(new core.StateError.new("A " + dart.str(this.scheme) + ": URI should have a non-empty host name: " + dart.str(this)));
    }
    let port = this[_port$];
    if (port == null) return dart.str(this.scheme) + "://" + dart.str(host);
    return dart.str(this.scheme) + "://" + dart.str(host) + ":" + dart.str(port);
  }
  toFilePath(opts) {
    let t258;
    let windows = opts && 'windows' in opts ? opts.windows : null;
    if (this.scheme !== "" && this.scheme !== "file") {
      dart.throw(new core.UnsupportedError.new("Cannot extract a file path from a " + dart.str(this.scheme) + " URI"));
    }
    if (this.query !== "") {
      dart.throw(new core.UnsupportedError.new("Cannot extract a file path from a URI with a query component"));
    }
    if (this.fragment !== "") {
      dart.throw(new core.UnsupportedError.new("Cannot extract a file path from a URI with a fragment component"));
    }
    return dart.test((t258 = windows, t258 == null ? core._Uri._isWindows : t258)) ? core._Uri._toWindowsFilePath(this) : this[_toFilePath]();
  }
  [_toFilePath]() {
    if (dart.test(this.hasAuthority) && this.host !== "") {
      dart.throw(new core.UnsupportedError.new("Cannot extract a non-Windows file path from a file URI " + "with an authority"));
    }
    let pathSegments = this.pathSegments;
    core._Uri._checkNonWindowsPathReservedCharacters(pathSegments, false);
    let result = new core.StringBuffer.new();
    if (dart.test(this.hasAbsolutePath)) result.write("/");
    result.writeAll(pathSegments, "/");
    return result.toString();
  }
  static _toWindowsFilePath(uri) {
    if (uri == null) dart.nullFailed(I[175], 2664, 40, "uri");
    let hasDriveLetter = false;
    let segments = uri.pathSegments;
    if (dart.notNull(segments[$length]) > 0 && segments[$_get](0).length === 2 && segments[$_get](0)[$codeUnitAt](1) === 58) {
      core._Uri._checkWindowsDriveLetter(segments[$_get](0)[$codeUnitAt](0), false);
      core._Uri._checkWindowsPathReservedCharacters(segments, false, 1);
      hasDriveLetter = true;
    } else {
      core._Uri._checkWindowsPathReservedCharacters(segments, false, 0);
    }
    let result = new core.StringBuffer.new();
    if (dart.test(uri.hasAbsolutePath) && !hasDriveLetter) result.write("\\");
    if (dart.test(uri.hasAuthority)) {
      let host = uri.host;
      if (host[$isNotEmpty]) {
        result.write("\\");
        result.write(host);
        result.write("\\");
      }
    }
    result.writeAll(segments, "\\");
    if (hasDriveLetter && segments[$length] === 1) result.write("\\");
    return result.toString();
  }
  [_writeAuthority](ss) {
    if (ss == null) dart.nullFailed(I[175], 2691, 35, "ss");
    if (this[_userInfo$][$isNotEmpty]) {
      ss.write(this[_userInfo$]);
      ss.write("@");
    }
    if (this[_host$] != null) ss.write(this[_host$]);
    if (this[_port$] != null) {
      ss.write(":");
      ss.write(this[_port$]);
    }
  }
  get data() {
    return this.scheme === "data" ? core.UriData.fromUri(this) : null;
  }
  toString() {
    return this[_text$];
  }
  [_initializeText]() {
    let t258, t258$, t258$0;
    let sb = new core.StringBuffer.new();
    if (this.scheme[$isNotEmpty]) {
      t258 = sb;
      (() => {
        t258.write(this.scheme);
        t258.write(":");
        return t258;
      })();
    }
    if (dart.test(this.hasAuthority) || this.scheme === "file") {
      sb.write("//");
      this[_writeAuthority](sb);
    }
    sb.write(this.path);
    if (this[_query$] != null) {
      t258$ = sb;
      (() => {
        t258$.write("?");
        t258$.write(this[_query$]);
        return t258$;
      })();
    }
    if (this[_fragment$] != null) {
      t258$0 = sb;
      (() => {
        t258$0.write("#");
        t258$0.write(this[_fragment$]);
        return t258$0;
      })();
    }
    return sb.toString();
  }
  _equals(other) {
    if (other == null) return false;
    if (this === other) return true;
    return core.Uri.is(other) && this.scheme == other.scheme && this.hasAuthority == other.hasAuthority && this.userInfo == other.userInfo && this.host == other.host && this.port == other.port && this.path == other.path && this.hasQuery == other.hasQuery && this.query == other.query && this.hasFragment == other.hasFragment && this.fragment == other.fragment;
  }
  static _createList() {
    return T$.JSArrayOfString().of([]);
  }
  static _splitQueryStringAll(query, opts) {
    if (query == null) dart.nullFailed(I[175], 2745, 64, "query");
    let encoding = opts && 'encoding' in opts ? opts.encoding : C[110] || CT.C110;
    if (encoding == null) dart.nullFailed(I[175], 2746, 17, "encoding");
    let result = new (T$0.IdentityMapOfString$ListOfString()).new();
    let i = 0;
    let start = 0;
    let equalsIndex = -1;
    function parsePair(start, equalsIndex, end) {
      if (start == null) dart.nullFailed(I[175], 2752, 24, "start");
      if (equalsIndex == null) dart.nullFailed(I[175], 2752, 35, "equalsIndex");
      if (end == null) dart.nullFailed(I[175], 2752, 52, "end");
      let key = null;
      let value = null;
      if (start == end) return;
      if (dart.notNull(equalsIndex) < 0) {
        key = core._Uri._uriDecode(query, start, end, encoding, true);
        value = "";
      } else {
        key = core._Uri._uriDecode(query, start, equalsIndex, encoding, true);
        value = core._Uri._uriDecode(query, dart.notNull(equalsIndex) + 1, end, encoding, true);
      }
      result[$putIfAbsent](key, C[434] || CT.C434)[$add](value);
    }
    dart.fn(parsePair, T$0.intAndintAndintTovoid());
    while (i < query.length) {
      let char = query[$codeUnitAt](i);
      if (char === 61) {
        if (equalsIndex < 0) equalsIndex = i;
      } else if (char === 38) {
        parsePair(start, equalsIndex, i);
        start = i + 1;
        equalsIndex = -1;
      }
      i = i + 1;
    }
    parsePair(start, equalsIndex, i);
    return result;
  }
  static _uriEncode(canonicalTable, text, encoding, spaceToPlus) {
    if (canonicalTable == null) dart.nullFailed(I[7], 875, 38, "canonicalTable");
    if (text == null) dart.nullFailed(I[7], 875, 61, "text");
    if (encoding == null) dart.nullFailed(I[7], 876, 16, "encoding");
    if (spaceToPlus == null) dart.nullFailed(I[7], 876, 31, "spaceToPlus");
    if (encoding == convert.utf8 && dart.test(core._Uri._needsNoEncoding.hasMatch(text))) {
      return text;
    }
    let result = new core.StringBuffer.new("");
    let bytes = encoding.encode(text);
    for (let i = 0; i < dart.notNull(bytes[$length]); i = i + 1) {
      let byte = bytes[$_get](i);
      if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable[$_get](byte[$rightShift](4))) & 1 << (dart.notNull(byte) & 15)) !== 0) {
        result.writeCharCode(byte);
      } else if (dart.test(spaceToPlus) && byte === 32) {
        result.write("+");
      } else {
        result.write("%");
        result.write("0123456789ABCDEF"[$_get](dart.notNull(byte) >> 4 & 15));
        result.write("0123456789ABCDEF"[$_get](dart.notNull(byte) & 15));
      }
    }
    return result.toString();
  }
  static _hexCharPairToByte(s, pos) {
    if (s == null) dart.nullFailed(I[175], 2786, 40, "s");
    if (pos == null) dart.nullFailed(I[175], 2786, 47, "pos");
    let byte = 0;
    for (let i = 0; i < 2; i = i + 1) {
      let charCode = s[$codeUnitAt](dart.notNull(pos) + i);
      if (48 <= charCode && charCode <= 57) {
        byte = byte * 16 + charCode - 48;
      } else {
        charCode = (charCode | 32) >>> 0;
        if (97 <= charCode && charCode <= 102) {
          byte = byte * 16 + charCode - 87;
        } else {
          dart.throw(new core.ArgumentError.new("Invalid URL encoding"));
        }
      }
    }
    return byte;
  }
  static _uriDecode(text, start, end, encoding, plusToSpace) {
    if (text == null) dart.nullFailed(I[175], 2816, 14, "text");
    if (start == null) dart.nullFailed(I[175], 2816, 24, "start");
    if (end == null) dart.nullFailed(I[175], 2816, 35, "end");
    if (encoding == null) dart.nullFailed(I[175], 2816, 49, "encoding");
    if (plusToSpace == null) dart.nullFailed(I[175], 2816, 64, "plusToSpace");
    if (!(0 <= dart.notNull(start))) dart.assertFailed(null, I[175], 2817, 12, "0 <= start");
    if (!(dart.notNull(start) <= dart.notNull(end))) dart.assertFailed(null, I[175], 2818, 12, "start <= end");
    if (!(dart.notNull(end) <= text.length)) dart.assertFailed(null, I[175], 2819, 12, "end <= text.length");
    let simple = true;
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let codeUnit = text[$codeUnitAt](i);
      if (codeUnit > 127 || codeUnit === 37 || dart.test(plusToSpace) && codeUnit === 43) {
        simple = false;
        break;
      }
    }
    let bytes = null;
    if (simple) {
      if (dart.equals(convert.utf8, encoding) || dart.equals(convert.latin1, encoding) || dart.equals(convert.ascii, encoding)) {
        return text[$substring](start, end);
      } else {
        bytes = text[$substring](start, end)[$codeUnits];
      }
    } else {
      bytes = T$.JSArrayOfint().of([]);
      for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
        let codeUnit = text[$codeUnitAt](i);
        if (codeUnit > 127) {
          dart.throw(new core.ArgumentError.new("Illegal percent encoding in URI"));
        }
        if (codeUnit === 37) {
          if (dart.notNull(i) + 3 > text.length) {
            dart.throw(new core.ArgumentError.new("Truncated URI"));
          }
          bytes[$add](core._Uri._hexCharPairToByte(text, dart.notNull(i) + 1));
          i = dart.notNull(i) + 2;
        } else if (dart.test(plusToSpace) && codeUnit === 43) {
          bytes[$add](32);
        } else {
          bytes[$add](codeUnit);
        }
      }
    }
    return encoding.decode(bytes);
  }
  static _isAlphabeticCharacter(codeUnit) {
    if (codeUnit == null) dart.nullFailed(I[175], 2861, 42, "codeUnit");
    let lowerCase = (dart.notNull(codeUnit) | 32) >>> 0;
    return 97 <= lowerCase && lowerCase <= 122;
  }
  static _isUnreservedChar(char) {
    if (char == null) dart.nullFailed(I[175], 2866, 37, "char");
    return dart.notNull(char) < 127 && (dart.notNull(core._Uri._unreservedTable[$_get](char[$rightShift](4))) & 1 << (dart.notNull(char) & 15)) !== 0;
  }
};
(core._Uri._internal = function(scheme, _userInfo, _host, _port, path, _query, _fragment) {
  if (scheme == null) dart.nullFailed(I[175], 1347, 23, "scheme");
  if (_userInfo == null) dart.nullFailed(I[175], 1347, 36, "_userInfo");
  if (path == null) dart.nullFailed(I[175], 1347, 76, "path");
  this[___Uri__text] = null;
  this[___Uri__text_isSet] = false;
  this[___Uri_pathSegments] = null;
  this[___Uri_pathSegments_isSet] = false;
  this[___Uri_hashCode] = null;
  this[___Uri_hashCode_isSet] = false;
  this[___Uri_queryParameters] = null;
  this[___Uri_queryParameters_isSet] = false;
  this[___Uri_queryParametersAll] = null;
  this[___Uri_queryParametersAll_isSet] = false;
  this.scheme = scheme;
  this[_userInfo$] = _userInfo;
  this[_host$] = _host;
  this[_port$] = _port;
  this.path = path;
  this[_query$] = _query;
  this[_fragment$] = _fragment;
  ;
}).prototype = core._Uri.prototype;
dart.addTypeTests(core._Uri);
dart.addTypeCaches(core._Uri);
core._Uri[dart.implements] = () => [core.Uri];
dart.setMethodSignature(core._Uri, () => ({
  __proto__: dart.getMethods(core._Uri.__proto__),
  isScheme: dart.fnType(core.bool, [core.String]),
  replace: dart.fnType(core.Uri, [], {fragment: dart.nullable(core.String), host: dart.nullable(core.String), path: dart.nullable(core.String), pathSegments: dart.nullable(core.Iterable$(core.String)), port: dart.nullable(core.int), query: dart.nullable(core.String), queryParameters: dart.nullable(core.Map$(core.String, dart.dynamic)), scheme: dart.nullable(core.String), userInfo: dart.nullable(core.String)}, {}),
  removeFragment: dart.fnType(core.Uri, []),
  normalizePath: dart.fnType(core.Uri, []),
  [_mergePaths]: dart.fnType(core.String, [core.String, core.String]),
  resolve: dart.fnType(core.Uri, [core.String]),
  resolveUri: dart.fnType(core.Uri, [core.Uri]),
  toFilePath: dart.fnType(core.String, [], {windows: dart.nullable(core.bool)}, {}),
  [_toFilePath]: dart.fnType(core.String, []),
  [_writeAuthority]: dart.fnType(dart.void, [core.StringSink]),
  [_initializeText]: dart.fnType(core.String, [])
}));
dart.setGetterSignature(core._Uri, () => ({
  __proto__: dart.getGetters(core._Uri.__proto__),
  [_text$]: core.String,
  pathSegments: core.List$(core.String),
  queryParameters: core.Map$(core.String, core.String),
  queryParametersAll: core.Map$(core.String, core.List$(core.String)),
  authority: core.String,
  userInfo: core.String,
  host: core.String,
  port: core.int,
  query: core.String,
  fragment: core.String,
  isAbsolute: core.bool,
  hasScheme: core.bool,
  hasAuthority: core.bool,
  hasPort: core.bool,
  hasQuery: core.bool,
  hasFragment: core.bool,
  hasEmptyPath: core.bool,
  hasAbsolutePath: core.bool,
  origin: core.String,
  data: dart.nullable(core.UriData)
}));
dart.setLibraryUri(core._Uri, I[9]);
dart.setFieldSignature(core._Uri, () => ({
  __proto__: dart.getFields(core._Uri.__proto__),
  scheme: dart.finalFieldType(core.String),
  [_userInfo$]: dart.finalFieldType(core.String),
  [_host$]: dart.finalFieldType(dart.nullable(core.String)),
  [_port$]: dart.fieldType(dart.nullable(core.int)),
  path: dart.finalFieldType(core.String),
  [_query$]: dart.finalFieldType(dart.nullable(core.String)),
  [_fragment$]: dart.finalFieldType(dart.nullable(core.String)),
  [___Uri__text]: dart.fieldType(dart.nullable(core.String)),
  [___Uri__text_isSet]: dart.fieldType(core.bool),
  [___Uri_pathSegments]: dart.fieldType(dart.nullable(core.List$(core.String))),
  [___Uri_pathSegments_isSet]: dart.fieldType(core.bool),
  [___Uri_hashCode]: dart.fieldType(dart.nullable(core.int)),
  [___Uri_hashCode_isSet]: dart.fieldType(core.bool),
  [___Uri_queryParameters]: dart.fieldType(dart.nullable(core.Map$(core.String, core.String))),
  [___Uri_queryParameters_isSet]: dart.fieldType(core.bool),
  [___Uri_queryParametersAll]: dart.fieldType(dart.nullable(core.Map$(core.String, core.List$(core.String)))),
  [___Uri_queryParametersAll_isSet]: dart.fieldType(core.bool)
}));
dart.defineExtensionMethods(core._Uri, ['toString', '_equals']);
dart.defineExtensionAccessors(core._Uri, ['hashCode']);
dart.defineLazy(core._Uri, {
  /*core._Uri._isWindowsCached*/get _isWindowsCached() {
    return typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32";
  },
  /*core._Uri._needsNoEncoding*/get _needsNoEncoding() {
    return core.RegExp.new("^[\\-\\.0-9A-Z_a-z~]*$");
  },
  /*core._Uri._unreservedTable*/get _unreservedTable() {
    return C[435] || CT.C435;
  },
  /*core._Uri._unreserved2396Table*/get _unreserved2396Table() {
    return C[436] || CT.C436;
  },
  /*core._Uri._encodeFullTable*/get _encodeFullTable() {
    return C[437] || CT.C437;
  },
  /*core._Uri._schemeTable*/get _schemeTable() {
    return C[438] || CT.C438;
  },
  /*core._Uri._genDelimitersTable*/get _genDelimitersTable() {
    return C[439] || CT.C439;
  },
  /*core._Uri._userinfoTable*/get _userinfoTable() {
    return C[440] || CT.C440;
  },
  /*core._Uri._regNameTable*/get _regNameTable() {
    return C[441] || CT.C441;
  },
  /*core._Uri._pathCharTable*/get _pathCharTable() {
    return C[442] || CT.C442;
  },
  /*core._Uri._pathCharOrSlashTable*/get _pathCharOrSlashTable() {
    return C[443] || CT.C443;
  },
  /*core._Uri._queryCharTable*/get _queryCharTable() {
    return C[444] || CT.C444;
  },
  /*core._Uri._zoneIDTable*/get _zoneIDTable() {
    return C[435] || CT.C435;
  }
}, false);
var _separatorIndices$ = dart.privateName(core, "_separatorIndices");
var _uriCache$ = dart.privateName(core, "_uriCache");
var _computeUri = dart.privateName(core, "_computeUri");
core.UriData = class UriData extends core.Object {
  static fromString(content, opts) {
    let t258;
    if (content == null) dart.nullFailed(I[175], 3163, 37, "content");
    let mimeType = opts && 'mimeType' in opts ? opts.mimeType : null;
    let encoding = opts && 'encoding' in opts ? opts.encoding : null;
    let parameters = opts && 'parameters' in opts ? opts.parameters : null;
    let base64 = opts && 'base64' in opts ? opts.base64 : false;
    if (base64 == null) dart.nullFailed(I[175], 3167, 12, "base64");
    let buffer = new core.StringBuffer.new();
    let indices = T$.JSArrayOfint().of([-1]);
    let charsetName = (t258 = parameters, t258 == null ? null : t258[$_get]("charset"));
    let encodingName = null;
    if (encoding == null) {
      if (charsetName != null) {
        encoding = convert.Encoding.getByName(charsetName);
      }
    } else if (charsetName == null) {
      encodingName = encoding.name;
    }
    encoding == null ? encoding = convert.ascii : null;
    core.UriData._writeUri(mimeType, encodingName, parameters, buffer, indices);
    indices[$add](buffer.length);
    if (dart.test(base64)) {
      buffer.write(";base64,");
      indices[$add](dart.notNull(buffer.length) - 1);
      buffer.write(encoding.fuse(core.String, core.UriData._base64).encode(content));
    } else {
      buffer.write(",");
      core.UriData._uriEncodeBytes(core.UriData._uricTable, encoding.encode(content), buffer);
    }
    return new core.UriData.__(buffer.toString(), indices, null);
  }
  static fromBytes(bytes, opts) {
    if (bytes == null) dart.nullFailed(I[175], 3198, 39, "bytes");
    let mimeType = opts && 'mimeType' in opts ? opts.mimeType : "application/octet-stream";
    if (mimeType == null) dart.nullFailed(I[175], 3199, 15, "mimeType");
    let parameters = opts && 'parameters' in opts ? opts.parameters : null;
    let percentEncoded = opts && 'percentEncoded' in opts ? opts.percentEncoded : false;
    if (percentEncoded == null) dart.nullFailed(I[175], 3201, 12, "percentEncoded");
    let buffer = new core.StringBuffer.new();
    let indices = T$.JSArrayOfint().of([-1]);
    core.UriData._writeUri(mimeType, null, parameters, buffer, indices);
    indices[$add](buffer.length);
    if (dart.test(percentEncoded)) {
      buffer.write(",");
      core.UriData._uriEncodeBytes(core.UriData._uricTable, bytes, buffer);
    } else {
      buffer.write(";base64,");
      indices[$add](dart.notNull(buffer.length) - 1);
      core.UriData._base64.encoder.startChunkedConversion(new (T$0._StringSinkConversionSinkOfStringSink()).new(buffer)).addSlice(bytes, 0, bytes[$length], true);
    }
    return new core.UriData.__(buffer.toString(), indices, null);
  }
  static fromUri(uri) {
    if (uri == null) dart.nullFailed(I[175], 3225, 31, "uri");
    if (uri.scheme !== "data") {
      dart.throw(new core.ArgumentError.value(uri, "uri", "Scheme must be 'data'"));
    }
    if (dart.test(uri.hasAuthority)) {
      dart.throw(new core.ArgumentError.value(uri, "uri", "Data uri must not have authority"));
    }
    if (dart.test(uri.hasFragment)) {
      dart.throw(new core.ArgumentError.value(uri, "uri", "Data uri must not have a fragment part"));
    }
    if (!dart.test(uri.hasQuery)) {
      return core.UriData._parse(uri.path, 0, uri);
    }
    return core.UriData._parse(dart.toString(uri), 5, uri);
  }
  static _writeUri(mimeType, charsetName, parameters, buffer, indices) {
    let t258, t258$;
    if (buffer == null) dart.nullFailed(I[175], 3253, 20, "buffer");
    if (mimeType == null || mimeType === "text/plain") {
      mimeType = "";
    }
    if (mimeType[$isEmpty] || mimeType === "application/octet-stream") {
      buffer.write(mimeType);
    } else {
      let slashIndex = core.UriData._validateMimeType(mimeType);
      if (dart.notNull(slashIndex) < 0) {
        dart.throw(new core.ArgumentError.value(mimeType, "mimeType", "Invalid MIME type"));
      }
      buffer.write(core._Uri._uriEncode(core.UriData._tokenCharTable, mimeType[$substring](0, slashIndex), convert.utf8, false));
      buffer.write("/");
      buffer.write(core._Uri._uriEncode(core.UriData._tokenCharTable, mimeType[$substring](dart.notNull(slashIndex) + 1), convert.utf8, false));
    }
    if (charsetName != null) {
      if (indices != null) {
        t258 = indices;
        (() => {
          t258[$add](buffer.length);
          t258[$add](dart.notNull(buffer.length) + 8);
          return t258;
        })();
      }
      buffer.write(";charset=");
      buffer.write(core._Uri._uriEncode(core.UriData._tokenCharTable, charsetName, convert.utf8, false));
    }
    t258$ = parameters;
    t258$ == null ? null : t258$[$forEach](dart.fn((key, value) => {
      let t259, t259$;
      if (key == null) dart.nullFailed(I[175], 3278, 26, "key");
      if (value == null) dart.nullFailed(I[175], 3278, 31, "value");
      if (key[$isEmpty]) {
        dart.throw(new core.ArgumentError.value("", "Parameter names must not be empty"));
      }
      if (value[$isEmpty]) {
        dart.throw(new core.ArgumentError.value("", "Parameter values must not be empty", "parameters[\"" + dart.str(key) + "\"]"));
      }
      t259 = indices;
      t259 == null ? null : t259[$add](buffer.length);
      buffer.write(";");
      buffer.write(core._Uri._uriEncode(core.UriData._tokenCharTable, key, convert.utf8, false));
      t259$ = indices;
      t259$ == null ? null : t259$[$add](buffer.length);
      buffer.write("=");
      buffer.write(core._Uri._uriEncode(core.UriData._tokenCharTable, value, convert.utf8, false));
    }, T$0.StringAndStringTovoid()));
  }
  static _validateMimeType(mimeType) {
    if (mimeType == null) dart.nullFailed(I[175], 3303, 39, "mimeType");
    let slashIndex = -1;
    for (let i = 0; i < mimeType.length; i = i + 1) {
      let char = mimeType[$codeUnitAt](i);
      if (char !== 47) continue;
      if (slashIndex < 0) {
        slashIndex = i;
        continue;
      }
      return -1;
    }
    return slashIndex;
  }
  static parse(uri) {
    if (uri == null) dart.nullFailed(I[175], 3343, 31, "uri");
    if (uri.length >= 5) {
      let dataDelta = core._startsWithData(uri, 0);
      if (dataDelta === 0) {
        return core.UriData._parse(uri, 5, null);
      }
      if (dataDelta === 32) {
        return core.UriData._parse(uri[$substring](5), 0, null);
      }
    }
    dart.throw(new core.FormatException.new("Does not start with 'data:'", uri, 0));
  }
  get uri() {
    let t258;
    t258 = this[_uriCache$];
    return t258 == null ? this[_uriCache$] = this[_computeUri]() : t258;
  }
  [_computeUri]() {
    let path = this[_text$];
    let query = null;
    let colonIndex = this[_separatorIndices$][$_get](0);
    let queryIndex = this[_text$][$indexOf]("?", dart.notNull(colonIndex) + 1);
    let end = this[_text$].length;
    if (queryIndex >= 0) {
      query = core._Uri._normalizeOrSubstring(this[_text$], queryIndex + 1, end, core._Uri._queryCharTable);
      end = queryIndex;
    }
    path = core._Uri._normalizeOrSubstring(this[_text$], dart.notNull(colonIndex) + 1, end, core._Uri._pathCharOrSlashTable);
    return new core._DataUri.new(this, path, query);
  }
  get mimeType() {
    let start = dart.notNull(this[_separatorIndices$][$_get](0)) + 1;
    let end = this[_separatorIndices$][$_get](1);
    if (start === end) return "text/plain";
    return core._Uri._uriDecode(this[_text$], start, end, convert.utf8, false);
  }
  get charset() {
    let parameterStart = 1;
    let parameterEnd = dart.notNull(this[_separatorIndices$][$length]) - 1;
    if (dart.test(this.isBase64)) {
      parameterEnd = parameterEnd - 1;
    }
    for (let i = parameterStart; i < parameterEnd; i = i + 2) {
      let keyStart = dart.notNull(this[_separatorIndices$][$_get](i)) + 1;
      let keyEnd = this[_separatorIndices$][$_get](i + 1);
      if (keyEnd === keyStart + 7 && this[_text$][$startsWith]("charset", keyStart)) {
        return core._Uri._uriDecode(this[_text$], dart.notNull(keyEnd) + 1, this[_separatorIndices$][$_get](i + 2), convert.utf8, false);
      }
    }
    return "US-ASCII";
  }
  get isBase64() {
    return this[_separatorIndices$][$length][$isOdd];
  }
  get contentText() {
    return this[_text$][$substring](dart.notNull(this[_separatorIndices$][$last]) + 1);
  }
  contentAsBytes() {
    let t258, t258$;
    let text = this[_text$];
    let start = dart.notNull(this[_separatorIndices$][$last]) + 1;
    if (dart.test(this.isBase64)) {
      return convert.base64.decoder.convert(text, start);
    }
    let length = text.length - start;
    for (let i = start; i < text.length; i = i + 1) {
      let codeUnit = text[$codeUnitAt](i);
      if (codeUnit === 37) {
        i = i + 2;
        length = length - 2;
      }
    }
    let result = _native_typed_data.NativeUint8List.new(length);
    if (length === text.length) {
      result[$setRange](0, length, text[$codeUnits], start);
      return result;
    }
    let index = 0;
    for (let i = start; i < text.length; i = i + 1) {
      let codeUnit = text[$codeUnitAt](i);
      if (codeUnit !== 37) {
        result[$_set]((t258 = index, index = t258 + 1, t258), codeUnit);
      } else {
        if (i + 2 < text.length) {
          let byte = _internal.parseHexByte(text, i + 1);
          if (dart.notNull(byte) >= 0) {
            result[$_set]((t258$ = index, index = t258$ + 1, t258$), byte);
            i = i + 2;
            continue;
          }
        }
        dart.throw(new core.FormatException.new("Invalid percent escape", text, i));
      }
    }
    if (!(index === result[$length])) dart.assertFailed(null, I[175], 3491, 12, "index == result.length");
    return result;
  }
  contentAsString(opts) {
    let encoding = opts && 'encoding' in opts ? opts.encoding : null;
    if (encoding == null) {
      let charset = this.charset;
      encoding = convert.Encoding.getByName(charset);
      if (encoding == null) {
        dart.throw(new core.UnsupportedError.new("Unknown charset: " + dart.str(charset)));
      }
    }
    let text = this[_text$];
    let start = dart.notNull(this[_separatorIndices$][$last]) + 1;
    if (dart.test(this.isBase64)) {
      let converter = convert.base64.decoder.fuse(core.String, encoding.decoder);
      return converter.convert(text[$substring](start));
    }
    return core._Uri._uriDecode(text, start, text.length, encoding, false);
  }
  get parameters() {
    let result = new (T$.IdentityMapOfString$String()).new();
    for (let i = 3; i < dart.notNull(this[_separatorIndices$][$length]); i = i + 2) {
      let start = dart.notNull(this[_separatorIndices$][$_get](i - 2)) + 1;
      let equals = this[_separatorIndices$][$_get](i - 1);
      let end = this[_separatorIndices$][$_get](i);
      let key = core._Uri._uriDecode(this[_text$], start, equals, convert.utf8, false);
      let value = core._Uri._uriDecode(this[_text$], dart.notNull(equals) + 1, end, convert.utf8, false);
      result[$_set](key, value);
    }
    return result;
  }
  static _parse(text, start, sourceUri) {
    if (text == null) dart.nullFailed(I[175], 3549, 32, "text");
    if (start == null) dart.nullFailed(I[175], 3549, 42, "start");
    if (!(start === 0 || start === 5)) dart.assertFailed(null, I[175], 3550, 12, "start == 0 || start == 5");
    if (!(start === 5 === text[$startsWith]("data:"))) dart.assertFailed(null, I[175], 3551, 12, "(start == 5) == text.startsWith(\"data:\")");
    let indices = T$.JSArrayOfint().of([dart.notNull(start) - 1]);
    let slashIndex = -1;
    let char = null;
    let i = start;
    for (; dart.notNull(i) < text.length; i = dart.notNull(i) + 1) {
      char = text[$codeUnitAt](i);
      if (dart.equals(char, 44) || dart.equals(char, 59)) break;
      if (dart.equals(char, 47)) {
        if (dart.notNull(slashIndex) < 0) {
          slashIndex = i;
          continue;
        }
        dart.throw(new core.FormatException.new("Invalid MIME type", text, i));
      }
    }
    if (dart.notNull(slashIndex) < 0 && dart.notNull(i) > dart.notNull(start)) {
      dart.throw(new core.FormatException.new("Invalid MIME type", text, i));
    }
    while (!dart.equals(char, 44)) {
      indices[$add](i);
      i = dart.notNull(i) + 1;
      let equalsIndex = -1;
      for (; dart.notNull(i) < text.length; i = dart.notNull(i) + 1) {
        char = text[$codeUnitAt](i);
        if (dart.equals(char, 61)) {
          if (dart.notNull(equalsIndex) < 0) equalsIndex = i;
        } else if (dart.equals(char, 59) || dart.equals(char, 44)) {
          break;
        }
      }
      if (dart.notNull(equalsIndex) >= 0) {
        indices[$add](equalsIndex);
      } else {
        let lastSeparator = indices[$last];
        if (!dart.equals(char, 44) || i !== dart.notNull(lastSeparator) + 7 || !text[$startsWith]("base64", dart.notNull(lastSeparator) + 1)) {
          dart.throw(new core.FormatException.new("Expecting '='", text, i));
        }
        break;
      }
    }
    indices[$add](i);
    let isBase64 = indices[$length][$isOdd];
    if (isBase64) {
      text = convert.base64.normalize(text, dart.notNull(i) + 1, text.length);
    } else {
      let data = core._Uri._normalize(text, dart.notNull(i) + 1, text.length, core.UriData._uricTable, {escapeDelimiters: true});
      if (data != null) {
        text = text[$replaceRange](dart.notNull(i) + 1, text.length, data);
      }
    }
    return new core.UriData.__(text, indices, sourceUri);
  }
  static _uriEncodeBytes(canonicalTable, bytes, buffer) {
    if (canonicalTable == null) dart.nullFailed(I[175], 3625, 17, "canonicalTable");
    if (bytes == null) dart.nullFailed(I[175], 3625, 43, "bytes");
    if (buffer == null) dart.nullFailed(I[175], 3625, 61, "buffer");
    let byteOr = 0;
    for (let i = 0; i < dart.notNull(bytes[$length]); i = i + 1) {
      let byte = bytes[$_get](i);
      byteOr = (byteOr | dart.notNull(byte)) >>> 0;
      if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable[$_get](byte[$rightShift](4))) & 1 << (dart.notNull(byte) & 15)) !== 0) {
        buffer.writeCharCode(byte);
      } else {
        buffer.writeCharCode(37);
        buffer.writeCharCode("0123456789ABCDEF"[$codeUnitAt](byte[$rightShift](4)));
        buffer.writeCharCode("0123456789ABCDEF"[$codeUnitAt](dart.notNull(byte) & 15));
      }
    }
    if ((byteOr & ~255 >>> 0) !== 0) {
      for (let i = 0; i < dart.notNull(bytes[$length]); i = i + 1) {
        let byte = bytes[$_get](i);
        if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) {
          dart.throw(new core.ArgumentError.value(byte, "non-byte value"));
        }
      }
    }
  }
  toString() {
    return this[_separatorIndices$][$_get](0) === -1 ? "data:" + dart.str(this[_text$]) : this[_text$];
  }
};
(core.UriData.__ = function(_text, _separatorIndices, _uriCache) {
  if (_text == null) dart.nullFailed(I[175], 3154, 18, "_text");
  if (_separatorIndices == null) dart.nullFailed(I[175], 3154, 30, "_separatorIndices");
  this[_text$] = _text;
  this[_separatorIndices$] = _separatorIndices;
  this[_uriCache$] = _uriCache;
  ;
}).prototype = core.UriData.prototype;
dart.addTypeTests(core.UriData);
dart.addTypeCaches(core.UriData);
dart.setMethodSignature(core.UriData, () => ({
  __proto__: dart.getMethods(core.UriData.__proto__),
  [_computeUri]: dart.fnType(core.Uri, []),
  contentAsBytes: dart.fnType(typed_data.Uint8List, []),
  contentAsString: dart.fnType(core.String, [], {encoding: dart.nullable(convert.Encoding)}, {})
}));
dart.setGetterSignature(core.UriData, () => ({
  __proto__: dart.getGetters(core.UriData.__proto__),
  uri: core.Uri,
  mimeType: core.String,
  charset: core.String,
  isBase64: core.bool,
  contentText: core.String,
  parameters: core.Map$(core.String, core.String)
}));
dart.setLibraryUri(core.UriData, I[9]);
dart.setFieldSignature(core.UriData, () => ({
  __proto__: dart.getFields(core.UriData.__proto__),
  [_text$]: dart.finalFieldType(core.String),
  [_separatorIndices$]: dart.finalFieldType(core.List$(core.int)),
  [_uriCache$]: dart.fieldType(dart.nullable(core.Uri))
}));
dart.defineExtensionMethods(core.UriData, ['toString']);
dart.defineLazy(core.UriData, {
  /*core.UriData._noScheme*/get _noScheme() {
    return -1;
  },
  /*core.UriData._base64*/get _base64() {
    return C[105] || CT.C105;
  },
  /*core.UriData._tokenCharTable*/get _tokenCharTable() {
    return C[445] || CT.C445;
  },
  /*core.UriData._uricTable*/get _uricTable() {
    return C[444] || CT.C444;
  }
}, false);
var _hashCodeCache = dart.privateName(core, "_hashCodeCache");
var _uri$ = dart.privateName(core, "_uri");
var _schemeEnd$ = dart.privateName(core, "_schemeEnd");
var _hostStart$ = dart.privateName(core, "_hostStart");
var _portStart$ = dart.privateName(core, "_portStart");
var _pathStart$ = dart.privateName(core, "_pathStart");
var _queryStart$ = dart.privateName(core, "_queryStart");
var _fragmentStart$ = dart.privateName(core, "_fragmentStart");
var _schemeCache$ = dart.privateName(core, "_schemeCache");
var _isFile = dart.privateName(core, "_isFile");
var _isHttp = dart.privateName(core, "_isHttp");
var _isHttps = dart.privateName(core, "_isHttps");
var _isPackage = dart.privateName(core, "_isPackage");
var _isScheme = dart.privateName(core, "_isScheme");
var _computeScheme = dart.privateName(core, "_computeScheme");
var _isPort = dart.privateName(core, "_isPort");
var _simpleMerge = dart.privateName(core, "_simpleMerge");
var _toNonSimple = dart.privateName(core, "_toNonSimple");
core._SimpleUri = class _SimpleUri extends core.Object {
  get hasScheme() {
    return dart.notNull(this[_schemeEnd$]) > 0;
  }
  get hasAuthority() {
    return dart.notNull(this[_hostStart$]) > 0;
  }
  get hasUserInfo() {
    return dart.notNull(this[_hostStart$]) > dart.notNull(this[_schemeEnd$]) + 4;
  }
  get hasPort() {
    return dart.notNull(this[_hostStart$]) > 0 && dart.notNull(this[_portStart$]) + 1 < dart.notNull(this[_pathStart$]);
  }
  get hasQuery() {
    return dart.notNull(this[_queryStart$]) < dart.notNull(this[_fragmentStart$]);
  }
  get hasFragment() {
    return dart.notNull(this[_fragmentStart$]) < this[_uri$].length;
  }
  get [_isFile]() {
    return this[_schemeEnd$] === 4 && this[_uri$][$startsWith]("file");
  }
  get [_isHttp]() {
    return this[_schemeEnd$] === 4 && this[_uri$][$startsWith]("http");
  }
  get [_isHttps]() {
    return this[_schemeEnd$] === 5 && this[_uri$][$startsWith]("https");
  }
  get [_isPackage]() {
    return this[_schemeEnd$] === 7 && this[_uri$][$startsWith]("package");
  }
  [_isScheme](scheme) {
    if (scheme == null) dart.nullFailed(I[175], 4118, 25, "scheme");
    return this[_schemeEnd$] === scheme.length && this[_uri$][$startsWith](scheme);
  }
  get hasAbsolutePath() {
    return this[_uri$][$startsWith]("/", this[_pathStart$]);
  }
  get hasEmptyPath() {
    return this[_pathStart$] == this[_queryStart$];
  }
  get isAbsolute() {
    return dart.test(this.hasScheme) && !dart.test(this.hasFragment);
  }
  isScheme(scheme) {
    if (scheme == null) dart.nullFailed(I[175], 4126, 24, "scheme");
    if (scheme == null || scheme[$isEmpty]) return dart.notNull(this[_schemeEnd$]) < 0;
    if (scheme.length !== this[_schemeEnd$]) return false;
    return core._Uri._compareScheme(scheme, this[_uri$]);
  }
  get scheme() {
    let t258;
    t258 = this[_schemeCache$];
    return t258 == null ? this[_schemeCache$] = this[_computeScheme]() : t258;
  }
  [_computeScheme]() {
    if (dart.notNull(this[_schemeEnd$]) <= 0) return "";
    if (dart.test(this[_isHttp])) return "http";
    if (dart.test(this[_isHttps])) return "https";
    if (dart.test(this[_isFile])) return "file";
    if (dart.test(this[_isPackage])) return "package";
    return this[_uri$][$substring](0, this[_schemeEnd$]);
  }
  get authority() {
    return dart.notNull(this[_hostStart$]) > 0 ? this[_uri$][$substring](dart.notNull(this[_schemeEnd$]) + 3, this[_pathStart$]) : "";
  }
  get userInfo() {
    return dart.notNull(this[_hostStart$]) > dart.notNull(this[_schemeEnd$]) + 3 ? this[_uri$][$substring](dart.notNull(this[_schemeEnd$]) + 3, dart.notNull(this[_hostStart$]) - 1) : "";
  }
  get host() {
    return dart.notNull(this[_hostStart$]) > 0 ? this[_uri$][$substring](this[_hostStart$], this[_portStart$]) : "";
  }
  get port() {
    if (dart.test(this.hasPort)) return core.int.parse(this[_uri$][$substring](dart.notNull(this[_portStart$]) + 1, this[_pathStart$]));
    if (dart.test(this[_isHttp])) return 80;
    if (dart.test(this[_isHttps])) return 443;
    return 0;
  }
  get path() {
    return this[_uri$][$substring](this[_pathStart$], this[_queryStart$]);
  }
  get query() {
    return dart.notNull(this[_queryStart$]) < dart.notNull(this[_fragmentStart$]) ? this[_uri$][$substring](dart.notNull(this[_queryStart$]) + 1, this[_fragmentStart$]) : "";
  }
  get fragment() {
    return dart.notNull(this[_fragmentStart$]) < this[_uri$].length ? this[_uri$][$substring](dart.notNull(this[_fragmentStart$]) + 1) : "";
  }
  get origin() {
    let isHttp = this[_isHttp];
    if (dart.notNull(this[_schemeEnd$]) < 0) {
      dart.throw(new core.StateError.new("Cannot use origin without a scheme: " + dart.str(this)));
    }
    if (!dart.test(isHttp) && !dart.test(this[_isHttps])) {
      dart.throw(new core.StateError.new("Origin is only applicable to schemes http and https: " + dart.str(this)));
    }
    if (this[_hostStart$] == this[_portStart$]) {
      dart.throw(new core.StateError.new("A " + dart.str(this.scheme) + ": URI should have a non-empty host name: " + dart.str(this)));
    }
    if (this[_hostStart$] === dart.notNull(this[_schemeEnd$]) + 3) {
      return this[_uri$][$substring](0, this[_pathStart$]);
    }
    return this[_uri$][$substring](0, dart.notNull(this[_schemeEnd$]) + 3) + this[_uri$][$substring](this[_hostStart$], this[_pathStart$]);
  }
  get pathSegments() {
    let start = this[_pathStart$];
    let end = this[_queryStart$];
    if (this[_uri$][$startsWith]("/", start)) start = dart.notNull(start) + 1;
    if (start == end) return C[406] || CT.C406;
    let parts = T$.JSArrayOfString().of([]);
    for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
      let char = this[_uri$][$codeUnitAt](i);
      if (char === 47) {
        parts[$add](this[_uri$][$substring](start, i));
        start = dart.notNull(i) + 1;
      }
    }
    parts[$add](this[_uri$][$substring](start, end));
    return T$.ListOfString().unmodifiable(parts);
  }
  get queryParameters() {
    if (!dart.test(this.hasQuery)) return C[446] || CT.C446;
    return new (T$0.UnmodifiableMapViewOfString$String()).new(core.Uri.splitQueryString(this.query));
  }
  get queryParametersAll() {
    if (!dart.test(this.hasQuery)) return C[432] || CT.C432;
    let queryParameterLists = core._Uri._splitQueryStringAll(this.query);
    queryParameterLists[$updateAll](C[433] || CT.C433);
    return T$0.MapOfString$ListOfString().unmodifiable(queryParameterLists);
  }
  [_isPort](port) {
    if (port == null) dart.nullFailed(I[175], 4218, 23, "port");
    let portDigitStart = dart.notNull(this[_portStart$]) + 1;
    return portDigitStart + port.length === this[_pathStart$] && this[_uri$][$startsWith](port, portDigitStart);
  }
  normalizePath() {
    return this;
  }
  removeFragment() {
    if (!dart.test(this.hasFragment)) return this;
    return new core._SimpleUri.new(this[_uri$][$substring](0, this[_fragmentStart$]), this[_schemeEnd$], this[_hostStart$], this[_portStart$], this[_pathStart$], this[_queryStart$], this[_fragmentStart$], this[_schemeCache$]);
  }
  replace(opts) {
    let scheme = opts && 'scheme' in opts ? opts.scheme : null;
    let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null;
    let host = opts && 'host' in opts ? opts.host : null;
    let port = opts && 'port' in opts ? opts.port : null;
    let path = opts && 'path' in opts ? opts.path : null;
    let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : null;
    let query = opts && 'query' in opts ? opts.query : null;
    let queryParameters = opts && 'queryParameters' in opts ? opts.queryParameters : null;
    let fragment = opts && 'fragment' in opts ? opts.fragment : null;
    let schemeChanged = false;
    if (scheme != null) {
      scheme = core._Uri._makeScheme(scheme, 0, scheme.length);
      schemeChanged = !dart.test(this[_isScheme](scheme));
    } else {
      scheme = this.scheme;
    }
    let isFile = scheme === "file";
    if (userInfo != null) {
      userInfo = core._Uri._makeUserInfo(userInfo, 0, userInfo.length);
    } else if (dart.notNull(this[_hostStart$]) > 0) {
      userInfo = this[_uri$][$substring](dart.notNull(this[_schemeEnd$]) + 3, this[_hostStart$]);
    } else {
      userInfo = "";
    }
    if (port != null) {
      port = core._Uri._makePort(port, scheme);
    } else {
      port = dart.test(this.hasPort) ? this.port : null;
      if (schemeChanged) {
        port = core._Uri._makePort(port, scheme);
      }
    }
    if (host != null) {
      host = core._Uri._makeHost(host, 0, host.length, false);
    } else if (dart.notNull(this[_hostStart$]) > 0) {
      host = this[_uri$][$substring](this[_hostStart$], this[_portStart$]);
    } else if (userInfo[$isNotEmpty] || port != null || isFile) {
      host = "";
    }
    let hasAuthority = host != null;
    if (path != null || pathSegments != null) {
      path = core._Uri._makePath(path, 0, core._stringOrNullLength(path), pathSegments, scheme, hasAuthority);
    } else {
      path = this[_uri$][$substring](this[_pathStart$], this[_queryStart$]);
      if ((isFile || hasAuthority && !path[$isEmpty]) && !path[$startsWith]("/")) {
        path = "/" + dart.notNull(path);
      }
    }
    if (query != null || queryParameters != null) {
      query = core._Uri._makeQuery(query, 0, core._stringOrNullLength(query), queryParameters);
    } else if (dart.notNull(this[_queryStart$]) < dart.notNull(this[_fragmentStart$])) {
      query = this[_uri$][$substring](dart.notNull(this[_queryStart$]) + 1, this[_fragmentStart$]);
    }
    if (fragment != null) {
      fragment = core._Uri._makeFragment(fragment, 0, fragment.length);
    } else if (dart.notNull(this[_fragmentStart$]) < this[_uri$].length) {
      fragment = this[_uri$][$substring](dart.notNull(this[_fragmentStart$]) + 1);
    }
    return new core._Uri._internal(scheme, userInfo, host, port, path, query, fragment);
  }
  resolve(reference) {
    if (reference == null) dart.nullFailed(I[175], 4302, 22, "reference");
    return this.resolveUri(core.Uri.parse(reference));
  }
  resolveUri(reference) {
    if (reference == null) dart.nullFailed(I[175], 4306, 22, "reference");
    if (core._SimpleUri.is(reference)) {
      return this[_simpleMerge](this, reference);
    }
    return this[_toNonSimple]().resolveUri(reference);
  }
  static _packageNameEnd(uri) {
    if (uri == null) dart.nullFailed(I[175], 4323, 41, "uri");
    if (dart.test(uri[_isPackage]) && !dart.test(uri.hasAuthority)) {
      return core._skipPackageNameChars(uri[_uri$], uri[_pathStart$], uri[_queryStart$]);
    }
    return -1;
  }
  [_simpleMerge](base, ref) {
    if (base == null) dart.nullFailed(I[175], 4337, 31, "base");
    if (ref == null) dart.nullFailed(I[175], 4337, 48, "ref");
    if (dart.test(ref.hasScheme)) return ref;
    if (dart.test(ref.hasAuthority)) {
      if (!dart.test(base.hasScheme)) return ref;
      let isSimple = true;
      if (dart.test(base[_isFile])) {
        isSimple = !dart.test(ref.hasEmptyPath);
      } else if (dart.test(base[_isHttp])) {
        isSimple = !dart.test(ref[_isPort]("80"));
      } else if (dart.test(base[_isHttps])) {
        isSimple = !dart.test(ref[_isPort]("443"));
      }
      if (isSimple) {
        let delta = dart.notNull(base[_schemeEnd$]) + 1;
        let newUri = base[_uri$][$substring](0, dart.notNull(base[_schemeEnd$]) + 1) + ref[_uri$][$substring](dart.notNull(ref[_schemeEnd$]) + 1);
        return new core._SimpleUri.new(newUri, base[_schemeEnd$], dart.notNull(ref[_hostStart$]) + delta, dart.notNull(ref[_portStart$]) + delta, dart.notNull(ref[_pathStart$]) + delta, dart.notNull(ref[_queryStart$]) + delta, dart.notNull(ref[_fragmentStart$]) + delta, base[_schemeCache$]);
      } else {
        return this[_toNonSimple]().resolveUri(ref);
      }
    }
    if (dart.test(ref.hasEmptyPath)) {
      if (dart.test(ref.hasQuery)) {
        let delta = dart.notNull(base[_queryStart$]) - dart.notNull(ref[_queryStart$]);
        let newUri = base[_uri$][$substring](0, base[_queryStart$]) + ref[_uri$][$substring](ref[_queryStart$]);
        return new core._SimpleUri.new(newUri, base[_schemeEnd$], base[_hostStart$], base[_portStart$], base[_pathStart$], dart.notNull(ref[_queryStart$]) + delta, dart.notNull(ref[_fragmentStart$]) + delta, base[_schemeCache$]);
      }
      if (dart.test(ref.hasFragment)) {
        let delta = dart.notNull(base[_fragmentStart$]) - dart.notNull(ref[_fragmentStart$]);
        let newUri = base[_uri$][$substring](0, base[_fragmentStart$]) + ref[_uri$][$substring](ref[_fragmentStart$]);
        return new core._SimpleUri.new(newUri, base[_schemeEnd$], base[_hostStart$], base[_portStart$], base[_pathStart$], base[_queryStart$], dart.notNull(ref[_fragmentStart$]) + delta, base[_schemeCache$]);
      }
      return base.removeFragment();
    }
    if (dart.test(ref.hasAbsolutePath)) {
      let basePathStart = base[_pathStart$];
      let packageNameEnd = core._SimpleUri._packageNameEnd(this);
      if (dart.notNull(packageNameEnd) > 0) basePathStart = packageNameEnd;
      let delta = dart.notNull(basePathStart) - dart.notNull(ref[_pathStart$]);
      let newUri = base[_uri$][$substring](0, basePathStart) + ref[_uri$][$substring](ref[_pathStart$]);
      return new core._SimpleUri.new(newUri, base[_schemeEnd$], base[_hostStart$], base[_portStart$], base[_pathStart$], dart.notNull(ref[_queryStart$]) + delta, dart.notNull(ref[_fragmentStart$]) + delta, base[_schemeCache$]);
    }
    if (dart.test(base.hasEmptyPath) && dart.test(base.hasAuthority)) {
      let refStart = ref[_pathStart$];
      while (ref[_uri$][$startsWith]("../", refStart)) {
        refStart = dart.notNull(refStart) + 3;
      }
      let delta = dart.notNull(base[_pathStart$]) - dart.notNull(refStart) + 1;
      let newUri = base[_uri$][$substring](0, base[_pathStart$]) + "/" + ref[_uri$][$substring](refStart);
      return new core._SimpleUri.new(newUri, base[_schemeEnd$], base[_hostStart$], base[_portStart$], base[_pathStart$], dart.notNull(ref[_queryStart$]) + delta, dart.notNull(ref[_fragmentStart$]) + delta, base[_schemeCache$]);
    }
    let baseUri = base[_uri$];
    let refUri = ref[_uri$];
    let baseStart = base[_pathStart$];
    let baseEnd = base[_queryStart$];
    let packageNameEnd = core._SimpleUri._packageNameEnd(this);
    if (dart.notNull(packageNameEnd) >= 0) {
      baseStart = packageNameEnd;
    } else {
      while (baseUri[$startsWith]("../", baseStart))
        baseStart = dart.notNull(baseStart) + 3;
    }
    let refStart = ref[_pathStart$];
    let refEnd = ref[_queryStart$];
    let backCount = 0;
    while (dart.notNull(refStart) + 3 <= dart.notNull(refEnd) && refUri[$startsWith]("../", refStart)) {
      refStart = dart.notNull(refStart) + 3;
      backCount = backCount + 1;
    }
    let insert = "";
    while (dart.notNull(baseEnd) > dart.notNull(baseStart)) {
      baseEnd = dart.notNull(baseEnd) - 1;
      let char = baseUri[$codeUnitAt](baseEnd);
      if (char === 47) {
        insert = "/";
        if (backCount === 0) break;
        backCount = backCount - 1;
      }
    }
    if (baseEnd == baseStart && !dart.test(base.hasScheme) && !dart.test(base.hasAbsolutePath)) {
      insert = "";
      refStart = dart.notNull(refStart) - backCount * 3;
    }
    let delta = dart.notNull(baseEnd) - dart.notNull(refStart) + insert.length;
    let newUri = base[_uri$][$substring](0, baseEnd) + insert + ref[_uri$][$substring](refStart);
    return new core._SimpleUri.new(newUri, base[_schemeEnd$], base[_hostStart$], base[_portStart$], base[_pathStart$], dart.notNull(ref[_queryStart$]) + delta, dart.notNull(ref[_fragmentStart$]) + delta, base[_schemeCache$]);
  }
  toFilePath(opts) {
    let t258;
    let windows = opts && 'windows' in opts ? opts.windows : null;
    if (dart.notNull(this[_schemeEnd$]) >= 0 && !dart.test(this[_isFile])) {
      dart.throw(new core.UnsupportedError.new("Cannot extract a file path from a " + dart.str(this.scheme) + " URI"));
    }
    if (dart.notNull(this[_queryStart$]) < this[_uri$].length) {
      if (dart.notNull(this[_queryStart$]) < dart.notNull(this[_fragmentStart$])) {
        dart.throw(new core.UnsupportedError.new("Cannot extract a file path from a URI with a query component"));
      }
      dart.throw(new core.UnsupportedError.new("Cannot extract a file path from a URI with a fragment component"));
    }
    return dart.test((t258 = windows, t258 == null ? core._Uri._isWindows : t258)) ? core._Uri._toWindowsFilePath(this) : this[_toFilePath]();
  }
  [_toFilePath]() {
    if (dart.notNull(this[_hostStart$]) < dart.notNull(this[_portStart$])) {
      dart.throw(new core.UnsupportedError.new("Cannot extract a non-Windows file path from a file URI " + "with an authority"));
    }
    return this.path;
  }
  get data() {
    if (!(this.scheme !== "data")) dart.assertFailed(null, I[175], 4548, 12, "scheme != \"data\"");
    return null;
  }
  get hashCode() {
    let t258;
    t258 = this[_hashCodeCache];
    return t258 == null ? this[_hashCodeCache] = dart.hashCode(this[_uri$]) : t258;
  }
  _equals(other) {
    if (other == null) return false;
    if (this === other) return true;
    return core.Uri.is(other) && this[_uri$] == dart.toString(other);
  }
  [_toNonSimple]() {
    return new core._Uri._internal(this.scheme, this.userInfo, dart.test(this.hasAuthority) ? this.host : null, dart.test(this.hasPort) ? this.port : null, this.path, dart.test(this.hasQuery) ? this.query : null, dart.test(this.hasFragment) ? this.fragment : null);
  }
  toString() {
    return this[_uri$];
  }
};
(core._SimpleUri.new = function(_uri, _schemeEnd, _hostStart, _portStart, _pathStart, _queryStart, _fragmentStart, _schemeCache) {
  if (_uri == null) dart.nullFailed(I[175], 4096, 12, "_uri");
  if (_schemeEnd == null) dart.nullFailed(I[175], 4097, 12, "_schemeEnd");
  if (_hostStart == null) dart.nullFailed(I[175], 4098, 12, "_hostStart");
  if (_portStart == null) dart.nullFailed(I[175], 4099, 12, "_portStart");
  if (_pathStart == null) dart.nullFailed(I[175], 4100, 12, "_pathStart");
  if (_queryStart == null) dart.nullFailed(I[175], 4101, 12, "_queryStart");
  if (_fragmentStart == null) dart.nullFailed(I[175], 4102, 12, "_fragmentStart");
  this[_hashCodeCache] = null;
  this[_uri$] = _uri;
  this[_schemeEnd$] = _schemeEnd;
  this[_hostStart$] = _hostStart;
  this[_portStart$] = _portStart;
  this[_pathStart$] = _pathStart;
  this[_queryStart$] = _queryStart;
  this[_fragmentStart$] = _fragmentStart;
  this[_schemeCache$] = _schemeCache;
  ;
}).prototype = core._SimpleUri.prototype;
dart.addTypeTests(core._SimpleUri);
dart.addTypeCaches(core._SimpleUri);
core._SimpleUri[dart.implements] = () => [core.Uri];
dart.setMethodSignature(core._SimpleUri, () => ({
  __proto__: dart.getMethods(core._SimpleUri.__proto__),
  [_isScheme]: dart.fnType(core.bool, [core.String]),
  isScheme: dart.fnType(core.bool, [core.String]),
  [_computeScheme]: dart.fnType(core.String, []),
  [_isPort]: dart.fnType(core.bool, [core.String]),
  normalizePath: dart.fnType(core.Uri, []),
  removeFragment: dart.fnType(core.Uri, []),
  replace: dart.fnType(core.Uri, [], {fragment: dart.nullable(core.String), host: dart.nullable(core.String), path: dart.nullable(core.String), pathSegments: dart.nullable(core.Iterable$(core.String)), port: dart.nullable(core.int), query: dart.nullable(core.String), queryParameters: dart.nullable(core.Map$(core.String, dart.dynamic)), scheme: dart.nullable(core.String), userInfo: dart.nullable(core.String)}, {}),
  resolve: dart.fnType(core.Uri, [core.String]),
  resolveUri: dart.fnType(core.Uri, [core.Uri]),
  [_simpleMerge]: dart.fnType(core.Uri, [core._SimpleUri, core._SimpleUri]),
  toFilePath: dart.fnType(core.String, [], {windows: dart.nullable(core.bool)}, {}),
  [_toFilePath]: dart.fnType(core.String, []),
  [_toNonSimple]: dart.fnType(core.Uri, [])
}));
dart.setGetterSignature(core._SimpleUri, () => ({
  __proto__: dart.getGetters(core._SimpleUri.__proto__),
  hasScheme: core.bool,
  hasAuthority: core.bool,
  hasUserInfo: core.bool,
  hasPort: core.bool,
  hasQuery: core.bool,
  hasFragment: core.bool,
  [_isFile]: core.bool,
  [_isHttp]: core.bool,
  [_isHttps]: core.bool,
  [_isPackage]: core.bool,
  hasAbsolutePath: core.bool,
  hasEmptyPath: core.bool,
  isAbsolute: core.bool,
  scheme: core.String,
  authority: core.String,
  userInfo: core.String,
  host: core.String,
  port: core.int,
  path: core.String,
  query: core.String,
  fragment: core.String,
  origin: core.String,
  pathSegments: core.List$(core.String),
  queryParameters: core.Map$(core.String, core.String),
  queryParametersAll: core.Map$(core.String, core.List$(core.String)),
  data: dart.nullable(core.UriData)
}));
dart.setLibraryUri(core._SimpleUri, I[9]);
dart.setFieldSignature(core._SimpleUri, () => ({
  __proto__: dart.getFields(core._SimpleUri.__proto__),
  [_uri$]: dart.finalFieldType(core.String),
  [_schemeEnd$]: dart.finalFieldType(core.int),
  [_hostStart$]: dart.finalFieldType(core.int),
  [_portStart$]: dart.finalFieldType(core.int),
  [_pathStart$]: dart.finalFieldType(core.int),
  [_queryStart$]: dart.finalFieldType(core.int),
  [_fragmentStart$]: dart.finalFieldType(core.int),
  [_schemeCache$]: dart.fieldType(dart.nullable(core.String)),
  [_hashCodeCache]: dart.fieldType(dart.nullable(core.int))
}));
dart.defineExtensionMethods(core._SimpleUri, ['_equals', 'toString']);
dart.defineExtensionAccessors(core._SimpleUri, ['hashCode']);
var _data$0 = dart.privateName(core, "_data");
core._DataUri = class _DataUri extends core._Uri {
  get data() {
    return this[_data$0];
  }
};
(core._DataUri.new = function(_data, path, query) {
  if (_data == null) dart.nullFailed(I[175], 4577, 17, "_data");
  if (path == null) dart.nullFailed(I[175], 4577, 31, "path");
  this[_data$0] = _data;
  core._DataUri.__proto__._internal.call(this, "data", "", null, null, path, query, null);
  ;
}).prototype = core._DataUri.prototype;
dart.addTypeTests(core._DataUri);
dart.addTypeCaches(core._DataUri);
dart.setLibraryUri(core._DataUri, I[9]);
dart.setFieldSignature(core._DataUri, () => ({
  __proto__: dart.getFields(core._DataUri.__proto__),
  [_data$0]: dart.finalFieldType(core.UriData)
}));
core._symbolToString = function _symbolToString(symbol) {
  if (symbol == null) dart.nullFailed(I[7], 29, 31, "symbol");
  return _js_helper.PrivateSymbol.is(symbol) ? _js_helper.PrivateSymbol.getName(symbol) : _internal.Symbol.getName(_internal.Symbol.as(symbol));
};
core._max = function _max(a, b) {
  if (a == null) dart.nullFailed(I[7], 932, 14, "a");
  if (b == null) dart.nullFailed(I[7], 932, 21, "b");
  return dart.notNull(a) > dart.notNull(b) ? a : b;
};
core._min = function _min(a, b) {
  if (a == null) dart.nullFailed(I[7], 933, 14, "a");
  if (b == null) dart.nullFailed(I[7], 933, 21, "b");
  return dart.notNull(a) < dart.notNull(b) ? a : b;
};
core.identical = function identical(a, b) {
  return a == null ? b == null : a === b;
};
core.identityHashCode = function identityHashCode(object) {
  if (object == null) return 0;
  let hash = object[dart.identityHashCode_];
  if (hash == null) {
    hash = Math.random() * 0x3fffffff | 0;
    object[dart.identityHashCode_] = hash;
  }
  return hash;
};
core.print = function print$0(object) {
  let line = dart.toString(object);
  let toZone = _internal.printToZone;
  if (toZone == null) {
    _internal.printToConsole(line);
  } else {
    toZone(line);
  }
};
core._isLeadSurrogate = function _isLeadSurrogate$(code) {
  if (code == null) dart.nullFailed(I[174], 663, 27, "code");
  return (dart.notNull(code) & 64512) === 55296;
};
core._isTrailSurrogate = function _isTrailSurrogate(code) {
  if (code == null) dart.nullFailed(I[174], 666, 28, "code");
  return (dart.notNull(code) & 64512) === 56320;
};
core._combineSurrogatePair = function _combineSurrogatePair$(start, end) {
  if (start == null) dart.nullFailed(I[174], 669, 31, "start");
  if (end == null) dart.nullFailed(I[174], 669, 42, "end");
  return 65536 + ((dart.notNull(start) & 1023) << 10) + (dart.notNull(end) & 1023);
};
core._createTables = function _createTables() {
  let unreserved = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~";
  let pchar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=";
  let tables = T$0.ListOfUint8List().generate(22, dart.fn(_ => {
    if (_ == null) dart.nullFailed(I[175], 3872, 54, "_");
    return _native_typed_data.NativeUint8List.new(96);
  }, T$0.intToUint8List()));
  function build(state, defaultTransition) {
    let t258;
    t258 = tables[$_get](core.int.as(state));
    return (() => {
      t258[$fillRange](0, 96, T$.intN().as(defaultTransition));
      return t258;
    })();
  }
  dart.fn(build, T$0.dynamicAnddynamicToUint8List());
  function setChars(target, chars, transition) {
    if (target == null) dart.nullFailed(I[175], 3883, 27, "target");
    if (chars == null) dart.nullFailed(I[175], 3883, 42, "chars");
    if (transition == null) dart.nullFailed(I[175], 3883, 53, "transition");
    for (let i = 0; i < chars.length; i = i + 1) {
      let char = chars[$codeUnitAt](i);
      target[$_set]((char ^ 96) >>> 0, transition);
    }
  }
  dart.fn(setChars, T$0.Uint8ListAndStringAndintTovoid());
  function setRange(target, range, transition) {
    if (target == null) dart.nullFailed(I[175], 3896, 27, "target");
    if (range == null) dart.nullFailed(I[175], 3896, 42, "range");
    if (transition == null) dart.nullFailed(I[175], 3896, 53, "transition");
    for (let i = range[$codeUnitAt](0), n = range[$codeUnitAt](1); i <= n; i = i + 1) {
      target[$_set]((i ^ 96) >>> 0, transition);
    }
  }
  dart.fn(setRange, T$0.Uint8ListAndStringAndintTovoid());
  let b = null;
  b = build(0, (1 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 1);
  setChars(typed_data.Uint8List.as(b), ".", 14);
  setChars(typed_data.Uint8List.as(b), ":", (2 | 32) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", 3);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(14, (1 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 1);
  setChars(typed_data.Uint8List.as(b), ".", 15);
  setChars(typed_data.Uint8List.as(b), ":", (2 | 32) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(15, (1 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 1);
  setChars(typed_data.Uint8List.as(b), "%", (1 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), ":", (2 | 32) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", 9);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(1, (1 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 1);
  setChars(typed_data.Uint8List.as(b), ":", (2 | 32) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", 10);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(2, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, (11 | 128) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", (3 | 128) >>> 0);
  setChars(typed_data.Uint8List.as(b), ".", (18 | 128) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(3, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), "/", (4 | 64) >>> 0);
  setChars(typed_data.Uint8List.as(b), ".", 18);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(4, (5 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 5);
  setRange(typed_data.Uint8List.as(b), "AZ", (5 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), ":", (6 | 96) >>> 0);
  setChars(typed_data.Uint8List.as(b), "@", (4 | 64) >>> 0);
  setChars(typed_data.Uint8List.as(b), "[", (8 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 128) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(5, (5 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 5);
  setRange(typed_data.Uint8List.as(b), "AZ", (5 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), ":", (6 | 96) >>> 0);
  setChars(typed_data.Uint8List.as(b), "@", (4 | 64) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 128) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(6, (7 | 224) >>> 0);
  setRange(typed_data.Uint8List.as(b), "19", 7);
  setChars(typed_data.Uint8List.as(b), "@", (4 | 64) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 128) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(7, (7 | 224) >>> 0);
  setRange(typed_data.Uint8List.as(b), "09", 7);
  setChars(typed_data.Uint8List.as(b), "@", (4 | 64) >>> 0);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 128) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(8, 8);
  setChars(typed_data.Uint8List.as(b), "]", 5);
  b = build(9, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), ".", 16);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(16, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), ".", 17);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(17, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), "/", 9);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(10, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), ".", 18);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(18, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), ".", 19);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(19, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), "/", (10 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(11, (11 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 11);
  setChars(typed_data.Uint8List.as(b), "/", 10);
  setChars(typed_data.Uint8List.as(b), "?", (12 | 160) >>> 0);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(12, (12 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 12);
  setChars(typed_data.Uint8List.as(b), "?", 12);
  setChars(typed_data.Uint8List.as(b), "#", (13 | 192) >>> 0);
  b = build(13, (13 | 224) >>> 0);
  setChars(typed_data.Uint8List.as(b), pchar, 13);
  setChars(typed_data.Uint8List.as(b), "?", 13);
  b = build(20, (21 | 224) >>> 0);
  setRange(typed_data.Uint8List.as(b), "az", 21);
  b = build(21, (21 | 224) >>> 0);
  setRange(typed_data.Uint8List.as(b), "az", 21);
  setRange(typed_data.Uint8List.as(b), "09", 21);
  setChars(typed_data.Uint8List.as(b), "+-.", 21);
  return tables;
};
core._scan = function _scan(uri, start, end, state, indices) {
  if (uri == null) dart.nullFailed(I[175], 4064, 18, "uri");
  if (start == null) dart.nullFailed(I[175], 4064, 27, "start");
  if (end == null) dart.nullFailed(I[175], 4064, 38, "end");
  if (state == null) dart.nullFailed(I[175], 4064, 47, "state");
  if (indices == null) dart.nullFailed(I[175], 4064, 64, "indices");
  let tables = core._scannerTables;
  if (!(dart.notNull(end) <= uri.length)) dart.assertFailed(null, I[175], 4066, 10, "end <= uri.length");
  for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
    let table = tables[$_get](state);
    let char = (uri[$codeUnitAt](i) ^ 96) >>> 0;
    if (char > 95) char = 31;
    let transition = table[$_get](char);
    state = dart.notNull(transition) & 31;
    indices[$_set](transition[$rightShift](5), i);
  }
  return state;
};
core._startsWithData = function _startsWithData(text, start) {
  if (text == null) dart.nullFailed(I[175], 4591, 28, "text");
  if (start == null) dart.nullFailed(I[175], 4591, 38, "start");
  let delta = ((text[$codeUnitAt](dart.notNull(start) + 4) ^ 58) >>> 0) * 3;
  delta = (delta | (text[$codeUnitAt](start) ^ 100) >>> 0) >>> 0;
  delta = (delta | (text[$codeUnitAt](dart.notNull(start) + 1) ^ 97) >>> 0) >>> 0;
  delta = (delta | (text[$codeUnitAt](dart.notNull(start) + 2) ^ 116) >>> 0) >>> 0;
  delta = (delta | (text[$codeUnitAt](dart.notNull(start) + 3) ^ 97) >>> 0) >>> 0;
  return delta;
};
core._stringOrNullLength = function _stringOrNullLength(s) {
  return s == null ? 0 : s.length;
};
core._toUnmodifiableStringList = function _toUnmodifiableStringList(key, list) {
  if (key == null) dart.nullFailed(I[175], 4604, 47, "key");
  if (list == null) dart.nullFailed(I[175], 4604, 65, "list");
  return T$.ListOfString().unmodifiable(list);
};
core._skipPackageNameChars = function _skipPackageNameChars(source, start, end) {
  if (source == null) dart.nullFailed(I[175], 4616, 34, "source");
  if (start == null) dart.nullFailed(I[175], 4616, 46, "start");
  if (end == null) dart.nullFailed(I[175], 4616, 57, "end");
  let dots = 0;
  for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
    let char = source[$codeUnitAt](i);
    if (char === 47) return dots !== 0 ? i : -1;
    if (char === 37 || char === 58) return -1;
    dots = (dots | (char ^ 46) >>> 0) >>> 0;
  }
  return -1;
};
dart.defineLazy(core, {
  /*core._dummyList*/get _dummyList() {
    return _native_typed_data.NativeUint16List.new(0);
  },
  /*core.deprecated*/get deprecated() {
    return C[447] || CT.C447;
  },
  /*core.override*/get override() {
    return C[448] || CT.C448;
  },
  /*core.provisional*/get provisional() {
    return null;
  },
  /*core.proxy*/get proxy() {
    return null;
  },
  /*core._hashSeed*/get _hashSeed() {
    return core.identityHashCode(dart.wrapType(core.Object));
  },
  /*core._SPACE*/get _SPACE() {
    return 32;
  },
  /*core._PERCENT*/get _PERCENT() {
    return 37;
  },
  /*core._AMPERSAND*/get _AMPERSAND() {
    return 38;
  },
  /*core._PLUS*/get _PLUS() {
    return 43;
  },
  /*core._DOT*/get _DOT() {
    return 46;
  },
  /*core._SLASH*/get _SLASH() {
    return 47;
  },
  /*core._COLON*/get _COLON() {
    return 58;
  },
  /*core._EQUALS*/get _EQUALS() {
    return 61;
  },
  /*core._UPPER_CASE_A*/get _UPPER_CASE_A() {
    return 65;
  },
  /*core._UPPER_CASE_Z*/get _UPPER_CASE_Z() {
    return 90;
  },
  /*core._LEFT_BRACKET*/get _LEFT_BRACKET() {
    return 91;
  },
  /*core._BACKSLASH*/get _BACKSLASH() {
    return 92;
  },
  /*core._RIGHT_BRACKET*/get _RIGHT_BRACKET() {
    return 93;
  },
  /*core._LOWER_CASE_A*/get _LOWER_CASE_A() {
    return 97;
  },
  /*core._LOWER_CASE_F*/get _LOWER_CASE_F() {
    return 102;
  },
  /*core._LOWER_CASE_Z*/get _LOWER_CASE_Z() {
    return 122;
  },
  /*core._hexDigits*/get _hexDigits() {
    return "0123456789ABCDEF";
  },
  /*core._schemeEndIndex*/get _schemeEndIndex() {
    return 1;
  },
  /*core._hostStartIndex*/get _hostStartIndex() {
    return 2;
  },
  /*core._portStartIndex*/get _portStartIndex() {
    return 3;
  },
  /*core._pathStartIndex*/get _pathStartIndex() {
    return 4;
  },
  /*core._queryStartIndex*/get _queryStartIndex() {
    return 5;
  },
  /*core._fragmentStartIndex*/get _fragmentStartIndex() {
    return 6;
  },
  /*core._notSimpleIndex*/get _notSimpleIndex() {
    return 7;
  },
  /*core._uriStart*/get _uriStart() {
    return 0;
  },
  /*core._nonSimpleEndStates*/get _nonSimpleEndStates() {
    return 14;
  },
  /*core._schemeStart*/get _schemeStart() {
    return 20;
  },
  /*core._scannerTables*/get _scannerTables() {
    return core._createTables();
  }
}, false);
var serverHeader = dart.privateName(_http, "HttpServer.serverHeader");
var autoCompress = dart.privateName(_http, "HttpServer.autoCompress");
var idleTimeout = dart.privateName(_http, "HttpServer.idleTimeout");
_http.HttpServer = class HttpServer extends core.Object {
  get serverHeader() {
    return this[serverHeader];
  }
  set serverHeader(value) {
    this[serverHeader] = value;
  }
  get autoCompress() {
    return this[autoCompress];
  }
  set autoCompress(value) {
    this[autoCompress] = value;
  }
  get idleTimeout() {
    return this[idleTimeout];
  }
  set idleTimeout(value) {
    this[idleTimeout] = value;
  }
  static bind(address, port, opts) {
    if (port == null) dart.nullFailed(I[176], 228, 47, "port");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[176], 229, 16, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[176], 229, 34, "v6Only");
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[176], 229, 55, "shared");
    return _http._HttpServer.bind(address, port, backlog, v6Only, shared);
  }
  static bindSecure(address, port, context, opts) {
    if (port == null) dart.nullFailed(I[176], 273, 24, "port");
    if (context == null) dart.nullFailed(I[176], 273, 46, "context");
    let backlog = opts && 'backlog' in opts ? opts.backlog : 0;
    if (backlog == null) dart.nullFailed(I[176], 274, 16, "backlog");
    let v6Only = opts && 'v6Only' in opts ? opts.v6Only : false;
    if (v6Only == null) dart.nullFailed(I[176], 275, 16, "v6Only");
    let requestClientCertificate = opts && 'requestClientCertificate' in opts ? opts.requestClientCertificate : false;
    if (requestClientCertificate == null) dart.nullFailed(I[176], 276, 16, "requestClientCertificate");
    let shared = opts && 'shared' in opts ? opts.shared : false;
    if (shared == null) dart.nullFailed(I[176], 277, 16, "shared");
    return _http._HttpServer.bindSecure(address, port, context, backlog, v6Only, requestClientCertificate, shared);
  }
  static listenOn(serverSocket) {
    if (serverSocket == null) dart.nullFailed(I[176], 286, 44, "serverSocket");
    return new _http._HttpServer.listenOn(serverSocket);
  }
};
(_http.HttpServer[dart.mixinNew] = function() {
  this[serverHeader] = null;
  this[autoCompress] = false;
  this[idleTimeout] = C[449] || CT.C449;
}).prototype = _http.HttpServer.prototype;
_http.HttpServer.prototype[dart.isStream] = true;
dart.addTypeTests(_http.HttpServer);
dart.addTypeCaches(_http.HttpServer);
_http.HttpServer[dart.implements] = () => [async.Stream$(_http.HttpRequest)];
dart.setLibraryUri(_http.HttpServer, I[177]);
dart.setFieldSignature(_http.HttpServer, () => ({
  __proto__: dart.getFields(_http.HttpServer.__proto__),
  serverHeader: dart.fieldType(dart.nullable(core.String)),
  autoCompress: dart.fieldType(core.bool),
  idleTimeout: dart.fieldType(dart.nullable(core.Duration))
}));
var total = dart.privateName(_http, "HttpConnectionsInfo.total");
var active = dart.privateName(_http, "HttpConnectionsInfo.active");
var idle = dart.privateName(_http, "HttpConnectionsInfo.idle");
var closing = dart.privateName(_http, "HttpConnectionsInfo.closing");
_http.HttpConnectionsInfo = class HttpConnectionsInfo extends core.Object {
  get total() {
    return this[total];
  }
  set total(value) {
    this[total] = value;
  }
  get active() {
    return this[active];
  }
  set active(value) {
    this[active] = value;
  }
  get idle() {
    return this[idle];
  }
  set idle(value) {
    this[idle] = value;
  }
  get closing() {
    return this[closing];
  }
  set closing(value) {
    this[closing] = value;
  }
};
(_http.HttpConnectionsInfo.new = function() {
  this[total] = 0;
  this[active] = 0;
  this[idle] = 0;
  this[closing] = 0;
  ;
}).prototype = _http.HttpConnectionsInfo.prototype;
dart.addTypeTests(_http.HttpConnectionsInfo);
dart.addTypeCaches(_http.HttpConnectionsInfo);
dart.setLibraryUri(_http.HttpConnectionsInfo, I[177]);
dart.setFieldSignature(_http.HttpConnectionsInfo, () => ({
  __proto__: dart.getFields(_http.HttpConnectionsInfo.__proto__),
  total: dart.fieldType(core.int),
  active: dart.fieldType(core.int),
  idle: dart.fieldType(core.int),
  closing: dart.fieldType(core.int)
}));
var date = dart.privateName(_http, "HttpHeaders.date");
var expires = dart.privateName(_http, "HttpHeaders.expires");
var ifModifiedSince = dart.privateName(_http, "HttpHeaders.ifModifiedSince");
var host = dart.privateName(_http, "HttpHeaders.host");
var port = dart.privateName(_http, "HttpHeaders.port");
var contentType = dart.privateName(_http, "HttpHeaders.contentType");
var contentLength = dart.privateName(_http, "HttpHeaders.contentLength");
var __HttpHeaders_persistentConnection = dart.privateName(_http, "_#HttpHeaders#persistentConnection");
var __HttpHeaders_persistentConnection_isSet = dart.privateName(_http, "_#HttpHeaders#persistentConnection#isSet");
var __HttpHeaders_chunkedTransferEncoding = dart.privateName(_http, "_#HttpHeaders#chunkedTransferEncoding");
var __HttpHeaders_chunkedTransferEncoding_isSet = dart.privateName(_http, "_#HttpHeaders#chunkedTransferEncoding#isSet");
_http.HttpHeaders = class HttpHeaders extends core.Object {
  get date() {
    return this[date];
  }
  set date(value) {
    this[date] = value;
  }
  get expires() {
    return this[expires];
  }
  set expires(value) {
    this[expires] = value;
  }
  get ifModifiedSince() {
    return this[ifModifiedSince];
  }
  set ifModifiedSince(value) {
    this[ifModifiedSince] = value;
  }
  get host() {
    return this[host];
  }
  set host(value) {
    this[host] = value;
  }
  get port() {
    return this[port];
  }
  set port(value) {
    this[port] = value;
  }
  get contentType() {
    return this[contentType];
  }
  set contentType(value) {
    this[contentType] = value;
  }
  get contentLength() {
    return this[contentLength];
  }
  set contentLength(value) {
    this[contentLength] = value;
  }
  get persistentConnection() {
    let t258;
    return dart.test(this[__HttpHeaders_persistentConnection_isSet]) ? (t258 = this[__HttpHeaders_persistentConnection], t258) : dart.throw(new _internal.LateError.fieldNI("persistentConnection"));
  }
  set persistentConnection(t258) {
    if (t258 == null) dart.nullFailed(I[176], 653, 13, "null");
    this[__HttpHeaders_persistentConnection_isSet] = true;
    this[__HttpHeaders_persistentConnection] = t258;
  }
  get chunkedTransferEncoding() {
    let t259;
    return dart.test(this[__HttpHeaders_chunkedTransferEncoding_isSet]) ? (t259 = this[__HttpHeaders_chunkedTransferEncoding], t259) : dart.throw(new _internal.LateError.fieldNI("chunkedTransferEncoding"));
  }
  set chunkedTransferEncoding(t259) {
    if (t259 == null) dart.nullFailed(I[176], 660, 13, "null");
    this[__HttpHeaders_chunkedTransferEncoding_isSet] = true;
    this[__HttpHeaders_chunkedTransferEncoding] = t259;
  }
};
(_http.HttpHeaders.new = function() {
  this[date] = null;
  this[expires] = null;
  this[ifModifiedSince] = null;
  this[host] = null;
  this[port] = null;
  this[contentType] = null;
  this[contentLength] = -1;
  this[__HttpHeaders_persistentConnection] = null;
  this[__HttpHeaders_persistentConnection_isSet] = false;
  this[__HttpHeaders_chunkedTransferEncoding] = null;
  this[__HttpHeaders_chunkedTransferEncoding_isSet] = false;
  ;
}).prototype = _http.HttpHeaders.prototype;
dart.addTypeTests(_http.HttpHeaders);
dart.addTypeCaches(_http.HttpHeaders);
dart.setGetterSignature(_http.HttpHeaders, () => ({
  __proto__: dart.getGetters(_http.HttpHeaders.__proto__),
  persistentConnection: core.bool,
  chunkedTransferEncoding: core.bool
}));
dart.setSetterSignature(_http.HttpHeaders, () => ({
  __proto__: dart.getSetters(_http.HttpHeaders.__proto__),
  persistentConnection: core.bool,
  chunkedTransferEncoding: core.bool
}));
dart.setLibraryUri(_http.HttpHeaders, I[177]);
dart.setFieldSignature(_http.HttpHeaders, () => ({
  __proto__: dart.getFields(_http.HttpHeaders.__proto__),
  date: dart.fieldType(dart.nullable(core.DateTime)),
  expires: dart.fieldType(dart.nullable(core.DateTime)),
  ifModifiedSince: dart.fieldType(dart.nullable(core.DateTime)),
  host: dart.fieldType(dart.nullable(core.String)),
  port: dart.fieldType(dart.nullable(core.int)),
  contentType: dart.fieldType(dart.nullable(_http.ContentType)),
  contentLength: dart.fieldType(core.int),
  [__HttpHeaders_persistentConnection]: dart.fieldType(dart.nullable(core.bool)),
  [__HttpHeaders_persistentConnection_isSet]: dart.fieldType(core.bool),
  [__HttpHeaders_chunkedTransferEncoding]: dart.fieldType(dart.nullable(core.bool)),
  [__HttpHeaders_chunkedTransferEncoding_isSet]: dart.fieldType(core.bool)
}));
dart.defineLazy(_http.HttpHeaders, {
  /*_http.HttpHeaders.acceptHeader*/get acceptHeader() {
    return "accept";
  },
  /*_http.HttpHeaders.acceptCharsetHeader*/get acceptCharsetHeader() {
    return "accept-charset";
  },
  /*_http.HttpHeaders.acceptEncodingHeader*/get acceptEncodingHeader() {
    return "accept-encoding";
  },
  /*_http.HttpHeaders.acceptLanguageHeader*/get acceptLanguageHeader() {
    return "accept-language";
  },
  /*_http.HttpHeaders.acceptRangesHeader*/get acceptRangesHeader() {
    return "accept-ranges";
  },
  /*_http.HttpHeaders.ageHeader*/get ageHeader() {
    return "age";
  },
  /*_http.HttpHeaders.allowHeader*/get allowHeader() {
    return "allow";
  },
  /*_http.HttpHeaders.authorizationHeader*/get authorizationHeader() {
    return "authorization";
  },
  /*_http.HttpHeaders.cacheControlHeader*/get cacheControlHeader() {
    return "cache-control";
  },
  /*_http.HttpHeaders.connectionHeader*/get connectionHeader() {
    return "connection";
  },
  /*_http.HttpHeaders.contentEncodingHeader*/get contentEncodingHeader() {
    return "content-encoding";
  },
  /*_http.HttpHeaders.contentLanguageHeader*/get contentLanguageHeader() {
    return "content-language";
  },
  /*_http.HttpHeaders.contentLengthHeader*/get contentLengthHeader() {
    return "content-length";
  },
  /*_http.HttpHeaders.contentLocationHeader*/get contentLocationHeader() {
    return "content-location";
  },
  /*_http.HttpHeaders.contentMD5Header*/get contentMD5Header() {
    return "content-md5";
  },
  /*_http.HttpHeaders.contentRangeHeader*/get contentRangeHeader() {
    return "content-range";
  },
  /*_http.HttpHeaders.contentTypeHeader*/get contentTypeHeader() {
    return "content-type";
  },
  /*_http.HttpHeaders.dateHeader*/get dateHeader() {
    return "date";
  },
  /*_http.HttpHeaders.etagHeader*/get etagHeader() {
    return "etag";
  },
  /*_http.HttpHeaders.expectHeader*/get expectHeader() {
    return "expect";
  },
  /*_http.HttpHeaders.expiresHeader*/get expiresHeader() {
    return "expires";
  },
  /*_http.HttpHeaders.fromHeader*/get fromHeader() {
    return "from";
  },
  /*_http.HttpHeaders.hostHeader*/get hostHeader() {
    return "host";
  },
  /*_http.HttpHeaders.ifMatchHeader*/get ifMatchHeader() {
    return "if-match";
  },
  /*_http.HttpHeaders.ifModifiedSinceHeader*/get ifModifiedSinceHeader() {
    return "if-modified-since";
  },
  /*_http.HttpHeaders.ifNoneMatchHeader*/get ifNoneMatchHeader() {
    return "if-none-match";
  },
  /*_http.HttpHeaders.ifRangeHeader*/get ifRangeHeader() {
    return "if-range";
  },
  /*_http.HttpHeaders.ifUnmodifiedSinceHeader*/get ifUnmodifiedSinceHeader() {
    return "if-unmodified-since";
  },
  /*_http.HttpHeaders.lastModifiedHeader*/get lastModifiedHeader() {
    return "last-modified";
  },
  /*_http.HttpHeaders.locationHeader*/get locationHeader() {
    return "location";
  },
  /*_http.HttpHeaders.maxForwardsHeader*/get maxForwardsHeader() {
    return "max-forwards";
  },
  /*_http.HttpHeaders.pragmaHeader*/get pragmaHeader() {
    return "pragma";
  },
  /*_http.HttpHeaders.proxyAuthenticateHeader*/get proxyAuthenticateHeader() {
    return "proxy-authenticate";
  },
  /*_http.HttpHeaders.proxyAuthorizationHeader*/get proxyAuthorizationHeader() {
    return "proxy-authorization";
  },
  /*_http.HttpHeaders.rangeHeader*/get rangeHeader() {
    return "range";
  },
  /*_http.HttpHeaders.refererHeader*/get refererHeader() {
    return "referer";
  },
  /*_http.HttpHeaders.retryAfterHeader*/get retryAfterHeader() {
    return "retry-after";
  },
  /*_http.HttpHeaders.serverHeader*/get serverHeader() {
    return "server";
  },
  /*_http.HttpHeaders.teHeader*/get teHeader() {
    return "te";
  },
  /*_http.HttpHeaders.trailerHeader*/get trailerHeader() {
    return "trailer";
  },
  /*_http.HttpHeaders.transferEncodingHeader*/get transferEncodingHeader() {
    return "transfer-encoding";
  },
  /*_http.HttpHeaders.upgradeHeader*/get upgradeHeader() {
    return "upgrade";
  },
  /*_http.HttpHeaders.userAgentHeader*/get userAgentHeader() {
    return "user-agent";
  },
  /*_http.HttpHeaders.varyHeader*/get varyHeader() {
    return "vary";
  },
  /*_http.HttpHeaders.viaHeader*/get viaHeader() {
    return "via";
  },
  /*_http.HttpHeaders.warningHeader*/get warningHeader() {
    return "warning";
  },
  /*_http.HttpHeaders.wwwAuthenticateHeader*/get wwwAuthenticateHeader() {
    return "www-authenticate";
  },
  /*_http.HttpHeaders.ACCEPT*/get ACCEPT() {
    return "accept";
  },
  /*_http.HttpHeaders.ACCEPT_CHARSET*/get ACCEPT_CHARSET() {
    return "accept-charset";
  },
  /*_http.HttpHeaders.ACCEPT_ENCODING*/get ACCEPT_ENCODING() {
    return "accept-encoding";
  },
  /*_http.HttpHeaders.ACCEPT_LANGUAGE*/get ACCEPT_LANGUAGE() {
    return "accept-language";
  },
  /*_http.HttpHeaders.ACCEPT_RANGES*/get ACCEPT_RANGES() {
    return "accept-ranges";
  },
  /*_http.HttpHeaders.AGE*/get AGE() {
    return "age";
  },
  /*_http.HttpHeaders.ALLOW*/get ALLOW() {
    return "allow";
  },
  /*_http.HttpHeaders.AUTHORIZATION*/get AUTHORIZATION() {
    return "authorization";
  },
  /*_http.HttpHeaders.CACHE_CONTROL*/get CACHE_CONTROL() {
    return "cache-control";
  },
  /*_http.HttpHeaders.CONNECTION*/get CONNECTION() {
    return "connection";
  },
  /*_http.HttpHeaders.CONTENT_ENCODING*/get CONTENT_ENCODING() {
    return "content-encoding";
  },
  /*_http.HttpHeaders.CONTENT_LANGUAGE*/get CONTENT_LANGUAGE() {
    return "content-language";
  },
  /*_http.HttpHeaders.CONTENT_LENGTH*/get CONTENT_LENGTH() {
    return "content-length";
  },
  /*_http.HttpHeaders.CONTENT_LOCATION*/get CONTENT_LOCATION() {
    return "content-location";
  },
  /*_http.HttpHeaders.CONTENT_MD5*/get CONTENT_MD5() {
    return "content-md5";
  },
  /*_http.HttpHeaders.CONTENT_RANGE*/get CONTENT_RANGE() {
    return "content-range";
  },
  /*_http.HttpHeaders.CONTENT_TYPE*/get CONTENT_TYPE() {
    return "content-type";
  },
  /*_http.HttpHeaders.DATE*/get DATE() {
    return "date";
  },
  /*_http.HttpHeaders.ETAG*/get ETAG() {
    return "etag";
  },
  /*_http.HttpHeaders.EXPECT*/get EXPECT() {
    return "expect";
  },
  /*_http.HttpHeaders.EXPIRES*/get EXPIRES() {
    return "expires";
  },
  /*_http.HttpHeaders.FROM*/get FROM() {
    return "from";
  },
  /*_http.HttpHeaders.HOST*/get HOST() {
    return "host";
  },
  /*_http.HttpHeaders.IF_MATCH*/get IF_MATCH() {
    return "if-match";
  },
  /*_http.HttpHeaders.IF_MODIFIED_SINCE*/get IF_MODIFIED_SINCE() {
    return "if-modified-since";
  },
  /*_http.HttpHeaders.IF_NONE_MATCH*/get IF_NONE_MATCH() {
    return "if-none-match";
  },
  /*_http.HttpHeaders.IF_RANGE*/get IF_RANGE() {
    return "if-range";
  },
  /*_http.HttpHeaders.IF_UNMODIFIED_SINCE*/get IF_UNMODIFIED_SINCE() {
    return "if-unmodified-since";
  },
  /*_http.HttpHeaders.LAST_MODIFIED*/get LAST_MODIFIED() {
    return "last-modified";
  },
  /*_http.HttpHeaders.LOCATION*/get LOCATION() {
    return "location";
  },
  /*_http.HttpHeaders.MAX_FORWARDS*/get MAX_FORWARDS() {
    return "max-forwards";
  },
  /*_http.HttpHeaders.PRAGMA*/get PRAGMA() {
    return "pragma";
  },
  /*_http.HttpHeaders.PROXY_AUTHENTICATE*/get PROXY_AUTHENTICATE() {
    return "proxy-authenticate";
  },
  /*_http.HttpHeaders.PROXY_AUTHORIZATION*/get PROXY_AUTHORIZATION() {
    return "proxy-authorization";
  },
  /*_http.HttpHeaders.RANGE*/get RANGE() {
    return "range";
  },
  /*_http.HttpHeaders.REFERER*/get REFERER() {
    return "referer";
  },
  /*_http.HttpHeaders.RETRY_AFTER*/get RETRY_AFTER() {
    return "retry-after";
  },
  /*_http.HttpHeaders.SERVER*/get SERVER() {
    return "server";
  },
  /*_http.HttpHeaders.TE*/get TE() {
    return "te";
  },
  /*_http.HttpHeaders.TRAILER*/get TRAILER() {
    return "trailer";
  },
  /*_http.HttpHeaders.TRANSFER_ENCODING*/get TRANSFER_ENCODING() {
    return "transfer-encoding";
  },
  /*_http.HttpHeaders.UPGRADE*/get UPGRADE() {
    return "upgrade";
  },
  /*_http.HttpHeaders.USER_AGENT*/get USER_AGENT() {
    return "user-agent";
  },
  /*_http.HttpHeaders.VARY*/get VARY() {
    return "vary";
  },
  /*_http.HttpHeaders.VIA*/get VIA() {
    return "via";
  },
  /*_http.HttpHeaders.WARNING*/get WARNING() {
    return "warning";
  },
  /*_http.HttpHeaders.WWW_AUTHENTICATE*/get WWW_AUTHENTICATE() {
    return "www-authenticate";
  },
  /*_http.HttpHeaders.cookieHeader*/get cookieHeader() {
    return "cookie";
  },
  /*_http.HttpHeaders.setCookieHeader*/get setCookieHeader() {
    return "set-cookie";
  },
  /*_http.HttpHeaders.COOKIE*/get COOKIE() {
    return "cookie";
  },
  /*_http.HttpHeaders.SET_COOKIE*/get SET_COOKIE() {
    return "set-cookie";
  },
  /*_http.HttpHeaders.generalHeaders*/get generalHeaders() {
    return C[450] || CT.C450;
  },
  /*_http.HttpHeaders.GENERAL_HEADERS*/get GENERAL_HEADERS() {
    return C[450] || CT.C450;
  },
  /*_http.HttpHeaders.entityHeaders*/get entityHeaders() {
    return C[451] || CT.C451;
  },
  /*_http.HttpHeaders.ENTITY_HEADERS*/get ENTITY_HEADERS() {
    return C[451] || CT.C451;
  },
  /*_http.HttpHeaders.responseHeaders*/get responseHeaders() {
    return C[452] || CT.C452;
  },
  /*_http.HttpHeaders.RESPONSE_HEADERS*/get RESPONSE_HEADERS() {
    return C[452] || CT.C452;
  },
  /*_http.HttpHeaders.requestHeaders*/get requestHeaders() {
    return C[453] || CT.C453;
  },
  /*_http.HttpHeaders.REQUEST_HEADERS*/get REQUEST_HEADERS() {
    return C[453] || CT.C453;
  }
}, false);
_http.HeaderValue = class HeaderValue extends core.Object {
  static new(value = "", parameters = C[454] || CT.C454) {
    if (value == null) dart.nullFailed(I[176], 806, 15, "value");
    if (parameters == null) dart.nullFailed(I[176], 806, 48, "parameters");
    return new _http._HeaderValue.new(value, parameters);
  }
  static parse(value, opts) {
    if (value == null) dart.nullFailed(I[176], 814, 35, "value");
    let parameterSeparator = opts && 'parameterSeparator' in opts ? opts.parameterSeparator : ";";
    if (parameterSeparator == null) dart.nullFailed(I[176], 815, 15, "parameterSeparator");
    let valueSeparator = opts && 'valueSeparator' in opts ? opts.valueSeparator : null;
    let preserveBackslash = opts && 'preserveBackslash' in opts ? opts.preserveBackslash : false;
    if (preserveBackslash == null) dart.nullFailed(I[176], 817, 12, "preserveBackslash");
    return _http._HeaderValue.parse(value, {parameterSeparator: parameterSeparator, valueSeparator: valueSeparator, preserveBackslash: preserveBackslash});
  }
};
(_http.HeaderValue[dart.mixinNew] = function() {
}).prototype = _http.HeaderValue.prototype;
dart.addTypeTests(_http.HeaderValue);
dart.addTypeCaches(_http.HeaderValue);
dart.setLibraryUri(_http.HeaderValue, I[177]);
_http.HttpSession = class HttpSession extends core.Object {};
(_http.HttpSession.new = function() {
  ;
}).prototype = _http.HttpSession.prototype;
_http.HttpSession.prototype[dart.isMap] = true;
dart.addTypeTests(_http.HttpSession);
dart.addTypeCaches(_http.HttpSession);
_http.HttpSession[dart.implements] = () => [core.Map];
dart.setLibraryUri(_http.HttpSession, I[177]);
_http.ContentType = class ContentType extends core.Object {
  static new(primaryType, subType, opts) {
    if (primaryType == null) dart.nullFailed(I[176], 924, 30, "primaryType");
    if (subType == null) dart.nullFailed(I[176], 924, 50, "subType");
    let charset = opts && 'charset' in opts ? opts.charset : null;
    let parameters = opts && 'parameters' in opts ? opts.parameters : C[454] || CT.C454;
    if (parameters == null) dart.nullFailed(I[176], 925, 46, "parameters");
    return new _http._ContentType.new(primaryType, subType, charset, parameters);
  }
  static parse(value) {
    if (value == null) dart.nullFailed(I[176], 942, 35, "value");
    return _http._ContentType.parse(value);
  }
};
(_http.ContentType[dart.mixinNew] = function() {
}).prototype = _http.ContentType.prototype;
dart.addTypeTests(_http.ContentType);
dart.addTypeCaches(_http.ContentType);
_http.ContentType[dart.implements] = () => [_http.HeaderValue];
dart.setLibraryUri(_http.ContentType, I[177]);
dart.defineLazy(_http.ContentType, {
  /*_http.ContentType.text*/get text() {
    return _http.ContentType.new("text", "plain", {charset: "utf-8"});
  },
  /*_http.ContentType.TEXT*/get TEXT() {
    return _http.ContentType.text;
  },
  /*_http.ContentType.html*/get html() {
    return _http.ContentType.new("text", "html", {charset: "utf-8"});
  },
  /*_http.ContentType.HTML*/get HTML() {
    return _http.ContentType.html;
  },
  /*_http.ContentType.json*/get json() {
    return _http.ContentType.new("application", "json", {charset: "utf-8"});
  },
  /*_http.ContentType.JSON*/get JSON() {
    return _http.ContentType.json;
  },
  /*_http.ContentType.binary*/get binary() {
    return _http.ContentType.new("application", "octet-stream");
  },
  /*_http.ContentType.BINARY*/get BINARY() {
    return _http.ContentType.binary;
  }
}, false);
var expires$ = dart.privateName(_http, "Cookie.expires");
var maxAge = dart.privateName(_http, "Cookie.maxAge");
var domain = dart.privateName(_http, "Cookie.domain");
var path = dart.privateName(_http, "Cookie.path");
var secure = dart.privateName(_http, "Cookie.secure");
var httpOnly = dart.privateName(_http, "Cookie.httpOnly");
var __Cookie_name = dart.privateName(_http, "_#Cookie#name");
var __Cookie_name_isSet = dart.privateName(_http, "_#Cookie#name#isSet");
var __Cookie_value = dart.privateName(_http, "_#Cookie#value");
var __Cookie_value_isSet = dart.privateName(_http, "_#Cookie#value#isSet");
_http.Cookie = class Cookie extends core.Object {
  get expires() {
    return this[expires$];
  }
  set expires(value) {
    this[expires$] = value;
  }
  get maxAge() {
    return this[maxAge];
  }
  set maxAge(value) {
    this[maxAge] = value;
  }
  get domain() {
    return this[domain];
  }
  set domain(value) {
    this[domain] = value;
  }
  get path() {
    return this[path];
  }
  set path(value) {
    this[path] = value;
  }
  get secure() {
    return this[secure];
  }
  set secure(value) {
    this[secure] = value;
  }
  get httpOnly() {
    return this[httpOnly];
  }
  set httpOnly(value) {
    this[httpOnly] = value;
  }
  get name() {
    let t260;
    return dart.test(this[__Cookie_name_isSet]) ? (t260 = this[__Cookie_name], t260) : dart.throw(new _internal.LateError.fieldNI("name"));
  }
  set name(t260) {
    if (t260 == null) dart.nullFailed(I[176], 997, 15, "null");
    this[__Cookie_name_isSet] = true;
    this[__Cookie_name] = t260;
  }
  get value() {
    let t261;
    return dart.test(this[__Cookie_value_isSet]) ? (t261 = this[__Cookie_value], t261) : dart.throw(new _internal.LateError.fieldNI("value"));
  }
  set value(t261) {
    if (t261 == null) dart.nullFailed(I[176], 1010, 15, "null");
    this[__Cookie_value_isSet] = true;
    this[__Cookie_value] = t261;
  }
  static new(name, value) {
    if (name == null) dart.nullFailed(I[176], 1052, 25, "name");
    if (value == null) dart.nullFailed(I[176], 1052, 38, "value");
    return new _http._Cookie.new(name, value);
  }
  static fromSetCookieValue(value) {
    if (value == null) dart.nullFailed(I[176], 1058, 44, "value");
    return new _http._Cookie.fromSetCookieValue(value);
  }
};
(_http.Cookie[dart.mixinNew] = function() {
  this[__Cookie_name] = null;
  this[__Cookie_name_isSet] = false;
  this[__Cookie_value] = null;
  this[__Cookie_value_isSet] = false;
  this[expires$] = null;
  this[maxAge] = null;
  this[domain] = null;
  this[path] = null;
  this[secure] = false;
  this[httpOnly] = false;
}).prototype = _http.Cookie.prototype;
dart.addTypeTests(_http.Cookie);
dart.addTypeCaches(_http.Cookie);
dart.setGetterSignature(_http.Cookie, () => ({
  __proto__: dart.getGetters(_http.Cookie.__proto__),
  name: core.String,
  value: core.String
}));
dart.setSetterSignature(_http.Cookie, () => ({
  __proto__: dart.getSetters(_http.Cookie.__proto__),
  name: core.String,
  value: core.String
}));
dart.setLibraryUri(_http.Cookie, I[177]);
dart.setFieldSignature(_http.Cookie, () => ({
  __proto__: dart.getFields(_http.Cookie.__proto__),
  [__Cookie_name]: dart.fieldType(dart.nullable(core.String)),
  [__Cookie_name_isSet]: dart.fieldType(core.bool),
  [__Cookie_value]: dart.fieldType(dart.nullable(core.String)),
  [__Cookie_value_isSet]: dart.fieldType(core.bool),
  expires: dart.fieldType(dart.nullable(core.DateTime)),
  maxAge: dart.fieldType(dart.nullable(core.int)),
  domain: dart.fieldType(dart.nullable(core.String)),
  path: dart.fieldType(dart.nullable(core.String)),
  secure: dart.fieldType(core.bool),
  httpOnly: dart.fieldType(core.bool)
}));
_http.HttpRequest = class HttpRequest extends core.Object {};
(_http.HttpRequest.new = function() {
  ;
}).prototype = _http.HttpRequest.prototype;
_http.HttpRequest.prototype[dart.isStream] = true;
dart.addTypeTests(_http.HttpRequest);
dart.addTypeCaches(_http.HttpRequest);
_http.HttpRequest[dart.implements] = () => [async.Stream$(typed_data.Uint8List)];
dart.setLibraryUri(_http.HttpRequest, I[177]);
var contentLength$ = dart.privateName(_http, "HttpResponse.contentLength");
var statusCode = dart.privateName(_http, "HttpResponse.statusCode");
var deadline = dart.privateName(_http, "HttpResponse.deadline");
var bufferOutput = dart.privateName(_http, "HttpResponse.bufferOutput");
var __HttpResponse_reasonPhrase = dart.privateName(_http, "_#HttpResponse#reasonPhrase");
var __HttpResponse_reasonPhrase_isSet = dart.privateName(_http, "_#HttpResponse#reasonPhrase#isSet");
var __HttpResponse_persistentConnection = dart.privateName(_http, "_#HttpResponse#persistentConnection");
var __HttpResponse_persistentConnection_isSet = dart.privateName(_http, "_#HttpResponse#persistentConnection#isSet");
_http.HttpResponse = class HttpResponse extends core.Object {
  get contentLength() {
    return this[contentLength$];
  }
  set contentLength(value) {
    this[contentLength$] = value;
  }
  get statusCode() {
    return this[statusCode];
  }
  set statusCode(value) {
    this[statusCode] = value;
  }
  get deadline() {
    return this[deadline];
  }
  set deadline(value) {
    this[deadline] = value;
  }
  get bufferOutput() {
    return this[bufferOutput];
  }
  set bufferOutput(value) {
    this[bufferOutput] = value;
  }
  get reasonPhrase() {
    let t262;
    return dart.test(this[__HttpResponse_reasonPhrase_isSet]) ? (t262 = this[__HttpResponse_reasonPhrase], t262) : dart.throw(new _internal.LateError.fieldNI("reasonPhrase"));
  }
  set reasonPhrase(t262) {
    if (t262 == null) dart.nullFailed(I[176], 1296, 15, "null");
    this[__HttpResponse_reasonPhrase_isSet] = true;
    this[__HttpResponse_reasonPhrase] = t262;
  }
  get persistentConnection() {
    let t263;
    return dart.test(this[__HttpResponse_persistentConnection_isSet]) ? (t263 = this[__HttpResponse_persistentConnection], t263) : dart.throw(new _internal.LateError.fieldNI("persistentConnection"));
  }
  set persistentConnection(t263) {
    if (t263 == null) dart.nullFailed(I[176], 1303, 13, "null");
    this[__HttpResponse_persistentConnection_isSet] = true;
    this[__HttpResponse_persistentConnection] = t263;
  }
};
(_http.HttpResponse.new = function() {
  this[contentLength$] = -1;
  this[statusCode] = 200;
  this[__HttpResponse_reasonPhrase] = null;
  this[__HttpResponse_reasonPhrase_isSet] = false;
  this[__HttpResponse_persistentConnection] = null;
  this[__HttpResponse_persistentConnection_isSet] = false;
  this[deadline] = null;
  this[bufferOutput] = true;
  ;
}).prototype = _http.HttpResponse.prototype;
dart.addTypeTests(_http.HttpResponse);
dart.addTypeCaches(_http.HttpResponse);
_http.HttpResponse[dart.implements] = () => [io.IOSink];
dart.setGetterSignature(_http.HttpResponse, () => ({
  __proto__: dart.getGetters(_http.HttpResponse.__proto__),
  reasonPhrase: core.String,
  persistentConnection: core.bool
}));
dart.setSetterSignature(_http.HttpResponse, () => ({
  __proto__: dart.getSetters(_http.HttpResponse.__proto__),
  reasonPhrase: core.String,
  persistentConnection: core.bool
}));
dart.setLibraryUri(_http.HttpResponse, I[177]);
dart.setFieldSignature(_http.HttpResponse, () => ({
  __proto__: dart.getFields(_http.HttpResponse.__proto__),
  contentLength: dart.fieldType(core.int),
  statusCode: dart.fieldType(core.int),
  [__HttpResponse_reasonPhrase]: dart.fieldType(dart.nullable(core.String)),
  [__HttpResponse_reasonPhrase_isSet]: dart.fieldType(core.bool),
  [__HttpResponse_persistentConnection]: dart.fieldType(dart.nullable(core.bool)),
  [__HttpResponse_persistentConnection_isSet]: dart.fieldType(core.bool),
  deadline: dart.fieldType(dart.nullable(core.Duration)),
  bufferOutput: dart.fieldType(core.bool)
}));
var idleTimeout$ = dart.privateName(_http, "HttpClient.idleTimeout");
var connectionTimeout = dart.privateName(_http, "HttpClient.connectionTimeout");
var maxConnectionsPerHost = dart.privateName(_http, "HttpClient.maxConnectionsPerHost");
var autoUncompress = dart.privateName(_http, "HttpClient.autoUncompress");
var userAgent = dart.privateName(_http, "HttpClient.userAgent");
_http.HttpClient = class HttpClient extends core.Object {
  get idleTimeout() {
    return this[idleTimeout$];
  }
  set idleTimeout(value) {
    this[idleTimeout$] = value;
  }
  get connectionTimeout() {
    return this[connectionTimeout];
  }
  set connectionTimeout(value) {
    this[connectionTimeout] = value;
  }
  get maxConnectionsPerHost() {
    return this[maxConnectionsPerHost];
  }
  set maxConnectionsPerHost(value) {
    this[maxConnectionsPerHost] = value;
  }
  get autoUncompress() {
    return this[autoUncompress];
  }
  set autoUncompress(value) {
    this[autoUncompress] = value;
  }
  get userAgent() {
    return this[userAgent];
  }
  set userAgent(value) {
    this[userAgent] = value;
  }
  static set enableTimelineLogging(value) {
    if (value == null) dart.nullFailed(I[176], 1477, 41, "value");
    let enabled = _internal.valueOfNonNullableParamWithDefault(core.bool, value, false);
    if (enabled != _http.HttpClient._enableTimelineLogging) {
      developer.postEvent("HttpTimelineLoggingStateChange", new _js_helper.LinkedMap.from(["isolateId", developer.Service.getIsolateID(isolate$.Isolate.current), "enabled", enabled]));
    }
    _http.HttpClient._enableTimelineLogging = enabled;
  }
  static get enableTimelineLogging() {
    return _http.HttpClient._enableTimelineLogging;
  }
  static new(opts) {
    let context = opts && 'context' in opts ? opts.context : null;
    let overrides = _http.HttpOverrides.current;
    if (overrides == null) {
      return new _http._HttpClient.new(context);
    }
    return overrides.createHttpClient(context);
  }
  static findProxyFromEnvironment(url, opts) {
    if (url == null) dart.nullFailed(I[176], 1833, 46, "url");
    let environment = opts && 'environment' in opts ? opts.environment : null;
    let overrides = _http.HttpOverrides.current;
    if (overrides == null) {
      return _http._HttpClient._findProxyFromEnvironment(url, environment);
    }
    return overrides.findProxyFromEnvironment(url, environment);
  }
};
(_http.HttpClient[dart.mixinNew] = function() {
  this[idleTimeout$] = C[455] || CT.C455;
  this[connectionTimeout] = null;
  this[maxConnectionsPerHost] = null;
  this[autoUncompress] = true;
  this[userAgent] = null;
}).prototype = _http.HttpClient.prototype;
dart.addTypeTests(_http.HttpClient);
dart.addTypeCaches(_http.HttpClient);
dart.setLibraryUri(_http.HttpClient, I[177]);
dart.setFieldSignature(_http.HttpClient, () => ({
  __proto__: dart.getFields(_http.HttpClient.__proto__),
  idleTimeout: dart.fieldType(core.Duration),
  connectionTimeout: dart.fieldType(dart.nullable(core.Duration)),
  maxConnectionsPerHost: dart.fieldType(dart.nullable(core.int)),
  autoUncompress: dart.fieldType(core.bool),
  userAgent: dart.fieldType(dart.nullable(core.String))
}));
dart.defineLazy(_http.HttpClient, {
  /*_http.HttpClient.defaultHttpPort*/get defaultHttpPort() {
    return 80;
  },
  /*_http.HttpClient.DEFAULT_HTTP_PORT*/get DEFAULT_HTTP_PORT() {
    return 80;
  },
  /*_http.HttpClient.defaultHttpsPort*/get defaultHttpsPort() {
    return 443;
  },
  /*_http.HttpClient.DEFAULT_HTTPS_PORT*/get DEFAULT_HTTPS_PORT() {
    return 443;
  },
  /*_http.HttpClient._enableTimelineLogging*/get _enableTimelineLogging() {
    return false;
  },
  set _enableTimelineLogging(_) {}
}, false);
var persistentConnection = dart.privateName(_http, "HttpClientRequest.persistentConnection");
var followRedirects = dart.privateName(_http, "HttpClientRequest.followRedirects");
var maxRedirects = dart.privateName(_http, "HttpClientRequest.maxRedirects");
var contentLength$0 = dart.privateName(_http, "HttpClientRequest.contentLength");
var bufferOutput$ = dart.privateName(_http, "HttpClientRequest.bufferOutput");
_http.HttpClientRequest = class HttpClientRequest extends core.Object {
  get persistentConnection() {
    return this[persistentConnection];
  }
  set persistentConnection(value) {
    this[persistentConnection] = value;
  }
  get followRedirects() {
    return this[followRedirects];
  }
  set followRedirects(value) {
    this[followRedirects] = value;
  }
  get maxRedirects() {
    return this[maxRedirects];
  }
  set maxRedirects(value) {
    this[maxRedirects] = value;
  }
  get contentLength() {
    return this[contentLength$0];
  }
  set contentLength(value) {
    this[contentLength$0] = value;
  }
  get bufferOutput() {
    return this[bufferOutput$];
  }
  set bufferOutput(value) {
    this[bufferOutput$] = value;
  }
};
(_http.HttpClientRequest.new = function() {
  this[persistentConnection] = true;
  this[followRedirects] = true;
  this[maxRedirects] = 5;
  this[contentLength$0] = -1;
  this[bufferOutput$] = true;
  ;
}).prototype = _http.HttpClientRequest.prototype;
dart.addTypeTests(_http.HttpClientRequest);
dart.addTypeCaches(_http.HttpClientRequest);
_http.HttpClientRequest[dart.implements] = () => [io.IOSink];
dart.setLibraryUri(_http.HttpClientRequest, I[177]);
dart.setFieldSignature(_http.HttpClientRequest, () => ({
  __proto__: dart.getFields(_http.HttpClientRequest.__proto__),
  persistentConnection: dart.fieldType(core.bool),
  followRedirects: dart.fieldType(core.bool),
  maxRedirects: dart.fieldType(core.int),
  contentLength: dart.fieldType(core.int),
  bufferOutput: dart.fieldType(core.bool)
}));
_http.HttpClientResponse = class HttpClientResponse extends core.Object {};
(_http.HttpClientResponse.new = function() {
  ;
}).prototype = _http.HttpClientResponse.prototype;
_http.HttpClientResponse.prototype[dart.isStream] = true;
dart.addTypeTests(_http.HttpClientResponse);
dart.addTypeCaches(_http.HttpClientResponse);
_http.HttpClientResponse[dart.implements] = () => [async.Stream$(core.List$(core.int))];
dart.setLibraryUri(_http.HttpClientResponse, I[177]);
var _name$7 = dart.privateName(_http, "_name");
_http.HttpClientResponseCompressionState = class HttpClientResponseCompressionState extends core.Object {
  toString() {
    return this[_name$7];
  }
};
(_http.HttpClientResponseCompressionState.new = function(index, _name) {
  if (index == null) dart.nullFailed(I[176], 2204, 6, "index");
  if (_name == null) dart.nullFailed(I[176], 2204, 6, "_name");
  this.index = index;
  this[_name$7] = _name;
  ;
}).prototype = _http.HttpClientResponseCompressionState.prototype;
dart.addTypeTests(_http.HttpClientResponseCompressionState);
dart.addTypeCaches(_http.HttpClientResponseCompressionState);
_http.HttpClientResponseCompressionState[dart.implements] = () => [core.Enum];
dart.setLibraryUri(_http.HttpClientResponseCompressionState, I[177]);
dart.setFieldSignature(_http.HttpClientResponseCompressionState, () => ({
  __proto__: dart.getFields(_http.HttpClientResponseCompressionState.__proto__),
  index: dart.finalFieldType(core.int),
  [_name$7]: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_http.HttpClientResponseCompressionState, ['toString']);
_http.HttpClientResponseCompressionState.notCompressed = C[456] || CT.C456;
_http.HttpClientResponseCompressionState.decompressed = C[457] || CT.C457;
_http.HttpClientResponseCompressionState.compressed = C[458] || CT.C458;
_http.HttpClientResponseCompressionState.values = C[459] || CT.C459;
_http.HttpClientCredentials = class HttpClientCredentials extends core.Object {};
(_http.HttpClientCredentials.new = function() {
  ;
}).prototype = _http.HttpClientCredentials.prototype;
dart.addTypeTests(_http.HttpClientCredentials);
dart.addTypeCaches(_http.HttpClientCredentials);
dart.setLibraryUri(_http.HttpClientCredentials, I[177]);
_http.HttpClientBasicCredentials = class HttpClientBasicCredentials extends _http.HttpClientCredentials {
  static new(username, password) {
    if (username == null) dart.nullFailed(I[176], 2242, 45, "username");
    if (password == null) dart.nullFailed(I[176], 2242, 62, "password");
    return new _http._HttpClientBasicCredentials.new(username, password);
  }
};
dart.addTypeTests(_http.HttpClientBasicCredentials);
dart.addTypeCaches(_http.HttpClientBasicCredentials);
dart.setLibraryUri(_http.HttpClientBasicCredentials, I[177]);
_http.HttpClientDigestCredentials = class HttpClientDigestCredentials extends _http.HttpClientCredentials {
  static new(username, password) {
    if (username == null) dart.nullFailed(I[176], 2253, 46, "username");
    if (password == null) dart.nullFailed(I[176], 2253, 63, "password");
    return new _http._HttpClientDigestCredentials.new(username, password);
  }
};
dart.addTypeTests(_http.HttpClientDigestCredentials);
dart.addTypeCaches(_http.HttpClientDigestCredentials);
dart.setLibraryUri(_http.HttpClientDigestCredentials, I[177]);
_http.HttpConnectionInfo = class HttpConnectionInfo extends core.Object {};
(_http.HttpConnectionInfo.new = function() {
  ;
}).prototype = _http.HttpConnectionInfo.prototype;
dart.addTypeTests(_http.HttpConnectionInfo);
dart.addTypeCaches(_http.HttpConnectionInfo);
dart.setLibraryUri(_http.HttpConnectionInfo, I[177]);
_http.RedirectInfo = class RedirectInfo extends core.Object {};
(_http.RedirectInfo.new = function() {
  ;
}).prototype = _http.RedirectInfo.prototype;
dart.addTypeTests(_http.RedirectInfo);
dart.addTypeCaches(_http.RedirectInfo);
dart.setLibraryUri(_http.RedirectInfo, I[177]);
_http.DetachedSocket = class DetachedSocket extends core.Object {};
(_http.DetachedSocket.new = function() {
  ;
}).prototype = _http.DetachedSocket.prototype;
dart.addTypeTests(_http.DetachedSocket);
dart.addTypeCaches(_http.DetachedSocket);
dart.setLibraryUri(_http.DetachedSocket, I[177]);
var message$17 = dart.privateName(_http, "HttpException.message");
var uri$0 = dart.privateName(_http, "HttpException.uri");
_http.HttpException = class HttpException extends core.Object {
  get message() {
    return this[message$17];
  }
  set message(value) {
    super.message = value;
  }
  get uri() {
    return this[uri$0];
  }
  set uri(value) {
    super.uri = value;
  }
  toString() {
    let t264;
    let b = (t264 = new core.StringBuffer.new(), (() => {
      t264.write("HttpException: ");
      t264.write(this.message);
      return t264;
    })());
    let uri = this.uri;
    if (uri != null) {
      b.write(", uri = " + dart.str(uri));
    }
    return dart.toString(b);
  }
};
(_http.HttpException.new = function(message, opts) {
  if (message == null) dart.nullFailed(I[176], 2303, 28, "message");
  let uri = opts && 'uri' in opts ? opts.uri : null;
  this[message$17] = message;
  this[uri$0] = uri;
  ;
}).prototype = _http.HttpException.prototype;
dart.addTypeTests(_http.HttpException);
dart.addTypeCaches(_http.HttpException);
_http.HttpException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(_http.HttpException, I[177]);
dart.setFieldSignature(_http.HttpException, () => ({
  __proto__: dart.getFields(_http.HttpException.__proto__),
  message: dart.finalFieldType(core.String),
  uri: dart.finalFieldType(dart.nullable(core.Uri))
}));
dart.defineExtensionMethods(_http.HttpException, ['toString']);
var message$18 = dart.privateName(_http, "RedirectException.message");
var redirects$ = dart.privateName(_http, "RedirectException.redirects");
_http.RedirectException = class RedirectException extends core.Object {
  get message() {
    return this[message$18];
  }
  set message(value) {
    super.message = value;
  }
  get redirects() {
    return this[redirects$];
  }
  set redirects(value) {
    super.redirects = value;
  }
  toString() {
    return "RedirectException: " + dart.str(this.message);
  }
  get uri() {
    return this.redirects[$last].location;
  }
};
(_http.RedirectException.new = function(message, redirects) {
  if (message == null) dart.nullFailed(I[176], 2319, 32, "message");
  if (redirects == null) dart.nullFailed(I[176], 2319, 46, "redirects");
  this[message$18] = message;
  this[redirects$] = redirects;
  ;
}).prototype = _http.RedirectException.prototype;
dart.addTypeTests(_http.RedirectException);
dart.addTypeCaches(_http.RedirectException);
_http.RedirectException[dart.implements] = () => [_http.HttpException];
dart.setGetterSignature(_http.RedirectException, () => ({
  __proto__: dart.getGetters(_http.RedirectException.__proto__),
  uri: core.Uri
}));
dart.setLibraryUri(_http.RedirectException, I[177]);
dart.setFieldSignature(_http.RedirectException, () => ({
  __proto__: dart.getFields(_http.RedirectException.__proto__),
  message: dart.finalFieldType(core.String),
  redirects: dart.finalFieldType(core.List$(_http.RedirectInfo))
}));
dart.defineExtensionMethods(_http.RedirectException, ['toString']);
_http._CryptoUtils = class _CryptoUtils extends core.Object {
  static getRandomBytes(count) {
    if (count == null) dart.nullFailed(I[178], 45, 39, "count");
    let result = _native_typed_data.NativeUint8List.new(count);
    for (let i = 0; i < dart.notNull(count); i = i + 1) {
      result[$_set](i, _http._CryptoUtils._rng.nextInt(255));
    }
    return result;
  }
  static bytesToHex(bytes) {
    if (bytes == null) dart.nullFailed(I[178], 53, 38, "bytes");
    let result = new core.StringBuffer.new();
    for (let part of bytes) {
      result.write((dart.notNull(part) < 16 ? "0" : "") + part[$toRadixString](16));
    }
    return result.toString();
  }
  static bytesToBase64(bytes, urlSafe = false, addLineSeparator = false) {
    let t264, t264$, t264$0, t264$1, t264$2, t264$3, t264$4, t264$5, t264$6, t264$7, t264$8, t264$9, t264$10, t264$11, t264$12, t264$13, t264$14;
    if (bytes == null) dart.nullFailed(I[178], 61, 41, "bytes");
    if (urlSafe == null) dart.nullFailed(I[178], 62, 13, "urlSafe");
    if (addLineSeparator == null) dart.nullFailed(I[178], 62, 35, "addLineSeparator");
    let len = bytes[$length];
    if (len === 0) {
      return "";
    }
    let lookup = dart.test(urlSafe) ? _http._CryptoUtils._encodeTableUrlSafe : _http._CryptoUtils._encodeTable;
    let remainderLength = len[$remainder](3);
    let chunkLength = dart.notNull(len) - remainderLength;
    let outputLen = (dart.notNull(len) / 3)[$truncate]() * 4 + (remainderLength > 0 ? 4 : 0);
    if (dart.test(addLineSeparator)) {
      outputLen = outputLen + (((outputLen - 1) / 76)[$truncate]() << 1 >>> 0);
    }
    let out = T$0.ListOfint().filled(outputLen, 0);
    let j = 0;
    let i = 0;
    let c = 0;
    while (i < chunkLength) {
      let x = (dart.notNull(bytes[$_get]((t264 = i, i = t264 + 1, t264))) << 16 & 16777215 | dart.notNull(bytes[$_get]((t264$ = i, i = t264$ + 1, t264$))) << 8 & 16777215 | dart.notNull(bytes[$_get]((t264$0 = i, i = t264$0 + 1, t264$0)))) >>> 0;
      out[$_set]((t264$1 = j, j = t264$1 + 1, t264$1), lookup[$codeUnitAt](x[$rightShift](18)));
      out[$_set]((t264$2 = j, j = t264$2 + 1, t264$2), lookup[$codeUnitAt](x >> 12 & 63));
      out[$_set]((t264$3 = j, j = t264$3 + 1, t264$3), lookup[$codeUnitAt](x >> 6 & 63));
      out[$_set]((t264$4 = j, j = t264$4 + 1, t264$4), lookup[$codeUnitAt](x & 63));
      if (dart.test(addLineSeparator) && (c = c + 1) === 19 && j < outputLen - 2) {
        out[$_set]((t264$5 = j, j = t264$5 + 1, t264$5), 13);
        out[$_set]((t264$6 = j, j = t264$6 + 1, t264$6), 10);
        c = 0;
      }
    }
    if (remainderLength === 1) {
      let x = bytes[$_get](i);
      out[$_set]((t264$7 = j, j = t264$7 + 1, t264$7), lookup[$codeUnitAt](x[$rightShift](2)));
      out[$_set]((t264$8 = j, j = t264$8 + 1, t264$8), lookup[$codeUnitAt](dart.notNull(x) << 4 & 63));
      out[$_set]((t264$9 = j, j = t264$9 + 1, t264$9), 61);
      out[$_set]((t264$10 = j, j = t264$10 + 1, t264$10), 61);
    } else if (remainderLength === 2) {
      let x = bytes[$_get](i);
      let y = bytes[$_get](i + 1);
      out[$_set]((t264$11 = j, j = t264$11 + 1, t264$11), lookup[$codeUnitAt](x[$rightShift](2)));
      out[$_set]((t264$12 = j, j = t264$12 + 1, t264$12), lookup[$codeUnitAt]((dart.notNull(x) << 4 | y[$rightShift](4)) & 63));
      out[$_set]((t264$13 = j, j = t264$13 + 1, t264$13), lookup[$codeUnitAt](dart.notNull(y) << 2 & 63));
      out[$_set]((t264$14 = j, j = t264$14 + 1, t264$14), 61);
    }
    return core.String.fromCharCodes(out);
  }
  static base64StringToBytes(input, ignoreInvalidCharacters = true) {
    let t264, t264$, t264$0, t264$1;
    if (input == null) dart.nullFailed(I[178], 117, 47, "input");
    if (ignoreInvalidCharacters == null) dart.nullFailed(I[178], 118, 13, "ignoreInvalidCharacters");
    let len = input.length;
    if (len === 0) {
      return T$0.ListOfint().empty();
    }
    let extrasLen = 0;
    for (let i = 0; i < len; i = i + 1) {
      let c = _http._CryptoUtils._decodeTable[$_get](input[$codeUnitAt](i));
      if (dart.notNull(c) < 0) {
        extrasLen = extrasLen + 1;
        if (c === -2 && !dart.test(ignoreInvalidCharacters)) {
          dart.throw(new core.FormatException.new("Invalid character: " + input[$_get](i)));
        }
      }
    }
    if ((len - extrasLen)[$modulo](4) !== 0) {
      dart.throw(new core.FormatException.new("Size of Base 64 characters in Input\n          must be a multiple of 4. Input: " + dart.str(input)));
    }
    let padLength = 0;
    for (let i = len - 1; i >= 0; i = i - 1) {
      let currentCodeUnit = input[$codeUnitAt](i);
      if (dart.notNull(_http._CryptoUtils._decodeTable[$_get](currentCodeUnit)) > 0) break;
      if (currentCodeUnit === 61) padLength = padLength + 1;
    }
    let outputLen = ((len - extrasLen) * 6)[$rightShift](3) - padLength;
    let out = T$0.ListOfint().filled(outputLen, 0);
    for (let i = 0, o = 0; o < outputLen;) {
      let x = 0;
      for (let j = 4; j > 0;) {
        let c = _http._CryptoUtils._decodeTable[$_get](input[$codeUnitAt]((t264 = i, i = t264 + 1, t264)));
        if (dart.notNull(c) >= 0) {
          x = (x << 6 & 16777215 | dart.notNull(c)) >>> 0;
          j = j - 1;
        }
      }
      out[$_set]((t264$ = o, o = t264$ + 1, t264$), x[$rightShift](16));
      if (o < outputLen) {
        out[$_set]((t264$0 = o, o = t264$0 + 1, t264$0), x >> 8 & 255);
        if (o < outputLen) out[$_set]((t264$1 = o, o = t264$1 + 1, t264$1), x & 255);
      }
    }
    return out;
  }
};
(_http._CryptoUtils.new = function() {
  ;
}).prototype = _http._CryptoUtils.prototype;
dart.addTypeTests(_http._CryptoUtils);
dart.addTypeCaches(_http._CryptoUtils);
dart.setLibraryUri(_http._CryptoUtils, I[177]);
dart.defineLazy(_http._CryptoUtils, {
  /*_http._CryptoUtils.PAD*/get PAD() {
    return 61;
  },
  /*_http._CryptoUtils.CR*/get CR() {
    return 13;
  },
  /*_http._CryptoUtils.LF*/get LF() {
    return 10;
  },
  /*_http._CryptoUtils.LINE_LENGTH*/get LINE_LENGTH() {
    return 76;
  },
  /*_http._CryptoUtils._encodeTable*/get _encodeTable() {
    return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  },
  /*_http._CryptoUtils._encodeTableUrlSafe*/get _encodeTableUrlSafe() {
    return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
  },
  /*_http._CryptoUtils._decodeTable*/get _decodeTable() {
    return C[460] || CT.C460;
  },
  /*_http._CryptoUtils._rng*/get _rng() {
    return math.Random.secure();
  },
  set _rng(_) {}
}, false);
var _lengthInBytes = dart.privateName(_http, "_lengthInBytes");
var _digestCalled = dart.privateName(_http, "_digestCalled");
var _chunkSizeInWords$ = dart.privateName(_http, "_chunkSizeInWords");
var _bigEndianWords$ = dart.privateName(_http, "_bigEndianWords");
var _pendingData = dart.privateName(_http, "_pendingData");
var _currentChunk = dart.privateName(_http, "_currentChunk");
var _h = dart.privateName(_http, "_h");
var _iterate = dart.privateName(_http, "_iterate");
var _resultAsBytes = dart.privateName(_http, "_resultAsBytes");
var _finalizeData = dart.privateName(_http, "_finalizeData");
var _add32 = dart.privateName(_http, "_add32");
var _roundUp = dart.privateName(_http, "_roundUp");
var _rotl32 = dart.privateName(_http, "_rotl32");
var _wordToBytes = dart.privateName(_http, "_wordToBytes");
var _bytesToChunk = dart.privateName(_http, "_bytesToChunk");
var _updateHash = dart.privateName(_http, "_updateHash");
_http._HashBase = class _HashBase extends core.Object {
  add(data) {
    if (data == null) dart.nullFailed(I[178], 196, 17, "data");
    if (dart.test(this[_digestCalled])) {
      dart.throw(new core.StateError.new("Hash update method called after digest was retrieved"));
    }
    this[_lengthInBytes] = dart.notNull(this[_lengthInBytes]) + dart.notNull(data[$length]);
    this[_pendingData][$addAll](data);
    this[_iterate]();
  }
  close() {
    if (dart.test(this[_digestCalled])) {
      return this[_resultAsBytes]();
    }
    this[_digestCalled] = true;
    this[_finalizeData]();
    this[_iterate]();
    if (!(this[_pendingData][$length] === 0)) dart.assertFailed(null, I[178], 214, 12, "_pendingData.length == 0");
    return this[_resultAsBytes]();
  }
  get blockSize() {
    return dart.notNull(this[_chunkSizeInWords$]) * 4;
  }
  [_add32](x, y) {
    return dart.dsend(dart.dsend(x, '+', [y]), '&', [4294967295.0]);
  }
  [_roundUp](val, n) {
    return dart.dsend(dart.dsend(dart.dsend(val, '+', [n]), '-', [1]), '&', [dart.dsend(n, '_negate', [])]);
  }
  [_rotl32](val, shift) {
    if (val == null) dart.nullFailed(I[178], 234, 19, "val");
    if (shift == null) dart.nullFailed(I[178], 234, 28, "shift");
    let mod_shift = dart.notNull(shift) & 31;
    return (val[$leftShift](mod_shift) & 4294967295.0 | ((dart.notNull(val) & 4294967295.0) >>> 0)[$rightShift](32 - mod_shift)) >>> 0;
  }
  [_resultAsBytes]() {
    let result = T$.JSArrayOfint().of([]);
    for (let i = 0; i < dart.notNull(this[_h][$length]); i = i + 1) {
      result[$addAll](this[_wordToBytes](this[_h][$_get](i)));
    }
    return result;
  }
  [_bytesToChunk](data, dataIndex) {
    if (data == null) dart.nullFailed(I[178], 250, 27, "data");
    if (dataIndex == null) dart.nullFailed(I[178], 250, 37, "dataIndex");
    if (!(dart.notNull(data[$length]) - dart.notNull(dataIndex) >= dart.notNull(this[_chunkSizeInWords$]) * 4)) dart.assertFailed(null, I[178], 251, 12, "(data.length - dataIndex) >= (_chunkSizeInWords * _BYTES_PER_WORD)");
    for (let wordIndex = 0; wordIndex < dart.notNull(this[_chunkSizeInWords$]); wordIndex = wordIndex + 1) {
      let w3 = dart.test(this[_bigEndianWords$]) ? data[$_get](dataIndex) : data[$_get](dart.notNull(dataIndex) + 3);
      let w2 = dart.test(this[_bigEndianWords$]) ? data[$_get](dart.notNull(dataIndex) + 1) : data[$_get](dart.notNull(dataIndex) + 2);
      let w1 = dart.test(this[_bigEndianWords$]) ? data[$_get](dart.notNull(dataIndex) + 2) : data[$_get](dart.notNull(dataIndex) + 1);
      let w0 = dart.test(this[_bigEndianWords$]) ? data[$_get](dart.notNull(dataIndex) + 3) : data[$_get](dataIndex);
      dataIndex = dart.notNull(dataIndex) + 4;
      let word = (dart.notNull(w3) & 255) << 24 >>> 0;
      word = (word | (dart.notNull(w2) & 255) >>> 0 << 16 >>> 0) >>> 0;
      word = (word | (dart.notNull(w1) & 255) >>> 0 << 8 >>> 0) >>> 0;
      word = (word | (dart.notNull(w0) & 255) >>> 0) >>> 0;
      this[_currentChunk][$_set](wordIndex, word);
    }
  }
  [_wordToBytes](word) {
    if (word == null) dart.nullFailed(I[178], 268, 30, "word");
    let bytes = T$0.ListOfint().filled(4, 0);
    bytes[$_set](0, (word[$rightShift](dart.test(this[_bigEndianWords$]) ? 24 : 0) & 255) >>> 0);
    bytes[$_set](1, (word[$rightShift](dart.test(this[_bigEndianWords$]) ? 16 : 8) & 255) >>> 0);
    bytes[$_set](2, (word[$rightShift](dart.test(this[_bigEndianWords$]) ? 8 : 16) & 255) >>> 0);
    bytes[$_set](3, (word[$rightShift](dart.test(this[_bigEndianWords$]) ? 0 : 24) & 255) >>> 0);
    return bytes;
  }
  [_iterate]() {
    let len = this[_pendingData][$length];
    let chunkSizeInBytes = dart.notNull(this[_chunkSizeInWords$]) * 4;
    if (dart.notNull(len) >= chunkSizeInBytes) {
      let index = 0;
      for (; dart.notNull(len) - index >= chunkSizeInBytes; index = index + chunkSizeInBytes) {
        this[_bytesToChunk](this[_pendingData], index);
        this[_updateHash](this[_currentChunk]);
      }
      this[_pendingData] = this[_pendingData][$sublist](index, len);
    }
  }
  [_finalizeData]() {
    this[_pendingData][$add](128);
    let contentsLength = dart.notNull(this[_lengthInBytes]) + 9;
    let chunkSizeInBytes = dart.notNull(this[_chunkSizeInWords$]) * 4;
    let finalizedLength = this[_roundUp](contentsLength, chunkSizeInBytes);
    let zeroPadding = dart.dsend(finalizedLength, '-', [contentsLength]);
    for (let i = 0; i < dart.notNull(core.num.as(zeroPadding)); i = i + 1) {
      this[_pendingData][$add](0);
    }
    let lengthInBits = dart.notNull(this[_lengthInBytes]) * 8;
    if (!(lengthInBits < math.pow(2, 32))) dart.assertFailed(null, I[178], 304, 12, "lengthInBits < pow(2, 32)");
    if (dart.test(this[_bigEndianWords$])) {
      this[_pendingData][$addAll](this[_wordToBytes](0));
      this[_pendingData][$addAll](this[_wordToBytes]((lengthInBits & 4294967295.0) >>> 0));
    } else {
      this[_pendingData][$addAll](this[_wordToBytes]((lengthInBits & 4294967295.0) >>> 0));
      this[_pendingData][$addAll](this[_wordToBytes](0));
    }
  }
};
(_http._HashBase.new = function(_chunkSizeInWords, digestSizeInWords, _bigEndianWords) {
  if (_chunkSizeInWords == null) dart.nullFailed(I[178], 190, 18, "_chunkSizeInWords");
  if (digestSizeInWords == null) dart.nullFailed(I[178], 190, 41, "digestSizeInWords");
  if (_bigEndianWords == null) dart.nullFailed(I[178], 190, 65, "_bigEndianWords");
  this[_lengthInBytes] = 0;
  this[_digestCalled] = false;
  this[_chunkSizeInWords$] = _chunkSizeInWords;
  this[_bigEndianWords$] = _bigEndianWords;
  this[_pendingData] = T$.JSArrayOfint().of([]);
  this[_currentChunk] = T$0.ListOfint().filled(_chunkSizeInWords, 0);
  this[_h] = T$0.ListOfint().filled(digestSizeInWords, 0);
  ;
}).prototype = _http._HashBase.prototype;
dart.addTypeTests(_http._HashBase);
dart.addTypeCaches(_http._HashBase);
dart.setMethodSignature(_http._HashBase, () => ({
  __proto__: dart.getMethods(_http._HashBase.__proto__),
  add: dart.fnType(dart.dynamic, [core.List$(core.int)]),
  close: dart.fnType(core.List$(core.int), []),
  [_add32]: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic]),
  [_roundUp]: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic]),
  [_rotl32]: dart.fnType(core.int, [core.int, core.int]),
  [_resultAsBytes]: dart.fnType(core.List$(core.int), []),
  [_bytesToChunk]: dart.fnType(dart.dynamic, [core.List$(core.int), core.int]),
  [_wordToBytes]: dart.fnType(core.List$(core.int), [core.int]),
  [_iterate]: dart.fnType(dart.dynamic, []),
  [_finalizeData]: dart.fnType(dart.dynamic, [])
}));
dart.setGetterSignature(_http._HashBase, () => ({
  __proto__: dart.getGetters(_http._HashBase.__proto__),
  blockSize: core.int
}));
dart.setLibraryUri(_http._HashBase, I[177]);
dart.setFieldSignature(_http._HashBase, () => ({
  __proto__: dart.getFields(_http._HashBase.__proto__),
  [_chunkSizeInWords$]: dart.finalFieldType(core.int),
  [_bigEndianWords$]: dart.finalFieldType(core.bool),
  [_lengthInBytes]: dart.fieldType(core.int),
  [_pendingData]: dart.fieldType(core.List$(core.int)),
  [_currentChunk]: dart.fieldType(core.List$(core.int)),
  [_h]: dart.fieldType(core.List$(core.int)),
  [_digestCalled]: dart.fieldType(core.bool)
}));
_http._MD5 = class _MD5 extends _http._HashBase {
  newInstance() {
    return new _http._MD5.new();
  }
  [_updateHash](m) {
    if (m == null) dart.nullFailed(I[178], 352, 30, "m");
    if (!(m[$length] === 16)) dart.assertFailed(null, I[178], 353, 12, "m.length == 16");
    let a = this[_h][$_get](0);
    let b = this[_h][$_get](1);
    let c = this[_h][$_get](2);
    let d = this[_h][$_get](3);
    let t0 = null;
    let t1 = null;
    for (let i = 0; i < 64; i = i + 1) {
      if (i < 16) {
        t0 = (dart.notNull(b) & dart.notNull(c) | (~dart.notNull(b) & 4294967295.0 & dart.notNull(d)) >>> 0) >>> 0;
        t1 = i;
      } else if (i < 32) {
        t0 = (dart.notNull(d) & dart.notNull(b) | (~dart.notNull(d) & 4294967295.0 & dart.notNull(c)) >>> 0) >>> 0;
        t1 = (5 * i + 1)[$modulo](16);
      } else if (i < 48) {
        t0 = (dart.notNull(b) ^ dart.notNull(c) ^ dart.notNull(d)) >>> 0;
        t1 = (3 * i + 5)[$modulo](16);
      } else {
        t0 = (dart.notNull(c) ^ (dart.notNull(b) | (~dart.notNull(d) & 4294967295.0) >>> 0) >>> 0) >>> 0;
        t1 = (7 * i)[$modulo](16);
      }
      let temp = d;
      d = c;
      c = b;
      b = core.int.as(this[_add32](b, this[_rotl32](core.int.as(this[_add32](this[_add32](a, t0), this[_add32](_http._MD5._k[$_get](i), m[$_get](core.int.as(t1))))), _http._MD5._r[$_get](i))));
      a = temp;
    }
    this[_h][$_set](0, core.int.as(this[_add32](a, this[_h][$_get](0))));
    this[_h][$_set](1, core.int.as(this[_add32](b, this[_h][$_get](1))));
    this[_h][$_set](2, core.int.as(this[_add32](c, this[_h][$_get](2))));
    this[_h][$_set](3, core.int.as(this[_add32](d, this[_h][$_get](3))));
  }
};
(_http._MD5.new = function() {
  _http._MD5.__proto__.new.call(this, 16, 4, false);
  this[_h][$_set](0, 1732584193);
  this[_h][$_set](1, 4023233417);
  this[_h][$_set](2, 2562383102);
  this[_h][$_set](3, 271733878);
}).prototype = _http._MD5.prototype;
dart.addTypeTests(_http._MD5);
dart.addTypeCaches(_http._MD5);
dart.setMethodSignature(_http._MD5, () => ({
  __proto__: dart.getMethods(_http._MD5.__proto__),
  newInstance: dart.fnType(_http._MD5, []),
  [_updateHash]: dart.fnType(dart.void, [core.List$(core.int)])
}));
dart.setLibraryUri(_http._MD5, I[177]);
dart.defineLazy(_http._MD5, {
  /*_http._MD5._k*/get _k() {
    return C[461] || CT.C461;
  },
  /*_http._MD5._r*/get _r() {
    return C[462] || CT.C462;
  }
}, false);
var _w = dart.privateName(_http, "_w");
_http._SHA1 = class _SHA1 extends _http._HashBase {
  newInstance() {
    return new _http._SHA1.new();
  }
  [_updateHash](m) {
    if (m == null) dart.nullFailed(I[178], 415, 30, "m");
    if (!(m[$length] === 16)) dart.assertFailed(null, I[178], 416, 12, "m.length == 16");
    let a = this[_h][$_get](0);
    let b = this[_h][$_get](1);
    let c = this[_h][$_get](2);
    let d = this[_h][$_get](3);
    let e = this[_h][$_get](4);
    for (let i = 0; i < 80; i = i + 1) {
      if (i < 16) {
        this[_w][$_set](i, m[$_get](i));
      } else {
        let n = (dart.notNull(this[_w][$_get](i - 3)) ^ dart.notNull(this[_w][$_get](i - 8)) ^ dart.notNull(this[_w][$_get](i - 14)) ^ dart.notNull(this[_w][$_get](i - 16))) >>> 0;
        this[_w][$_set](i, this[_rotl32](n, 1));
      }
      let t = this[_add32](this[_add32](this[_rotl32](a, 5), e), this[_w][$_get](i));
      if (i < 20) {
        t = this[_add32](this[_add32](t, (dart.notNull(b) & dart.notNull(c) | (~dart.notNull(b) & dart.notNull(d)) >>> 0) >>> 0), 1518500249);
      } else if (i < 40) {
        t = this[_add32](this[_add32](t, (dart.notNull(b) ^ dart.notNull(c) ^ dart.notNull(d)) >>> 0), 1859775393);
      } else if (i < 60) {
        t = this[_add32](this[_add32](t, (dart.notNull(b) & dart.notNull(c) | (dart.notNull(b) & dart.notNull(d)) >>> 0 | (dart.notNull(c) & dart.notNull(d)) >>> 0) >>> 0), 2400959708);
      } else {
        t = this[_add32](this[_add32](t, (dart.notNull(b) ^ dart.notNull(c) ^ dart.notNull(d)) >>> 0), 3395469782);
      }
      e = d;
      d = c;
      c = this[_rotl32](b, 30);
      b = a;
      a = core.int.as(dart.dsend(t, '&', [4294967295.0]));
    }
    this[_h][$_set](0, core.int.as(this[_add32](a, this[_h][$_get](0))));
    this[_h][$_set](1, core.int.as(this[_add32](b, this[_h][$_get](1))));
    this[_h][$_set](2, core.int.as(this[_add32](c, this[_h][$_get](2))));
    this[_h][$_set](3, core.int.as(this[_add32](d, this[_h][$_get](3))));
    this[_h][$_set](4, core.int.as(this[_add32](e, this[_h][$_get](4))));
  }
};
(_http._SHA1.new = function() {
  this[_w] = T$0.ListOfint().filled(80, 0);
  _http._SHA1.__proto__.new.call(this, 16, 5, true);
  this[_h][$_set](0, 1732584193);
  this[_h][$_set](1, 4023233417);
  this[_h][$_set](2, 2562383102);
  this[_h][$_set](3, 271733878);
  this[_h][$_set](4, 3285377520);
}).prototype = _http._SHA1.prototype;
dart.addTypeTests(_http._SHA1);
dart.addTypeCaches(_http._SHA1);
dart.setMethodSignature(_http._SHA1, () => ({
  __proto__: dart.getMethods(_http._SHA1.__proto__),
  newInstance: dart.fnType(_http._SHA1, []),
  [_updateHash]: dart.fnType(dart.void, [core.List$(core.int)])
}));
dart.setLibraryUri(_http._SHA1, I[177]);
dart.setFieldSignature(_http._SHA1, () => ({
  __proto__: dart.getFields(_http._SHA1.__proto__),
  [_w]: dart.fieldType(core.List$(core.int))
}));
_http.HttpDate = class HttpDate extends core.Object {
  static format(date) {
    let t264;
    if (date == null) dart.nullFailed(I[179], 40, 33, "date");
    let wkday = C[463] || CT.C463;
    let month = C[464] || CT.C464;
    let d = date.toUtc();
    let sb = (t264 = new core.StringBuffer.new(), (() => {
      t264.write(wkday[$_get](dart.notNull(d.weekday) - 1));
      t264.write(", ");
      t264.write(dart.notNull(d.day) <= 9 ? "0" : "");
      t264.write(dart.toString(d.day));
      t264.write(" ");
      t264.write(month[$_get](dart.notNull(d.month) - 1));
      t264.write(" ");
      t264.write(dart.toString(d.year));
      t264.write(dart.notNull(d.hour) <= 9 ? " 0" : " ");
      t264.write(dart.toString(d.hour));
      t264.write(dart.notNull(d.minute) <= 9 ? ":0" : ":");
      t264.write(dart.toString(d.minute));
      t264.write(dart.notNull(d.second) <= 9 ? ":0" : ":");
      t264.write(dart.toString(d.second));
      t264.write(" GMT");
      return t264;
    })());
    return dart.toString(sb);
  }
  static parse(date) {
    if (date == null) dart.nullFailed(I[179], 91, 32, "date");
    let SP = 32;
    let wkdays = C[463] || CT.C463;
    let weekdays = C[465] || CT.C465;
    let months = C[464] || CT.C464;
    let formatRfc1123 = 0;
    let formatRfc850 = 1;
    let formatAsctime = 2;
    let index = 0;
    let tmp = null;
    function expect(s) {
      if (s == null) dart.nullFailed(I[179], 125, 24, "s");
      if (date.length - index < s.length) {
        dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
      }
      let tmp = date[$substring](index, index + s.length);
      if (tmp !== s) {
        dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
      }
      index = index + s.length;
    }
    dart.fn(expect, T$.StringTovoid());
    function expectWeekday() {
      let weekday = null;
      let pos = date[$indexOf](",", index);
      if (pos === -1) {
        let pos = date[$indexOf](" ", index);
        if (pos === -1) dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
        tmp = date[$substring](index, pos);
        index = pos + 1;
        weekday = wkdays[$indexOf](tmp);
        if (weekday !== -1) {
          return formatAsctime;
        }
      } else {
        tmp = date[$substring](index, pos);
        index = pos + 1;
        weekday = wkdays[$indexOf](tmp);
        if (weekday !== -1) {
          return formatRfc1123;
        }
        weekday = weekdays[$indexOf](tmp);
        if (weekday !== -1) {
          return formatRfc850;
        }
      }
      dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
    }
    dart.fn(expectWeekday, T$.VoidToint());
    function expectMonth(separator) {
      if (separator == null) dart.nullFailed(I[179], 164, 28, "separator");
      let pos = date[$indexOf](separator, index);
      if (pos - index !== 3) dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
      tmp = date[$substring](index, pos);
      index = pos + 1;
      let month = months[$indexOf](tmp);
      if (month !== -1) return month;
      dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
    }
    dart.fn(expectMonth, T$0.StringToint());
    function expectNum(separator) {
      if (separator == null) dart.nullFailed(I[179], 174, 26, "separator");
      let pos = null;
      if (separator.length > 0) {
        pos = date[$indexOf](separator, index);
      } else {
        pos = date.length;
      }
      let tmp = date[$substring](index, pos);
      index = dart.notNull(pos) + separator.length;
      try {
        let value = core.int.parse(tmp);
        return value;
      } catch (e) {
        let ex = dart.getThrown(e);
        if (core.FormatException.is(ex)) {
          dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
        } else
          throw e;
      }
    }
    dart.fn(expectNum, T$0.StringToint());
    function expectEnd() {
      if (index !== date.length) {
        dart.throw(new _http.HttpException.new("Invalid HTTP date " + dart.str(date)));
      }
    }
    dart.fn(expectEnd, T$.VoidTovoid());
    let format = expectWeekday();
    let year = null;
    let month = null;
    let day = null;
    let hours = null;
    let minutes = null;
    let seconds = null;
    if (format === formatAsctime) {
      month = expectMonth(" ");
      if (date[$codeUnitAt](index) === SP) index = index + 1;
      day = expectNum(" ");
      hours = expectNum(":");
      minutes = expectNum(":");
      seconds = expectNum(" ");
      year = expectNum("");
    } else {
      expect(" ");
      day = expectNum(format === formatRfc1123 ? " " : "-");
      month = expectMonth(format === formatRfc1123 ? " " : "-");
      year = expectNum(" ");
      hours = expectNum(":");
      minutes = expectNum(":");
      seconds = expectNum(" ");
      expect("GMT");
    }
    expectEnd();
    return new core.DateTime.utc(year, dart.notNull(month) + 1, day, hours, minutes, seconds, 0);
  }
  static _parseCookieDate(date) {
    if (date == null) dart.nullFailed(I[179], 227, 43, "date");
    let monthsLowerCase = C[466] || CT.C466;
    let position = 0;
    function error() {
      dart.throw(new _http.HttpException.new("Invalid cookie date " + dart.str(date)));
    }
    dart.fn(error, T$0.VoidToNever());
    function isEnd() {
      return position === date.length;
    }
    dart.fn(isEnd, T$.VoidTobool());
    function isDelimiter(s) {
      if (s == null) dart.nullFailed(I[179], 251, 29, "s");
      let char = s[$codeUnitAt](0);
      if (char === 9) return true;
      if (char >= 32 && char <= 47) return true;
      if (char >= 59 && char <= 64) return true;
      if (char >= 91 && char <= 96) return true;
      if (char >= 123 && char <= 126) return true;
      return false;
    }
    dart.fn(isDelimiter, T$.StringTobool());
    function isNonDelimiter(s) {
      if (s == null) dart.nullFailed(I[179], 261, 32, "s");
      let char = s[$codeUnitAt](0);
      if (char >= 0 && char <= 8) return true;
      if (char >= 10 && char <= 31) return true;
      if (char >= 48 && char <= 57) return true;
      if (char === 58) return true;
      if (char >= 65 && char <= 90) return true;
      if (char >= 97 && char <= 122) return true;
      if (char >= 127 && char <= 255) return true;
      return false;
    }
    dart.fn(isNonDelimiter, T$.StringTobool());
    function isDigit(s) {
      if (s == null) dart.nullFailed(I[179], 273, 25, "s");
      let char = s[$codeUnitAt](0);
      if (char > 47 && char < 58) return true;
      return false;
    }
    dart.fn(isDigit, T$.StringTobool());
    function getMonth(month) {
      if (month == null) dart.nullFailed(I[179], 279, 25, "month");
      if (month.length < 3) return -1;
      return monthsLowerCase[$indexOf](month[$substring](0, 3));
    }
    dart.fn(getMonth, T$0.StringToint());
    function toInt(s) {
      if (s == null) dart.nullFailed(I[179], 284, 22, "s");
      let index = 0;
      for (; index < s.length && dart.test(isDigit(s[$_get](index))); index = index + 1)
        ;
      return core.int.parse(s[$substring](0, index));
    }
    dart.fn(toInt, T$0.StringToint());
    let tokens = [];
    while (!dart.test(isEnd())) {
      while (!dart.test(isEnd()) && dart.test(isDelimiter(date[$_get](position))))
        position = position + 1;
      let start = position;
      while (!dart.test(isEnd()) && dart.test(isNonDelimiter(date[$_get](position))))
        position = position + 1;
      tokens[$add](date[$substring](start, position)[$toLowerCase]());
      while (!dart.test(isEnd()) && dart.test(isDelimiter(date[$_get](position))))
        position = position + 1;
    }
    let timeStr = null;
    let dayOfMonthStr = null;
    let monthStr = null;
    let yearStr = null;
    for (let token of tokens) {
      if (dart.dtest(dart.dsend(dart.dload(token, 'length'), '<', [1]))) continue;
      if (timeStr == null && dart.dtest(dart.dsend(dart.dload(token, 'length'), '>=', [5])) && dart.test(isDigit(core.String.as(dart.dsend(token, '_get', [0])))) && (dart.equals(dart.dsend(token, '_get', [1]), ":") || dart.test(isDigit(core.String.as(dart.dsend(token, '_get', [1])))) && dart.equals(dart.dsend(token, '_get', [2]), ":"))) {
        timeStr = T$.StringN().as(token);
      } else if (dayOfMonthStr == null && dart.test(isDigit(core.String.as(dart.dsend(token, '_get', [0]))))) {
        dayOfMonthStr = T$.StringN().as(token);
      } else if (monthStr == null && dart.notNull(getMonth(core.String.as(token))) >= 0) {
        monthStr = T$.StringN().as(token);
      } else if (yearStr == null && dart.dtest(dart.dsend(dart.dload(token, 'length'), '>=', [2])) && dart.test(isDigit(core.String.as(dart.dsend(token, '_get', [0])))) && dart.test(isDigit(core.String.as(dart.dsend(token, '_get', [1]))))) {
        yearStr = T$.StringN().as(token);
      }
    }
    if (timeStr == null || dayOfMonthStr == null || monthStr == null || yearStr == null) {
      error();
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    let year = toInt(yearStr);
    if (dart.notNull(year) >= 70 && dart.notNull(year) <= 99)
      year = dart.notNull(year) + 1900;
    else if (dart.notNull(year) >= 0 && dart.notNull(year) <= 69) year = dart.notNull(year) + 2000;
    if (dart.notNull(year) < 1601) {
      error();
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    let dayOfMonth = toInt(dayOfMonthStr);
    if (dart.notNull(dayOfMonth) < 1 || dart.notNull(dayOfMonth) > 31) {
      error();
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    let month = dart.notNull(getMonth(monthStr)) + 1;
    let timeList = timeStr[$split](":");
    if (timeList[$length] !== 3) {
      error();
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    let hour = toInt(timeList[$_get](0));
    let minute = toInt(timeList[$_get](1));
    let second = toInt(timeList[$_get](2));
    if (dart.notNull(hour) > 23) {
      error();
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    if (dart.notNull(minute) > 59) {
      error();
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    if (dart.notNull(second) > 59) {
      error();
      dart.throw(new _internal.ReachabilityError.new("`null` encountered as the result from expression with type `Never`."));
    }
    return new core.DateTime.utc(year, month, dayOfMonth, hour, minute, second, 0);
  }
};
(_http.HttpDate.new = function() {
  ;
}).prototype = _http.HttpDate.prototype;
dart.addTypeTests(_http.HttpDate);
dart.addTypeCaches(_http.HttpDate);
dart.setLibraryUri(_http.HttpDate, I[177]);
var _originalHeaderNames = dart.privateName(_http, "_originalHeaderNames");
var _mutable = dart.privateName(_http, "_mutable");
var _noFoldingHeaders = dart.privateName(_http, "_noFoldingHeaders");
var _contentLength = dart.privateName(_http, "_contentLength");
var _persistentConnection = dart.privateName(_http, "_persistentConnection");
var _chunkedTransferEncoding = dart.privateName(_http, "_chunkedTransferEncoding");
var _host = dart.privateName(_http, "_host");
var _port = dart.privateName(_http, "_port");
var _headers = dart.privateName(_http, "_headers");
var _defaultPortForScheme = dart.privateName(_http, "_defaultPortForScheme");
var _checkMutable = dart.privateName(_http, "_checkMutable");
var _addAll = dart.privateName(_http, "_addAll");
var _add$1 = dart.privateName(_http, "_add");
var _valueToString = dart.privateName(_http, "_valueToString");
var _originalHeaderName = dart.privateName(_http, "_originalHeaderName");
var _set = dart.privateName(_http, "_set");
var _addValue = dart.privateName(_http, "_addValue");
var _updateHostHeader = dart.privateName(_http, "_updateHostHeader");
var _addDate = dart.privateName(_http, "_addDate");
var _addHost = dart.privateName(_http, "_addHost");
var _addExpires = dart.privateName(_http, "_addExpires");
var _addConnection = dart.privateName(_http, "_addConnection");
var _addContentType = dart.privateName(_http, "_addContentType");
var _addContentLength = dart.privateName(_http, "_addContentLength");
var _addTransferEncoding = dart.privateName(_http, "_addTransferEncoding");
var _addIfModifiedSince = dart.privateName(_http, "_addIfModifiedSince");
var _foldHeader = dart.privateName(_http, "_foldHeader");
var _finalize = dart.privateName(_http, "_finalize");
var _build = dart.privateName(_http, "_build");
var _parseCookies = dart.privateName(_http, "_parseCookies");
_http._HttpHeaders = class _HttpHeaders extends core.Object {
  _get(name) {
    if (name == null) dart.nullFailed(I[180], 43, 36, "name");
    return this[_headers][$_get](_http._HttpHeaders._validateField(name));
  }
  value(name) {
    if (name == null) dart.nullFailed(I[180], 45, 24, "name");
    name = _http._HttpHeaders._validateField(name);
    let values = this[_headers][$_get](name);
    if (values == null) return null;
    if (!dart.test(values[$isNotEmpty])) dart.assertFailed(null, I[180], 49, 12, "values.isNotEmpty");
    if (dart.notNull(values[$length]) > 1) {
      dart.throw(new _http.HttpException.new("More than one value for header " + dart.str(name)));
    }
    return values[$_get](0);
  }
  add(name, value, opts) {
    let t266, t266$;
    if (name == null) dart.nullFailed(I[180], 56, 19, "name");
    if (value == null) dart.nullFailed(I[180], 56, 25, "value");
    let preserveHeaderCase = opts && 'preserveHeaderCase' in opts ? opts.preserveHeaderCase : false;
    if (preserveHeaderCase == null) dart.nullFailed(I[180], 56, 38, "preserveHeaderCase");
    this[_checkMutable]();
    let lowercaseName = _http._HttpHeaders._validateField(name);
    if (dart.test(preserveHeaderCase) && name != lowercaseName) {
      (t266 = this[_originalHeaderNames], t266 == null ? this[_originalHeaderNames] = new (T$.IdentityMapOfString$String()).new() : t266)[$_set](lowercaseName, name);
    } else {
      t266$ = this[_originalHeaderNames];
      t266$ == null ? null : t266$[$remove](lowercaseName);
    }
    this[_addAll](lowercaseName, value);
  }
  [_addAll](name, value) {
    if (name == null) dart.nullFailed(I[180], 68, 23, "name");
    if (core.Iterable.is(value)) {
      for (let v of value) {
        this[_add$1](name, _http._HttpHeaders._validateValue(core.Object.as(v)));
      }
    } else {
      this[_add$1](name, _http._HttpHeaders._validateValue(core.Object.as(value)));
    }
  }
  set(name, value, opts) {
    let t266, t266$;
    if (name == null) dart.nullFailed(I[180], 78, 19, "name");
    if (value == null) dart.nullFailed(I[180], 78, 32, "value");
    let preserveHeaderCase = opts && 'preserveHeaderCase' in opts ? opts.preserveHeaderCase : false;
    if (preserveHeaderCase == null) dart.nullFailed(I[180], 78, 45, "preserveHeaderCase");
    this[_checkMutable]();
    let lowercaseName = _http._HttpHeaders._validateField(name);
    this[_headers][$remove](lowercaseName);
    t266 = this[_originalHeaderNames];
    t266 == null ? null : t266[$remove](lowercaseName);
    if (lowercaseName === "content-length") {
      this[_contentLength] = -1;
    }
    if (lowercaseName === "transfer-encoding") {
      this[_chunkedTransferEncoding] = false;
    }
    if (dart.test(preserveHeaderCase) && name != lowercaseName) {
      (t266$ = this[_originalHeaderNames], t266$ == null ? this[_originalHeaderNames] = new (T$.IdentityMapOfString$String()).new() : t266$)[$_set](lowercaseName, name);
    }
    this[_addAll](lowercaseName, value);
  }
  remove(name, value) {
    let t266;
    if (name == null) dart.nullFailed(I[180], 95, 22, "name");
    if (value == null) dart.nullFailed(I[180], 95, 35, "value");
    this[_checkMutable]();
    name = _http._HttpHeaders._validateField(name);
    value = _http._HttpHeaders._validateValue(value);
    let values = this[_headers][$_get](name);
    if (values != null) {
      values[$remove](this[_valueToString](value));
      if (values[$length] === 0) {
        this[_headers][$remove](name);
        t266 = this[_originalHeaderNames];
        t266 == null ? null : t266[$remove](name);
      }
    }
    if (name === "transfer-encoding" && dart.equals(value, "chunked")) {
      this[_chunkedTransferEncoding] = false;
    }
  }
  removeAll(name) {
    let t266;
    if (name == null) dart.nullFailed(I[180], 112, 25, "name");
    this[_checkMutable]();
    name = _http._HttpHeaders._validateField(name);
    this[_headers][$remove](name);
    t266 = this[_originalHeaderNames];
    t266 == null ? null : t266[$remove](name);
  }
  forEach(action) {
    if (action == null) dart.nullFailed(I[180], 119, 21, "action");
    this[_headers][$forEach](dart.fn((name, values) => {
      if (name == null) dart.nullFailed(I[180], 120, 30, "name");
      if (values == null) dart.nullFailed(I[180], 120, 49, "values");
      let originalName = this[_originalHeaderName](name);
      action(originalName, values);
    }, T$0.StringAndListOfStringTovoid()));
  }
  noFolding(name) {
    let t266;
    if (name == null) dart.nullFailed(I[180], 126, 25, "name");
    name = _http._HttpHeaders._validateField(name);
    (t266 = this[_noFoldingHeaders], t266 == null ? this[_noFoldingHeaders] = T$.JSArrayOfString().of([]) : t266)[$add](name);
  }
  get persistentConnection() {
    return this[_persistentConnection];
  }
  set persistentConnection(persistentConnection) {
    if (persistentConnection == null) dart.nullFailed(I[180], 133, 38, "persistentConnection");
    this[_checkMutable]();
    if (persistentConnection == this[_persistentConnection]) return;
    let originalName = this[_originalHeaderName]("connection");
    if (dart.test(persistentConnection)) {
      if (this.protocolVersion === "1.1") {
        this.remove("connection", "close");
      } else {
        if (dart.notNull(this[_contentLength]) < 0) {
          dart.throw(new _http.HttpException.new("Trying to set 'Connection: Keep-Alive' on HTTP 1.0 headers with " + "no ContentLength"));
        }
        this.add(originalName, "keep-alive", {preserveHeaderCase: true});
      }
    } else {
      if (this.protocolVersion === "1.1") {
        this.add(originalName, "close", {preserveHeaderCase: true});
      } else {
        this.remove("connection", "keep-alive");
      }
    }
    this[_persistentConnection] = persistentConnection;
  }
  get contentLength() {
    return this[_contentLength];
  }
  set contentLength(contentLength) {
    if (contentLength == null) dart.nullFailed(I[180], 160, 30, "contentLength");
    this[_checkMutable]();
    if (this.protocolVersion === "1.0" && dart.test(this.persistentConnection) && contentLength === -1) {
      dart.throw(new _http.HttpException.new("Trying to clear ContentLength on HTTP 1.0 headers with " + "'Connection: Keep-Alive' set"));
    }
    if (this[_contentLength] == contentLength) return;
    this[_contentLength] = contentLength;
    if (dart.notNull(this[_contentLength]) >= 0) {
      if (dart.test(this.chunkedTransferEncoding)) this.chunkedTransferEncoding = false;
      this[_set]("content-length", dart.toString(contentLength));
    } else {
      this[_headers][$remove]("content-length");
      if (this.protocolVersion === "1.1") {
        this.chunkedTransferEncoding = true;
      }
    }
  }
  get chunkedTransferEncoding() {
    return this[_chunkedTransferEncoding];
  }
  set chunkedTransferEncoding(chunkedTransferEncoding) {
    if (chunkedTransferEncoding == null) dart.nullFailed(I[180], 184, 41, "chunkedTransferEncoding");
    this[_checkMutable]();
    if (dart.test(chunkedTransferEncoding) && this.protocolVersion === "1.0") {
      dart.throw(new _http.HttpException.new("Trying to set 'Transfer-Encoding: Chunked' on HTTP 1.0 headers"));
    }
    if (chunkedTransferEncoding == this[_chunkedTransferEncoding]) return;
    if (dart.test(chunkedTransferEncoding)) {
      let values = this[_headers][$_get]("transfer-encoding");
      if (values == null || !dart.test(values[$contains]("chunked"))) {
        this[_addValue]("transfer-encoding", "chunked");
      }
      this.contentLength = -1;
    } else {
      this.remove("transfer-encoding", "chunked");
    }
    this[_chunkedTransferEncoding] = chunkedTransferEncoding;
  }
  get host() {
    return this[_host];
  }
  set host(host) {
    this[_checkMutable]();
    this[_host] = host;
    this[_updateHostHeader]();
  }
  get port() {
    return this[_port];
  }
  set port(port) {
    this[_checkMutable]();
    this[_port] = port;
    this[_updateHostHeader]();
  }
  get ifModifiedSince() {
    let values = this[_headers][$_get]("if-modified-since");
    if (values != null) {
      if (!dart.test(values[$isNotEmpty])) dart.assertFailed(null, I[180], 224, 14, "values.isNotEmpty");
      try {
        return _http.HttpDate.parse(values[$_get](0));
      } catch (e) {
        let ex = dart.getThrown(e);
        if (core.Exception.is(ex)) {
          return null;
        } else
          throw e;
      }
    }
    return null;
  }
  set ifModifiedSince(ifModifiedSince) {
    this[_checkMutable]();
    if (ifModifiedSince == null) {
      this[_headers][$remove]("if-modified-since");
    } else {
      let formatted = _http.HttpDate.format(ifModifiedSince.toUtc());
      this[_set]("if-modified-since", formatted);
    }
  }
  get date() {
    let values = this[_headers][$_get]("date");
    if (values != null) {
      if (!dart.test(values[$isNotEmpty])) dart.assertFailed(null, I[180], 248, 14, "values.isNotEmpty");
      try {
        return _http.HttpDate.parse(values[$_get](0));
      } catch (e) {
        let ex = dart.getThrown(e);
        if (core.Exception.is(ex)) {
          return null;
        } else
          throw e;
      }
    }
    return null;
  }
  set date(date) {
    this[_checkMutable]();
    if (date == null) {
      this[_headers][$remove]("date");
    } else {
      let formatted = _http.HttpDate.format(date.toUtc());
      this[_set]("date", formatted);
    }
  }
  get expires() {
    let values = this[_headers][$_get]("expires");
    if (values != null) {
      if (!dart.test(values[$isNotEmpty])) dart.assertFailed(null, I[180], 272, 14, "values.isNotEmpty");
      try {
        return _http.HttpDate.parse(values[$_get](0));
      } catch (e) {
        let ex = dart.getThrown(e);
        if (core.Exception.is(ex)) {
          return null;
        } else
          throw e;
      }
    }
    return null;
  }
  set expires(expires) {
    this[_checkMutable]();
    if (expires == null) {
      this[_headers][$remove]("expires");
    } else {
      let formatted = _http.HttpDate.format(expires.toUtc());
      this[_set]("expires", formatted);
    }
  }
  get contentType() {
    let values = this[_headers][$_get]("content-type");
    if (values != null) {
      return _http.ContentType.parse(values[$_get](0));
    } else {
      return null;
    }
  }
  set contentType(contentType) {
    this[_checkMutable]();
    if (contentType == null) {
      this[_headers][$remove]("content-type");
    } else {
      this[_set]("content-type", dart.toString(contentType));
    }
  }
  clear() {
    this[_checkMutable]();
    this[_headers][$clear]();
    this[_contentLength] = -1;
    this[_persistentConnection] = true;
    this[_chunkedTransferEncoding] = false;
    this[_host] = null;
    this[_port] = null;
  }
  [_add$1](name, value) {
    if (name == null) dart.nullFailed(I[180], 322, 20, "name");
    if (!(name == _http._HttpHeaders._validateField(name))) dart.assertFailed(null, I[180], 323, 12, "name == _validateField(name)");
    switch (name.length) {
      case 4:
      {
        if ("date" === name) {
          this[_addDate](name, value);
          return;
        }
        if ("host" === name) {
          this[_addHost](name, value);
          return;
        }
        break;
      }
      case 7:
      {
        if ("expires" === name) {
          this[_addExpires](name, value);
          return;
        }
        break;
      }
      case 10:
      {
        if ("connection" === name) {
          this[_addConnection](name, value);
          return;
        }
        break;
      }
      case 12:
      {
        if ("content-type" === name) {
          this[_addContentType](name, value);
          return;
        }
        break;
      }
      case 14:
      {
        if ("content-length" === name) {
          this[_addContentLength](name, value);
          return;
        }
        break;
      }
      case 17:
      {
        if ("transfer-encoding" === name) {
          this[_addTransferEncoding](name, value);
          return;
        }
        if ("if-modified-since" === name) {
          this[_addIfModifiedSince](name, value);
          return;
        }
      }
    }
    this[_addValue](name, core.Object.as(value));
  }
  [_addContentLength](name, value) {
    if (name == null) dart.nullFailed(I[180], 374, 33, "name");
    if (core.int.is(value)) {
      this.contentLength = value;
    } else if (typeof value == 'string') {
      this.contentLength = core.int.parse(value);
    } else {
      dart.throw(new _http.HttpException.new("Unexpected type for header named " + dart.str(name)));
    }
  }
  [_addTransferEncoding](name, value) {
    if (name == null) dart.nullFailed(I[180], 384, 36, "name");
    if (dart.equals(value, "chunked")) {
      this.chunkedTransferEncoding = true;
    } else {
      this[_addValue]("transfer-encoding", core.Object.as(value));
    }
  }
  [_addDate](name, value) {
    if (name == null) dart.nullFailed(I[180], 392, 24, "name");
    if (core.DateTime.is(value)) {
      this.date = value;
    } else if (typeof value == 'string') {
      this[_set]("date", value);
    } else {
      dart.throw(new _http.HttpException.new("Unexpected type for header named " + dart.str(name)));
    }
  }
  [_addExpires](name, value) {
    if (name == null) dart.nullFailed(I[180], 402, 27, "name");
    if (core.DateTime.is(value)) {
      this.expires = value;
    } else if (typeof value == 'string') {
      this[_set]("expires", value);
    } else {
      dart.throw(new _http.HttpException.new("Unexpected type for header named " + dart.str(name)));
    }
  }
  [_addIfModifiedSince](name, value) {
    if (name == null) dart.nullFailed(I[180], 412, 35, "name");
    if (core.DateTime.is(value)) {
      this.ifModifiedSince = value;
    } else if (typeof value == 'string') {
      this[_set]("if-modified-since", value);
    } else {
      dart.throw(new _http.HttpException.new("Unexpected type for header named " + dart.str(name)));
    }
  }
  [_addHost](name, value) {
    if (name == null) dart.nullFailed(I[180], 422, 24, "name");
    if (typeof value == 'string') {
      let pos = value[$lastIndexOf](":");
      if (pos === -1 || value[$startsWith]("[") && value[$endsWith]("]")) {
        this[_host] = value;
        this[_port] = 80;
      } else {
        if (pos > 0) {
          this[_host] = value[$substring](0, pos);
        } else {
          this[_host] = null;
        }
        if (pos + 1 === value.length) {
          this[_port] = 80;
        } else {
          try {
            this[_port] = core.int.parse(value[$substring](pos + 1));
          } catch (e) {
            let ex = dart.getThrown(e);
            if (core.FormatException.is(ex)) {
              this[_port] = null;
            } else
              throw e;
          }
        }
      }
      this[_set]("host", value);
    } else {
      dart.throw(new _http.HttpException.new("Unexpected type for header named " + dart.str(name)));
    }
  }
  [_addConnection](name, value) {
    if (name == null) dart.nullFailed(I[180], 455, 30, "name");
    let lowerCaseValue = dart.dsend(value, 'toLowerCase', []);
    if (dart.equals(lowerCaseValue, "close")) {
      this[_persistentConnection] = false;
    } else if (dart.equals(lowerCaseValue, "keep-alive")) {
      this[_persistentConnection] = true;
    }
    this[_addValue](name, core.Object.as(value));
  }
  [_addContentType](name, value) {
    if (name == null) dart.nullFailed(I[180], 465, 31, "name");
    this[_set]("content-type", core.String.as(value));
  }
  [_addValue](name, value) {
    let t277, t276, t275, t274;
    if (name == null) dart.nullFailed(I[180], 469, 25, "name");
    if (value == null) dart.nullFailed(I[180], 469, 38, "value");
    let values = (t274 = this[_headers], t275 = name, t276 = t274[$_get](t275), t276 == null ? (t277 = T$.JSArrayOfString().of([]), t274[$_set](t275, t277), t277) : t276);
    values[$add](this[_valueToString](value));
  }
  [_valueToString](value) {
    if (value == null) dart.nullFailed(I[180], 474, 32, "value");
    if (core.DateTime.is(value)) {
      return _http.HttpDate.format(value);
    } else if (typeof value == 'string') {
      return value;
    } else {
      return core.String.as(_http._HttpHeaders._validateValue(dart.toString(value)));
    }
  }
  [_set](name, value) {
    if (name == null) dart.nullFailed(I[180], 484, 20, "name");
    if (value == null) dart.nullFailed(I[180], 484, 33, "value");
    if (!(name == _http._HttpHeaders._validateField(name))) dart.assertFailed(null, I[180], 485, 12, "name == _validateField(name)");
    this[_headers][$_set](name, T$.JSArrayOfString().of([value]));
  }
  [_checkMutable]() {
    if (!dart.test(this[_mutable])) dart.throw(new _http.HttpException.new("HTTP headers are not mutable"));
  }
  [_updateHostHeader]() {
    let host = this[_host];
    if (host != null) {
      let defaultPort = this[_port] == null || this[_port] == this[_defaultPortForScheme];
      this[_set]("host", defaultPort ? host : dart.str(host) + ":" + dart.str(this[_port]));
    }
  }
  [_foldHeader](name) {
    if (name == null) dart.nullFailed(I[180], 501, 27, "name");
    if (name === "set-cookie") return false;
    let noFoldingHeaders = this[_noFoldingHeaders];
    return noFoldingHeaders == null || !dart.test(noFoldingHeaders[$contains](name));
  }
  [_finalize]() {
    this[_mutable] = false;
  }
  [_build](builder, opts) {
    if (builder == null) dart.nullFailed(I[180], 511, 28, "builder");
    let skipZeroContentLength = opts && 'skipZeroContentLength' in opts ? opts.skipZeroContentLength : false;
    if (skipZeroContentLength == null) dart.nullFailed(I[180], 511, 43, "skipZeroContentLength");
    let ignoreHeader = this[_contentLength] === 0 && dart.test(skipZeroContentLength) ? "content-length" : null;
    this[_headers][$forEach](dart.fn((name, values) => {
      if (name == null) dart.nullFailed(I[180], 520, 30, "name");
      if (values == null) dart.nullFailed(I[180], 520, 49, "values");
      if (ignoreHeader == name) {
        return;
      }
      let originalName = this[_originalHeaderName](name);
      let fold = this[_foldHeader](name);
      let nameData = originalName[$codeUnits];
      builder.add(nameData);
      builder.addByte(58);
      builder.addByte(32);
      for (let i = 0; i < dart.notNull(values[$length]); i = i + 1) {
        if (i > 0) {
          if (dart.test(fold)) {
            builder.addByte(44);
            builder.addByte(32);
          } else {
            builder.addByte(13);
            builder.addByte(10);
            builder.add(nameData);
            builder.addByte(58);
            builder.addByte(32);
          }
        }
        builder.add(values[$_get](i)[$codeUnits]);
      }
      builder.addByte(13);
      builder.addByte(10);
    }, T$0.StringAndListOfStringTovoid()));
  }
  toString() {
    let sb = new core.StringBuffer.new();
    this[_headers][$forEach](dart.fn((name, values) => {
      let t274, t274$;
      if (name == null) dart.nullFailed(I[180], 552, 30, "name");
      if (values == null) dart.nullFailed(I[180], 552, 49, "values");
      let originalName = this[_originalHeaderName](name);
      t274 = sb;
      (() => {
        t274.write(originalName);
        t274.write(": ");
        return t274;
      })();
      let fold = this[_foldHeader](name);
      for (let i = 0; i < dart.notNull(values[$length]); i = i + 1) {
        if (i > 0) {
          if (dart.test(fold)) {
            sb.write(", ");
          } else {
            t274$ = sb;
            (() => {
              t274$.write("\n");
              t274$.write(originalName);
              t274$.write(": ");
              return t274$;
            })();
          }
        }
        sb.write(values[$_get](i));
      }
      sb.write("\n");
    }, T$0.StringAndListOfStringTovoid()));
    return sb.toString();
  }
  [_parseCookies]() {
    let cookies = T$0.JSArrayOfCookie().of([]);
    function parseCookieString(s) {
      if (s == null) dart.nullFailed(I[180], 574, 35, "s");
      let index = 0;
      function done() {
        return index === -1 || index === s.length;
      }
      dart.fn(done, T$.VoidTobool());
      function skipWS() {
        while (!dart.test(done())) {
          if (s[$_get](index) !== " " && s[$_get](index) !== "\t") return;
          index = index + 1;
        }
      }
      dart.fn(skipWS, T$.VoidTovoid());
      function parseName() {
        let start = index;
        while (!dart.test(done())) {
          if (s[$_get](index) === " " || s[$_get](index) === "\t" || s[$_get](index) === "=") break;
          index = index + 1;
        }
        return s[$substring](start, index);
      }
      dart.fn(parseName, T$.VoidToString());
      function parseValue() {
        let start = index;
        while (!dart.test(done())) {
          if (s[$_get](index) === " " || s[$_get](index) === "\t" || s[$_get](index) === ";") break;
          index = index + 1;
        }
        return s[$substring](start, index);
      }
      dart.fn(parseValue, T$.VoidToString());
      function expect(expected) {
        if (expected == null) dart.nullFailed(I[180], 604, 26, "expected");
        if (dart.test(done())) return false;
        if (s[$_get](index) !== expected) return false;
        index = index + 1;
        return true;
      }
      dart.fn(expect, T$.StringTobool());
      while (!dart.test(done())) {
        skipWS();
        if (dart.test(done())) return;
        let name = parseName();
        skipWS();
        if (!dart.test(expect("="))) {
          index = s[$indexOf](";", index);
          continue;
        }
        skipWS();
        let value = parseValue();
        try {
          cookies[$add](new _http._Cookie.new(name, value));
        } catch (e) {
          let _ = dart.getThrown(e);
          if (core.Object.is(_)) {
          } else
            throw e;
        }
        skipWS();
        if (dart.test(done())) return;
        if (!dart.test(expect(";"))) {
          index = s[$indexOf](";", index);
          continue;
        }
      }
    }
    dart.fn(parseCookieString, T$.StringTovoid());
    let values = this[_headers][$_get]("cookie");
    if (values != null) {
      values[$forEach](dart.fn(headerValue => {
        if (headerValue == null) dart.nullFailed(I[180], 638, 23, "headerValue");
        return parseCookieString(headerValue);
      }, T$.StringTovoid()));
    }
    return cookies;
  }
  static _validateField(field) {
    if (field == null) dart.nullFailed(I[180], 643, 39, "field");
    for (let i = 0; i < field.length; i = i + 1) {
      if (!dart.test(_http._HttpParser._isTokenChar(field[$codeUnitAt](i)))) {
        dart.throw(new core.FormatException.new("Invalid HTTP header field name: " + dart.str(convert.json.encode(field)), field, i));
      }
    }
    return field[$toLowerCase]();
  }
  static _validateValue(value) {
    if (value == null) dart.nullFailed(I[180], 653, 39, "value");
    if (!(typeof value == 'string')) return value;
    for (let i = 0; i < value.length; i = i + 1) {
      if (!dart.test(_http._HttpParser._isValueChar(value[$codeUnitAt](i)))) {
        dart.throw(new core.FormatException.new("Invalid HTTP header field value: " + dart.str(convert.json.encode(value)), value, i));
      }
    }
    return value;
  }
  [_originalHeaderName](name) {
    let t275, t275$;
    if (name == null) dart.nullFailed(I[180], 664, 37, "name");
    t275$ = (t275 = this[_originalHeaderNames], t275 == null ? null : t275[$_get](name));
    return t275$ == null ? name : t275$;
  }
};
(_http._HttpHeaders.new = function(protocolVersion, opts) {
  if (protocolVersion == null) dart.nullFailed(I[180], 24, 21, "protocolVersion");
  let defaultPortForScheme = opts && 'defaultPortForScheme' in opts ? opts.defaultPortForScheme : 80;
  if (defaultPortForScheme == null) dart.nullFailed(I[180], 25, 12, "defaultPortForScheme");
  let initialHeaders = opts && 'initialHeaders' in opts ? opts.initialHeaders : null;
  this[_originalHeaderNames] = null;
  this[_mutable] = true;
  this[_noFoldingHeaders] = null;
  this[_contentLength] = -1;
  this[_persistentConnection] = true;
  this[_chunkedTransferEncoding] = false;
  this[_host] = null;
  this[_port] = null;
  this.protocolVersion = protocolVersion;
  this[_headers] = new (T$0.IdentityMapOfString$ListOfString()).new();
  this[_defaultPortForScheme] = defaultPortForScheme;
  if (initialHeaders != null) {
    initialHeaders[_headers][$forEach](dart.fn((name, value) => {
      let t268, t267, t266;
      if (name == null) dart.nullFailed(I[180], 30, 40, "name");
      if (value == null) dart.nullFailed(I[180], 30, 46, "value");
      t266 = this[_headers];
      t267 = name;
      t268 = value;
      t266[$_set](t267, t268);
      return t268;
    }, T$0.StringAndListOfStringTovoid()));
    this[_contentLength] = initialHeaders[_contentLength];
    this[_persistentConnection] = initialHeaders[_persistentConnection];
    this[_chunkedTransferEncoding] = initialHeaders[_chunkedTransferEncoding];
    this[_host] = initialHeaders[_host];
    this[_port] = initialHeaders[_port];
  }
  if (this.protocolVersion === "1.0") {
    this[_persistentConnection] = false;
    this[_chunkedTransferEncoding] = false;
  }
}).prototype = _http._HttpHeaders.prototype;
dart.addTypeTests(_http._HttpHeaders);
dart.addTypeCaches(_http._HttpHeaders);
_http._HttpHeaders[dart.implements] = () => [_http.HttpHeaders];
dart.setMethodSignature(_http._HttpHeaders, () => ({
  __proto__: dart.getMethods(_http._HttpHeaders.__proto__),
  _get: dart.fnType(dart.nullable(core.List$(core.String)), [core.String]),
  value: dart.fnType(dart.nullable(core.String), [core.String]),
  add: dart.fnType(dart.void, [core.String, core.Object], {preserveHeaderCase: core.bool}, {}),
  [_addAll]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  set: dart.fnType(dart.void, [core.String, core.Object], {preserveHeaderCase: core.bool}, {}),
  remove: dart.fnType(dart.void, [core.String, core.Object]),
  removeAll: dart.fnType(dart.void, [core.String]),
  forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [core.String, core.List$(core.String)])]),
  noFolding: dart.fnType(dart.void, [core.String]),
  clear: dart.fnType(dart.void, []),
  [_add$1]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addContentLength]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addTransferEncoding]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addDate]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addExpires]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addIfModifiedSince]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addHost]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addConnection]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addContentType]: dart.fnType(dart.void, [core.String, dart.dynamic]),
  [_addValue]: dart.fnType(dart.void, [core.String, core.Object]),
  [_valueToString]: dart.fnType(core.String, [core.Object]),
  [_set]: dart.fnType(dart.void, [core.String, core.String]),
  [_checkMutable]: dart.fnType(dart.void, []),
  [_updateHostHeader]: dart.fnType(dart.void, []),
  [_foldHeader]: dart.fnType(core.bool, [core.String]),
  [_finalize]: dart.fnType(dart.void, []),
  [_build]: dart.fnType(dart.void, [_internal.BytesBuilder], {skipZeroContentLength: core.bool}, {}),
  [_parseCookies]: dart.fnType(core.List$(_http.Cookie), []),
  [_originalHeaderName]: dart.fnType(core.String, [core.String])
}));
dart.setGetterSignature(_http._HttpHeaders, () => ({
  __proto__: dart.getGetters(_http._HttpHeaders.__proto__),
  persistentConnection: core.bool,
  contentLength: core.int,
  chunkedTransferEncoding: core.bool,
  host: dart.nullable(core.String),
  port: dart.nullable(core.int),
  ifModifiedSince: dart.nullable(core.DateTime),
  date: dart.nullable(core.DateTime),
  expires: dart.nullable(core.DateTime),
  contentType: dart.nullable(_http.ContentType)
}));
dart.setSetterSignature(_http._HttpHeaders, () => ({
  __proto__: dart.getSetters(_http._HttpHeaders.__proto__),
  persistentConnection: core.bool,
  contentLength: core.int,
  chunkedTransferEncoding: core.bool,
  host: dart.nullable(core.String),
  port: dart.nullable(core.int),
  ifModifiedSince: dart.nullable(core.DateTime),
  date: dart.nullable(core.DateTime),
  expires: dart.nullable(core.DateTime),
  contentType: dart.nullable(_http.ContentType)
}));
dart.setLibraryUri(_http._HttpHeaders, I[177]);
dart.setFieldSignature(_http._HttpHeaders, () => ({
  __proto__: dart.getFields(_http._HttpHeaders.__proto__),
  [_headers]: dart.finalFieldType(core.Map$(core.String, core.List$(core.String))),
  [_originalHeaderNames]: dart.fieldType(dart.nullable(core.Map$(core.String, core.String))),
  protocolVersion: dart.finalFieldType(core.String),
  [_mutable]: dart.fieldType(core.bool),
  [_noFoldingHeaders]: dart.fieldType(dart.nullable(core.List$(core.String))),
  [_contentLength]: dart.fieldType(core.int),
  [_persistentConnection]: dart.fieldType(core.bool),
  [_chunkedTransferEncoding]: dart.fieldType(core.bool),
  [_host]: dart.fieldType(dart.nullable(core.String)),
  [_port]: dart.fieldType(dart.nullable(core.int)),
  [_defaultPortForScheme]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(_http._HttpHeaders, ['toString']);
var _parameters = dart.privateName(_http, "_parameters");
var _unmodifiableParameters = dart.privateName(_http, "_unmodifiableParameters");
var _value$5 = dart.privateName(_http, "_value");
var _parse = dart.privateName(_http, "_parse");
var _ensureParameters = dart.privateName(_http, "_ensureParameters");
_http._HeaderValue = class _HeaderValue extends core.Object {
  static parse(value, opts) {
    if (value == null) dart.nullFailed(I[180], 682, 36, "value");
    let parameterSeparator = opts && 'parameterSeparator' in opts ? opts.parameterSeparator : ";";
    if (parameterSeparator == null) dart.nullFailed(I[180], 683, 15, "parameterSeparator");
    let valueSeparator = opts && 'valueSeparator' in opts ? opts.valueSeparator : null;
    let preserveBackslash = opts && 'preserveBackslash' in opts ? opts.preserveBackslash : false;
    if (preserveBackslash == null) dart.nullFailed(I[180], 685, 12, "preserveBackslash");
    let result = new _http._HeaderValue.new();
    result[_parse](value, parameterSeparator, valueSeparator, preserveBackslash);
    return result;
  }
  get value() {
    return this[_value$5];
  }
  [_ensureParameters]() {
    let t275;
    t275 = this[_parameters];
    return t275 == null ? this[_parameters] = new (T$0.IdentityMapOfString$StringN()).new() : t275;
  }
  get parameters() {
    let t275;
    t275 = this[_unmodifiableParameters];
    return t275 == null ? this[_unmodifiableParameters] = new (T$0.UnmodifiableMapViewOfString$StringN()).new(this[_ensureParameters]()) : t275;
  }
  static _isToken(token) {
    if (token == null) dart.nullFailed(I[180], 700, 31, "token");
    if (token[$isEmpty]) {
      return false;
    }
    let delimiters = "\"(),/:;<=>?@[]{}";
    for (let i = 0; i < token.length; i = i + 1) {
      let codeUnit = token[$codeUnitAt](i);
      if (codeUnit <= 32 || codeUnit >= 127 || delimiters[$indexOf](token[$_get](i)) >= 0) {
        return false;
      }
    }
    return true;
  }
  toString() {
    let sb = new core.StringBuffer.new();
    sb.write(this[_value$5]);
    let parameters = this[_parameters];
    if (parameters != null && dart.notNull(parameters[$length]) > 0) {
      parameters[$forEach](dart.fn((name, value) => {
        let t275, t275$;
        if (name == null) dart.nullFailed(I[180], 721, 34, "name");
        t275 = sb;
        (() => {
          t275.write("; ");
          t275.write(name);
          return t275;
        })();
        if (value != null) {
          sb.write("=");
          if (dart.test(_http._HeaderValue._isToken(value))) {
            sb.write(value);
          } else {
            sb.write("\"");
            let start = 0;
            for (let i = 0; i < value.length; i = i + 1) {
              let codeUnit = value[$codeUnitAt](i);
              if (codeUnit === 92 || codeUnit === 34) {
                sb.write(value[$substring](start, i));
                sb.write("\\");
                start = i;
              }
            }
            t275$ = sb;
            (() => {
              t275$.write(value[$substring](start));
              t275$.write("\"");
              return t275$;
            })();
          }
        }
      }, T$0.StringAndStringNTovoid()));
    }
    return sb.toString();
  }
  [_parse](s, parameterSeparator, valueSeparator, preserveBackslash) {
    if (s == null) dart.nullFailed(I[180], 748, 22, "s");
    if (parameterSeparator == null) dart.nullFailed(I[180], 748, 32, "parameterSeparator");
    if (preserveBackslash == null) dart.nullFailed(I[180], 749, 12, "preserveBackslash");
    let index = 0;
    function done() {
      return index === s.length;
    }
    dart.fn(done, T$.VoidTobool());
    function skipWS() {
      while (!dart.test(done())) {
        if (s[$_get](index) !== " " && s[$_get](index) !== "\t") return;
        index = index + 1;
      }
    }
    dart.fn(skipWS, T$.VoidTovoid());
    function parseValue() {
      let start = index;
      while (!dart.test(done())) {
        let char = s[$_get](index);
        if (char === " " || char === "\t" || char === valueSeparator || char === parameterSeparator) break;
        index = index + 1;
      }
      return s[$substring](start, index);
    }
    dart.fn(parseValue, T$.VoidToString());
    function expect(expected) {
      if (expected == null) dart.nullFailed(I[180], 774, 24, "expected");
      if (dart.test(done()) || s[$_get](index) !== expected) {
        dart.throw(new _http.HttpException.new("Failed to parse header value"));
      }
      index = index + 1;
    }
    dart.fn(expect, T$.StringTovoid());
    function maybeExpect(expected) {
      if (expected == null) dart.nullFailed(I[180], 781, 29, "expected");
      if (dart.test(done()) || !s[$startsWith](expected, index)) {
        return false;
      }
      index = index + 1;
      return true;
    }
    dart.fn(maybeExpect, T$.StringTobool());
    const parseParameters = () => {
      let parameters = this[_ensureParameters]();
      function parseParameterName() {
        let start = index;
        while (!dart.test(done())) {
          let char = s[$_get](index);
          if (char === " " || char === "\t" || char === "=" || char === parameterSeparator || char === valueSeparator) break;
          index = index + 1;
        }
        return s[$substring](start, index)[$toLowerCase]();
      }
      dart.fn(parseParameterName, T$.VoidToString());
      function parseParameterValue() {
        if (!dart.test(done()) && s[$_get](index) === "\"") {
          let sb = new core.StringBuffer.new();
          index = index + 1;
          while (!dart.test(done())) {
            let char = s[$_get](index);
            if (char === "\\") {
              if (index + 1 === s.length) {
                dart.throw(new _http.HttpException.new("Failed to parse header value"));
              }
              if (dart.test(preserveBackslash) && s[$_get](index + 1) !== "\"") {
                sb.write(char);
              }
              index = index + 1;
            } else if (char === "\"") {
              index = index + 1;
              return sb.toString();
            }
            char = s[$_get](index);
            sb.write(char);
            index = index + 1;
          }
          dart.throw(new _http.HttpException.new("Failed to parse header value"));
        } else {
          return parseValue();
        }
      }
      dart.fn(parseParameterValue, T$.VoidToString());
      while (!dart.test(done())) {
        skipWS();
        if (dart.test(done())) return;
        let name = parseParameterName();
        skipWS();
        if (dart.test(maybeExpect("="))) {
          skipWS();
          let value = parseParameterValue();
          if (name === "charset" && _http._ContentType.is(this)) {
            value = value[$toLowerCase]();
          }
          parameters[$_set](name, value);
          skipWS();
        } else if (name[$isNotEmpty]) {
          parameters[$_set](name, null);
        }
        if (dart.test(done())) return;
        if (s[$_get](index) === valueSeparator) return;
        expect(parameterSeparator);
      }
    };
    dart.fn(parseParameters, T$.VoidTovoid());
    skipWS();
    this[_value$5] = parseValue();
    skipWS();
    if (dart.test(done())) return;
    if (s[$_get](index) === valueSeparator) return;
    maybeExpect(parameterSeparator);
    parseParameters();
  }
};
(_http._HeaderValue.new = function(_value = "", parameters = C[454] || CT.C454) {
  if (_value == null) dart.nullFailed(I[180], 674, 22, "_value");
  if (parameters == null) dart.nullFailed(I[180], 674, 56, "parameters");
  this[_parameters] = null;
  this[_unmodifiableParameters] = null;
  this[_value$5] = _value;
  let nullableParameters = parameters;
  if (nullableParameters != null && dart.test(nullableParameters[$isNotEmpty])) {
    this[_parameters] = T$0.HashMapOfString$StringN().from(nullableParameters);
  }
}).prototype = _http._HeaderValue.prototype;
dart.addTypeTests(_http._HeaderValue);
dart.addTypeCaches(_http._HeaderValue);
_http._HeaderValue[dart.implements] = () => [_http.HeaderValue];
dart.setMethodSignature(_http._HeaderValue, () => ({
  __proto__: dart.getMethods(_http._HeaderValue.__proto__),
  [_ensureParameters]: dart.fnType(core.Map$(core.String, dart.nullable(core.String)), []),
  [_parse]: dart.fnType(dart.void, [core.String, core.String, dart.nullable(core.String), core.bool])
}));
dart.setGetterSignature(_http._HeaderValue, () => ({
  __proto__: dart.getGetters(_http._HeaderValue.__proto__),
  value: core.String,
  parameters: core.Map$(core.String, dart.nullable(core.String))
}));
dart.setLibraryUri(_http._HeaderValue, I[177]);
dart.setFieldSignature(_http._HeaderValue, () => ({
  __proto__: dart.getFields(_http._HeaderValue.__proto__),
  [_value$5]: dart.fieldType(core.String),
  [_parameters]: dart.fieldType(dart.nullable(core.Map$(core.String, dart.nullable(core.String)))),
  [_unmodifiableParameters]: dart.fieldType(dart.nullable(core.Map$(core.String, dart.nullable(core.String))))
}));
dart.defineExtensionMethods(_http._HeaderValue, ['toString']);
var _primaryType = dart.privateName(_http, "_primaryType");
var _subType = dart.privateName(_http, "_subType");
_http._ContentType = class _ContentType extends _http._HeaderValue {
  static parse(value) {
    if (value == null) dart.nullFailed(I[180], 903, 36, "value");
    let result = new _http._ContentType.__();
    result[_parse](value, ";", null, false);
    let index = result[_value$5][$indexOf]("/");
    if (index === -1 || index === result[_value$5].length - 1) {
      result[_primaryType] = result[_value$5][$trim]()[$toLowerCase]();
    } else {
      result[_primaryType] = result[_value$5][$substring](0, index)[$trim]()[$toLowerCase]();
      result[_subType] = result[_value$5][$substring](index + 1)[$trim]()[$toLowerCase]();
    }
    return result;
  }
  get mimeType() {
    return dart.str(this.primaryType) + "/" + dart.str(this.subType);
  }
  get primaryType() {
    return this[_primaryType];
  }
  get subType() {
    return this[_subType];
  }
  get charset() {
    return this.parameters[$_get]("charset");
  }
};
(_http._ContentType.new = function(primaryType, subType, charset, parameters) {
  if (primaryType == null) dart.nullFailed(I[180], 874, 23, "primaryType");
  if (subType == null) dart.nullFailed(I[180], 874, 43, "subType");
  if (parameters == null) dart.nullFailed(I[180], 875, 28, "parameters");
  this[_primaryType] = "";
  this[_subType] = "";
  this[_primaryType] = primaryType;
  this[_subType] = subType;
  _http._ContentType.__proto__.new.call(this, "");
  function emptyIfNull(string) {
    let t275;
    t275 = string;
    return t275 == null ? "" : t275;
  }
  dart.fn(emptyIfNull, T$0.StringNToString());
  this[_primaryType] = emptyIfNull(this[_primaryType]);
  this[_subType] = emptyIfNull(this[_subType]);
  this[_value$5] = dart.str(this[_primaryType]) + "/" + dart.str(this[_subType]);
  let nullableParameters = parameters;
  if (nullableParameters != null) {
    let parameterMap = this[_ensureParameters]();
    nullableParameters[$forEach](dart.fn((key, value) => {
      let t275;
      if (key == null) dart.nullFailed(I[180], 888, 42, "key");
      let lowerCaseKey = key[$toLowerCase]();
      if (lowerCaseKey === "charset") {
        value = (t275 = value, t275 == null ? null : t275[$toLowerCase]());
      }
      parameterMap[$_set](lowerCaseKey, value);
    }, T$0.StringAndStringNTovoid()));
  }
  if (charset != null) {
    this[_ensureParameters]()[$_set]("charset", charset[$toLowerCase]());
  }
}).prototype = _http._ContentType.prototype;
(_http._ContentType.__ = function() {
  this[_primaryType] = "";
  this[_subType] = "";
  _http._ContentType.__proto__.new.call(this);
  ;
}).prototype = _http._ContentType.prototype;
dart.addTypeTests(_http._ContentType);
dart.addTypeCaches(_http._ContentType);
_http._ContentType[dart.implements] = () => [_http.ContentType];
dart.setGetterSignature(_http._ContentType, () => ({
  __proto__: dart.getGetters(_http._ContentType.__proto__),
  mimeType: core.String,
  primaryType: core.String,
  subType: core.String,
  charset: dart.nullable(core.String)
}));
dart.setLibraryUri(_http._ContentType, I[177]);
dart.setFieldSignature(_http._ContentType, () => ({
  __proto__: dart.getFields(_http._ContentType.__proto__),
  [_primaryType]: dart.fieldType(core.String),
  [_subType]: dart.fieldType(core.String)
}));
var _path$3 = dart.privateName(_http, "_path");
var _parseSetCookieValue = dart.privateName(_http, "_parseSetCookieValue");
_http._Cookie = class _Cookie extends core.Object {
  get name() {
    return this[_name$7];
  }
  get value() {
    return this[_value$5];
  }
  get path() {
    return this[_path$3];
  }
  set path(newPath) {
    _http._Cookie._validatePath(newPath);
    this[_path$3] = newPath;
  }
  set name(newName) {
    if (newName == null) dart.nullFailed(I[180], 951, 19, "newName");
    _http._Cookie._validateName(newName);
    this[_name$7] = newName;
  }
  set value(newValue) {
    if (newValue == null) dart.nullFailed(I[180], 956, 20, "newValue");
    _http._Cookie._validateValue(newValue);
    this[_value$5] = newValue;
  }
  [_parseSetCookieValue](s) {
    if (s == null) dart.nullFailed(I[180], 969, 36, "s");
    let index = 0;
    function done() {
      return index === s.length;
    }
    dart.fn(done, T$.VoidTobool());
    function parseName() {
      let start = index;
      while (!dart.test(done())) {
        if (s[$_get](index) === "=") break;
        index = index + 1;
      }
      return s[$substring](start, index)[$trim]();
    }
    dart.fn(parseName, T$.VoidToString());
    function parseValue() {
      let start = index;
      while (!dart.test(done())) {
        if (s[$_get](index) === ";") break;
        index = index + 1;
      }
      return s[$substring](start, index)[$trim]();
    }
    dart.fn(parseValue, T$.VoidToString());
    const parseAttributes = () => {
      function parseAttributeName() {
        let start = index;
        while (!dart.test(done())) {
          if (s[$_get](index) === "=" || s[$_get](index) === ";") break;
          index = index + 1;
        }
        return s[$substring](start, index)[$trim]()[$toLowerCase]();
      }
      dart.fn(parseAttributeName, T$.VoidToString());
      function parseAttributeValue() {
        let start = index;
        while (!dart.test(done())) {
          if (s[$_get](index) === ";") break;
          index = index + 1;
        }
        return s[$substring](start, index)[$trim]()[$toLowerCase]();
      }
      dart.fn(parseAttributeValue, T$.VoidToString());
      while (!dart.test(done())) {
        let name = parseAttributeName();
        let value = "";
        if (!dart.test(done()) && s[$_get](index) === "=") {
          index = index + 1;
          value = parseAttributeValue();
        }
        if (name === "expires") {
          this.expires = _http.HttpDate._parseCookieDate(value);
        } else if (name === "max-age") {
          this.maxAge = core.int.parse(value);
        } else if (name === "domain") {
          this.domain = value;
        } else if (name === "path") {
          this.path = value;
        } else if (name === "httponly") {
          this.httpOnly = true;
        } else if (name === "secure") {
          this.secure = true;
        }
        if (!dart.test(done())) index = index + 1;
      }
    };
    dart.fn(parseAttributes, T$.VoidTovoid());
    this[_name$7] = _http._Cookie._validateName(parseName());
    if (dart.test(done()) || this[_name$7].length === 0) {
      dart.throw(new _http.HttpException.new("Failed to parse header value [" + dart.str(s) + "]"));
    }
    index = index + 1;
    this[_value$5] = _http._Cookie._validateValue(parseValue());
    if (dart.test(done())) return;
    index = index + 1;
    parseAttributes();
  }
  toString() {
    let t275, t275$, t275$0, t275$1, t275$2;
    let sb = new core.StringBuffer.new();
    t275 = sb;
    (() => {
      t275.write(this[_name$7]);
      t275.write("=");
      t275.write(this[_value$5]);
      return t275;
    })();
    let expires = this.expires;
    if (expires != null) {
      t275$ = sb;
      (() => {
        t275$.write("; Expires=");
        t275$.write(_http.HttpDate.format(expires));
        return t275$;
      })();
    }
    if (this.maxAge != null) {
      t275$0 = sb;
      (() => {
        t275$0.write("; Max-Age=");
        t275$0.write(this.maxAge);
        return t275$0;
      })();
    }
    if (this.domain != null) {
      t275$1 = sb;
      (() => {
        t275$1.write("; Domain=");
        t275$1.write(this.domain);
        return t275$1;
      })();
    }
    if (this.path != null) {
      t275$2 = sb;
      (() => {
        t275$2.write("; Path=");
        t275$2.write(this.path);
        return t275$2;
      })();
    }
    if (dart.test(this.secure)) sb.write("; Secure");
    if (dart.test(this.httpOnly)) sb.write("; HttpOnly");
    return sb.toString();
  }
  static _validateName(newName) {
    if (newName == null) dart.nullFailed(I[180], 1067, 38, "newName");
    let separators = C[467] || CT.C467;
    if (newName == null) dart.throw(new core.ArgumentError.notNull("name"));
    for (let i = 0; i < newName.length; i = i + 1) {
      let codeUnit = newName[$codeUnitAt](i);
      if (codeUnit <= 32 || codeUnit >= 127 || dart.notNull(separators[$indexOf](newName[$_get](i))) >= 0) {
        dart.throw(new core.FormatException.new("Invalid character in cookie name, code unit: '" + dart.str(codeUnit) + "'", newName, i));
      }
    }
    return newName;
  }
  static _validateValue(newValue) {
    if (newValue == null) dart.nullFailed(I[180], 1102, 39, "newValue");
    if (newValue == null) dart.throw(new core.ArgumentError.notNull("value"));
    let start = 0;
    let end = newValue.length;
    if (2 <= newValue.length && newValue[$codeUnits][$_get](start) === 34 && newValue[$codeUnits][$_get](end - 1) === 34) {
      start = start + 1;
      end = end - 1;
    }
    for (let i = start; i < end; i = i + 1) {
      let codeUnit = newValue[$codeUnits][$_get](i);
      if (!(codeUnit === 33 || dart.notNull(codeUnit) >= 35 && dart.notNull(codeUnit) <= 43 || dart.notNull(codeUnit) >= 45 && dart.notNull(codeUnit) <= 58 || dart.notNull(codeUnit) >= 60 && dart.notNull(codeUnit) <= 91 || dart.notNull(codeUnit) >= 93 && dart.notNull(codeUnit) <= 126)) {
        dart.throw(new core.FormatException.new("Invalid character in cookie value, code unit: '" + dart.str(codeUnit) + "'", newValue, i));
      }
    }
    return newValue;
  }
  static _validatePath(path) {
    if (path == null) return;
    for (let i = 0; i < path.length; i = i + 1) {
      let codeUnit = path[$codeUnitAt](i);
      if (codeUnit < 32 || codeUnit >= 127 || codeUnit === 59) {
        dart.throw(new core.FormatException.new("Invalid character in cookie path, code unit: '" + dart.str(codeUnit) + "'"));
      }
    }
  }
};
(_http._Cookie.new = function(name, value) {
  if (name == null) dart.nullFailed(I[180], 936, 18, "name");
  if (value == null) dart.nullFailed(I[180], 936, 31, "value");
  this.expires = null;
  this.maxAge = null;
  this.domain = null;
  this[_path$3] = null;
  this.httpOnly = false;
  this.secure = false;
  this[_name$7] = _http._Cookie._validateName(name);
  this[_value$5] = _http._Cookie._validateValue(value);
  this.httpOnly = true;
  ;
}).prototype = _http._Cookie.prototype;
(_http._Cookie.fromSetCookieValue = function(value) {
  if (value == null) dart.nullFailed(I[180], 961, 37, "value");
  this.expires = null;
  this.maxAge = null;
  this.domain = null;
  this[_path$3] = null;
  this.httpOnly = false;
  this.secure = false;
  this[_name$7] = "";
  this[_value$5] = "";
  this[_parseSetCookieValue](value);
}).prototype = _http._Cookie.prototype;
dart.addTypeTests(_http._Cookie);
dart.addTypeCaches(_http._Cookie);
_http._Cookie[dart.implements] = () => [_http.Cookie];
dart.setMethodSignature(_http._Cookie, () => ({
  __proto__: dart.getMethods(_http._Cookie.__proto__),
  [_parseSetCookieValue]: dart.fnType(dart.void, [core.String])
}));
dart.setGetterSignature(_http._Cookie, () => ({
  __proto__: dart.getGetters(_http._Cookie.__proto__),
  name: core.String,
  value: core.String,
  path: dart.nullable(core.String)
}));
dart.setSetterSignature(_http._Cookie, () => ({
  __proto__: dart.getSetters(_http._Cookie.__proto__),
  path: dart.nullable(core.String),
  name: core.String,
  value: core.String
}));
dart.setLibraryUri(_http._Cookie, I[177]);
dart.setFieldSignature(_http._Cookie, () => ({
  __proto__: dart.getFields(_http._Cookie.__proto__),
  [_name$7]: dart.fieldType(core.String),
  [_value$5]: dart.fieldType(core.String),
  expires: dart.fieldType(dart.nullable(core.DateTime)),
  maxAge: dart.fieldType(dart.nullable(core.int)),
  domain: dart.fieldType(dart.nullable(core.String)),
  [_path$3]: dart.fieldType(dart.nullable(core.String)),
  httpOnly: dart.fieldType(core.bool),
  secure: dart.fieldType(core.bool)
}));
dart.defineExtensionMethods(_http._Cookie, ['toString']);
var _timeline = dart.privateName(_http, "_timeline");
_http.HttpProfiler = class HttpProfiler extends core.Object {
  static startRequest(method, uri, opts) {
    let t275;
    if (method == null) dart.nullFailed(I[181], 13, 12, "method");
    if (uri == null) dart.nullFailed(I[181], 14, 9, "uri");
    let parentRequest = opts && 'parentRequest' in opts ? opts.parentRequest : null;
    let data = new _http._HttpProfileData.new(method, uri, (t275 = parentRequest, t275 == null ? null : t275[_timeline]));
    _http.HttpProfiler._profile[$_set](data.id, data);
    return data;
  }
  static getHttpProfileRequest(id) {
    if (id == null) dart.nullFailed(I[181], 22, 54, "id");
    return _http.HttpProfiler._profile[$_get](id);
  }
  static clear() {
    return _http.HttpProfiler._profile[$clear]();
  }
  static toJson(updatedSince) {
    return convert.json.encode(new (T$.IdentityMapOfString$Object()).from(["type", "HttpProfile", "timestamp", developer.Timeline.now, "requests", (() => {
        let t275 = T$0.JSArrayOfMapOfString$dynamic().of([]);
        for (let request of _http.HttpProfiler._profile[$values][$where](dart.fn(e => {
          if (e == null) dart.nullFailed(I[181], 32, 12, "e");
          return updatedSince == null || dart.notNull(e.lastUpdateTime) >= dart.notNull(updatedSince);
        }, T$0._HttpProfileDataTobool())))
          t275[$add](request.toJson());
        return t275;
      })()]));
  }
};
(_http.HttpProfiler.new = function() {
  ;
}).prototype = _http.HttpProfiler.prototype;
dart.addTypeTests(_http.HttpProfiler);
dart.addTypeCaches(_http.HttpProfiler);
dart.setLibraryUri(_http.HttpProfiler, I[177]);
dart.defineLazy(_http.HttpProfiler, {
  /*_http.HttpProfiler._kType*/get _kType() {
    return "HttpProfile";
  },
  /*_http.HttpProfiler._profile*/get _profile() {
    return new (T$0.IdentityMapOfint$_HttpProfileData()).new();
  },
  set _profile(_) {}
}, false);
_http._HttpProfileEvent = class _HttpProfileEvent extends core.Object {
  toJson() {
    return (() => {
      let t276 = new (T$0.IdentityMapOfString$dynamic()).new();
      t276[$_set]("timestamp", this.timestamp);
      t276[$_set]("event", this.name);
      if (this.arguments != null) t276[$_set]("arguments", this.arguments);
      return t276;
    })();
  }
};
(_http._HttpProfileEvent.new = function(name, $arguments) {
  if (name == null) dart.nullFailed(I[181], 43, 26, "name");
  this.timestamp = developer.Timeline.now;
  this.name = name;
  this.arguments = $arguments;
  ;
}).prototype = _http._HttpProfileEvent.prototype;
dart.addTypeTests(_http._HttpProfileEvent);
dart.addTypeCaches(_http._HttpProfileEvent);
dart.setMethodSignature(_http._HttpProfileEvent, () => ({
  __proto__: dart.getMethods(_http._HttpProfileEvent.__proto__),
  toJson: dart.fnType(core.Map$(core.String, dart.dynamic), [])
}));
dart.setLibraryUri(_http._HttpProfileEvent, I[177]);
dart.setFieldSignature(_http._HttpProfileEvent, () => ({
  __proto__: dart.getFields(_http._HttpProfileEvent.__proto__),
  timestamp: dart.finalFieldType(core.int),
  name: dart.finalFieldType(core.String),
  arguments: dart.finalFieldType(dart.nullable(core.Map))
}));
var ___HttpProfileData_id = dart.privateName(_http, "_#_HttpProfileData#id");
var ___HttpProfileData_id_isSet = dart.privateName(_http, "_#_HttpProfileData#id#isSet");
var ___HttpProfileData_requestStartTimestamp = dart.privateName(_http, "_#_HttpProfileData#requestStartTimestamp");
var ___HttpProfileData_requestStartTimestamp_isSet = dart.privateName(_http, "_#_HttpProfileData#requestStartTimestamp#isSet");
var ___HttpProfileData_requestEndTimestamp = dart.privateName(_http, "_#_HttpProfileData#requestEndTimestamp");
var ___HttpProfileData_requestEndTimestamp_isSet = dart.privateName(_http, "_#_HttpProfileData#requestEndTimestamp#isSet");
var ___HttpProfileData_responseStartTimestamp = dart.privateName(_http, "_#_HttpProfileData#responseStartTimestamp");
var ___HttpProfileData_responseStartTimestamp_isSet = dart.privateName(_http, "_#_HttpProfileData#responseStartTimestamp#isSet");
var ___HttpProfileData_responseEndTimestamp = dart.privateName(_http, "_#_HttpProfileData#responseEndTimestamp");
var ___HttpProfileData_responseEndTimestamp_isSet = dart.privateName(_http, "_#_HttpProfileData#responseEndTimestamp#isSet");
var _lastUpdateTime = dart.privateName(_http, "_lastUpdateTime");
var ___HttpProfileData__responseTimeline = dart.privateName(_http, "_#_HttpProfileData#_responseTimeline");
var ___HttpProfileData__responseTimeline_isSet = dart.privateName(_http, "_#_HttpProfileData#_responseTimeline#isSet");
var _updated = dart.privateName(_http, "_updated");
var _responseTimeline = dart.privateName(_http, "_responseTimeline");
_http._HttpProfileData = class _HttpProfileData extends core.Object {
  requestEvent(name, opts) {
    if (name == null) dart.nullFailed(I[181], 76, 28, "name");
    let $arguments = opts && 'arguments' in opts ? opts.arguments : null;
    this[_timeline].instant(name, {arguments: $arguments});
    this.requestEvents[$add](new _http._HttpProfileEvent.new(name, $arguments));
    this[_updated]();
  }
  proxyEvent(proxy) {
    if (proxy == null) dart.nullFailed(I[181], 82, 26, "proxy");
    this.proxyDetails = (() => {
      let t277 = new (T$0.IdentityMapOfString$dynamic()).new();
      if (proxy.host != null) t277[$_set]("host", proxy.host);
      if (proxy.port != null) t277[$_set]("port", proxy.port);
      if (proxy.username != null) t277[$_set]("username", proxy.username);
      return t277;
    })();
    this[_timeline].instant("Establishing proxy tunnel", {arguments: new _js_helper.LinkedMap.from(["proxyDetails", this.proxyDetails])});
    this[_updated]();
  }
  appendRequestData(data) {
    if (data == null) dart.nullFailed(I[181], 94, 36, "data");
    this.requestBody[$addAll](data);
    this[_updated]();
  }
  formatHeaders(r) {
    let headers = new (T$0.IdentityMapOfString$ListOfString()).new();
    dart.dsend(dart.dload(r, 'headers'), 'forEach', [dart.fn((name, values) => {
        headers[$_set](core.String.as(name), T$.ListOfString().as(values));
      }, T$.dynamicAnddynamicToNull())]);
    return headers;
  }
  formatConnectionInfo(r) {
    let t278, t278$, t278$0;
    return dart.dload(r, 'connectionInfo') == null ? null : new _js_helper.LinkedMap.from(["localPort", (t278 = dart.dload(r, 'connectionInfo'), t278 == null ? null : dart.dload(t278, 'localPort')), "remoteAddress", (t278$ = dart.dload(r, 'connectionInfo'), t278$ == null ? null : dart.dload(dart.dload(t278$, 'remoteAddress'), 'address')), "remotePort", (t278$0 = dart.dload(r, 'connectionInfo'), t278$0 == null ? null : dart.dload(t278$0, 'remotePort'))]);
  }
  finishRequest(opts) {
    let request = opts && 'request' in opts ? opts.request : null;
    if (request == null) dart.nullFailed(I[181], 116, 32, "request");
    this.requestInProgress = false;
    this.requestEndTimestamp = developer.Timeline.now;
    this.requestDetails = new (T$0.IdentityMapOfString$dynamic()).from(["headers", this.formatHeaders(request), "connectionInfo", this.formatConnectionInfo(request), "contentLength", request.contentLength, "cookies", (() => {
        let t278 = T$.JSArrayOfString().of([]);
        for (let cookie of request.cookies)
          t278[$add](dart.toString(cookie));
        return t278;
      })(), "followRedirects", request.followRedirects, "maxRedirects", request.maxRedirects, "method", request.method, "persistentConnection", request.persistentConnection, "uri", dart.toString(request.uri)]);
    this[_timeline].finish({arguments: this.requestDetails});
    this[_updated]();
  }
  startResponse(opts) {
    let response = opts && 'response' in opts ? opts.response : null;
    if (response == null) dart.nullFailed(I[181], 142, 51, "response");
    function formatRedirectInfo() {
      let redirects = T$0.JSArrayOfMapOfString$dynamic().of([]);
      for (let redirect of response.redirects) {
        redirects[$add](new (T$0.IdentityMapOfString$dynamic()).from(["location", dart.toString(redirect.location), "method", redirect.method, "statusCode", redirect.statusCode]));
      }
      return redirects;
    }
    dart.fn(formatRedirectInfo, T$0.VoidToListOfMapOfString$dynamic());
    this.responseDetails = new (T$0.IdentityMapOfString$dynamic()).from(["headers", this.formatHeaders(response), "compressionState", dart.toString(response.compressionState), "connectionInfo", this.formatConnectionInfo(response), "contentLength", response.contentLength, "cookies", (() => {
        let t279 = T$.JSArrayOfString().of([]);
        for (let cookie of response.cookies)
          t279[$add](dart.toString(cookie));
        return t279;
      })(), "isRedirect", response.isRedirect, "persistentConnection", response.persistentConnection, "reasonPhrase", response.reasonPhrase, "redirects", formatRedirectInfo(), "statusCode", response.statusCode]);
    if (!!dart.test(this.requestInProgress)) dart.assertFailed(null, I[181], 170, 12, "!requestInProgress");
    this.responseInProgress = true;
    this[_responseTimeline] = new developer.TimelineTask.new({parent: this[_timeline], filterKey: "HTTP/client"});
    this.responseStartTimestamp = developer.Timeline.now;
    this[_responseTimeline].start("HTTP CLIENT response of " + dart.str(this.method), {arguments: (() => {
        let t280 = new _js_helper.LinkedMap.new();
        t280[$_set]("requestUri", dart.toString(this.uri));
        for (let t281 of dart.nullCheck(this.responseDetails)[$entries])
          t280[$_set](t281.key, t281.value);
        return t280;
      })()});
    this[_updated]();
  }
  finishRequestWithError(error) {
    if (error == null) dart.nullFailed(I[181], 188, 38, "error");
    this.requestInProgress = false;
    this.requestEndTimestamp = developer.Timeline.now;
    this.requestError = error;
    this[_timeline].finish({arguments: new _js_helper.LinkedMap.from(["error", error])});
    this[_updated]();
  }
  finishResponse() {
    this.responseInProgress = false;
    this.responseEndTimestamp = developer.Timeline.now;
    this.requestEvent("Content Download");
    this[_responseTimeline].finish();
    this[_updated]();
  }
  finishResponseWithError(error) {
    if (error == null) dart.nullFailed(I[181], 206, 39, "error");
    if (!dart.nullCheck(this.responseInProgress)) return;
    this.responseInProgress = false;
    this.responseEndTimestamp = developer.Timeline.now;
    this.responseError = error;
    this[_responseTimeline].finish({arguments: new _js_helper.LinkedMap.from(["error", error])});
    this[_updated]();
  }
  appendResponseData(data) {
    if (data == null) dart.nullFailed(I[181], 219, 37, "data");
    this.responseBody[$addAll](data);
    this[_updated]();
  }
  toJson(opts) {
    let ref = opts && 'ref' in opts ? opts.ref : true;
    if (ref == null) dart.nullFailed(I[181], 224, 37, "ref");
    return (() => {
      let t282 = new (T$0.IdentityMapOfString$dynamic()).new();
      t282[$_set]("type", (dart.test(ref) ? "@" : "") + "HttpProfileRequest");
      t282[$_set]("id", this.id);
      t282[$_set]("isolateId", _http._HttpProfileData.isolateId);
      t282[$_set]("method", this.method);
      t282[$_set]("uri", dart.toString(this.uri));
      t282[$_set]("startTime", this.requestStartTimestamp);
      if (!dart.test(this.requestInProgress)) t282[$_set]("endTime", this.requestEndTimestamp);
      if (!dart.test(this.requestInProgress)) t282[$_set]("request", (() => {
        let t283 = new (T$0.IdentityMapOfString$dynamic()).new();
        t283[$_set]("events", (() => {
          let t284 = T$0.JSArrayOfMapOfString$dynamic().of([]);
          for (let event of this.requestEvents)
            t284[$add](event.toJson());
          return t284;
        })());
        if (this.proxyDetails != null) t283[$_set]("proxyDetails", dart.nullCheck(this.proxyDetails));
        if (this.requestDetails != null) for (let t285 of dart.nullCheck(this.requestDetails)[$entries])
          t283[$_set](t285.key, t285.value);
        if (this.requestError != null) t283[$_set]("error", this.requestError);
        return t283;
      })());
      if (this.responseInProgress != null) t282[$_set]("response", (() => {
        let t286 = new (T$0.IdentityMapOfString$dynamic()).new();
        t286[$_set]("startTime", this.responseStartTimestamp);
        for (let t287 of dart.nullCheck(this.responseDetails)[$entries])
          t286[$_set](t287.key, t287.value);
        if (!dart.nullCheck(this.responseInProgress)) t286[$_set]("endTime", this.responseEndTimestamp);
        if (this.responseError != null) t286[$_set]("error", this.responseError);
        return t286;
      })());
      if (!dart.test(ref)) for (let t289 of (() => {
        let t288 = new (T$0.IdentityMapOfString$dynamic()).new();
        if (!dart.test(this.requestInProgress)) t288[$_set]("requestBody", this.requestBody);
        if (this.responseInProgress != null) t288[$_set]("responseBody", this.responseBody);
        return t288;
      })()[$entries])
        t282[$_set](t289.key, t289.value);
      return t282;
    })();
  }
  [_updated]() {
    return this[_lastUpdateTime] = developer.Timeline.now;
  }
  get id() {
    let t290;
    return dart.test(this[___HttpProfileData_id_isSet]) ? (t290 = this[___HttpProfileData_id], t290) : dart.throw(new _internal.LateError.fieldNI("id"));
  }
  set id(t290) {
    if (t290 == null) dart.nullFailed(I[181], 263, 18, "null");
    if (dart.test(this[___HttpProfileData_id_isSet]))
      dart.throw(new _internal.LateError.fieldAI("id"));
    else {
      this[___HttpProfileData_id_isSet] = true;
      this[___HttpProfileData_id] = t290;
    }
  }
  get requestStartTimestamp() {
    let t291;
    return dart.test(this[___HttpProfileData_requestStartTimestamp_isSet]) ? (t291 = this[___HttpProfileData_requestStartTimestamp], t291) : dart.throw(new _internal.LateError.fieldNI("requestStartTimestamp"));
  }
  set requestStartTimestamp(t291) {
    if (t291 == null) dart.nullFailed(I[181], 267, 18, "null");
    if (dart.test(this[___HttpProfileData_requestStartTimestamp_isSet]))
      dart.throw(new _internal.LateError.fieldAI("requestStartTimestamp"));
    else {
      this[___HttpProfileData_requestStartTimestamp_isSet] = true;
      this[___HttpProfileData_requestStartTimestamp] = t291;
    }
  }
  get requestEndTimestamp() {
    let t292;
    return dart.test(this[___HttpProfileData_requestEndTimestamp_isSet]) ? (t292 = this[___HttpProfileData_requestEndTimestamp], t292) : dart.throw(new _internal.LateError.fieldNI("requestEndTimestamp"));
  }
  set requestEndTimestamp(t292) {
    if (t292 == null) dart.nullFailed(I[181], 268, 18, "null");
    if (dart.test(this[___HttpProfileData_requestEndTimestamp_isSet]))
      dart.throw(new _internal.LateError.fieldAI("requestEndTimestamp"));
    else {
      this[___HttpProfileData_requestEndTimestamp_isSet] = true;
      this[___HttpProfileData_requestEndTimestamp] = t292;
    }
  }
  get responseStartTimestamp() {
    let t293;
    return dart.test(this[___HttpProfileData_responseStartTimestamp_isSet]) ? (t293 = this[___HttpProfileData_responseStartTimestamp], t293) : dart.throw(new _internal.LateError.fieldNI("responseStartTimestamp"));
  }
  set responseStartTimestamp(t293) {
    if (t293 == null) dart.nullFailed(I[181], 275, 18, "null");
    if (dart.test(this[___HttpProfileData_responseStartTimestamp_isSet]))
      dart.throw(new _internal.LateError.fieldAI("responseStartTimestamp"));
    else {
      this[___HttpProfileData_responseStartTimestamp_isSet] = true;
      this[___HttpProfileData_responseStartTimestamp] = t293;
    }
  }
  get responseEndTimestamp() {
    let t294;
    return dart.test(this[___HttpProfileData_responseEndTimestamp_isSet]) ? (t294 = this[___HttpProfileData_responseEndTimestamp], t294) : dart.throw(new _internal.LateError.fieldNI("responseEndTimestamp"));
  }
  set responseEndTimestamp(t294) {
    if (t294 == null) dart.nullFailed(I[181], 276, 18, "null");
    if (dart.test(this[___HttpProfileData_responseEndTimestamp_isSet]))
      dart.throw(new _internal.LateError.fieldAI("responseEndTimestamp"));
    else {
      this[___HttpProfileData_responseEndTimestamp_isSet] = true;
      this[___HttpProfileData_responseEndTimestamp] = t294;
    }
  }
  get lastUpdateTime() {
    return this[_lastUpdateTime];
  }
  get [_responseTimeline]() {
    let t295;
    return dart.test(this[___HttpProfileData__responseTimeline_isSet]) ? (t295 = this[___HttpProfileData__responseTimeline], t295) : dart.throw(new _internal.LateError.fieldNI("_responseTimeline"));
  }
  set [_responseTimeline](t295) {
    if (t295 == null) dart.nullFailed(I[181], 285, 21, "null");
    this[___HttpProfileData__responseTimeline_isSet] = true;
    this[___HttpProfileData__responseTimeline] = t295;
  }
};
(_http._HttpProfileData.new = function(method, uri, parent) {
  if (method == null) dart.nullFailed(I[181], 58, 27, "method");
  if (uri == null) dart.nullFailed(I[181], 58, 40, "uri");
  this.requestInProgress = true;
  this.responseInProgress = null;
  this[___HttpProfileData_id] = null;
  this[___HttpProfileData_id_isSet] = false;
  this[___HttpProfileData_requestStartTimestamp] = null;
  this[___HttpProfileData_requestStartTimestamp_isSet] = false;
  this[___HttpProfileData_requestEndTimestamp] = null;
  this[___HttpProfileData_requestEndTimestamp_isSet] = false;
  this.requestDetails = null;
  this.proxyDetails = null;
  this.requestBody = T$.JSArrayOfint().of([]);
  this.requestError = null;
  this.requestEvents = T$0.JSArrayOf_HttpProfileEvent().of([]);
  this[___HttpProfileData_responseStartTimestamp] = null;
  this[___HttpProfileData_responseStartTimestamp_isSet] = false;
  this[___HttpProfileData_responseEndTimestamp] = null;
  this[___HttpProfileData_responseEndTimestamp_isSet] = false;
  this.responseDetails = null;
  this.responseBody = T$.JSArrayOfint().of([]);
  this.responseError = null;
  this[_lastUpdateTime] = 0;
  this[___HttpProfileData__responseTimeline] = null;
  this[___HttpProfileData__responseTimeline_isSet] = false;
  this.uri = uri;
  this.method = method[$toUpperCase]();
  this[_timeline] = new developer.TimelineTask.new({filterKey: "HTTP/client", parent: parent});
  this.id = this[_timeline].pass();
  this.requestInProgress = true;
  this.requestStartTimestamp = developer.Timeline.now;
  this[_timeline].start("HTTP CLIENT " + dart.str(method), {arguments: new _js_helper.LinkedMap.from(["method", method[$toUpperCase](), "uri", dart.toString(this.uri)])});
  this[_updated]();
}).prototype = _http._HttpProfileData.prototype;
dart.addTypeTests(_http._HttpProfileData);
dart.addTypeCaches(_http._HttpProfileData);
dart.setMethodSignature(_http._HttpProfileData, () => ({
  __proto__: dart.getMethods(_http._HttpProfileData.__proto__),
  requestEvent: dart.fnType(dart.void, [core.String], {arguments: dart.nullable(core.Map)}, {}),
  proxyEvent: dart.fnType(dart.void, [_http._Proxy]),
  appendRequestData: dart.fnType(dart.void, [typed_data.Uint8List]),
  formatHeaders: dart.fnType(core.Map, [dart.dynamic]),
  formatConnectionInfo: dart.fnType(dart.nullable(core.Map), [dart.dynamic]),
  finishRequest: dart.fnType(dart.void, [], {}, {request: _http.HttpClientRequest}),
  startResponse: dart.fnType(dart.void, [], {}, {response: _http.HttpClientResponse}),
  finishRequestWithError: dart.fnType(dart.void, [core.String]),
  finishResponse: dart.fnType(dart.void, []),
  finishResponseWithError: dart.fnType(dart.void, [core.String]),
  appendResponseData: dart.fnType(dart.void, [typed_data.Uint8List]),
  toJson: dart.fnType(core.Map$(core.String, dart.dynamic), [], {ref: core.bool}, {}),
  [_updated]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(_http._HttpProfileData, () => ({
  __proto__: dart.getGetters(_http._HttpProfileData.__proto__),
  id: core.int,
  requestStartTimestamp: core.int,
  requestEndTimestamp: core.int,
  responseStartTimestamp: core.int,
  responseEndTimestamp: core.int,
  lastUpdateTime: core.int,
  [_responseTimeline]: developer.TimelineTask
}));
dart.setSetterSignature(_http._HttpProfileData, () => ({
  __proto__: dart.getSetters(_http._HttpProfileData.__proto__),
  id: core.int,
  requestStartTimestamp: core.int,
  requestEndTimestamp: core.int,
  responseStartTimestamp: core.int,
  responseEndTimestamp: core.int,
  [_responseTimeline]: developer.TimelineTask
}));
dart.setLibraryUri(_http._HttpProfileData, I[177]);
dart.setFieldSignature(_http._HttpProfileData, () => ({
  __proto__: dart.getFields(_http._HttpProfileData.__proto__),
  requestInProgress: dart.fieldType(core.bool),
  responseInProgress: dart.fieldType(dart.nullable(core.bool)),
  [___HttpProfileData_id]: dart.fieldType(dart.nullable(core.int)),
  [___HttpProfileData_id_isSet]: dart.fieldType(core.bool),
  method: dart.finalFieldType(core.String),
  uri: dart.finalFieldType(core.Uri),
  [___HttpProfileData_requestStartTimestamp]: dart.fieldType(dart.nullable(core.int)),
  [___HttpProfileData_requestStartTimestamp_isSet]: dart.fieldType(core.bool),
  [___HttpProfileData_requestEndTimestamp]: dart.fieldType(dart.nullable(core.int)),
  [___HttpProfileData_requestEndTimestamp_isSet]: dart.fieldType(core.bool),
  requestDetails: dart.fieldType(dart.nullable(core.Map$(core.String, dart.dynamic))),
  proxyDetails: dart.fieldType(dart.nullable(core.Map$(core.String, dart.dynamic))),
  requestBody: dart.finalFieldType(core.List$(core.int)),
  requestError: dart.fieldType(dart.nullable(core.String)),
  requestEvents: dart.finalFieldType(core.List$(_http._HttpProfileEvent)),
  [___HttpProfileData_responseStartTimestamp]: dart.fieldType(dart.nullable(core.int)),
  [___HttpProfileData_responseStartTimestamp_isSet]: dart.fieldType(core.bool),
  [___HttpProfileData_responseEndTimestamp]: dart.fieldType(dart.nullable(core.int)),
  [___HttpProfileData_responseEndTimestamp_isSet]: dart.fieldType(core.bool),
  responseDetails: dart.fieldType(dart.nullable(core.Map$(core.String, dart.dynamic))),
  responseBody: dart.finalFieldType(core.List$(core.int)),
  responseError: dart.fieldType(dart.nullable(core.String)),
  [_lastUpdateTime]: dart.fieldType(core.int),
  [_timeline]: dart.fieldType(developer.TimelineTask),
  [___HttpProfileData__responseTimeline]: dart.fieldType(dart.nullable(developer.TimelineTask)),
  [___HttpProfileData__responseTimeline_isSet]: dart.fieldType(core.bool)
}));
dart.defineLazy(_http._HttpProfileData, {
  /*_http._HttpProfileData.isolateId*/get isolateId() {
    return dart.nullCheck(developer.Service.getIsolateID(isolate$.Isolate.current));
  }
}, false);
var __serviceId$ = dart.privateName(_http, "_ServiceObject.__serviceId");
var __serviceId$0 = dart.privateName(_http, "__serviceId");
var _serviceId$ = dart.privateName(_http, "_serviceId");
var _serviceTypePath$ = dart.privateName(_http, "_serviceTypePath");
var _servicePath$ = dart.privateName(_http, "_servicePath");
var _serviceTypeName$ = dart.privateName(_http, "_serviceTypeName");
var _serviceType$ = dart.privateName(_http, "_serviceType");
_http._ServiceObject = class _ServiceObject extends core.Object {
  get [__serviceId$0]() {
    return this[__serviceId$];
  }
  set [__serviceId$0](value) {
    this[__serviceId$] = value;
  }
  get [_serviceId$]() {
    let t296;
    if (this[__serviceId$0] === 0) this[__serviceId$0] = (t296 = _http._nextServiceId, _http._nextServiceId = dart.notNull(t296) + 1, t296);
    return this[__serviceId$0];
  }
  get [_servicePath$]() {
    return dart.str(this[_serviceTypePath$]) + "/" + dart.str(this[_serviceId$]);
  }
  [_serviceType$](ref) {
    if (ref == null) dart.nullFailed(I[181], 306, 28, "ref");
    if (dart.test(ref)) return "@" + dart.str(this[_serviceTypeName$]);
    return this[_serviceTypeName$];
  }
};
(_http._ServiceObject.new = function() {
  this[__serviceId$] = 0;
  ;
}).prototype = _http._ServiceObject.prototype;
dart.addTypeTests(_http._ServiceObject);
dart.addTypeCaches(_http._ServiceObject);
dart.setMethodSignature(_http._ServiceObject, () => ({
  __proto__: dart.getMethods(_http._ServiceObject.__proto__),
  [_serviceType$]: dart.fnType(core.String, [core.bool])
}));
dart.setGetterSignature(_http._ServiceObject, () => ({
  __proto__: dart.getGetters(_http._ServiceObject.__proto__),
  [_serviceId$]: core.int,
  [_servicePath$]: core.String
}));
dart.setLibraryUri(_http._ServiceObject, I[177]);
dart.setFieldSignature(_http._ServiceObject, () => ({
  __proto__: dart.getFields(_http._ServiceObject.__proto__),
  [__serviceId$0]: dart.fieldType(core.int)
}));
var _length$1 = dart.privateName(_http, "_length");
var _buffer$1 = dart.privateName(_http, "_buffer");
var _grow$0 = dart.privateName(_http, "_grow");
_http._CopyingBytesBuilder = class _CopyingBytesBuilder extends core.Object {
  add(bytes) {
    if (bytes == null) dart.nullFailed(I[181], 326, 22, "bytes");
    let bytesLength = bytes[$length];
    if (bytesLength === 0) return;
    let required = dart.notNull(this[_length$1]) + dart.notNull(bytesLength);
    if (dart.notNull(this[_buffer$1][$length]) < required) {
      this[_grow$0](required);
    }
    if (!(dart.notNull(this[_buffer$1][$length]) >= required)) dart.assertFailed(null, I[181], 333, 12, "_buffer.length >= required");
    if (typed_data.Uint8List.is(bytes)) {
      this[_buffer$1][$setRange](this[_length$1], required, bytes);
    } else {
      for (let i = 0; i < dart.notNull(bytesLength); i = i + 1) {
        this[_buffer$1][$_set](dart.notNull(this[_length$1]) + i, bytes[$_get](i));
      }
    }
    this[_length$1] = required;
  }
  addByte(byte) {
    if (byte == null) dart.nullFailed(I[181], 344, 20, "byte");
    if (this[_buffer$1][$length] == this[_length$1]) {
      this[_grow$0](this[_length$1]);
    }
    if (!(dart.notNull(this[_buffer$1][$length]) > dart.notNull(this[_length$1]))) dart.assertFailed(null, I[181], 350, 12, "_buffer.length > _length");
    this[_buffer$1][$_set](this[_length$1], byte);
    this[_length$1] = dart.notNull(this[_length$1]) + 1;
  }
  [_grow$0](required) {
    if (required == null) dart.nullFailed(I[181], 355, 18, "required");
    let newSize = dart.notNull(required) * 2;
    if (dart.notNull(newSize) < 1024) {
      newSize = 1024;
    } else {
      newSize = _http._CopyingBytesBuilder._pow2roundup(newSize);
    }
    let newBuffer = _native_typed_data.NativeUint8List.new(newSize);
    newBuffer[$setRange](0, this[_buffer$1][$length], this[_buffer$1]);
    this[_buffer$1] = newBuffer;
  }
  takeBytes() {
    if (this[_length$1] === 0) return _http._CopyingBytesBuilder._emptyList;
    let buffer = typed_data.Uint8List.view(this[_buffer$1][$buffer], this[_buffer$1][$offsetInBytes], this[_length$1]);
    this.clear();
    return buffer;
  }
  toBytes() {
    if (this[_length$1] === 0) return _http._CopyingBytesBuilder._emptyList;
    return _native_typed_data.NativeUint8List.fromList(typed_data.Uint8List.view(this[_buffer$1][$buffer], this[_buffer$1][$offsetInBytes], this[_length$1]));
  }
  get length() {
    return this[_length$1];
  }
  get isEmpty() {
    return this[_length$1] === 0;
  }
  get isNotEmpty() {
    return this[_length$1] !== 0;
  }
  clear() {
    this[_length$1] = 0;
    this[_buffer$1] = _http._CopyingBytesBuilder._emptyList;
  }
  static _pow2roundup(x) {
    if (x == null) dart.nullFailed(I[181], 394, 31, "x");
    if (!(dart.notNull(x) > 0)) dart.assertFailed(null, I[181], 395, 12, "x > 0");
    x = dart.notNull(x) - 1;
    x = (dart.notNull(x) | x[$rightShift](1)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](2)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](4)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](8)) >>> 0;
    x = (dart.notNull(x) | x[$rightShift](16)) >>> 0;
    return dart.notNull(x) + 1;
  }
};
(_http._CopyingBytesBuilder.new = function(initialCapacity = 0) {
  if (initialCapacity == null) dart.nullFailed(I[181], 321, 29, "initialCapacity");
  this[_length$1] = 0;
  this[_buffer$1] = dart.notNull(initialCapacity) <= 0 ? _http._CopyingBytesBuilder._emptyList : _native_typed_data.NativeUint8List.new(_http._CopyingBytesBuilder._pow2roundup(initialCapacity));
  ;
}).prototype = _http._CopyingBytesBuilder.prototype;
dart.addTypeTests(_http._CopyingBytesBuilder);
dart.addTypeCaches(_http._CopyingBytesBuilder);
_http._CopyingBytesBuilder[dart.implements] = () => [_internal.BytesBuilder];
dart.setMethodSignature(_http._CopyingBytesBuilder, () => ({
  __proto__: dart.getMethods(_http._CopyingBytesBuilder.__proto__),
  add: dart.fnType(dart.void, [core.List$(core.int)]),
  addByte: dart.fnType(dart.void, [core.int]),
  [_grow$0]: dart.fnType(dart.void, [core.int]),
  takeBytes: dart.fnType(typed_data.Uint8List, []),
  toBytes: dart.fnType(typed_data.Uint8List, []),
  clear: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(_http._CopyingBytesBuilder, () => ({
  __proto__: dart.getGetters(_http._CopyingBytesBuilder.__proto__),
  length: core.int,
  isEmpty: core.bool,
  isNotEmpty: core.bool
}));
dart.setLibraryUri(_http._CopyingBytesBuilder, I[177]);
dart.setFieldSignature(_http._CopyingBytesBuilder, () => ({
  __proto__: dart.getFields(_http._CopyingBytesBuilder.__proto__),
  [_length$1]: dart.fieldType(core.int),
  [_buffer$1]: dart.fieldType(typed_data.Uint8List)
}));
dart.defineLazy(_http._CopyingBytesBuilder, {
  /*_http._CopyingBytesBuilder._INIT_SIZE*/get _INIT_SIZE() {
    return 1024;
  },
  /*_http._CopyingBytesBuilder._emptyList*/get _emptyList() {
    return _native_typed_data.NativeUint8List.new(0);
  }
}, false);
var _dataCompleter = dart.privateName(_http, "_dataCompleter");
var _transferLength$ = dart.privateName(_http, "_transferLength");
var _stream$1 = dart.privateName(_http, "_stream");
_http._HttpIncoming = class _HttpIncoming extends async.Stream$(typed_data.Uint8List) {
  get transferLength() {
    return this[_transferLength$];
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    this.hasSubscriber = true;
    return this[_stream$1].handleError(dart.fn(error => {
      dart.throw(new _http.HttpException.new(core.String.as(dart.dload(error, 'message')), {uri: this.uri}));
    }, T$0.dynamicToNever())).listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  get dataDone() {
    return this[_dataCompleter].future;
  }
  close(closing) {
    if (closing == null) dart.nullFailed(I[181], 451, 19, "closing");
    this.fullBodyRead = true;
    this.hasSubscriber = true;
    this[_dataCompleter].complete(closing);
  }
};
(_http._HttpIncoming.new = function(headers, _transferLength, _stream) {
  if (headers == null) dart.nullFailed(I[181], 437, 22, "headers");
  if (_transferLength == null) dart.nullFailed(I[181], 437, 36, "_transferLength");
  if (_stream == null) dart.nullFailed(I[181], 437, 58, "_stream");
  this[_dataCompleter] = async.Completer.new();
  this.fullBodyRead = false;
  this.upgraded = false;
  this.statusCode = null;
  this.reasonPhrase = null;
  this.method = null;
  this.uri = null;
  this.hasSubscriber = false;
  this.headers = headers;
  this[_transferLength$] = _transferLength;
  this[_stream$1] = _stream;
  _http._HttpIncoming.__proto__.new.call(this);
  ;
}).prototype = _http._HttpIncoming.prototype;
dart.addTypeTests(_http._HttpIncoming);
dart.addTypeCaches(_http._HttpIncoming);
dart.setMethodSignature(_http._HttpIncoming, () => ({
  __proto__: dart.getMethods(_http._HttpIncoming.__proto__),
  listen: dart.fnType(async.StreamSubscription$(typed_data.Uint8List), [dart.nullable(dart.fnType(dart.void, [typed_data.Uint8List]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  close: dart.fnType(dart.void, [core.bool])
}));
dart.setGetterSignature(_http._HttpIncoming, () => ({
  __proto__: dart.getGetters(_http._HttpIncoming.__proto__),
  transferLength: core.int,
  dataDone: async.Future
}));
dart.setLibraryUri(_http._HttpIncoming, I[177]);
dart.setFieldSignature(_http._HttpIncoming, () => ({
  __proto__: dart.getFields(_http._HttpIncoming.__proto__),
  [_transferLength$]: dart.finalFieldType(core.int),
  [_dataCompleter]: dart.finalFieldType(async.Completer),
  [_stream$1]: dart.fieldType(async.Stream$(typed_data.Uint8List)),
  fullBodyRead: dart.fieldType(core.bool),
  headers: dart.finalFieldType(_http._HttpHeaders),
  upgraded: dart.fieldType(core.bool),
  statusCode: dart.fieldType(dart.nullable(core.int)),
  reasonPhrase: dart.fieldType(dart.nullable(core.String)),
  method: dart.fieldType(dart.nullable(core.String)),
  uri: dart.fieldType(dart.nullable(core.Uri)),
  hasSubscriber: dart.fieldType(core.bool)
}));
var _cookies = dart.privateName(_http, "_cookies");
var _incoming$ = dart.privateName(_http, "_incoming");
_http._HttpInboundMessageListInt = class _HttpInboundMessageListInt extends async.Stream$(core.List$(core.int)) {
  get cookies() {
    let t296;
    t296 = this[_cookies];
    return t296 == null ? this[_cookies] = this.headers[_parseCookies]() : t296;
  }
  get headers() {
    return this[_incoming$].headers;
  }
  get protocolVersion() {
    return this.headers.protocolVersion;
  }
  get contentLength() {
    return this.headers.contentLength;
  }
  get persistentConnection() {
    return this.headers.persistentConnection;
  }
};
(_http._HttpInboundMessageListInt.new = function(_incoming) {
  if (_incoming == null) dart.nullFailed(I[181], 462, 35, "_incoming");
  this[_cookies] = null;
  this[_incoming$] = _incoming;
  _http._HttpInboundMessageListInt.__proto__.new.call(this);
  ;
}).prototype = _http._HttpInboundMessageListInt.prototype;
dart.addTypeTests(_http._HttpInboundMessageListInt);
dart.addTypeCaches(_http._HttpInboundMessageListInt);
dart.setGetterSignature(_http._HttpInboundMessageListInt, () => ({
  __proto__: dart.getGetters(_http._HttpInboundMessageListInt.__proto__),
  cookies: core.List$(_http.Cookie),
  headers: _http._HttpHeaders,
  protocolVersion: core.String,
  contentLength: core.int,
  persistentConnection: core.bool
}));
dart.setLibraryUri(_http._HttpInboundMessageListInt, I[177]);
dart.setFieldSignature(_http._HttpInboundMessageListInt, () => ({
  __proto__: dart.getFields(_http._HttpInboundMessageListInt.__proto__),
  [_incoming$]: dart.finalFieldType(_http._HttpIncoming),
  [_cookies]: dart.fieldType(dart.nullable(core.List$(_http.Cookie)))
}));
_http._HttpInboundMessage = class _HttpInboundMessage extends async.Stream$(typed_data.Uint8List) {
  get cookies() {
    let t296;
    t296 = this[_cookies];
    return t296 == null ? this[_cookies] = this.headers[_parseCookies]() : t296;
  }
  get headers() {
    return this[_incoming$].headers;
  }
  get protocolVersion() {
    return this.headers.protocolVersion;
  }
  get contentLength() {
    return this.headers.contentLength;
  }
  get persistentConnection() {
    return this.headers.persistentConnection;
  }
};
(_http._HttpInboundMessage.new = function(_incoming) {
  if (_incoming == null) dart.nullFailed(I[181], 476, 28, "_incoming");
  this[_cookies] = null;
  this[_incoming$] = _incoming;
  _http._HttpInboundMessage.__proto__.new.call(this);
  ;
}).prototype = _http._HttpInboundMessage.prototype;
dart.addTypeTests(_http._HttpInboundMessage);
dart.addTypeCaches(_http._HttpInboundMessage);
dart.setGetterSignature(_http._HttpInboundMessage, () => ({
  __proto__: dart.getGetters(_http._HttpInboundMessage.__proto__),
  cookies: core.List$(_http.Cookie),
  headers: _http._HttpHeaders,
  protocolVersion: core.String,
  contentLength: core.int,
  persistentConnection: core.bool
}));
dart.setLibraryUri(_http._HttpInboundMessage, I[177]);
dart.setFieldSignature(_http._HttpInboundMessage, () => ({
  __proto__: dart.getFields(_http._HttpInboundMessage.__proto__),
  [_incoming$]: dart.finalFieldType(_http._HttpIncoming),
  [_cookies]: dart.fieldType(dart.nullable(core.List$(_http.Cookie)))
}));
var _session = dart.privateName(_http, "_session");
var _requestedUri = dart.privateName(_http, "_requestedUri");
var _httpServer$ = dart.privateName(_http, "_httpServer");
var _httpConnection$ = dart.privateName(_http, "_httpConnection");
var _sessionManagerInstance = dart.privateName(_http, "_sessionManagerInstance");
var _sessionManager$ = dart.privateName(_http, "_sessionManager");
var _markSeen = dart.privateName(_http, "_markSeen");
var _socket$0 = dart.privateName(_http, "_socket");
var _destroyed = dart.privateName(_http, "_destroyed");
_http._HttpRequest = class _HttpRequest extends _http._HttpInboundMessage {
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    return this[_incoming$].listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  get uri() {
    return dart.nullCheck(this[_incoming$].uri);
  }
  get requestedUri() {
    let requestedUri = this[_requestedUri];
    if (requestedUri != null) return requestedUri;
    let proto = this.headers._get("x-forwarded-proto");
    let scheme = proto != null ? proto[$first] : io.SecureSocket.is(this[_httpConnection$][_socket$0]) ? "https" : "http";
    let hostList = this.headers._get("x-forwarded-host");
    let host = null;
    if (hostList != null) {
      host = hostList[$first];
    } else {
      hostList = this.headers._get("host");
      if (hostList != null) {
        host = hostList[$first];
      } else {
        host = dart.str(this[_httpServer$].address.host) + ":" + dart.str(this[_httpServer$].port);
      }
    }
    return this[_requestedUri] = core.Uri.parse(dart.str(scheme) + "://" + dart.str(host) + dart.str(this.uri));
  }
  get method() {
    return dart.nullCheck(this[_incoming$].method);
  }
  get session() {
    let session = this[_session];
    if (session != null && !dart.test(session[_destroyed])) {
      return session;
    }
    return this[_session] = this[_httpServer$][_sessionManager$].createSession();
  }
  get connectionInfo() {
    return this[_httpConnection$].connectionInfo;
  }
  get certificate() {
    let socket = this[_httpConnection$][_socket$0];
    if (io.SecureSocket.is(socket)) return socket.peerCertificate;
    return null;
  }
};
(_http._HttpRequest.new = function(response, _incoming, _httpServer, _httpConnection) {
  let t296;
  if (response == null) dart.nullFailed(I[181], 497, 21, "response");
  if (_incoming == null) dart.nullFailed(I[181], 497, 45, "_incoming");
  if (_httpServer == null) dart.nullFailed(I[181], 497, 61, "_httpServer");
  if (_httpConnection == null) dart.nullFailed(I[181], 498, 12, "_httpConnection");
  this[_session] = null;
  this[_requestedUri] = null;
  this.response = response;
  this[_httpServer$] = _httpServer;
  this[_httpConnection$] = _httpConnection;
  _http._HttpRequest.__proto__.new.call(this, _incoming);
  if (this.headers.protocolVersion === "1.1") {
    t296 = this.response.headers;
    (() => {
      t296.chunkedTransferEncoding = true;
      t296.persistentConnection = this.headers.persistentConnection;
      return t296;
    })();
  }
  if (this[_httpServer$][_sessionManagerInstance] != null) {
    let sessionIds = this.cookies[$where](dart.fn(cookie => {
      if (cookie == null) dart.nullFailed(I[181], 509, 19, "cookie");
      return cookie.name[$toUpperCase]() === "DARTSESSID";
    }, T$0.CookieTobool()))[$map](core.String, dart.fn(cookie => {
      if (cookie == null) dart.nullFailed(I[181], 510, 25, "cookie");
      return cookie.value;
    }, T$0.CookieToString()));
    for (let sessionId of sessionIds) {
      let session = this[_httpServer$][_sessionManager$].getSession(sessionId);
      this[_session] = session;
      if (session != null) {
        session[_markSeen]();
        break;
      }
    }
  }
}).prototype = _http._HttpRequest.prototype;
dart.addTypeTests(_http._HttpRequest);
dart.addTypeCaches(_http._HttpRequest);
_http._HttpRequest[dart.implements] = () => [_http.HttpRequest];
dart.setMethodSignature(_http._HttpRequest, () => ({
  __proto__: dart.getMethods(_http._HttpRequest.__proto__),
  listen: dart.fnType(async.StreamSubscription$(typed_data.Uint8List), [dart.nullable(dart.fnType(dart.void, [typed_data.Uint8List]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
}));
dart.setGetterSignature(_http._HttpRequest, () => ({
  __proto__: dart.getGetters(_http._HttpRequest.__proto__),
  uri: core.Uri,
  requestedUri: core.Uri,
  method: core.String,
  session: _http.HttpSession,
  connectionInfo: dart.nullable(_http.HttpConnectionInfo),
  certificate: dart.nullable(io.X509Certificate)
}));
dart.setLibraryUri(_http._HttpRequest, I[177]);
dart.setFieldSignature(_http._HttpRequest, () => ({
  __proto__: dart.getFields(_http._HttpRequest.__proto__),
  response: dart.finalFieldType(_http.HttpResponse),
  [_httpServer$]: dart.finalFieldType(_http._HttpServer),
  [_httpConnection$]: dart.finalFieldType(_http._HttpConnection),
  [_session]: dart.fieldType(dart.nullable(_http._HttpSession)),
  [_requestedUri]: dart.fieldType(dart.nullable(core.Uri))
}));
var _httpRequest$ = dart.privateName(_http, "_httpRequest");
var _httpClient$ = dart.privateName(_http, "_httpClient");
var _profileData$ = dart.privateName(_http, "_profileData");
var _responseRedirects = dart.privateName(_http, "_responseRedirects");
var _httpClientConnection$ = dart.privateName(_http, "_httpClientConnection");
var _openUrlFromRequest = dart.privateName(_http, "_openUrlFromRequest");
var _connectionClosed = dart.privateName(_http, "_connectionClosed");
var _shouldAuthenticateProxy = dart.privateName(_http, "_shouldAuthenticateProxy");
var _shouldAuthenticate = dart.privateName(_http, "_shouldAuthenticate");
var _proxy$ = dart.privateName(_http, "_proxy");
var _findProxyCredentials = dart.privateName(_http, "_findProxyCredentials");
var _findCredentials = dart.privateName(_http, "_findCredentials");
var _removeProxyCredentials = dart.privateName(_http, "_removeProxyCredentials");
var _removeCredentials = dart.privateName(_http, "_removeCredentials");
var _authenticateProxy = dart.privateName(_http, "_authenticateProxy");
var _authenticate = dart.privateName(_http, "_authenticate");
_http._HttpClientResponse = class _HttpClientResponse extends _http._HttpInboundMessageListInt {
  get redirects() {
    return this[_httpRequest$][_responseRedirects];
  }
  static _getCompressionState(httpClient, headers) {
    if (httpClient == null) dart.nullFailed(I[181], 598, 19, "httpClient");
    if (headers == null) dart.nullFailed(I[181], 598, 44, "headers");
    if (headers.value("content-encoding") === "gzip") {
      return dart.test(httpClient.autoUncompress) ? _http.HttpClientResponseCompressionState.decompressed : _http.HttpClientResponseCompressionState.compressed;
    } else {
      return _http.HttpClientResponseCompressionState.notCompressed;
    }
  }
  get statusCode() {
    return dart.nullCheck(this[_incoming$].statusCode);
  }
  get reasonPhrase() {
    return dart.nullCheck(this[_incoming$].reasonPhrase);
  }
  get certificate() {
    let socket = this[_httpRequest$][_httpClientConnection$][_socket$0];
    if (io.SecureSocket.is(socket)) return socket.peerCertificate;
    return null;
  }
  get cookies() {
    let cookies = this[_cookies];
    if (cookies != null) return cookies;
    cookies = T$0.JSArrayOfCookie().of([]);
    let values = this.headers._get("set-cookie");
    if (values != null) {
      for (let value of values) {
        cookies[$add](_http.Cookie.fromSetCookieValue(value));
      }
    }
    this[_cookies] = cookies;
    return cookies;
  }
  get isRedirect() {
    if (this[_httpRequest$].method === "GET" || this[_httpRequest$].method === "HEAD") {
      return this.statusCode === 301 || this.statusCode === 308 || this.statusCode === 302 || this.statusCode === 303 || this.statusCode === 307;
    } else if (this[_httpRequest$].method === "POST") {
      return this.statusCode === 303;
    }
    return false;
  }
  redirect(method = null, url = null, followLoops = null) {
    if (method == null) {
      if (this.statusCode === 303 && this[_httpRequest$].method === "POST") {
        method = "GET";
      } else {
        method = this[_httpRequest$].method;
      }
    }
    if (url == null) {
      let location = this.headers.value("location");
      if (location == null) {
        dart.throw(new core.StateError.new("Response has no Location header for redirect"));
      }
      url = core.Uri.parse(location);
    }
    if (followLoops !== true) {
      for (let redirect of this.redirects) {
        if (dart.equals(redirect.location, url)) {
          return T$0.FutureOfHttpClientResponse().error(new _http.RedirectException.new("Redirect loop detected", this.redirects));
        }
      }
    }
    return this[_httpClient$][_openUrlFromRequest](method, url, this[_httpRequest$]).then(_http.HttpClientResponse, dart.fn(request => {
      let t296;
      if (request == null) dart.nullFailed(I[181], 671, 16, "request");
      t296 = request[_responseRedirects];
      (() => {
        t296[$addAll](this.redirects);
        t296[$add](new _http._RedirectInfo.new(this.statusCode, dart.nullCheck(method), dart.nullCheck(url)));
        return t296;
      })();
      return request.close();
    }, T$0._HttpClientRequestToFutureOfHttpClientResponse()));
  }
  listen(onData, opts) {
    let t296;
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    if (dart.test(this[_incoming$].upgraded)) {
      t296 = this[_profileData$];
      t296 == null ? null : t296.finishResponseWithError("Connection was upgraded");
      this[_httpRequest$][_httpClientConnection$].destroy();
      return new (T$0._EmptyStreamOfUint8List()).new().listen(null, {onDone: onDone});
    }
    let stream = this[_incoming$];
    if (this.compressionState == _http.HttpClientResponseCompressionState.decompressed) {
      stream = stream.cast(T$0.ListOfint()).transform(T$0.ListOfint(), io.gzip.decoder).transform(typed_data.Uint8List, C[468] || CT.C468);
    }
    if (this[_profileData$] != null) {
      stream = stream.map(typed_data.Uint8List, dart.fn(data => {
        let t296;
        if (data == null) dart.nullFailed(I[181], 698, 28, "data");
        t296 = this[_profileData$];
        t296 == null ? null : t296.appendResponseData(data);
        return data;
      }, T$0.Uint8ListToUint8List()));
    }
    return stream.listen(onData, {onError: dart.fn((e, st) => {
        let t296;
        t296 = this[_profileData$];
        t296 == null ? null : t296.finishResponseWithError(dart.toString(e));
        if (onError == null) {
          return;
        }
        if (T$.ObjectAndStackTraceTovoid().is(onError)) {
          onError(core.Object.as(e), core.StackTrace.as(st));
        } else {
          if (!T$.ObjectTovoid().is(onError)) dart.assertFailed(null, I[181], 711, 16, "onError is void Function(Object)");
          dart.dcall(onError, [e]);
        }
      }, T$.dynamicAnddynamicToNull()), onDone: dart.fn(() => {
        let t296;
        t296 = this[_profileData$];
        t296 == null ? null : t296.finishResponse();
        if (onDone != null) {
          onDone();
        }
      }, T$.VoidTovoid()), cancelOnError: cancelOnError});
  }
  detachSocket() {
    let t296;
    t296 = this[_profileData$];
    t296 == null ? null : t296.finishResponseWithError("Socket has been detached");
    this[_httpClient$][_connectionClosed](this[_httpRequest$][_httpClientConnection$]);
    return this[_httpRequest$][_httpClientConnection$].detachSocket();
  }
  get connectionInfo() {
    return this[_httpRequest$].connectionInfo;
  }
  get [_shouldAuthenticateProxy]() {
    let challenge = this.headers._get("proxy-authenticate");
    return this.statusCode === 407 && challenge != null && challenge[$length] === 1;
  }
  get [_shouldAuthenticate]() {
    let challenge = this.headers._get("www-authenticate");
    return this.statusCode === 401 && challenge != null && challenge[$length] === 1;
  }
  [_authenticate](proxyAuth) {
    let t296, t296$;
    if (proxyAuth == null) dart.nullFailed(I[181], 746, 49, "proxyAuth");
    t296 = this[_httpRequest$][_profileData$];
    t296 == null ? null : t296.requestEvent("Authentication");
    const retry = () => {
      let t296;
      t296 = this[_httpRequest$][_profileData$];
      t296 == null ? null : t296.requestEvent("Retrying");
      return this.drain(dart.dynamic).then(_http.HttpClientResponse, dart.fn(_ => this[_httpClient$][_openUrlFromRequest](this[_httpRequest$].method, this[_httpRequest$].uri, this[_httpRequest$]).then(_http.HttpClientResponse, dart.fn(request => {
        if (request == null) dart.nullFailed(I[181], 755, 20, "request");
        return request.close();
      }, T$0._HttpClientRequestToFutureOfHttpClientResponse())), T$0.dynamicToFutureOfHttpClientResponse()));
    };
    dart.fn(retry, T$0.VoidToFutureOfHttpClientResponse());
    const authChallenge = () => {
      return dart.test(proxyAuth) ? this.headers._get("proxy-authenticate") : this.headers._get("www-authenticate");
    };
    dart.fn(authChallenge, T$0.VoidToListNOfString());
    const findCredentials = scheme => {
      if (scheme == null) dart.nullFailed(I[181], 765, 57, "scheme");
      return dart.test(proxyAuth) ? this[_httpClient$][_findProxyCredentials](this[_httpRequest$][_proxy$], scheme) : this[_httpClient$][_findCredentials](this[_httpRequest$].uri, scheme);
    };
    dart.fn(findCredentials, T$0._AuthenticationSchemeTo_CredentialsN());
    const removeCredentials = cr => {
      if (cr == null) dart.nullFailed(I[181], 771, 41, "cr");
      if (dart.test(proxyAuth)) {
        this[_httpClient$][_removeProxyCredentials](cr);
      } else {
        this[_httpClient$][_removeCredentials](cr);
      }
    };
    dart.fn(removeCredentials, T$0._CredentialsTovoid());
    const requestAuthentication = (scheme, realm) => {
      if (scheme == null) dart.nullFailed(I[181], 780, 31, "scheme");
      if (dart.test(proxyAuth)) {
        let authenticateProxy = this[_httpClient$][_authenticateProxy];
        if (authenticateProxy == null) {
          return T$.FutureOfbool().value(false);
        }
        let proxy = this[_httpRequest$][_proxy$];
        if (!dart.test(proxy.isDirect)) {
          return authenticateProxy(dart.nullCheck(proxy.host), dart.nullCheck(proxy.port), dart.toString(scheme), realm);
        }
      }
      let authenticate = this[_httpClient$][_authenticate];
      if (authenticate == null) {
        return T$.FutureOfbool().value(false);
      }
      return authenticate(this[_httpRequest$].uri, dart.toString(scheme), realm);
    };
    dart.fn(requestAuthentication, T$0._AuthenticationSchemeAndStringNToFutureOfbool());
    let challenge = dart.nullCheck(authChallenge());
    if (!(challenge[$length] === 1)) dart.assertFailed(null, I[181], 800, 12, "challenge.length == 1");
    let header = _http._HeaderValue.parse(challenge[$_get](0), {parameterSeparator: ","});
    let scheme = _http._AuthenticationScheme.fromString(header.value);
    let realm = header.parameters[$_get]("realm");
    let cr = findCredentials(scheme);
    if (cr != null) {
      if (dart.equals(cr.scheme, _http._AuthenticationScheme.BASIC) && !dart.test(cr.used)) {
        return retry();
      }
      if (dart.equals(cr.scheme, _http._AuthenticationScheme.DIGEST)) {
        let algorithm = header.parameters[$_get]("algorithm");
        if (algorithm == null || algorithm[$toLowerCase]() === "md5") {
          let nonce = cr.nonce;
          if (nonce == null || nonce == header.parameters[$_get]("nonce")) {
            if (nonce == null) {
              t296$ = cr;
              (() => {
                t296$.nonce = header.parameters[$_get]("nonce");
                t296$.algorithm = "MD5";
                t296$.qop = header.parameters[$_get]("qop");
                t296$.nonceCount = 0;
                return t296$;
              })();
            }
            return retry();
          } else {
            let staleHeader = header.parameters[$_get]("stale");
            if (staleHeader != null && staleHeader[$toLowerCase]() === "true") {
              cr.nonce = header.parameters[$_get]("nonce");
              return retry();
            }
          }
        }
      }
    }
    if (cr != null) {
      removeCredentials(cr);
      cr = null;
    }
    return requestAuthentication(scheme, realm).then(_http.HttpClientResponse, dart.fn(credsAvailable => {
      if (credsAvailable == null) dart.nullFailed(I[181], 855, 55, "credsAvailable");
      if (dart.test(credsAvailable)) {
        cr = this[_httpClient$][_findCredentials](this[_httpRequest$].uri, scheme);
        return retry();
      } else {
        return this;
      }
    }, T$0.boolToFutureOrOfHttpClientResponse()));
  }
};
(_http._HttpClientResponse.new = function(_incoming, _httpRequest, _httpClient, _profileData) {
  if (_incoming == null) dart.nullFailed(I[181], 589, 37, "_incoming");
  if (_httpRequest == null) dart.nullFailed(I[181], 589, 53, "_httpRequest");
  if (_httpClient == null) dart.nullFailed(I[181], 590, 12, "_httpClient");
  this[_httpRequest$] = _httpRequest;
  this[_httpClient$] = _httpClient;
  this[_profileData$] = _profileData;
  this.compressionState = _http._HttpClientResponse._getCompressionState(_httpClient, _incoming.headers);
  _http._HttpClientResponse.__proto__.new.call(this, _incoming);
  _incoming.uri = this[_httpRequest$].uri;
}).prototype = _http._HttpClientResponse.prototype;
dart.addTypeTests(_http._HttpClientResponse);
dart.addTypeCaches(_http._HttpClientResponse);
_http._HttpClientResponse[dart.implements] = () => [_http.HttpClientResponse];
dart.setMethodSignature(_http._HttpClientResponse, () => ({
  __proto__: dart.getMethods(_http._HttpClientResponse.__proto__),
  redirect: dart.fnType(async.Future$(_http.HttpClientResponse), [], [dart.nullable(core.String), dart.nullable(core.Uri), dart.nullable(core.bool)]),
  listen: dart.fnType(async.StreamSubscription$(typed_data.Uint8List), [dart.nullable(dart.fnType(dart.void, [typed_data.Uint8List]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  detachSocket: dart.fnType(async.Future$(io.Socket), []),
  [_authenticate]: dart.fnType(async.Future$(_http.HttpClientResponse), [core.bool])
}));
dart.setGetterSignature(_http._HttpClientResponse, () => ({
  __proto__: dart.getGetters(_http._HttpClientResponse.__proto__),
  redirects: core.List$(_http.RedirectInfo),
  statusCode: core.int,
  reasonPhrase: core.String,
  certificate: dart.nullable(io.X509Certificate),
  isRedirect: core.bool,
  connectionInfo: dart.nullable(_http.HttpConnectionInfo),
  [_shouldAuthenticateProxy]: core.bool,
  [_shouldAuthenticate]: core.bool
}));
dart.setLibraryUri(_http._HttpClientResponse, I[177]);
dart.setFieldSignature(_http._HttpClientResponse, () => ({
  __proto__: dart.getFields(_http._HttpClientResponse.__proto__),
  [_httpClient$]: dart.finalFieldType(_http._HttpClient),
  [_httpRequest$]: dart.finalFieldType(_http._HttpClientRequest),
  compressionState: dart.finalFieldType(_http.HttpClientResponseCompressionState),
  [_profileData$]: dart.finalFieldType(dart.nullable(_http._HttpProfileData))
}));
_http._ToUint8List = class _ToUint8List extends convert.Converter$(core.List$(core.int), typed_data.Uint8List) {
  convert(input) {
    T$0.ListOfint().as(input);
    if (input == null) dart.nullFailed(I[181], 870, 31, "input");
    return _native_typed_data.NativeUint8List.fromList(input);
  }
  startChunkedConversion(sink) {
    T$0.SinkOfUint8List().as(sink);
    if (sink == null) dart.nullFailed(I[181], 872, 58, "sink");
    return new _http._Uint8ListConversionSink.new(sink);
  }
};
(_http._ToUint8List.new = function() {
  _http._ToUint8List.__proto__.new.call(this);
  ;
}).prototype = _http._ToUint8List.prototype;
dart.addTypeTests(_http._ToUint8List);
dart.addTypeCaches(_http._ToUint8List);
dart.setMethodSignature(_http._ToUint8List, () => ({
  __proto__: dart.getMethods(_http._ToUint8List.__proto__),
  convert: dart.fnType(typed_data.Uint8List, [dart.nullable(core.Object)])
}));
dart.setLibraryUri(_http._ToUint8List, I[177]);
var _target$1 = dart.privateName(_http, "_Uint8ListConversionSink._target");
var _target$2 = dart.privateName(_http, "_target");
_http._Uint8ListConversionSink = class _Uint8ListConversionSink extends core.Object {
  get [_target$2]() {
    return this[_target$1];
  }
  set [_target$2](value) {
    super[_target$2] = value;
  }
  add(data) {
    T$0.ListOfint().as(data);
    if (data == null) dart.nullFailed(I[181], 882, 22, "data");
    this[_target$2].add(_native_typed_data.NativeUint8List.fromList(data));
  }
  close() {
    this[_target$2].close();
  }
};
(_http._Uint8ListConversionSink.new = function(_target) {
  if (_target == null) dart.nullFailed(I[181], 878, 39, "_target");
  this[_target$1] = _target;
  ;
}).prototype = _http._Uint8ListConversionSink.prototype;
dart.addTypeTests(_http._Uint8ListConversionSink);
dart.addTypeCaches(_http._Uint8ListConversionSink);
_http._Uint8ListConversionSink[dart.implements] = () => [core.Sink$(core.List$(core.int))];
dart.setMethodSignature(_http._Uint8ListConversionSink, () => ({
  __proto__: dart.getMethods(_http._Uint8ListConversionSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(_http._Uint8ListConversionSink, I[177]);
dart.setFieldSignature(_http._Uint8ListConversionSink, () => ({
  __proto__: dart.getFields(_http._Uint8ListConversionSink.__proto__),
  [_target$2]: dart.finalFieldType(core.Sink$(typed_data.Uint8List))
}));
var _doneCompleter$ = dart.privateName(_http, "_doneCompleter");
var _controllerInstance$ = dart.privateName(_http, "_controllerInstance");
var _controllerCompleter$ = dart.privateName(_http, "_controllerCompleter");
var _isClosed$0 = dart.privateName(_http, "_isClosed");
var _isBound$ = dart.privateName(_http, "_isBound");
var _hasError$0 = dart.privateName(_http, "_hasError");
var _controller$0 = dart.privateName(_http, "_controller");
var _closeTarget$ = dart.privateName(_http, "_closeTarget");
var _completeDoneValue$ = dart.privateName(_http, "_completeDoneValue");
var _completeDoneError$ = dart.privateName(_http, "_completeDoneError");
const _is__StreamSinkImpl_default$ = Symbol('_is__StreamSinkImpl_default');
_http._StreamSinkImpl$ = dart.generic(T => {
  var __t$StreamOfT = () => (__t$StreamOfT = dart.constFn(async.Stream$(T)))();
  var __t$StreamControllerOfT = () => (__t$StreamControllerOfT = dart.constFn(async.StreamController$(T)))();
  class _StreamSinkImpl extends core.Object {
    add(data) {
      T.as(data);
      if (dart.test(this[_isClosed$0])) {
        dart.throw(new core.StateError.new("StreamSink is closed"));
      }
      this[_controller$0].add(data);
    }
    addError(error, stackTrace = null) {
      if (error == null) dart.nullFailed(I[181], 909, 24, "error");
      if (dart.test(this[_isClosed$0])) {
        dart.throw(new core.StateError.new("StreamSink is closed"));
      }
      this[_controller$0].addError(error, stackTrace);
    }
    addStream(stream) {
      __t$StreamOfT().as(stream);
      if (stream == null) dart.nullFailed(I[181], 916, 30, "stream");
      if (dart.test(this[_isBound$])) {
        dart.throw(new core.StateError.new("StreamSink is already bound to a stream"));
      }
      this[_isBound$] = true;
      if (dart.test(this[_hasError$0])) return this.done;
      const targetAddStream = () => {
        return this[_target$2].addStream(stream).whenComplete(dart.fn(() => {
          this[_isBound$] = false;
        }, T$.VoidToNull()));
      };
      dart.fn(targetAddStream, T$0.VoidToFuture());
      let controller = this[_controllerInstance$];
      if (controller == null) return targetAddStream();
      let future = dart.nullCheck(this[_controllerCompleter$]).future;
      controller.close();
      return future.then(dart.dynamic, dart.fn(_ => targetAddStream(), T$.dynamicToFuture()));
    }
    flush() {
      if (dart.test(this[_isBound$])) {
        dart.throw(new core.StateError.new("StreamSink is bound to a stream"));
      }
      let controller = this[_controllerInstance$];
      if (controller == null) return async.Future.value(this);
      this[_isBound$] = true;
      let future = dart.nullCheck(this[_controllerCompleter$]).future;
      controller.close();
      return future.whenComplete(dart.fn(() => {
        this[_isBound$] = false;
      }, T$.VoidToNull()));
    }
    close() {
      if (dart.test(this[_isBound$])) {
        dart.throw(new core.StateError.new("StreamSink is bound to a stream"));
      }
      if (!dart.test(this[_isClosed$0])) {
        this[_isClosed$0] = true;
        let controller = this[_controllerInstance$];
        if (controller != null) {
          controller.close();
        } else {
          this[_closeTarget$]();
        }
      }
      return this.done;
    }
    [_closeTarget$]() {
      this[_target$2].close().then(dart.void, dart.bind(this, _completeDoneValue$), {onError: dart.bind(this, _completeDoneError$)});
    }
    get done() {
      return this[_doneCompleter$].future;
    }
    [_completeDoneValue$](value) {
      if (!dart.test(this[_doneCompleter$].isCompleted)) {
        this[_doneCompleter$].complete(value);
      }
    }
    [_completeDoneError$](error, stackTrace) {
      if (error == null) dart.nullFailed(I[181], 980, 34, "error");
      if (stackTrace == null) dart.nullFailed(I[181], 980, 52, "stackTrace");
      if (!dart.test(this[_doneCompleter$].isCompleted)) {
        this[_hasError$0] = true;
        this[_doneCompleter$].completeError(error, stackTrace);
      }
    }
    get [_controller$0]() {
      if (dart.test(this[_isBound$])) {
        dart.throw(new core.StateError.new("StreamSink is bound to a stream"));
      }
      if (dart.test(this[_isClosed$0])) {
        dart.throw(new core.StateError.new("StreamSink is closed"));
      }
      if (this[_controllerInstance$] == null) {
        this[_controllerInstance$] = __t$StreamControllerOfT().new({sync: true});
        this[_controllerCompleter$] = async.Completer.new();
        this[_target$2].addStream(this[_controller$0].stream).then(core.Null, dart.fn(_ => {
          if (dart.test(this[_isBound$])) {
            dart.nullCheck(this[_controllerCompleter$]).complete(this);
            this[_controllerCompleter$] = null;
            this[_controllerInstance$] = null;
          } else {
            this[_closeTarget$]();
          }
        }, T$.dynamicToNull()), {onError: dart.fn((error, stackTrace) => {
            if (error == null) dart.nullFailed(I[181], 1007, 27, "error");
            if (stackTrace == null) dart.nullFailed(I[181], 1007, 45, "stackTrace");
            if (dart.test(this[_isBound$])) {
              dart.nullCheck(this[_controllerCompleter$]).completeError(error, stackTrace);
              this[_controllerCompleter$] = null;
              this[_controllerInstance$] = null;
            } else {
              this[_completeDoneError$](error, stackTrace);
            }
          }, T$.ObjectAndStackTraceToNull())});
      }
      return dart.nullCheck(this[_controllerInstance$]);
    }
  }
  (_StreamSinkImpl.new = function(_target) {
    if (_target == null) dart.nullFailed(I[181], 900, 24, "_target");
    this[_doneCompleter$] = T$0.CompleterOfvoid().new();
    this[_controllerInstance$] = null;
    this[_controllerCompleter$] = null;
    this[_isClosed$0] = false;
    this[_isBound$] = false;
    this[_hasError$0] = false;
    this[_target$2] = _target;
    ;
  }).prototype = _StreamSinkImpl.prototype;
  dart.addTypeTests(_StreamSinkImpl);
  _StreamSinkImpl.prototype[_is__StreamSinkImpl_default$] = true;
  dart.addTypeCaches(_StreamSinkImpl);
  _StreamSinkImpl[dart.implements] = () => [async.StreamSink$(T)];
  dart.setMethodSignature(_StreamSinkImpl, () => ({
    __proto__: dart.getMethods(_StreamSinkImpl.__proto__),
    add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
    addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
    addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
    flush: dart.fnType(async.Future, []),
    close: dart.fnType(async.Future, []),
    [_closeTarget$]: dart.fnType(dart.void, []),
    [_completeDoneValue$]: dart.fnType(dart.void, [dart.dynamic]),
    [_completeDoneError$]: dart.fnType(dart.void, [core.Object, core.StackTrace])
  }));
  dart.setGetterSignature(_StreamSinkImpl, () => ({
    __proto__: dart.getGetters(_StreamSinkImpl.__proto__),
    done: async.Future,
    [_controller$0]: async.StreamController$(T)
  }));
  dart.setLibraryUri(_StreamSinkImpl, I[177]);
  dart.setFieldSignature(_StreamSinkImpl, () => ({
    __proto__: dart.getFields(_StreamSinkImpl.__proto__),
    [_target$2]: dart.finalFieldType(async.StreamConsumer$(T)),
    [_doneCompleter$]: dart.finalFieldType(async.Completer$(dart.void)),
    [_controllerInstance$]: dart.fieldType(dart.nullable(async.StreamController$(T))),
    [_controllerCompleter$]: dart.fieldType(dart.nullable(async.Completer)),
    [_isClosed$0]: dart.fieldType(core.bool),
    [_isBound$]: dart.fieldType(core.bool),
    [_hasError$0]: dart.fieldType(core.bool)
  }));
  return _StreamSinkImpl;
});
_http._StreamSinkImpl = _http._StreamSinkImpl$();
dart.addTypeTests(_http._StreamSinkImpl, _is__StreamSinkImpl_default$);
var _profileData$0 = dart.privateName(_http, "_IOSinkImpl._profileData");
var _encodingMutable$ = dart.privateName(_http, "_encodingMutable");
var _encoding$0 = dart.privateName(_http, "_encoding");
var __IOSink_encoding_isSet$ = dart.privateName(_http, "_#IOSink#encoding#isSet");
var __IOSink_encoding$ = dart.privateName(_http, "_#IOSink#encoding");
var __IOSink_encoding_isSet_ = dart.privateName(_http, "_#IOSink#encoding#isSet=");
var __IOSink_encoding_ = dart.privateName(_http, "_#IOSink#encoding=");
_http._IOSinkImpl = class _IOSinkImpl extends _http._StreamSinkImpl$(core.List$(core.int)) {
  get [_profileData$]() {
    return this[_profileData$0];
  }
  set [_profileData$](value) {
    super[_profileData$] = value;
  }
  get encoding() {
    return this[_encoding$0];
  }
  set encoding(value) {
    if (value == null) dart.nullFailed(I[181], 1035, 30, "value");
    if (!dart.test(this[_encodingMutable$])) {
      dart.throw(new core.StateError.new("IOSink encoding is not mutable"));
    }
    this[_encoding$0] = value;
  }
  write(obj) {
    let t296;
    let string = dart.str(obj);
    if (string[$isEmpty]) return;
    t296 = this[_profileData$];
    t296 == null ? null : t296.appendRequestData(_native_typed_data.NativeUint8List.fromList(convert.utf8.encode(string)));
    super.add(this[_encoding$0].encode(string));
  }
  writeAll(objects, separator = "") {
    if (objects == null) dart.nullFailed(I[181], 1053, 26, "objects");
    if (separator == null) dart.nullFailed(I[181], 1053, 43, "separator");
    let iterator = objects[$iterator];
    if (!dart.test(iterator.moveNext())) return;
    if (separator[$isEmpty]) {
      do {
        this.write(iterator.current);
      } while (dart.test(iterator.moveNext()));
    } else {
      this.write(iterator.current);
      while (dart.test(iterator.moveNext())) {
        this.write(separator);
        this.write(iterator.current);
      }
    }
  }
  writeln(object = "") {
    this.write(object);
    this.write("\n");
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[181], 1074, 26, "charCode");
    this.write(core.String.fromCharCode(charCode));
  }
  get [__IOSink_encoding_isSet]() {
    return this[$noSuchMethod](new core._Invocation.getter(C[469] || CT.C469));
  }
  get [__IOSink_encoding]() {
    return T$0.EncodingN().as(this[$noSuchMethod](new core._Invocation.getter(C[470] || CT.C470)));
  }
  set [__IOSink_encoding_isSet](value) {
    return this[$noSuchMethod](new core._Invocation.setter(C[471] || CT.C471, value));
  }
  set [__IOSink_encoding](value) {
    return this[$noSuchMethod](new core._Invocation.setter(C[472] || CT.C472, value));
  }
};
(_http._IOSinkImpl.new = function(target, _encoding, _profileData) {
  if (target == null) dart.nullFailed(I[181], 1030, 33, "target");
  if (_encoding == null) dart.nullFailed(I[181], 1030, 46, "_encoding");
  this[_encodingMutable$] = true;
  this[_encoding$0] = _encoding;
  this[_profileData$0] = _profileData;
  _http._IOSinkImpl.__proto__.new.call(this, target);
  ;
}).prototype = _http._IOSinkImpl.prototype;
dart.addTypeTests(_http._IOSinkImpl);
dart.addTypeCaches(_http._IOSinkImpl);
_http._IOSinkImpl[dart.implements] = () => [io.IOSink];
dart.setMethodSignature(_http._IOSinkImpl, () => ({
  __proto__: dart.getMethods(_http._IOSinkImpl.__proto__),
  write: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeAll: dart.fnType(dart.void, [core.Iterable], [core.String]),
  writeln: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  writeCharCode: dart.fnType(dart.void, [core.int])
}));
dart.setGetterSignature(_http._IOSinkImpl, () => ({
  __proto__: dart.getGetters(_http._IOSinkImpl.__proto__),
  encoding: convert.Encoding,
  [__IOSink_encoding_isSet]: dart.dynamic,
  [__IOSink_encoding]: dart.nullable(convert.Encoding)
}));
dart.setSetterSignature(_http._IOSinkImpl, () => ({
  __proto__: dart.getSetters(_http._IOSinkImpl.__proto__),
  encoding: convert.Encoding,
  [__IOSink_encoding_isSet]: dart.dynamic,
  [__IOSink_encoding]: dart.nullable(convert.Encoding)
}));
dart.setLibraryUri(_http._IOSinkImpl, I[177]);
dart.setFieldSignature(_http._IOSinkImpl, () => ({
  __proto__: dart.getFields(_http._IOSinkImpl.__proto__),
  [_encoding$0]: dart.fieldType(convert.Encoding),
  [_encodingMutable$]: dart.fieldType(core.bool),
  [_profileData$]: dart.finalFieldType(dart.nullable(_http._HttpProfileData))
}));
var _encodingSet = dart.privateName(_http, "_encodingSet");
var _bufferOutput = dart.privateName(_http, "_bufferOutput");
var _uri = dart.privateName(_http, "_uri");
var _outgoing = dart.privateName(_http, "_outgoing");
var _isConnectionClosed = dart.privateName(_http, "_isConnectionClosed");
const _is__HttpOutboundMessage_default = Symbol('_is__HttpOutboundMessage_default');
_http._HttpOutboundMessage$ = dart.generic(T => {
  class _HttpOutboundMessage extends _http._IOSinkImpl {
    get contentLength() {
      return this.headers.contentLength;
    }
    set contentLength(contentLength) {
      if (contentLength == null) dart.nullFailed(I[181], 1107, 30, "contentLength");
      this.headers.contentLength = contentLength;
    }
    get persistentConnection() {
      return this.headers.persistentConnection;
    }
    set persistentConnection(p) {
      if (p == null) dart.nullFailed(I[181], 1112, 38, "p");
      this.headers.persistentConnection = p;
    }
    get bufferOutput() {
      return this[_bufferOutput];
    }
    set bufferOutput(bufferOutput) {
      if (bufferOutput == null) dart.nullFailed(I[181], 1117, 30, "bufferOutput");
      if (dart.test(this[_outgoing].headersWritten)) dart.throw(new core.StateError.new("Header already sent"));
      this[_bufferOutput] = bufferOutput;
    }
    get encoding() {
      let t296;
      if (dart.test(this[_encodingSet]) && dart.test(this[_outgoing].headersWritten)) {
        return this[_encoding$0];
      }
      let charset = null;
      let contentType = this.headers.contentType;
      if (contentType != null && contentType.charset != null) {
        charset = dart.nullCheck(contentType.charset);
      } else {
        charset = "iso-8859-1";
      }
      t296 = convert.Encoding.getByName(charset);
      return t296 == null ? convert.latin1 : t296;
    }
    set encoding(value) {
      super.encoding = value;
    }
    add(data) {
      let t296;
      T$0.ListOfint().as(data);
      if (data == null) dart.nullFailed(I[181], 1136, 22, "data");
      if (data[$length] === 0) return;
      t296 = this[_profileData$];
      t296 == null ? null : t296.appendRequestData(_native_typed_data.NativeUint8List.fromList(data));
      super.add(data);
    }
    addStream(s) {
      T$0.StreamOfListOfint().as(s);
      if (s == null) dart.nullFailed(I[181], 1142, 38, "s");
      if (this[_profileData$] == null) {
        return super.addStream(s);
      }
      return super.addStream(s.map(T$0.ListOfint(), dart.fn(data => {
        let t296;
        if (data == null) dart.nullFailed(I[181], 1146, 35, "data");
        t296 = this[_profileData$];
        t296 == null ? null : t296.appendRequestData(_native_typed_data.NativeUint8List.fromList(data));
        return data;
      }, T$0.ListOfintToListOfint())));
    }
    write(obj) {
      if (!dart.test(this[_encodingSet])) {
        this[_encoding$0] = this.encoding;
        this[_encodingSet] = true;
      }
      super.write(obj);
    }
    get [_isConnectionClosed]() {
      return false;
    }
  }
  (_HttpOutboundMessage.new = function(uri, protocolVersion, outgoing, profileData, opts) {
    if (uri == null) dart.nullFailed(I[181], 1091, 28, "uri");
    if (protocolVersion == null) dart.nullFailed(I[181], 1091, 40, "protocolVersion");
    if (outgoing == null) dart.nullFailed(I[181], 1091, 71, "outgoing");
    let initialHeaders = opts && 'initialHeaders' in opts ? opts.initialHeaders : null;
    this[_encodingSet] = false;
    this[_bufferOutput] = true;
    this[_uri] = uri;
    this.headers = new _http._HttpHeaders.new(protocolVersion, {defaultPortForScheme: uri.scheme === "https" ? 443 : 80, initialHeaders: initialHeaders});
    this[_outgoing] = outgoing;
    _HttpOutboundMessage.__proto__.new.call(this, outgoing, convert.latin1, profileData);
    this[_outgoing].outbound = this;
    this[_encodingMutable$] = false;
  }).prototype = _HttpOutboundMessage.prototype;
  dart.addTypeTests(_HttpOutboundMessage);
  _HttpOutboundMessage.prototype[_is__HttpOutboundMessage_default] = true;
  dart.addTypeCaches(_HttpOutboundMessage);
  dart.setGetterSignature(_HttpOutboundMessage, () => ({
    __proto__: dart.getGetters(_HttpOutboundMessage.__proto__),
    contentLength: core.int,
    persistentConnection: core.bool,
    bufferOutput: core.bool,
    [_isConnectionClosed]: core.bool
  }));
  dart.setSetterSignature(_HttpOutboundMessage, () => ({
    __proto__: dart.getSetters(_HttpOutboundMessage.__proto__),
    contentLength: core.int,
    persistentConnection: core.bool,
    bufferOutput: core.bool
  }));
  dart.setLibraryUri(_HttpOutboundMessage, I[177]);
  dart.setFieldSignature(_HttpOutboundMessage, () => ({
    __proto__: dart.getFields(_HttpOutboundMessage.__proto__),
    [_encodingSet]: dart.fieldType(core.bool),
    [_bufferOutput]: dart.fieldType(core.bool),
    [_uri]: dart.finalFieldType(core.Uri),
    [_outgoing]: dart.finalFieldType(_http._HttpOutgoing),
    headers: dart.finalFieldType(_http._HttpHeaders)
  }));
  return _HttpOutboundMessage;
});
_http._HttpOutboundMessage = _http._HttpOutboundMessage$();
dart.addTypeTests(_http._HttpOutboundMessage, _is__HttpOutboundMessage_default);
var _statusCode = dart.privateName(_http, "_statusCode");
var _reasonPhrase = dart.privateName(_http, "_reasonPhrase");
var _deadline = dart.privateName(_http, "_deadline");
var _deadlineTimer = dart.privateName(_http, "_deadlineTimer");
var _isClosing = dart.privateName(_http, "_isClosing");
var _findReasonPhrase = dart.privateName(_http, "_findReasonPhrase");
var _isNew = dart.privateName(_http, "_isNew");
var _writeHeader = dart.privateName(_http, "_writeHeader");
_http._HttpResponse = class _HttpResponse extends _http._HttpOutboundMessage$(_http.HttpResponse) {
  get [_isConnectionClosed]() {
    return dart.nullCheck(this[_httpRequest$])[_httpConnection$][_isClosing];
  }
  get cookies() {
    let t296;
    t296 = this[_cookies];
    return t296 == null ? this[_cookies] = T$0.JSArrayOfCookie().of([]) : t296;
  }
  get statusCode() {
    return this[_statusCode];
  }
  set statusCode(statusCode) {
    if (statusCode == null) dart.nullFailed(I[181], 1188, 27, "statusCode");
    if (dart.test(this[_outgoing].headersWritten)) dart.throw(new core.StateError.new("Header already sent"));
    this[_statusCode] = statusCode;
  }
  get reasonPhrase() {
    return this[_findReasonPhrase](this.statusCode);
  }
  set reasonPhrase(reasonPhrase) {
    if (reasonPhrase == null) dart.nullFailed(I[181], 1194, 32, "reasonPhrase");
    if (dart.test(this[_outgoing].headersWritten)) dart.throw(new core.StateError.new("Header already sent"));
    this[_reasonPhrase] = reasonPhrase;
  }
  redirect(location, opts) {
    if (location == null) dart.nullFailed(I[181], 1199, 23, "location");
    let status = opts && 'status' in opts ? opts.status : 302;
    if (status == null) dart.nullFailed(I[181], 1199, 38, "status");
    if (dart.test(this[_outgoing].headersWritten)) dart.throw(new core.StateError.new("Header already sent"));
    this.statusCode = status;
    this.headers.set("location", dart.toString(location));
    return this.close();
  }
  detachSocket(opts) {
    let writeHeaders = opts && 'writeHeaders' in opts ? opts.writeHeaders : true;
    if (writeHeaders == null) dart.nullFailed(I[181], 1206, 37, "writeHeaders");
    if (dart.test(this[_outgoing].headersWritten)) dart.throw(new core.StateError.new("Headers already sent"));
    this.deadline = null;
    let future = dart.nullCheck(this[_httpRequest$])[_httpConnection$].detachSocket();
    if (dart.test(writeHeaders)) {
      let headersFuture = this[_outgoing].writeHeaders({drainRequest: false, setOutgoing: false});
      if (!(headersFuture == null)) dart.assertFailed(null, I[181], 1213, 14, "headersFuture == null");
    } else {
      this[_outgoing].headersWritten = true;
    }
    this.close();
    this.done.catchError(dart.fn(_ => {
    }, T$.dynamicToNull()));
    return future;
  }
  get connectionInfo() {
    return dart.nullCheck(this[_httpRequest$]).connectionInfo;
  }
  get deadline() {
    return this[_deadline];
  }
  set deadline(d) {
    let t296;
    t296 = this[_deadlineTimer];
    t296 == null ? null : t296.cancel();
    this[_deadline] = d;
    if (d == null) return;
    this[_deadlineTimer] = async.Timer.new(d, dart.fn(() => {
      dart.nullCheck(this[_httpRequest$])[_httpConnection$].destroy();
    }, T$.VoidTovoid()));
  }
  [_writeHeader]() {
    let t296, t296$, t296$0;
    let buffer = new _http._CopyingBytesBuilder.new(8192);
    if (this.headers.protocolVersion === "1.1") {
      buffer.add(_http._Const.HTTP11);
    } else {
      buffer.add(_http._Const.HTTP10);
    }
    buffer.addByte(32);
    buffer.add(dart.toString(this.statusCode)[$codeUnits]);
    buffer.addByte(32);
    buffer.add(this.reasonPhrase[$codeUnits]);
    buffer.addByte(13);
    buffer.addByte(10);
    let session = dart.nullCheck(this[_httpRequest$])[_session];
    if (session != null && !dart.test(session[_destroyed])) {
      session[_isNew] = false;
      let found = false;
      for (let i = 0; i < dart.notNull(this.cookies[$length]); i = i + 1) {
        if (this.cookies[$_get](i).name[$toUpperCase]() === "DARTSESSID") {
          t296 = this.cookies[$_get](i);
          (() => {
            t296.value = session.id;
            t296.httpOnly = true;
            t296.path = "/";
            return t296;
          })();
          found = true;
        }
      }
      if (!found) {
        let cookie = _http.Cookie.new("DARTSESSID", session.id);
        this.cookies[$add]((t296$ = cookie, (() => {
          t296$.httpOnly = true;
          t296$.path = "/";
          return t296$;
        })()));
      }
    }
    t296$0 = this[_cookies];
    t296$0 == null ? null : t296$0[$forEach](dart.fn(cookie => {
      if (cookie == null) dart.nullFailed(I[181], 1280, 24, "cookie");
      this.headers.add("set-cookie", cookie);
    }, T$0.CookieTovoid()));
    this.headers[_finalize]();
    this.headers[_build](buffer);
    buffer.addByte(13);
    buffer.addByte(10);
    let headerBytes = buffer.takeBytes();
    this[_outgoing].setHeader(headerBytes, headerBytes[$length]);
  }
  [_findReasonPhrase](statusCode) {
    if (statusCode == null) dart.nullFailed(I[181], 1294, 32, "statusCode");
    let reasonPhrase = this[_reasonPhrase];
    if (reasonPhrase != null) {
      return reasonPhrase;
    }
    switch (statusCode) {
      case 100:
      {
        return "Continue";
      }
      case 101:
      {
        return "Switching Protocols";
      }
      case 200:
      {
        return "OK";
      }
      case 201:
      {
        return "Created";
      }
      case 202:
      {
        return "Accepted";
      }
      case 203:
      {
        return "Non-Authoritative Information";
      }
      case 204:
      {
        return "No Content";
      }
      case 205:
      {
        return "Reset Content";
      }
      case 206:
      {
        return "Partial Content";
      }
      case 300:
      {
        return "Multiple Choices";
      }
      case 301:
      {
        return "Moved Permanently";
      }
      case 302:
      {
        return "Found";
      }
      case 303:
      {
        return "See Other";
      }
      case 304:
      {
        return "Not Modified";
      }
      case 305:
      {
        return "Use Proxy";
      }
      case 307:
      {
        return "Temporary Redirect";
      }
      case 400:
      {
        return "Bad Request";
      }
      case 401:
      {
        return "Unauthorized";
      }
      case 402:
      {
        return "Payment Required";
      }
      case 403:
      {
        return "Forbidden";
      }
      case 404:
      {
        return "Not Found";
      }
      case 405:
      {
        return "Method Not Allowed";
      }
      case 406:
      {
        return "Not Acceptable";
      }
      case 407:
      {
        return "Proxy Authentication Required";
      }
      case 408:
      {
        return "Request Time-out";
      }
      case 409:
      {
        return "Conflict";
      }
      case 410:
      {
        return "Gone";
      }
      case 411:
      {
        return "Length Required";
      }
      case 412:
      {
        return "Precondition Failed";
      }
      case 413:
      {
        return "Request Entity Too Large";
      }
      case 414:
      {
        return "Request-URI Too Long";
      }
      case 415:
      {
        return "Unsupported Media Type";
      }
      case 416:
      {
        return "Requested range not satisfiable";
      }
      case 417:
      {
        return "Expectation Failed";
      }
      case 500:
      {
        return "Internal Server Error";
      }
      case 501:
      {
        return "Not Implemented";
      }
      case 502:
      {
        return "Bad Gateway";
      }
      case 503:
      {
        return "Service Unavailable";
      }
      case 504:
      {
        return "Gateway Time-out";
      }
      case 505:
      {
        return "Http Version not supported";
      }
      default:
      {
        return "Status " + dart.str(statusCode);
      }
    }
  }
};
(_http._HttpResponse.new = function(uri, protocolVersion, outgoing, defaultHeaders, serverHeader) {
  if (uri == null) dart.nullFailed(I[181], 1174, 21, "uri");
  if (protocolVersion == null) dart.nullFailed(I[181], 1174, 33, "protocolVersion");
  if (outgoing == null) dart.nullFailed(I[181], 1174, 64, "outgoing");
  if (defaultHeaders == null) dart.nullFailed(I[181], 1175, 19, "defaultHeaders");
  this[_statusCode] = 200;
  this[_reasonPhrase] = null;
  this[_cookies] = null;
  this[_httpRequest$] = null;
  this[_deadline] = null;
  this[_deadlineTimer] = null;
  _http._HttpResponse.__proto__.new.call(this, uri, protocolVersion, outgoing, null, {initialHeaders: _http._HttpHeaders.as(defaultHeaders)});
  if (serverHeader != null) {
    this.headers.set("server", serverHeader);
  }
}).prototype = _http._HttpResponse.prototype;
dart.addTypeTests(_http._HttpResponse);
dart.addTypeCaches(_http._HttpResponse);
_http._HttpResponse[dart.implements] = () => [_http.HttpResponse];
dart.setMethodSignature(_http._HttpResponse, () => ({
  __proto__: dart.getMethods(_http._HttpResponse.__proto__),
  redirect: dart.fnType(async.Future, [core.Uri], {status: core.int}, {}),
  detachSocket: dart.fnType(async.Future$(io.Socket), [], {writeHeaders: core.bool}, {}),
  [_writeHeader]: dart.fnType(dart.void, []),
  [_findReasonPhrase]: dart.fnType(core.String, [core.int])
}));
dart.setGetterSignature(_http._HttpResponse, () => ({
  __proto__: dart.getGetters(_http._HttpResponse.__proto__),
  cookies: core.List$(_http.Cookie),
  statusCode: core.int,
  reasonPhrase: core.String,
  connectionInfo: dart.nullable(_http.HttpConnectionInfo),
  deadline: dart.nullable(core.Duration)
}));
dart.setSetterSignature(_http._HttpResponse, () => ({
  __proto__: dart.getSetters(_http._HttpResponse.__proto__),
  statusCode: core.int,
  reasonPhrase: core.String,
  deadline: dart.nullable(core.Duration)
}));
dart.setLibraryUri(_http._HttpResponse, I[177]);
dart.setFieldSignature(_http._HttpResponse, () => ({
  __proto__: dart.getFields(_http._HttpResponse.__proto__),
  [_statusCode]: dart.fieldType(core.int),
  [_reasonPhrase]: dart.fieldType(dart.nullable(core.String)),
  [_cookies]: dart.fieldType(dart.nullable(core.List$(_http.Cookie))),
  [_httpRequest$]: dart.fieldType(dart.nullable(_http._HttpRequest)),
  [_deadline]: dart.fieldType(dart.nullable(core.Duration)),
  [_deadlineTimer]: dart.fieldType(dart.nullable(async.Timer))
}));
var _profileData$1 = dart.privateName(_http, "_HttpClientRequest._profileData");
var _responseCompleter = dart.privateName(_http, "_responseCompleter");
var _response = dart.privateName(_http, "_response");
var _followRedirects = dart.privateName(_http, "_followRedirects");
var _maxRedirects = dart.privateName(_http, "_maxRedirects");
var _aborted = dart.privateName(_http, "_aborted");
var _onIncoming = dart.privateName(_http, "_onIncoming");
var _onError = dart.privateName(_http, "_onError");
var _proxyTunnel$ = dart.privateName(_http, "_proxyTunnel");
var _requestUri = dart.privateName(_http, "_requestUri");
_http._HttpClientRequest = class _HttpClientRequest extends _http._HttpOutboundMessage$(_http.HttpClientResponse) {
  get [_profileData$]() {
    return this[_profileData$1];
  }
  set [_profileData$](value) {
    super[_profileData$] = value;
  }
  get done() {
    let t296;
    t296 = this[_response];
    return t296 == null ? this[_response] = async.Future.wait(dart.dynamic, T$0.JSArrayOfFuture().of([this[_responseCompleter].future, super.done]), {eagerError: true}).then(_http.HttpClientResponse, dart.fn(list => {
      if (list == null) dart.nullFailed(I[181], 1446, 18, "list");
      return T$0.FutureOrOfHttpClientResponse().as(list[$_get](0));
    }, T$0.ListToFutureOrOfHttpClientResponse())) : t296;
  }
  close() {
    if (!dart.test(this[_aborted])) {
      super.close();
    }
    return this.done;
  }
  get maxRedirects() {
    return this[_maxRedirects];
  }
  set maxRedirects(maxRedirects) {
    if (maxRedirects == null) dart.nullFailed(I[181], 1457, 29, "maxRedirects");
    if (dart.test(this[_outgoing].headersWritten)) dart.throw(new core.StateError.new("Request already sent"));
    this[_maxRedirects] = maxRedirects;
  }
  get followRedirects() {
    return this[_followRedirects];
  }
  set followRedirects(followRedirects) {
    if (followRedirects == null) dart.nullFailed(I[181], 1463, 33, "followRedirects");
    if (dart.test(this[_outgoing].headersWritten)) dart.throw(new core.StateError.new("Request already sent"));
    this[_followRedirects] = followRedirects;
  }
  get connectionInfo() {
    return this[_httpClientConnection$].connectionInfo;
  }
  [_onIncoming](incoming) {
    if (incoming == null) dart.nullFailed(I[181], 1471, 34, "incoming");
    if (dart.test(this[_aborted])) {
      return;
    }
    let response = new _http._HttpClientResponse.new(incoming, this, this[_httpClient$], this[_profileData$]);
    let future = null;
    if (dart.test(this.followRedirects) && dart.test(response.isRedirect)) {
      if (dart.notNull(response.redirects[$length]) < dart.notNull(this.maxRedirects)) {
        future = response.drain(dart.dynamic).then(_http.HttpClientResponse, dart.fn(_ => response.redirect(), T$0.dynamicToFutureOfHttpClientResponse()));
      } else {
        future = response.drain(dart.dynamic).then(_http.HttpClientResponse, dart.fn(_ => T$0.FutureOfHttpClientResponse().error(new _http.RedirectException.new("Redirect limit exceeded", response.redirects)), T$0.dynamicToFutureOfHttpClientResponse()));
      }
    } else if (dart.test(response[_shouldAuthenticateProxy])) {
      future = response[_authenticate](true);
    } else if (dart.test(response[_shouldAuthenticate])) {
      future = response[_authenticate](false);
    } else {
      future = T$0.FutureOfHttpClientResponse().value(response);
    }
    future.then(core.Null, dart.fn(v => {
      if (v == null) dart.nullFailed(I[181], 1498, 18, "v");
      if (!dart.test(this[_responseCompleter].isCompleted)) {
        this[_responseCompleter].complete(v);
      }
    }, T$0.HttpClientResponseToNull()), {onError: dart.fn((e, s) => {
        if (!dart.test(this[_responseCompleter].isCompleted)) {
          this[_responseCompleter].completeError(core.Object.as(e), T$.StackTraceN().as(s));
        }
      }, T$.dynamicAnddynamicToNull())});
  }
  [_onError](error, stackTrace) {
    if (stackTrace == null) dart.nullFailed(I[181], 1509, 35, "stackTrace");
    if (!dart.test(this[_responseCompleter].isCompleted)) {
      this[_responseCompleter].completeError(core.Object.as(error), stackTrace);
    }
  }
  [_requestUri]() {
    const uriStartingFromPath = () => {
      let result = this.uri.path;
      if (result[$isEmpty]) result = "/";
      if (dart.test(this.uri.hasQuery)) {
        result = dart.str(result) + "?" + dart.str(this.uri.query);
      }
      return result;
    };
    dart.fn(uriStartingFromPath, T$.VoidToString());
    if (dart.test(this[_proxy$].isDirect)) {
      return uriStartingFromPath();
    } else {
      if (this.method === "CONNECT") {
        return dart.str(this.uri.host) + ":" + dart.str(this.uri.port);
      } else {
        if (dart.test(this[_httpClientConnection$][_proxyTunnel$])) {
          return uriStartingFromPath();
        } else {
          return dart.toString(this.uri.removeFragment());
        }
      }
    }
  }
  add(data) {
    T$0.ListOfint().as(data);
    if (data == null) dart.nullFailed(I[181], 1545, 22, "data");
    if (data[$length] === 0 || dart.test(this[_aborted])) return;
    super.add(data);
  }
  write(obj) {
    if (dart.test(this[_aborted])) return;
    super.write(obj);
  }
  [_writeHeader]() {
    let t296;
    if (dart.test(this[_aborted])) {
      this[_outgoing].setHeader(_native_typed_data.NativeUint8List.new(0), 0);
      return;
    }
    let buffer = new _http._CopyingBytesBuilder.new(8192);
    buffer.add(this.method[$codeUnits]);
    buffer.addByte(32);
    buffer.add(this[_requestUri]()[$codeUnits]);
    buffer.addByte(32);
    buffer.add(_http._Const.HTTP11);
    buffer.addByte(13);
    buffer.addByte(10);
    if (!dart.test(this.cookies[$isEmpty])) {
      let sb = new core.StringBuffer.new();
      for (let i = 0; i < dart.notNull(this.cookies[$length]); i = i + 1) {
        if (i > 0) sb.write("; ");
        t296 = sb;
        (() => {
          t296.write(this.cookies[$_get](i).name);
          t296.write("=");
          t296.write(this.cookies[$_get](i).value);
          return t296;
        })();
      }
      this.headers.add("cookie", sb.toString());
    }
    this.headers[_finalize]();
    this.headers[_build](buffer, {skipZeroContentLength: this.method === "CONNECT" || this.method === "DELETE" || this.method === "GET" || this.method === "HEAD"});
    buffer.addByte(13);
    buffer.addByte(10);
    let headerBytes = buffer.takeBytes();
    this[_outgoing].setHeader(headerBytes, headerBytes[$length]);
  }
  abort(exception = null, stackTrace = null) {
    this[_aborted] = true;
    if (!dart.test(this[_responseCompleter].isCompleted)) {
      exception == null ? exception = new _http.HttpException.new("Request has been aborted") : null;
      this[_responseCompleter].completeError(exception, stackTrace);
      this[_httpClientConnection$].destroy();
    }
  }
};
(_http._HttpClientRequest.new = function(outgoing, uri, method, _proxy, _httpClient, _httpClientConnection, _profileData) {
  let t296, t296$;
  if (outgoing == null) dart.nullFailed(I[181], 1415, 19, "outgoing");
  if (uri == null) dart.nullFailed(I[181], 1416, 9, "uri");
  if (method == null) dart.nullFailed(I[181], 1417, 10, "method");
  if (_proxy == null) dart.nullFailed(I[181], 1418, 10, "_proxy");
  if (_httpClient == null) dart.nullFailed(I[181], 1419, 10, "_httpClient");
  if (_httpClientConnection == null) dart.nullFailed(I[181], 1420, 10, "_httpClientConnection");
  this.cookies = T$0.JSArrayOfCookie().of([]);
  this[_responseCompleter] = T$0.CompleterOfHttpClientResponse().new();
  this[_response] = null;
  this[_followRedirects] = true;
  this[_maxRedirects] = 5;
  this[_responseRedirects] = T$0.JSArrayOfRedirectInfo().of([]);
  this[_aborted] = false;
  this.method = method;
  this[_proxy$] = _proxy;
  this[_httpClient$] = _httpClient;
  this[_httpClientConnection$] = _httpClientConnection;
  this[_profileData$1] = _profileData;
  this.uri = uri;
  _http._HttpClientRequest.__proto__.new.call(this, uri, "1.1", outgoing, _profileData);
  t296 = this[_profileData$];
  t296 == null ? null : t296.requestEvent("Request sent");
  if (this.method === "GET" || this.method === "HEAD") {
    this.contentLength = 0;
  } else {
    this.headers.chunkedTransferEncoding = true;
  }
  t296$ = this[_profileData$];
  t296$ == null ? null : t296$.finishRequest({request: this});
  this[_responseCompleter].future.then(core.Null, dart.fn(response => {
    let t296, t296$;
    if (response == null) dart.nullFailed(I[181], 1434, 37, "response");
    t296 = this[_profileData$];
    t296 == null ? null : t296.requestEvent("Waiting (TTFB)");
    t296$ = this[_profileData$];
    t296$ == null ? null : t296$.startResponse({response: response});
  }, T$0.HttpClientResponseToNull()), {onError: dart.fn(e => {
    }, T$.dynamicToNull())});
}).prototype = _http._HttpClientRequest.prototype;
dart.addTypeTests(_http._HttpClientRequest);
dart.addTypeCaches(_http._HttpClientRequest);
_http._HttpClientRequest[dart.implements] = () => [_http.HttpClientRequest];
dart.setMethodSignature(_http._HttpClientRequest, () => ({
  __proto__: dart.getMethods(_http._HttpClientRequest.__proto__),
  close: dart.fnType(async.Future$(_http.HttpClientResponse), []),
  [_onIncoming]: dart.fnType(dart.void, [_http._HttpIncoming]),
  [_onError]: dart.fnType(dart.void, [dart.dynamic, core.StackTrace]),
  [_requestUri]: dart.fnType(core.String, []),
  [_writeHeader]: dart.fnType(dart.void, []),
  abort: dart.fnType(dart.void, [], [dart.nullable(core.Object), dart.nullable(core.StackTrace)])
}));
dart.setGetterSignature(_http._HttpClientRequest, () => ({
  __proto__: dart.getGetters(_http._HttpClientRequest.__proto__),
  done: async.Future$(_http.HttpClientResponse),
  maxRedirects: core.int,
  followRedirects: core.bool,
  connectionInfo: dart.nullable(_http.HttpConnectionInfo)
}));
dart.setSetterSignature(_http._HttpClientRequest, () => ({
  __proto__: dart.getSetters(_http._HttpClientRequest.__proto__),
  maxRedirects: core.int,
  followRedirects: core.bool
}));
dart.setLibraryUri(_http._HttpClientRequest, I[177]);
dart.setFieldSignature(_http._HttpClientRequest, () => ({
  __proto__: dart.getFields(_http._HttpClientRequest.__proto__),
  method: dart.finalFieldType(core.String),
  uri: dart.finalFieldType(core.Uri),
  cookies: dart.finalFieldType(core.List$(_http.Cookie)),
  [_httpClient$]: dart.finalFieldType(_http._HttpClient),
  [_httpClientConnection$]: dart.finalFieldType(_http._HttpClientConnection),
  [_profileData$]: dart.finalFieldType(dart.nullable(_http._HttpProfileData)),
  [_responseCompleter]: dart.finalFieldType(async.Completer$(_http.HttpClientResponse)),
  [_proxy$]: dart.finalFieldType(_http._Proxy),
  [_response]: dart.fieldType(dart.nullable(async.Future$(_http.HttpClientResponse))),
  [_followRedirects]: dart.fieldType(core.bool),
  [_maxRedirects]: dart.fieldType(core.int),
  [_responseRedirects]: dart.fieldType(core.List$(_http.RedirectInfo)),
  [_aborted]: dart.fieldType(core.bool)
}));
var _consume$ = dart.privateName(_http, "_consume");
_http._HttpGZipSink = class _HttpGZipSink extends convert.ByteConversionSink {
  add(chunk) {
    let t296;
    T$0.ListOfint().as(chunk);
    if (chunk == null) dart.nullFailed(I[181], 1613, 22, "chunk");
    t296 = chunk;
    this[_consume$](t296);
  }
  addSlice(chunk, start, end, isLast) {
    let t296, t296$;
    if (chunk == null) dart.nullFailed(I[181], 1617, 27, "chunk");
    if (start == null) dart.nullFailed(I[181], 1617, 38, "start");
    if (end == null) dart.nullFailed(I[181], 1617, 49, "end");
    if (isLast == null) dart.nullFailed(I[181], 1617, 59, "isLast");
    if (typed_data.Uint8List.is(chunk)) {
      t296 = typed_data.Uint8List.view(chunk[$buffer], dart.notNull(chunk[$offsetInBytes]) + dart.notNull(start), dart.notNull(end) - dart.notNull(start));
      this[_consume$](t296);
    } else {
      t296$ = chunk[$sublist](start, dart.notNull(end) - dart.notNull(start));
      this[_consume$](t296$);
    }
  }
  close() {
  }
};
(_http._HttpGZipSink.new = function(_consume) {
  if (_consume == null) dart.nullFailed(I[181], 1611, 22, "_consume");
  this[_consume$] = _consume;
  _http._HttpGZipSink.__proto__.new.call(this);
  ;
}).prototype = _http._HttpGZipSink.prototype;
dart.addTypeTests(_http._HttpGZipSink);
dart.addTypeCaches(_http._HttpGZipSink);
dart.setMethodSignature(_http._HttpGZipSink, () => ({
  __proto__: dart.getMethods(_http._HttpGZipSink.__proto__),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addSlice: dart.fnType(dart.void, [core.List$(core.int), core.int, core.int, core.bool]),
  close: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(_http._HttpGZipSink, I[177]);
dart.setFieldSignature(_http._HttpGZipSink, () => ({
  __proto__: dart.getFields(_http._HttpGZipSink.__proto__),
  [_consume$]: dart.finalFieldType(dart.fnType(dart.void, [core.List$(core.int)]))
}));
var _closeFuture = dart.privateName(_http, "_closeFuture");
var _pendingChunkedFooter = dart.privateName(_http, "_pendingChunkedFooter");
var _bytesWritten = dart.privateName(_http, "_bytesWritten");
var _gzip = dart.privateName(_http, "_gzip");
var _gzipSink = dart.privateName(_http, "_gzipSink");
var _gzipAdd = dart.privateName(_http, "_gzipAdd");
var _gzipBuffer = dart.privateName(_http, "_gzipBuffer");
var _gzipBufferLength = dart.privateName(_http, "_gzipBufferLength");
var _socketError = dart.privateName(_http, "_socketError");
var _addGZipChunk = dart.privateName(_http, "_addGZipChunk");
var _chunkHeader = dart.privateName(_http, "_chunkHeader");
var _addChunk$ = dart.privateName(_http, "_addChunk");
var _ignoreError$ = dart.privateName(_http, "_ignoreError");
_http._HttpOutgoing = class _HttpOutgoing extends core.Object {
  writeHeaders(opts) {
    let drainRequest = opts && 'drainRequest' in opts ? opts.drainRequest : true;
    if (drainRequest == null) dart.nullFailed(I[181], 1690, 13, "drainRequest");
    let setOutgoing = opts && 'setOutgoing' in opts ? opts.setOutgoing : true;
    if (setOutgoing == null) dart.nullFailed(I[181], 1690, 39, "setOutgoing");
    if (dart.test(this.headersWritten)) return null;
    this.headersWritten = true;
    let drainFuture = null;
    let gzip = false;
    let response = dart.nullCheck(this.outbound);
    if (_http._HttpResponse.is(response)) {
      if (dart.test(dart.nullCheck(response[_httpRequest$])[_httpServer$].autoCompress) && dart.test(response.bufferOutput) && dart.test(response.headers.chunkedTransferEncoding)) {
        let acceptEncodings = dart.nullCheck(response[_httpRequest$]).headers._get("accept-encoding");
        let contentEncoding = response.headers._get("content-encoding");
        if (acceptEncodings != null && contentEncoding == null && dart.test(acceptEncodings[$expand](core.String, dart.fn(list => {
          if (list == null) dart.nullFailed(I[181], 1708, 26, "list");
          return list[$split](",");
        }, T$0.StringToListOfString()))[$any](dart.fn(encoding => {
          if (encoding == null) dart.nullFailed(I[181], 1709, 23, "encoding");
          return encoding[$trim]()[$toLowerCase]() === "gzip";
        }, T$.StringTobool())))) {
          response.headers.set("content-encoding", "gzip");
          gzip = true;
        }
      }
      if (dart.test(drainRequest) && !dart.test(dart.nullCheck(response[_httpRequest$])[_incoming$].hasSubscriber)) {
        drainFuture = dart.nullCheck(response[_httpRequest$]).drain(dart.void).catchError(dart.fn(_ => {
        }, T$.dynamicToNull()));
      }
    } else {
      drainRequest = false;
    }
    if (!dart.test(this.ignoreBody)) {
      if (dart.test(setOutgoing)) {
        let contentLength = response.headers.contentLength;
        if (dart.test(response.headers.chunkedTransferEncoding)) {
          this.chunked = true;
          if (gzip) this.gzip = true;
        } else if (dart.notNull(contentLength) >= 0) {
          this.contentLength = contentLength;
        }
      }
      if (drainFuture != null) {
        return drainFuture.then(dart.void, dart.fn(_ => response[_writeHeader](), T$0.voidTovoid()));
      }
    }
    response[_writeHeader]();
    return null;
  }
  addStream(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[181], 1738, 38, "stream");
    if (dart.test(this[_socketError])) {
      stream.listen(null).cancel();
      return async.Future.value(this.outbound);
    }
    if (dart.test(this.ignoreBody)) {
      stream.drain(dart.dynamic).catchError(dart.fn(_ => {
      }, T$.dynamicToNull()));
      let future = this.writeHeaders();
      if (future != null) {
        return future.then(dart.dynamic, dart.fn(_ => this.close(), T$0.voidToFuture()));
      }
      return this.close();
    }
    let controller = T$0.StreamControllerOfListOfint().new({sync: true});
    const onData = data => {
      if (data == null) dart.nullFailed(I[181], 1756, 27, "data");
      if (dart.test(this[_socketError])) return;
      if (data[$length] === 0) return;
      if (dart.test(this.chunked)) {
        if (dart.test(this[_gzip])) {
          this[_gzipAdd] = dart.bind(controller, 'add');
          this[_addGZipChunk](data, dart.bind(dart.nullCheck(this[_gzipSink]), 'add'));
          this[_gzipAdd] = null;
          return;
        }
        this[_addChunk$](this[_chunkHeader](data[$length]), dart.bind(controller, 'add'));
        this[_pendingChunkedFooter] = 2;
      } else {
        let contentLength = this.contentLength;
        if (contentLength != null) {
          this[_bytesWritten] = dart.notNull(this[_bytesWritten]) + dart.notNull(data[$length]);
          if (dart.notNull(this[_bytesWritten]) > dart.notNull(contentLength)) {
            controller.addError(new _http.HttpException.new("Content size exceeds specified contentLength. " + dart.str(this[_bytesWritten]) + " bytes written while expected " + dart.str(contentLength) + ". " + "[" + dart.str(core.String.fromCharCodes(data)) + "]"));
            return;
          }
        }
      }
      this[_addChunk$](data, dart.bind(controller, 'add'));
    };
    dart.fn(onData, T$0.ListOfintTovoid());
    let sub = stream.listen(onData, {onError: dart.bind(controller, 'addError'), onDone: dart.bind(controller, 'close'), cancelOnError: true});
    controller.onPause = dart.bind(sub, 'pause');
    controller.onResume = dart.bind(sub, 'resume');
    if (!dart.test(this.headersWritten)) {
      let future = this.writeHeaders();
      if (future != null) {
        sub.pause(future);
      }
    }
    return this.socket.addStream(controller.stream).then(dart.dynamic, dart.fn(_ => this.outbound, T$0.dynamicTo_HttpOutboundMessageN()), {onError: dart.fn((error, stackTrace) => {
        if (dart.test(this[_gzip])) dart.nullCheck(this[_gzipSink]).close();
        this[_socketError] = true;
        this[_doneCompleter$].completeError(core.Object.as(error), T$.StackTraceN().as(stackTrace));
        if (dart.test(this[_ignoreError$](error))) {
          return this.outbound;
        } else {
          dart.throw(error);
        }
      }, T$0.dynamicAnddynamicTo_HttpOutboundMessageN())});
  }
  close() {
    let closeFuture = this[_closeFuture];
    if (closeFuture != null) return closeFuture;
    let outbound = dart.nullCheck(this.outbound);
    if (dart.test(this[_socketError])) return async.Future.value(outbound);
    if (dart.test(outbound[_isConnectionClosed])) return async.Future.value(outbound);
    if (!dart.test(this.headersWritten) && !dart.test(this.ignoreBody)) {
      if (outbound.headers.contentLength === -1) {
        outbound.headers.chunkedTransferEncoding = false;
        outbound.headers.contentLength = 0;
      } else if (dart.notNull(outbound.headers.contentLength) > 0) {
        let error = new _http.HttpException.new("No content even though contentLength was specified to be " + "greater than 0: " + dart.str(outbound.headers.contentLength) + ".", {uri: outbound[_uri]});
        this[_doneCompleter$].completeError(error);
        return this[_closeFuture] = async.Future.error(error);
      }
    }
    let contentLength = this.contentLength;
    if (contentLength != null) {
      if (dart.notNull(this[_bytesWritten]) < dart.notNull(contentLength)) {
        let error = new _http.HttpException.new("Content size below specified contentLength. " + " " + dart.str(this[_bytesWritten]) + " bytes written but expected " + dart.str(contentLength) + ".", {uri: outbound[_uri]});
        this[_doneCompleter$].completeError(error);
        return this[_closeFuture] = async.Future.error(error);
      }
    }
    const finalize = () => {
      if (dart.test(this.chunked)) {
        if (dart.test(this[_gzip])) {
          this[_gzipAdd] = dart.bind(this.socket, 'add');
          if (dart.notNull(this[_gzipBufferLength]) > 0) {
            dart.nullCheck(this[_gzipSink]).add(typed_data.Uint8List.view(dart.nullCheck(this[_gzipBuffer])[$buffer], dart.nullCheck(this[_gzipBuffer])[$offsetInBytes], this[_gzipBufferLength]));
          }
          this[_gzipBuffer] = null;
          dart.nullCheck(this[_gzipSink]).close();
          this[_gzipAdd] = null;
        }
        this[_addChunk$](this[_chunkHeader](0), dart.bind(this.socket, 'add'));
      }
      if (dart.notNull(this[_length$1]) > 0) {
        this.socket.add(typed_data.Uint8List.view(dart.nullCheck(this[_buffer$1])[$buffer], dart.nullCheck(this[_buffer$1])[$offsetInBytes], this[_length$1]));
      }
      this[_buffer$1] = null;
      return this.socket.flush().then(dart.dynamic, dart.fn(_ => {
        this[_doneCompleter$].complete(this.socket);
        return outbound;
      }, T$0.dynamicTo_HttpOutboundMessage()), {onError: dart.fn((error, stackTrace) => {
          this[_doneCompleter$].completeError(core.Object.as(error), T$.StackTraceN().as(stackTrace));
          if (dart.test(this[_ignoreError$](error))) {
            return outbound;
          } else {
            dart.throw(error);
          }
        }, T$0.dynamicAnddynamicTo_HttpOutboundMessage())});
    };
    dart.fn(finalize, T$0.VoidToFuture());
    let future = this.writeHeaders();
    if (future != null) {
      return this[_closeFuture] = future.whenComplete(finalize);
    }
    return this[_closeFuture] = finalize();
  }
  get done() {
    return this[_doneCompleter$].future;
  }
  setHeader(data, length) {
    if (data == null) dart.nullFailed(I[181], 1903, 28, "data");
    if (length == null) dart.nullFailed(I[181], 1903, 38, "length");
    if (!(this[_length$1] === 0)) dart.assertFailed(null, I[181], 1904, 12, "_length == 0");
    this[_buffer$1] = typed_data.Uint8List.as(data);
    this[_length$1] = length;
  }
  set gzip(value) {
    if (value == null) dart.nullFailed(I[181], 1909, 22, "value");
    this[_gzip] = value;
    if (dart.test(value)) {
      this[_gzipBuffer] = _native_typed_data.NativeUint8List.new(8192);
      if (!(this[_gzipSink] == null)) dart.assertFailed(null, I[181], 1913, 14, "_gzipSink == null");
      this[_gzipSink] = new io.ZLibEncoder.new({gzip: true}).startChunkedConversion(new _http._HttpGZipSink.new(dart.fn(data => {
        if (data == null) dart.nullFailed(I[181], 1915, 54, "data");
        if (this[_gzipAdd] == null) return;
        this[_addChunk$](this[_chunkHeader](data[$length]), dart.nullCheck(this[_gzipAdd]));
        this[_pendingChunkedFooter] = 2;
        this[_addChunk$](data, dart.nullCheck(this[_gzipAdd]));
      }, T$0.ListOfintTovoid())));
    }
  }
  [_ignoreError$](error) {
    return (io.SocketException.is(error) || io.TlsException.is(error)) && _http.HttpResponse.is(this.outbound);
  }
  [_addGZipChunk](chunk, add) {
    if (chunk == null) dart.nullFailed(I[181], 1929, 32, "chunk");
    if (add == null) dart.nullFailed(I[181], 1929, 44, "add");
    let bufferOutput = dart.nullCheck(this.outbound).bufferOutput;
    if (!dart.test(bufferOutput)) {
      add(chunk);
      return;
    }
    let gzipBuffer = dart.nullCheck(this[_gzipBuffer]);
    if (dart.notNull(chunk[$length]) > dart.notNull(gzipBuffer[$length]) - dart.notNull(this[_gzipBufferLength])) {
      add(typed_data.Uint8List.view(gzipBuffer[$buffer], gzipBuffer[$offsetInBytes], this[_gzipBufferLength]));
      this[_gzipBuffer] = _native_typed_data.NativeUint8List.new(8192);
      this[_gzipBufferLength] = 0;
    }
    if (dart.notNull(chunk[$length]) > 8192) {
      add(chunk);
    } else {
      let currentLength = this[_gzipBufferLength];
      let newLength = dart.notNull(currentLength) + dart.notNull(chunk[$length]);
      dart.nullCheck(this[_gzipBuffer])[$setRange](currentLength, newLength, chunk);
      this[_gzipBufferLength] = newLength;
    }
  }
  [_addChunk$](chunk, add) {
    if (chunk == null) dart.nullFailed(I[181], 1952, 28, "chunk");
    if (add == null) dart.nullFailed(I[181], 1952, 40, "add");
    let bufferOutput = dart.nullCheck(this.outbound).bufferOutput;
    if (!dart.test(bufferOutput)) {
      if (this[_buffer$1] != null) {
        add(typed_data.Uint8List.view(dart.nullCheck(this[_buffer$1])[$buffer], dart.nullCheck(this[_buffer$1])[$offsetInBytes], this[_length$1]));
        this[_buffer$1] = null;
        this[_length$1] = 0;
      }
      add(chunk);
      return;
    }
    if (dart.notNull(chunk[$length]) > dart.notNull(dart.nullCheck(this[_buffer$1])[$length]) - dart.notNull(this[_length$1])) {
      add(typed_data.Uint8List.view(dart.nullCheck(this[_buffer$1])[$buffer], dart.nullCheck(this[_buffer$1])[$offsetInBytes], this[_length$1]));
      this[_buffer$1] = _native_typed_data.NativeUint8List.new(8192);
      this[_length$1] = 0;
    }
    if (dart.notNull(chunk[$length]) > 8192) {
      add(chunk);
    } else {
      dart.nullCheck(this[_buffer$1])[$setRange](this[_length$1], dart.notNull(this[_length$1]) + dart.notNull(chunk[$length]), chunk);
      this[_length$1] = dart.notNull(this[_length$1]) + dart.notNull(chunk[$length]);
    }
  }
  [_chunkHeader](length) {
    if (length == null) dart.nullFailed(I[181], 1979, 30, "length");
    let hexDigits = C[473] || CT.C473;
    if (length === 0) {
      if (this[_pendingChunkedFooter] === 2) return _http._HttpOutgoing._footerAndChunk0Length;
      return _http._HttpOutgoing._chunk0Length;
    }
    let size = this[_pendingChunkedFooter];
    let len = length;
    while (dart.notNull(len) > 0) {
      size = dart.notNull(size) + 1;
      len = len[$rightShift](4);
    }
    let footerAndHeader = _native_typed_data.NativeUint8List.new(dart.notNull(size) + 2);
    if (this[_pendingChunkedFooter] === 2) {
      footerAndHeader[$_set](0, 13);
      footerAndHeader[$_set](1, 10);
    }
    let index = size;
    while (dart.notNull(index) > dart.notNull(this[_pendingChunkedFooter])) {
      footerAndHeader[$_set](index = dart.notNull(index) - 1, hexDigits[$_get](dart.notNull(length) & 15));
      length = length[$rightShift](4);
    }
    footerAndHeader[$_set](dart.notNull(size) + 0, 13);
    footerAndHeader[$_set](dart.notNull(size) + 1, 10);
    return footerAndHeader;
  }
};
(_http._HttpOutgoing.new = function(socket) {
  if (socket == null) dart.nullFailed(I[181], 1685, 22, "socket");
  this[_doneCompleter$] = T$0.CompleterOfSocket().new();
  this.ignoreBody = false;
  this.headersWritten = false;
  this[_buffer$1] = null;
  this[_length$1] = 0;
  this[_closeFuture] = null;
  this.chunked = false;
  this[_pendingChunkedFooter] = 0;
  this.contentLength = null;
  this[_bytesWritten] = 0;
  this[_gzip] = false;
  this[_gzipSink] = null;
  this[_gzipAdd] = null;
  this[_gzipBuffer] = null;
  this[_gzipBufferLength] = 0;
  this[_socketError] = false;
  this.outbound = null;
  this.socket = socket;
  ;
}).prototype = _http._HttpOutgoing.prototype;
dart.addTypeTests(_http._HttpOutgoing);
dart.addTypeCaches(_http._HttpOutgoing);
_http._HttpOutgoing[dart.implements] = () => [async.StreamConsumer$(core.List$(core.int))];
dart.setMethodSignature(_http._HttpOutgoing, () => ({
  __proto__: dart.getMethods(_http._HttpOutgoing.__proto__),
  writeHeaders: dart.fnType(dart.nullable(async.Future$(dart.void)), [], {drainRequest: core.bool, setOutgoing: core.bool}, {}),
  addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
  close: dart.fnType(async.Future, []),
  setHeader: dart.fnType(dart.void, [core.List$(core.int), core.int]),
  [_ignoreError$]: dart.fnType(core.bool, [dart.dynamic]),
  [_addGZipChunk]: dart.fnType(dart.void, [core.List$(core.int), dart.fnType(dart.void, [core.List$(core.int)])]),
  [_addChunk$]: dart.fnType(dart.void, [core.List$(core.int), dart.fnType(dart.void, [core.List$(core.int)])]),
  [_chunkHeader]: dart.fnType(core.List$(core.int), [core.int])
}));
dart.setGetterSignature(_http._HttpOutgoing, () => ({
  __proto__: dart.getGetters(_http._HttpOutgoing.__proto__),
  done: async.Future$(io.Socket)
}));
dart.setSetterSignature(_http._HttpOutgoing, () => ({
  __proto__: dart.getSetters(_http._HttpOutgoing.__proto__),
  gzip: core.bool
}));
dart.setLibraryUri(_http._HttpOutgoing, I[177]);
dart.setFieldSignature(_http._HttpOutgoing, () => ({
  __proto__: dart.getFields(_http._HttpOutgoing.__proto__),
  [_doneCompleter$]: dart.finalFieldType(async.Completer$(io.Socket)),
  socket: dart.finalFieldType(io.Socket),
  ignoreBody: dart.fieldType(core.bool),
  headersWritten: dart.fieldType(core.bool),
  [_buffer$1]: dart.fieldType(dart.nullable(typed_data.Uint8List)),
  [_length$1]: dart.fieldType(core.int),
  [_closeFuture]: dart.fieldType(dart.nullable(async.Future)),
  chunked: dart.fieldType(core.bool),
  [_pendingChunkedFooter]: dart.fieldType(core.int),
  contentLength: dart.fieldType(dart.nullable(core.int)),
  [_bytesWritten]: dart.fieldType(core.int),
  [_gzip]: dart.fieldType(core.bool),
  [_gzipSink]: dart.fieldType(dart.nullable(convert.ByteConversionSink)),
  [_gzipAdd]: dart.fieldType(dart.nullable(dart.fnType(dart.void, [core.List$(core.int)]))),
  [_gzipBuffer]: dart.fieldType(dart.nullable(typed_data.Uint8List)),
  [_gzipBufferLength]: dart.fieldType(core.int),
  [_socketError]: dart.fieldType(core.bool),
  outbound: dart.fieldType(dart.nullable(_http._HttpOutboundMessage))
}));
dart.defineLazy(_http._HttpOutgoing, {
  /*_http._HttpOutgoing._footerAndChunk0Length*/get _footerAndChunk0Length() {
    return C[474] || CT.C474;
  },
  /*_http._HttpOutgoing._chunk0Length*/get _chunk0Length() {
    return C[475] || CT.C475;
  }
}, false);
var _subscription$0 = dart.privateName(_http, "_subscription");
var _dispose = dart.privateName(_http, "_dispose");
var _idleTimer = dart.privateName(_http, "_idleTimer");
var _currentUri = dart.privateName(_http, "_currentUri");
var _nextResponseCompleter = dart.privateName(_http, "_nextResponseCompleter");
var _streamFuture = dart.privateName(_http, "_streamFuture");
var _context$0 = dart.privateName(_http, "_context");
var _httpParser = dart.privateName(_http, "_httpParser");
var _proxyCredentials = dart.privateName(_http, "_proxyCredentials");
var _returnConnection = dart.privateName(_http, "_returnConnection");
var _connectionClosedNoFurtherClosing = dart.privateName(_http, "_connectionClosedNoFurtherClosing");
_http._HttpClientConnection = class _HttpClientConnection extends core.Object {
  send(uri, port, method, proxy, profileData) {
    let t296;
    if (uri == null) dart.nullFailed(I[181], 2088, 31, "uri");
    if (port == null) dart.nullFailed(I[181], 2088, 40, "port");
    if (method == null) dart.nullFailed(I[181], 2088, 53, "method");
    if (proxy == null) dart.nullFailed(I[181], 2088, 68, "proxy");
    if (dart.test(this.closed)) {
      dart.throw(new _http.HttpException.new("Socket closed before request was sent", {uri: uri}));
    }
    this[_currentUri] = uri;
    dart.nullCheck(this[_subscription$0]).pause();
    if (method === "CONNECT") {
      this[_httpParser].connectMethod = true;
    }
    let proxyCreds = null;
    let creds = null;
    let outgoing = new _http._HttpOutgoing.new(this[_socket$0]);
    let request = new _http._HttpClientRequest.new(outgoing, uri, method, proxy, this[_httpClient$], this, profileData);
    let host = uri.host;
    if (host[$contains](":")) host = "[" + dart.str(host) + "]";
    t296 = request.headers;
    (() => {
      t296.host = host;
      t296.port = port;
      t296.add("accept-encoding", "gzip");
      return t296;
    })();
    if (this[_httpClient$].userAgent != null) {
      request.headers.add("user-agent", dart.nullCheck(this[_httpClient$].userAgent));
    }
    if (dart.test(proxy.isAuthenticated)) {
      let auth = _http._CryptoUtils.bytesToBase64(convert.utf8.encode(dart.str(proxy.username) + ":" + dart.str(proxy.password)));
      request.headers.set("proxy-authorization", "Basic " + dart.str(auth));
    } else if (!dart.test(proxy.isDirect) && dart.notNull(this[_httpClient$][_proxyCredentials][$length]) > 0) {
      proxyCreds = this[_httpClient$][_findProxyCredentials](proxy);
      if (proxyCreds != null) {
        proxyCreds.authorize(request);
      }
    }
    if (uri.userInfo != null && !uri.userInfo[$isEmpty]) {
      let auth = _http._CryptoUtils.bytesToBase64(convert.utf8.encode(uri.userInfo));
      request.headers.set("authorization", "Basic " + dart.str(auth));
    } else {
      creds = this[_httpClient$][_findCredentials](uri);
      if (creds != null) {
        creds.authorize(request);
      }
    }
    this[_httpParser].isHead = method === "HEAD";
    this[_streamFuture] = outgoing.done.then(io.Socket, dart.fn(s => {
      if (s == null) dart.nullFailed(I[181], 2146, 56, "s");
      let nextResponseCompleter = T.CompleterOf_HttpIncoming().new();
      this[_nextResponseCompleter] = nextResponseCompleter;
      nextResponseCompleter.future.then(core.Null, dart.fn(incoming => {
        if (incoming == null) dart.nullFailed(I[181], 2152, 42, "incoming");
        this[_currentUri] = null;
        incoming.dataDone.then(core.Null, dart.fn(closing => {
          if (dart.test(incoming.upgraded)) {
            this[_httpClient$][_connectionClosed](this);
            this.startTimer();
            return;
          }
          if (dart.test(this.closed) || method === "CONNECT" && incoming.statusCode === 200) {
            return;
          }
          if (!dart.dtest(closing) && !dart.test(this[_dispose]) && dart.test(incoming.headers.persistentConnection) && dart.test(request.persistentConnection)) {
            this[_httpClient$][_returnConnection](this);
            dart.nullCheck(this[_subscription$0]).resume();
          } else {
            this.destroy();
          }
        }, T$.dynamicToNull()));
        if (proxyCreds != null && dart.equals(proxyCreds.scheme, _http._AuthenticationScheme.DIGEST)) {
          let authInfo = incoming.headers._get("proxy-authentication-info");
          if (authInfo != null && authInfo[$length] === 1) {
            let header = _http._HeaderValue.parse(authInfo[$_get](0), {parameterSeparator: ","});
            let nextnonce = header.parameters[$_get]("nextnonce");
            if (nextnonce != null) proxyCreds.nonce = nextnonce;
          }
        }
        if (creds != null && dart.equals(creds.scheme, _http._AuthenticationScheme.DIGEST)) {
          let authInfo = incoming.headers._get("authentication-info");
          if (authInfo != null && authInfo[$length] === 1) {
            let header = _http._HeaderValue.parse(authInfo[$_get](0), {parameterSeparator: ","});
            let nextnonce = header.parameters[$_get]("nextnonce");
            if (nextnonce != null) creds.nonce = nextnonce;
          }
        }
        request[_onIncoming](incoming);
      }, T._HttpIncomingToNull())).catchError(dart.fn(error => {
        dart.throw(new _http.HttpException.new("Connection closed before data was received", {uri: uri}));
      }, T$0.dynamicToNever()), {test: dart.fn(error => {
          if (error == null) dart.nullFailed(I[181], 2207, 17, "error");
          return core.StateError.is(error);
        }, T$.ObjectTobool())}).catchError(dart.fn((error, stackTrace) => {
        this.destroy();
        request[_onError](error, core.StackTrace.as(stackTrace));
      }, T$.dynamicAnddynamicToNull()));
      dart.nullCheck(this[_subscription$0]).resume();
      return s;
    }, T.SocketToSocket()));
    T.FutureOfSocketN().value(this[_streamFuture]).catchError(dart.fn(e => {
      this.destroy();
    }, T$.dynamicToNull()));
    return request;
  }
  detachSocket() {
    return dart.nullCheck(this[_streamFuture]).then(io.Socket, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[181], 2225, 10, "_");
      return new _http._DetachedSocket.new(this[_socket$0], this[_httpParser].detachIncoming());
    }, T.SocketTo_DetachedSocket()));
  }
  destroy() {
    this.closed = true;
    this[_httpClient$][_connectionClosed](this);
    this[_socket$0].destroy();
  }
  destroyFromExternal() {
    this.closed = true;
    this[_httpClient$][_connectionClosedNoFurtherClosing](this);
    this[_socket$0].destroy();
  }
  close() {
    this.closed = true;
    this[_httpClient$][_connectionClosed](this);
    dart.nullCheck(this[_streamFuture]).timeout(this[_httpClient$].idleTimeout).then(dart.void, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[181], 2245, 16, "_");
      return this[_socket$0].destroy();
    }, T.SocketTovoid()));
  }
  closeFromExternal() {
    this.closed = true;
    this[_httpClient$][_connectionClosedNoFurtherClosing](this);
    dart.nullCheck(this[_streamFuture]).timeout(this[_httpClient$].idleTimeout).then(dart.void, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[181], 2253, 16, "_");
      return this[_socket$0].destroy();
    }, T.SocketTovoid()));
  }
  createProxyTunnel(host, port, proxy, callback, profileData) {
    let t296;
    if (host == null) dart.nullFailed(I[181], 2257, 14, "host");
    if (port == null) dart.nullFailed(I[181], 2258, 11, "port");
    if (proxy == null) dart.nullFailed(I[181], 2259, 14, "proxy");
    if (callback == null) dart.nullFailed(I[181], 2260, 12, "callback");
    let method = "CONNECT";
    let uri = core._Uri.new({host: host, port: port});
    t296 = profileData;
    t296 == null ? null : t296.proxyEvent(proxy);
    let proxyProfileData = null;
    if (profileData != null) {
      proxyProfileData = _http.HttpProfiler.startRequest(method, uri, {parentRequest: profileData});
    }
    let request = this.send(core._Uri.new({host: host, port: port}), port, method, proxy, proxyProfileData);
    if (dart.test(proxy.isAuthenticated)) {
      let auth = _http._CryptoUtils.bytesToBase64(convert.utf8.encode(dart.str(proxy.username) + ":" + dart.str(proxy.password)));
      request.headers.set("proxy-authorization", "Basic " + dart.str(auth));
    }
    return request.close().then(io.SecureSocket, dart.fn(response => {
      let t296;
      if (response == null) dart.nullFailed(I[181], 2285, 34, "response");
      if (response.statusCode !== 200) {
        let error = "Proxy failed to establish tunnel " + "(" + dart.str(response.statusCode) + " " + dart.str(response.reasonPhrase) + ")";
        t296 = profileData;
        t296 == null ? null : t296.requestEvent(error);
        dart.throw(new _http.HttpException.new(error, {uri: request.uri}));
      }
      let socket = _http._HttpClientResponse.as(response)[_httpRequest$][_httpClientConnection$][_socket$0];
      return io.SecureSocket.secure(socket, {host: host, context: this[_context$0], onBadCertificate: callback});
    }, T.HttpClientResponseToFutureOfSecureSocket())).then(_http._HttpClientConnection, dart.fn(secureSocket => {
      let t296;
      if (secureSocket == null) dart.nullFailed(I[181], 2298, 14, "secureSocket");
      let key = core.String.as(_http._HttpClientConnection.makeKey(true, host, port));
      t296 = profileData;
      t296 == null ? null : t296.requestEvent("Proxy tunnel established");
      return new _http._HttpClientConnection.new(key, secureSocket, request[_httpClient$], true);
    }, T.SecureSocketTo_HttpClientConnection()));
  }
  get connectionInfo() {
    return _http._HttpConnectionInfo.create(this[_socket$0]);
  }
  static makeKey(isSecure, host, port) {
    if (isSecure == null) dart.nullFailed(I[181], 2308, 23, "isSecure");
    if (host == null) dart.nullFailed(I[181], 2308, 40, "host");
    if (port == null) dart.nullFailed(I[181], 2308, 50, "port");
    return dart.test(isSecure) ? "ssh:" + dart.str(host) + ":" + dart.str(port) : dart.str(host) + ":" + dart.str(port);
  }
  stopTimer() {
    let t296;
    t296 = this[_idleTimer];
    t296 == null ? null : t296.cancel();
    this[_idleTimer] = null;
  }
  startTimer() {
    if (!(this[_idleTimer] == null)) dart.assertFailed(null, I[181], 2318, 12, "_idleTimer == null");
    this[_idleTimer] = async.Timer.new(this[_httpClient$].idleTimeout, dart.fn(() => {
      this[_idleTimer] = null;
      this.close();
    }, T$.VoidTovoid()));
  }
};
(_http._HttpClientConnection.new = function(key, _socket, _httpClient, _proxyTunnel = false, _context = null) {
  if (key == null) dart.nullFailed(I[181], 2041, 30, "key");
  if (_socket == null) dart.nullFailed(I[181], 2041, 40, "_socket");
  if (_httpClient == null) dart.nullFailed(I[181], 2041, 54, "_httpClient");
  if (_proxyTunnel == null) dart.nullFailed(I[181], 2042, 13, "_proxyTunnel");
  this[_subscription$0] = null;
  this[_dispose] = false;
  this[_idleTimer] = null;
  this.closed = false;
  this[_currentUri] = null;
  this[_nextResponseCompleter] = null;
  this[_streamFuture] = null;
  this.key = key;
  this[_socket$0] = _socket;
  this[_httpClient$] = _httpClient;
  this[_proxyTunnel$] = _proxyTunnel;
  this[_context$0] = _context;
  this[_httpParser] = _http._HttpParser.responseParser();
  this[_httpParser].listenToStream(this[_socket$0]);
  this[_subscription$0] = this[_httpParser].listen(dart.fn(incoming => {
    if (incoming == null) dart.nullFailed(I[181], 2048, 41, "incoming");
    dart.nullCheck(this[_subscription$0]).pause();
    if (this[_nextResponseCompleter] == null) {
      dart.throw(new _http.HttpException.new("Unexpected response (unsolicited response without request).", {uri: this[_currentUri]}));
    }
    if (incoming.statusCode === 100) {
      incoming.drain(dart.dynamic).then(core.Null, dart.fn(_ => {
        dart.nullCheck(this[_subscription$0]).resume();
      }, T$.dynamicToNull())).catchError(dart.fn((error, stackTrace) => {
        if (stackTrace == null) dart.nullFailed(I[181], 2066, 50, "stackTrace");
        dart.nullCheck(this[_nextResponseCompleter]).completeError(new _http.HttpException.new(core.String.as(dart.dload(error, 'message')), {uri: this[_currentUri]}), stackTrace);
        this[_nextResponseCompleter] = null;
      }, T$0.dynamicAndStackTraceToNull()));
    } else {
      dart.nullCheck(this[_nextResponseCompleter]).complete(incoming);
      this[_nextResponseCompleter] = null;
    }
  }, T$0._HttpIncomingTovoid()), {onError: dart.fn((error, stackTrace) => {
      let t296;
      if (stackTrace == null) dart.nullFailed(I[181], 2075, 44, "stackTrace");
      t296 = this[_nextResponseCompleter];
      t296 == null ? null : t296.completeError(new _http.HttpException.new(core.String.as(dart.dload(error, 'message')), {uri: this[_currentUri]}), stackTrace);
      this[_nextResponseCompleter] = null;
    }, T$0.dynamicAndStackTraceToNull()), onDone: dart.fn(() => {
      let t296;
      t296 = this[_nextResponseCompleter];
      t296 == null ? null : t296.completeError(new _http.HttpException.new("Connection closed before response was received", {uri: this[_currentUri]}));
      this[_nextResponseCompleter] = null;
      this.close();
    }, T$.VoidTovoid())});
}).prototype = _http._HttpClientConnection.prototype;
dart.addTypeTests(_http._HttpClientConnection);
dart.addTypeCaches(_http._HttpClientConnection);
dart.setMethodSignature(_http._HttpClientConnection, () => ({
  __proto__: dart.getMethods(_http._HttpClientConnection.__proto__),
  send: dart.fnType(_http._HttpClientRequest, [core.Uri, core.int, core.String, _http._Proxy, dart.nullable(_http._HttpProfileData)]),
  detachSocket: dart.fnType(async.Future$(io.Socket), []),
  destroy: dart.fnType(dart.void, []),
  destroyFromExternal: dart.fnType(dart.void, []),
  close: dart.fnType(dart.void, []),
  closeFromExternal: dart.fnType(dart.void, []),
  createProxyTunnel: dart.fnType(async.Future$(_http._HttpClientConnection), [core.String, core.int, _http._Proxy, dart.fnType(core.bool, [io.X509Certificate]), dart.nullable(_http._HttpProfileData)]),
  stopTimer: dart.fnType(dart.void, []),
  startTimer: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(_http._HttpClientConnection, () => ({
  __proto__: dart.getGetters(_http._HttpClientConnection.__proto__),
  connectionInfo: dart.nullable(_http.HttpConnectionInfo)
}));
dart.setLibraryUri(_http._HttpClientConnection, I[177]);
dart.setFieldSignature(_http._HttpClientConnection, () => ({
  __proto__: dart.getFields(_http._HttpClientConnection.__proto__),
  key: dart.finalFieldType(core.String),
  [_socket$0]: dart.finalFieldType(io.Socket),
  [_proxyTunnel$]: dart.finalFieldType(core.bool),
  [_context$0]: dart.finalFieldType(dart.nullable(io.SecurityContext)),
  [_httpParser]: dart.finalFieldType(_http._HttpParser),
  [_subscription$0]: dart.fieldType(dart.nullable(async.StreamSubscription)),
  [_httpClient$]: dart.finalFieldType(_http._HttpClient),
  [_dispose]: dart.fieldType(core.bool),
  [_idleTimer]: dart.fieldType(dart.nullable(async.Timer)),
  closed: dart.fieldType(core.bool),
  [_currentUri]: dart.fieldType(dart.nullable(core.Uri)),
  [_nextResponseCompleter]: dart.fieldType(dart.nullable(async.Completer$(_http._HttpIncoming))),
  [_streamFuture]: dart.fieldType(dart.nullable(async.Future$(io.Socket)))
}));
_http._ConnectionInfo = class _ConnectionInfo extends core.Object {};
(_http._ConnectionInfo.new = function(connection, proxy) {
  if (connection == null) dart.nullFailed(I[181], 2330, 24, "connection");
  if (proxy == null) dart.nullFailed(I[181], 2330, 41, "proxy");
  this.connection = connection;
  this.proxy = proxy;
  ;
}).prototype = _http._ConnectionInfo.prototype;
dart.addTypeTests(_http._ConnectionInfo);
dart.addTypeCaches(_http._ConnectionInfo);
dart.setLibraryUri(_http._ConnectionInfo, I[177]);
dart.setFieldSignature(_http._ConnectionInfo, () => ({
  __proto__: dart.getFields(_http._ConnectionInfo.__proto__),
  connection: dart.finalFieldType(_http._HttpClientConnection),
  proxy: dart.finalFieldType(_http._Proxy)
}));
var _idle = dart.privateName(_http, "_idle");
var _active = dart.privateName(_http, "_active");
var _socketTasks = dart.privateName(_http, "_socketTasks");
var _pending = dart.privateName(_http, "_pending");
var _connecting = dart.privateName(_http, "_connecting");
var _checkPending = dart.privateName(_http, "_checkPending");
var _connectionsChanged = dart.privateName(_http, "_connectionsChanged");
var _badCertificateCallback = dart.privateName(_http, "_badCertificateCallback");
var _getConnectionTarget = dart.privateName(_http, "_getConnectionTarget");
_http._ConnectionTarget = class _ConnectionTarget extends core.Object {
  get isEmpty() {
    return dart.test(this[_idle][$isEmpty]) && dart.test(this[_active][$isEmpty]) && this[_connecting] === 0;
  }
  get hasIdle() {
    return this[_idle][$isNotEmpty];
  }
  get hasActive() {
    return dart.test(this[_active][$isNotEmpty]) || dart.notNull(this[_connecting]) > 0;
  }
  takeIdle() {
    if (!dart.test(this.hasIdle)) dart.assertFailed(null, I[181], 2356, 12, "hasIdle");
    let connection = this[_idle][$first];
    this[_idle].remove(connection);
    connection.stopTimer();
    this[_active].add(connection);
    return connection;
  }
  [_checkPending]() {
    if (dart.test(this[_pending][$isNotEmpty])) {
      dart.dcall(this[_pending].removeFirst(), []);
    }
  }
  addNewActive(connection) {
    if (connection == null) dart.nullFailed(I[181], 2370, 43, "connection");
    this[_active].add(connection);
  }
  returnConnection(connection) {
    if (connection == null) dart.nullFailed(I[181], 2374, 47, "connection");
    if (!dart.test(this[_active].contains(connection))) dart.assertFailed(null, I[181], 2375, 12, "_active.contains(connection)");
    this[_active].remove(connection);
    this[_idle].add(connection);
    connection.startTimer();
    this[_checkPending]();
  }
  connectionClosed(connection) {
    if (connection == null) dart.nullFailed(I[181], 2382, 47, "connection");
    if (!(!dart.test(this[_active].contains(connection)) || !dart.test(this[_idle].contains(connection)))) dart.assertFailed(null, I[181], 2383, 12, "!_active.contains(connection) || !_idle.contains(connection)");
    this[_active].remove(connection);
    this[_idle].remove(connection);
    this[_checkPending]();
  }
  close(force) {
    if (force == null) dart.nullFailed(I[181], 2389, 19, "force");
    for (let t of this[_socketTasks][$toList]()) {
      t.socket.then(core.Null, dart.fn(s => {
        dart.dsend(s, 'destroy', []);
      }, T$.dynamicToNull()), {onError: dart.fn(e => {
        }, T$.dynamicToNull())});
      t.cancel();
    }
    if (dart.test(force)) {
      for (let c of this[_idle][$toList]()) {
        c.destroyFromExternal();
      }
      for (let c of this[_active][$toList]()) {
        c.destroyFromExternal();
      }
    } else {
      for (let c of this[_idle][$toList]()) {
        c.closeFromExternal();
      }
    }
  }
  connect(uriHost, uriPort, proxy, client, profileData) {
    if (uriHost == null) dart.nullFailed(I[181], 2412, 42, "uriHost");
    if (uriPort == null) dart.nullFailed(I[181], 2412, 55, "uriPort");
    if (proxy == null) dart.nullFailed(I[181], 2412, 71, "proxy");
    if (client == null) dart.nullFailed(I[181], 2413, 19, "client");
    if (dart.test(this.hasIdle)) {
      let connection = this.takeIdle();
      client[_connectionsChanged]();
      return T.FutureOf_ConnectionInfo().value(new _http._ConnectionInfo.new(connection, proxy));
    }
    let maxConnectionsPerHost = client.maxConnectionsPerHost;
    if (maxConnectionsPerHost != null && dart.notNull(this[_active][$length]) + dart.notNull(this[_connecting]) >= dart.notNull(maxConnectionsPerHost)) {
      let completer = T.CompleterOf_ConnectionInfo().new();
      this[_pending].add(dart.fn(() => {
        completer.complete(this.connect(uriHost, uriPort, proxy, client, profileData));
      }, T$.VoidToNull()));
      return completer.future;
    }
    let currentBadCertificateCallback = client[_badCertificateCallback];
    function callback(certificate) {
      if (certificate == null) dart.nullFailed(I[181], 2431, 35, "certificate");
      if (currentBadCertificateCallback == null) return false;
      return currentBadCertificateCallback(certificate, uriHost, uriPort);
    }
    dart.fn(callback, T.X509CertificateTobool());
    let connectionTask = dart.test(this.isSecure) && dart.test(proxy.isDirect) ? io.SecureSocket.startConnect(this.host, this.port, {context: this.context, onBadCertificate: callback}) : io.Socket.startConnect(this.host, this.port);
    this[_connecting] = dart.notNull(this[_connecting]) + 1;
    return connectionTask.then(_http._ConnectionInfo, dart.fn(task => {
      if (task == null) dart.nullFailed(I[181], 2441, 48, "task");
      this[_socketTasks].add(task);
      let socketFuture = task.socket;
      let connectionTimeout = client.connectionTimeout;
      if (connectionTimeout != null) {
        socketFuture = socketFuture.timeout(connectionTimeout);
      }
      return socketFuture.then(_http._ConnectionInfo, dart.fn(socket => {
        this[_connecting] = dart.notNull(this[_connecting]) - 1;
        if (!dart.equals(dart.dload(dart.dload(socket, 'address'), 'type'), io.InternetAddressType.unix)) {
          dart.dsend(socket, 'setOption', [io.SocketOption.tcpNoDelay, true]);
        }
        let connection = new _http._HttpClientConnection.new(this.key, io.Socket.as(socket), client, false, this.context);
        if (dart.test(this.isSecure) && !dart.test(proxy.isDirect)) {
          connection[_dispose] = true;
          return connection.createProxyTunnel(uriHost, uriPort, proxy, callback, profileData).then(_http._ConnectionInfo, dart.fn(tunnel => {
            if (tunnel == null) dart.nullFailed(I[181], 2459, 22, "tunnel");
            client[_getConnectionTarget](uriHost, uriPort, true).addNewActive(tunnel);
            this[_socketTasks].remove(task);
            return new _http._ConnectionInfo.new(tunnel, proxy);
          }, T._HttpClientConnectionTo_ConnectionInfo()));
        } else {
          this.addNewActive(connection);
          this[_socketTasks].remove(task);
          return new _http._ConnectionInfo.new(connection, proxy);
        }
      }, T.dynamicToFutureOrOf_ConnectionInfo()), {onError: dart.fn(error => {
          if (async.TimeoutException.is(error)) {
            if (!(connectionTimeout != null)) dart.assertFailed(null, I[181], 2478, 18, "connectionTimeout != null");
            this[_connecting] = dart.notNull(this[_connecting]) - 1;
            this[_socketTasks].remove(task);
            task.cancel();
            dart.throw(new io.SocketException.new("HTTP connection timed out after " + dart.str(connectionTimeout) + ", " + "host: " + dart.str(this.host) + ", port: " + dart.str(this.port)));
          }
          this[_socketTasks].remove(task);
          this[_checkPending]();
          dart.throw(error);
        }, T$0.dynamicToNever())});
    }, T.ConnectionTaskToFutureOf_ConnectionInfo()), {onError: dart.fn(error => {
        this[_connecting] = dart.notNull(this[_connecting]) - 1;
        dart.throw(error);
      }, T$0.dynamicToNever())});
  }
};
(_http._ConnectionTarget.new = function(key, host, port, isSecure, context) {
  if (key == null) dart.nullFailed(I[181], 2347, 12, "key");
  if (host == null) dart.nullFailed(I[181], 2347, 22, "host");
  if (port == null) dart.nullFailed(I[181], 2347, 33, "port");
  if (isSecure == null) dart.nullFailed(I[181], 2347, 44, "isSecure");
  this[_idle] = new (T._HashSetOf_HttpClientConnection()).new();
  this[_active] = new (T._HashSetOf_HttpClientConnection()).new();
  this[_socketTasks] = new (T._HashSetOfConnectionTask()).new();
  this[_pending] = new collection.ListQueue.new();
  this[_connecting] = 0;
  this.key = key;
  this.host = host;
  this.port = port;
  this.isSecure = isSecure;
  this.context = context;
  ;
}).prototype = _http._ConnectionTarget.prototype;
dart.addTypeTests(_http._ConnectionTarget);
dart.addTypeCaches(_http._ConnectionTarget);
dart.setMethodSignature(_http._ConnectionTarget, () => ({
  __proto__: dart.getMethods(_http._ConnectionTarget.__proto__),
  takeIdle: dart.fnType(_http._HttpClientConnection, []),
  [_checkPending]: dart.fnType(dart.dynamic, []),
  addNewActive: dart.fnType(dart.void, [_http._HttpClientConnection]),
  returnConnection: dart.fnType(dart.void, [_http._HttpClientConnection]),
  connectionClosed: dart.fnType(dart.void, [_http._HttpClientConnection]),
  close: dart.fnType(dart.void, [core.bool]),
  connect: dart.fnType(async.Future$(_http._ConnectionInfo), [core.String, core.int, _http._Proxy, _http._HttpClient, dart.nullable(_http._HttpProfileData)])
}));
dart.setGetterSignature(_http._ConnectionTarget, () => ({
  __proto__: dart.getGetters(_http._ConnectionTarget.__proto__),
  isEmpty: core.bool,
  hasIdle: core.bool,
  hasActive: core.bool
}));
dart.setLibraryUri(_http._ConnectionTarget, I[177]);
dart.setFieldSignature(_http._ConnectionTarget, () => ({
  __proto__: dart.getFields(_http._ConnectionTarget.__proto__),
  key: dart.finalFieldType(core.String),
  host: dart.finalFieldType(core.String),
  port: dart.finalFieldType(core.int),
  isSecure: dart.finalFieldType(core.bool),
  context: dart.finalFieldType(dart.nullable(io.SecurityContext)),
  [_idle]: dart.finalFieldType(core.Set$(_http._HttpClientConnection)),
  [_active]: dart.finalFieldType(core.Set$(_http._HttpClientConnection)),
  [_socketTasks]: dart.finalFieldType(core.Set$(io.ConnectionTask)),
  [_pending]: dart.finalFieldType(collection.Queue),
  [_connecting]: dart.fieldType(core.int)
}));
var _closing = dart.privateName(_http, "_closing");
var _closingForcefully = dart.privateName(_http, "_closingForcefully");
var _connectionTargets = dart.privateName(_http, "_connectionTargets");
var _credentials = dart.privateName(_http, "_credentials");
var _findProxy = dart.privateName(_http, "_findProxy");
var _idleTimeout = dart.privateName(_http, "_idleTimeout");
var _openUrl = dart.privateName(_http, "_openUrl");
var _closeConnections = dart.privateName(_http, "_closeConnections");
var _isLoopback = dart.privateName(_http, "_isLoopback");
var _Proxy_isDirect = dart.privateName(_http, "_Proxy.isDirect");
var _Proxy_password = dart.privateName(_http, "_Proxy.password");
var _Proxy_username = dart.privateName(_http, "_Proxy.username");
var _Proxy_port = dart.privateName(_http, "_Proxy.port");
var _Proxy_host = dart.privateName(_http, "_Proxy.host");
var _ProxyConfiguration_proxies = dart.privateName(_http, "_ProxyConfiguration.proxies");
var _getConnection = dart.privateName(_http, "_getConnection");
_http._HttpClient = class _HttpClient extends core.Object {
  get idleTimeout() {
    return this[_idleTimeout];
  }
  set idleTimeout(timeout) {
    if (timeout == null) dart.nullFailed(I[181], 2526, 33, "timeout");
    this[_idleTimeout] = timeout;
    for (let c of this[_connectionTargets][$values]) {
      for (let idle of c[_idle]) {
        idle.stopTimer();
        idle.startTimer();
      }
    }
  }
  set badCertificateCallback(callback) {
    this[_badCertificateCallback] = callback;
  }
  open(method, host, port, path) {
    if (method == null) dart.nullFailed(I[181], 2543, 14, "method");
    if (host == null) dart.nullFailed(I[181], 2543, 29, "host");
    if (port == null) dart.nullFailed(I[181], 2543, 39, "port");
    if (path == null) dart.nullFailed(I[181], 2543, 52, "path");
    let fragmentStart = path.length;
    let queryStart = path.length;
    for (let i = path.length - 1; i >= 0; i = i - 1) {
      let char = path[$codeUnitAt](i);
      if (char === 35) {
        fragmentStart = i;
        queryStart = i;
      } else if (char === 63) {
        queryStart = i;
      }
    }
    let query = null;
    if (queryStart < fragmentStart) {
      query = path[$substring](queryStart + 1, fragmentStart);
      path = path[$substring](0, queryStart);
    }
    let uri = core._Uri.new({scheme: "http", host: host, port: port, path: path, query: query});
    return this[_openUrl](method, uri);
  }
  openUrl(method, url) {
    if (method == null) dart.nullFailed(I[181], 2567, 44, "method");
    if (url == null) dart.nullFailed(I[181], 2567, 56, "url");
    return this[_openUrl](method, url);
  }
  get(host, port, path) {
    if (host == null) dart.nullFailed(I[181], 2570, 40, "host");
    if (port == null) dart.nullFailed(I[181], 2570, 50, "port");
    if (path == null) dart.nullFailed(I[181], 2570, 63, "path");
    return this.open("get", host, port, path);
  }
  getUrl(url) {
    if (url == null) dart.nullFailed(I[181], 2573, 40, "url");
    return this[_openUrl]("get", url);
  }
  post(host, port, path) {
    if (host == null) dart.nullFailed(I[181], 2575, 41, "host");
    if (port == null) dart.nullFailed(I[181], 2575, 51, "port");
    if (path == null) dart.nullFailed(I[181], 2575, 64, "path");
    return this.open("post", host, port, path);
  }
  postUrl(url) {
    if (url == null) dart.nullFailed(I[181], 2578, 41, "url");
    return this[_openUrl]("post", url);
  }
  put(host, port, path) {
    if (host == null) dart.nullFailed(I[181], 2580, 40, "host");
    if (port == null) dart.nullFailed(I[181], 2580, 50, "port");
    if (path == null) dart.nullFailed(I[181], 2580, 63, "path");
    return this.open("put", host, port, path);
  }
  putUrl(url) {
    if (url == null) dart.nullFailed(I[181], 2583, 40, "url");
    return this[_openUrl]("put", url);
  }
  delete(host, port, path) {
    if (host == null) dart.nullFailed(I[181], 2585, 43, "host");
    if (port == null) dart.nullFailed(I[181], 2585, 53, "port");
    if (path == null) dart.nullFailed(I[181], 2585, 66, "path");
    return this.open("delete", host, port, path);
  }
  deleteUrl(url) {
    if (url == null) dart.nullFailed(I[181], 2588, 43, "url");
    return this[_openUrl]("delete", url);
  }
  head(host, port, path) {
    if (host == null) dart.nullFailed(I[181], 2590, 41, "host");
    if (port == null) dart.nullFailed(I[181], 2590, 51, "port");
    if (path == null) dart.nullFailed(I[181], 2590, 64, "path");
    return this.open("head", host, port, path);
  }
  headUrl(url) {
    if (url == null) dart.nullFailed(I[181], 2593, 41, "url");
    return this[_openUrl]("head", url);
  }
  patch(host, port, path) {
    if (host == null) dart.nullFailed(I[181], 2595, 42, "host");
    if (port == null) dart.nullFailed(I[181], 2595, 52, "port");
    if (path == null) dart.nullFailed(I[181], 2595, 65, "path");
    return this.open("patch", host, port, path);
  }
  patchUrl(url) {
    if (url == null) dart.nullFailed(I[181], 2598, 42, "url");
    return this[_openUrl]("patch", url);
  }
  close(opts) {
    let force = opts && 'force' in opts ? opts.force : false;
    if (force == null) dart.nullFailed(I[181], 2600, 20, "force");
    this[_closing] = true;
    this[_closingForcefully] = force;
    this[_closeConnections](this[_closingForcefully]);
    if (!!dart.test(this[_connectionTargets][$values][$any](dart.fn(s => {
      if (s == null) dart.nullFailed(I[181], 2604, 44, "s");
      return s.hasIdle;
    }, T._ConnectionTargetTobool())))) dart.assertFailed(null, I[181], 2604, 12, "!_connectionTargets.values.any((s) => s.hasIdle)");
    if (!(!dart.test(force) || !dart.test(this[_connectionTargets][$values][$any](dart.fn(s => {
      if (s == null) dart.nullFailed(I[181], 2606, 51, "s");
      return s[_active][$isNotEmpty];
    }, T._ConnectionTargetTobool()))))) dart.assertFailed(null, I[181], 2606, 9, "!force || !_connectionTargets.values.any((s) => s._active.isNotEmpty)");
  }
  set authenticate(f) {
    this[_authenticate] = f;
  }
  addCredentials(url, realm, cr) {
    if (url == null) dart.nullFailed(I[181], 2613, 27, "url");
    if (realm == null) dart.nullFailed(I[181], 2613, 39, "realm");
    if (cr == null) dart.nullFailed(I[181], 2613, 68, "cr");
    this[_credentials][$add](new _http._SiteCredentials.new(url, realm, _http._HttpClientCredentials.as(cr)));
  }
  set authenticateProxy(f) {
    this[_authenticateProxy] = f;
  }
  addProxyCredentials(host, port, realm, cr) {
    if (host == null) dart.nullFailed(I[181], 2624, 14, "host");
    if (port == null) dart.nullFailed(I[181], 2624, 24, "port");
    if (realm == null) dart.nullFailed(I[181], 2624, 37, "realm");
    if (cr == null) dart.nullFailed(I[181], 2624, 66, "cr");
    this[_proxyCredentials][$add](new _http._ProxyCredentials.new(host, port, realm, _http._HttpClientCredentials.as(cr)));
  }
  set findProxy(f) {
    return this[_findProxy] = f;
  }
  static _startRequestTimelineEvent(timeline, method, uri) {
    let t296;
    if (method == null) dart.nullFailed(I[181], 2632, 38, "method");
    if (uri == null) dart.nullFailed(I[181], 2632, 50, "uri");
    t296 = timeline;
    t296 == null ? null : t296.start("HTTP CLIENT " + method[$toUpperCase](), {arguments: new _js_helper.LinkedMap.from(["method", method[$toUpperCase](), "uri", dart.toString(uri)])});
  }
  [_isLoopback](host) {
    if (host == null) dart.nullFailed(I[181], 2639, 27, "host");
    if (host[$isEmpty]) return false;
    if ("localhost" === host) return true;
    try {
      return io.InternetAddress.new(host).isLoopback;
    } catch (e) {
      let ex = dart.getThrown(e);
      if (core.ArgumentError.is(ex)) {
        return false;
      } else
        throw e;
    }
  }
  [_openUrl](method, uri) {
    if (method == null) dart.nullFailed(I[181], 2649, 46, "method");
    if (uri == null) dart.nullFailed(I[181], 2649, 58, "uri");
    if (dart.test(this[_closing])) {
      dart.throw(new core.StateError.new("Client is closed"));
    }
    uri = uri.removeFragment();
    if (method == null) {
      dart.throw(new core.ArgumentError.new(method));
    }
    if (method !== "CONNECT") {
      if (uri.host[$isEmpty]) {
        dart.throw(new core.ArgumentError.new("No host specified in URI " + dart.str(uri)));
      } else if (uri.scheme !== "http" && uri.scheme !== "https") {
        dart.throw(new core.ArgumentError.new("Unsupported scheme '" + dart.str(uri.scheme) + "' in URI " + dart.str(uri)));
      }
    }
    _http._httpConnectionHook(uri);
    let isSecure = uri.isScheme("https");
    let port = uri.port;
    if (port === 0) {
      port = dart.test(isSecure) ? 443 : 80;
    }
    let proxyConf = C[477] || CT.C477;
    let findProxy = this[_findProxy];
    if (findProxy != null) {
      try {
        proxyConf = new _http._ProxyConfiguration.new(findProxy(uri));
      } catch (e) {
        let error = dart.getThrown(e);
        let stackTrace = dart.stackTrace(e);
        if (core.Object.is(error)) {
          return T.FutureOf_HttpClientRequest().error(error, stackTrace);
        } else
          throw e;
      }
    }
    let profileData = null;
    if (dart.test(_http.HttpClient.enableTimelineLogging)) {
      profileData = _http.HttpProfiler.startRequest(method, uri);
    }
    return this[_getConnection](uri.host, port, proxyConf, isSecure, profileData).then(_http._HttpClientRequest, dart.fn(info => {
      if (info == null) dart.nullFailed(I[181], 2695, 32, "info");
      function send(info) {
        let t299;
        if (info == null) dart.nullFailed(I[181], 2696, 47, "info");
        t299 = profileData;
        t299 == null ? null : t299.requestEvent("Connection established");
        return info.connection.send(uri, port, method[$toUpperCase](), info.proxy, profileData);
      }
      dart.fn(send, T._ConnectionInfoTo_HttpClientRequest());
      if (dart.test(info.connection.closed)) {
        return this[_getConnection](uri.host, port, proxyConf, isSecure, profileData).then(_http._HttpClientRequest, send);
      }
      return send(info);
    }, T._ConnectionInfoToFutureOrOf_HttpClientRequest()), {onError: dart.fn(error => {
        let t299;
        t299 = profileData;
        t299 == null ? null : t299.finishRequestWithError(dart.toString(error));
        dart.throw(error);
      }, T$0.dynamicToNever())});
  }
  [_openUrlFromRequest](method, uri, previous) {
    if (method == null) dart.nullFailed(I[181], 2716, 14, "method");
    if (uri == null) dart.nullFailed(I[181], 2716, 26, "uri");
    if (previous == null) dart.nullFailed(I[181], 2716, 50, "previous");
    let resolved = previous.uri.resolveUri(uri);
    return this[_openUrl](method, resolved).then(_http._HttpClientRequest, dart.fn(request => {
      let t299, t299$;
      if (request == null) dart.nullFailed(I[181], 2720, 64, "request");
      t299 = request;
      (() => {
        t299.followRedirects = previous.followRedirects;
        t299.maxRedirects = previous.maxRedirects;
        return t299;
      })();
      for (let header of previous.headers[_headers][$keys]) {
        if (request.headers._get(header) == null) {
          request.headers.set(header, dart.nullCheck(previous.headers._get(header)));
        }
      }
      t299$ = request;
      return (() => {
        t299$.headers.chunkedTransferEncoding = false;
        t299$.contentLength = 0;
        return t299$;
      })();
    }, T._HttpClientRequestTo_HttpClientRequest()));
  }
  [_returnConnection](connection) {
    if (connection == null) dart.nullFailed(I[181], 2739, 48, "connection");
    dart.nullCheck(this[_connectionTargets][$_get](connection.key)).returnConnection(connection);
    this[_connectionsChanged]();
  }
  [_connectionClosed](connection) {
    if (connection == null) dart.nullFailed(I[181], 2745, 48, "connection");
    connection.stopTimer();
    let connectionTarget = this[_connectionTargets][$_get](connection.key);
    if (connectionTarget != null) {
      connectionTarget.connectionClosed(connection);
      if (dart.test(connectionTarget.isEmpty)) {
        this[_connectionTargets][$remove](connection.key);
      }
      this[_connectionsChanged]();
    }
  }
  [_connectionClosedNoFurtherClosing](connection) {
    if (connection == null) dart.nullFailed(I[181], 2760, 64, "connection");
    connection.stopTimer();
    let connectionTarget = this[_connectionTargets][$_get](connection.key);
    if (connectionTarget != null) {
      connectionTarget.connectionClosed(connection);
      if (dart.test(connectionTarget.isEmpty)) {
        this[_connectionTargets][$remove](connection.key);
      }
    }
  }
  [_connectionsChanged]() {
    if (dart.test(this[_closing])) {
      this[_closeConnections](this[_closingForcefully]);
    }
  }
  [_closeConnections](force) {
    if (force == null) dart.nullFailed(I[181], 2777, 31, "force");
    for (let connectionTarget of this[_connectionTargets][$values][$toList]()) {
      connectionTarget.close(force);
    }
  }
  [_getConnectionTarget](host, port, isSecure) {
    if (host == null) dart.nullFailed(I[181], 2783, 49, "host");
    if (port == null) dart.nullFailed(I[181], 2783, 59, "port");
    if (isSecure == null) dart.nullFailed(I[181], 2783, 70, "isSecure");
    let key = core.String.as(_http._HttpClientConnection.makeKey(isSecure, host, port));
    return this[_connectionTargets][$putIfAbsent](key, dart.fn(() => new _http._ConnectionTarget.new(key, host, port, isSecure, this[_context$0]), T.VoidTo_ConnectionTarget()));
  }
  [_getConnection](uriHost, uriPort, proxyConf, isSecure, profileData) {
    if (uriHost == null) dart.nullFailed(I[181], 2792, 14, "uriHost");
    if (uriPort == null) dart.nullFailed(I[181], 2793, 11, "uriPort");
    if (proxyConf == null) dart.nullFailed(I[181], 2794, 27, "proxyConf");
    if (isSecure == null) dart.nullFailed(I[181], 2795, 12, "isSecure");
    let proxies = proxyConf.proxies[$iterator];
    const connect = (error, stackTrace) => {
      if (!dart.test(proxies.moveNext())) return T.FutureOf_ConnectionInfo().error(core.Object.as(error), T$.StackTraceN().as(stackTrace));
      let proxy = proxies.current;
      let host = dart.test(proxy.isDirect) ? uriHost : dart.nullCheck(proxy.host);
      let port = dart.test(proxy.isDirect) ? uriPort : dart.nullCheck(proxy.port);
      return this[_getConnectionTarget](host, port, isSecure).connect(uriHost, uriPort, proxy, this, profileData).catchError(connect);
    };
    dart.fn(connect, T.dynamicAnddynamicToFutureOf_ConnectionInfo());
    return connect(new _http.HttpException.new("No proxies given"), core.StackTrace.current);
  }
  [_findCredentials](url, scheme = null) {
    if (url == null) dart.nullFailed(I[181], 2813, 42, "url");
    let cr = this[_credentials][$fold](T._SiteCredentialsN(), null, dart.fn((prev, value) => {
      if (value == null) dart.nullFailed(I[181], 2816, 58, "value");
      let siteCredentials = _http._SiteCredentials.as(value);
      if (dart.test(siteCredentials.applies(url, scheme))) {
        if (prev == null) return value;
        return siteCredentials.uri.path.length > prev.uri.path.length ? siteCredentials : prev;
      } else {
        return prev;
      }
    }, T._SiteCredentialsNAnd_CredentialsTo_SiteCredentialsN()));
    return cr;
  }
  [_findProxyCredentials](proxy, scheme = null) {
    if (proxy == null) dart.nullFailed(I[181], 2830, 51, "proxy");
    for (let current of this[_proxyCredentials]) {
      if (dart.test(current.applies(proxy, scheme))) {
        return current;
      }
    }
    return null;
  }
  [_removeCredentials](cr) {
    if (cr == null) dart.nullFailed(I[181], 2841, 40, "cr");
    let index = this[_credentials][$indexOf](cr);
    if (index !== -1) {
      this[_credentials][$removeAt](index);
    }
  }
  [_removeProxyCredentials](cr) {
    if (cr == null) dart.nullFailed(I[181], 2848, 45, "cr");
    this[_proxyCredentials][$remove](cr);
  }
  static _findProxyFromEnvironment(url, environment) {
    let t299, t299$, t299$0;
    if (url == null) dart.nullFailed(I[181], 2853, 11, "url");
    function checkNoProxy(option) {
      if (option == null) return null;
      let names = option[$split](",")[$map](core.String, dart.fn(s => {
        if (s == null) dart.nullFailed(I[181], 2856, 55, "s");
        return s[$trim]();
      }, T$.StringToString()))[$iterator];
      while (dart.test(names.moveNext())) {
        let name = names.current;
        if (name[$startsWith]("[") && name[$endsWith]("]") && "[" + dart.str(url.host) + "]" === name || name[$isNotEmpty] && url.host[$endsWith](name)) {
          return "DIRECT";
        }
      }
      return null;
    }
    dart.fn(checkNoProxy, T.StringNToStringN());
    function checkProxy(option) {
      if (option == null) return null;
      option = option[$trim]();
      if (option[$isEmpty]) return null;
      let pos = option[$indexOf]("://");
      if (pos >= 0) {
        option = option[$substring](pos + 3);
      }
      pos = option[$indexOf]("/");
      if (pos >= 0) {
        option = option[$substring](0, pos);
      }
      if (option[$indexOf]("[") === 0) {
        let pos = option[$lastIndexOf](":");
        if (option[$indexOf]("]") > pos) option = dart.str(option) + ":1080";
      } else {
        if (option[$indexOf](":") === -1) option = dart.str(option) + ":1080";
      }
      return "PROXY " + dart.str(option);
    }
    dart.fn(checkProxy, T.StringNToStringN());
    if (environment == null) environment = _http._HttpClient._platformEnvironmentCache;
    let proxyCfg = null;
    let noProxy = (t299 = environment[$_get]("no_proxy"), t299 == null ? environment[$_get]("NO_PROXY") : t299);
    proxyCfg = checkNoProxy(noProxy);
    if (proxyCfg != null) {
      return proxyCfg;
    }
    if (url.scheme === "http") {
      let proxy = (t299$ = environment[$_get]("http_proxy"), t299$ == null ? environment[$_get]("HTTP_PROXY") : t299$);
      proxyCfg = checkProxy(proxy);
      if (proxyCfg != null) {
        return proxyCfg;
      }
    } else if (url.scheme === "https") {
      let proxy = (t299$0 = environment[$_get]("https_proxy"), t299$0 == null ? environment[$_get]("HTTPS_PROXY") : t299$0);
      proxyCfg = checkProxy(proxy);
      if (proxyCfg != null) {
        return proxyCfg;
      }
    }
    return "DIRECT";
  }
};
(_http._HttpClient.new = function(_context) {
  this[_closing] = false;
  this[_closingForcefully] = false;
  this[_connectionTargets] = new (T.IdentityMapOfString$_ConnectionTarget()).new();
  this[_credentials] = T.JSArrayOf_Credentials().of([]);
  this[_proxyCredentials] = T.JSArrayOf_ProxyCredentials().of([]);
  this[_authenticate] = null;
  this[_authenticateProxy] = null;
  this[_findProxy] = C[476] || CT.C476;
  this[_idleTimeout] = C[455] || CT.C455;
  this[_badCertificateCallback] = null;
  this.connectionTimeout = null;
  this.maxConnectionsPerHost = null;
  this.autoUncompress = true;
  this.userAgent = _http._getHttpVersion();
  this[_context$0] = _context;
  ;
}).prototype = _http._HttpClient.prototype;
dart.addTypeTests(_http._HttpClient);
dart.addTypeCaches(_http._HttpClient);
_http._HttpClient[dart.implements] = () => [_http.HttpClient];
dart.setMethodSignature(_http._HttpClient, () => ({
  __proto__: dart.getMethods(_http._HttpClient.__proto__),
  open: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.String, core.int, core.String]),
  openUrl: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.Uri]),
  get: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.int, core.String]),
  getUrl: dart.fnType(async.Future$(_http.HttpClientRequest), [core.Uri]),
  post: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.int, core.String]),
  postUrl: dart.fnType(async.Future$(_http.HttpClientRequest), [core.Uri]),
  put: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.int, core.String]),
  putUrl: dart.fnType(async.Future$(_http.HttpClientRequest), [core.Uri]),
  delete: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.int, core.String]),
  deleteUrl: dart.fnType(async.Future$(_http.HttpClientRequest), [core.Uri]),
  head: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.int, core.String]),
  headUrl: dart.fnType(async.Future$(_http.HttpClientRequest), [core.Uri]),
  patch: dart.fnType(async.Future$(_http.HttpClientRequest), [core.String, core.int, core.String]),
  patchUrl: dart.fnType(async.Future$(_http.HttpClientRequest), [core.Uri]),
  close: dart.fnType(dart.void, [], {force: core.bool}, {}),
  addCredentials: dart.fnType(dart.void, [core.Uri, core.String, _http.HttpClientCredentials]),
  addProxyCredentials: dart.fnType(dart.void, [core.String, core.int, core.String, _http.HttpClientCredentials]),
  [_isLoopback]: dart.fnType(core.bool, [core.String]),
  [_openUrl]: dart.fnType(async.Future$(_http._HttpClientRequest), [core.String, core.Uri]),
  [_openUrlFromRequest]: dart.fnType(async.Future$(_http._HttpClientRequest), [core.String, core.Uri, _http._HttpClientRequest]),
  [_returnConnection]: dart.fnType(dart.void, [_http._HttpClientConnection]),
  [_connectionClosed]: dart.fnType(dart.void, [_http._HttpClientConnection]),
  [_connectionClosedNoFurtherClosing]: dart.fnType(dart.void, [_http._HttpClientConnection]),
  [_connectionsChanged]: dart.fnType(dart.void, []),
  [_closeConnections]: dart.fnType(dart.void, [core.bool]),
  [_getConnectionTarget]: dart.fnType(_http._ConnectionTarget, [core.String, core.int, core.bool]),
  [_getConnection]: dart.fnType(async.Future$(_http._ConnectionInfo), [core.String, core.int, _http._ProxyConfiguration, core.bool, dart.nullable(_http._HttpProfileData)]),
  [_findCredentials]: dart.fnType(dart.nullable(_http._SiteCredentials), [core.Uri], [dart.nullable(_http._AuthenticationScheme)]),
  [_findProxyCredentials]: dart.fnType(dart.nullable(_http._ProxyCredentials), [_http._Proxy], [dart.nullable(_http._AuthenticationScheme)]),
  [_removeCredentials]: dart.fnType(dart.void, [_http._Credentials]),
  [_removeProxyCredentials]: dart.fnType(dart.void, [_http._Credentials])
}));
dart.setGetterSignature(_http._HttpClient, () => ({
  __proto__: dart.getGetters(_http._HttpClient.__proto__),
  idleTimeout: core.Duration
}));
dart.setSetterSignature(_http._HttpClient, () => ({
  __proto__: dart.getSetters(_http._HttpClient.__proto__),
  idleTimeout: core.Duration,
  badCertificateCallback: dart.nullable(dart.fnType(core.bool, [io.X509Certificate, core.String, core.int])),
  authenticate: dart.nullable(dart.fnType(async.Future$(core.bool), [core.Uri, core.String, dart.nullable(core.String)])),
  authenticateProxy: dart.nullable(dart.fnType(async.Future$(core.bool), [core.String, core.int, core.String, dart.nullable(core.String)])),
  findProxy: dart.nullable(dart.fnType(core.String, [core.Uri]))
}));
dart.setLibraryUri(_http._HttpClient, I[177]);
dart.setFieldSignature(_http._HttpClient, () => ({
  __proto__: dart.getFields(_http._HttpClient.__proto__),
  [_closing]: dart.fieldType(core.bool),
  [_closingForcefully]: dart.fieldType(core.bool),
  [_connectionTargets]: dart.finalFieldType(core.Map$(core.String, _http._ConnectionTarget)),
  [_credentials]: dart.finalFieldType(core.List$(_http._Credentials)),
  [_proxyCredentials]: dart.finalFieldType(core.List$(_http._ProxyCredentials)),
  [_context$0]: dart.finalFieldType(dart.nullable(io.SecurityContext)),
  [_authenticate]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(core.bool), [core.Uri, core.String, dart.nullable(core.String)]))),
  [_authenticateProxy]: dart.fieldType(dart.nullable(dart.fnType(async.Future$(core.bool), [core.String, core.int, core.String, dart.nullable(core.String)]))),
  [_findProxy]: dart.fieldType(dart.nullable(dart.fnType(core.String, [core.Uri]))),
  [_idleTimeout]: dart.fieldType(core.Duration),
  [_badCertificateCallback]: dart.fieldType(dart.nullable(dart.fnType(core.bool, [io.X509Certificate, core.String, core.int]))),
  connectionTimeout: dart.fieldType(dart.nullable(core.Duration)),
  maxConnectionsPerHost: dart.fieldType(dart.nullable(core.int)),
  autoUncompress: dart.fieldType(core.bool),
  userAgent: dart.fieldType(dart.nullable(core.String))
}));
dart.defineLazy(_http._HttpClient, {
  /*_http._HttpClient._platformEnvironmentCache*/get _platformEnvironmentCache() {
    return io.Platform.environment;
  },
  set _platformEnvironmentCache(_) {}
}, false);
var _state$1 = dart.privateName(_http, "_state");
var _idleMark = dart.privateName(_http, "_idleMark");
var _markActive = dart.privateName(_http, "_markActive");
var _markIdle = dart.privateName(_http, "_markIdle");
var _handleRequest = dart.privateName(_http, "_handleRequest");
var _isActive = dart.privateName(_http, "_isActive");
var _isIdle = dart.privateName(_http, "_isIdle");
var _isDetached = dart.privateName(_http, "_isDetached");
var _toJSON$ = dart.privateName(_http, "_toJSON");
const LinkedListEntry__ServiceObject$36 = class LinkedListEntry__ServiceObject extends collection.LinkedListEntry {};
(LinkedListEntry__ServiceObject$36.new = function() {
  _http._ServiceObject.new.call(this);
  LinkedListEntry__ServiceObject$36.__proto__.new.call(this);
}).prototype = LinkedListEntry__ServiceObject$36.prototype;
dart.applyMixin(LinkedListEntry__ServiceObject$36, _http._ServiceObject);
_http._HttpConnection = class _HttpConnection extends LinkedListEntry__ServiceObject$36 {
  markIdle() {
    this[_idleMark] = true;
  }
  get isMarkedIdle() {
    return this[_idleMark];
  }
  destroy() {
    if (this[_state$1] === 2 || this[_state$1] === 3) return;
    this[_state$1] = 2;
    dart.dsend(this[_socket$0], 'destroy', []);
    this[_httpServer$][_connectionClosed](this);
    _http._HttpConnection._connections[$remove](this[_serviceId$]);
  }
  detachSocket() {
    this[_state$1] = 3;
    this[_httpServer$][_connectionClosed](this);
    let detachedIncoming = this[_httpParser].detachIncoming();
    return dart.nullCheck(this[_streamFuture]).then(io.Socket, dart.fn(_ => {
      _http._HttpConnection._connections[$remove](this[_serviceId$]);
      return new _http._DetachedSocket.new(io.Socket.as(this[_socket$0]), detachedIncoming);
    }, T.dynamicTo_DetachedSocket()));
  }
  get connectionInfo() {
    return _http._HttpConnectionInfo.create(io.Socket.as(this[_socket$0]));
  }
  get [_isActive]() {
    return this[_state$1] === 0;
  }
  get [_isIdle]() {
    return this[_state$1] === 1;
  }
  get [_isClosing]() {
    return this[_state$1] === 2;
  }
  get [_isDetached]() {
    return this[_state$1] === 3;
  }
  get [_serviceTypePath$]() {
    return "io/http/serverconnections";
  }
  get [_serviceTypeName$]() {
    return "HttpServerConnection";
  }
  [_toJSON$](ref) {
    if (ref == null) dart.nullFailed(I[181], 3036, 20, "ref");
    let name = dart.str(dart.dload(dart.dload(this[_socket$0], 'address'), 'host')) + ":" + dart.str(dart.dload(this[_socket$0], 'port')) + " <-> " + dart.str(dart.dload(dart.dload(this[_socket$0], 'remoteAddress'), 'host')) + ":" + dart.str(dart.dload(this[_socket$0], 'remotePort'));
    let r = new (T$0.IdentityMapOfString$dynamic()).from(["id", this[_servicePath$], "type", this[_serviceType$](ref), "name", name, "user_name", name]);
    if (dart.test(ref)) {
      return r;
    }
    r[$_set]("server", this[_httpServer$][_toJSON$](true));
    try {
      r[$_set]("socket", dart.dsend(this[_socket$0], _toJSON$, [true]));
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
        r[$_set]("socket", new (T$.IdentityMapOfString$String()).from(["id", this[_servicePath$], "type", "@Socket", "name", "UserSocket", "user_name", "UserSocket"]));
      } else
        throw e;
    }
    switch (this[_state$1]) {
      case 0:
      {
        r[$_set]("state", "Active");
        break;
      }
      case 1:
      {
        r[$_set]("state", "Idle");
        break;
      }
      case 2:
      {
        r[$_set]("state", "Closing");
        break;
      }
      case 3:
      {
        r[$_set]("state", "Detached");
        break;
      }
      default:
      {
        r[$_set]("state", "Unknown");
        break;
      }
    }
    return r;
  }
};
(_http._HttpConnection.new = function(_socket, _httpServer) {
  if (_httpServer == null) dart.nullFailed(I[181], 2940, 38, "_httpServer");
  this[_state$1] = 1;
  this[_subscription$0] = null;
  this[_idleMark] = false;
  this[_streamFuture] = null;
  this[_socket$0] = _socket;
  this[_httpServer$] = _httpServer;
  this[_httpParser] = _http._HttpParser.requestParser();
  _http._HttpConnection.__proto__.new.call(this);
  _http._HttpConnection._connections[$_set](this[_serviceId$], this);
  this[_httpParser].listenToStream(T.StreamOfUint8List().as(this[_socket$0]));
  this[_subscription$0] = this[_httpParser].listen(dart.fn(incoming => {
    if (incoming == null) dart.nullFailed(I[181], 2944, 41, "incoming");
    this[_httpServer$][_markActive](this);
    incoming.dataDone.then(core.Null, dart.fn(closing => {
      if (dart.dtest(closing)) this.destroy();
    }, T$.dynamicToNull()));
    dart.nullCheck(this[_subscription$0]).pause();
    this[_state$1] = 0;
    let outgoing = new _http._HttpOutgoing.new(io.Socket.as(this[_socket$0]));
    let response = new _http._HttpResponse.new(dart.nullCheck(incoming.uri), incoming.headers.protocolVersion, outgoing, this[_httpServer$].defaultResponseHeaders, this[_httpServer$].serverHeader);
    if (incoming.statusCode === 400) {
      response.statusCode = 400;
    }
    let request = new _http._HttpRequest.new(response, incoming, this[_httpServer$], this);
    this[_streamFuture] = outgoing.done.then(dart.dynamic, dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[181], 2966, 43, "_");
      response.deadline = null;
      if (this[_state$1] === 3) return;
      if (dart.test(response.persistentConnection) && dart.test(request.persistentConnection) && dart.test(incoming.fullBodyRead) && !dart.test(this[_httpParser].upgrade) && !dart.test(this[_httpServer$].closed)) {
        this[_state$1] = 1;
        this[_idleMark] = false;
        this[_httpServer$][_markIdle](this);
        dart.nullCheck(this[_subscription$0]).resume();
      } else {
        this.destroy();
      }
    }, T.SocketToNull()), {onError: dart.fn(_ => {
        this.destroy();
      }, T$.dynamicToNull())});
    outgoing.ignoreBody = request.method === "HEAD";
    response[_httpRequest$] = request;
    this[_httpServer$][_handleRequest](request);
  }, T$0._HttpIncomingTovoid()), {onDone: dart.fn(() => {
      this.destroy();
    }, T$.VoidTovoid()), onError: dart.fn(error => {
      this.destroy();
    }, T$.dynamicToNull())});
}).prototype = _http._HttpConnection.prototype;
dart.addTypeTests(_http._HttpConnection);
dart.addTypeCaches(_http._HttpConnection);
dart.setMethodSignature(_http._HttpConnection, () => ({
  __proto__: dart.getMethods(_http._HttpConnection.__proto__),
  markIdle: dart.fnType(dart.void, []),
  destroy: dart.fnType(dart.void, []),
  detachSocket: dart.fnType(async.Future$(io.Socket), []),
  [_toJSON$]: dart.fnType(core.Map, [core.bool])
}));
dart.setGetterSignature(_http._HttpConnection, () => ({
  __proto__: dart.getGetters(_http._HttpConnection.__proto__),
  isMarkedIdle: core.bool,
  connectionInfo: dart.nullable(_http.HttpConnectionInfo),
  [_isActive]: core.bool,
  [_isIdle]: core.bool,
  [_isClosing]: core.bool,
  [_isDetached]: core.bool,
  [_serviceTypePath$]: core.String,
  [_serviceTypeName$]: core.String
}));
dart.setLibraryUri(_http._HttpConnection, I[177]);
dart.setFieldSignature(_http._HttpConnection, () => ({
  __proto__: dart.getFields(_http._HttpConnection.__proto__),
  [_socket$0]: dart.finalFieldType(dart.dynamic),
  [_httpServer$]: dart.finalFieldType(_http._HttpServer),
  [_httpParser]: dart.finalFieldType(_http._HttpParser),
  [_state$1]: dart.fieldType(core.int),
  [_subscription$0]: dart.fieldType(dart.nullable(async.StreamSubscription)),
  [_idleMark]: dart.fieldType(core.bool),
  [_streamFuture]: dart.fieldType(dart.nullable(async.Future))
}));
dart.defineLazy(_http._HttpConnection, {
  /*_http._HttpConnection._ACTIVE*/get _ACTIVE() {
    return 0;
  },
  /*_http._HttpConnection._IDLE*/get _IDLE() {
    return 1;
  },
  /*_http._HttpConnection._CLOSING*/get _CLOSING() {
    return 2;
  },
  /*_http._HttpConnection._DETACHED*/get _DETACHED() {
    return 3;
  },
  /*_http._HttpConnection._connections*/get _connections() {
    return new (T.IdentityMapOfint$_HttpConnection()).new();
  },
  set _connections(_) {}
}, false);
var _activeConnections = dart.privateName(_http, "_activeConnections");
var _idleConnections = dart.privateName(_http, "_idleConnections");
var _serverSocket$ = dart.privateName(_http, "_serverSocket");
var _closeServer$ = dart.privateName(_http, "_closeServer");
var _maybePerformCleanup$ = dart.privateName(_http, "_maybePerformCleanup");
const Stream__ServiceObject$36 = class Stream__ServiceObject extends async.Stream$(_http.HttpRequest) {};
(Stream__ServiceObject$36.new = function() {
  _http._ServiceObject.new.call(this);
  Stream__ServiceObject$36.__proto__.new.call(this);
}).prototype = Stream__ServiceObject$36.prototype;
(Stream__ServiceObject$36._internal = function() {
  _http._ServiceObject.new.call(this);
  Stream__ServiceObject$36.__proto__._internal.call(this);
}).prototype = Stream__ServiceObject$36.prototype;
dart.applyMixin(Stream__ServiceObject$36, _http._ServiceObject);
_http._HttpServer = class _HttpServer extends Stream__ServiceObject$36 {
  static bind(address, port, backlog, v6Only, shared) {
    if (port == null) dart.nullFailed(I[181], 3095, 20, "port");
    if (backlog == null) dart.nullFailed(I[181], 3095, 30, "backlog");
    if (v6Only == null) dart.nullFailed(I[181], 3095, 44, "v6Only");
    if (shared == null) dart.nullFailed(I[181], 3095, 57, "shared");
    return io.ServerSocket.bind(address, port, {backlog: backlog, v6Only: v6Only, shared: shared}).then(_http.HttpServer, dart.fn(socket => {
      if (socket == null) dart.nullFailed(I[181], 3098, 28, "socket");
      return new _http._HttpServer.__(socket, true);
    }, T.ServerSocketTo_HttpServer()));
  }
  static bindSecure(address, port, context, backlog, v6Only, requestClientCertificate, shared) {
    if (port == null) dart.nullFailed(I[181], 3105, 11, "port");
    if (backlog == null) dart.nullFailed(I[181], 3107, 11, "backlog");
    if (v6Only == null) dart.nullFailed(I[181], 3108, 12, "v6Only");
    if (requestClientCertificate == null) dart.nullFailed(I[181], 3109, 12, "requestClientCertificate");
    if (shared == null) dart.nullFailed(I[181], 3110, 12, "shared");
    return io.SecureServerSocket.bind(address, port, context, {backlog: backlog, v6Only: v6Only, requestClientCertificate: requestClientCertificate, shared: shared}).then(_http.HttpServer, dart.fn(socket => {
      if (socket == null) dart.nullFailed(I[181], 3116, 28, "socket");
      return new _http._HttpServer.__(socket, true);
    }, T.SecureServerSocketTo_HttpServer()));
  }
  static _initDefaultResponseHeaders() {
    let defaultResponseHeaders = new _http._HttpHeaders.new("1.1");
    defaultResponseHeaders.contentType = _http.ContentType.text;
    defaultResponseHeaders.set("X-Frame-Options", "SAMEORIGIN");
    defaultResponseHeaders.set("X-Content-Type-Options", "nosniff");
    defaultResponseHeaders.set("X-XSS-Protection", "1; mode=block");
    return defaultResponseHeaders;
  }
  get idleTimeout() {
    return this[_idleTimeout];
  }
  set idleTimeout(duration) {
    let idleTimer = this[_idleTimer];
    if (idleTimer != null) {
      idleTimer.cancel();
      this[_idleTimer] = null;
    }
    this[_idleTimeout] = duration;
    if (duration != null) {
      this[_idleTimer] = async.Timer.periodic(duration, dart.fn(_ => {
        if (_ == null) dart.nullFailed(I[181], 3155, 50, "_");
        for (let idle of this[_idleConnections][$toList]()) {
          if (dart.test(idle.isMarkedIdle)) {
            idle.destroy();
          } else {
            idle.markIdle();
          }
        }
      }, T$.TimerTovoid()));
    }
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    dart.dsend(this[_serverSocket$], 'listen', [dart.fn(socket => {
        if (socket == null) dart.nullFailed(I[181], 3169, 34, "socket");
        if (!dart.equals(socket.address.type, io.InternetAddressType.unix)) {
          socket.setOption(io.SocketOption.tcpNoDelay, true);
        }
        let connection = new _http._HttpConnection.new(socket, this);
        this[_idleConnections].add(connection);
      }, T.SocketToNull())], {onError: dart.fn((error, stackTrace) => {
        if (!io.HandshakeException.is(error)) {
          this[_controller$0].addError(core.Object.as(error), T$.StackTraceN().as(stackTrace));
        }
      }, T$.dynamicAnddynamicToNull()), onDone: dart.bind(this[_controller$0], 'close')});
    return this[_controller$0].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  close(opts) {
    let force = opts && 'force' in opts ? opts.force : false;
    if (force == null) dart.nullFailed(I[181], 3187, 22, "force");
    this.closed = true;
    let result = null;
    if (this[_serverSocket$] != null && dart.test(this[_closeServer$])) {
      result = async.Future.as(dart.dsend(this[_serverSocket$], 'close', []));
    } else {
      result = async.Future.value();
    }
    this.idleTimeout = null;
    if (dart.test(force)) {
      for (let c of this[_activeConnections][$toList]()) {
        c.destroy();
      }
      if (!dart.test(this[_activeConnections].isEmpty)) dart.assertFailed(null, I[181], 3200, 14, "_activeConnections.isEmpty");
    }
    for (let c of this[_idleConnections][$toList]()) {
      c.destroy();
    }
    this[_maybePerformCleanup$]();
    return result;
  }
  [_maybePerformCleanup$]() {
    let sessionManager = this[_sessionManagerInstance];
    if (dart.test(this.closed) && dart.test(this[_idleConnections].isEmpty) && dart.test(this[_activeConnections].isEmpty) && sessionManager != null) {
      sessionManager.close();
      this[_sessionManagerInstance] = null;
      _http._HttpServer._servers[$remove](this[_serviceId$]);
    }
  }
  get port() {
    if (dart.test(this.closed)) dart.throw(new _http.HttpException.new("HttpServer is not bound to a socket"));
    return core.int.as(dart.dload(this[_serverSocket$], 'port'));
  }
  get address() {
    if (dart.test(this.closed)) dart.throw(new _http.HttpException.new("HttpServer is not bound to a socket"));
    return io.InternetAddress.as(dart.dload(this[_serverSocket$], 'address'));
  }
  set sessionTimeout(timeout) {
    if (timeout == null) dart.nullFailed(I[181], 3231, 26, "timeout");
    this[_sessionManager$].sessionTimeout = timeout;
  }
  [_handleRequest](request) {
    if (request == null) dart.nullFailed(I[181], 3235, 36, "request");
    if (!dart.test(this.closed)) {
      this[_controller$0].add(request);
    } else {
      request[_httpConnection$].destroy();
    }
  }
  [_connectionClosed](connection) {
    if (connection == null) dart.nullFailed(I[181], 3243, 42, "connection");
    connection.unlink();
    this[_maybePerformCleanup$]();
  }
  [_markIdle](connection) {
    if (connection == null) dart.nullFailed(I[181], 3249, 34, "connection");
    this[_activeConnections].remove(connection);
    this[_idleConnections].add(connection);
  }
  [_markActive](connection) {
    if (connection == null) dart.nullFailed(I[181], 3254, 36, "connection");
    this[_idleConnections].remove(connection);
    this[_activeConnections].add(connection);
  }
  get [_sessionManager$]() {
    let t300;
    t300 = this[_sessionManagerInstance];
    return t300 == null ? this[_sessionManagerInstance] = new _http._HttpSessionManager.new() : t300;
  }
  connectionsInfo() {
    let result = new _http.HttpConnectionsInfo.new();
    result.total = dart.notNull(this[_activeConnections].length) + dart.notNull(this[_idleConnections].length);
    this[_activeConnections].forEach(dart.fn(conn => {
      let t300, t300$;
      if (conn == null) dart.nullFailed(I[181], 3266, 49, "conn");
      if (dart.test(conn[_isActive])) {
        t300 = result;
        t300.active = dart.notNull(t300.active) + 1;
      } else {
        if (!dart.test(conn[_isClosing])) dart.assertFailed(null, I[181], 3270, 16, "conn._isClosing");
        t300$ = result;
        t300$.closing = dart.notNull(t300$.closing) + 1;
      }
    }, T._HttpConnectionTovoid()));
    this[_idleConnections].forEach(dart.fn(conn => {
      let t300;
      if (conn == null) dart.nullFailed(I[181], 3274, 47, "conn");
      t300 = result;
      t300.idle = dart.notNull(t300.idle) + 1;
      if (!dart.test(conn[_isIdle])) dart.assertFailed(null, I[181], 3276, 14, "conn._isIdle");
    }, T._HttpConnectionTovoid()));
    return result;
  }
  get [_serviceTypePath$]() {
    return "io/http/servers";
  }
  get [_serviceTypeName$]() {
    return "HttpServer";
  }
  [_toJSON$](ref) {
    if (ref == null) dart.nullFailed(I[181], 3284, 37, "ref");
    let r = new (T$0.IdentityMapOfString$dynamic()).from(["id", this[_servicePath$], "type", this[_serviceType$](ref), "name", dart.str(this.address.host) + ":" + dart.str(this.port), "user_name", dart.str(this.address.host) + ":" + dart.str(this.port)]);
    if (dart.test(ref)) {
      return r;
    }
    try {
      r[$_set]("socket", dart.dsend(this[_serverSocket$], _toJSON$, [true]));
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
        r[$_set]("socket", new (T$.IdentityMapOfString$String()).from(["id", this[_servicePath$], "type", "@Socket", "name", "UserSocket", "user_name", "UserSocket"]));
      } else
        throw e;
    }
    r[$_set]("port", this.port);
    r[$_set]("address", this.address.host);
    r[$_set]("active", this[_activeConnections][$map](core.Map, dart.fn(c => {
      if (c == null) dart.nullFailed(I[181], 3306, 43, "c");
      return c[_toJSON$](true);
    }, T._HttpConnectionToMap()))[$toList]());
    r[$_set]("idle", this[_idleConnections][$map](core.Map, dart.fn(c => {
      if (c == null) dart.nullFailed(I[181], 3307, 39, "c");
      return c[_toJSON$](true);
    }, T._HttpConnectionToMap()))[$toList]());
    r[$_set]("closed", this.closed);
    return r;
  }
};
(_http._HttpServer.__ = function(_serverSocket, _closeServer) {
  if (_closeServer == null) dart.nullFailed(I[181], 3121, 42, "_closeServer");
  this.serverHeader = null;
  this.defaultResponseHeaders = _http._HttpServer._initDefaultResponseHeaders();
  this.autoCompress = false;
  this[_idleTimeout] = null;
  this[_idleTimer] = null;
  this[_sessionManagerInstance] = null;
  this.closed = false;
  this[_activeConnections] = new (T.LinkedListOf_HttpConnection()).new();
  this[_idleConnections] = new (T.LinkedListOf_HttpConnection()).new();
  this[_serverSocket$] = _serverSocket;
  this[_closeServer$] = _closeServer;
  this[_controller$0] = T.StreamControllerOfHttpRequest().new({sync: true});
  _http._HttpServer.__proto__.new.call(this);
  this[_controller$0].onCancel = dart.bind(this, 'close');
  this.idleTimeout = C[449] || CT.C449;
  _http._HttpServer._servers[$_set](this[_serviceId$], this);
}).prototype = _http._HttpServer.prototype;
(_http._HttpServer.listenOn = function(_serverSocket) {
  this.serverHeader = null;
  this.defaultResponseHeaders = _http._HttpServer._initDefaultResponseHeaders();
  this.autoCompress = false;
  this[_idleTimeout] = null;
  this[_idleTimer] = null;
  this[_sessionManagerInstance] = null;
  this.closed = false;
  this[_activeConnections] = new (T.LinkedListOf_HttpConnection()).new();
  this[_idleConnections] = new (T.LinkedListOf_HttpConnection()).new();
  this[_serverSocket$] = _serverSocket;
  this[_closeServer$] = false;
  this[_controller$0] = T.StreamControllerOfHttpRequest().new({sync: true});
  _http._HttpServer.__proto__.new.call(this);
  this[_controller$0].onCancel = dart.bind(this, 'close');
  this.idleTimeout = C[449] || CT.C449;
  _http._HttpServer._servers[$_set](this[_serviceId$], this);
}).prototype = _http._HttpServer.prototype;
dart.addTypeTests(_http._HttpServer);
dart.addTypeCaches(_http._HttpServer);
_http._HttpServer[dart.implements] = () => [_http.HttpServer];
dart.setMethodSignature(_http._HttpServer, () => ({
  __proto__: dart.getMethods(_http._HttpServer.__proto__),
  listen: dart.fnType(async.StreamSubscription$(_http.HttpRequest), [dart.nullable(dart.fnType(dart.void, [_http.HttpRequest]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  close: dart.fnType(async.Future, [], {force: core.bool}, {}),
  [_maybePerformCleanup$]: dart.fnType(dart.void, []),
  [_handleRequest]: dart.fnType(dart.void, [_http._HttpRequest]),
  [_connectionClosed]: dart.fnType(dart.void, [_http._HttpConnection]),
  [_markIdle]: dart.fnType(dart.void, [_http._HttpConnection]),
  [_markActive]: dart.fnType(dart.void, [_http._HttpConnection]),
  connectionsInfo: dart.fnType(_http.HttpConnectionsInfo, []),
  [_toJSON$]: dart.fnType(core.Map$(core.String, dart.dynamic), [core.bool])
}));
dart.setGetterSignature(_http._HttpServer, () => ({
  __proto__: dart.getGetters(_http._HttpServer.__proto__),
  idleTimeout: dart.nullable(core.Duration),
  port: core.int,
  address: io.InternetAddress,
  [_sessionManager$]: _http._HttpSessionManager,
  [_serviceTypePath$]: core.String,
  [_serviceTypeName$]: core.String
}));
dart.setSetterSignature(_http._HttpServer, () => ({
  __proto__: dart.getSetters(_http._HttpServer.__proto__),
  idleTimeout: dart.nullable(core.Duration),
  sessionTimeout: core.int
}));
dart.setLibraryUri(_http._HttpServer, I[177]);
dart.setFieldSignature(_http._HttpServer, () => ({
  __proto__: dart.getFields(_http._HttpServer.__proto__),
  serverHeader: dart.fieldType(dart.nullable(core.String)),
  defaultResponseHeaders: dart.finalFieldType(_http.HttpHeaders),
  autoCompress: dart.fieldType(core.bool),
  [_idleTimeout]: dart.fieldType(dart.nullable(core.Duration)),
  [_idleTimer]: dart.fieldType(dart.nullable(async.Timer)),
  [_sessionManagerInstance]: dart.fieldType(dart.nullable(_http._HttpSessionManager)),
  closed: dart.fieldType(core.bool),
  [_serverSocket$]: dart.finalFieldType(dart.dynamic),
  [_closeServer$]: dart.finalFieldType(core.bool),
  [_activeConnections]: dart.finalFieldType(collection.LinkedList$(_http._HttpConnection)),
  [_idleConnections]: dart.finalFieldType(collection.LinkedList$(_http._HttpConnection)),
  [_controller$0]: dart.fieldType(async.StreamController$(_http.HttpRequest))
}));
dart.defineLazy(_http._HttpServer, {
  /*_http._HttpServer._servers*/get _servers() {
    return new (T.LinkedMapOfint$_HttpServer()).new();
  },
  set _servers(_) {}
}, false);
const proxies = _ProxyConfiguration_proxies;
_http._ProxyConfiguration = class _ProxyConfiguration extends core.Object {
  get proxies() {
    return this[proxies];
  }
  set proxies(value) {
    super.proxies = value;
  }
};
(_http._ProxyConfiguration.new = function(configuration) {
  if (configuration == null) dart.nullFailed(I[181], 3334, 30, "configuration");
  this[proxies] = T.JSArrayOf_Proxy().of([]);
  if (configuration == null) {
    dart.throw(new _http.HttpException.new("Invalid proxy configuration " + dart.str(configuration)));
  }
  let list = configuration[$split](";");
  list[$forEach](dart.fn(proxy => {
    if (proxy == null) dart.nullFailed(I[181], 3339, 26, "proxy");
    proxy = proxy[$trim]();
    if (!proxy[$isEmpty]) {
      if (proxy[$startsWith]("PROXY ")) {
        let username = null;
        let password = null;
        proxy = proxy[$substring]("PROXY ".length)[$trim]();
        let at = proxy[$indexOf]("@");
        if (at !== -1) {
          let userinfo = proxy[$substring](0, at)[$trim]();
          proxy = proxy[$substring](at + 1)[$trim]();
          let colon = userinfo[$indexOf](":");
          if (colon === -1 || colon === 0 || colon === proxy.length - 1) {
            dart.throw(new _http.HttpException.new("Invalid proxy configuration " + dart.str(configuration)));
          }
          username = userinfo[$substring](0, colon)[$trim]();
          password = userinfo[$substring](colon + 1)[$trim]();
        }
        let colon = proxy[$lastIndexOf](":");
        if (colon === -1 || colon === 0 || colon === proxy.length - 1) {
          dart.throw(new _http.HttpException.new("Invalid proxy configuration " + dart.str(configuration)));
        }
        let host = proxy[$substring](0, colon)[$trim]();
        if (host[$startsWith]("[") && host[$endsWith]("]")) {
          host = host[$substring](1, host.length - 1);
        }
        let portString = proxy[$substring](colon + 1)[$trim]();
        let port = null;
        try {
          port = core.int.parse(portString);
        } catch (e$) {
          let e = dart.getThrown(e$);
          if (core.FormatException.is(e)) {
            dart.throw(new _http.HttpException.new("Invalid proxy configuration " + dart.str(configuration) + ", " + "invalid port '" + portString + "'"));
          } else
            throw e$;
        }
        this.proxies[$add](new _http._Proxy.new(host, port, username, password));
      } else if (proxy[$trim]() === "DIRECT") {
        this.proxies[$add](new _http._Proxy.direct());
      } else {
        dart.throw(new _http.HttpException.new("Invalid proxy configuration " + dart.str(configuration)));
      }
    }
  }, T$.StringTovoid()));
}).prototype = _http._ProxyConfiguration.prototype;
(_http._ProxyConfiguration.direct = function() {
  this[proxies] = C[478] || CT.C478;
  ;
}).prototype = _http._ProxyConfiguration.prototype;
dart.addTypeTests(_http._ProxyConfiguration);
dart.addTypeCaches(_http._ProxyConfiguration);
dart.setLibraryUri(_http._ProxyConfiguration, I[177]);
dart.setFieldSignature(_http._ProxyConfiguration, () => ({
  __proto__: dart.getFields(_http._ProxyConfiguration.__proto__),
  proxies: dart.finalFieldType(core.List$(_http._Proxy))
}));
dart.defineLazy(_http._ProxyConfiguration, {
  /*_http._ProxyConfiguration.PROXY_PREFIX*/get PROXY_PREFIX() {
    return "PROXY ";
  },
  /*_http._ProxyConfiguration.DIRECT_PREFIX*/get DIRECT_PREFIX() {
    return "DIRECT";
  }
}, false);
const host$ = _Proxy_host;
const port$1 = _Proxy_port;
const username$ = _Proxy_username;
const password$ = _Proxy_password;
const isDirect = _Proxy_isDirect;
_http._Proxy = class _Proxy extends core.Object {
  get host() {
    return this[host$];
  }
  set host(value) {
    super.host = value;
  }
  get port() {
    return this[port$1];
  }
  set port(value) {
    super.port = value;
  }
  get username() {
    return this[username$];
  }
  set username(value) {
    super.username = value;
  }
  get password() {
    return this[password$];
  }
  set password(value) {
    super.password = value;
  }
  get isDirect() {
    return this[isDirect];
  }
  set isDirect(value) {
    super.isDirect = value;
  }
  get isAuthenticated() {
    return this.username != null;
  }
};
(_http._Proxy.new = function(host, port, username, password) {
  if (host == null) dart.nullFailed(I[181], 3401, 28, "host");
  if (port == null) dart.nullFailed(I[181], 3401, 43, "port");
  this[host$] = host;
  this[port$1] = port;
  this[username$] = username;
  this[password$] = password;
  this[isDirect] = false;
  ;
}).prototype = _http._Proxy.prototype;
(_http._Proxy.direct = function() {
  this[host$] = null;
  this[port$1] = null;
  this[username$] = null;
  this[password$] = null;
  this[isDirect] = true;
  ;
}).prototype = _http._Proxy.prototype;
dart.addTypeTests(_http._Proxy);
dart.addTypeCaches(_http._Proxy);
dart.setGetterSignature(_http._Proxy, () => ({
  __proto__: dart.getGetters(_http._Proxy.__proto__),
  isAuthenticated: core.bool
}));
dart.setLibraryUri(_http._Proxy, I[177]);
dart.setFieldSignature(_http._Proxy, () => ({
  __proto__: dart.getFields(_http._Proxy.__proto__),
  host: dart.finalFieldType(dart.nullable(core.String)),
  port: dart.finalFieldType(dart.nullable(core.int)),
  username: dart.finalFieldType(dart.nullable(core.String)),
  password: dart.finalFieldType(dart.nullable(core.String)),
  isDirect: dart.finalFieldType(core.bool)
}));
_http._HttpConnectionInfo = class _HttpConnectionInfo extends core.Object {
  static create(socket) {
    if (socket == null) dart.nullFailed(I[181], 3420, 45, "socket");
    if (socket == null) return null;
    try {
      return new _http._HttpConnectionInfo.new(socket.remoteAddress, socket.remotePort, socket.port);
    } catch (e$) {
      let e = dart.getThrown(e$);
      if (core.Object.is(e)) {
      } else
        throw e$;
    }
    return null;
  }
};
(_http._HttpConnectionInfo.new = function(remoteAddress, remotePort, localPort) {
  if (remoteAddress == null) dart.nullFailed(I[181], 3418, 28, "remoteAddress");
  if (remotePort == null) dart.nullFailed(I[181], 3418, 48, "remotePort");
  if (localPort == null) dart.nullFailed(I[181], 3418, 65, "localPort");
  this.remoteAddress = remoteAddress;
  this.remotePort = remotePort;
  this.localPort = localPort;
  ;
}).prototype = _http._HttpConnectionInfo.prototype;
dart.addTypeTests(_http._HttpConnectionInfo);
dart.addTypeCaches(_http._HttpConnectionInfo);
_http._HttpConnectionInfo[dart.implements] = () => [_http.HttpConnectionInfo];
dart.setLibraryUri(_http._HttpConnectionInfo, I[177]);
dart.setFieldSignature(_http._HttpConnectionInfo, () => ({
  __proto__: dart.getFields(_http._HttpConnectionInfo.__proto__),
  remoteAddress: dart.fieldType(io.InternetAddress),
  remotePort: dart.fieldType(core.int),
  localPort: dart.fieldType(core.int)
}));
_http._DetachedSocket = class _DetachedSocket extends async.Stream$(typed_data.Uint8List) {
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    return this[_incoming$].listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  get encoding() {
    return this[_socket$0].encoding;
  }
  set encoding(value) {
    if (value == null) dart.nullFailed(I[181], 3444, 30, "value");
    this[_socket$0].encoding = value;
  }
  write(obj) {
    this[_socket$0].write(obj);
  }
  writeln(obj = "") {
    this[_socket$0].writeln(obj);
  }
  writeCharCode(charCode) {
    if (charCode == null) dart.nullFailed(I[181], 3456, 26, "charCode");
    this[_socket$0].writeCharCode(charCode);
  }
  writeAll(objects, separator = "") {
    if (objects == null) dart.nullFailed(I[181], 3460, 26, "objects");
    if (separator == null) dart.nullFailed(I[181], 3460, 43, "separator");
    this[_socket$0].writeAll(objects, separator);
  }
  add(bytes) {
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[181], 3464, 22, "bytes");
    this[_socket$0].add(bytes);
  }
  addError(error, stackTrace = null) {
    if (error == null) dart.nullFailed(I[181], 3468, 24, "error");
    return this[_socket$0].addError(error, stackTrace);
  }
  addStream(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[181], 3471, 38, "stream");
    return this[_socket$0].addStream(stream);
  }
  destroy() {
    this[_socket$0].destroy();
  }
  flush() {
    return this[_socket$0].flush();
  }
  close() {
    return this[_socket$0].close();
  }
  get done() {
    return this[_socket$0].done;
  }
  get port() {
    return this[_socket$0].port;
  }
  get address() {
    return this[_socket$0].address;
  }
  get remoteAddress() {
    return this[_socket$0].remoteAddress;
  }
  get remotePort() {
    return this[_socket$0].remotePort;
  }
  setOption(option, enabled) {
    if (option == null) dart.nullFailed(I[181], 3493, 31, "option");
    if (enabled == null) dart.nullFailed(I[181], 3493, 44, "enabled");
    return this[_socket$0].setOption(option, enabled);
  }
  getRawOption(option) {
    if (option == null) dart.nullFailed(I[181], 3497, 42, "option");
    return this[_socket$0].getRawOption(option);
  }
  setRawOption(option) {
    if (option == null) dart.nullFailed(I[181], 3501, 37, "option");
    this[_socket$0].setRawOption(option);
  }
  [_toJSON$](ref) {
    if (ref == null) dart.nullFailed(I[181], 3505, 20, "ref");
    return core.Map.as(dart.dsend(this[_socket$0], _toJSON$, [ref]));
  }
  get [__IOSink_encoding_isSet]() {
    return this[$noSuchMethod](new core._Invocation.getter(C[469] || CT.C469));
  }
  get [__IOSink_encoding]() {
    return T$0.EncodingN().as(this[$noSuchMethod](new core._Invocation.getter(C[470] || CT.C470)));
  }
  set [__IOSink_encoding_isSet](value) {
    return this[$noSuchMethod](new core._Invocation.setter(C[471] || CT.C471, value));
  }
  set [__IOSink_encoding](value) {
    return this[$noSuchMethod](new core._Invocation.setter(C[472] || CT.C472, value));
  }
};
(_http._DetachedSocket.new = function(_socket, _incoming) {
  if (_socket == null) dart.nullFailed(I[181], 3434, 24, "_socket");
  if (_incoming == null) dart.nullFailed(I[181], 3434, 38, "_incoming");
  this[_socket$0] = _socket;
  this[_incoming$] = _incoming;
  _http._DetachedSocket.__proto__.new.call(this);
  ;
}).prototype = _http._DetachedSocket.prototype;
dart.addTypeTests(_http._DetachedSocket);
dart.addTypeCaches(_http._DetachedSocket);
_http._DetachedSocket[dart.implements] = () => [io.Socket];
dart.setMethodSignature(_http._DetachedSocket, () => ({
  __proto__: dart.getMethods(_http._DetachedSocket.__proto__),
  listen: dart.fnType(async.StreamSubscription$(typed_data.Uint8List), [dart.nullable(dart.fnType(dart.void, [typed_data.Uint8List]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  write: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  writeln: dart.fnType(dart.void, [], [dart.nullable(core.Object)]),
  writeCharCode: dart.fnType(dart.void, [core.int]),
  writeAll: dart.fnType(dart.void, [core.Iterable], [core.String]),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
  addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
  destroy: dart.fnType(dart.void, []),
  flush: dart.fnType(async.Future, []),
  close: dart.fnType(async.Future, []),
  setOption: dart.fnType(core.bool, [io.SocketOption, core.bool]),
  getRawOption: dart.fnType(typed_data.Uint8List, [io.RawSocketOption]),
  setRawOption: dart.fnType(dart.void, [io.RawSocketOption]),
  [_toJSON$]: dart.fnType(core.Map, [core.bool])
}));
dart.setGetterSignature(_http._DetachedSocket, () => ({
  __proto__: dart.getGetters(_http._DetachedSocket.__proto__),
  encoding: convert.Encoding,
  done: async.Future,
  port: core.int,
  address: io.InternetAddress,
  remoteAddress: io.InternetAddress,
  remotePort: core.int,
  [__IOSink_encoding_isSet]: dart.dynamic,
  [__IOSink_encoding]: dart.nullable(convert.Encoding)
}));
dart.setSetterSignature(_http._DetachedSocket, () => ({
  __proto__: dart.getSetters(_http._DetachedSocket.__proto__),
  encoding: convert.Encoding,
  [__IOSink_encoding_isSet]: dart.dynamic,
  [__IOSink_encoding]: dart.nullable(convert.Encoding)
}));
dart.setLibraryUri(_http._DetachedSocket, I[177]);
dart.setFieldSignature(_http._DetachedSocket, () => ({
  __proto__: dart.getFields(_http._DetachedSocket.__proto__),
  [_incoming$]: dart.finalFieldType(async.Stream$(typed_data.Uint8List)),
  [_socket$0]: dart.finalFieldType(io.Socket)
}));
var _scheme$ = dart.privateName(_http, "_AuthenticationScheme._scheme");
var _scheme = dart.privateName(_http, "_scheme");
_http._AuthenticationScheme = class _AuthenticationScheme extends core.Object {
  get [_scheme]() {
    return this[_scheme$];
  }
  set [_scheme](value) {
    super[_scheme] = value;
  }
  static fromString(scheme) {
    if (scheme == null) dart.nullFailed(I[181], 3519, 51, "scheme");
    if (scheme[$toLowerCase]() === "basic") return _http._AuthenticationScheme.BASIC;
    if (scheme[$toLowerCase]() === "digest") return _http._AuthenticationScheme.DIGEST;
    return _http._AuthenticationScheme.UNKNOWN;
  }
  toString() {
    if (this[$_equals](_http._AuthenticationScheme.BASIC)) return "Basic";
    if (this[$_equals](_http._AuthenticationScheme.DIGEST)) return "Digest";
    return "Unknown";
  }
};
(_http._AuthenticationScheme.new = function(_scheme) {
  if (_scheme == null) dart.nullFailed(I[181], 3517, 36, "_scheme");
  this[_scheme$] = _scheme;
  ;
}).prototype = _http._AuthenticationScheme.prototype;
dart.addTypeTests(_http._AuthenticationScheme);
dart.addTypeCaches(_http._AuthenticationScheme);
dart.setLibraryUri(_http._AuthenticationScheme, I[177]);
dart.setFieldSignature(_http._AuthenticationScheme, () => ({
  __proto__: dart.getFields(_http._AuthenticationScheme.__proto__),
  [_scheme]: dart.finalFieldType(core.int)
}));
dart.defineExtensionMethods(_http._AuthenticationScheme, ['toString']);
dart.defineLazy(_http._AuthenticationScheme, {
  /*_http._AuthenticationScheme.UNKNOWN*/get UNKNOWN() {
    return C[480] || CT.C480;
  },
  /*_http._AuthenticationScheme.BASIC*/get BASIC() {
    return C[481] || CT.C481;
  },
  /*_http._AuthenticationScheme.DIGEST*/get DIGEST() {
    return C[482] || CT.C482;
  }
}, false);
_http._Credentials = class _Credentials extends core.Object {
  get scheme() {
    return this.credentials.scheme;
  }
};
(_http._Credentials.new = function(credentials, realm) {
  let t303;
  if (credentials == null) dart.nullFailed(I[181], 3544, 21, "credentials");
  if (realm == null) dart.nullFailed(I[181], 3544, 39, "realm");
  this.used = false;
  this.ha1 = null;
  this.nonce = null;
  this.algorithm = null;
  this.qop = null;
  this.nonceCount = null;
  this.credentials = credentials;
  this.realm = realm;
  if (dart.equals(this.credentials.scheme, _http._AuthenticationScheme.DIGEST)) {
    let creds = _http._HttpClientDigestCredentials.as(this.credentials);
    let hasher = (t303 = new _http._MD5.new(), (() => {
      t303.add(convert.utf8.encode(creds.username));
      t303.add(T$.JSArrayOfint().of([58]));
      t303.add(this.realm[$codeUnits]);
      t303.add(T$.JSArrayOfint().of([58]));
      t303.add(convert.utf8.encode(creds.password));
      return t303;
    })());
    this.ha1 = _http._CryptoUtils.bytesToHex(hasher.close());
  }
}).prototype = _http._Credentials.prototype;
dart.addTypeTests(_http._Credentials);
dart.addTypeCaches(_http._Credentials);
dart.setGetterSignature(_http._Credentials, () => ({
  __proto__: dart.getGetters(_http._Credentials.__proto__),
  scheme: _http._AuthenticationScheme
}));
dart.setLibraryUri(_http._Credentials, I[177]);
dart.setFieldSignature(_http._Credentials, () => ({
  __proto__: dart.getFields(_http._Credentials.__proto__),
  credentials: dart.fieldType(_http._HttpClientCredentials),
  realm: dart.fieldType(core.String),
  used: dart.fieldType(core.bool),
  ha1: dart.fieldType(dart.nullable(core.String)),
  nonce: dart.fieldType(dart.nullable(core.String)),
  algorithm: dart.fieldType(dart.nullable(core.String)),
  qop: dart.fieldType(dart.nullable(core.String)),
  nonceCount: dart.fieldType(dart.nullable(core.int))
}));
_http._SiteCredentials = class _SiteCredentials extends _http._Credentials {
  applies(uri, scheme) {
    if (uri == null) dart.nullFailed(I[181], 3574, 20, "uri");
    if (scheme != null && !dart.equals(this.credentials.scheme, scheme)) return false;
    if (uri.host != this.uri.host) return false;
    let thisPort = this.uri.port === 0 ? 80 : this.uri.port;
    let otherPort = uri.port === 0 ? 80 : uri.port;
    if (otherPort != thisPort) return false;
    return uri.path[$startsWith](this.uri.path);
  }
  authorize(request) {
    if (request == null) dart.nullFailed(I[181], 3584, 36, "request");
    if (dart.equals(this.credentials.scheme, _http._AuthenticationScheme.DIGEST) && this.nonce == null) {
      return;
    }
    this.credentials.authorize(this, _http._HttpClientRequest.as(request));
    this.used = true;
  }
};
(_http._SiteCredentials.new = function(uri, realm, creds) {
  if (uri == null) dart.nullFailed(I[181], 3571, 25, "uri");
  if (creds == null) dart.nullFailed(I[181], 3571, 60, "creds");
  this.uri = uri;
  _http._SiteCredentials.__proto__.new.call(this, creds, core.String.as(realm));
  ;
}).prototype = _http._SiteCredentials.prototype;
dart.addTypeTests(_http._SiteCredentials);
dart.addTypeCaches(_http._SiteCredentials);
dart.setMethodSignature(_http._SiteCredentials, () => ({
  __proto__: dart.getMethods(_http._SiteCredentials.__proto__),
  applies: dart.fnType(core.bool, [core.Uri, dart.nullable(_http._AuthenticationScheme)]),
  authorize: dart.fnType(dart.void, [_http.HttpClientRequest])
}));
dart.setLibraryUri(_http._SiteCredentials, I[177]);
dart.setFieldSignature(_http._SiteCredentials, () => ({
  __proto__: dart.getFields(_http._SiteCredentials.__proto__),
  uri: dart.fieldType(core.Uri)
}));
_http._ProxyCredentials = class _ProxyCredentials extends _http._Credentials {
  applies(proxy, scheme) {
    if (proxy == null) dart.nullFailed(I[181], 3602, 23, "proxy");
    if (scheme != null && !dart.equals(this.credentials.scheme, scheme)) return false;
    return proxy.host == this.host && proxy.port == this.port;
  }
  authorize(request) {
    if (request == null) dart.nullFailed(I[181], 3607, 36, "request");
    if (dart.equals(this.credentials.scheme, _http._AuthenticationScheme.DIGEST) && this.nonce == null) {
      return;
    }
    this.credentials.authorizeProxy(this, _http._HttpClientRequest.as(request));
  }
};
(_http._ProxyCredentials.new = function(host, port, realm, creds) {
  if (host == null) dart.nullFailed(I[181], 3599, 26, "host");
  if (port == null) dart.nullFailed(I[181], 3599, 37, "port");
  if (creds == null) dart.nullFailed(I[181], 3599, 73, "creds");
  this.host = host;
  this.port = port;
  _http._ProxyCredentials.__proto__.new.call(this, creds, core.String.as(realm));
  ;
}).prototype = _http._ProxyCredentials.prototype;
dart.addTypeTests(_http._ProxyCredentials);
dart.addTypeCaches(_http._ProxyCredentials);
dart.setMethodSignature(_http._ProxyCredentials, () => ({
  __proto__: dart.getMethods(_http._ProxyCredentials.__proto__),
  applies: dart.fnType(core.bool, [_http._Proxy, dart.nullable(_http._AuthenticationScheme)]),
  authorize: dart.fnType(dart.void, [_http.HttpClientRequest])
}));
dart.setLibraryUri(_http._ProxyCredentials, I[177]);
dart.setFieldSignature(_http._ProxyCredentials, () => ({
  __proto__: dart.getFields(_http._ProxyCredentials.__proto__),
  host: dart.fieldType(core.String),
  port: dart.fieldType(core.int)
}));
_http._HttpClientCredentials = class _HttpClientCredentials extends core.Object {};
(_http._HttpClientCredentials.new = function() {
  ;
}).prototype = _http._HttpClientCredentials.prototype;
dart.addTypeTests(_http._HttpClientCredentials);
dart.addTypeCaches(_http._HttpClientCredentials);
_http._HttpClientCredentials[dart.implements] = () => [_http.HttpClientCredentials];
dart.setLibraryUri(_http._HttpClientCredentials, I[177]);
_http._HttpClientBasicCredentials = class _HttpClientBasicCredentials extends _http._HttpClientCredentials {
  get scheme() {
    return _http._AuthenticationScheme.BASIC;
  }
  authorization() {
    let auth = _http._CryptoUtils.bytesToBase64(convert.utf8.encode(dart.str(this.username) + ":" + dart.str(this.password)));
    return "Basic " + dart.str(auth);
  }
  authorize(_, request) {
    if (_ == null) dart.nullFailed(I[181], 3644, 31, "_");
    if (request == null) dart.nullFailed(I[181], 3644, 52, "request");
    request.headers.set("authorization", this.authorization());
  }
  authorizeProxy(_, request) {
    if (_ == null) dart.nullFailed(I[181], 3648, 41, "_");
    if (request == null) dart.nullFailed(I[181], 3648, 62, "request");
    request.headers.set("proxy-authorization", this.authorization());
  }
};
(_http._HttpClientBasicCredentials.new = function(username, password) {
  if (username == null) dart.nullFailed(I[181], 3628, 36, "username");
  if (password == null) dart.nullFailed(I[181], 3628, 51, "password");
  this.username = username;
  this.password = password;
  ;
}).prototype = _http._HttpClientBasicCredentials.prototype;
dart.addTypeTests(_http._HttpClientBasicCredentials);
dart.addTypeCaches(_http._HttpClientBasicCredentials);
_http._HttpClientBasicCredentials[dart.implements] = () => [_http.HttpClientBasicCredentials];
dart.setMethodSignature(_http._HttpClientBasicCredentials, () => ({
  __proto__: dart.getMethods(_http._HttpClientBasicCredentials.__proto__),
  authorization: dart.fnType(core.String, []),
  authorize: dart.fnType(dart.void, [_http._Credentials, _http.HttpClientRequest]),
  authorizeProxy: dart.fnType(dart.void, [_http._ProxyCredentials, _http.HttpClientRequest])
}));
dart.setGetterSignature(_http._HttpClientBasicCredentials, () => ({
  __proto__: dart.getGetters(_http._HttpClientBasicCredentials.__proto__),
  scheme: _http._AuthenticationScheme
}));
dart.setLibraryUri(_http._HttpClientBasicCredentials, I[177]);
dart.setFieldSignature(_http._HttpClientBasicCredentials, () => ({
  __proto__: dart.getFields(_http._HttpClientBasicCredentials.__proto__),
  username: dart.fieldType(core.String),
  password: dart.fieldType(core.String)
}));
_http._HttpClientDigestCredentials = class _HttpClientDigestCredentials extends _http._HttpClientCredentials {
  get scheme() {
    return _http._AuthenticationScheme.DIGEST;
  }
  authorization(credentials, request) {
    let t303, t303$, t303$0, t303$1, t303$2, t303$3;
    if (credentials == null) dart.nullFailed(I[181], 3662, 37, "credentials");
    if (request == null) dart.nullFailed(I[181], 3662, 69, "request");
    let requestUri = request[_requestUri]();
    let hasher = (t303 = new _http._MD5.new(), (() => {
      t303.add(request.method[$codeUnits]);
      t303.add(T$.JSArrayOfint().of([58]));
      t303.add(requestUri[$codeUnits]);
      return t303;
    })());
    let ha2 = _http._CryptoUtils.bytesToHex(hasher.close());
    let isAuth = false;
    let cnonce = "";
    let nc = "";
    hasher = (t303$ = new _http._MD5.new(), (() => {
      t303$.add(dart.nullCheck(credentials.ha1)[$codeUnits]);
      t303$.add(T$.JSArrayOfint().of([58]));
      return t303$;
    })());
    if (credentials.qop === "auth") {
      isAuth = true;
      cnonce = _http._CryptoUtils.bytesToHex(_http._CryptoUtils.getRandomBytes(4));
      let nonceCount = dart.nullCheck(credentials.nonceCount) + 1;
      credentials.nonceCount = nonceCount;
      nc = nonceCount[$toRadixString](16)[$padLeft](9, "0");
      t303$0 = hasher;
      (() => {
        t303$0.add(dart.nullCheck(credentials.nonce)[$codeUnits]);
        t303$0.add(T$.JSArrayOfint().of([58]));
        t303$0.add(nc[$codeUnits]);
        t303$0.add(T$.JSArrayOfint().of([58]));
        t303$0.add(cnonce[$codeUnits]);
        t303$0.add(T$.JSArrayOfint().of([58]));
        t303$0.add("auth"[$codeUnits]);
        t303$0.add(T$.JSArrayOfint().of([58]));
        t303$0.add(ha2[$codeUnits]);
        return t303$0;
      })();
    } else {
      t303$1 = hasher;
      (() => {
        t303$1.add(dart.nullCheck(credentials.nonce)[$codeUnits]);
        t303$1.add(T$.JSArrayOfint().of([58]));
        t303$1.add(ha2[$codeUnits]);
        return t303$1;
      })();
    }
    let response = _http._CryptoUtils.bytesToHex(hasher.close());
    let buffer = (t303$2 = new core.StringBuffer.new(), (() => {
      t303$2.write("Digest ");
      t303$2.write("username=\"" + dart.str(this.username) + "\"");
      t303$2.write(", realm=\"" + dart.str(credentials.realm) + "\"");
      t303$2.write(", nonce=\"" + dart.str(credentials.nonce) + "\"");
      t303$2.write(", uri=\"" + dart.str(requestUri) + "\"");
      t303$2.write(", algorithm=\"" + dart.str(credentials.algorithm) + "\"");
      return t303$2;
    })());
    if (isAuth) {
      t303$3 = buffer;
      (() => {
        t303$3.write(", qop=\"auth\"");
        t303$3.write(", cnonce=\"" + dart.str(cnonce) + "\"");
        t303$3.write(", nc=\"" + nc + "\"");
        return t303$3;
      })();
    }
    buffer.write(", response=\"" + dart.str(response) + "\"");
    return dart.toString(buffer);
  }
  authorize(credentials, request) {
    if (credentials == null) dart.nullFailed(I[181], 3717, 31, "credentials");
    if (request == null) dart.nullFailed(I[181], 3717, 62, "request");
    request.headers.set("authorization", this.authorization(credentials, _http._HttpClientRequest.as(request)));
  }
  authorizeProxy(credentials, request) {
    if (credentials == null) dart.nullFailed(I[181], 3723, 25, "credentials");
    if (request == null) dart.nullFailed(I[181], 3723, 56, "request");
    request.headers.set("proxy-authorization", this.authorization(credentials, _http._HttpClientRequest.as(request)));
  }
};
(_http._HttpClientDigestCredentials.new = function(username, password) {
  if (username == null) dart.nullFailed(I[181], 3658, 37, "username");
  if (password == null) dart.nullFailed(I[181], 3658, 52, "password");
  this.username = username;
  this.password = password;
  ;
}).prototype = _http._HttpClientDigestCredentials.prototype;
dart.addTypeTests(_http._HttpClientDigestCredentials);
dart.addTypeCaches(_http._HttpClientDigestCredentials);
_http._HttpClientDigestCredentials[dart.implements] = () => [_http.HttpClientDigestCredentials];
dart.setMethodSignature(_http._HttpClientDigestCredentials, () => ({
  __proto__: dart.getMethods(_http._HttpClientDigestCredentials.__proto__),
  authorization: dart.fnType(core.String, [_http._Credentials, _http._HttpClientRequest]),
  authorize: dart.fnType(dart.void, [_http._Credentials, _http.HttpClientRequest]),
  authorizeProxy: dart.fnType(dart.void, [_http._ProxyCredentials, _http.HttpClientRequest])
}));
dart.setGetterSignature(_http._HttpClientDigestCredentials, () => ({
  __proto__: dart.getGetters(_http._HttpClientDigestCredentials.__proto__),
  scheme: _http._AuthenticationScheme
}));
dart.setLibraryUri(_http._HttpClientDigestCredentials, I[177]);
dart.setFieldSignature(_http._HttpClientDigestCredentials, () => ({
  __proto__: dart.getFields(_http._HttpClientDigestCredentials.__proto__),
  username: dart.fieldType(core.String),
  password: dart.fieldType(core.String)
}));
var statusCode$ = dart.privateName(_http, "_RedirectInfo.statusCode");
var method$ = dart.privateName(_http, "_RedirectInfo.method");
var location$ = dart.privateName(_http, "_RedirectInfo.location");
_http._RedirectInfo = class _RedirectInfo extends core.Object {
  get statusCode() {
    return this[statusCode$];
  }
  set statusCode(value) {
    super.statusCode = value;
  }
  get method() {
    return this[method$];
  }
  set method(value) {
    super.method = value;
  }
  get location() {
    return this[location$];
  }
  set location(value) {
    super.location = value;
  }
};
(_http._RedirectInfo.new = function(statusCode, method, location) {
  if (statusCode == null) dart.nullFailed(I[181], 3733, 28, "statusCode");
  if (method == null) dart.nullFailed(I[181], 3733, 45, "method");
  if (location == null) dart.nullFailed(I[181], 3733, 58, "location");
  this[statusCode$] = statusCode;
  this[method$] = method;
  this[location$] = location;
  ;
}).prototype = _http._RedirectInfo.prototype;
dart.addTypeTests(_http._RedirectInfo);
dart.addTypeCaches(_http._RedirectInfo);
_http._RedirectInfo[dart.implements] = () => [_http.RedirectInfo];
dart.setLibraryUri(_http._RedirectInfo, I[177]);
dart.setFieldSignature(_http._RedirectInfo, () => ({
  __proto__: dart.getFields(_http._RedirectInfo.__proto__),
  statusCode: dart.finalFieldType(core.int),
  method: dart.finalFieldType(core.String),
  location: dart.finalFieldType(core.Uri)
}));
_http._Const = class _Const extends core.Object {};
(_http._Const.new = function() {
  ;
}).prototype = _http._Const.prototype;
dart.addTypeTests(_http._Const);
dart.addTypeCaches(_http._Const);
dart.setLibraryUri(_http._Const, I[177]);
dart.defineLazy(_http._Const, {
  /*_http._Const.HTTP*/get HTTP() {
    return C[483] || CT.C483;
  },
  /*_http._Const.HTTP1DOT*/get HTTP1DOT() {
    return C[484] || CT.C484;
  },
  /*_http._Const.HTTP10*/get HTTP10() {
    return C[485] || CT.C485;
  },
  /*_http._Const.HTTP11*/get HTTP11() {
    return C[486] || CT.C486;
  },
  /*_http._Const.T*/get T() {
    return true;
  },
  /*_http._Const.F*/get F() {
    return false;
  },
  /*_http._Const.SEPARATOR_MAP*/get SEPARATOR_MAP() {
    return C[487] || CT.C487;
  }
}, false);
_http._CharCode = class _CharCode extends core.Object {};
(_http._CharCode.new = function() {
  ;
}).prototype = _http._CharCode.prototype;
dart.addTypeTests(_http._CharCode);
dart.addTypeCaches(_http._CharCode);
dart.setLibraryUri(_http._CharCode, I[177]);
dart.defineLazy(_http._CharCode, {
  /*_http._CharCode.HT*/get HT() {
    return 9;
  },
  /*_http._CharCode.LF*/get LF() {
    return 10;
  },
  /*_http._CharCode.CR*/get CR() {
    return 13;
  },
  /*_http._CharCode.SP*/get SP() {
    return 32;
  },
  /*_http._CharCode.AMPERSAND*/get AMPERSAND() {
    return 38;
  },
  /*_http._CharCode.COMMA*/get COMMA() {
    return 44;
  },
  /*_http._CharCode.DASH*/get DASH() {
    return 45;
  },
  /*_http._CharCode.SLASH*/get SLASH() {
    return 47;
  },
  /*_http._CharCode.ZERO*/get ZERO() {
    return 48;
  },
  /*_http._CharCode.ONE*/get ONE() {
    return 49;
  },
  /*_http._CharCode.COLON*/get COLON() {
    return 58;
  },
  /*_http._CharCode.SEMI_COLON*/get SEMI_COLON() {
    return 59;
  },
  /*_http._CharCode.EQUAL*/get EQUAL() {
    return 61;
  }
}, false);
_http._State = class _State extends core.Object {};
(_http._State.new = function() {
  ;
}).prototype = _http._State.prototype;
dart.addTypeTests(_http._State);
dart.addTypeCaches(_http._State);
dart.setLibraryUri(_http._State, I[177]);
dart.defineLazy(_http._State, {
  /*_http._State.START*/get START() {
    return 0;
  },
  /*_http._State.METHOD_OR_RESPONSE_HTTP_VERSION*/get METHOD_OR_RESPONSE_HTTP_VERSION() {
    return 1;
  },
  /*_http._State.RESPONSE_HTTP_VERSION*/get RESPONSE_HTTP_VERSION() {
    return 2;
  },
  /*_http._State.REQUEST_LINE_METHOD*/get REQUEST_LINE_METHOD() {
    return 3;
  },
  /*_http._State.REQUEST_LINE_URI*/get REQUEST_LINE_URI() {
    return 4;
  },
  /*_http._State.REQUEST_LINE_HTTP_VERSION*/get REQUEST_LINE_HTTP_VERSION() {
    return 5;
  },
  /*_http._State.REQUEST_LINE_ENDING*/get REQUEST_LINE_ENDING() {
    return 6;
  },
  /*_http._State.RESPONSE_LINE_STATUS_CODE*/get RESPONSE_LINE_STATUS_CODE() {
    return 7;
  },
  /*_http._State.RESPONSE_LINE_REASON_PHRASE*/get RESPONSE_LINE_REASON_PHRASE() {
    return 8;
  },
  /*_http._State.RESPONSE_LINE_ENDING*/get RESPONSE_LINE_ENDING() {
    return 9;
  },
  /*_http._State.HEADER_START*/get HEADER_START() {
    return 10;
  },
  /*_http._State.HEADER_FIELD*/get HEADER_FIELD() {
    return 11;
  },
  /*_http._State.HEADER_VALUE_START*/get HEADER_VALUE_START() {
    return 12;
  },
  /*_http._State.HEADER_VALUE*/get HEADER_VALUE() {
    return 13;
  },
  /*_http._State.HEADER_VALUE_FOLD_OR_END_CR*/get HEADER_VALUE_FOLD_OR_END_CR() {
    return 14;
  },
  /*_http._State.HEADER_VALUE_FOLD_OR_END*/get HEADER_VALUE_FOLD_OR_END() {
    return 15;
  },
  /*_http._State.HEADER_ENDING*/get HEADER_ENDING() {
    return 16;
  },
  /*_http._State.CHUNK_SIZE_STARTING_CR*/get CHUNK_SIZE_STARTING_CR() {
    return 17;
  },
  /*_http._State.CHUNK_SIZE_STARTING*/get CHUNK_SIZE_STARTING() {
    return 18;
  },
  /*_http._State.CHUNK_SIZE*/get CHUNK_SIZE() {
    return 19;
  },
  /*_http._State.CHUNK_SIZE_EXTENSION*/get CHUNK_SIZE_EXTENSION() {
    return 20;
  },
  /*_http._State.CHUNK_SIZE_ENDING*/get CHUNK_SIZE_ENDING() {
    return 21;
  },
  /*_http._State.CHUNKED_BODY_DONE_CR*/get CHUNKED_BODY_DONE_CR() {
    return 22;
  },
  /*_http._State.CHUNKED_BODY_DONE*/get CHUNKED_BODY_DONE() {
    return 23;
  },
  /*_http._State.BODY*/get BODY() {
    return 24;
  },
  /*_http._State.CLOSED*/get CLOSED() {
    return 25;
  },
  /*_http._State.UPGRADED*/get UPGRADED() {
    return 26;
  },
  /*_http._State.FAILURE*/get FAILURE() {
    return 27;
  },
  /*_http._State.FIRST_BODY_STATE*/get FIRST_BODY_STATE() {
    return 17;
  }
}, false);
_http._HttpVersion = class _HttpVersion extends core.Object {};
(_http._HttpVersion.new = function() {
  ;
}).prototype = _http._HttpVersion.prototype;
dart.addTypeTests(_http._HttpVersion);
dart.addTypeCaches(_http._HttpVersion);
dart.setLibraryUri(_http._HttpVersion, I[177]);
dart.defineLazy(_http._HttpVersion, {
  /*_http._HttpVersion.UNDETERMINED*/get UNDETERMINED() {
    return 0;
  },
  /*_http._HttpVersion.HTTP10*/get HTTP10() {
    return 1;
  },
  /*_http._HttpVersion.HTTP11*/get HTTP11() {
    return 2;
  }
}, false);
_http._MessageType = class _MessageType extends core.Object {};
(_http._MessageType.new = function() {
  ;
}).prototype = _http._MessageType.prototype;
dart.addTypeTests(_http._MessageType);
dart.addTypeCaches(_http._MessageType);
dart.setLibraryUri(_http._MessageType, I[177]);
dart.defineLazy(_http._MessageType, {
  /*_http._MessageType.UNDETERMINED*/get UNDETERMINED() {
    return 0;
  },
  /*_http._MessageType.REQUEST*/get REQUEST() {
    return 1;
  },
  /*_http._MessageType.RESPONSE*/get RESPONSE() {
    return 0;
  }
}, false);
var _isCanceled$ = dart.privateName(_http, "_isCanceled");
var _scheduled = dart.privateName(_http, "_scheduled");
var _pauseCount$ = dart.privateName(_http, "_pauseCount");
var _injectData$ = dart.privateName(_http, "_injectData");
var _userOnData$ = dart.privateName(_http, "_userOnData");
var _maybeScheduleData = dart.privateName(_http, "_maybeScheduleData");
_http._HttpDetachedStreamSubscription = class _HttpDetachedStreamSubscription extends core.Object {
  get isPaused() {
    return this[_subscription$0].isPaused;
  }
  asFuture(T, futureValue = null) {
    return this[_subscription$0].asFuture(T, T.as(futureValue));
  }
  cancel() {
    this[_isCanceled$] = true;
    this[_injectData$] = null;
    return this[_subscription$0].cancel();
  }
  onData(handleData) {
    this[_userOnData$] = handleData;
    this[_subscription$0].onData(handleData);
  }
  onDone(handleDone) {
    this[_subscription$0].onDone(handleDone);
  }
  onError(handleError) {
    this[_subscription$0].onError(handleError);
  }
  pause(resumeSignal = null) {
    if (this[_injectData$] == null) {
      this[_subscription$0].pause(resumeSignal);
    } else {
      this[_pauseCount$] = dart.notNull(this[_pauseCount$]) + 1;
      if (resumeSignal != null) {
        resumeSignal.whenComplete(dart.bind(this, 'resume'));
      }
    }
  }
  resume() {
    if (this[_injectData$] == null) {
      this[_subscription$0].resume();
    } else {
      this[_pauseCount$] = dart.notNull(this[_pauseCount$]) - 1;
      this[_maybeScheduleData]();
    }
  }
  [_maybeScheduleData]() {
    if (dart.test(this[_scheduled])) return;
    if (this[_pauseCount$] !== 0) return;
    this[_scheduled] = true;
    async.scheduleMicrotask(dart.fn(() => {
      let t303;
      this[_scheduled] = false;
      if (dart.notNull(this[_pauseCount$]) > 0 || dart.test(this[_isCanceled$])) return;
      let data = this[_injectData$];
      this[_injectData$] = null;
      this[_subscription$0].resume();
      t303 = this[_userOnData$];
      t303 == null ? null : dart.dcall(t303, [data]);
    }, T$.VoidTovoid()));
  }
};
(_http._HttpDetachedStreamSubscription.new = function(_subscription, _injectData, _userOnData) {
  if (_subscription == null) dart.nullFailed(I[182], 120, 12, "_subscription");
  this[_isCanceled$] = false;
  this[_scheduled] = false;
  this[_pauseCount$] = 1;
  this[_subscription$0] = _subscription;
  this[_injectData$] = _injectData;
  this[_userOnData$] = _userOnData;
  ;
}).prototype = _http._HttpDetachedStreamSubscription.prototype;
_http._HttpDetachedStreamSubscription.prototype[dart.isStreamSubscription] = true;
dart.addTypeTests(_http._HttpDetachedStreamSubscription);
dart.addTypeCaches(_http._HttpDetachedStreamSubscription);
_http._HttpDetachedStreamSubscription[dart.implements] = () => [async.StreamSubscription$(typed_data.Uint8List)];
dart.setMethodSignature(_http._HttpDetachedStreamSubscription, () => ({
  __proto__: dart.getMethods(_http._HttpDetachedStreamSubscription.__proto__),
  asFuture: dart.gFnType(T => [async.Future$(T), [], [dart.nullable(T)]], T => [dart.nullable(core.Object)]),
  cancel: dart.fnType(async.Future, []),
  onData: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, [typed_data.Uint8List]))]),
  onDone: dart.fnType(dart.void, [dart.nullable(dart.fnType(dart.void, []))]),
  onError: dart.fnType(dart.void, [dart.nullable(core.Function)]),
  pause: dart.fnType(dart.void, [], [dart.nullable(async.Future)]),
  resume: dart.fnType(dart.void, []),
  [_maybeScheduleData]: dart.fnType(dart.void, [])
}));
dart.setGetterSignature(_http._HttpDetachedStreamSubscription, () => ({
  __proto__: dart.getGetters(_http._HttpDetachedStreamSubscription.__proto__),
  isPaused: core.bool
}));
dart.setLibraryUri(_http._HttpDetachedStreamSubscription, I[177]);
dart.setFieldSignature(_http._HttpDetachedStreamSubscription, () => ({
  __proto__: dart.getFields(_http._HttpDetachedStreamSubscription.__proto__),
  [_subscription$0]: dart.fieldType(async.StreamSubscription$(typed_data.Uint8List)),
  [_injectData$]: dart.fieldType(dart.nullable(typed_data.Uint8List)),
  [_userOnData$]: dart.fieldType(dart.nullable(core.Function)),
  [_isCanceled$]: dart.fieldType(core.bool),
  [_scheduled]: dart.fieldType(core.bool),
  [_pauseCount$]: dart.fieldType(core.int)
}));
_http._HttpDetachedIncoming = class _HttpDetachedIncoming extends async.Stream$(typed_data.Uint8List) {
  listen(onData, opts) {
    let t303, t303$, t303$0;
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    let subscription = this.subscription;
    if (subscription != null) {
      t303 = subscription;
      (() => {
        t303.onData(onData);
        t303.onError(onError);
        t303.onDone(onDone);
        return t303;
      })();
      if (this.bufferedData == null) {
        t303$ = subscription;
        return (() => {
          t303$.resume();
          return t303$;
        })();
      }
      t303$0 = new _http._HttpDetachedStreamSubscription.new(subscription, this.bufferedData, onData);
      return (() => {
        t303$0.resume();
        return t303$0;
      })();
    } else {
      return T.StreamOfUint8List().fromIterable(T$.JSArrayOfUint8List().of([dart.nullCheck(this.bufferedData)])).listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
    }
  }
};
(_http._HttpDetachedIncoming.new = function(subscription, bufferedData) {
  this.subscription = subscription;
  this.bufferedData = bufferedData;
  _http._HttpDetachedIncoming.__proto__.new.call(this);
  ;
}).prototype = _http._HttpDetachedIncoming.prototype;
dart.addTypeTests(_http._HttpDetachedIncoming);
dart.addTypeCaches(_http._HttpDetachedIncoming);
dart.setMethodSignature(_http._HttpDetachedIncoming, () => ({
  __proto__: dart.getMethods(_http._HttpDetachedIncoming.__proto__),
  listen: dart.fnType(async.StreamSubscription$(typed_data.Uint8List), [dart.nullable(dart.fnType(dart.void, [typed_data.Uint8List]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {})
}));
dart.setLibraryUri(_http._HttpDetachedIncoming, I[177]);
dart.setFieldSignature(_http._HttpDetachedIncoming, () => ({
  __proto__: dart.getFields(_http._HttpDetachedIncoming.__proto__),
  subscription: dart.finalFieldType(dart.nullable(async.StreamSubscription$(typed_data.Uint8List))),
  bufferedData: dart.finalFieldType(dart.nullable(typed_data.Uint8List))
}));
var _parserCalled = dart.privateName(_http, "_parserCalled");
var _index$1 = dart.privateName(_http, "_index");
var _httpVersionIndex = dart.privateName(_http, "_httpVersionIndex");
var _messageType = dart.privateName(_http, "_messageType");
var _statusCodeLength = dart.privateName(_http, "_statusCodeLength");
var _method$ = dart.privateName(_http, "_method");
var _uriOrReasonPhrase = dart.privateName(_http, "_uriOrReasonPhrase");
var _headerField = dart.privateName(_http, "_headerField");
var _headerValue = dart.privateName(_http, "_headerValue");
var _headersReceivedSize = dart.privateName(_http, "_headersReceivedSize");
var _httpVersion = dart.privateName(_http, "_httpVersion");
var _connectionUpgrade = dart.privateName(_http, "_connectionUpgrade");
var _chunked = dart.privateName(_http, "_chunked");
var _noMessageBody = dart.privateName(_http, "_noMessageBody");
var _remainingContent = dart.privateName(_http, "_remainingContent");
var _transferEncoding = dart.privateName(_http, "_transferEncoding");
var _chunkSizeLimit = dart.privateName(_http, "_chunkSizeLimit");
var _socketSubscription$ = dart.privateName(_http, "_socketSubscription");
var _paused = dart.privateName(_http, "_paused");
var _bodyPaused = dart.privateName(_http, "_bodyPaused");
var _bodyController = dart.privateName(_http, "_bodyController");
var _requestParser$ = dart.privateName(_http, "_requestParser");
var _pauseStateChanged = dart.privateName(_http, "_pauseStateChanged");
var _reset = dart.privateName(_http, "_reset");
var _onData$1 = dart.privateName(_http, "_onData");
var _onDone = dart.privateName(_http, "_onDone");
var _doParse = dart.privateName(_http, "_doParse");
var _reportBodyError = dart.privateName(_http, "_reportBodyError");
var _reportHttpError = dart.privateName(_http, "_reportHttpError");
var _createIncoming = dart.privateName(_http, "_createIncoming");
var _closeIncoming = dart.privateName(_http, "_closeIncoming");
var _headersEnd = dart.privateName(_http, "_headersEnd");
var _addWithValidation = dart.privateName(_http, "_addWithValidation");
var _expect = dart.privateName(_http, "_expect");
var _expectHexDigit = dart.privateName(_http, "_expectHexDigit");
var _releaseBuffer = dart.privateName(_http, "_releaseBuffer");
var _reportSizeLimitError = dart.privateName(_http, "_reportSizeLimitError");
_http._HttpParser = class _HttpParser extends async.Stream$(_http._HttpIncoming) {
  static requestParser() {
    return new _http._HttpParser.__(true);
  }
  static responseParser() {
    return new _http._HttpParser.__(false);
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    return this[_controller$0].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  listenToStream(stream) {
    if (stream == null) dart.nullFailed(I[182], 312, 41, "stream");
    this[_socketSubscription$] = stream.listen(dart.bind(this, _onData$1), {onError: dart.bind(this[_controller$0], 'addError'), onDone: dart.bind(this, _onDone)});
  }
  [_parse]() {
    try {
      this[_doParse]();
    } catch (e$) {
      let e = dart.getThrown(e$);
      let s = dart.stackTrace(e$);
      if (core.Object.is(e)) {
        if (dart.notNull(this[_state$1]) >= 17 && dart.notNull(this[_state$1]) <= 24) {
          this[_state$1] = 27;
          this[_reportBodyError](e, s);
        } else {
          this[_state$1] = 27;
          this[_reportHttpError](e, s);
        }
      } else
        throw e$;
    }
  }
  [_headersEnd]() {
    let headers = dart.nullCheck(this[_headers]);
    if (!dart.test(this[_requestParser$]) && dart.notNull(this[_statusCode]) >= 200 && dart.notNull(this[_statusCode]) < 300 && dart.test(this.connectMethod)) {
      this[_transferLength$] = -1;
      headers.chunkedTransferEncoding = false;
      this[_chunked] = false;
      headers.removeAll("content-length");
      headers.removeAll("transfer-encoding");
    }
    headers[_mutable] = false;
    this[_transferLength$] = headers.contentLength;
    if (dart.test(this[_chunked])) this[_transferLength$] = -1;
    if (this[_messageType] === 1 && dart.notNull(this[_transferLength$]) < 0 && this[_chunked] === false) {
      this[_transferLength$] = 0;
    }
    if (dart.test(this[_connectionUpgrade])) {
      this[_state$1] = 26;
      this[_transferLength$] = 0;
    }
    let incoming = this[_createIncoming](this[_transferLength$]);
    if (dart.test(this[_requestParser$])) {
      incoming.method = core.String.fromCharCodes(this[_method$]);
      incoming.uri = core.Uri.parse(core.String.fromCharCodes(this[_uriOrReasonPhrase]));
    } else {
      incoming.statusCode = this[_statusCode];
      incoming.reasonPhrase = core.String.fromCharCodes(this[_uriOrReasonPhrase]);
    }
    this[_method$][$clear]();
    this[_uriOrReasonPhrase][$clear]();
    if (dart.test(this[_connectionUpgrade])) {
      incoming.upgraded = true;
      this[_parserCalled] = false;
      this[_closeIncoming]();
      this[_controller$0].add(incoming);
      return true;
    }
    if (this[_transferLength$] === 0 || this[_messageType] === 0 && dart.test(this[_noMessageBody])) {
      this[_reset]();
      this[_closeIncoming]();
      this[_controller$0].add(incoming);
      return false;
    } else if (dart.test(this[_chunked])) {
      this[_state$1] = 19;
      this[_remainingContent] = 0;
    } else if (dart.notNull(this[_transferLength$]) > 0) {
      this[_remainingContent] = this[_transferLength$];
      this[_state$1] = 24;
    } else {
      this[_state$1] = 24;
    }
    this[_parserCalled] = false;
    this[_controller$0].add(incoming);
    return true;
  }
  [_doParse]() {
    if (!!dart.test(this[_parserCalled])) dart.assertFailed(null, I[182], 426, 12, "!_parserCalled");
    this[_parserCalled] = true;
    if (this[_state$1] === 25) {
      dart.throw(new _http.HttpException.new("Data on closed connection"));
    }
    if (this[_state$1] === 27) {
      dart.throw(new _http.HttpException.new("Data on failed connection"));
    }
    while (this[_buffer$1] != null && dart.notNull(this[_index$1]) < dart.notNull(dart.nullCheck(this[_buffer$1])[$length]) && this[_state$1] !== 27 && this[_state$1] !== 26) {
      if (this[_incoming$] != null && dart.test(this[_bodyPaused]) || this[_incoming$] == null && dart.test(this[_paused])) {
        this[_parserCalled] = false;
        return;
      }
      let index = this[_index$1];
      let byte = dart.nullCheck(this[_buffer$1])[$_get](index);
      this[_index$1] = dart.notNull(index) + 1;
      switch (this[_state$1]) {
        case 0:
        {
          if (byte == _http._Const.HTTP[$_get](0)) {
            this[_httpVersionIndex] = 1;
            this[_state$1] = 1;
          } else {
            if (!dart.test(_http._HttpParser._isTokenChar(byte))) {
              dart.throw(new _http.HttpException.new("Invalid request method"));
            }
            this[_addWithValidation](this[_method$], byte);
            if (!dart.test(this[_requestParser$])) {
              dart.throw(new _http.HttpException.new("Invalid response line"));
            }
            this[_state$1] = 3;
          }
          break;
        }
        case 1:
        {
          let httpVersionIndex = dart.nullCheck(this[_httpVersionIndex]);
          if (httpVersionIndex < dart.notNull(_http._Const.HTTP[$length]) && byte == _http._Const.HTTP[$_get](httpVersionIndex)) {
            this[_httpVersionIndex] = httpVersionIndex + 1;
          } else if (httpVersionIndex === _http._Const.HTTP[$length] && byte === 47) {
            this[_httpVersionIndex] = httpVersionIndex + 1;
            if (dart.test(this[_requestParser$])) {
              dart.throw(new _http.HttpException.new("Invalid request line"));
            }
            this[_state$1] = 2;
          } else {
            for (let i = 0; i < httpVersionIndex; i = i + 1) {
              this[_addWithValidation](this[_method$], _http._Const.HTTP[$_get](i));
            }
            if (byte === 32) {
              this[_state$1] = 4;
            } else {
              this[_addWithValidation](this[_method$], byte);
              this[_httpVersion] = 0;
              if (!dart.test(this[_requestParser$])) {
                dart.throw(new _http.HttpException.new("Invalid response line"));
              }
              this[_state$1] = 3;
            }
          }
          break;
        }
        case 2:
        {
          let httpVersionIndex = dart.nullCheck(this[_httpVersionIndex]);
          if (httpVersionIndex < dart.notNull(_http._Const.HTTP1DOT[$length])) {
            this[_expect](byte, _http._Const.HTTP1DOT[$_get](httpVersionIndex));
            this[_httpVersionIndex] = httpVersionIndex + 1;
          } else if (httpVersionIndex === _http._Const.HTTP1DOT[$length] && byte === 49) {
            this[_httpVersion] = 2;
            this[_persistentConnection] = true;
            this[_httpVersionIndex] = httpVersionIndex + 1;
          } else if (httpVersionIndex === _http._Const.HTTP1DOT[$length] && byte === 48) {
            this[_httpVersion] = 1;
            this[_persistentConnection] = false;
            this[_httpVersionIndex] = httpVersionIndex + 1;
          } else if (httpVersionIndex === dart.notNull(_http._Const.HTTP1DOT[$length]) + 1) {
            this[_expect](byte, 32);
            this[_state$1] = 7;
          } else {
            dart.throw(new _http.HttpException.new("Invalid response line, failed to parse HTTP version"));
          }
          break;
        }
        case 3:
        {
          if (byte === 32) {
            this[_state$1] = 4;
          } else {
            if (dart.test(_http._Const.SEPARATOR_MAP[$_get](byte)) || byte === 13 || byte === 10) {
              dart.throw(new _http.HttpException.new("Invalid request method"));
            }
            this[_addWithValidation](this[_method$], byte);
          }
          break;
        }
        case 4:
        {
          if (byte === 32) {
            if (this[_uriOrReasonPhrase][$length] === 0) {
              dart.throw(new _http.HttpException.new("Invalid request, empty URI"));
            }
            this[_state$1] = 5;
            this[_httpVersionIndex] = 0;
          } else {
            if (byte === 13 || byte === 10) {
              dart.throw(new _http.HttpException.new("Invalid request, unexpected " + dart.str(byte) + " in URI"));
            }
            this[_addWithValidation](this[_uriOrReasonPhrase], byte);
          }
          break;
        }
        case 5:
        {
          let httpVersionIndex = dart.nullCheck(this[_httpVersionIndex]);
          if (httpVersionIndex < dart.notNull(_http._Const.HTTP1DOT[$length])) {
            this[_expect](byte, _http._Const.HTTP11[$_get](httpVersionIndex));
            this[_httpVersionIndex] = httpVersionIndex + 1;
          } else if (this[_httpVersionIndex] == _http._Const.HTTP1DOT[$length]) {
            if (byte === 49) {
              this[_httpVersion] = 2;
              this[_persistentConnection] = true;
              this[_httpVersionIndex] = httpVersionIndex + 1;
            } else if (byte === 48) {
              this[_httpVersion] = 1;
              this[_persistentConnection] = false;
              this[_httpVersionIndex] = httpVersionIndex + 1;
            } else {
              dart.throw(new _http.HttpException.new("Invalid response, invalid HTTP version"));
            }
          } else {
            if (byte === 13) {
              this[_state$1] = 6;
            } else if (byte === 10) {
              this[_state$1] = 6;
              this[_index$1] = dart.notNull(this[_index$1]) - 1;
            }
          }
          break;
        }
        case 6:
        {
          this[_expect](byte, 10);
          this[_messageType] = 1;
          this[_state$1] = 10;
          break;
        }
        case 7:
        {
          if (byte === 32) {
            this[_state$1] = 8;
          } else if (byte === 13) {
            this[_state$1] = 9;
          } else if (byte === 10) {
            this[_state$1] = 9;
            this[_index$1] = dart.notNull(this[_index$1]) - 1;
          } else {
            this[_statusCodeLength] = dart.notNull(this[_statusCodeLength]) + 1;
            if (dart.notNull(byte) < 48 || dart.notNull(byte) > 57) {
              dart.throw(new _http.HttpException.new("Invalid response status code with " + dart.str(byte)));
            } else if (dart.notNull(this[_statusCodeLength]) > 3) {
              dart.throw(new _http.HttpException.new("Invalid response, status code is over 3 digits"));
            } else {
              this[_statusCode] = dart.notNull(this[_statusCode]) * 10 + dart.notNull(byte) - 48;
            }
          }
          break;
        }
        case 8:
        {
          if (byte === 13) {
            this[_state$1] = 9;
          } else if (byte === 10) {
            this[_state$1] = 9;
            this[_index$1] = dart.notNull(this[_index$1]) - 1;
          } else {
            this[_addWithValidation](this[_uriOrReasonPhrase], byte);
          }
          break;
        }
        case 9:
        {
          this[_expect](byte, 10);
          this[_messageType] === 0;
          if (dart.notNull(this[_statusCode]) <= 199 || this[_statusCode] === 204 || this[_statusCode] === 304) {
            this[_noMessageBody] = true;
          }
          this[_state$1] = 10;
          break;
        }
        case 10:
        {
          this[_headers] = new _http._HttpHeaders.new(dart.nullCheck(this.version));
          if (byte === 13) {
            this[_state$1] = 16;
          } else if (byte === 10) {
            this[_state$1] = 16;
            this[_index$1] = dart.notNull(this[_index$1]) - 1;
          } else {
            this[_addWithValidation](this[_headerField], _http._HttpParser._toLowerCaseByte(byte));
            this[_state$1] = 11;
          }
          break;
        }
        case 11:
        {
          if (byte === 58) {
            this[_state$1] = 12;
          } else {
            if (!dart.test(_http._HttpParser._isTokenChar(byte))) {
              dart.throw(new _http.HttpException.new("Invalid header field name, with " + dart.str(byte)));
            }
            this[_addWithValidation](this[_headerField], _http._HttpParser._toLowerCaseByte(byte));
          }
          break;
        }
        case 12:
        {
          if (byte === 13) {
            this[_state$1] = 14;
          } else if (byte === 10) {
            this[_state$1] = 15;
          } else if (byte !== 32 && byte !== 9) {
            this[_addWithValidation](this[_headerValue], byte);
            this[_state$1] = 13;
          }
          break;
        }
        case 13:
        {
          if (byte === 13) {
            this[_state$1] = 14;
          } else if (byte === 10) {
            this[_state$1] = 15;
          } else {
            this[_addWithValidation](this[_headerValue], byte);
          }
          break;
        }
        case 14:
        {
          this[_expect](byte, 10);
          this[_state$1] = 15;
          break;
        }
        case 15:
        {
          if (byte === 32 || byte === 9) {
            this[_state$1] = 12;
          } else {
            let headerField = core.String.fromCharCodes(this[_headerField]);
            let headerValue = core.String.fromCharCodes(this[_headerValue]);
            let errorIfBothText = "Both Content-Length and Transfer-Encoding are specified, at most one is allowed";
            if (headerField === "content-length") {
              if (dart.test(this[_contentLength])) {
                dart.throw(new _http.HttpException.new("The Content-Length header occurred " + "more than once, at most one is allowed."));
              } else if (dart.test(this[_transferEncoding])) {
                dart.throw(new _http.HttpException.new(errorIfBothText));
              }
              this[_contentLength] = true;
            } else if (headerField === "transfer-encoding") {
              this[_transferEncoding] = true;
              if (dart.test(_http._HttpParser._caseInsensitiveCompare("chunked"[$codeUnits], this[_headerValue]))) {
                this[_chunked] = true;
              }
              if (dart.test(this[_contentLength])) {
                dart.throw(new _http.HttpException.new(errorIfBothText));
              }
            }
            let headers = dart.nullCheck(this[_headers]);
            if (headerField === "connection") {
              let tokens = _http._HttpParser._tokenizeFieldValue(headerValue);
              let isResponse = this[_messageType] === 0;
              let isUpgradeCode = this[_statusCode] === 426 || this[_statusCode] === 101;
              for (let i = 0; i < dart.notNull(tokens[$length]); i = i + 1) {
                let isUpgrade = _http._HttpParser._caseInsensitiveCompare("upgrade"[$codeUnits], tokens[$_get](i)[$codeUnits]);
                if (dart.test(isUpgrade) && !isResponse || dart.test(isUpgrade) && isResponse && isUpgradeCode) {
                  this[_connectionUpgrade] = true;
                }
                headers[_add$1](headerField, tokens[$_get](i));
              }
            } else {
              headers[_add$1](headerField, headerValue);
            }
            this[_headerField][$clear]();
            this[_headerValue][$clear]();
            if (byte === 13) {
              this[_state$1] = 16;
            } else if (byte === 10) {
              this[_state$1] = 16;
              this[_index$1] = dart.notNull(this[_index$1]) - 1;
            } else {
              this[_state$1] = 11;
              this[_addWithValidation](this[_headerField], _http._HttpParser._toLowerCaseByte(byte));
            }
          }
          break;
        }
        case 16:
        {
          this[_expect](byte, 10);
          if (dart.test(this[_headersEnd]())) {
            return;
          }
          break;
        }
        case 17:
        {
          if (byte === 10) {
            this[_state$1] = 18;
            this[_index$1] = dart.notNull(this[_index$1]) - 1;
            break;
          }
          this[_expect](byte, 13);
          this[_state$1] = 18;
          break;
        }
        case 18:
        {
          this[_expect](byte, 10);
          this[_state$1] = 19;
          break;
        }
        case 19:
        {
          if (byte === 13) {
            this[_state$1] = 21;
          } else if (byte === 10) {
            this[_state$1] = 21;
            this[_index$1] = dart.notNull(this[_index$1]) - 1;
          } else if (byte === 59) {
            this[_state$1] = 20;
          } else {
            let value = this[_expectHexDigit](byte);
            if (dart.notNull(this[_remainingContent]) > this[_chunkSizeLimit][$rightShift](4)) {
              dart.throw(new _http.HttpException.new("Chunk size overflows the integer"));
            }
            this[_remainingContent] = dart.notNull(this[_remainingContent]) * 16 + dart.notNull(value);
          }
          break;
        }
        case 20:
        {
          if (byte === 13) {
            this[_state$1] = 21;
          } else if (byte === 10) {
            this[_state$1] = 21;
            this[_index$1] = dart.notNull(this[_index$1]) - 1;
          }
          break;
        }
        case 21:
        {
          this[_expect](byte, 10);
          if (dart.notNull(this[_remainingContent]) > 0) {
            this[_state$1] = 24;
          } else {
            this[_state$1] = 22;
          }
          break;
        }
        case 22:
        {
          if (byte === 10) {
            this[_state$1] = 23;
            this[_index$1] = dart.notNull(this[_index$1]) - 1;
            break;
          }
          this[_expect](byte, 13);
          break;
        }
        case 23:
        {
          this[_expect](byte, 10);
          this[_reset]();
          this[_closeIncoming]();
          break;
        }
        case 24:
        {
          this[_index$1] = dart.notNull(this[_index$1]) - 1;
          let buffer = dart.nullCheck(this[_buffer$1]);
          let dataAvailable = dart.notNull(buffer[$length]) - dart.notNull(this[_index$1]);
          if (dart.notNull(this[_remainingContent]) >= 0 && dart.notNull(dataAvailable) > dart.notNull(this[_remainingContent])) {
            dataAvailable = this[_remainingContent];
          }
          let data = typed_data.Uint8List.view(buffer[$buffer], dart.notNull(buffer[$offsetInBytes]) + dart.notNull(this[_index$1]), dataAvailable);
          dart.nullCheck(this[_bodyController]).add(data);
          if (this[_remainingContent] !== -1) {
            this[_remainingContent] = dart.notNull(this[_remainingContent]) - dart.notNull(data[$length]);
          }
          this[_index$1] = dart.notNull(this[_index$1]) + dart.notNull(data[$length]);
          if (this[_remainingContent] === 0) {
            if (!dart.test(this[_chunked])) {
              this[_reset]();
              this[_closeIncoming]();
            } else {
              this[_state$1] = 17;
            }
          }
          break;
        }
        case 27:
        {
          if (!false) dart.assertFailed(null, I[182], 851, 18, "false");
          break;
        }
        default:
        {
          if (!false) dart.assertFailed(null, I[182], 856, 18, "false");
          break;
        }
      }
    }
    this[_parserCalled] = false;
    let buffer = this[_buffer$1];
    if (buffer != null && this[_index$1] == buffer[$length]) {
      this[_releaseBuffer]();
      if (this[_state$1] !== 26 && this[_state$1] !== 27) {
        dart.nullCheck(this[_socketSubscription$]).resume();
      }
    }
  }
  [_onData$1](buffer) {
    if (buffer == null) dart.nullFailed(I[182], 873, 26, "buffer");
    dart.nullCheck(this[_socketSubscription$]).pause();
    if (!(this[_buffer$1] == null)) dart.assertFailed(null, I[182], 875, 12, "_buffer == null");
    this[_buffer$1] = buffer;
    this[_index$1] = 0;
    this[_parse]();
  }
  [_onDone]() {
    this[_socketSubscription$] = null;
    if (this[_state$1] === 25 || this[_state$1] === 27) return;
    if (this[_incoming$] != null) {
      if (this[_state$1] !== 26 && !(this[_state$1] === 0 && !dart.test(this[_requestParser$])) && !(this[_state$1] === 24 && !dart.test(this[_chunked]) && this[_transferLength$] === -1)) {
        this[_reportBodyError](new _http.HttpException.new("Connection closed while receiving data"));
      }
      this[_closeIncoming](true);
      this[_controller$0].close();
      return;
    }
    if (this[_state$1] === 0) {
      if (!dart.test(this[_requestParser$])) {
        this[_reportHttpError](new _http.HttpException.new("Connection closed before full header was received"));
      }
      this[_controller$0].close();
      return;
    }
    if (this[_state$1] === 26) {
      this[_controller$0].close();
      return;
    }
    if (dart.notNull(this[_state$1]) < 17) {
      this[_state$1] = 27;
      this[_reportHttpError](new _http.HttpException.new("Connection closed before full header was received"));
      this[_controller$0].close();
      return;
    }
    if (!dart.test(this[_chunked]) && this[_transferLength$] === -1) {
      this[_state$1] = 25;
    } else {
      this[_state$1] = 27;
      this[_reportHttpError](new _http.HttpException.new("Connection closed before full body was received"));
    }
    this[_controller$0].close();
  }
  get version() {
    switch (this[_httpVersion]) {
      case 1:
      {
        return "1.0";
      }
      case 2:
      {
        return "1.1";
      }
    }
    return null;
  }
  get messageType() {
    return this[_messageType];
  }
  get transferLength() {
    return this[_transferLength$];
  }
  get upgrade() {
    return dart.test(this[_connectionUpgrade]) && this[_state$1] === 26;
  }
  get persistentConnection() {
    return this[_persistentConnection];
  }
  set isHead(value) {
    if (value == null) dart.nullFailed(I[182], 949, 24, "value");
    this[_noMessageBody] = _internal.valueOfNonNullableParamWithDefault(core.bool, value, false);
  }
  detachIncoming() {
    this[_state$1] = 26;
    return new _http._HttpDetachedIncoming.new(this[_socketSubscription$], this.readUnparsedData());
  }
  readUnparsedData() {
    let buffer = this[_buffer$1];
    if (buffer == null) return null;
    let index = this[_index$1];
    if (index == buffer[$length]) return null;
    let result = buffer[$sublist](index);
    this[_releaseBuffer]();
    return result;
  }
  [_reset]() {
    if (this[_state$1] === 26) return;
    this[_state$1] = 0;
    this[_messageType] = 0;
    this[_headerField][$clear]();
    this[_headerValue][$clear]();
    this[_headersReceivedSize] = 0;
    this[_method$][$clear]();
    this[_uriOrReasonPhrase][$clear]();
    this[_statusCode] = 0;
    this[_statusCodeLength] = 0;
    this[_httpVersion] = 0;
    this[_transferLength$] = -1;
    this[_persistentConnection] = false;
    this[_connectionUpgrade] = false;
    this[_chunked] = false;
    this[_noMessageBody] = false;
    this[_remainingContent] = -1;
    this[_contentLength] = false;
    this[_transferEncoding] = false;
    this[_headers] = null;
  }
  [_releaseBuffer]() {
    this[_buffer$1] = null;
    this[_index$1] = -1;
  }
  static _isTokenChar(byte) {
    if (byte == null) dart.nullFailed(I[182], 1002, 32, "byte");
    return dart.notNull(byte) > 31 && dart.notNull(byte) < 128 && !dart.test(_http._Const.SEPARATOR_MAP[$_get](byte));
  }
  static _isValueChar(byte) {
    if (byte == null) dart.nullFailed(I[182], 1006, 32, "byte");
    return dart.notNull(byte) > 31 && dart.notNull(byte) < 128 || byte === 9;
  }
  static _tokenizeFieldValue(headerValue) {
    if (headerValue == null) dart.nullFailed(I[182], 1010, 50, "headerValue");
    let tokens = T$.JSArrayOfString().of([]);
    let start = 0;
    let index = 0;
    while (index < headerValue.length) {
      if (headerValue[$_get](index) === ",") {
        tokens[$add](headerValue[$substring](start, index));
        start = index + 1;
      } else if (headerValue[$_get](index) === " " || headerValue[$_get](index) === "\t") {
        start = start + 1;
      }
      index = index + 1;
    }
    tokens[$add](headerValue[$substring](start, index));
    return tokens;
  }
  static _toLowerCaseByte(x) {
    if (x == null) dart.nullFailed(I[182], 1027, 35, "x");
    return (dart.notNull(x) - 65 & 127) < 26 ? (dart.notNull(x) | 32) >>> 0 : x;
  }
  static _caseInsensitiveCompare(expected, value) {
    if (expected == null) dart.nullFailed(I[182], 1037, 49, "expected");
    if (value == null) dart.nullFailed(I[182], 1037, 69, "value");
    if (expected[$length] != value[$length]) return false;
    for (let i = 0; i < dart.notNull(expected[$length]); i = i + 1) {
      if (expected[$_get](i) != _http._HttpParser._toLowerCaseByte(value[$_get](i))) return false;
    }
    return true;
  }
  [_expect](val1, val2) {
    if (val1 == null) dart.nullFailed(I[182], 1045, 20, "val1");
    if (val2 == null) dart.nullFailed(I[182], 1045, 30, "val2");
    if (val1 != val2) {
      dart.throw(new _http.HttpException.new("Failed to parse HTTP, " + dart.str(val1) + " does not match " + dart.str(val2)));
    }
  }
  [_expectHexDigit](byte) {
    if (byte == null) dart.nullFailed(I[182], 1051, 27, "byte");
    if (48 <= dart.notNull(byte) && dart.notNull(byte) <= 57) {
      return dart.notNull(byte) - 48;
    } else if (65 <= dart.notNull(byte) && dart.notNull(byte) <= 70) {
      return dart.notNull(byte) - 65 + 10;
    } else if (97 <= dart.notNull(byte) && dart.notNull(byte) <= 102) {
      return dart.notNull(byte) - 97 + 10;
    } else {
      dart.throw(new _http.HttpException.new("Failed to parse HTTP, " + dart.str(byte) + " is expected to be a Hex digit"));
    }
  }
  [_addWithValidation](list, byte) {
    if (list == null) dart.nullFailed(I[182], 1064, 37, "list");
    if (byte == null) dart.nullFailed(I[182], 1064, 47, "byte");
    this[_headersReceivedSize] = dart.notNull(this[_headersReceivedSize]) + 1;
    if (dart.notNull(this[_headersReceivedSize]) < 1048576) {
      list[$add](byte);
    } else {
      this[_reportSizeLimitError]();
    }
  }
  [_reportSizeLimitError]() {
    let method = "";
    switch (this[_state$1]) {
      case 0:
      case 1:
      case 3:
      {
        method = "Method";
        break;
      }
      case 4:
      {
        method = "URI";
        break;
      }
      case 8:
      {
        method = "Reason phrase";
        break;
      }
      case 10:
      case 11:
      {
        method = "Header field";
        break;
      }
      case 12:
      case 13:
      {
        method = "Header value";
        break;
      }
      default:
      {
        dart.throw(new core.UnsupportedError.new("Unexpected state: " + dart.str(this[_state$1])));
        break;
      }
    }
    dart.throw(new _http.HttpException.new(method + " exceeds the " + dart.str(1048576) + " size limit"));
  }
  [_createIncoming](transferLength) {
    let t304;
    if (transferLength == null) dart.nullFailed(I[182], 1108, 37, "transferLength");
    if (!(this[_incoming$] == null)) dart.assertFailed(null, I[182], 1109, 12, "_incoming == null");
    if (!(this[_bodyController] == null)) dart.assertFailed(null, I[182], 1110, 12, "_bodyController == null");
    if (!!dart.test(this[_bodyPaused])) dart.assertFailed(null, I[182], 1111, 12, "!_bodyPaused");
    let controller = this[_bodyController] = T$0.StreamControllerOfUint8List().new({sync: true});
    let incoming = this[_incoming$] = new _http._HttpIncoming.new(dart.nullCheck(this[_headers]), transferLength, controller.stream);
    t304 = controller;
    (() => {
      t304.onListen = dart.fn(() => {
        if (!incoming[$_equals](this[_incoming$])) return;
        if (!dart.test(this[_bodyPaused])) dart.assertFailed(null, I[182], 1119, 16, "_bodyPaused");
        this[_bodyPaused] = false;
        this[_pauseStateChanged]();
      }, T$.VoidTovoid());
      t304.onPause = dart.fn(() => {
        if (!incoming[$_equals](this[_incoming$])) return;
        if (!!dart.test(this[_bodyPaused])) dart.assertFailed(null, I[182], 1125, 16, "!_bodyPaused");
        this[_bodyPaused] = true;
        this[_pauseStateChanged]();
      }, T$.VoidTovoid());
      t304.onResume = dart.fn(() => {
        if (!incoming[$_equals](this[_incoming$])) return;
        if (!dart.test(this[_bodyPaused])) dart.assertFailed(null, I[182], 1131, 16, "_bodyPaused");
        this[_bodyPaused] = false;
        this[_pauseStateChanged]();
      }, T$.VoidTovoid());
      t304.onCancel = dart.fn(() => {
        let t305;
        if (!incoming[$_equals](this[_incoming$])) return;
        t305 = this[_socketSubscription$];
        t305 == null ? null : t305.cancel();
        this[_closeIncoming](true);
        this[_controller$0].close();
      }, T$.VoidToNull());
      return t304;
    })();
    this[_bodyPaused] = true;
    this[_pauseStateChanged]();
    return incoming;
  }
  [_closeIncoming](closing = false) {
    if (closing == null) dart.nullFailed(I[182], 1146, 29, "closing");
    let tmp = this[_incoming$];
    if (tmp == null) return;
    tmp.close(closing);
    this[_incoming$] = null;
    let controller = this[_bodyController];
    if (controller != null) {
      controller.close();
      this[_bodyController] = null;
    }
    this[_bodyPaused] = false;
    this[_pauseStateChanged]();
  }
  [_pauseStateChanged]() {
    if (this[_incoming$] != null) {
      if (!dart.test(this[_bodyPaused]) && !dart.test(this[_parserCalled])) {
        this[_parse]();
      }
    } else {
      if (!dart.test(this[_paused]) && !dart.test(this[_parserCalled])) {
        this[_parse]();
      }
    }
  }
  [_reportHttpError](error, stackTrace = null) {
    let t304;
    t304 = this[_socketSubscription$];
    t304 == null ? null : t304.cancel();
    this[_state$1] = 27;
    this[_controller$0].addError(core.Object.as(error), T$.StackTraceN().as(stackTrace));
    this[_controller$0].close();
  }
  [_reportBodyError](error, stackTrace = null) {
    let t304, t304$, t304$0;
    t304 = this[_socketSubscription$];
    t304 == null ? null : t304.cancel();
    this[_state$1] = 27;
    t304$ = this[_bodyController];
    t304$ == null ? null : t304$.addError(core.Object.as(error), T$.StackTraceN().as(stackTrace));
    t304$0 = this[_bodyController];
    t304$0 == null ? null : t304$0.close();
  }
};
(_http._HttpParser.__ = function(_requestParser) {
  let t303;
  if (_requestParser == null) dart.nullFailed(I[182], 286, 22, "_requestParser");
  this[_parserCalled] = false;
  this[_buffer$1] = null;
  this[_index$1] = -1;
  this[_state$1] = 0;
  this[_httpVersionIndex] = null;
  this[_messageType] = 0;
  this[_statusCode] = 0;
  this[_statusCodeLength] = 0;
  this[_method$] = T$.JSArrayOfint().of([]);
  this[_uriOrReasonPhrase] = T$.JSArrayOfint().of([]);
  this[_headerField] = T$.JSArrayOfint().of([]);
  this[_headerValue] = T$.JSArrayOfint().of([]);
  this[_headersReceivedSize] = 0;
  this[_httpVersion] = 0;
  this[_transferLength$] = -1;
  this[_persistentConnection] = false;
  this[_connectionUpgrade] = false;
  this[_chunked] = false;
  this[_noMessageBody] = false;
  this[_remainingContent] = -1;
  this[_contentLength] = false;
  this[_transferEncoding] = false;
  this.connectMethod = false;
  this[_headers] = null;
  this[_chunkSizeLimit] = 2147483647;
  this[_incoming$] = null;
  this[_socketSubscription$] = null;
  this[_paused] = true;
  this[_bodyPaused] = false;
  this[_bodyController] = null;
  this[_requestParser$] = _requestParser;
  this[_controller$0] = T.StreamControllerOf_HttpIncoming().new({sync: true});
  _http._HttpParser.__proto__.new.call(this);
  t303 = this[_controller$0];
  (() => {
    t303.onListen = dart.fn(() => {
      this[_paused] = false;
    }, T$.VoidTovoid());
    t303.onPause = dart.fn(() => {
      this[_paused] = true;
      this[_pauseStateChanged]();
    }, T$.VoidTovoid());
    t303.onResume = dart.fn(() => {
      this[_paused] = false;
      this[_pauseStateChanged]();
    }, T$.VoidTovoid());
    t303.onCancel = dart.fn(() => {
      let t304;
      t304 = this[_socketSubscription$];
      t304 == null ? null : t304.cancel();
    }, T$.VoidToNull());
    return t303;
  })();
  this[_reset]();
}).prototype = _http._HttpParser.prototype;
dart.addTypeTests(_http._HttpParser);
dart.addTypeCaches(_http._HttpParser);
dart.setMethodSignature(_http._HttpParser, () => ({
  __proto__: dart.getMethods(_http._HttpParser.__proto__),
  listen: dart.fnType(async.StreamSubscription$(_http._HttpIncoming), [dart.nullable(dart.fnType(dart.void, [_http._HttpIncoming]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  listenToStream: dart.fnType(dart.void, [async.Stream$(typed_data.Uint8List)]),
  [_parse]: dart.fnType(dart.void, []),
  [_headersEnd]: dart.fnType(core.bool, []),
  [_doParse]: dart.fnType(dart.void, []),
  [_onData$1]: dart.fnType(dart.void, [typed_data.Uint8List]),
  [_onDone]: dart.fnType(dart.void, []),
  detachIncoming: dart.fnType(_http._HttpDetachedIncoming, []),
  readUnparsedData: dart.fnType(dart.nullable(typed_data.Uint8List), []),
  [_reset]: dart.fnType(dart.void, []),
  [_releaseBuffer]: dart.fnType(dart.void, []),
  [_expect]: dart.fnType(dart.void, [core.int, core.int]),
  [_expectHexDigit]: dart.fnType(core.int, [core.int]),
  [_addWithValidation]: dart.fnType(dart.void, [core.List$(core.int), core.int]),
  [_reportSizeLimitError]: dart.fnType(dart.void, []),
  [_createIncoming]: dart.fnType(_http._HttpIncoming, [core.int]),
  [_closeIncoming]: dart.fnType(dart.void, [], [core.bool]),
  [_pauseStateChanged]: dart.fnType(dart.void, []),
  [_reportHttpError]: dart.fnType(dart.void, [dart.dynamic], [dart.dynamic]),
  [_reportBodyError]: dart.fnType(dart.void, [dart.dynamic], [dart.dynamic])
}));
dart.setGetterSignature(_http._HttpParser, () => ({
  __proto__: dart.getGetters(_http._HttpParser.__proto__),
  version: dart.nullable(core.String),
  messageType: core.int,
  transferLength: core.int,
  upgrade: core.bool,
  persistentConnection: core.bool
}));
dart.setSetterSignature(_http._HttpParser, () => ({
  __proto__: dart.getSetters(_http._HttpParser.__proto__),
  isHead: core.bool
}));
dart.setLibraryUri(_http._HttpParser, I[177]);
dart.setFieldSignature(_http._HttpParser, () => ({
  __proto__: dart.getFields(_http._HttpParser.__proto__),
  [_parserCalled]: dart.fieldType(core.bool),
  [_buffer$1]: dart.fieldType(dart.nullable(typed_data.Uint8List)),
  [_index$1]: dart.fieldType(core.int),
  [_requestParser$]: dart.finalFieldType(core.bool),
  [_state$1]: dart.fieldType(core.int),
  [_httpVersionIndex]: dart.fieldType(dart.nullable(core.int)),
  [_messageType]: dart.fieldType(core.int),
  [_statusCode]: dart.fieldType(core.int),
  [_statusCodeLength]: dart.fieldType(core.int),
  [_method$]: dart.finalFieldType(core.List$(core.int)),
  [_uriOrReasonPhrase]: dart.finalFieldType(core.List$(core.int)),
  [_headerField]: dart.finalFieldType(core.List$(core.int)),
  [_headerValue]: dart.finalFieldType(core.List$(core.int)),
  [_headersReceivedSize]: dart.fieldType(core.int),
  [_httpVersion]: dart.fieldType(core.int),
  [_transferLength$]: dart.fieldType(core.int),
  [_persistentConnection]: dart.fieldType(core.bool),
  [_connectionUpgrade]: dart.fieldType(core.bool),
  [_chunked]: dart.fieldType(core.bool),
  [_noMessageBody]: dart.fieldType(core.bool),
  [_remainingContent]: dart.fieldType(core.int),
  [_contentLength]: dart.fieldType(core.bool),
  [_transferEncoding]: dart.fieldType(core.bool),
  connectMethod: dart.fieldType(core.bool),
  [_headers]: dart.fieldType(dart.nullable(_http._HttpHeaders)),
  [_chunkSizeLimit]: dart.fieldType(core.int),
  [_incoming$]: dart.fieldType(dart.nullable(_http._HttpIncoming)),
  [_socketSubscription$]: dart.fieldType(dart.nullable(async.StreamSubscription$(typed_data.Uint8List))),
  [_paused]: dart.fieldType(core.bool),
  [_bodyPaused]: dart.fieldType(core.bool),
  [_controller$0]: dart.finalFieldType(async.StreamController$(_http._HttpIncoming)),
  [_bodyController]: dart.fieldType(dart.nullable(async.StreamController$(typed_data.Uint8List)))
}));
dart.defineLazy(_http._HttpParser, {
  /*_http._HttpParser._headerTotalSizeLimit*/get _headerTotalSizeLimit() {
    return 1048576;
  }
}, false);
var _timeoutCallback = dart.privateName(_http, "_timeoutCallback");
var _prev = dart.privateName(_http, "_prev");
var _next$4 = dart.privateName(_http, "_next");
var _data$1 = dart.privateName(_http, "_data");
var _lastSeen = dart.privateName(_http, "_lastSeen");
var _removeFromTimeoutQueue = dart.privateName(_http, "_removeFromTimeoutQueue");
var _sessions = dart.privateName(_http, "_sessions");
var _bumpToEnd = dart.privateName(_http, "_bumpToEnd");
_http._HttpSession = class _HttpSession extends core.Object {
  destroy() {
    if (!!dart.test(this[_destroyed])) dart.assertFailed(null, I[183], 28, 12, "!_destroyed");
    this[_destroyed] = true;
    this[_sessionManager$][_removeFromTimeoutQueue](this);
    this[_sessionManager$][_sessions][$remove](this.id);
  }
  [_markSeen]() {
    this[_lastSeen] = new core.DateTime.now();
    this[_sessionManager$][_bumpToEnd](this);
  }
  get lastSeen() {
    return this[_lastSeen];
  }
  get isNew() {
    return this[_isNew];
  }
  set onTimeout(callback) {
    this[_timeoutCallback] = callback;
  }
  containsValue(value) {
    return this[_data$1][$containsValue](value);
  }
  containsKey(key) {
    return this[_data$1][$containsKey](key);
  }
  _get(key) {
    return this[_data$1][$_get](key);
  }
  _set(key, value$) {
    let value = value$;
    this[_data$1][$_set](key, value);
    return value$;
  }
  putIfAbsent(key, ifAbsent) {
    T$.VoidTodynamic().as(ifAbsent);
    if (ifAbsent == null) dart.nullFailed(I[183], 57, 20, "ifAbsent");
    return this[_data$1][$putIfAbsent](key, ifAbsent);
  }
  addAll(other) {
    core.Map.as(other);
    if (other == null) dart.nullFailed(I[183], 58, 14, "other");
    return this[_data$1][$addAll](other);
  }
  remove(key) {
    return this[_data$1][$remove](key);
  }
  clear() {
    this[_data$1][$clear]();
  }
  forEach(f) {
    if (f == null) dart.nullFailed(I[183], 64, 21, "f");
    this[_data$1][$forEach](f);
  }
  get entries() {
    return this[_data$1][$entries];
  }
  addEntries(entries) {
    T.IterableOfMapEntry().as(entries);
    if (entries == null) dart.nullFailed(I[183], 70, 38, "entries");
    this[_data$1][$addEntries](entries);
  }
  map(K, V, transform) {
    if (transform == null) dart.nullFailed(I[183], 74, 38, "transform");
    return this[_data$1][$map](K, V, transform);
  }
  removeWhere(test) {
    if (test == null) dart.nullFailed(I[183], 77, 25, "test");
    this[_data$1][$removeWhere](test);
  }
  cast(K, V) {
    return this[_data$1][$cast](K, V);
  }
  update(key, update, opts) {
    T$.dynamicTodynamic().as(update);
    if (update == null) dart.nullFailed(I[183], 82, 15, "update");
    let ifAbsent = opts && 'ifAbsent' in opts ? opts.ifAbsent : null;
    T.VoidToNdynamic().as(ifAbsent);
    return this[_data$1][$update](key, update, {ifAbsent: ifAbsent});
  }
  updateAll(update) {
    T$0.dynamicAnddynamicTodynamic().as(update);
    if (update == null) dart.nullFailed(I[183], 85, 18, "update");
    this[_data$1][$updateAll](update);
  }
  get keys() {
    return this[_data$1][$keys];
  }
  get values() {
    return this[_data$1][$values];
  }
  get length() {
    return this[_data$1][$length];
  }
  get isEmpty() {
    return this[_data$1][$isEmpty];
  }
  get isNotEmpty() {
    return this[_data$1][$isNotEmpty];
  }
  toString() {
    return "HttpSession id:" + dart.str(this.id) + " " + dart.str(this[_data$1]);
  }
};
(_http._HttpSession.new = function(_sessionManager, id) {
  if (_sessionManager == null) dart.nullFailed(I[183], 25, 21, "_sessionManager");
  if (id == null) dart.nullFailed(I[183], 25, 43, "id");
  this[_destroyed] = false;
  this[_isNew] = true;
  this[_timeoutCallback] = null;
  this[_prev] = null;
  this[_next$4] = null;
  this[_data$1] = new _js_helper.LinkedMap.new();
  this[_sessionManager$] = _sessionManager;
  this.id = id;
  this[_lastSeen] = new core.DateTime.now();
  ;
}).prototype = _http._HttpSession.prototype;
dart.addTypeTests(_http._HttpSession);
dart.addTypeCaches(_http._HttpSession);
_http._HttpSession[dart.implements] = () => [_http.HttpSession];
dart.setMethodSignature(_http._HttpSession, () => ({
  __proto__: dart.getMethods(_http._HttpSession.__proto__),
  destroy: dart.fnType(dart.void, []),
  [_markSeen]: dart.fnType(dart.void, []),
  containsValue: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  [$containsValue]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  containsKey: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  [$containsKey]: dart.fnType(core.bool, [dart.nullable(core.Object)]),
  _get: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  [$_get]: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  _set: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$_set]: dart.fnType(dart.void, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  putIfAbsent: dart.fnType(dart.dynamic, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$putIfAbsent]: dart.fnType(dart.dynamic, [dart.nullable(core.Object), dart.nullable(core.Object)]),
  addAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  [$addAll]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  remove: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  [$remove]: dart.fnType(dart.dynamic, [dart.nullable(core.Object)]),
  clear: dart.fnType(dart.void, []),
  [$clear]: dart.fnType(dart.void, []),
  forEach: dart.fnType(dart.void, [dart.fnType(dart.void, [dart.dynamic, dart.dynamic])]),
  [$forEach]: dart.fnType(dart.void, [dart.fnType(dart.void, [dart.dynamic, dart.dynamic])]),
  addEntries: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  [$addEntries]: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  map: dart.gFnType((K, V) => [core.Map$(K, V), [dart.fnType(core.MapEntry$(K, V), [dart.dynamic, dart.dynamic])]], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$map]: dart.gFnType((K, V) => [core.Map$(K, V), [dart.fnType(core.MapEntry$(K, V), [dart.dynamic, dart.dynamic])]], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  removeWhere: dart.fnType(dart.void, [dart.fnType(core.bool, [dart.dynamic, dart.dynamic])]),
  [$removeWhere]: dart.fnType(dart.void, [dart.fnType(core.bool, [dart.dynamic, dart.dynamic])]),
  cast: dart.gFnType((K, V) => [core.Map$(K, V), []], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  [$cast]: dart.gFnType((K, V) => [core.Map$(K, V), []], (K, V) => [dart.nullable(core.Object), dart.nullable(core.Object)]),
  update: dart.fnType(dart.dynamic, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
  [$update]: dart.fnType(dart.dynamic, [dart.nullable(core.Object), dart.nullable(core.Object)], {ifAbsent: dart.nullable(core.Object)}, {}),
  updateAll: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  [$updateAll]: dart.fnType(dart.void, [dart.nullable(core.Object)])
}));
dart.setGetterSignature(_http._HttpSession, () => ({
  __proto__: dart.getGetters(_http._HttpSession.__proto__),
  lastSeen: core.DateTime,
  isNew: core.bool,
  entries: core.Iterable$(core.MapEntry),
  [$entries]: core.Iterable$(core.MapEntry),
  keys: core.Iterable,
  [$keys]: core.Iterable,
  values: core.Iterable,
  [$values]: core.Iterable,
  length: core.int,
  [$length]: core.int,
  isEmpty: core.bool,
  [$isEmpty]: core.bool,
  isNotEmpty: core.bool,
  [$isNotEmpty]: core.bool
}));
dart.setSetterSignature(_http._HttpSession, () => ({
  __proto__: dart.getSetters(_http._HttpSession.__proto__),
  onTimeout: dart.nullable(dart.fnType(dart.void, []))
}));
dart.setLibraryUri(_http._HttpSession, I[177]);
dart.setFieldSignature(_http._HttpSession, () => ({
  __proto__: dart.getFields(_http._HttpSession.__proto__),
  [_destroyed]: dart.fieldType(core.bool),
  [_isNew]: dart.fieldType(core.bool),
  [_lastSeen]: dart.fieldType(core.DateTime),
  [_timeoutCallback]: dart.fieldType(dart.nullable(core.Function)),
  [_sessionManager$]: dart.fieldType(_http._HttpSessionManager),
  [_prev]: dart.fieldType(dart.nullable(_http._HttpSession)),
  [_next$4]: dart.fieldType(dart.nullable(_http._HttpSession)),
  id: dart.finalFieldType(core.String),
  [_data$1]: dart.finalFieldType(core.Map)
}));
dart.defineExtensionMethods(_http._HttpSession, [
  'containsValue',
  'containsKey',
  '_get',
  '_set',
  'putIfAbsent',
  'addAll',
  'remove',
  'clear',
  'forEach',
  'addEntries',
  'map',
  'removeWhere',
  'cast',
  'update',
  'updateAll',
  'toString'
]);
dart.defineExtensionAccessors(_http._HttpSession, [
  'entries',
  'keys',
  'values',
  'length',
  'isEmpty',
  'isNotEmpty'
]);
var _sessionTimeout = dart.privateName(_http, "_sessionTimeout");
var _head$ = dart.privateName(_http, "_head");
var _tail$ = dart.privateName(_http, "_tail");
var _timer = dart.privateName(_http, "_timer");
var _addToTimeoutQueue = dart.privateName(_http, "_addToTimeoutQueue");
var _stopTimer = dart.privateName(_http, "_stopTimer");
var _startTimer = dart.privateName(_http, "_startTimer");
var _timerTimeout = dart.privateName(_http, "_timerTimeout");
_http._HttpSessionManager = class _HttpSessionManager extends core.Object {
  createSessionId() {
    let data = _http._CryptoUtils.getRandomBytes(16);
    return _http._CryptoUtils.bytesToHex(data);
  }
  getSession(id) {
    if (id == null) dart.nullFailed(I[183], 118, 35, "id");
    return this[_sessions][$_get](id);
  }
  createSession() {
    let t306, t305, t304;
    let id = this.createSessionId();
    while (dart.test(this[_sessions][$containsKey](id))) {
      id = this.createSessionId();
    }
    let session = (t304 = this[_sessions], t305 = id, t306 = new _http._HttpSession.new(this, id), t304[$_set](t305, t306), t306);
    this[_addToTimeoutQueue](session);
    return session;
  }
  set sessionTimeout(timeout) {
    if (timeout == null) dart.nullFailed(I[183], 132, 31, "timeout");
    this[_sessionTimeout] = timeout;
    this[_stopTimer]();
    this[_startTimer]();
  }
  close() {
    this[_stopTimer]();
  }
  [_bumpToEnd](session) {
    if (session == null) dart.nullFailed(I[183], 142, 32, "session");
    this[_removeFromTimeoutQueue](session);
    this[_addToTimeoutQueue](session);
  }
  [_addToTimeoutQueue](session) {
    if (session == null) dart.nullFailed(I[183], 147, 40, "session");
    if (this[_head$] == null) {
      if (!(this[_tail$] == null)) dart.assertFailed(null, I[183], 149, 14, "_tail == null");
      this[_tail$] = this[_head$] = session;
      this[_startTimer]();
    } else {
      if (!(this[_timer] != null)) dart.assertFailed(null, I[183], 153, 14, "_timer != null");
      let tail = dart.nullCheck(this[_tail$]);
      tail[_next$4] = session;
      session[_prev] = tail;
      this[_tail$] = session;
    }
  }
  [_removeFromTimeoutQueue](session) {
    let t304, t304$;
    if (session == null) dart.nullFailed(I[183], 162, 45, "session");
    let next = session[_next$4];
    let prev = session[_prev];
    session[_next$4] = session[_prev] = null;
    t304 = next;
    t304 == null ? null : t304[_prev] = prev;
    t304$ = prev;
    t304$ == null ? null : t304$[_next$4] = next;
    if (dart.equals(this[_tail$], session)) {
      this[_tail$] = prev;
    }
    if (dart.equals(this[_head$], session)) {
      this[_head$] = next;
      this[_stopTimer]();
      this[_startTimer]();
    }
  }
  [_timerTimeout]() {
    let t304;
    this[_stopTimer]();
    let session = dart.nullCheck(this[_head$]);
    session.destroy();
    t304 = session[_timeoutCallback];
    t304 == null ? null : dart.dcall(t304, []);
  }
  [_startTimer]() {
    if (!(this[_timer] == null)) dart.assertFailed(null, I[183], 187, 12, "_timer == null");
    let head = this[_head$];
    if (head != null) {
      let seconds = new core.DateTime.now().difference(head.lastSeen).inSeconds;
      this[_timer] = async.Timer.new(new core.Duration.new({seconds: dart.notNull(this[_sessionTimeout]) - dart.notNull(seconds)}), dart.bind(this, _timerTimeout));
    }
  }
  [_stopTimer]() {
    let timer = this[_timer];
    if (timer != null) {
      timer.cancel();
      this[_timer] = null;
    }
  }
};
(_http._HttpSessionManager.new = function() {
  this[_sessionTimeout] = 20 * 60;
  this[_head$] = null;
  this[_tail$] = null;
  this[_timer] = null;
  this[_sessions] = new (T.IdentityMapOfString$_HttpSession()).new();
  ;
}).prototype = _http._HttpSessionManager.prototype;
dart.addTypeTests(_http._HttpSessionManager);
dart.addTypeCaches(_http._HttpSessionManager);
dart.setMethodSignature(_http._HttpSessionManager, () => ({
  __proto__: dart.getMethods(_http._HttpSessionManager.__proto__),
  createSessionId: dart.fnType(core.String, []),
  getSession: dart.fnType(dart.nullable(_http._HttpSession), [core.String]),
  createSession: dart.fnType(_http._HttpSession, []),
  close: dart.fnType(dart.void, []),
  [_bumpToEnd]: dart.fnType(dart.void, [_http._HttpSession]),
  [_addToTimeoutQueue]: dart.fnType(dart.void, [_http._HttpSession]),
  [_removeFromTimeoutQueue]: dart.fnType(dart.void, [_http._HttpSession]),
  [_timerTimeout]: dart.fnType(dart.void, []),
  [_startTimer]: dart.fnType(dart.void, []),
  [_stopTimer]: dart.fnType(dart.void, [])
}));
dart.setSetterSignature(_http._HttpSessionManager, () => ({
  __proto__: dart.getSetters(_http._HttpSessionManager.__proto__),
  sessionTimeout: core.int
}));
dart.setLibraryUri(_http._HttpSessionManager, I[177]);
dart.setFieldSignature(_http._HttpSessionManager, () => ({
  __proto__: dart.getFields(_http._HttpSessionManager.__proto__),
  [_sessions]: dart.fieldType(core.Map$(core.String, _http._HttpSession)),
  [_sessionTimeout]: dart.fieldType(core.int),
  [_head$]: dart.fieldType(dart.nullable(_http._HttpSession)),
  [_tail$]: dart.fieldType(dart.nullable(_http._HttpSession)),
  [_timer]: dart.fieldType(dart.nullable(async.Timer))
}));
_http.HttpOverrides = class HttpOverrides extends core.Object {
  static get current() {
    let t304;
    return T.HttpOverridesN().as((t304 = async.Zone.current._get(_http._httpOverridesToken), t304 == null ? _http.HttpOverrides._global : t304));
  }
  static set global(overrides) {
    _http.HttpOverrides._global = overrides;
  }
  static runZoned(R, body, opts) {
    if (body == null) dart.nullFailed(I[184], 49, 26, "body");
    let createHttpClient = opts && 'createHttpClient' in opts ? opts.createHttpClient : null;
    let findProxyFromEnvironment = opts && 'findProxyFromEnvironment' in opts ? opts.findProxyFromEnvironment : null;
    let overrides = new _http._HttpOverridesScope.new(createHttpClient, findProxyFromEnvironment);
    return _http._asyncRunZoned(R, body, {zoneValues: new (T$0.LinkedMapOfObjectN$ObjectN()).from([_http._httpOverridesToken, overrides])});
  }
  static runWithHttpOverrides(R, body, overrides) {
    if (body == null) dart.nullFailed(I[184], 63, 38, "body");
    if (overrides == null) dart.nullFailed(I[184], 63, 60, "overrides");
    return _http._asyncRunZoned(R, body, {zoneValues: new (T$0.LinkedMapOfObjectN$ObjectN()).from([_http._httpOverridesToken, overrides])});
  }
  createHttpClient(context) {
    return new _http._HttpClient.new(context);
  }
  findProxyFromEnvironment(url, environment) {
    if (url == null) dart.nullFailed(I[184], 80, 39, "url");
    return _http._HttpClient._findProxyFromEnvironment(url, environment);
  }
};
(_http.HttpOverrides.new = function() {
  ;
}).prototype = _http.HttpOverrides.prototype;
dart.addTypeTests(_http.HttpOverrides);
dart.addTypeCaches(_http.HttpOverrides);
dart.setMethodSignature(_http.HttpOverrides, () => ({
  __proto__: dart.getMethods(_http.HttpOverrides.__proto__),
  createHttpClient: dart.fnType(_http.HttpClient, [dart.nullable(io.SecurityContext)]),
  findProxyFromEnvironment: dart.fnType(core.String, [core.Uri, dart.nullable(core.Map$(core.String, core.String))])
}));
dart.setLibraryUri(_http.HttpOverrides, I[177]);
dart.defineLazy(_http.HttpOverrides, {
  /*_http.HttpOverrides._global*/get _global() {
    return null;
  },
  set _global(_) {}
}, false);
var _previous$5 = dart.privateName(_http, "_previous");
var _createHttpClient$ = dart.privateName(_http, "_createHttpClient");
var _findProxyFromEnvironment$ = dart.privateName(_http, "_findProxyFromEnvironment");
_http._HttpOverridesScope = class _HttpOverridesScope extends _http.HttpOverrides {
  createHttpClient(context) {
    let createHttpClient = this[_createHttpClient$];
    if (createHttpClient != null) return createHttpClient(context);
    let previous = this[_previous$5];
    if (previous != null) return previous.createHttpClient(context);
    return super.createHttpClient(context);
  }
  findProxyFromEnvironment(url, environment) {
    if (url == null) dart.nullFailed(I[184], 103, 39, "url");
    let findProxyFromEnvironment = this[_findProxyFromEnvironment$];
    if (findProxyFromEnvironment != null) {
      return findProxyFromEnvironment(url, environment);
    }
    let previous = this[_previous$5];
    if (previous != null) {
      return previous.findProxyFromEnvironment(url, environment);
    }
    return super.findProxyFromEnvironment(url, environment);
  }
};
(_http._HttpOverridesScope.new = function(_createHttpClient, _findProxyFromEnvironment) {
  this[_previous$5] = _http.HttpOverrides.current;
  this[_createHttpClient$] = _createHttpClient;
  this[_findProxyFromEnvironment$] = _findProxyFromEnvironment;
  ;
}).prototype = _http._HttpOverridesScope.prototype;
dart.addTypeTests(_http._HttpOverridesScope);
dart.addTypeCaches(_http._HttpOverridesScope);
dart.setLibraryUri(_http._HttpOverridesScope, I[177]);
dart.setFieldSignature(_http._HttpOverridesScope, () => ({
  __proto__: dart.getFields(_http._HttpOverridesScope.__proto__),
  [_previous$5]: dart.finalFieldType(dart.nullable(_http.HttpOverrides)),
  [_createHttpClient$]: dart.finalFieldType(dart.nullable(dart.fnType(_http.HttpClient, [dart.nullable(io.SecurityContext)]))),
  [_findProxyFromEnvironment$]: dart.finalFieldType(dart.nullable(dart.fnType(core.String, [core.Uri, dart.nullable(core.Map$(core.String, core.String))])))
}));
_http.WebSocketStatus = class WebSocketStatus extends core.Object {};
(_http.WebSocketStatus.new = function() {
  ;
}).prototype = _http.WebSocketStatus.prototype;
dart.addTypeTests(_http.WebSocketStatus);
dart.addTypeCaches(_http.WebSocketStatus);
dart.setLibraryUri(_http.WebSocketStatus, I[177]);
dart.defineLazy(_http.WebSocketStatus, {
  /*_http.WebSocketStatus.normalClosure*/get normalClosure() {
    return 1000;
  },
  /*_http.WebSocketStatus.goingAway*/get goingAway() {
    return 1001;
  },
  /*_http.WebSocketStatus.protocolError*/get protocolError() {
    return 1002;
  },
  /*_http.WebSocketStatus.unsupportedData*/get unsupportedData() {
    return 1003;
  },
  /*_http.WebSocketStatus.reserved1004*/get reserved1004() {
    return 1004;
  },
  /*_http.WebSocketStatus.noStatusReceived*/get noStatusReceived() {
    return 1005;
  },
  /*_http.WebSocketStatus.abnormalClosure*/get abnormalClosure() {
    return 1006;
  },
  /*_http.WebSocketStatus.invalidFramePayloadData*/get invalidFramePayloadData() {
    return 1007;
  },
  /*_http.WebSocketStatus.policyViolation*/get policyViolation() {
    return 1008;
  },
  /*_http.WebSocketStatus.messageTooBig*/get messageTooBig() {
    return 1009;
  },
  /*_http.WebSocketStatus.missingMandatoryExtension*/get missingMandatoryExtension() {
    return 1010;
  },
  /*_http.WebSocketStatus.internalServerError*/get internalServerError() {
    return 1011;
  },
  /*_http.WebSocketStatus.reserved1015*/get reserved1015() {
    return 1015;
  },
  /*_http.WebSocketStatus.NORMAL_CLOSURE*/get NORMAL_CLOSURE() {
    return 1000;
  },
  /*_http.WebSocketStatus.GOING_AWAY*/get GOING_AWAY() {
    return 1001;
  },
  /*_http.WebSocketStatus.PROTOCOL_ERROR*/get PROTOCOL_ERROR() {
    return 1002;
  },
  /*_http.WebSocketStatus.UNSUPPORTED_DATA*/get UNSUPPORTED_DATA() {
    return 1003;
  },
  /*_http.WebSocketStatus.RESERVED_1004*/get RESERVED_1004() {
    return 1004;
  },
  /*_http.WebSocketStatus.NO_STATUS_RECEIVED*/get NO_STATUS_RECEIVED() {
    return 1005;
  },
  /*_http.WebSocketStatus.ABNORMAL_CLOSURE*/get ABNORMAL_CLOSURE() {
    return 1006;
  },
  /*_http.WebSocketStatus.INVALID_FRAME_PAYLOAD_DATA*/get INVALID_FRAME_PAYLOAD_DATA() {
    return 1007;
  },
  /*_http.WebSocketStatus.POLICY_VIOLATION*/get POLICY_VIOLATION() {
    return 1008;
  },
  /*_http.WebSocketStatus.MESSAGE_TOO_BIG*/get MESSAGE_TOO_BIG() {
    return 1009;
  },
  /*_http.WebSocketStatus.MISSING_MANDATORY_EXTENSION*/get MISSING_MANDATORY_EXTENSION() {
    return 1010;
  },
  /*_http.WebSocketStatus.INTERNAL_SERVER_ERROR*/get INTERNAL_SERVER_ERROR() {
    return 1011;
  },
  /*_http.WebSocketStatus.RESERVED_1015*/get RESERVED_1015() {
    return 1015;
  }
}, false);
var clientNoContextTakeover$ = dart.privateName(_http, "CompressionOptions.clientNoContextTakeover");
var serverNoContextTakeover$ = dart.privateName(_http, "CompressionOptions.serverNoContextTakeover");
var clientMaxWindowBits$ = dart.privateName(_http, "CompressionOptions.clientMaxWindowBits");
var serverMaxWindowBits$ = dart.privateName(_http, "CompressionOptions.serverMaxWindowBits");
var enabled$ = dart.privateName(_http, "CompressionOptions.enabled");
var _createServerResponseHeader = dart.privateName(_http, "_createServerResponseHeader");
var _createClientRequestHeader = dart.privateName(_http, "_createClientRequestHeader");
var _createHeader = dart.privateName(_http, "_createHeader");
_http.CompressionOptions = class CompressionOptions extends core.Object {
  get clientNoContextTakeover() {
    return this[clientNoContextTakeover$];
  }
  set clientNoContextTakeover(value) {
    super.clientNoContextTakeover = value;
  }
  get serverNoContextTakeover() {
    return this[serverNoContextTakeover$];
  }
  set serverNoContextTakeover(value) {
    super.serverNoContextTakeover = value;
  }
  get clientMaxWindowBits() {
    return this[clientMaxWindowBits$];
  }
  set clientMaxWindowBits(value) {
    super.clientMaxWindowBits = value;
  }
  get serverMaxWindowBits() {
    return this[serverMaxWindowBits$];
  }
  set serverMaxWindowBits(value) {
    super.serverMaxWindowBits = value;
  }
  get enabled() {
    return this[enabled$];
  }
  set enabled(value) {
    super.enabled = value;
  }
  [_createServerResponseHeader](requested) {
    let t304, t304$, t304$0;
    let info = new _http._CompressionMaxWindowBits.new("", 0);
    let part = (t304 = requested, t304 == null ? null : t304.parameters[$_get]("server_max_window_bits"));
    if (part != null) {
      if (part.length >= 2 && part[$startsWith]("0")) {
        dart.throw(new core.ArgumentError.new("Illegal 0 padding on value."));
      } else {
        let mwb = (t304$0 = (t304$ = this.serverMaxWindowBits, t304$ == null ? core.int.tryParse(part) : t304$), t304$0 == null ? 15 : t304$0);
        info.headerValue = "; server_max_window_bits=" + dart.str(mwb);
        info.maxWindowBits = mwb;
      }
    } else {
      info.headerValue = "";
      info.maxWindowBits = 15;
    }
    return info;
  }
  [_createClientRequestHeader](requested, size) {
    if (size == null) dart.nullFailed(I[185], 156, 65, "size");
    let info = "";
    if (requested != null) {
      info = "; client_max_window_bits=" + dart.str(size);
    } else {
      if (this.clientMaxWindowBits == null) {
        info = "; client_max_window_bits";
      } else {
        info = "; client_max_window_bits=" + dart.str(this.clientMaxWindowBits);
      }
      if (this.serverMaxWindowBits != null) {
        info = info + ("; server_max_window_bits=" + dart.str(this.serverMaxWindowBits));
      }
    }
    return info;
  }
  [_createHeader](requested = null) {
    let t304, t304$, t304$0, t304$1;
    let info = new _http._CompressionMaxWindowBits.new("", 0);
    if (!dart.test(this.enabled)) {
      return info;
    }
    info.headerValue = "permessage-deflate";
    if (dart.test(this.clientNoContextTakeover) && (requested == null || requested != null && dart.test(requested.parameters[$containsKey]("client_no_context_takeover")))) {
      t304 = info;
      t304.headerValue = dart.notNull(t304.headerValue) + "; client_no_context_takeover";
    }
    if (dart.test(this.serverNoContextTakeover) && (requested == null || requested != null && dart.test(requested.parameters[$containsKey]("server_no_context_takeover")))) {
      t304$ = info;
      t304$.headerValue = dart.notNull(t304$.headerValue) + "; server_no_context_takeover";
    }
    let headerList = this[_createServerResponseHeader](requested);
    t304$0 = info;
    t304$0.headerValue = dart.notNull(t304$0.headerValue) + dart.notNull(headerList.headerValue);
    info.maxWindowBits = headerList.maxWindowBits;
    t304$1 = info;
    t304$1.headerValue = dart.notNull(t304$1.headerValue) + dart.notNull(this[_createClientRequestHeader](requested, info.maxWindowBits));
    return info;
  }
};
(_http.CompressionOptions.new = function(opts) {
  let clientNoContextTakeover = opts && 'clientNoContextTakeover' in opts ? opts.clientNoContextTakeover : false;
  if (clientNoContextTakeover == null) dart.nullFailed(I[185], 120, 13, "clientNoContextTakeover");
  let serverNoContextTakeover = opts && 'serverNoContextTakeover' in opts ? opts.serverNoContextTakeover : false;
  if (serverNoContextTakeover == null) dart.nullFailed(I[185], 121, 12, "serverNoContextTakeover");
  let clientMaxWindowBits = opts && 'clientMaxWindowBits' in opts ? opts.clientMaxWindowBits : null;
  let serverMaxWindowBits = opts && 'serverMaxWindowBits' in opts ? opts.serverMaxWindowBits : null;
  let enabled = opts && 'enabled' in opts ? opts.enabled : true;
  if (enabled == null) dart.nullFailed(I[185], 124, 12, "enabled");
  this[clientNoContextTakeover$] = clientNoContextTakeover;
  this[serverNoContextTakeover$] = serverNoContextTakeover;
  this[clientMaxWindowBits$] = clientMaxWindowBits;
  this[serverMaxWindowBits$] = serverMaxWindowBits;
  this[enabled$] = enabled;
  ;
}).prototype = _http.CompressionOptions.prototype;
dart.addTypeTests(_http.CompressionOptions);
dart.addTypeCaches(_http.CompressionOptions);
dart.setMethodSignature(_http.CompressionOptions, () => ({
  __proto__: dart.getMethods(_http.CompressionOptions.__proto__),
  [_createServerResponseHeader]: dart.fnType(_http._CompressionMaxWindowBits, [dart.nullable(_http.HeaderValue)]),
  [_createClientRequestHeader]: dart.fnType(core.String, [dart.nullable(_http.HeaderValue), core.int]),
  [_createHeader]: dart.fnType(_http._CompressionMaxWindowBits, [], [dart.nullable(_http.HeaderValue)])
}));
dart.setLibraryUri(_http.CompressionOptions, I[177]);
dart.setFieldSignature(_http.CompressionOptions, () => ({
  __proto__: dart.getFields(_http.CompressionOptions.__proto__),
  clientNoContextTakeover: dart.finalFieldType(core.bool),
  serverNoContextTakeover: dart.finalFieldType(core.bool),
  clientMaxWindowBits: dart.finalFieldType(dart.nullable(core.int)),
  serverMaxWindowBits: dart.finalFieldType(dart.nullable(core.int)),
  enabled: dart.finalFieldType(core.bool)
}));
dart.defineLazy(_http.CompressionOptions, {
  /*_http.CompressionOptions.compressionDefault*/get compressionDefault() {
    return C[488] || CT.C488;
  },
  /*_http.CompressionOptions.DEFAULT*/get DEFAULT() {
    return C[488] || CT.C488;
  },
  /*_http.CompressionOptions.compressionOff*/get compressionOff() {
    return C[489] || CT.C489;
  },
  /*_http.CompressionOptions.OFF*/get OFF() {
    return C[489] || CT.C489;
  }
}, false);
_http.WebSocketTransformer = class WebSocketTransformer extends core.Object {
  static new(opts) {
    let protocolSelector = opts && 'protocolSelector' in opts ? opts.protocolSelector : null;
    let compression = opts && 'compression' in opts ? opts.compression : C[488] || CT.C488;
    if (compression == null) dart.nullFailed(I[185], 265, 26, "compression");
    return new _http._WebSocketTransformerImpl.new(protocolSelector, compression);
  }
  static upgrade(request, opts) {
    if (request == null) dart.nullFailed(I[185], 286, 48, "request");
    let protocolSelector = opts && 'protocolSelector' in opts ? opts.protocolSelector : null;
    let compression = opts && 'compression' in opts ? opts.compression : C[488] || CT.C488;
    if (compression == null) dart.nullFailed(I[185], 288, 26, "compression");
    return _http._WebSocketTransformerImpl._upgrade(request, protocolSelector, compression);
  }
  static isUpgradeRequest(request) {
    if (request == null) dart.nullFailed(I[185], 296, 44, "request");
    return _http._WebSocketTransformerImpl._isUpgradeRequest(request);
  }
};
(_http.WebSocketTransformer[dart.mixinNew] = function() {
}).prototype = _http.WebSocketTransformer.prototype;
dart.addTypeTests(_http.WebSocketTransformer);
dart.addTypeCaches(_http.WebSocketTransformer);
_http.WebSocketTransformer[dart.implements] = () => [async.StreamTransformer$(_http.HttpRequest, _http.WebSocket)];
dart.setLibraryUri(_http.WebSocketTransformer, I[177]);
var pingInterval = dart.privateName(_http, "WebSocket.pingInterval");
_http.WebSocket = class WebSocket extends core.Object {
  get pingInterval() {
    return this[pingInterval];
  }
  set pingInterval(value) {
    this[pingInterval] = value;
  }
  static connect(url, opts) {
    if (url == null) dart.nullFailed(I[185], 374, 43, "url");
    let protocols = opts && 'protocols' in opts ? opts.protocols : null;
    let headers = opts && 'headers' in opts ? opts.headers : null;
    let compression = opts && 'compression' in opts ? opts.compression : C[488] || CT.C488;
    if (compression == null) dart.nullFailed(I[185], 377, 30, "compression");
    return _http._WebSocketImpl.connect(url, protocols, headers, {compression: compression});
  }
  static fromUpgradedSocket(socket, opts) {
    if (socket == null) dart.nullFailed(I[185], 404, 47, "socket");
    let protocol = opts && 'protocol' in opts ? opts.protocol : null;
    let serverSide = opts && 'serverSide' in opts ? opts.serverSide : null;
    let compression = opts && 'compression' in opts ? opts.compression : C[488] || CT.C488;
    if (compression == null) dart.nullFailed(I[185], 407, 26, "compression");
    if (serverSide == null) {
      dart.throw(new core.ArgumentError.new("The serverSide argument must be passed " + "explicitly to WebSocket.fromUpgradedSocket."));
    }
    return new _http._WebSocketImpl._fromSocket(socket, protocol, compression, serverSide);
  }
  static get userAgent() {
    return _http._WebSocketImpl.userAgent;
  }
  static set userAgent(userAgent) {
    _http._WebSocketImpl.userAgent = userAgent;
  }
};
(_http.WebSocket.new = function() {
  this[pingInterval] = null;
  ;
}).prototype = _http.WebSocket.prototype;
_http.WebSocket.prototype[dart.isStream] = true;
dart.addTypeTests(_http.WebSocket);
dart.addTypeCaches(_http.WebSocket);
_http.WebSocket[dart.implements] = () => [async.Stream, async.StreamSink];
dart.setLibraryUri(_http.WebSocket, I[177]);
dart.setFieldSignature(_http.WebSocket, () => ({
  __proto__: dart.getFields(_http.WebSocket.__proto__),
  pingInterval: dart.fieldType(dart.nullable(core.Duration))
}));
dart.defineLazy(_http.WebSocket, {
  /*_http.WebSocket.connecting*/get connecting() {
    return 0;
  },
  /*_http.WebSocket.open*/get open() {
    return 1;
  },
  /*_http.WebSocket.closing*/get closing() {
    return 2;
  },
  /*_http.WebSocket.closed*/get closed() {
    return 3;
  },
  /*_http.WebSocket.CONNECTING*/get CONNECTING() {
    return 0;
  },
  /*_http.WebSocket.OPEN*/get OPEN() {
    return 1;
  },
  /*_http.WebSocket.CLOSING*/get CLOSING() {
    return 2;
  },
  /*_http.WebSocket.CLOSED*/get CLOSED() {
    return 3;
  }
}, false);
var message$19 = dart.privateName(_http, "WebSocketException.message");
_http.WebSocketException = class WebSocketException extends core.Object {
  get message() {
    return this[message$19];
  }
  set message(value) {
    super.message = value;
  }
  toString() {
    return "WebSocketException: " + dart.str(this.message);
  }
};
(_http.WebSocketException.new = function(message = "") {
  if (message == null) dart.nullFailed(I[185], 493, 34, "message");
  this[message$19] = message;
  ;
}).prototype = _http.WebSocketException.prototype;
dart.addTypeTests(_http.WebSocketException);
dart.addTypeCaches(_http.WebSocketException);
_http.WebSocketException[dart.implements] = () => [io.IOException];
dart.setLibraryUri(_http.WebSocketException, I[177]);
dart.setFieldSignature(_http.WebSocketException, () => ({
  __proto__: dart.getFields(_http.WebSocketException.__proto__),
  message: dart.finalFieldType(core.String)
}));
dart.defineExtensionMethods(_http.WebSocketException, ['toString']);
_http._WebSocketMessageType = class _WebSocketMessageType extends core.Object {};
(_http._WebSocketMessageType.new = function() {
  ;
}).prototype = _http._WebSocketMessageType.prototype;
dart.addTypeTests(_http._WebSocketMessageType);
dart.addTypeCaches(_http._WebSocketMessageType);
dart.setLibraryUri(_http._WebSocketMessageType, I[177]);
dart.defineLazy(_http._WebSocketMessageType, {
  /*_http._WebSocketMessageType.NONE*/get NONE() {
    return 0;
  },
  /*_http._WebSocketMessageType.TEXT*/get TEXT() {
    return 1;
  },
  /*_http._WebSocketMessageType.BINARY*/get BINARY() {
    return 2;
  }
}, false);
_http._WebSocketOpcode = class _WebSocketOpcode extends core.Object {};
(_http._WebSocketOpcode.new = function() {
  ;
}).prototype = _http._WebSocketOpcode.prototype;
dart.addTypeTests(_http._WebSocketOpcode);
dart.addTypeCaches(_http._WebSocketOpcode);
dart.setLibraryUri(_http._WebSocketOpcode, I[177]);
dart.defineLazy(_http._WebSocketOpcode, {
  /*_http._WebSocketOpcode.CONTINUATION*/get CONTINUATION() {
    return 0;
  },
  /*_http._WebSocketOpcode.TEXT*/get TEXT() {
    return 1;
  },
  /*_http._WebSocketOpcode.BINARY*/get BINARY() {
    return 2;
  },
  /*_http._WebSocketOpcode.RESERVED_3*/get RESERVED_3() {
    return 3;
  },
  /*_http._WebSocketOpcode.RESERVED_4*/get RESERVED_4() {
    return 4;
  },
  /*_http._WebSocketOpcode.RESERVED_5*/get RESERVED_5() {
    return 5;
  },
  /*_http._WebSocketOpcode.RESERVED_6*/get RESERVED_6() {
    return 6;
  },
  /*_http._WebSocketOpcode.RESERVED_7*/get RESERVED_7() {
    return 7;
  },
  /*_http._WebSocketOpcode.CLOSE*/get CLOSE() {
    return 8;
  },
  /*_http._WebSocketOpcode.PING*/get PING() {
    return 9;
  },
  /*_http._WebSocketOpcode.PONG*/get PONG() {
    return 10;
  },
  /*_http._WebSocketOpcode.RESERVED_B*/get RESERVED_B() {
    return 11;
  },
  /*_http._WebSocketOpcode.RESERVED_C*/get RESERVED_C() {
    return 12;
  },
  /*_http._WebSocketOpcode.RESERVED_D*/get RESERVED_D() {
    return 13;
  },
  /*_http._WebSocketOpcode.RESERVED_E*/get RESERVED_E() {
    return 14;
  },
  /*_http._WebSocketOpcode.RESERVED_F*/get RESERVED_F() {
    return 15;
  }
}, false);
_http._EncodedString = class _EncodedString extends core.Object {};
(_http._EncodedString.new = function(bytes) {
  if (bytes == null) dart.nullFailed(I[186], 41, 23, "bytes");
  this.bytes = bytes;
  ;
}).prototype = _http._EncodedString.prototype;
dart.addTypeTests(_http._EncodedString);
dart.addTypeCaches(_http._EncodedString);
dart.setLibraryUri(_http._EncodedString, I[177]);
dart.setFieldSignature(_http._EncodedString, () => ({
  __proto__: dart.getFields(_http._EncodedString.__proto__),
  bytes: dart.finalFieldType(core.List$(core.int))
}));
_http._CompressionMaxWindowBits = class _CompressionMaxWindowBits extends core.Object {
  toString() {
    return this.headerValue;
  }
};
(_http._CompressionMaxWindowBits.new = function(headerValue, maxWindowBits) {
  if (headerValue == null) dart.nullFailed(I[186], 52, 34, "headerValue");
  if (maxWindowBits == null) dart.nullFailed(I[186], 52, 52, "maxWindowBits");
  this.headerValue = headerValue;
  this.maxWindowBits = maxWindowBits;
  ;
}).prototype = _http._CompressionMaxWindowBits.prototype;
dart.addTypeTests(_http._CompressionMaxWindowBits);
dart.addTypeCaches(_http._CompressionMaxWindowBits);
dart.setLibraryUri(_http._CompressionMaxWindowBits, I[177]);
dart.setFieldSignature(_http._CompressionMaxWindowBits, () => ({
  __proto__: dart.getFields(_http._CompressionMaxWindowBits.__proto__),
  headerValue: dart.fieldType(core.String),
  maxWindowBits: dart.fieldType(core.int)
}));
dart.defineExtensionMethods(_http._CompressionMaxWindowBits, ['toString']);
var _fin = dart.privateName(_http, "_fin");
var _compressed = dart.privateName(_http, "_compressed");
var _opcode = dart.privateName(_http, "_opcode");
var _len = dart.privateName(_http, "_len");
var _masked = dart.privateName(_http, "_masked");
var _remainingLenBytes = dart.privateName(_http, "_remainingLenBytes");
var _remainingMaskingKeyBytes = dart.privateName(_http, "_remainingMaskingKeyBytes");
var _remainingPayloadBytes = dart.privateName(_http, "_remainingPayloadBytes");
var _unmaskingIndex = dart.privateName(_http, "_unmaskingIndex");
var _currentMessageType = dart.privateName(_http, "_currentMessageType");
var _eventSink$ = dart.privateName(_http, "_eventSink");
var _maskingBytes = dart.privateName(_http, "_maskingBytes");
var _payload = dart.privateName(_http, "_payload");
var _serverSide$ = dart.privateName(_http, "_serverSide");
var _deflate$ = dart.privateName(_http, "_deflate");
var _isControlFrame = dart.privateName(_http, "_isControlFrame");
var _lengthDone = dart.privateName(_http, "_lengthDone");
var _maskDone = dart.privateName(_http, "_maskDone");
var _unmask = dart.privateName(_http, "_unmask");
var _controlFrameEnd = dart.privateName(_http, "_controlFrameEnd");
var _messageFrameEnd = dart.privateName(_http, "_messageFrameEnd");
var _startPayload = dart.privateName(_http, "_startPayload");
var _prepareForNextFrame = dart.privateName(_http, "_prepareForNextFrame");
_http._WebSocketProtocolTransformer = class _WebSocketProtocolTransformer extends async.StreamTransformerBase$(core.List$(core.int), dart.dynamic) {
  bind(stream) {
    T$0.StreamOfListOfint().as(stream);
    if (stream == null) dart.nullFailed(I[186], 105, 25, "stream");
    return async.Stream.eventTransformed(stream, dart.fn(eventSink => {
      if (eventSink == null) dart.nullFailed(I[186], 106, 59, "eventSink");
      if (this[_eventSink$] != null) {
        dart.throw(new core.StateError.new("WebSocket transformer already used."));
      }
      this[_eventSink$] = eventSink;
      return this;
    }, T.EventSinkTo_WebSocketProtocolTransformer()));
  }
  addError(error, stackTrace = null) {
    if (error == null) dart.nullFailed(I[186], 115, 24, "error");
    core.ArgumentError.checkNotNull(core.Object, error, "error");
    dart.nullCheck(this[_eventSink$]).addError(error, stackTrace);
  }
  close() {
    dart.nullCheck(this[_eventSink$]).close();
  }
  add(bytes) {
    let t304;
    T$0.ListOfint().as(bytes);
    if (bytes == null) dart.nullFailed(I[186], 128, 22, "bytes");
    let buffer = typed_data.Uint8List.is(bytes) ? bytes : _native_typed_data.NativeUint8List.fromList(bytes);
    let index = 0;
    let lastIndex = buffer[$length];
    if (this[_state$1] === 5) {
      dart.throw(new _http.WebSocketException.new("Data on closed connection"));
    }
    if (this[_state$1] === 6) {
      dart.throw(new _http.WebSocketException.new("Data on failed connection"));
    }
    while (index < dart.notNull(lastIndex) && this[_state$1] !== 5 && this[_state$1] !== 6) {
      let byte = buffer[$_get](index);
      if (dart.notNull(this[_state$1]) <= 2) {
        if (this[_state$1] === 0) {
          this[_fin] = (dart.notNull(byte) & 128) !== 0;
          if ((dart.notNull(byte) & (32 | 16) >>> 0) !== 0) {
            dart.throw(new _http.WebSocketException.new("Protocol error"));
          }
          this[_opcode] = (dart.notNull(byte) & 15) >>> 0;
          if (this[_opcode] !== 0) {
            if ((dart.notNull(byte) & 64) !== 0) {
              this[_compressed] = true;
            } else {
              this[_compressed] = false;
            }
          }
          if (dart.notNull(this[_opcode]) <= 2) {
            if (this[_opcode] === 0) {
              if (this[_currentMessageType] === 0) {
                dart.throw(new _http.WebSocketException.new("Protocol error"));
              }
            } else {
              if (!(this[_opcode] === 1 || this[_opcode] === 2)) dart.assertFailed(null, I[186], 165, 22, "_opcode == _WebSocketOpcode.TEXT ||\n                  _opcode == _WebSocketOpcode.BINARY");
              if (this[_currentMessageType] !== 0) {
                dart.throw(new _http.WebSocketException.new("Protocol error"));
              }
              this[_currentMessageType] = this[_opcode];
            }
          } else if (dart.notNull(this[_opcode]) >= 8 && dart.notNull(this[_opcode]) <= 10) {
            if (!dart.test(this[_fin])) dart.throw(new _http.WebSocketException.new("Protocol error"));
          } else {
            dart.throw(new _http.WebSocketException.new("Protocol error"));
          }
          this[_state$1] = 1;
        } else if (this[_state$1] === 1) {
          this[_masked] = (dart.notNull(byte) & 128) !== 0;
          this[_len] = dart.notNull(byte) & 127;
          if (dart.test(this[_isControlFrame]()) && dart.notNull(this[_len]) > 125) {
            dart.throw(new _http.WebSocketException.new("Protocol error"));
          }
          if (this[_len] === 126) {
            this[_len] = 0;
            this[_remainingLenBytes] = 2;
            this[_state$1] = 2;
          } else if (this[_len] === 127) {
            this[_len] = 0;
            this[_remainingLenBytes] = 8;
            this[_state$1] = 2;
          } else {
            if (!(dart.notNull(this[_len]) < 126)) dart.assertFailed(null, I[186], 195, 20, "_len < 126");
            this[_lengthDone]();
          }
        } else {
          if (!(this[_state$1] === 2)) dart.assertFailed(null, I[186], 199, 18, "_state == LEN_REST");
          this[_len] = (dart.notNull(this[_len]) << 8 | dart.notNull(byte)) >>> 0;
          this[_remainingLenBytes] = dart.notNull(this[_remainingLenBytes]) - 1;
          if (this[_remainingLenBytes] === 0) {
            this[_lengthDone]();
          }
        }
      } else {
        if (this[_state$1] === 3) {
          this[_maskingBytes][$_set](4 - dart.notNull((t304 = this[_remainingMaskingKeyBytes], this[_remainingMaskingKeyBytes] = dart.notNull(t304) - 1, t304)), byte);
          if (this[_remainingMaskingKeyBytes] === 0) {
            this[_maskDone]();
          }
        } else {
          if (!(this[_state$1] === 4)) dart.assertFailed(null, I[186], 213, 18, "_state == PAYLOAD");
          let payloadLength = math.min(core.int, dart.notNull(lastIndex) - index, this[_remainingPayloadBytes]);
          this[_remainingPayloadBytes] = dart.notNull(this[_remainingPayloadBytes]) - payloadLength;
          if (dart.test(this[_masked])) {
            this[_unmask](index, payloadLength, buffer);
          }
          this[_payload].add(typed_data.Uint8List.view(buffer[$buffer], dart.notNull(buffer[$offsetInBytes]) + index, payloadLength));
          index = index + payloadLength;
          if (dart.test(this[_isControlFrame]())) {
            if (this[_remainingPayloadBytes] === 0) this[_controlFrameEnd]();
          } else {
            if (this[_currentMessageType] !== 1 && this[_currentMessageType] !== 2) {
              dart.throw(new _http.WebSocketException.new("Protocol error"));
            }
            if (this[_remainingPayloadBytes] === 0) this[_messageFrameEnd]();
          }
          index = index - 1;
        }
      }
      index = index + 1;
    }
  }
  [_unmask](index, length, buffer) {
    let t306, t305, t304, t305$, t304$, t306$, t305$0, t304$0;
    if (index == null) dart.nullFailed(I[186], 245, 20, "index");
    if (length == null) dart.nullFailed(I[186], 245, 31, "length");
    if (buffer == null) dart.nullFailed(I[186], 245, 49, "buffer");
    if (dart.notNull(length) >= 16) {
      let startOffset = 16 - (dart.notNull(index) & 15);
      let end = dart.notNull(index) + startOffset;
      for (let i = index; dart.notNull(i) < end; i = dart.notNull(i) + 1) {
        t304 = buffer;
        t305 = i;
        t304[$_set](t305, (dart.notNull(t304[$_get](t305)) ^ dart.notNull(this[_maskingBytes][$_get](dart.notNull((t306 = this[_unmaskingIndex], this[_unmaskingIndex] = dart.notNull(t306) + 1, t306)) & 3))) >>> 0);
      }
      index = dart.notNull(index) + startOffset;
      length = dart.notNull(length) - startOffset;
      let blockCount = (dart.notNull(length) / 16)[$truncate]();
      if (blockCount > 0) {
        let mask = 0;
        for (let i = 3; i >= 0; i = i - 1) {
          mask = (mask << 8 | dart.notNull(this[_maskingBytes][$_get](dart.notNull(this[_unmaskingIndex]) + i & 3))) >>> 0;
        }
        let blockMask = new _native_typed_data.NativeInt32x4.new(mask, mask, mask, mask);
        let blockBuffer = typed_data.Int32x4List.view(buffer[$buffer], dart.notNull(buffer[$offsetInBytes]) + dart.notNull(index), blockCount);
        for (let i = 0; i < dart.notNull(blockBuffer[$length]); i = i + 1) {
          t304$ = blockBuffer;
          t305$ = i;
          t304$[$_set](t305$, t304$[$_get](t305$)['^'](blockMask));
        }
        let bytes = blockCount * 16;
        index = dart.notNull(index) + bytes;
        length = dart.notNull(length) - bytes;
      }
    }
    let end = dart.notNull(index) + dart.notNull(length);
    for (let i = index; dart.notNull(i) < end; i = dart.notNull(i) + 1) {
      t304$0 = buffer;
      t305$0 = i;
      t304$0[$_set](t305$0, (dart.notNull(t304$0[$_get](t305$0)) ^ dart.notNull(this[_maskingBytes][$_get](dart.notNull((t306$ = this[_unmaskingIndex], this[_unmaskingIndex] = dart.notNull(t306$) + 1, t306$)) & 3))) >>> 0);
    }
  }
  [_lengthDone]() {
    if (dart.test(this[_masked])) {
      if (!dart.test(this[_serverSide$])) {
        dart.throw(new _http.WebSocketException.new("Received masked frame from server"));
      }
      this[_state$1] = 3;
    } else {
      if (dart.test(this[_serverSide$])) {
        dart.throw(new _http.WebSocketException.new("Received unmasked frame from client"));
      }
      this[_remainingPayloadBytes] = this[_len];
      this[_startPayload]();
    }
  }
  [_maskDone]() {
    this[_remainingPayloadBytes] = this[_len];
    this[_startPayload]();
  }
  [_startPayload]() {
    if (this[_remainingPayloadBytes] === 0) {
      if (dart.test(this[_isControlFrame]())) {
        switch (this[_opcode]) {
          case 8:
          {
            this[_state$1] = 5;
            dart.nullCheck(this[_eventSink$]).close();
            break;
          }
          case 9:
          {
            dart.nullCheck(this[_eventSink$]).add(new _http._WebSocketPing.new());
            break;
          }
          case 10:
          {
            dart.nullCheck(this[_eventSink$]).add(new _http._WebSocketPong.new());
            break;
          }
        }
        this[_prepareForNextFrame]();
      } else {
        this[_messageFrameEnd]();
      }
    } else {
      this[_state$1] = 4;
    }
  }
  [_messageFrameEnd]() {
    if (dart.test(this[_fin])) {
      let bytes = this[_payload].takeBytes();
      let deflate = this[_deflate$];
      if (deflate != null && dart.test(this[_compressed])) {
        bytes = deflate.processIncomingMessage(bytes);
      }
      switch (this[_currentMessageType]) {
        case 1:
        {
          dart.nullCheck(this[_eventSink$]).add(convert.utf8.decode(bytes));
          break;
        }
        case 2:
        {
          dart.nullCheck(this[_eventSink$]).add(bytes);
          break;
        }
      }
      this[_currentMessageType] = 0;
    }
    this[_prepareForNextFrame]();
  }
  [_controlFrameEnd]() {
    switch (this[_opcode]) {
      case 8:
      {
        this.closeCode = 1005;
        let payload = this[_payload].takeBytes();
        if (dart.notNull(payload[$length]) > 0) {
          if (payload[$length] === 1) {
            dart.throw(new _http.WebSocketException.new("Protocol error"));
          }
          this.closeCode = (dart.notNull(payload[$_get](0)) << 8 | dart.notNull(payload[$_get](1))) >>> 0;
          if (this.closeCode === 1005) {
            dart.throw(new _http.WebSocketException.new("Protocol error"));
          }
          if (dart.notNull(payload[$length]) > 2) {
            this.closeReason = convert.utf8.decode(payload[$sublist](2));
          }
        }
        this[_state$1] = 5;
        dart.nullCheck(this[_eventSink$]).close();
        break;
      }
      case 9:
      {
        dart.nullCheck(this[_eventSink$]).add(new _http._WebSocketPing.new(this[_payload].takeBytes()));
        break;
      }
      case 10:
      {
        dart.nullCheck(this[_eventSink$]).add(new _http._WebSocketPong.new(this[_payload].takeBytes()));
        break;
      }
    }
    this[_prepareForNextFrame]();
  }
  [_isControlFrame]() {
    return this[_opcode] === 8 || this[_opcode] === 9 || this[_opcode] === 10;
  }
  [_prepareForNextFrame]() {
    if (this[_state$1] !== 5 && this[_state$1] !== 6) this[_state$1] = 0;
    this[_fin] = false;
    this[_opcode] = -1;
    this[_len] = -1;
    this[_remainingLenBytes] = -1;
    this[_remainingMaskingKeyBytes] = 4;
    this[_remainingPayloadBytes] = -1;
    this[_unmaskingIndex] = 0;
  }
};
(_http._WebSocketProtocolTransformer.new = function(_serverSide = false, _deflate = null) {
  if (_serverSide == null) dart.nullFailed(I[186], 102, 39, "_serverSide");
  this[_state$1] = 0;
  this[_fin] = false;
  this[_compressed] = false;
  this[_opcode] = -1;
  this[_len] = -1;
  this[_masked] = false;
  this[_remainingLenBytes] = -1;
  this[_remainingMaskingKeyBytes] = 4;
  this[_remainingPayloadBytes] = -1;
  this[_unmaskingIndex] = 0;
  this[_currentMessageType] = 0;
  this.closeCode = 1005;
  this.closeReason = "";
  this[_eventSink$] = null;
  this[_maskingBytes] = _native_typed_data.NativeUint8List.new(4);
  this[_payload] = _internal.BytesBuilder.new({copy: false});
  this[_serverSide$] = _serverSide;
  this[_deflate$] = _deflate;
  _http._WebSocketProtocolTransformer.__proto__.new.call(this);
  ;
}).prototype = _http._WebSocketProtocolTransformer.prototype;
dart.addTypeTests(_http._WebSocketProtocolTransformer);
dart.addTypeCaches(_http._WebSocketProtocolTransformer);
_http._WebSocketProtocolTransformer[dart.implements] = () => [async.EventSink$(core.List$(core.int))];
dart.setMethodSignature(_http._WebSocketProtocolTransformer, () => ({
  __proto__: dart.getMethods(_http._WebSocketProtocolTransformer.__proto__),
  bind: dart.fnType(async.Stream, [dart.nullable(core.Object)]),
  addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
  close: dart.fnType(dart.void, []),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  [_unmask]: dart.fnType(dart.void, [core.int, core.int, typed_data.Uint8List]),
  [_lengthDone]: dart.fnType(dart.void, []),
  [_maskDone]: dart.fnType(dart.void, []),
  [_startPayload]: dart.fnType(dart.void, []),
  [_messageFrameEnd]: dart.fnType(dart.void, []),
  [_controlFrameEnd]: dart.fnType(dart.void, []),
  [_isControlFrame]: dart.fnType(core.bool, []),
  [_prepareForNextFrame]: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(_http._WebSocketProtocolTransformer, I[177]);
dart.setFieldSignature(_http._WebSocketProtocolTransformer, () => ({
  __proto__: dart.getFields(_http._WebSocketProtocolTransformer.__proto__),
  [_state$1]: dart.fieldType(core.int),
  [_fin]: dart.fieldType(core.bool),
  [_compressed]: dart.fieldType(core.bool),
  [_opcode]: dart.fieldType(core.int),
  [_len]: dart.fieldType(core.int),
  [_masked]: dart.fieldType(core.bool),
  [_remainingLenBytes]: dart.fieldType(core.int),
  [_remainingMaskingKeyBytes]: dart.fieldType(core.int),
  [_remainingPayloadBytes]: dart.fieldType(core.int),
  [_unmaskingIndex]: dart.fieldType(core.int),
  [_currentMessageType]: dart.fieldType(core.int),
  closeCode: dart.fieldType(core.int),
  closeReason: dart.fieldType(core.String),
  [_eventSink$]: dart.fieldType(dart.nullable(async.EventSink)),
  [_serverSide$]: dart.finalFieldType(core.bool),
  [_maskingBytes]: dart.finalFieldType(typed_data.Uint8List),
  [_payload]: dart.finalFieldType(_internal.BytesBuilder),
  [_deflate$]: dart.fieldType(dart.nullable(_http._WebSocketPerMessageDeflate))
}));
dart.defineLazy(_http._WebSocketProtocolTransformer, {
  /*_http._WebSocketProtocolTransformer.START*/get START() {
    return 0;
  },
  /*_http._WebSocketProtocolTransformer.LEN_FIRST*/get LEN_FIRST() {
    return 1;
  },
  /*_http._WebSocketProtocolTransformer.LEN_REST*/get LEN_REST() {
    return 2;
  },
  /*_http._WebSocketProtocolTransformer.MASK*/get MASK() {
    return 3;
  },
  /*_http._WebSocketProtocolTransformer.PAYLOAD*/get PAYLOAD() {
    return 4;
  },
  /*_http._WebSocketProtocolTransformer.CLOSED*/get CLOSED() {
    return 5;
  },
  /*_http._WebSocketProtocolTransformer.FAILURE*/get FAILURE() {
    return 6;
  },
  /*_http._WebSocketProtocolTransformer.FIN*/get FIN() {
    return 128;
  },
  /*_http._WebSocketProtocolTransformer.RSV1*/get RSV1() {
    return 64;
  },
  /*_http._WebSocketProtocolTransformer.RSV2*/get RSV2() {
    return 32;
  },
  /*_http._WebSocketProtocolTransformer.RSV3*/get RSV3() {
    return 16;
  },
  /*_http._WebSocketProtocolTransformer.OPCODE*/get OPCODE() {
    return 15;
  }
}, false);
_http._WebSocketPing = class _WebSocketPing extends core.Object {};
(_http._WebSocketPing.new = function(payload = null) {
  this.payload = payload;
  ;
}).prototype = _http._WebSocketPing.prototype;
dart.addTypeTests(_http._WebSocketPing);
dart.addTypeCaches(_http._WebSocketPing);
dart.setLibraryUri(_http._WebSocketPing, I[177]);
dart.setFieldSignature(_http._WebSocketPing, () => ({
  __proto__: dart.getFields(_http._WebSocketPing.__proto__),
  payload: dart.finalFieldType(dart.nullable(core.List$(core.int)))
}));
_http._WebSocketPong = class _WebSocketPong extends core.Object {};
(_http._WebSocketPong.new = function(payload = null) {
  this.payload = payload;
  ;
}).prototype = _http._WebSocketPong.prototype;
dart.addTypeTests(_http._WebSocketPong);
dart.addTypeCaches(_http._WebSocketPong);
dart.setLibraryUri(_http._WebSocketPong, I[177]);
dart.setFieldSignature(_http._WebSocketPong, () => ({
  __proto__: dart.getFields(_http._WebSocketPong.__proto__),
  payload: dart.finalFieldType(dart.nullable(core.List$(core.int)))
}));
var _protocolSelector$ = dart.privateName(_http, "_protocolSelector");
var _compression$ = dart.privateName(_http, "_compression");
_http._WebSocketTransformerImpl = class _WebSocketTransformerImpl extends async.StreamTransformerBase$(_http.HttpRequest, _http.WebSocket) {
  bind(stream) {
    T.StreamOfHttpRequest().as(stream);
    if (stream == null) dart.nullFailed(I[186], 421, 46, "stream");
    stream.listen(dart.fn(request => {
      if (request == null) dart.nullFailed(I[186], 422, 20, "request");
      _http._WebSocketTransformerImpl._upgrade(request, this[_protocolSelector$], this[_compression$]).then(dart.void, dart.fn(webSocket => {
        if (webSocket == null) dart.nullFailed(I[186], 424, 28, "webSocket");
        return this[_controller$0].add(webSocket);
      }, T.WebSocketTovoid())).catchError(dart.bind(this[_controller$0], 'addError'));
    }, T.HttpRequestTovoid()), {onDone: dart.fn(() => {
        this[_controller$0].close();
      }, T$.VoidTovoid())});
    return this[_controller$0].stream;
  }
  static _tokenizeFieldValue(headerValue) {
    if (headerValue == null) dart.nullFailed(I[186], 433, 50, "headerValue");
    let tokens = T$.JSArrayOfString().of([]);
    let start = 0;
    let index = 0;
    while (index < headerValue.length) {
      if (headerValue[$_get](index) === ",") {
        tokens[$add](headerValue[$substring](start, index));
        start = index + 1;
      } else if (headerValue[$_get](index) === " " || headerValue[$_get](index) === "\t") {
        start = start + 1;
      }
      index = index + 1;
    }
    tokens[$add](headerValue[$substring](start, index));
    return tokens;
  }
  static _upgrade(request, protocolSelector, compression) {
    let t304;
    if (request == null) dart.nullFailed(I[186], 450, 49, "request");
    if (compression == null) dart.nullFailed(I[186], 451, 63, "compression");
    let response = request.response;
    if (!dart.test(_http._WebSocketTransformerImpl._isUpgradeRequest(request))) {
      t304 = response;
      (() => {
        t304.statusCode = 400;
        t304.close();
        return t304;
      })();
      return T.FutureOfWebSocket().error(new _http.WebSocketException.new("Invalid WebSocket upgrade request"));
    }
    function upgrade(protocol) {
      let t304;
      t304 = response;
      (() => {
        t304.statusCode = 101;
        t304.headers.add("connection", "Upgrade");
        t304.headers.add("upgrade", "websocket");
        return t304;
      })();
      let key = dart.nullCheck(request.headers.value("Sec-WebSocket-Key"));
      let sha1 = new _http._SHA1.new();
      sha1.add((key + dart.str(_http._webSocketGUID))[$codeUnits]);
      let accept = _http._CryptoUtils.bytesToBase64(sha1.close());
      response.headers.add("Sec-WebSocket-Accept", accept);
      if (protocol != null) {
        response.headers.add("Sec-WebSocket-Protocol", protocol);
      }
      let deflate = _http._WebSocketTransformerImpl._negotiateCompression(request, response, compression);
      response.headers.contentLength = 0;
      return response.detachSocket().then(_http.WebSocket, dart.fn(socket => {
        if (socket == null) dart.nullFailed(I[186], 480, 55, "socket");
        return new _http._WebSocketImpl._fromSocket(socket, protocol, compression, true, deflate);
      }, T.SocketTo_WebSocketImpl()));
    }
    dart.fn(upgrade, T.StringNToFutureOfWebSocket());
    let protocols = request.headers._get("Sec-WebSocket-Protocol");
    if (protocols != null && protocolSelector != null) {
      let tokenizedProtocols = _http._WebSocketTransformerImpl._tokenizeFieldValue(protocols[$join](", "));
      return T$0.FutureOfString().new(dart.fn(() => T$0.FutureOrOfString().as(protocolSelector(tokenizedProtocols)), T.VoidToFutureOrOfString())).then(core.String, dart.fn(protocol => {
        if (protocol == null) dart.nullFailed(I[186], 492, 26, "protocol");
        if (dart.notNull(tokenizedProtocols[$indexOf](protocol)) < 0) {
          dart.throw(new _http.WebSocketException.new("Selected protocol is not in the list of available protocols"));
        }
        return protocol;
      }, T$.StringToString())).catchError(dart.fn(error => {
        let t304;
        t304 = response;
        (() => {
          t304.statusCode = 500;
          t304.close();
          return t304;
        })();
        dart.throw(error);
      }, T$0.dynamicToNever())).then(_http.WebSocket, upgrade);
    } else {
      return upgrade(null);
    }
  }
  static _negotiateCompression(request, response, compression) {
    if (request == null) dart.nullFailed(I[186], 509, 73, "request");
    if (response == null) dart.nullFailed(I[186], 510, 20, "response");
    if (compression == null) dart.nullFailed(I[186], 510, 49, "compression");
    let extensionHeader = request.headers.value("Sec-WebSocket-Extensions");
    extensionHeader == null ? extensionHeader = "" : null;
    let hv = _http.HeaderValue.parse(extensionHeader, {valueSeparator: ","});
    if (dart.test(compression.enabled) && hv.value === "permessage-deflate") {
      let info = compression[_createHeader](hv);
      response.headers.add("Sec-WebSocket-Extensions", info.headerValue);
      let serverNoContextTakeover = dart.test(hv.parameters[$containsKey]("server_no_context_takeover")) && dart.test(compression.serverNoContextTakeover);
      let clientNoContextTakeover = dart.test(hv.parameters[$containsKey]("client_no_context_takeover")) && dart.test(compression.clientNoContextTakeover);
      let deflate = new _http._WebSocketPerMessageDeflate.new({serverNoContextTakeover: serverNoContextTakeover, clientNoContextTakeover: clientNoContextTakeover, serverMaxWindowBits: info.maxWindowBits, clientMaxWindowBits: info.maxWindowBits, serverSide: true});
      return deflate;
    }
    return null;
  }
  static _isUpgradeRequest(request) {
    if (request == null) dart.nullFailed(I[186], 539, 45, "request");
    if (request.method !== "GET") {
      return false;
    }
    let connectionHeader = request.headers._get("connection");
    if (connectionHeader == null) {
      return false;
    }
    let isUpgrade = false;
    for (let value of connectionHeader) {
      if (value[$toLowerCase]() === "upgrade") {
        isUpgrade = true;
        break;
      }
    }
    if (!isUpgrade) return false;
    let upgrade = request.headers.value("upgrade");
    if (upgrade == null || upgrade[$toLowerCase]() !== "websocket") {
      return false;
    }
    let version = request.headers.value("Sec-WebSocket-Version");
    if (version == null || version !== "13") {
      return false;
    }
    let key = request.headers.value("Sec-WebSocket-Key");
    if (key == null) {
      return false;
    }
    return true;
  }
};
(_http._WebSocketTransformerImpl.new = function(_protocolSelector, _compression) {
  if (_compression == null) dart.nullFailed(I[186], 419, 58, "_compression");
  this[_controller$0] = T.StreamControllerOfWebSocket().new({sync: true});
  this[_protocolSelector$] = _protocolSelector;
  this[_compression$] = _compression;
  _http._WebSocketTransformerImpl.__proto__.new.call(this);
  ;
}).prototype = _http._WebSocketTransformerImpl.prototype;
dart.addTypeTests(_http._WebSocketTransformerImpl);
dart.addTypeCaches(_http._WebSocketTransformerImpl);
_http._WebSocketTransformerImpl[dart.implements] = () => [_http.WebSocketTransformer];
dart.setMethodSignature(_http._WebSocketTransformerImpl, () => ({
  __proto__: dart.getMethods(_http._WebSocketTransformerImpl.__proto__),
  bind: dart.fnType(async.Stream$(_http.WebSocket), [dart.nullable(core.Object)])
}));
dart.setLibraryUri(_http._WebSocketTransformerImpl, I[177]);
dart.setFieldSignature(_http._WebSocketTransformerImpl, () => ({
  __proto__: dart.getFields(_http._WebSocketTransformerImpl.__proto__),
  [_controller$0]: dart.finalFieldType(async.StreamController$(_http.WebSocket)),
  [_protocolSelector$]: dart.finalFieldType(dart.nullable(dart.fnType(dart.dynamic, [core.List$(core.String)]))),
  [_compression$]: dart.finalFieldType(_http.CompressionOptions)
}));
var _ensureDecoder = dart.privateName(_http, "_ensureDecoder");
var _ensureEncoder = dart.privateName(_http, "_ensureEncoder");
_http._WebSocketPerMessageDeflate = class _WebSocketPerMessageDeflate extends core.Object {
  [_ensureDecoder]() {
    let t304;
    t304 = this.decoder;
    return t304 == null ? this.decoder = io.RawZLibFilter.inflateFilter({windowBits: dart.test(this.serverSide) ? this.clientMaxWindowBits : this.serverMaxWindowBits, raw: true}) : t304;
  }
  [_ensureEncoder]() {
    let t304;
    t304 = this.encoder;
    return t304 == null ? this.encoder = io.RawZLibFilter.deflateFilter({windowBits: dart.test(this.serverSide) ? this.serverMaxWindowBits : this.clientMaxWindowBits, raw: true}) : t304;
  }
  processIncomingMessage(msg) {
    if (msg == null) dart.nullFailed(I[186], 596, 46, "msg");
    let decoder = this[_ensureDecoder]();
    let data = T$.JSArrayOfint().of([]);
    data[$addAll](msg);
    data[$addAll](C[490] || CT.C490);
    decoder.process(data, 0, data[$length]);
    let result = _internal.BytesBuilder.new();
    let out = null;
    while (true) {
      let out = decoder.processed();
      if (out == null) break;
      result.add(out);
    }
    if (dart.test(this.serverSide) && dart.test(this.clientNoContextTakeover) || !dart.test(this.serverSide) && dart.test(this.serverNoContextTakeover)) {
      this.decoder = null;
    }
    return result.takeBytes();
  }
  processOutgoingMessage(msg) {
    if (msg == null) dart.nullFailed(I[186], 621, 46, "msg");
    let encoder = this[_ensureEncoder]();
    let result = T$.JSArrayOfint().of([]);
    let buffer = null;
    if (!typed_data.Uint8List.is(msg)) {
      for (let i = 0; i < dart.notNull(msg[$length]); i = i + 1) {
        if (dart.notNull(msg[$_get](i)) < 0 || 255 < dart.notNull(msg[$_get](i))) {
          dart.throw(new core.ArgumentError.new("List element is not a byte value " + "(value " + dart.str(msg[$_get](i)) + " at index " + dart.str(i) + ")"));
        }
      }
      buffer = _native_typed_data.NativeUint8List.fromList(msg);
    } else {
      buffer = msg;
    }
    encoder.process(buffer, 0, buffer[$length]);
    while (true) {
      let out = encoder.processed();
      if (out == null) break;
      result[$addAll](out);
    }
    if (!dart.test(this.serverSide) && dart.test(this.clientNoContextTakeover) || dart.test(this.serverSide) && dart.test(this.serverNoContextTakeover)) {
      this.encoder = null;
    }
    if (dart.notNull(result[$length]) > 4) {
      result = result[$sublist](0, dart.notNull(result[$length]) - 4);
    }
    if (result[$length] === 0) {
      return T$.JSArrayOfint().of([0]);
    }
    return result;
  }
};
(_http._WebSocketPerMessageDeflate.new = function(opts) {
  let clientMaxWindowBits = opts && 'clientMaxWindowBits' in opts ? opts.clientMaxWindowBits : 15;
  if (clientMaxWindowBits == null) dart.nullFailed(I[186], 582, 13, "clientMaxWindowBits");
  let serverMaxWindowBits = opts && 'serverMaxWindowBits' in opts ? opts.serverMaxWindowBits : 15;
  if (serverMaxWindowBits == null) dart.nullFailed(I[186], 583, 12, "serverMaxWindowBits");
  let serverNoContextTakeover = opts && 'serverNoContextTakeover' in opts ? opts.serverNoContextTakeover : false;
  if (serverNoContextTakeover == null) dart.nullFailed(I[186], 584, 12, "serverNoContextTakeover");
  let clientNoContextTakeover = opts && 'clientNoContextTakeover' in opts ? opts.clientNoContextTakeover : false;
  if (clientNoContextTakeover == null) dart.nullFailed(I[186], 585, 12, "clientNoContextTakeover");
  let serverSide = opts && 'serverSide' in opts ? opts.serverSide : false;
  if (serverSide == null) dart.nullFailed(I[186], 586, 12, "serverSide");
  this.decoder = null;
  this.encoder = null;
  this.clientMaxWindowBits = clientMaxWindowBits;
  this.serverMaxWindowBits = serverMaxWindowBits;
  this.serverNoContextTakeover = serverNoContextTakeover;
  this.clientNoContextTakeover = clientNoContextTakeover;
  this.serverSide = serverSide;
  ;
}).prototype = _http._WebSocketPerMessageDeflate.prototype;
dart.addTypeTests(_http._WebSocketPerMessageDeflate);
dart.addTypeCaches(_http._WebSocketPerMessageDeflate);
dart.setMethodSignature(_http._WebSocketPerMessageDeflate, () => ({
  __proto__: dart.getMethods(_http._WebSocketPerMessageDeflate.__proto__),
  [_ensureDecoder]: dart.fnType(io.RawZLibFilter, []),
  [_ensureEncoder]: dart.fnType(io.RawZLibFilter, []),
  processIncomingMessage: dart.fnType(typed_data.Uint8List, [core.List$(core.int)]),
  processOutgoingMessage: dart.fnType(core.List$(core.int), [core.List$(core.int)])
}));
dart.setLibraryUri(_http._WebSocketPerMessageDeflate, I[177]);
dart.setFieldSignature(_http._WebSocketPerMessageDeflate, () => ({
  __proto__: dart.getFields(_http._WebSocketPerMessageDeflate.__proto__),
  serverNoContextTakeover: dart.fieldType(core.bool),
  clientNoContextTakeover: dart.fieldType(core.bool),
  clientMaxWindowBits: dart.fieldType(core.int),
  serverMaxWindowBits: dart.fieldType(core.int),
  serverSide: dart.fieldType(core.bool),
  decoder: dart.fieldType(dart.nullable(io.RawZLibFilter)),
  encoder: dart.fieldType(dart.nullable(io.RawZLibFilter))
}));
var _deflateHelper = dart.privateName(_http, "_deflateHelper");
var _outCloseCode = dart.privateName(_http, "_outCloseCode");
var _outCloseReason = dart.privateName(_http, "_outCloseReason");
_http._WebSocketOutgoingTransformer = class _WebSocketOutgoingTransformer extends async.StreamTransformerBase$(dart.dynamic, core.List$(core.int)) {
  bind(stream) {
    async.Stream.as(stream);
    if (stream == null) dart.nullFailed(I[186], 679, 33, "stream");
    return T$0.StreamOfListOfint().eventTransformed(stream, dart.fn(eventSink => {
      if (eventSink == null) dart.nullFailed(I[186], 681, 31, "eventSink");
      if (this[_eventSink$] != null) {
        dart.throw(new core.StateError.new("WebSocket transformer already used"));
      }
      this[_eventSink$] = eventSink;
      return this;
    }, T.EventSinkOfListOfintTo_WebSocketOutgoingTransformer()));
  }
  add(message) {
    if (_http._WebSocketPong.is(message)) {
      this.addFrame(10, message.payload);
      return;
    }
    if (_http._WebSocketPing.is(message)) {
      this.addFrame(9, message.payload);
      return;
    }
    let data = null;
    let opcode = null;
    if (message != null) {
      let messageData = null;
      if (typeof message == 'string') {
        opcode = 1;
        messageData = convert.utf8.encode(message);
      } else if (T$0.ListOfint().is(message)) {
        opcode = 2;
        messageData = message;
      } else if (_http._EncodedString.is(message)) {
        opcode = 1;
        messageData = message.bytes;
      } else {
        dart.throw(new core.ArgumentError.new(message));
      }
      let deflateHelper = this[_deflateHelper];
      if (deflateHelper != null) {
        messageData = deflateHelper.processOutgoingMessage(messageData);
      }
      data = messageData;
    } else {
      opcode = 1;
    }
    this.addFrame(opcode, data);
  }
  addError(error, stackTrace = null) {
    if (error == null) dart.nullFailed(I[186], 726, 24, "error");
    core.ArgumentError.checkNotNull(core.Object, error, "error");
    dart.nullCheck(this[_eventSink$]).addError(error, stackTrace);
  }
  close() {
    let code = this.webSocket[_outCloseCode];
    let reason = this.webSocket[_outCloseReason];
    let data = null;
    if (code != null) {
      data = (() => {
        let t304 = T$.JSArrayOfint().of([dart.notNull(code) >> 8 & 255, dart.notNull(code) & 255]);
        if (reason != null) t304[$addAll](convert.utf8.encode(reason));
        return t304;
      })();
    }
    this.addFrame(8, data);
    dart.nullCheck(this[_eventSink$]).close();
  }
  addFrame(opcode, data) {
    if (opcode == null) dart.nullFailed(I[186], 747, 21, "opcode");
    _http._WebSocketOutgoingTransformer.createFrame(opcode, data, this.webSocket[_serverSide$], this[_deflateHelper] != null && (opcode === 1 || opcode === 2))[$forEach](dart.fn(e => {
      if (e == null) dart.nullFailed(I[186], 755, 19, "e");
      dart.nullCheck(this[_eventSink$]).add(e);
    }, T$0.ListOfintTovoid()));
  }
  static createFrame(opcode, data, serverSide, compressed) {
    let t305, t305$, t305$0, t305$1, t306, t305$2, t306$, t305$3, t306$0, t305$4;
    if (opcode == null) dart.nullFailed(I[186], 761, 11, "opcode");
    if (serverSide == null) dart.nullFailed(I[186], 761, 41, "serverSide");
    if (compressed == null) dart.nullFailed(I[186], 761, 58, "compressed");
    let mask = !dart.test(serverSide);
    let dataLength = data == null ? 0 : data[$length];
    let headerSize = mask ? 6 : 2;
    if (dart.notNull(dataLength) > 65535) {
      headerSize = headerSize + 8;
    } else if (dart.notNull(dataLength) > 125) {
      headerSize = headerSize + 2;
    }
    let header = _native_typed_data.NativeUint8List.new(headerSize);
    let index = 0;
    let hoc = (128 | (dart.test(compressed) ? 64 : 0) | (dart.notNull(opcode) & 15) >>> 0) >>> 0;
    header[$_set]((t305 = index, index = t305 + 1, t305), hoc);
    let lengthBytes = 1;
    if (dart.notNull(dataLength) > 65535) {
      header[$_set]((t305$ = index, index = t305$ + 1, t305$), 127);
      lengthBytes = 8;
    } else if (dart.notNull(dataLength) > 125) {
      header[$_set]((t305$0 = index, index = t305$0 + 1, t305$0), 126);
      lengthBytes = 2;
    }
    for (let i = 0; i < lengthBytes; i = i + 1) {
      header[$_set]((t305$1 = index, index = t305$1 + 1, t305$1), dataLength[$rightShift]((lengthBytes - 1 - i) * 8) & 255);
    }
    if (mask) {
      t305$2 = header;
      t306 = 1;
      t305$2[$_set](t306, (dart.notNull(t305$2[$_get](t306)) | 1 << 7) >>> 0);
      let maskBytes = _http._CryptoUtils.getRandomBytes(4);
      header[$setRange](index, index + 4, maskBytes);
      index = index + 4;
      if (data != null) {
        let list = null;
        if (opcode === 1 && typed_data.Uint8List.is(data)) {
          list = data;
        } else {
          if (typed_data.Uint8List.is(data)) {
            list = _native_typed_data.NativeUint8List.fromList(data);
          } else {
            list = _native_typed_data.NativeUint8List.new(data[$length]);
            for (let i = 0; i < dart.notNull(data[$length]); i = i + 1) {
              if (dart.notNull(data[$_get](i)) < 0 || 255 < dart.notNull(data[$_get](i))) {
                dart.throw(new core.ArgumentError.new("List element is not a byte value " + "(value " + dart.str(data[$_get](i)) + " at index " + dart.str(i) + ")"));
              }
              list[$_set](i, data[$_get](i));
            }
          }
        }
        let blockCount = (dart.notNull(list[$length]) / 16)[$truncate]();
        if (blockCount > 0) {
          let mask = 0;
          for (let i = 3; i >= 0; i = i - 1) {
            mask = (mask << 8 | dart.notNull(maskBytes[$_get](i))) >>> 0;
          }
          let blockMask = new _native_typed_data.NativeInt32x4.new(mask, mask, mask, mask);
          let blockBuffer = typed_data.Int32x4List.view(list[$buffer], list[$offsetInBytes], blockCount);
          for (let i = 0; i < dart.notNull(blockBuffer[$length]); i = i + 1) {
            t305$3 = blockBuffer;
            t306$ = i;
            t305$3[$_set](t306$, t305$3[$_get](t306$)['^'](blockMask));
          }
        }
        for (let i = blockCount * 16; i < dart.notNull(list[$length]); i = i + 1) {
          t305$4 = list;
          t306$0 = i;
          t305$4[$_set](t306$0, (dart.notNull(t305$4[$_get](t306$0)) ^ dart.notNull(maskBytes[$_get](i & 3))) >>> 0);
        }
        data = list;
      }
    }
    if (!(index === headerSize)) dart.assertFailed(null, I[186], 840, 12, "index == headerSize");
    if (data == null) {
      return T$0.JSArrayOfListOfint().of([header]);
    } else {
      return T$0.JSArrayOfListOfint().of([header, data]);
    }
  }
};
(_http._WebSocketOutgoingTransformer.new = function(webSocket) {
  if (webSocket == null) dart.nullFailed(I[186], 676, 38, "webSocket");
  this[_eventSink$] = null;
  this.webSocket = webSocket;
  this[_deflateHelper] = webSocket[_deflate$];
  _http._WebSocketOutgoingTransformer.__proto__.new.call(this);
  ;
}).prototype = _http._WebSocketOutgoingTransformer.prototype;
dart.addTypeTests(_http._WebSocketOutgoingTransformer);
dart.addTypeCaches(_http._WebSocketOutgoingTransformer);
_http._WebSocketOutgoingTransformer[dart.implements] = () => [async.EventSink];
dart.setMethodSignature(_http._WebSocketOutgoingTransformer, () => ({
  __proto__: dart.getMethods(_http._WebSocketOutgoingTransformer.__proto__),
  bind: dart.fnType(async.Stream$(core.List$(core.int)), [dart.nullable(core.Object)]),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
  close: dart.fnType(dart.void, []),
  addFrame: dart.fnType(dart.void, [core.int, dart.nullable(core.List$(core.int))])
}));
dart.setLibraryUri(_http._WebSocketOutgoingTransformer, I[177]);
dart.setFieldSignature(_http._WebSocketOutgoingTransformer, () => ({
  __proto__: dart.getFields(_http._WebSocketOutgoingTransformer.__proto__),
  webSocket: dart.finalFieldType(_http._WebSocketImpl),
  [_eventSink$]: dart.fieldType(dart.nullable(async.EventSink$(core.List$(core.int)))),
  [_deflateHelper]: dart.fieldType(dart.nullable(_http._WebSocketPerMessageDeflate))
}));
var _issuedPause = dart.privateName(_http, "_issuedPause");
var _closed$ = dart.privateName(_http, "_closed");
var _closeCompleter$ = dart.privateName(_http, "_closeCompleter");
var _completer = dart.privateName(_http, "_completer");
var _onListen = dart.privateName(_http, "_onListen");
var _onPause$ = dart.privateName(_http, "_onPause");
var _onResume$ = dart.privateName(_http, "_onResume");
var _cancel$ = dart.privateName(_http, "_cancel");
var _done = dart.privateName(_http, "_done");
var _ensureController = dart.privateName(_http, "_ensureController");
_http._WebSocketConsumer = class _WebSocketConsumer extends core.Object {
  [_onListen]() {
    let t305;
    t305 = this[_subscription$0];
    t305 == null ? null : t305.cancel();
  }
  [_onPause$]() {
    let subscription = this[_subscription$0];
    if (subscription != null) {
      subscription.pause();
    } else {
      this[_issuedPause] = true;
    }
  }
  [_onResume$]() {
    let subscription = this[_subscription$0];
    if (subscription != null) {
      subscription.resume();
    } else {
      this[_issuedPause] = false;
    }
  }
  [_cancel$]() {
    let subscription = this[_subscription$0];
    if (subscription != null) {
      this[_subscription$0] = null;
      subscription.cancel();
    }
  }
  [_ensureController]() {
    let controller = this[_controller$0];
    if (controller != null) return controller;
    controller = this[_controller$0] = async.StreamController.new({sync: true, onPause: dart.bind(this, _onPause$), onResume: dart.bind(this, _onResume$), onCancel: dart.bind(this, _onListen)});
    let stream = controller.stream.transform(T$0.ListOfint(), new _http._WebSocketOutgoingTransformer.new(this.webSocket));
    this.socket.addStream(stream).then(core.Null, dart.fn(_ => {
      this[_done]();
      this[_closeCompleter$].complete(this.webSocket);
    }, T$.dynamicToNull()), {onError: dart.fn((error, stackTrace) => {
        if (error == null) dart.nullFailed(I[186], 904, 25, "error");
        if (stackTrace == null) dart.nullFailed(I[186], 904, 43, "stackTrace");
        this[_closed$] = true;
        this[_cancel$]();
        if (core.ArgumentError.is(error)) {
          if (!dart.test(this[_done](error, stackTrace))) {
            this[_closeCompleter$].completeError(error, stackTrace);
          }
        } else {
          this[_done]();
          this[_closeCompleter$].complete(this.webSocket);
        }
      }, T$.ObjectAndStackTraceToNull())});
    return controller;
  }
  [_done](error = null, stackTrace = null) {
    let completer = this[_completer];
    if (completer == null) return false;
    if (error != null) {
      completer.completeError(error, stackTrace);
    } else {
      completer.complete(this.webSocket);
    }
    this[_completer] = null;
    return true;
  }
  addStream(stream) {
    async.Stream.as(stream);
    if (stream == null) dart.nullFailed(I[186], 931, 27, "stream");
    if (dart.test(this[_closed$])) {
      stream.listen(null).cancel();
      return async.Future.value(this.webSocket);
    }
    this[_ensureController]();
    let completer = this[_completer] = async.Completer.new();
    let subscription = this[_subscription$0] = stream.listen(dart.fn(data => {
      dart.nullCheck(this[_controller$0]).add(data);
    }, T$.dynamicTovoid()), {onDone: dart.bind(this, _done), onError: dart.bind(this, _done), cancelOnError: true});
    if (dart.test(this[_issuedPause])) {
      subscription.pause();
      this[_issuedPause] = false;
    }
    return completer.future;
  }
  close() {
    this[_ensureController]().close();
    return this[_closeCompleter$].future.then(dart.dynamic, dart.fn(_ => this.socket.close().catchError(dart.fn(_ => {
    }, T$.dynamicToNull())).then(dart.dynamic, dart.fn(_ => this.webSocket, T.dynamicTo_WebSocketImpl())), T$.dynamicToFuture()));
  }
  add(data) {
    if (dart.test(this[_closed$])) return;
    let controller = this[_ensureController]();
    if (dart.test(controller.isClosed)) return;
    controller.add(data);
  }
  closeSocket() {
    this[_closed$] = true;
    this[_cancel$]();
    this.close();
  }
};
(_http._WebSocketConsumer.new = function(webSocket, socket) {
  if (webSocket == null) dart.nullFailed(I[186], 859, 27, "webSocket");
  if (socket == null) dart.nullFailed(I[186], 859, 43, "socket");
  this[_controller$0] = null;
  this[_subscription$0] = null;
  this[_issuedPause] = false;
  this[_closed$] = false;
  this[_closeCompleter$] = T.CompleterOfWebSocket().new();
  this[_completer] = null;
  this.webSocket = webSocket;
  this.socket = socket;
  ;
}).prototype = _http._WebSocketConsumer.prototype;
dart.addTypeTests(_http._WebSocketConsumer);
dart.addTypeCaches(_http._WebSocketConsumer);
_http._WebSocketConsumer[dart.implements] = () => [async.StreamConsumer];
dart.setMethodSignature(_http._WebSocketConsumer, () => ({
  __proto__: dart.getMethods(_http._WebSocketConsumer.__proto__),
  [_onListen]: dart.fnType(dart.void, []),
  [_onPause$]: dart.fnType(dart.void, []),
  [_onResume$]: dart.fnType(dart.void, []),
  [_cancel$]: dart.fnType(dart.void, []),
  [_ensureController]: dart.fnType(async.StreamController, []),
  [_done]: dart.fnType(core.bool, [], [dart.nullable(core.Object), dart.nullable(core.StackTrace)]),
  addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
  close: dart.fnType(async.Future, []),
  add: dart.fnType(dart.void, [dart.dynamic]),
  closeSocket: dart.fnType(dart.void, [])
}));
dart.setLibraryUri(_http._WebSocketConsumer, I[177]);
dart.setFieldSignature(_http._WebSocketConsumer, () => ({
  __proto__: dart.getFields(_http._WebSocketConsumer.__proto__),
  webSocket: dart.finalFieldType(_http._WebSocketImpl),
  socket: dart.finalFieldType(io.Socket),
  [_controller$0]: dart.fieldType(dart.nullable(async.StreamController)),
  [_subscription$0]: dart.fieldType(dart.nullable(async.StreamSubscription)),
  [_issuedPause]: dart.fieldType(core.bool),
  [_closed$]: dart.fieldType(core.bool),
  [_closeCompleter$]: dart.fieldType(async.Completer),
  [_completer]: dart.fieldType(dart.nullable(async.Completer))
}));
var ___WebSocketImpl__sink = dart.privateName(_http, "_#_WebSocketImpl#_sink");
var ___WebSocketImpl__sink_isSet = dart.privateName(_http, "_#_WebSocketImpl#_sink#isSet");
var _readyState = dart.privateName(_http, "_readyState");
var _writeClosed = dart.privateName(_http, "_writeClosed");
var _closeCode = dart.privateName(_http, "_closeCode");
var _closeReason = dart.privateName(_http, "_closeReason");
var _pingInterval = dart.privateName(_http, "_pingInterval");
var _pingTimer = dart.privateName(_http, "_pingTimer");
var ___WebSocketImpl__consumer = dart.privateName(_http, "_#_WebSocketImpl#_consumer");
var ___WebSocketImpl__consumer_isSet = dart.privateName(_http, "_#_WebSocketImpl#_consumer#isSet");
var _closeTimer = dart.privateName(_http, "_closeTimer");
var _consumer = dart.privateName(_http, "_consumer");
var _sink = dart.privateName(_http, "_sink");
var _close$0 = dart.privateName(_http, "_close");
const Stream__ServiceObject$36$ = class Stream__ServiceObject extends async.Stream {};
(Stream__ServiceObject$36$.new = function() {
  _http._ServiceObject.new.call(this);
  Stream__ServiceObject$36$.__proto__.new.call(this);
}).prototype = Stream__ServiceObject$36$.prototype;
(Stream__ServiceObject$36$._internal = function() {
  _http._ServiceObject.new.call(this);
  Stream__ServiceObject$36$.__proto__._internal.call(this);
}).prototype = Stream__ServiceObject$36$.prototype;
dart.applyMixin(Stream__ServiceObject$36$, _http._ServiceObject);
_http._WebSocketImpl = class _WebSocketImpl extends Stream__ServiceObject$36$ {
  get [_sink]() {
    let t305;
    return dart.test(this[___WebSocketImpl__sink_isSet]) ? (t305 = this[___WebSocketImpl__sink], t305) : dart.throw(new _internal.LateError.fieldNI("_sink"));
  }
  set [_sink](t305) {
    if (t305 == null) dart.nullFailed(I[186], 981, 19, "null");
    this[___WebSocketImpl__sink_isSet] = true;
    this[___WebSocketImpl__sink] = t305;
  }
  get [_consumer]() {
    let t306;
    return dart.test(this[___WebSocketImpl__consumer_isSet]) ? (t306 = this[___WebSocketImpl__consumer], t306) : dart.throw(new _internal.LateError.fieldNI("_consumer"));
  }
  set [_consumer](t306) {
    if (t306 == null) dart.nullFailed(I[186], 991, 27, "null");
    this[___WebSocketImpl__consumer_isSet] = true;
    this[___WebSocketImpl__consumer] = t306;
  }
  static connect(url, protocols, headers, opts) {
    if (url == null) dart.nullFailed(I[186], 1001, 14, "url");
    let compression = opts && 'compression' in opts ? opts.compression : C[488] || CT.C488;
    if (compression == null) dart.nullFailed(I[186], 1002, 27, "compression");
    let uri = core.Uri.parse(url);
    if (uri.scheme !== "ws" && uri.scheme !== "wss") {
      dart.throw(new _http.WebSocketException.new("Unsupported URL scheme '" + dart.str(uri.scheme) + "'"));
    }
    let random = math.Random.new();
    let nonceData = _native_typed_data.NativeUint8List.new(16);
    for (let i = 0; i < 16; i = i + 1) {
      nonceData[$_set](i, random.nextInt(256));
    }
    let nonce = _http._CryptoUtils.bytesToBase64(nonceData);
    let callerStackTrace = core.StackTrace.current;
    uri = core._Uri.new({scheme: uri.scheme === "wss" ? "https" : "http", userInfo: uri.userInfo, host: uri.host, port: uri.port, path: uri.path, query: uri.query, fragment: uri.fragment});
    return _http._WebSocketImpl._httpClient.openUrl("GET", uri).then(_http.HttpClientResponse, dart.fn(request => {
      let t307;
      if (request == null) dart.nullFailed(I[186], 1027, 50, "request");
      if (uri.userInfo != null && !uri.userInfo[$isEmpty]) {
        let auth = _http._CryptoUtils.bytesToBase64(convert.utf8.encode(uri.userInfo));
        request.headers.set("authorization", "Basic " + dart.str(auth));
      }
      if (headers != null) {
        headers[$forEach](dart.fn((field, value) => {
          if (field == null) dart.nullFailed(I[186], 1035, 26, "field");
          return request.headers.add(field, core.Object.as(value));
        }, T$0.StringAnddynamicTovoid()));
      }
      t307 = request.headers;
      (() => {
        t307.set("connection", "Upgrade");
        t307.set("upgrade", "websocket");
        t307.set("Sec-WebSocket-Key", nonce);
        t307.set("Cache-Control", "no-cache");
        t307.set("Sec-WebSocket-Version", "13");
        return t307;
      })();
      if (protocols != null) {
        request.headers.add("Sec-WebSocket-Protocol", protocols[$toList]());
      }
      if (dart.test(compression.enabled)) {
        request.headers.add("Sec-WebSocket-Extensions", compression[_createHeader]());
      }
      return request.close();
    }, T.HttpClientRequestToFutureOfHttpClientResponse())).then(_http.WebSocket, dart.fn(response => {
      if (response == null) dart.nullFailed(I[186], 1054, 14, "response");
      function error(message) {
        if (message == null) dart.nullFailed(I[186], 1055, 38, "message");
        response.detachSocket().then(core.Null, dart.fn(socket => {
          if (socket == null) dart.nullFailed(I[186], 1057, 39, "socket");
          socket.destroy();
        }, T.SocketToNull()));
        return T.FutureOfWebSocket().error(new _http.WebSocketException.new(message), callerStackTrace);
      }
      dart.fn(error, T.StringToFutureOfWebSocket());
      let connectionHeader = response.headers._get("connection");
      if (response.statusCode !== 101 || connectionHeader == null || !dart.test(connectionHeader[$any](dart.fn(value => {
        if (value == null) dart.nullFailed(I[186], 1067, 34, "value");
        return value[$toLowerCase]() === "upgrade";
      }, T$.StringTobool()))) || dart.nullCheck(response.headers.value("upgrade"))[$toLowerCase]() !== "websocket") {
        return error("Connection to '" + dart.str(uri) + "' was not upgraded to websocket");
      }
      let accept = response.headers.value("Sec-WebSocket-Accept");
      if (accept == null) {
        return error("Response did not contain a 'Sec-WebSocket-Accept' header");
      }
      let sha1 = new _http._SHA1.new();
      sha1.add((dart.str(nonce) + dart.str(_http._webSocketGUID))[$codeUnits]);
      let expectedAccept = sha1.close();
      let receivedAccept = _http._CryptoUtils.base64StringToBytes(accept);
      if (expectedAccept[$length] != receivedAccept[$length]) {
        return error("Response header 'Sec-WebSocket-Accept' is the wrong length");
      }
      for (let i = 0; i < dart.notNull(expectedAccept[$length]); i = i + 1) {
        if (expectedAccept[$_get](i) != receivedAccept[$_get](i)) {
          return error("Bad response 'Sec-WebSocket-Accept' header");
        }
      }
      let protocol = response.headers.value("Sec-WebSocket-Protocol");
      let deflate = _http._WebSocketImpl.negotiateClientCompression(response, compression);
      return response.detachSocket().then(_http.WebSocket, dart.fn(socket => {
        if (socket == null) dart.nullFailed(I[186], 1095, 55, "socket");
        return new _http._WebSocketImpl._fromSocket(socket, protocol, compression, false, deflate);
      }, T.SocketTo_WebSocketImpl()));
    }, T.HttpClientResponseToFutureOfWebSocket()));
  }
  static negotiateClientCompression(response, compression) {
    let t307;
    if (response == null) dart.nullFailed(I[186], 1102, 26, "response");
    if (compression == null) dart.nullFailed(I[186], 1102, 55, "compression");
    let extensionHeader = (t307 = response.headers.value("Sec-WebSocket-Extensions"), t307 == null ? "" : t307);
    let hv = _http.HeaderValue.parse(extensionHeader, {valueSeparator: ","});
    if (dart.test(compression.enabled) && hv.value === "permessage-deflate") {
      let serverNoContextTakeover = hv.parameters[$containsKey]("server_no_context_takeover");
      let clientNoContextTakeover = hv.parameters[$containsKey]("client_no_context_takeover");
      function getWindowBits(type) {
        let t307;
        if (type == null) dart.nullFailed(I[186], 1114, 32, "type");
        let o = hv.parameters[$_get](type);
        if (o == null) {
          return 15;
        }
        t307 = core.int.tryParse(o);
        return t307 == null ? 15 : t307;
      }
      dart.fn(getWindowBits, T$0.StringToint());
      return new _http._WebSocketPerMessageDeflate.new({clientMaxWindowBits: getWindowBits("client_max_window_bits"), serverMaxWindowBits: getWindowBits("server_max_window_bits"), clientNoContextTakeover: clientNoContextTakeover, serverNoContextTakeover: serverNoContextTakeover});
    }
    return null;
  }
  listen(onData, opts) {
    let onError = opts && 'onError' in opts ? opts.onError : null;
    let onDone = opts && 'onDone' in opts ? opts.onDone : null;
    let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
    return this[_controller$0].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
  }
  get pingInterval() {
    return this[_pingInterval];
  }
  set pingInterval(interval) {
    let t307;
    if (dart.test(this[_writeClosed])) return;
    t307 = this[_pingTimer];
    t307 == null ? null : t307.cancel();
    this[_pingInterval] = interval;
    if (interval == null) return;
    this[_pingTimer] = async.Timer.new(interval, dart.fn(() => {
      if (dart.test(this[_writeClosed])) return;
      this[_consumer].add(new _http._WebSocketPing.new());
      this[_pingTimer] = async.Timer.new(interval, dart.fn(() => {
        let t307;
        t307 = this[_closeTimer];
        t307 == null ? null : t307.cancel();
        this[_close$0](1001);
        this[_closeCode] = this[_outCloseCode];
        this[_closeReason] = this[_outCloseReason];
        this[_controller$0].close();
      }, T$.VoidTovoid()));
    }, T$.VoidTovoid()));
  }
  get readyState() {
    return this[_readyState];
  }
  get extensions() {
    return "";
  }
  get closeCode() {
    return this[_closeCode];
  }
  get closeReason() {
    return this[_closeReason];
  }
  add(data) {
    this[_sink].add(data);
  }
  addUtf8Text(bytes) {
    if (bytes == null) dart.nullFailed(I[186], 1231, 30, "bytes");
    core.ArgumentError.checkNotNull(T$0.ListOfint(), bytes, "bytes");
    this[_sink].add(new _http._EncodedString.new(bytes));
  }
  addError(error, stackTrace = null) {
    if (error == null) dart.nullFailed(I[186], 1237, 24, "error");
    this[_sink].addError(error, stackTrace);
  }
  addStream(stream) {
    async.Stream.as(stream);
    if (stream == null) dart.nullFailed(I[186], 1241, 27, "stream");
    return this[_sink].addStream(stream);
  }
  get done() {
    return this[_sink].done;
  }
  close(code = null, reason = null) {
    if (dart.test(_http._WebSocketImpl._isReservedStatusCode(code))) {
      dart.throw(new _http.WebSocketException.new("Reserved status code " + dart.str(code)));
    }
    if (this[_outCloseCode] == null) {
      this[_outCloseCode] = code;
      this[_outCloseReason] = reason;
    }
    if (!dart.test(this[_controller$0].isClosed)) {
      if (!dart.test(this[_controller$0].hasListener) && this[_subscription$0] != null) {
        this[_controller$0].stream.drain(dart.dynamic).catchError(dart.fn(_ => new _js_helper.LinkedMap.new(), T.dynamicToMap()));
      }
      if (this[_closeTimer] == null) {
        this[_closeTimer] = async.Timer.new(C[491] || CT.C491, dart.fn(() => {
          let t307;
          this[_closeCode] = this[_outCloseCode];
          this[_closeReason] = this[_outCloseReason];
          t307 = this[_subscription$0];
          t307 == null ? null : t307.cancel();
          this[_controller$0].close();
          _http._WebSocketImpl._webSockets[$remove](this[_serviceId$]);
        }, T$.VoidTovoid()));
      }
    }
    return this[_sink].close();
  }
  static get userAgent() {
    return _http._WebSocketImpl._httpClient.userAgent;
  }
  static set userAgent(userAgent) {
    _http._WebSocketImpl._httpClient.userAgent = userAgent;
  }
  [_close$0](code = null, reason = null) {
    if (dart.test(this[_writeClosed])) return;
    if (this[_outCloseCode] == null) {
      this[_outCloseCode] = code;
      this[_outCloseReason] = reason;
    }
    this[_writeClosed] = true;
    this[_consumer].closeSocket();
    _http._WebSocketImpl._webSockets[$remove](this[_serviceId$]);
  }
  get [_serviceTypePath$]() {
    return "io/websockets";
  }
  get [_serviceTypeName$]() {
    return "WebSocket";
  }
  [_toJSON$](ref) {
    if (ref == null) dart.nullFailed(I[186], 1296, 37, "ref");
    let name = dart.str(this[_socket$0].address.host) + ":" + dart.str(this[_socket$0].port);
    let r = new (T$0.IdentityMapOfString$dynamic()).from(["id", this[_servicePath$], "type", this[_serviceType$](ref), "name", name, "user_name", name]);
    if (dart.test(ref)) {
      return r;
    }
    try {
      r[$_set]("socket", dart.dsend(this[_socket$0], _toJSON$, [true]));
    } catch (e) {
      let _ = dart.getThrown(e);
      if (core.Object.is(_)) {
        r[$_set]("socket", new (T$.IdentityMapOfString$String()).from(["id", this[_servicePath$], "type", "@Socket", "name", "UserSocket", "user_name", "UserSocket"]));
      } else
        throw e;
    }
    return r;
  }
  static _isReservedStatusCode(code) {
    return code != null && (dart.notNull(code) < 1000 || code === 1004 || code === 1005 || code === 1006 || dart.notNull(code) > 1011 && dart.notNull(code) < 1015 || dart.notNull(code) >= 1015 && dart.notNull(code) < 3000);
  }
};
(_http._WebSocketImpl._fromSocket = function(_socket, protocol, compression, _serverSide = false, deflate = null) {
  let t305;
  if (_socket == null) dart.nullFailed(I[186], 1134, 12, "_socket");
  if (compression == null) dart.nullFailed(I[186], 1134, 55, "compression");
  if (_serverSide == null) dart.nullFailed(I[186], 1135, 13, "_serverSide");
  this[_subscription$0] = null;
  this[___WebSocketImpl__sink] = null;
  this[___WebSocketImpl__sink_isSet] = false;
  this[_readyState] = 0;
  this[_writeClosed] = false;
  this[_closeCode] = null;
  this[_closeReason] = null;
  this[_pingInterval] = null;
  this[_pingTimer] = null;
  this[___WebSocketImpl__consumer] = null;
  this[___WebSocketImpl__consumer_isSet] = false;
  this[_outCloseCode] = null;
  this[_outCloseReason] = null;
  this[_closeTimer] = null;
  this[_deflate$] = null;
  this[_socket$0] = _socket;
  this.protocol = protocol;
  this[_serverSide$] = _serverSide;
  this[_controller$0] = async.StreamController.new({sync: true});
  _http._WebSocketImpl.__proto__.new.call(this);
  this[_consumer] = new _http._WebSocketConsumer.new(this, this[_socket$0]);
  this[_sink] = new _http._StreamSinkImpl.new(this[_consumer]);
  this[_readyState] = 1;
  this[_deflate$] = deflate;
  let transformer = new _http._WebSocketProtocolTransformer.new(this[_serverSide$], deflate);
  let subscription = this[_subscription$0] = transformer.bind(this[_socket$0]).listen(dart.fn(data => {
    if (_http._WebSocketPing.is(data)) {
      if (!dart.test(this[_writeClosed])) this[_consumer].add(new _http._WebSocketPong.new(data.payload));
    } else if (_http._WebSocketPong.is(data)) {
      this.pingInterval = this[_pingInterval];
    } else {
      this[_controller$0].add(data);
    }
  }, T$.dynamicTovoid()), {onError: dart.fn((error, stackTrace) => {
      let t305;
      if (error == null) dart.nullFailed(I[186], 1152, 25, "error");
      if (stackTrace == null) dart.nullFailed(I[186], 1152, 43, "stackTrace");
      t305 = this[_closeTimer];
      t305 == null ? null : t305.cancel();
      if (core.FormatException.is(error)) {
        this[_close$0](1007);
      } else {
        this[_close$0](1002);
      }
      this[_closeCode] = this[_outCloseCode];
      this[_closeReason] = this[_outCloseReason];
      this[_controller$0].close();
    }, T$.ObjectAndStackTraceToNull()), onDone: dart.fn(() => {
      let t305;
      t305 = this[_closeTimer];
      t305 == null ? null : t305.cancel();
      if (this[_readyState] === 1) {
        this[_readyState] = 2;
        if (!dart.test(_http._WebSocketImpl._isReservedStatusCode(transformer.closeCode))) {
          this[_close$0](transformer.closeCode, transformer.closeReason);
        } else {
          this[_close$0]();
        }
        this[_readyState] = 3;
      }
      this[_closeCode] = transformer.closeCode;
      this[_closeReason] = transformer.closeReason;
      this[_controller$0].close();
    }, T$.VoidTovoid()), cancelOnError: true});
  subscription.pause();
  t305 = this[_controller$0];
  (() => {
    t305.onListen = dart.bind(subscription, 'resume');
    t305.onCancel = dart.fn(() => {
      dart.nullCheck(this[_subscription$0]).cancel();
      this[_subscription$0] = null;
    }, T$.VoidToNull());
    t305.onPause = dart.bind(subscription, 'pause');
    t305.onResume = dart.bind(subscription, 'resume');
    return t305;
  })();
  _http._WebSocketImpl._webSockets[$_set](this[_serviceId$], this);
}).prototype = _http._WebSocketImpl.prototype;
dart.addTypeTests(_http._WebSocketImpl);
dart.addTypeCaches(_http._WebSocketImpl);
_http._WebSocketImpl[dart.implements] = () => [_http.WebSocket];
dart.setMethodSignature(_http._WebSocketImpl, () => ({
  __proto__: dart.getMethods(_http._WebSocketImpl.__proto__),
  listen: dart.fnType(async.StreamSubscription, [dart.nullable(dart.fnType(dart.void, [dart.dynamic]))], {cancelOnError: dart.nullable(core.bool), onDone: dart.nullable(dart.fnType(dart.void, [])), onError: dart.nullable(core.Function)}, {}),
  add: dart.fnType(dart.void, [dart.nullable(core.Object)]),
  addUtf8Text: dart.fnType(dart.void, [core.List$(core.int)]),
  addError: dart.fnType(dart.void, [core.Object], [dart.nullable(core.StackTrace)]),
  addStream: dart.fnType(async.Future, [dart.nullable(core.Object)]),
  close: dart.fnType(async.Future, [], [dart.nullable(core.int), dart.nullable(core.String)]),
  [_close$0]: dart.fnType(dart.void, [], [dart.nullable(core.int), dart.nullable(core.String)]),
  [_toJSON$]: dart.fnType(core.Map$(core.String, dart.dynamic), [core.bool])
}));
dart.setGetterSignature(_http._WebSocketImpl, () => ({
  __proto__: dart.getGetters(_http._WebSocketImpl.__proto__),
  [_sink]: async.StreamSink,
  [_consumer]: _http._WebSocketConsumer,
  pingInterval: dart.nullable(core.Duration),
  readyState: core.int,
  extensions: core.String,
  closeCode: dart.nullable(core.int),
  closeReason: dart.nullable(core.String),
  done: async.Future,
  [_serviceTypePath$]: core.String,
  [_serviceTypeName$]: core.String
}));
dart.setSetterSignature(_http._WebSocketImpl, () => ({
  __proto__: dart.getSetters(_http._WebSocketImpl.__proto__),
  [_sink]: async.StreamSink,
  [_consumer]: _http._WebSocketConsumer,
  pingInterval: dart.nullable(core.Duration)
}));
dart.setLibraryUri(_http._WebSocketImpl, I[177]);
dart.setFieldSignature(_http._WebSocketImpl, () => ({
  __proto__: dart.getFields(_http._WebSocketImpl.__proto__),
  protocol: dart.finalFieldType(dart.nullable(core.String)),
  [_controller$0]: dart.finalFieldType(async.StreamController),
  [_subscription$0]: dart.fieldType(dart.nullable(async.StreamSubscription)),
  [___WebSocketImpl__sink]: dart.fieldType(dart.nullable(async.StreamSink)),
  [___WebSocketImpl__sink_isSet]: dart.fieldType(core.bool),
  [_socket$0]: dart.finalFieldType(io.Socket),
  [_serverSide$]: dart.finalFieldType(core.bool),
  [_readyState]: dart.fieldType(core.int),
  [_writeClosed]: dart.fieldType(core.bool),
  [_closeCode]: dart.fieldType(dart.nullable(core.int)),
  [_closeReason]: dart.fieldType(dart.nullable(core.String)),
  [_pingInterval]: dart.fieldType(dart.nullable(core.Duration)),
  [_pingTimer]: dart.fieldType(dart.nullable(async.Timer)),
  [___WebSocketImpl__consumer]: dart.fieldType(dart.nullable(_http._WebSocketConsumer)),
  [___WebSocketImpl__consumer_isSet]: dart.fieldType(core.bool),
  [_outCloseCode]: dart.fieldType(dart.nullable(core.int)),
  [_outCloseReason]: dart.fieldType(dart.nullable(core.String)),
  [_closeTimer]: dart.fieldType(dart.nullable(async.Timer)),
  [_deflate$]: dart.fieldType(dart.nullable(_http._WebSocketPerMessageDeflate))
}));
dart.defineLazy(_http._WebSocketImpl, {
  /*_http._WebSocketImpl._webSockets*/get _webSockets() {
    return new (T.LinkedMapOfint$_WebSocketImpl()).new();
  },
  set _webSockets(_) {},
  /*_http._WebSocketImpl.DEFAULT_WINDOW_BITS*/get DEFAULT_WINDOW_BITS() {
    return 15;
  },
  /*_http._WebSocketImpl.PER_MESSAGE_DEFLATE*/get PER_MESSAGE_DEFLATE() {
    return "permessage-deflate";
  },
  /*_http._WebSocketImpl._httpClient*/get _httpClient() {
    return _http.HttpClient.new();
  }
}, false);
_http._getHttpVersion = function _getHttpVersion() {
  let version = io.Platform.version;
  let index = version[$indexOf](".", version[$indexOf](".") + 1);
  version = version[$substring](0, index);
  return "Dart/" + dart.str(version) + " (dart:io)";
};
dart.defineLazy(_http, {
  /*_http._MASK_8*/get _MASK_8() {
    return 255;
  },
  /*_http._MASK_32*/get _MASK_32() {
    return 4294967295.0;
  },
  /*_http._BITS_PER_BYTE*/get _BITS_PER_BYTE() {
    return 8;
  },
  /*_http._BYTES_PER_WORD*/get _BYTES_PER_WORD() {
    return 4;
  },
  /*_http._httpConnectionHook*/get _httpConnectionHook() {
    return dart.fn(_ => {
      if (_ == null) dart.nullFailed(I[187], 21, 43, "_");
    }, T.UriTovoid());
  },
  set _httpConnectionHook(_) {},
  /*_http._nextServiceId*/get _nextServiceId() {
    return 1;
  },
  set _nextServiceId(_) {},
  /*_http._OUTGOING_BUFFER_SIZE*/get _OUTGOING_BUFFER_SIZE() {
    return 8192;
  },
  /*_http._DART_SESSION_ID*/get _DART_SESSION_ID() {
    return "DARTSESSID";
  },
  /*_http._httpOverridesToken*/get _httpOverridesToken() {
    return new core.Object.new();
  },
  /*_http._asyncRunZoned*/get _asyncRunZoned() {
    return C[210] || CT.C210;
  },
  /*_http._webSocketGUID*/get _webSocketGUID() {
    return "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
  },
  /*_http._clientNoContextTakeover*/get _clientNoContextTakeover() {
    return "client_no_context_takeover";
  },
  /*_http._serverNoContextTakeover*/get _serverNoContextTakeover() {
    return "server_no_context_takeover";
  },
  /*_http._clientMaxWindowBits*/get _clientMaxWindowBits() {
    return "client_max_window_bits";
  },
  /*_http._serverMaxWindowBits*/get _serverMaxWindowBits() {
    return "server_max_window_bits";
  }
}, false);
dart.setBaseClass(_http._HttpConnection.__proto__, collection.LinkedListEntry$(_http._HttpConnection));
dart.trackLibraries("dart_sdk", {
  "dart:_runtime": dart,
  "dart:_debugger": _debugger,
  "dart:_foreign_helper": _foreign_helper,
  "dart:_interceptors": _interceptors,
  "dart:_internal": _internal,
  "dart:_isolate_helper": _isolate_helper,
  "dart:_js_helper": _js_helper,
  "dart:_js_primitives": _js_primitives,
  "dart:_metadata": _metadata,
  "dart:_native_typed_data": _native_typed_data,
  "dart:async": async,
  "dart:collection": collection,
  "dart:convert": convert,
  "dart:developer": developer,
  "dart:io": io,
  "dart:isolate": isolate$,
  "dart:js": js,
  "dart:js_util": js_util,
  "dart:math": math,
  "dart:typed_data": typed_data,
  "dart:indexed_db": indexed_db,
  "dart:html": html$,
  "dart:html_common": html_common,
  "dart:svg": svg$,
  "dart:web_audio": web_audio,
  "dart:web_gl": web_gl,
  "dart:web_sql": web_sql,
  "dart:core": core,
  "dart:_http": _http
}, {
  "dart:_runtime": ["utils.dart", "classes.dart", "rtti.dart", "types.dart", "errors.dart", "operations.dart"],
  "dart:_debugger": ["profile.dart"],
  "dart:_interceptors": ["js_array.dart", "js_number.dart", "js_string.dart"],
  "dart:_internal": ["async_cast.dart", "bytes_builder.dart", "cast.dart", "errors.dart", "iterable.dart", "list.dart", "linked_list.dart", "print.dart", "sort.dart", "symbol.dart"],
  "dart:_js_helper": ["annotations.dart", "linked_hash_map.dart", "identity_hash_map.dart", "custom_hash_map.dart", "native_helper.dart", "regexp_helper.dart", "string_helper.dart", "js_rti.dart"],
  "dart:async": ["async_error.dart", "broadcast_stream_controller.dart", "deferred_load.dart", "future.dart", "future_impl.dart", "schedule_microtask.dart", "stream.dart", "stream_controller.dart", "stream_impl.dart", "stream_pipe.dart", "stream_transformers.dart", "timer.dart", "zone.dart"],
  "dart:collection": ["collections.dart", "hash_map.dart", "hash_set.dart", "iterable.dart", "iterator.dart", "linked_hash_map.dart", "linked_hash_set.dart", "linked_list.dart", "list.dart", "maps.dart", "queue.dart", "set.dart", "splay_tree.dart"],
  "dart:convert": ["ascii.dart", "base64.dart", "byte_conversion.dart", "chunked_conversion.dart", "codec.dart", "converter.dart", "encoding.dart", "html_escape.dart", "json.dart", "latin1.dart", "line_splitter.dart", "string_conversion.dart", "utf.dart"],
  "dart:developer": ["extension.dart", "profiler.dart", "service.dart", "timeline.dart"],
  "dart:io": ["common.dart", "data_transformer.dart", "directory.dart", "directory_impl.dart", "embedder_config.dart", "eventhandler.dart", "file.dart", "file_impl.dart", "file_system_entity.dart", "io_resource_info.dart", "io_sink.dart", "io_service.dart", "link.dart", "namespace_impl.dart", "network_policy.dart", "network_profiling.dart", "overrides.dart", "platform.dart", "platform_impl.dart", "process.dart", "secure_server_socket.dart", "secure_socket.dart", "security_context.dart", "service_object.dart", "socket.dart", "stdio.dart", "string_transformer.dart", "sync_socket.dart"],
  "dart:isolate": ["capability.dart"],
  "dart:math": ["point.dart", "random.dart", "rectangle.dart"],
  "dart:typed_data": ["unmodifiable_typed_data.dart"],
  "dart:html_common": ["css_class_set.dart", "conversions.dart", "conversions_dart2js.dart", "device.dart", "filtered_element_list.dart", "lists.dart"],
  "dart:core": ["annotations.dart", "bigint.dart", "bool.dart", "comparable.dart", "date_time.dart", "double.dart", "duration.dart", "enum.dart", "errors.dart", "exceptions.dart", "expando.dart", "function.dart", "identical.dart", "int.dart", "invocation.dart", "iterable.dart", "iterator.dart", "list.dart", "map.dart", "null.dart", "num.dart", "object.dart", "pattern.dart", "print.dart", "regexp.dart", "set.dart", "sink.dart", "stacktrace.dart", "stopwatch.dart", "string.dart", "string_buffer.dart", "string_sink.dart", "symbol.dart", "type.dart", "uri.dart"],
  "dart:_http": ["crypto.dart", "embedder_config.dart", "http_date.dart", "http_headers.dart", "http_impl.dart", "http_parser.dart", "http_session.dart", "overrides.dart", "websocket.dart", "websocket_impl.dart"]
}, null);

//# sourceMappingURL=dart_sdk.js.map
