10954 lines
474 KiB
JavaScript
10954 lines
474 KiB
JavaScript
// Generated by dart2js (NullSafetyMode.sound, csp, deferred-serialization, intern-composite-values), the Dart to JavaScript compiler version: 3.0.5.
|
|
// The code supports the following hooks:
|
|
// dartPrint(message):
|
|
// if this function is defined it is called instead of the Dart [print]
|
|
// method.
|
|
//
|
|
// dartMainRunner(main, args):
|
|
// if this function is defined, the Dart [main] method will not be invoked
|
|
// directly. Instead, a closure that will invoke [main], and its arguments
|
|
// [args] is passed to [dartMainRunner].
|
|
//
|
|
// dartDeferredLibraryLoader(uri, successCallback, errorCallback, loadId, loadPriority):
|
|
// if this function is defined, it will be called when a deferred library
|
|
// is loaded. It should load and eval the javascript of `uri`, and call
|
|
// successCallback. If it fails to do so, it should call errorCallback with
|
|
// an error. The loadId argument is the deferred import that resulted in
|
|
// this uri being loaded. The loadPriority argument is the priority the
|
|
// library should be loaded with as specified in the code via the
|
|
// load-priority annotation (0: normal, 1: high).
|
|
//
|
|
// dartCallInstrumentation(id, qualifiedName):
|
|
// if this function is defined, it will be called at each entry of a
|
|
// method or constructor. Used only when compiling programs with
|
|
// --experiment-call-instrumentation.
|
|
(function dartProgram() {
|
|
function copyProperties(from, to) {
|
|
var keys = Object.keys(from);
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
to[key] = from[key];
|
|
}
|
|
}
|
|
function mixinPropertiesHard(from, to) {
|
|
var keys = Object.keys(from);
|
|
for (var i = 0; i < keys.length; i++) {
|
|
var key = keys[i];
|
|
if (!to.hasOwnProperty(key))
|
|
to[key] = from[key];
|
|
}
|
|
}
|
|
function mixinPropertiesEasy(from, to) {
|
|
Object.assign(to, from);
|
|
}
|
|
var supportsDirectProtoAccess = function() {
|
|
var cls = function() {
|
|
};
|
|
cls.prototype = {p: {}};
|
|
var object = new cls();
|
|
if (!(Object.getPrototypeOf(object) && Object.getPrototypeOf(object).p === cls.prototype.p))
|
|
return false;
|
|
try {
|
|
if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
|
|
return true;
|
|
if (typeof version == "function" && version.length == 0) {
|
|
var v = version();
|
|
if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
|
|
return true;
|
|
}
|
|
} catch (_) {
|
|
}
|
|
return false;
|
|
}();
|
|
function inherit(cls, sup) {
|
|
cls.prototype.constructor = cls;
|
|
cls.prototype["$is" + cls.name] = cls;
|
|
if (sup != null) {
|
|
if (supportsDirectProtoAccess) {
|
|
Object.setPrototypeOf(cls.prototype, sup.prototype);
|
|
return;
|
|
}
|
|
var clsPrototype = Object.create(sup.prototype);
|
|
copyProperties(cls.prototype, clsPrototype);
|
|
cls.prototype = clsPrototype;
|
|
}
|
|
}
|
|
function inheritMany(sup, classes) {
|
|
for (var i = 0; i < classes.length; i++)
|
|
inherit(classes[i], sup);
|
|
}
|
|
function mixinEasy(cls, mixin) {
|
|
mixinPropertiesEasy(mixin.prototype, cls.prototype);
|
|
cls.prototype.constructor = cls;
|
|
}
|
|
function mixinHard(cls, mixin) {
|
|
mixinPropertiesHard(mixin.prototype, cls.prototype);
|
|
cls.prototype.constructor = cls;
|
|
}
|
|
function lazyOld(holder, name, getterName, initializer) {
|
|
var uninitializedSentinel = holder;
|
|
holder[name] = uninitializedSentinel;
|
|
holder[getterName] = function() {
|
|
holder[getterName] = function() {
|
|
A.throwCyclicInit(name);
|
|
};
|
|
var result;
|
|
var sentinelInProgress = initializer;
|
|
try {
|
|
if (holder[name] === uninitializedSentinel) {
|
|
result = holder[name] = sentinelInProgress;
|
|
result = holder[name] = initializer();
|
|
} else
|
|
result = holder[name];
|
|
} finally {
|
|
if (result === sentinelInProgress)
|
|
holder[name] = null;
|
|
holder[getterName] = function() {
|
|
return this[name];
|
|
};
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
function lazy(holder, name, getterName, initializer) {
|
|
var uninitializedSentinel = holder;
|
|
holder[name] = uninitializedSentinel;
|
|
holder[getterName] = function() {
|
|
if (holder[name] === uninitializedSentinel)
|
|
holder[name] = initializer();
|
|
holder[getterName] = function() {
|
|
return this[name];
|
|
};
|
|
return holder[name];
|
|
};
|
|
}
|
|
function lazyFinal(holder, name, getterName, initializer) {
|
|
var uninitializedSentinel = holder;
|
|
holder[name] = uninitializedSentinel;
|
|
holder[getterName] = function() {
|
|
if (holder[name] === uninitializedSentinel) {
|
|
var value = initializer();
|
|
if (holder[name] !== uninitializedSentinel)
|
|
A.throwLateFieldADI(name);
|
|
holder[name] = value;
|
|
}
|
|
var finalValue = holder[name];
|
|
holder[getterName] = function() {
|
|
return finalValue;
|
|
};
|
|
return finalValue;
|
|
};
|
|
}
|
|
function makeConstList(list) {
|
|
list.immutable$list = Array;
|
|
list.fixed$length = Array;
|
|
return list;
|
|
}
|
|
function convertToFastObject(properties) {
|
|
function t() {
|
|
}
|
|
t.prototype = properties;
|
|
new t();
|
|
return properties;
|
|
}
|
|
function convertAllToFastObject(arrayOfObjects) {
|
|
for (var i = 0; i < arrayOfObjects.length; ++i)
|
|
convertToFastObject(arrayOfObjects[i]);
|
|
}
|
|
var functionCounter = 0;
|
|
function instanceTearOffGetter(isIntercepted, parameters) {
|
|
var cache = null;
|
|
return isIntercepted ? function(receiver) {
|
|
if (cache === null)
|
|
cache = A.closureFromTearOff(parameters);
|
|
return new cache(receiver, this);
|
|
} : function() {
|
|
if (cache === null)
|
|
cache = A.closureFromTearOff(parameters);
|
|
return new cache(this, null);
|
|
};
|
|
}
|
|
function staticTearOffGetter(parameters) {
|
|
var cache = null;
|
|
return function() {
|
|
if (cache === null)
|
|
cache = A.closureFromTearOff(parameters).prototype;
|
|
return cache;
|
|
};
|
|
}
|
|
var typesOffset = 0;
|
|
function tearOffParameters(container, isStatic, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) {
|
|
if (typeof funType == "number")
|
|
funType += typesOffset;
|
|
return {co: container, iS: isStatic, iI: isIntercepted, rC: requiredParameterCount, dV: optionalParameterDefaultValues, cs: callNames, fs: funsOrNames, fT: funType, aI: applyIndex || 0, nDA: needsDirectAccess};
|
|
}
|
|
function installStaticTearOff(holder, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex) {
|
|
var parameters = tearOffParameters(holder, true, false, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, false);
|
|
var getterFunction = staticTearOffGetter(parameters);
|
|
holder[getterName] = getterFunction;
|
|
}
|
|
function installInstanceTearOff(prototype, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, needsDirectAccess) {
|
|
isIntercepted = !!isIntercepted;
|
|
var parameters = tearOffParameters(prototype, false, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, funsOrNames, funType, applyIndex, !!needsDirectAccess);
|
|
var getterFunction = instanceTearOffGetter(isIntercepted, parameters);
|
|
prototype[getterName] = getterFunction;
|
|
}
|
|
function setOrUpdateInterceptorsByTag(newTags) {
|
|
var tags = init.interceptorsByTag;
|
|
if (!tags) {
|
|
init.interceptorsByTag = newTags;
|
|
return;
|
|
}
|
|
copyProperties(newTags, tags);
|
|
}
|
|
function setOrUpdateLeafTags(newTags) {
|
|
var tags = init.leafTags;
|
|
if (!tags) {
|
|
init.leafTags = newTags;
|
|
return;
|
|
}
|
|
copyProperties(newTags, tags);
|
|
}
|
|
function updateTypes(newTypes) {
|
|
var types = init.types;
|
|
var length = types.length;
|
|
types.push.apply(types, newTypes);
|
|
return length;
|
|
}
|
|
function updateHolder(holder, newHolder) {
|
|
copyProperties(newHolder, holder);
|
|
return holder;
|
|
}
|
|
var hunkHelpers = function() {
|
|
var mkInstance = function(isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
|
|
return function(container, getterName, name, funType) {
|
|
return installInstanceTearOff(container, getterName, isIntercepted, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex, false);
|
|
};
|
|
},
|
|
mkStatic = function(requiredParameterCount, optionalParameterDefaultValues, callNames, applyIndex) {
|
|
return function(container, getterName, name, funType) {
|
|
return installStaticTearOff(container, getterName, requiredParameterCount, optionalParameterDefaultValues, callNames, [name], funType, applyIndex);
|
|
};
|
|
};
|
|
return {inherit: inherit, inheritMany: inheritMany, mixin: mixinEasy, mixinHard: mixinHard, installStaticTearOff: installStaticTearOff, installInstanceTearOff: installInstanceTearOff, _instance_0u: mkInstance(0, 0, null, ["call$0"], 0), _instance_1u: mkInstance(0, 1, null, ["call$1"], 0), _instance_2u: mkInstance(0, 2, null, ["call$2"], 0), _instance_0i: mkInstance(1, 0, null, ["call$0"], 0), _instance_1i: mkInstance(1, 1, null, ["call$1"], 0), _instance_2i: mkInstance(1, 2, null, ["call$2"], 0), _static_0: mkStatic(0, null, ["call$0"], 0), _static_1: mkStatic(1, null, ["call$1"], 0), _static_2: mkStatic(2, null, ["call$2"], 0), makeConstList: makeConstList, lazy: lazy, lazyFinal: lazyFinal, lazyOld: lazyOld, updateHolder: updateHolder, convertToFastObject: convertToFastObject, updateTypes: updateTypes, setOrUpdateInterceptorsByTag: setOrUpdateInterceptorsByTag, setOrUpdateLeafTags: setOrUpdateLeafTags};
|
|
}();
|
|
function initializeDeferredHunk(hunk) {
|
|
typesOffset = init.types.length;
|
|
hunk(hunkHelpers, init, holders, $);
|
|
}
|
|
var A = {JS_CONST: function JS_CONST() {
|
|
},
|
|
LateError$fieldNI(fieldName) {
|
|
return new A.LateError("Field '" + fieldName + "' has not been initialized.");
|
|
},
|
|
SystemHash_combine(hash, value) {
|
|
hash = hash + value & 536870911;
|
|
hash = hash + ((hash & 524287) << 10) & 536870911;
|
|
return hash ^ hash >>> 6;
|
|
},
|
|
SystemHash_finish(hash) {
|
|
hash = hash + ((hash & 67108863) << 3) & 536870911;
|
|
hash ^= hash >>> 11;
|
|
return hash + ((hash & 16383) << 15) & 536870911;
|
|
},
|
|
checkNotNullable(value, $name, $T) {
|
|
return value;
|
|
},
|
|
isToStringVisiting(object) {
|
|
var t1, i;
|
|
for (t1 = $.toStringVisiting.length, i = 0; i < t1; ++i)
|
|
if (object === $.toStringVisiting[i])
|
|
return true;
|
|
return false;
|
|
},
|
|
SubListIterable$(_iterable, _start, _endOrLength, $E) {
|
|
A.RangeError_checkNotNegative(_start, "start");
|
|
if (_endOrLength != null) {
|
|
A.RangeError_checkNotNegative(_endOrLength, "end");
|
|
if (_start > _endOrLength)
|
|
A.throwExpression(A.RangeError$range(_start, 0, _endOrLength, "start", null));
|
|
}
|
|
return new A.SubListIterable(_iterable, _start, _endOrLength, $E._eval$1("SubListIterable<0>"));
|
|
},
|
|
MappedIterable_MappedIterable(iterable, $function, $S, $T) {
|
|
if (type$.EfficientLengthIterable_dynamic._is(iterable))
|
|
return new A.EfficientLengthMappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
|
|
return new A.MappedIterable(iterable, $function, $S._eval$1("@<0>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
|
|
},
|
|
_CopyingBytesBuilder: function _CopyingBytesBuilder(t0) {
|
|
this.__internal$_length = 0;
|
|
this._buffer = t0;
|
|
},
|
|
LateError: function LateError(t0) {
|
|
this._message = t0;
|
|
},
|
|
CodeUnits: function CodeUnits(t0) {
|
|
this._string = t0;
|
|
},
|
|
SentinelValue: function SentinelValue() {
|
|
},
|
|
EfficientLengthIterable: function EfficientLengthIterable() {
|
|
},
|
|
ListIterable: function ListIterable() {
|
|
},
|
|
SubListIterable: function SubListIterable(t0, t1, t2, t3) {
|
|
var _ = this;
|
|
_.__internal$_iterable = t0;
|
|
_._start = t1;
|
|
_._endOrLength = t2;
|
|
_.$ti = t3;
|
|
},
|
|
ListIterator: function ListIterator(t0, t1, t2) {
|
|
var _ = this;
|
|
_.__internal$_iterable = t0;
|
|
_.__internal$_length = t1;
|
|
_.__internal$_index = 0;
|
|
_.__internal$_current = null;
|
|
_.$ti = t2;
|
|
},
|
|
MappedIterable: function MappedIterable(t0, t1, t2) {
|
|
this.__internal$_iterable = t0;
|
|
this._f = t1;
|
|
this.$ti = t2;
|
|
},
|
|
EfficientLengthMappedIterable: function EfficientLengthMappedIterable(t0, t1, t2) {
|
|
this.__internal$_iterable = t0;
|
|
this._f = t1;
|
|
this.$ti = t2;
|
|
},
|
|
MappedIterator: function MappedIterator(t0, t1, t2) {
|
|
var _ = this;
|
|
_.__internal$_current = null;
|
|
_._iterator = t0;
|
|
_._f = t1;
|
|
_.$ti = t2;
|
|
},
|
|
MappedListIterable: function MappedListIterable(t0, t1, t2) {
|
|
this._source = t0;
|
|
this._f = t1;
|
|
this.$ti = t2;
|
|
},
|
|
WhereIterable: function WhereIterable(t0, t1, t2) {
|
|
this.__internal$_iterable = t0;
|
|
this._f = t1;
|
|
this.$ti = t2;
|
|
},
|
|
WhereIterator: function WhereIterator(t0, t1, t2) {
|
|
this._iterator = t0;
|
|
this._f = t1;
|
|
this.$ti = t2;
|
|
},
|
|
FixedLengthListMixin: function FixedLengthListMixin() {
|
|
},
|
|
UnmodifiableListMixin: function UnmodifiableListMixin() {
|
|
},
|
|
UnmodifiableListBase: function UnmodifiableListBase() {
|
|
},
|
|
Symbol: function Symbol(t0) {
|
|
this.__internal$_name = t0;
|
|
},
|
|
unminifyOrTag(rawClassName) {
|
|
var preserved = init.mangledGlobalNames[rawClassName];
|
|
if (preserved != null)
|
|
return preserved;
|
|
return rawClassName;
|
|
},
|
|
isJsIndexable(object, record) {
|
|
var result;
|
|
if (record != null) {
|
|
result = record.x;
|
|
if (result != null)
|
|
return result;
|
|
}
|
|
return type$.JavaScriptIndexingBehavior_dynamic._is(object);
|
|
},
|
|
S(value) {
|
|
var result;
|
|
if (typeof value == "string")
|
|
return value;
|
|
if (typeof value == "number") {
|
|
if (value !== 0)
|
|
return "" + value;
|
|
} else if (true === value)
|
|
return "true";
|
|
else if (false === value)
|
|
return "false";
|
|
else if (value == null)
|
|
return "null";
|
|
result = J.toString$0$(value);
|
|
return result;
|
|
},
|
|
Primitives_objectHashCode(object) {
|
|
var hash,
|
|
property = $.Primitives__identityHashCodeProperty;
|
|
if (property == null)
|
|
property = $.Primitives__identityHashCodeProperty = Symbol("identityHashCode");
|
|
hash = object[property];
|
|
if (hash == null) {
|
|
hash = Math.random() * 0x3fffffff | 0;
|
|
object[property] = hash;
|
|
}
|
|
return hash;
|
|
},
|
|
Primitives_objectTypeName(object) {
|
|
return A.Primitives__objectTypeNameNewRti(object);
|
|
},
|
|
Primitives__objectTypeNameNewRti(object) {
|
|
var interceptor, dispatchName, $constructor, constructorName;
|
|
if (object instanceof A.Object)
|
|
return A._rtiToString(A.instanceType(object), null);
|
|
interceptor = J.getInterceptor$(object);
|
|
if (interceptor === B.Interceptor_methods || interceptor === B.JavaScriptObject_methods || type$.UnknownJavaScriptObject._is(object)) {
|
|
dispatchName = B.C_JS_CONST(object);
|
|
if (dispatchName !== "Object" && dispatchName !== "")
|
|
return dispatchName;
|
|
$constructor = object.constructor;
|
|
if (typeof $constructor == "function") {
|
|
constructorName = $constructor.name;
|
|
if (typeof constructorName == "string" && constructorName !== "Object" && constructorName !== "")
|
|
return constructorName;
|
|
}
|
|
}
|
|
return A._rtiToString(A.instanceType(object), null);
|
|
},
|
|
Primitives_safeToString(object) {
|
|
if (typeof object == "number" || A._isBool(object))
|
|
return J.toString$0$(object);
|
|
if (typeof object == "string")
|
|
return JSON.stringify(object);
|
|
if (object instanceof A.Closure)
|
|
return object.toString$0(0);
|
|
return "Instance of '" + A.Primitives_objectTypeName(object) + "'";
|
|
},
|
|
Primitives_stringFromNativeUint8List(charCodes, start, end) {
|
|
var i, result, i0, chunkEnd;
|
|
if (end <= 500 && start === 0 && end === charCodes.length)
|
|
return String.fromCharCode.apply(null, charCodes);
|
|
for (i = start, result = ""; i < end; i = i0) {
|
|
i0 = i + 500;
|
|
chunkEnd = i0 < end ? i0 : end;
|
|
result += String.fromCharCode.apply(null, charCodes.subarray(i, chunkEnd));
|
|
}
|
|
return result;
|
|
},
|
|
Primitives_lazyAsJsDate(receiver) {
|
|
if (receiver.date === void 0)
|
|
receiver.date = new Date(receiver._value);
|
|
return receiver.date;
|
|
},
|
|
Primitives_getYear(receiver) {
|
|
var t1 = A.Primitives_lazyAsJsDate(receiver).getUTCFullYear() + 0;
|
|
return t1;
|
|
},
|
|
Primitives_getMonth(receiver) {
|
|
var t1 = A.Primitives_lazyAsJsDate(receiver).getUTCMonth() + 1;
|
|
return t1;
|
|
},
|
|
Primitives_getDay(receiver) {
|
|
var t1 = A.Primitives_lazyAsJsDate(receiver).getUTCDate() + 0;
|
|
return t1;
|
|
},
|
|
Primitives_getHours(receiver) {
|
|
var t1 = A.Primitives_lazyAsJsDate(receiver).getUTCHours() + 0;
|
|
return t1;
|
|
},
|
|
Primitives_getMinutes(receiver) {
|
|
var t1 = A.Primitives_lazyAsJsDate(receiver).getUTCMinutes() + 0;
|
|
return t1;
|
|
},
|
|
Primitives_getSeconds(receiver) {
|
|
var t1 = A.Primitives_lazyAsJsDate(receiver).getUTCSeconds() + 0;
|
|
return t1;
|
|
},
|
|
Primitives_getMilliseconds(receiver) {
|
|
var t1 = A.Primitives_lazyAsJsDate(receiver).getUTCMilliseconds() + 0;
|
|
return t1;
|
|
},
|
|
Primitives_functionNoSuchMethod($function, positionalArguments, namedArguments) {
|
|
var $arguments, namedArgumentList, t1 = {};
|
|
t1.argumentCount = 0;
|
|
$arguments = [];
|
|
namedArgumentList = [];
|
|
t1.argumentCount = positionalArguments.length;
|
|
B.JSArray_methods.addAll$1($arguments, positionalArguments);
|
|
t1.names = "";
|
|
if (namedArguments != null && namedArguments._length !== 0)
|
|
namedArguments.forEach$1(0, new A.Primitives_functionNoSuchMethod_closure(t1, namedArgumentList, $arguments));
|
|
return J.noSuchMethod$1$($function, new A.JSInvocationMirror(B.Symbol_call, 0, $arguments, namedArgumentList, 0));
|
|
},
|
|
Primitives_applyFunction($function, positionalArguments, namedArguments) {
|
|
var t1, argumentCount, jsStub;
|
|
if (Array.isArray(positionalArguments))
|
|
t1 = namedArguments == null || namedArguments._length === 0;
|
|
else
|
|
t1 = false;
|
|
if (t1) {
|
|
argumentCount = positionalArguments.length;
|
|
if (argumentCount === 0) {
|
|
if (!!$function.call$0)
|
|
return $function.call$0();
|
|
} else if (argumentCount === 1) {
|
|
if (!!$function.call$1)
|
|
return $function.call$1(positionalArguments[0]);
|
|
} else if (argumentCount === 2) {
|
|
if (!!$function.call$2)
|
|
return $function.call$2(positionalArguments[0], positionalArguments[1]);
|
|
} else if (argumentCount === 3) {
|
|
if (!!$function.call$3)
|
|
return $function.call$3(positionalArguments[0], positionalArguments[1], positionalArguments[2]);
|
|
} else if (argumentCount === 4) {
|
|
if (!!$function.call$4)
|
|
return $function.call$4(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3]);
|
|
} else if (argumentCount === 5)
|
|
if (!!$function.call$5)
|
|
return $function.call$5(positionalArguments[0], positionalArguments[1], positionalArguments[2], positionalArguments[3], positionalArguments[4]);
|
|
jsStub = $function["call" + "$" + argumentCount];
|
|
if (jsStub != null)
|
|
return jsStub.apply($function, positionalArguments);
|
|
}
|
|
return A.Primitives__generalApplyFunction($function, positionalArguments, namedArguments);
|
|
},
|
|
Primitives__generalApplyFunction($function, positionalArguments, namedArguments) {
|
|
var defaultValuesClosure, t1, defaultValues, interceptor, jsFunction, maxArguments, missingDefaults, keys, _i, defaultValue, used, key,
|
|
$arguments = Array.isArray(positionalArguments) ? positionalArguments : A.List_List$of(positionalArguments, true, type$.dynamic),
|
|
argumentCount = $arguments.length,
|
|
requiredParameterCount = $function.$requiredArgCount;
|
|
if (argumentCount < requiredParameterCount)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
defaultValuesClosure = $function.$defaultValues;
|
|
t1 = defaultValuesClosure == null;
|
|
defaultValues = !t1 ? defaultValuesClosure() : null;
|
|
interceptor = J.getInterceptor$($function);
|
|
jsFunction = interceptor["call*"];
|
|
if (typeof jsFunction == "string")
|
|
jsFunction = interceptor[jsFunction];
|
|
if (t1) {
|
|
if (namedArguments != null && namedArguments._length !== 0)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
if (argumentCount === requiredParameterCount)
|
|
return jsFunction.apply($function, $arguments);
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
}
|
|
if (Array.isArray(defaultValues)) {
|
|
if (namedArguments != null && namedArguments._length !== 0)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
maxArguments = requiredParameterCount + defaultValues.length;
|
|
if (argumentCount > maxArguments)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, null);
|
|
if (argumentCount < maxArguments) {
|
|
missingDefaults = defaultValues.slice(argumentCount - requiredParameterCount);
|
|
if ($arguments === positionalArguments)
|
|
$arguments = A.List_List$of($arguments, true, type$.dynamic);
|
|
B.JSArray_methods.addAll$1($arguments, missingDefaults);
|
|
}
|
|
return jsFunction.apply($function, $arguments);
|
|
} else {
|
|
if (argumentCount > requiredParameterCount)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
if ($arguments === positionalArguments)
|
|
$arguments = A.List_List$of($arguments, true, type$.dynamic);
|
|
keys = Object.keys(defaultValues);
|
|
if (namedArguments == null)
|
|
for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
|
|
defaultValue = defaultValues[A._asString(keys[_i])];
|
|
if (B.C__Required === defaultValue)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
B.JSArray_methods.add$1($arguments, defaultValue);
|
|
}
|
|
else {
|
|
for (t1 = keys.length, used = 0, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
|
|
key = A._asString(keys[_i]);
|
|
if (namedArguments.containsKey$1(0, key)) {
|
|
++used;
|
|
B.JSArray_methods.add$1($arguments, namedArguments.$index(0, key));
|
|
} else {
|
|
defaultValue = defaultValues[key];
|
|
if (B.C__Required === defaultValue)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
B.JSArray_methods.add$1($arguments, defaultValue);
|
|
}
|
|
}
|
|
if (used !== namedArguments._length)
|
|
return A.Primitives_functionNoSuchMethod($function, $arguments, namedArguments);
|
|
}
|
|
return jsFunction.apply($function, $arguments);
|
|
}
|
|
},
|
|
iae(argument) {
|
|
throw A.wrapException(A.argumentErrorValue(argument));
|
|
},
|
|
ioore(receiver, index) {
|
|
if (receiver == null)
|
|
J.get$length$asx(receiver);
|
|
throw A.wrapException(A.diagnoseIndexError(receiver, index));
|
|
},
|
|
diagnoseIndexError(indexable, index) {
|
|
var $length, _s5_ = "index";
|
|
if (!A._isInt(index))
|
|
return new A.ArgumentError(true, index, _s5_, null);
|
|
$length = A._asInt(J.get$length$asx(indexable));
|
|
if (index < 0 || index >= $length)
|
|
return A.IndexError$withLength(index, $length, indexable, _s5_);
|
|
return A.RangeError$value(index, _s5_);
|
|
},
|
|
diagnoseRangeError(start, end, $length) {
|
|
if (start < 0 || start > $length)
|
|
return A.RangeError$range(start, 0, $length, "start", null);
|
|
if (end != null)
|
|
if (end < start || end > $length)
|
|
return A.RangeError$range(end, start, $length, "end", null);
|
|
return new A.ArgumentError(true, end, "end", null);
|
|
},
|
|
argumentErrorValue(object) {
|
|
return new A.ArgumentError(true, object, null, null);
|
|
},
|
|
wrapException(ex) {
|
|
var wrapper, t1;
|
|
if (ex == null)
|
|
ex = new A.TypeError();
|
|
wrapper = new Error();
|
|
wrapper.dartException = ex;
|
|
t1 = A.toStringWrapper;
|
|
if ("defineProperty" in Object) {
|
|
Object.defineProperty(wrapper, "message", {get: t1});
|
|
wrapper.name = "";
|
|
} else
|
|
wrapper.toString = t1;
|
|
return wrapper;
|
|
},
|
|
toStringWrapper() {
|
|
return J.toString$0$(this.dartException);
|
|
},
|
|
throwExpression(ex) {
|
|
throw A.wrapException(ex);
|
|
},
|
|
throwConcurrentModificationError(collection) {
|
|
throw A.wrapException(A.ConcurrentModificationError$(collection));
|
|
},
|
|
TypeErrorDecoder_extractPattern(message) {
|
|
var match, $arguments, argumentsExpr, expr, method, receiver;
|
|
message = A.quoteStringForRegExp(message.replace(String({}), "$receiver$"));
|
|
match = message.match(/\\\$[a-zA-Z]+\\\$/g);
|
|
if (match == null)
|
|
match = A._setArrayType([], type$.JSArray_String);
|
|
$arguments = match.indexOf("\\$arguments\\$");
|
|
argumentsExpr = match.indexOf("\\$argumentsExpr\\$");
|
|
expr = match.indexOf("\\$expr\\$");
|
|
method = match.indexOf("\\$method\\$");
|
|
receiver = match.indexOf("\\$receiver\\$");
|
|
return new A.TypeErrorDecoder(message.replace(new RegExp("\\\\\\$arguments\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$", "g"), "((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$", "g"), "((?:x|[^x])*)"), $arguments, argumentsExpr, expr, method, receiver);
|
|
},
|
|
TypeErrorDecoder_provokeCallErrorOn(expression) {
|
|
return function($expr$) {
|
|
var $argumentsExpr$ = "$arguments$";
|
|
try {
|
|
$expr$.$method$($argumentsExpr$);
|
|
} catch (e) {
|
|
return e.message;
|
|
}
|
|
}(expression);
|
|
},
|
|
TypeErrorDecoder_provokePropertyErrorOn(expression) {
|
|
return function($expr$) {
|
|
try {
|
|
$expr$.$method$;
|
|
} catch (e) {
|
|
return e.message;
|
|
}
|
|
}(expression);
|
|
},
|
|
JsNoSuchMethodError$(_message, match) {
|
|
var t1 = match == null,
|
|
t2 = t1 ? null : match.method;
|
|
return new A.JsNoSuchMethodError(_message, t2, t1 ? null : match.receiver);
|
|
},
|
|
unwrapException(ex) {
|
|
var t1;
|
|
if (ex == null)
|
|
return new A.NullThrownFromJavaScriptException(ex);
|
|
if (ex instanceof A.ExceptionAndStackTrace) {
|
|
t1 = ex.dartException;
|
|
return A.saveStackTrace(ex, t1 == null ? type$.Object._as(t1) : t1);
|
|
}
|
|
if (typeof ex !== "object")
|
|
return ex;
|
|
if ("dartException" in ex)
|
|
return A.saveStackTrace(ex, ex.dartException);
|
|
return A._unwrapNonDartException(ex);
|
|
},
|
|
saveStackTrace(ex, error) {
|
|
if (type$.Error._is(error))
|
|
if (error.$thrownJsError == null)
|
|
error.$thrownJsError = ex;
|
|
return error;
|
|
},
|
|
_unwrapNonDartException(ex) {
|
|
var message, number, ieErrorCode, t1, nsme, notClosure, nullCall, nullLiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLiteralProperty, match, _null = null;
|
|
if (!("message" in ex))
|
|
return ex;
|
|
message = ex.message;
|
|
if ("number" in ex && typeof ex.number == "number") {
|
|
number = ex.number;
|
|
ieErrorCode = number & 65535;
|
|
if ((B.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10)
|
|
switch (ieErrorCode) {
|
|
case 438:
|
|
return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A.S(message) + " (Error " + ieErrorCode + ")", _null));
|
|
case 445:
|
|
case 5007:
|
|
t1 = A.S(message);
|
|
return A.saveStackTrace(ex, new A.NullError(t1 + " (Error " + ieErrorCode + ")", _null));
|
|
}
|
|
}
|
|
if (ex instanceof TypeError) {
|
|
nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern();
|
|
notClosure = $.$get$TypeErrorDecoder_notClosurePattern();
|
|
nullCall = $.$get$TypeErrorDecoder_nullCallPattern();
|
|
nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern();
|
|
undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern();
|
|
undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern();
|
|
nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern();
|
|
$.$get$TypeErrorDecoder_nullLiteralPropertyPattern();
|
|
undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern();
|
|
undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyPattern();
|
|
match = nsme.matchTypeError$1(message);
|
|
if (match != null)
|
|
return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match));
|
|
else {
|
|
match = notClosure.matchTypeError$1(message);
|
|
if (match != null) {
|
|
match.method = "call";
|
|
return A.saveStackTrace(ex, A.JsNoSuchMethodError$(A._asString(message), match));
|
|
} else {
|
|
match = nullCall.matchTypeError$1(message);
|
|
if (match == null) {
|
|
match = nullLiteralCall.matchTypeError$1(message);
|
|
if (match == null) {
|
|
match = undefCall.matchTypeError$1(message);
|
|
if (match == null) {
|
|
match = undefLiteralCall.matchTypeError$1(message);
|
|
if (match == null) {
|
|
match = nullProperty.matchTypeError$1(message);
|
|
if (match == null) {
|
|
match = nullLiteralCall.matchTypeError$1(message);
|
|
if (match == null) {
|
|
match = undefProperty.matchTypeError$1(message);
|
|
if (match == null) {
|
|
match = undefLiteralProperty.matchTypeError$1(message);
|
|
t1 = match != null;
|
|
} else
|
|
t1 = true;
|
|
} else
|
|
t1 = true;
|
|
} else
|
|
t1 = true;
|
|
} else
|
|
t1 = true;
|
|
} else
|
|
t1 = true;
|
|
} else
|
|
t1 = true;
|
|
} else
|
|
t1 = true;
|
|
if (t1) {
|
|
A._asString(message);
|
|
return A.saveStackTrace(ex, new A.NullError(message, match == null ? _null : match.method));
|
|
}
|
|
}
|
|
}
|
|
return A.saveStackTrace(ex, new A.UnknownJsTypeError(typeof message == "string" ? message : ""));
|
|
}
|
|
if (ex instanceof RangeError) {
|
|
if (typeof message == "string" && message.indexOf("call stack") !== -1)
|
|
return new A.StackOverflowError();
|
|
message = function(ex) {
|
|
try {
|
|
return String(ex);
|
|
} catch (e) {
|
|
}
|
|
return null;
|
|
}(ex);
|
|
return A.saveStackTrace(ex, new A.ArgumentError(false, _null, _null, typeof message == "string" ? message.replace(/^RangeError:\s*/, "") : message));
|
|
}
|
|
if (typeof InternalError == "function" && ex instanceof InternalError)
|
|
if (typeof message == "string" && message === "too much recursion")
|
|
return new A.StackOverflowError();
|
|
return ex;
|
|
},
|
|
getTraceFromException(exception) {
|
|
var trace;
|
|
if (exception instanceof A.ExceptionAndStackTrace)
|
|
return exception.stackTrace;
|
|
if (exception == null)
|
|
return new A._StackTrace(exception);
|
|
trace = exception.$cachedTrace;
|
|
if (trace != null)
|
|
return trace;
|
|
return exception.$cachedTrace = new A._StackTrace(exception);
|
|
},
|
|
objectHashCode(object) {
|
|
if (object == null || typeof object != "object")
|
|
return J.get$hashCode$(object);
|
|
else
|
|
return A.Primitives_objectHashCode(object);
|
|
},
|
|
fillLiteralMap(keyValuePairs, result) {
|
|
var index, index0, index1,
|
|
$length = keyValuePairs.length;
|
|
for (index = 0; index < $length; index = index1) {
|
|
index0 = index + 1;
|
|
index1 = index0 + 1;
|
|
result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]);
|
|
}
|
|
return result;
|
|
},
|
|
invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
|
|
type$.Function._as(closure);
|
|
switch (A._asInt(numberOfArguments)) {
|
|
case 0:
|
|
return closure.call$0();
|
|
case 1:
|
|
return closure.call$1(arg1);
|
|
case 2:
|
|
return closure.call$2(arg1, arg2);
|
|
case 3:
|
|
return closure.call$3(arg1, arg2, arg3);
|
|
case 4:
|
|
return closure.call$4(arg1, arg2, arg3, arg4);
|
|
}
|
|
throw A.wrapException(A.Exception_Exception("Unsupported number of arguments for wrapped closure"));
|
|
},
|
|
convertDartClosureToJS(closure, arity) {
|
|
var $function;
|
|
if (closure == null)
|
|
return null;
|
|
$function = closure.$identity;
|
|
if (!!$function)
|
|
return $function;
|
|
$function = function(closure, arity, invoke) {
|
|
return function(a1, a2, a3, a4) {
|
|
return invoke(closure, arity, a1, a2, a3, a4);
|
|
};
|
|
}(closure, arity, A.invokeClosure);
|
|
closure.$identity = $function;
|
|
return $function;
|
|
},
|
|
Closure_fromTearOff(parameters) {
|
|
var $prototype, $constructor, t2, trampoline, applyTrampoline, i, stub, stub0, stubName, stubCallName,
|
|
container = parameters.co,
|
|
isStatic = parameters.iS,
|
|
isIntercepted = parameters.iI,
|
|
needsDirectAccess = parameters.nDA,
|
|
applyTrampolineIndex = parameters.aI,
|
|
funsOrNames = parameters.fs,
|
|
callNames = parameters.cs,
|
|
$name = funsOrNames[0],
|
|
callName = callNames[0],
|
|
$function = container[$name],
|
|
t1 = parameters.fT;
|
|
t1.toString;
|
|
$prototype = isStatic ? Object.create(new A.StaticClosure().constructor.prototype) : Object.create(new A.BoundClosure(null, null).constructor.prototype);
|
|
$prototype.$initialize = $prototype.constructor;
|
|
if (isStatic)
|
|
$constructor = function static_tear_off() {
|
|
this.$initialize();
|
|
};
|
|
else
|
|
$constructor = function tear_off(a, b) {
|
|
this.$initialize(a, b);
|
|
};
|
|
$prototype.constructor = $constructor;
|
|
$constructor.prototype = $prototype;
|
|
$prototype.$_name = $name;
|
|
$prototype.$_target = $function;
|
|
t2 = !isStatic;
|
|
if (t2)
|
|
trampoline = A.Closure_forwardCallTo($name, $function, isIntercepted, needsDirectAccess);
|
|
else {
|
|
$prototype.$static_name = $name;
|
|
trampoline = $function;
|
|
}
|
|
$prototype.$signature = A.Closure__computeSignatureFunctionNewRti(t1, isStatic, isIntercepted);
|
|
$prototype[callName] = trampoline;
|
|
for (applyTrampoline = trampoline, i = 1; i < funsOrNames.length; ++i) {
|
|
stub = funsOrNames[i];
|
|
if (typeof stub == "string") {
|
|
stub0 = container[stub];
|
|
stubName = stub;
|
|
stub = stub0;
|
|
} else
|
|
stubName = "";
|
|
stubCallName = callNames[i];
|
|
if (stubCallName != null) {
|
|
if (t2)
|
|
stub = A.Closure_forwardCallTo(stubName, stub, isIntercepted, needsDirectAccess);
|
|
$prototype[stubCallName] = stub;
|
|
}
|
|
if (i === applyTrampolineIndex)
|
|
applyTrampoline = stub;
|
|
}
|
|
$prototype["call*"] = applyTrampoline;
|
|
$prototype.$requiredArgCount = parameters.rC;
|
|
$prototype.$defaultValues = parameters.dV;
|
|
return $constructor;
|
|
},
|
|
Closure__computeSignatureFunctionNewRti(functionType, isStatic, isIntercepted) {
|
|
if (typeof functionType == "number")
|
|
return functionType;
|
|
if (typeof functionType == "string") {
|
|
if (isStatic)
|
|
throw A.wrapException("Cannot compute signature for static tearoff.");
|
|
return function(recipe, evalOnReceiver) {
|
|
return function() {
|
|
return evalOnReceiver(this, recipe);
|
|
};
|
|
}(functionType, A.BoundClosure_evalRecipe);
|
|
}
|
|
throw A.wrapException("Error in functionType of tearoff");
|
|
},
|
|
Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function) {
|
|
var getReceiver = A.BoundClosure_receiverOf;
|
|
switch (needsDirectAccess ? -1 : arity) {
|
|
case 0:
|
|
return function(entry, receiverOf) {
|
|
return function() {
|
|
return receiverOf(this)[entry]();
|
|
};
|
|
}(stubName, getReceiver);
|
|
case 1:
|
|
return function(entry, receiverOf) {
|
|
return function(a) {
|
|
return receiverOf(this)[entry](a);
|
|
};
|
|
}(stubName, getReceiver);
|
|
case 2:
|
|
return function(entry, receiverOf) {
|
|
return function(a, b) {
|
|
return receiverOf(this)[entry](a, b);
|
|
};
|
|
}(stubName, getReceiver);
|
|
case 3:
|
|
return function(entry, receiverOf) {
|
|
return function(a, b, c) {
|
|
return receiverOf(this)[entry](a, b, c);
|
|
};
|
|
}(stubName, getReceiver);
|
|
case 4:
|
|
return function(entry, receiverOf) {
|
|
return function(a, b, c, d) {
|
|
return receiverOf(this)[entry](a, b, c, d);
|
|
};
|
|
}(stubName, getReceiver);
|
|
case 5:
|
|
return function(entry, receiverOf) {
|
|
return function(a, b, c, d, e) {
|
|
return receiverOf(this)[entry](a, b, c, d, e);
|
|
};
|
|
}(stubName, getReceiver);
|
|
default:
|
|
return function(f, receiverOf) {
|
|
return function() {
|
|
return f.apply(receiverOf(this), arguments);
|
|
};
|
|
}($function, getReceiver);
|
|
}
|
|
},
|
|
Closure_forwardCallTo(stubName, $function, isIntercepted, needsDirectAccess) {
|
|
var arity, t1;
|
|
if (isIntercepted)
|
|
return A.Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess);
|
|
arity = $function.length;
|
|
t1 = A.Closure_cspForwardCall(arity, needsDirectAccess, stubName, $function);
|
|
return t1;
|
|
},
|
|
Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function) {
|
|
var getReceiver = A.BoundClosure_receiverOf,
|
|
getInterceptor = A.BoundClosure_interceptorOf;
|
|
switch (needsDirectAccess ? -1 : arity) {
|
|
case 0:
|
|
throw A.wrapException(new A.RuntimeError("Intercepted function with no arguments."));
|
|
case 1:
|
|
return function(entry, interceptorOf, receiverOf) {
|
|
return function() {
|
|
return interceptorOf(this)[entry](receiverOf(this));
|
|
};
|
|
}(stubName, getInterceptor, getReceiver);
|
|
case 2:
|
|
return function(entry, interceptorOf, receiverOf) {
|
|
return function(a) {
|
|
return interceptorOf(this)[entry](receiverOf(this), a);
|
|
};
|
|
}(stubName, getInterceptor, getReceiver);
|
|
case 3:
|
|
return function(entry, interceptorOf, receiverOf) {
|
|
return function(a, b) {
|
|
return interceptorOf(this)[entry](receiverOf(this), a, b);
|
|
};
|
|
}(stubName, getInterceptor, getReceiver);
|
|
case 4:
|
|
return function(entry, interceptorOf, receiverOf) {
|
|
return function(a, b, c) {
|
|
return interceptorOf(this)[entry](receiverOf(this), a, b, c);
|
|
};
|
|
}(stubName, getInterceptor, getReceiver);
|
|
case 5:
|
|
return function(entry, interceptorOf, receiverOf) {
|
|
return function(a, b, c, d) {
|
|
return interceptorOf(this)[entry](receiverOf(this), a, b, c, d);
|
|
};
|
|
}(stubName, getInterceptor, getReceiver);
|
|
case 6:
|
|
return function(entry, interceptorOf, receiverOf) {
|
|
return function(a, b, c, d, e) {
|
|
return interceptorOf(this)[entry](receiverOf(this), a, b, c, d, e);
|
|
};
|
|
}(stubName, getInterceptor, getReceiver);
|
|
default:
|
|
return function(f, interceptorOf, receiverOf) {
|
|
return function() {
|
|
var a = [receiverOf(this)];
|
|
Array.prototype.push.apply(a, arguments);
|
|
return f.apply(interceptorOf(this), a);
|
|
};
|
|
}($function, getInterceptor, getReceiver);
|
|
}
|
|
},
|
|
Closure_forwardInterceptedCallTo(stubName, $function, needsDirectAccess) {
|
|
var arity, t1;
|
|
if ($.BoundClosure__interceptorFieldNameCache == null)
|
|
$.BoundClosure__interceptorFieldNameCache = A.BoundClosure__computeFieldNamed("interceptor");
|
|
if ($.BoundClosure__receiverFieldNameCache == null)
|
|
$.BoundClosure__receiverFieldNameCache = A.BoundClosure__computeFieldNamed("receiver");
|
|
arity = $function.length;
|
|
t1 = A.Closure_cspForwardInterceptedCall(arity, needsDirectAccess, stubName, $function);
|
|
return t1;
|
|
},
|
|
closureFromTearOff(parameters) {
|
|
return A.Closure_fromTearOff(parameters);
|
|
},
|
|
BoundClosure_evalRecipe(closure, recipe) {
|
|
return A._Universe_evalInEnvironment(init.typeUniverse, A.instanceType(closure._receiver), recipe);
|
|
},
|
|
BoundClosure_receiverOf(closure) {
|
|
return closure._receiver;
|
|
},
|
|
BoundClosure_interceptorOf(closure) {
|
|
return closure._interceptor;
|
|
},
|
|
BoundClosure__computeFieldNamed(fieldName) {
|
|
var t1, i, $name,
|
|
template = new A.BoundClosure("receiver", "interceptor"),
|
|
names = J.JSArray_markFixedList(Object.getOwnPropertyNames(template), type$.nullable_Object);
|
|
for (t1 = names.length, i = 0; i < t1; ++i) {
|
|
$name = names[i];
|
|
if (template[$name] === fieldName)
|
|
return $name;
|
|
}
|
|
throw A.wrapException(A.ArgumentError$("Field name " + fieldName + " not found.", null));
|
|
},
|
|
boolConversionCheck(value) {
|
|
if (value == null)
|
|
A.assertThrow("boolean expression must not be null");
|
|
return value;
|
|
},
|
|
assertThrow(message) {
|
|
throw A.wrapException(new A._AssertionError(message));
|
|
},
|
|
throwCyclicInit(staticName) {
|
|
throw A.wrapException(new A._CyclicInitializationError(staticName));
|
|
},
|
|
getIsolateAffinityTag($name) {
|
|
return init.getIsolateTag($name);
|
|
},
|
|
defineProperty(obj, property, value) {
|
|
Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
|
|
},
|
|
lookupAndCacheInterceptor(obj) {
|
|
var interceptor, interceptorClass, altTag, mark, t1,
|
|
tag = A._asString($.getTagFunction.call$1(obj)),
|
|
record = $.dispatchRecordsForInstanceTags[tag];
|
|
if (record != null) {
|
|
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
|
|
return record.i;
|
|
}
|
|
interceptor = $.interceptorsForUncacheableTags[tag];
|
|
if (interceptor != null)
|
|
return interceptor;
|
|
interceptorClass = init.interceptorsByTag[tag];
|
|
if (interceptorClass == null) {
|
|
altTag = A._asStringQ($.alternateTagFunction.call$2(obj, tag));
|
|
if (altTag != null) {
|
|
record = $.dispatchRecordsForInstanceTags[altTag];
|
|
if (record != null) {
|
|
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
|
|
return record.i;
|
|
}
|
|
interceptor = $.interceptorsForUncacheableTags[altTag];
|
|
if (interceptor != null)
|
|
return interceptor;
|
|
interceptorClass = init.interceptorsByTag[altTag];
|
|
tag = altTag;
|
|
}
|
|
}
|
|
if (interceptorClass == null)
|
|
return null;
|
|
interceptor = interceptorClass.prototype;
|
|
mark = tag[0];
|
|
if (mark === "!") {
|
|
record = A.makeLeafDispatchRecord(interceptor);
|
|
$.dispatchRecordsForInstanceTags[tag] = record;
|
|
Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
|
|
return record.i;
|
|
}
|
|
if (mark === "~") {
|
|
$.interceptorsForUncacheableTags[tag] = interceptor;
|
|
return interceptor;
|
|
}
|
|
if (mark === "-") {
|
|
t1 = A.makeLeafDispatchRecord(interceptor);
|
|
Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
|
|
return t1.i;
|
|
}
|
|
if (mark === "+")
|
|
return A.patchInteriorProto(obj, interceptor);
|
|
if (mark === "*")
|
|
throw A.wrapException(A.UnimplementedError$(tag));
|
|
if (init.leafTags[tag] === true) {
|
|
t1 = A.makeLeafDispatchRecord(interceptor);
|
|
Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyName, {value: t1, enumerable: false, writable: true, configurable: true});
|
|
return t1.i;
|
|
} else
|
|
return A.patchInteriorProto(obj, interceptor);
|
|
},
|
|
patchInteriorProto(obj, interceptor) {
|
|
var proto = Object.getPrototypeOf(obj);
|
|
Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDispatchRecord(interceptor, proto, null, null), enumerable: false, writable: true, configurable: true});
|
|
return interceptor;
|
|
},
|
|
makeLeafDispatchRecord(interceptor) {
|
|
return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJavaScriptIndexingBehavior);
|
|
},
|
|
makeDefaultDispatchRecord(tag, interceptorClass, proto) {
|
|
var interceptor = interceptorClass.prototype;
|
|
if (init.leafTags[tag] === true)
|
|
return A.makeLeafDispatchRecord(interceptor);
|
|
else
|
|
return J.makeDispatchRecord(interceptor, proto, null, null);
|
|
},
|
|
initNativeDispatch() {
|
|
if (true === $.initNativeDispatchFlag)
|
|
return;
|
|
$.initNativeDispatchFlag = true;
|
|
A.initNativeDispatchContinue();
|
|
},
|
|
initNativeDispatchContinue() {
|
|
var map, tags, fun, i, tag, proto, record, interceptorClass;
|
|
$.dispatchRecordsForInstanceTags = Object.create(null);
|
|
$.interceptorsForUncacheableTags = Object.create(null);
|
|
A.initHooks();
|
|
map = init.interceptorsByTag;
|
|
tags = Object.getOwnPropertyNames(map);
|
|
if (typeof window != "undefined") {
|
|
window;
|
|
fun = function() {
|
|
};
|
|
for (i = 0; i < tags.length; ++i) {
|
|
tag = tags[i];
|
|
proto = $.prototypeForTagFunction.call$1(tag);
|
|
if (proto != null) {
|
|
record = A.makeDefaultDispatchRecord(tag, map[tag], proto);
|
|
if (record != null) {
|
|
Object.defineProperty(proto, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
|
|
fun.prototype = proto;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for (i = 0; i < tags.length; ++i) {
|
|
tag = tags[i];
|
|
if (/^[A-Za-z_]/.test(tag)) {
|
|
interceptorClass = map[tag];
|
|
map["!" + tag] = interceptorClass;
|
|
map["~" + tag] = interceptorClass;
|
|
map["-" + tag] = interceptorClass;
|
|
map["+" + tag] = interceptorClass;
|
|
map["*" + tag] = interceptorClass;
|
|
}
|
|
}
|
|
},
|
|
initHooks() {
|
|
var transformers, i, transformer, getTag, getUnknownTag, prototypeForTag,
|
|
hooks = B.C_JS_CONST0();
|
|
hooks = A.applyHooksTransformer(B.C_JS_CONST1, A.applyHooksTransformer(B.C_JS_CONST2, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST3, A.applyHooksTransformer(B.C_JS_CONST4, A.applyHooksTransformer(B.C_JS_CONST5, A.applyHooksTransformer(B.C_JS_CONST6(B.C_JS_CONST), hooks)))))));
|
|
if (typeof dartNativeDispatchHooksTransformer != "undefined") {
|
|
transformers = dartNativeDispatchHooksTransformer;
|
|
if (typeof transformers == "function")
|
|
transformers = [transformers];
|
|
if (transformers.constructor == Array)
|
|
for (i = 0; i < transformers.length; ++i) {
|
|
transformer = transformers[i];
|
|
if (typeof transformer == "function")
|
|
hooks = transformer(hooks) || hooks;
|
|
}
|
|
}
|
|
getTag = hooks.getTag;
|
|
getUnknownTag = hooks.getUnknownTag;
|
|
prototypeForTag = hooks.prototypeForTag;
|
|
$.getTagFunction = new A.initHooks_closure(getTag);
|
|
$.alternateTagFunction = new A.initHooks_closure0(getUnknownTag);
|
|
$.prototypeForTagFunction = new A.initHooks_closure1(prototypeForTag);
|
|
},
|
|
applyHooksTransformer(transformer, hooks) {
|
|
return transformer(hooks) || hooks;
|
|
},
|
|
createRecordTypePredicate(shape, fieldRtis) {
|
|
var $length = fieldRtis.length,
|
|
$function = init.rttc["" + $length + ";" + shape];
|
|
if ($function == null)
|
|
return null;
|
|
if ($length === 0)
|
|
return $function;
|
|
if ($length === $function.length)
|
|
return $function.apply(null, fieldRtis);
|
|
return $function(fieldRtis);
|
|
},
|
|
quoteStringForRegExp(string) {
|
|
if (/[[\]{}()*+?.\\^$|]/.test(string))
|
|
return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
|
|
return string;
|
|
},
|
|
ConstantMapView: function ConstantMapView(t0, t1) {
|
|
this._collection$_map = t0;
|
|
this.$ti = t1;
|
|
},
|
|
ConstantMap: function ConstantMap() {
|
|
},
|
|
ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) {
|
|
var _ = this;
|
|
_._length = t0;
|
|
_._jsObject = t1;
|
|
_.__js_helper$_keys = t2;
|
|
_.$ti = t3;
|
|
},
|
|
_ConstantMapKeyIterable: function _ConstantMapKeyIterable(t0, t1) {
|
|
this._map = t0;
|
|
this.$ti = t1;
|
|
},
|
|
JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) {
|
|
var _ = this;
|
|
_._memberName = t0;
|
|
_.__js_helper$_kind = t1;
|
|
_._arguments = t2;
|
|
_._namedArgumentNames = t3;
|
|
_._typeArgumentCount = t4;
|
|
},
|
|
Primitives_functionNoSuchMethod_closure: function Primitives_functionNoSuchMethod_closure(t0, t1, t2) {
|
|
this._box_0 = t0;
|
|
this.namedArgumentList = t1;
|
|
this.$arguments = t2;
|
|
},
|
|
TypeErrorDecoder: function TypeErrorDecoder(t0, t1, t2, t3, t4, t5) {
|
|
var _ = this;
|
|
_._pattern = t0;
|
|
_._arguments = t1;
|
|
_._argumentsExpr = t2;
|
|
_._expr = t3;
|
|
_._method = t4;
|
|
_._receiver = t5;
|
|
},
|
|
NullError: function NullError(t0, t1) {
|
|
this.__js_helper$_message = t0;
|
|
this._method = t1;
|
|
},
|
|
JsNoSuchMethodError: function JsNoSuchMethodError(t0, t1, t2) {
|
|
this.__js_helper$_message = t0;
|
|
this._method = t1;
|
|
this._receiver = t2;
|
|
},
|
|
UnknownJsTypeError: function UnknownJsTypeError(t0) {
|
|
this.__js_helper$_message = t0;
|
|
},
|
|
NullThrownFromJavaScriptException: function NullThrownFromJavaScriptException(t0) {
|
|
this._irritant = t0;
|
|
},
|
|
ExceptionAndStackTrace: function ExceptionAndStackTrace(t0, t1) {
|
|
this.dartException = t0;
|
|
this.stackTrace = t1;
|
|
},
|
|
_StackTrace: function _StackTrace(t0) {
|
|
this._exception = t0;
|
|
this._trace = null;
|
|
},
|
|
Closure: function Closure() {
|
|
},
|
|
Closure0Args: function Closure0Args() {
|
|
},
|
|
Closure2Args: function Closure2Args() {
|
|
},
|
|
TearOffClosure: function TearOffClosure() {
|
|
},
|
|
StaticClosure: function StaticClosure() {
|
|
},
|
|
BoundClosure: function BoundClosure(t0, t1) {
|
|
this._receiver = t0;
|
|
this._interceptor = t1;
|
|
},
|
|
_CyclicInitializationError: function _CyclicInitializationError(t0) {
|
|
this.variableName = t0;
|
|
},
|
|
RuntimeError: function RuntimeError(t0) {
|
|
this.message = t0;
|
|
},
|
|
_AssertionError: function _AssertionError(t0) {
|
|
this.message = t0;
|
|
},
|
|
_Required: function _Required() {
|
|
},
|
|
JsLinkedHashMap: function JsLinkedHashMap(t0) {
|
|
var _ = this;
|
|
_._length = 0;
|
|
_._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null;
|
|
_._modifications = 0;
|
|
_.$ti = t0;
|
|
},
|
|
LinkedHashMapCell: function LinkedHashMapCell(t0, t1) {
|
|
this.hashMapCellKey = t0;
|
|
this.hashMapCellValue = t1;
|
|
this._next = null;
|
|
},
|
|
LinkedHashMapKeyIterable: function LinkedHashMapKeyIterable(t0, t1) {
|
|
this._map = t0;
|
|
this.$ti = t1;
|
|
},
|
|
LinkedHashMapKeyIterator: function LinkedHashMapKeyIterator(t0, t1, t2) {
|
|
var _ = this;
|
|
_._map = t0;
|
|
_._modifications = t1;
|
|
_.__js_helper$_current = _._cell = null;
|
|
_.$ti = t2;
|
|
},
|
|
initHooks_closure: function initHooks_closure(t0) {
|
|
this.getTag = t0;
|
|
},
|
|
initHooks_closure0: function initHooks_closure0(t0) {
|
|
this.getUnknownTag = t0;
|
|
},
|
|
initHooks_closure1: function initHooks_closure1(t0) {
|
|
this.prototypeForTag = t0;
|
|
},
|
|
_ensureNativeList(list) {
|
|
var t1, result, i;
|
|
if (type$.JSIndexable_dynamic._is(list))
|
|
return list;
|
|
t1 = J.getInterceptor$asx(list);
|
|
result = A.List_List$filled(t1.get$length(list), null, false, type$.dynamic);
|
|
for (i = 0; i < t1.get$length(list); ++i)
|
|
B.JSArray_methods.$indexSet(result, i, t1.$index(list, i));
|
|
return result;
|
|
},
|
|
NativeByteData_NativeByteData($length) {
|
|
return new DataView(new ArrayBuffer($length));
|
|
},
|
|
NativeUint8List_NativeUint8List($length) {
|
|
return new Uint8Array($length);
|
|
},
|
|
NativeUint8List_NativeUint8List$fromList(elements) {
|
|
return new Uint8Array(A._ensureNativeList(elements));
|
|
},
|
|
NativeUint8List_NativeUint8List$view(buffer, offsetInBytes, $length) {
|
|
return $length == null ? new Uint8Array(buffer, offsetInBytes) : new Uint8Array(buffer, offsetInBytes, $length);
|
|
},
|
|
_checkValidIndex(index, list, $length) {
|
|
if (index >>> 0 !== index || index >= $length)
|
|
throw A.wrapException(A.diagnoseIndexError(list, index));
|
|
},
|
|
_checkValidRange(start, end, $length) {
|
|
var t1;
|
|
if (!(start >>> 0 !== start))
|
|
if (end == null)
|
|
t1 = start > $length;
|
|
else
|
|
t1 = end >>> 0 !== end || start > end || end > $length;
|
|
else
|
|
t1 = true;
|
|
if (t1)
|
|
throw A.wrapException(A.diagnoseRangeError(start, end, $length));
|
|
if (end == null)
|
|
return $length;
|
|
return end;
|
|
},
|
|
NativeByteBuffer: function NativeByteBuffer() {
|
|
},
|
|
NativeTypedData: function NativeTypedData() {
|
|
},
|
|
NativeByteData: function NativeByteData() {
|
|
},
|
|
NativeTypedArray: function NativeTypedArray() {
|
|
},
|
|
NativeTypedArrayOfDouble: function NativeTypedArrayOfDouble() {
|
|
},
|
|
NativeTypedArrayOfInt: function NativeTypedArrayOfInt() {
|
|
},
|
|
NativeFloat32List: function NativeFloat32List() {
|
|
},
|
|
NativeFloat64List: function NativeFloat64List() {
|
|
},
|
|
NativeInt16List: function NativeInt16List() {
|
|
},
|
|
NativeInt32List: function NativeInt32List() {
|
|
},
|
|
NativeInt8List: function NativeInt8List() {
|
|
},
|
|
NativeUint16List: function NativeUint16List() {
|
|
},
|
|
NativeUint32List: function NativeUint32List() {
|
|
},
|
|
NativeUint8ClampedList: function NativeUint8ClampedList() {
|
|
},
|
|
NativeUint8List: function NativeUint8List() {
|
|
},
|
|
_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin() {
|
|
},
|
|
_NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin() {
|
|
},
|
|
_NativeTypedArrayOfInt_NativeTypedArray_ListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin() {
|
|
},
|
|
_NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin: function _NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin() {
|
|
},
|
|
Rti__getQuestionFromStar(universe, rti) {
|
|
var question = rti._precomputed1;
|
|
return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question;
|
|
},
|
|
Rti__getFutureFromFutureOr(universe, rti) {
|
|
var future = rti._precomputed1;
|
|
return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
|
|
},
|
|
Rti__isUnionOfFunctionType(rti) {
|
|
var kind = rti._kind;
|
|
if (kind === 6 || kind === 7 || kind === 8)
|
|
return A.Rti__isUnionOfFunctionType(rti._primary);
|
|
return kind === 12 || kind === 13;
|
|
},
|
|
Rti__getCanonicalRecipe(rti) {
|
|
return rti._canonicalRecipe;
|
|
},
|
|
findType(recipe) {
|
|
return A._Universe_eval(init.typeUniverse, recipe, false);
|
|
},
|
|
_substitute(universe, rti, typeArguments, depth) {
|
|
var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
|
|
kind = rti._kind;
|
|
switch (kind) {
|
|
case 5:
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
return rti;
|
|
case 6:
|
|
baseType = rti._primary;
|
|
substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);
|
|
if (substitutedBaseType === baseType)
|
|
return rti;
|
|
return A._Universe__lookupStarRti(universe, substitutedBaseType, true);
|
|
case 7:
|
|
baseType = rti._primary;
|
|
substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);
|
|
if (substitutedBaseType === baseType)
|
|
return rti;
|
|
return A._Universe__lookupQuestionRti(universe, substitutedBaseType, true);
|
|
case 8:
|
|
baseType = rti._primary;
|
|
substitutedBaseType = A._substitute(universe, baseType, typeArguments, depth);
|
|
if (substitutedBaseType === baseType)
|
|
return rti;
|
|
return A._Universe__lookupFutureOrRti(universe, substitutedBaseType, true);
|
|
case 9:
|
|
interfaceTypeArguments = rti._rest;
|
|
substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);
|
|
if (substitutedInterfaceTypeArguments === interfaceTypeArguments)
|
|
return rti;
|
|
return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);
|
|
case 10:
|
|
base = rti._primary;
|
|
substitutedBase = A._substitute(universe, base, typeArguments, depth);
|
|
$arguments = rti._rest;
|
|
substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth);
|
|
if (substitutedBase === base && substitutedArguments === $arguments)
|
|
return rti;
|
|
return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
|
|
case 12:
|
|
returnType = rti._primary;
|
|
substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth);
|
|
functionParameters = rti._rest;
|
|
substitutedFunctionParameters = A._substituteFunctionParameters(universe, functionParameters, typeArguments, depth);
|
|
if (substitutedReturnType === returnType && substitutedFunctionParameters === functionParameters)
|
|
return rti;
|
|
return A._Universe__lookupFunctionRti(universe, substitutedReturnType, substitutedFunctionParameters);
|
|
case 13:
|
|
bounds = rti._rest;
|
|
depth += bounds.length;
|
|
substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth);
|
|
base = rti._primary;
|
|
substitutedBase = A._substitute(universe, base, typeArguments, depth);
|
|
if (substitutedBounds === bounds && substitutedBase === base)
|
|
return rti;
|
|
return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, true);
|
|
case 14:
|
|
index = rti._primary;
|
|
if (index < depth)
|
|
return rti;
|
|
argument = typeArguments[index - depth];
|
|
if (argument == null)
|
|
return rti;
|
|
return argument;
|
|
default:
|
|
throw A.wrapException(A.AssertionError$("Attempted to substitute unexpected RTI kind " + kind));
|
|
}
|
|
},
|
|
_substituteArray(universe, rtiArray, typeArguments, depth) {
|
|
var changed, i, rti, substitutedRti,
|
|
$length = rtiArray.length,
|
|
result = A._Utils_newArrayOrEmpty($length);
|
|
for (changed = false, i = 0; i < $length; ++i) {
|
|
rti = rtiArray[i];
|
|
substitutedRti = A._substitute(universe, rti, typeArguments, depth);
|
|
if (substitutedRti !== rti)
|
|
changed = true;
|
|
result[i] = substitutedRti;
|
|
}
|
|
return changed ? result : rtiArray;
|
|
},
|
|
_substituteNamed(universe, namedArray, typeArguments, depth) {
|
|
var changed, i, t1, t2, rti, substitutedRti,
|
|
$length = namedArray.length,
|
|
result = A._Utils_newArrayOrEmpty($length);
|
|
for (changed = false, i = 0; i < $length; i += 3) {
|
|
t1 = namedArray[i];
|
|
t2 = namedArray[i + 1];
|
|
rti = namedArray[i + 2];
|
|
substitutedRti = A._substitute(universe, rti, typeArguments, depth);
|
|
if (substitutedRti !== rti)
|
|
changed = true;
|
|
result.splice(i, 3, t1, t2, substitutedRti);
|
|
}
|
|
return changed ? result : namedArray;
|
|
},
|
|
_substituteFunctionParameters(universe, functionParameters, typeArguments, depth) {
|
|
var result,
|
|
requiredPositional = functionParameters._requiredPositional,
|
|
substitutedRequiredPositional = A._substituteArray(universe, requiredPositional, typeArguments, depth),
|
|
optionalPositional = functionParameters._optionalPositional,
|
|
substitutedOptionalPositional = A._substituteArray(universe, optionalPositional, typeArguments, depth),
|
|
named = functionParameters._named,
|
|
substitutedNamed = A._substituteNamed(universe, named, typeArguments, depth);
|
|
if (substitutedRequiredPositional === requiredPositional && substitutedOptionalPositional === optionalPositional && substitutedNamed === named)
|
|
return functionParameters;
|
|
result = new A._FunctionParameters();
|
|
result._requiredPositional = substitutedRequiredPositional;
|
|
result._optionalPositional = substitutedOptionalPositional;
|
|
result._named = substitutedNamed;
|
|
return result;
|
|
},
|
|
_setArrayType(target, rti) {
|
|
target[init.arrayRti] = rti;
|
|
return target;
|
|
},
|
|
closureFunctionType(closure) {
|
|
var t1,
|
|
signature = closure.$signature;
|
|
if (signature != null) {
|
|
if (typeof signature == "number")
|
|
return A.getTypeFromTypesTable(signature);
|
|
t1 = closure.$signature();
|
|
return t1;
|
|
}
|
|
return null;
|
|
},
|
|
instanceOrFunctionType(object, testRti) {
|
|
var rti;
|
|
if (A.Rti__isUnionOfFunctionType(testRti))
|
|
if (object instanceof A.Closure) {
|
|
rti = A.closureFunctionType(object);
|
|
if (rti != null)
|
|
return rti;
|
|
}
|
|
return A.instanceType(object);
|
|
},
|
|
instanceType(object) {
|
|
if (object instanceof A.Object)
|
|
return A._instanceType(object);
|
|
if (Array.isArray(object))
|
|
return A._arrayInstanceType(object);
|
|
return A._instanceTypeFromConstructor(J.getInterceptor$(object));
|
|
},
|
|
_arrayInstanceType(object) {
|
|
var rti = object[init.arrayRti],
|
|
defaultRti = type$.JSArray_dynamic;
|
|
if (rti == null)
|
|
return defaultRti;
|
|
if (rti.constructor !== defaultRti.constructor)
|
|
return defaultRti;
|
|
return rti;
|
|
},
|
|
_instanceType(object) {
|
|
var rti = object.$ti;
|
|
return rti != null ? rti : A._instanceTypeFromConstructor(object);
|
|
},
|
|
_instanceTypeFromConstructor(instance) {
|
|
var $constructor = instance.constructor,
|
|
probe = $constructor.$ccache;
|
|
if (probe != null)
|
|
return probe;
|
|
return A._instanceTypeFromConstructorMiss(instance, $constructor);
|
|
},
|
|
_instanceTypeFromConstructorMiss(instance, $constructor) {
|
|
var effectiveConstructor = instance instanceof A.Closure ? instance.__proto__.__proto__.constructor : $constructor,
|
|
rti = A._Universe_findErasedType(init.typeUniverse, effectiveConstructor.name);
|
|
$constructor.$ccache = rti;
|
|
return rti;
|
|
},
|
|
getTypeFromTypesTable(index) {
|
|
var rti,
|
|
table = init.types,
|
|
type = table[index];
|
|
if (typeof type == "string") {
|
|
rti = A._Universe_eval(init.typeUniverse, type, false);
|
|
table[index] = rti;
|
|
return rti;
|
|
}
|
|
return type;
|
|
},
|
|
getRuntimeTypeOfDartObject(object) {
|
|
return A.createRuntimeType(A._instanceType(object));
|
|
},
|
|
_structuralTypeOf(object) {
|
|
var functionRti = object instanceof A.Closure ? A.closureFunctionType(object) : null;
|
|
if (functionRti != null)
|
|
return functionRti;
|
|
if (type$.TrustedGetRuntimeType._is(object))
|
|
return J.get$runtimeType$(object)._rti;
|
|
if (Array.isArray(object))
|
|
return A._arrayInstanceType(object);
|
|
return A.instanceType(object);
|
|
},
|
|
createRuntimeType(rti) {
|
|
var t1 = rti._cachedRuntimeType;
|
|
return t1 == null ? rti._cachedRuntimeType = A._createRuntimeType(rti) : t1;
|
|
},
|
|
_createRuntimeType(rti) {
|
|
var starErasedRti, t1,
|
|
s = rti._canonicalRecipe,
|
|
starErasedRecipe = s.replace(/\*/g, "");
|
|
if (starErasedRecipe === s)
|
|
return rti._cachedRuntimeType = new A._Type(rti);
|
|
starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true);
|
|
t1 = starErasedRti._cachedRuntimeType;
|
|
return t1 == null ? starErasedRti._cachedRuntimeType = A._createRuntimeType(starErasedRti) : t1;
|
|
},
|
|
typeLiteral(recipe) {
|
|
return A.createRuntimeType(A._Universe_eval(init.typeUniverse, recipe, false));
|
|
},
|
|
_installSpecializedIsTest(object) {
|
|
var t1, unstarred, isFn, $name, predicate, testRti = this;
|
|
if (testRti === type$.Object)
|
|
return A._finishIsFn(testRti, object, A._isObject);
|
|
if (!A.isStrongTopType(testRti))
|
|
if (!(testRti === type$.legacy_Object))
|
|
t1 = false;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
if (t1)
|
|
return A._finishIsFn(testRti, object, A._isTop);
|
|
t1 = testRti._kind;
|
|
if (t1 === 7)
|
|
return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation);
|
|
if (t1 === 1)
|
|
return A._finishIsFn(testRti, object, A._isNever);
|
|
unstarred = t1 === 6 ? testRti._primary : testRti;
|
|
t1 = unstarred._kind;
|
|
if (t1 === 8)
|
|
return A._finishIsFn(testRti, object, A._isFutureOr);
|
|
if (unstarred === type$.int)
|
|
isFn = A._isInt;
|
|
else if (unstarred === type$.double || unstarred === type$.num)
|
|
isFn = A._isNum;
|
|
else if (unstarred === type$.String)
|
|
isFn = A._isString;
|
|
else
|
|
isFn = unstarred === type$.bool ? A._isBool : null;
|
|
if (isFn != null)
|
|
return A._finishIsFn(testRti, object, isFn);
|
|
if (t1 === 9) {
|
|
$name = unstarred._primary;
|
|
if (unstarred._rest.every(A.isTopType)) {
|
|
testRti._specializedTestResource = "$is" + $name;
|
|
if ($name === "List")
|
|
return A._finishIsFn(testRti, object, A._isListTestViaProperty);
|
|
return A._finishIsFn(testRti, object, A._isTestViaProperty);
|
|
}
|
|
} else if (t1 === 11) {
|
|
predicate = A.createRecordTypePredicate(unstarred._primary, unstarred._rest);
|
|
return A._finishIsFn(testRti, object, predicate == null ? A._isNever : predicate);
|
|
}
|
|
return A._finishIsFn(testRti, object, A._generalIsTestImplementation);
|
|
},
|
|
_finishIsFn(testRti, object, isFn) {
|
|
testRti._is = isFn;
|
|
return testRti._is(object);
|
|
},
|
|
_installSpecializedAsCheck(object) {
|
|
var t1, testRti = this,
|
|
asFn = A._generalAsCheckImplementation;
|
|
if (!A.isStrongTopType(testRti))
|
|
if (!(testRti === type$.legacy_Object))
|
|
t1 = false;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
if (t1)
|
|
asFn = A._asTop;
|
|
else if (testRti === type$.Object)
|
|
asFn = A._asObject;
|
|
else {
|
|
t1 = A.isNullable(testRti);
|
|
if (t1)
|
|
asFn = A._generalNullableAsCheckImplementation;
|
|
}
|
|
testRti._as = asFn;
|
|
return testRti._as(object);
|
|
},
|
|
_nullIs(testRti) {
|
|
var t1,
|
|
kind = testRti._kind;
|
|
if (!A.isStrongTopType(testRti))
|
|
if (!(testRti === type$.legacy_Object))
|
|
if (!(testRti === type$.legacy_Never))
|
|
if (kind !== 7)
|
|
if (!(kind === 6 && A._nullIs(testRti._primary)))
|
|
t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
return t1;
|
|
},
|
|
_generalIsTestImplementation(object) {
|
|
var testRti = this;
|
|
if (object == null)
|
|
return A._nullIs(testRti);
|
|
return A._isSubtype(init.typeUniverse, A.instanceOrFunctionType(object, testRti), null, testRti, null);
|
|
},
|
|
_generalNullableIsTestImplementation(object) {
|
|
if (object == null)
|
|
return true;
|
|
return this._primary._is(object);
|
|
},
|
|
_isTestViaProperty(object) {
|
|
var tag, testRti = this;
|
|
if (object == null)
|
|
return A._nullIs(testRti);
|
|
tag = testRti._specializedTestResource;
|
|
if (object instanceof A.Object)
|
|
return !!object[tag];
|
|
return !!J.getInterceptor$(object)[tag];
|
|
},
|
|
_isListTestViaProperty(object) {
|
|
var tag, testRti = this;
|
|
if (object == null)
|
|
return A._nullIs(testRti);
|
|
if (typeof object != "object")
|
|
return false;
|
|
if (Array.isArray(object))
|
|
return true;
|
|
tag = testRti._specializedTestResource;
|
|
if (object instanceof A.Object)
|
|
return !!object[tag];
|
|
return !!J.getInterceptor$(object)[tag];
|
|
},
|
|
_generalAsCheckImplementation(object) {
|
|
var t1, testRti = this;
|
|
if (object == null) {
|
|
t1 = A.isNullable(testRti);
|
|
if (t1)
|
|
return object;
|
|
} else if (testRti._is(object))
|
|
return object;
|
|
A._failedAsCheck(object, testRti);
|
|
},
|
|
_generalNullableAsCheckImplementation(object) {
|
|
var testRti = this;
|
|
if (object == null)
|
|
return object;
|
|
else if (testRti._is(object))
|
|
return object;
|
|
A._failedAsCheck(object, testRti);
|
|
},
|
|
_failedAsCheck(object, testRti) {
|
|
throw A.wrapException(A._TypeError$fromMessage(A._Error_compose(object, A._rtiToString(testRti, null))));
|
|
},
|
|
_Error_compose(object, checkedTypeDescription) {
|
|
return A.Error_safeToString(object) + ": type '" + A._rtiToString(A._structuralTypeOf(object), null) + "' is not a subtype of type '" + checkedTypeDescription + "'";
|
|
},
|
|
_TypeError$fromMessage(message) {
|
|
return new A._TypeError("TypeError: " + message);
|
|
},
|
|
_TypeError__TypeError$forType(object, type) {
|
|
return new A._TypeError("TypeError: " + A._Error_compose(object, type));
|
|
},
|
|
_isFutureOr(object) {
|
|
var testRti = this;
|
|
return testRti._primary._is(object) || A.Rti__getFutureFromFutureOr(init.typeUniverse, testRti)._is(object);
|
|
},
|
|
_isObject(object) {
|
|
return object != null;
|
|
},
|
|
_asObject(object) {
|
|
if (object != null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "Object"));
|
|
},
|
|
_isTop(object) {
|
|
return true;
|
|
},
|
|
_asTop(object) {
|
|
return object;
|
|
},
|
|
_isNever(object) {
|
|
return false;
|
|
},
|
|
_isBool(object) {
|
|
return true === object || false === object;
|
|
},
|
|
_asBool(object) {
|
|
if (true === object)
|
|
return true;
|
|
if (false === object)
|
|
return false;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "bool"));
|
|
},
|
|
_asBoolS(object) {
|
|
if (true === object)
|
|
return true;
|
|
if (false === object)
|
|
return false;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "bool"));
|
|
},
|
|
_asBoolQ(object) {
|
|
if (true === object)
|
|
return true;
|
|
if (false === object)
|
|
return false;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "bool?"));
|
|
},
|
|
_asDouble(object) {
|
|
if (typeof object == "number")
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "double"));
|
|
},
|
|
_asDoubleS(object) {
|
|
if (typeof object == "number")
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "double"));
|
|
},
|
|
_asDoubleQ(object) {
|
|
if (typeof object == "number")
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "double?"));
|
|
},
|
|
_isInt(object) {
|
|
return typeof object == "number" && Math.floor(object) === object;
|
|
},
|
|
_asInt(object) {
|
|
if (typeof object == "number" && Math.floor(object) === object)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "int"));
|
|
},
|
|
_asIntS(object) {
|
|
if (typeof object == "number" && Math.floor(object) === object)
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "int"));
|
|
},
|
|
_asIntQ(object) {
|
|
if (typeof object == "number" && Math.floor(object) === object)
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "int?"));
|
|
},
|
|
_isNum(object) {
|
|
return typeof object == "number";
|
|
},
|
|
_asNum(object) {
|
|
if (typeof object == "number")
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "num"));
|
|
},
|
|
_asNumS(object) {
|
|
if (typeof object == "number")
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "num"));
|
|
},
|
|
_asNumQ(object) {
|
|
if (typeof object == "number")
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "num?"));
|
|
},
|
|
_isString(object) {
|
|
return typeof object == "string";
|
|
},
|
|
_asString(object) {
|
|
if (typeof object == "string")
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "String"));
|
|
},
|
|
_asStringS(object) {
|
|
if (typeof object == "string")
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "String"));
|
|
},
|
|
_asStringQ(object) {
|
|
if (typeof object == "string")
|
|
return object;
|
|
if (object == null)
|
|
return object;
|
|
throw A.wrapException(A._TypeError__TypeError$forType(object, "String?"));
|
|
},
|
|
_rtiArrayToString(array, genericContext) {
|
|
var s, sep, i;
|
|
for (s = "", sep = "", i = 0; i < array.length; ++i, sep = ", ")
|
|
s += sep + A._rtiToString(array[i], genericContext);
|
|
return s;
|
|
},
|
|
_recordRtiToString(recordType, genericContext) {
|
|
var fieldCount, names, namesIndex, s, comma, i,
|
|
partialShape = recordType._primary,
|
|
fields = recordType._rest;
|
|
if ("" === partialShape)
|
|
return "(" + A._rtiArrayToString(fields, genericContext) + ")";
|
|
fieldCount = fields.length;
|
|
names = partialShape.split(",");
|
|
namesIndex = names.length - fieldCount;
|
|
for (s = "(", comma = "", i = 0; i < fieldCount; ++i, comma = ", ") {
|
|
s += comma;
|
|
if (namesIndex === 0)
|
|
s += "{";
|
|
s += A._rtiToString(fields[i], genericContext);
|
|
if (namesIndex >= 0)
|
|
s += " " + names[namesIndex];
|
|
++namesIndex;
|
|
}
|
|
return s + "})";
|
|
},
|
|
_functionRtiToString(functionType, genericContext, bounds) {
|
|
var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, t3, t4, boundRti, kind, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ";
|
|
if (bounds != null) {
|
|
boundsLength = bounds.length;
|
|
if (genericContext == null) {
|
|
genericContext = A._setArrayType([], type$.JSArray_String);
|
|
outerContextLength = null;
|
|
} else
|
|
outerContextLength = genericContext.length;
|
|
offset = genericContext.length;
|
|
for (i = boundsLength; i > 0; --i)
|
|
B.JSArray_methods.add$1(genericContext, "T" + (offset + i));
|
|
for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) {
|
|
t3 = genericContext.length;
|
|
t4 = t3 - 1 - i;
|
|
if (!(t4 >= 0))
|
|
return A.ioore(genericContext, t4);
|
|
typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[t4]);
|
|
boundRti = bounds[i];
|
|
kind = boundRti._kind;
|
|
if (!(kind === 2 || kind === 3 || kind === 4 || kind === 5 || boundRti === t1))
|
|
if (!(boundRti === t2))
|
|
t3 = false;
|
|
else
|
|
t3 = true;
|
|
else
|
|
t3 = true;
|
|
if (!t3)
|
|
typeParametersText += " extends " + A._rtiToString(boundRti, genericContext);
|
|
}
|
|
typeParametersText += ">";
|
|
} else {
|
|
typeParametersText = "";
|
|
outerContextLength = null;
|
|
}
|
|
t1 = functionType._primary;
|
|
parameters = functionType._rest;
|
|
requiredPositional = parameters._requiredPositional;
|
|
requiredPositionalLength = requiredPositional.length;
|
|
optionalPositional = parameters._optionalPositional;
|
|
optionalPositionalLength = optionalPositional.length;
|
|
named = parameters._named;
|
|
namedLength = named.length;
|
|
returnTypeText = A._rtiToString(t1, genericContext);
|
|
for (argumentsText = "", sep = "", i = 0; i < requiredPositionalLength; ++i, sep = _s2_)
|
|
argumentsText += sep + A._rtiToString(requiredPositional[i], genericContext);
|
|
if (optionalPositionalLength > 0) {
|
|
argumentsText += sep + "[";
|
|
for (sep = "", i = 0; i < optionalPositionalLength; ++i, sep = _s2_)
|
|
argumentsText += sep + A._rtiToString(optionalPositional[i], genericContext);
|
|
argumentsText += "]";
|
|
}
|
|
if (namedLength > 0) {
|
|
argumentsText += sep + "{";
|
|
for (sep = "", i = 0; i < namedLength; i += 3, sep = _s2_) {
|
|
argumentsText += sep;
|
|
if (named[i + 1])
|
|
argumentsText += "required ";
|
|
argumentsText += A._rtiToString(named[i + 2], genericContext) + " " + named[i];
|
|
}
|
|
argumentsText += "}";
|
|
}
|
|
if (outerContextLength != null) {
|
|
genericContext.toString;
|
|
genericContext.length = outerContextLength;
|
|
}
|
|
return typeParametersText + "(" + argumentsText + ") => " + returnTypeText;
|
|
},
|
|
_rtiToString(rti, genericContext) {
|
|
var s, questionArgument, argumentKind, $name, $arguments, t1, t2,
|
|
kind = rti._kind;
|
|
if (kind === 5)
|
|
return "erased";
|
|
if (kind === 2)
|
|
return "dynamic";
|
|
if (kind === 3)
|
|
return "void";
|
|
if (kind === 1)
|
|
return "Never";
|
|
if (kind === 4)
|
|
return "any";
|
|
if (kind === 6) {
|
|
s = A._rtiToString(rti._primary, genericContext);
|
|
return s;
|
|
}
|
|
if (kind === 7) {
|
|
questionArgument = rti._primary;
|
|
s = A._rtiToString(questionArgument, genericContext);
|
|
argumentKind = questionArgument._kind;
|
|
return (argumentKind === 12 || argumentKind === 13 ? "(" + s + ")" : s) + "?";
|
|
}
|
|
if (kind === 8)
|
|
return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">";
|
|
if (kind === 9) {
|
|
$name = A._unminifyOrTag(rti._primary);
|
|
$arguments = rti._rest;
|
|
return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name;
|
|
}
|
|
if (kind === 11)
|
|
return A._recordRtiToString(rti, genericContext);
|
|
if (kind === 12)
|
|
return A._functionRtiToString(rti, genericContext, null);
|
|
if (kind === 13)
|
|
return A._functionRtiToString(rti._primary, genericContext, rti._rest);
|
|
if (kind === 14) {
|
|
t1 = rti._primary;
|
|
t2 = genericContext.length;
|
|
t1 = t2 - 1 - t1;
|
|
if (!(t1 >= 0 && t1 < t2))
|
|
return A.ioore(genericContext, t1);
|
|
return genericContext[t1];
|
|
}
|
|
return "?";
|
|
},
|
|
_unminifyOrTag(rawClassName) {
|
|
var preserved = init.mangledGlobalNames[rawClassName];
|
|
if (preserved != null)
|
|
return preserved;
|
|
return rawClassName;
|
|
},
|
|
_Universe_findRule(universe, targetType) {
|
|
var rule = universe.tR[targetType];
|
|
for (; typeof rule == "string";)
|
|
rule = universe.tR[rule];
|
|
return rule;
|
|
},
|
|
_Universe_findErasedType(universe, cls) {
|
|
var $length, erased, $arguments, i, $interface,
|
|
t1 = universe.eT,
|
|
probe = t1[cls];
|
|
if (probe == null)
|
|
return A._Universe_eval(universe, cls, false);
|
|
else if (typeof probe == "number") {
|
|
$length = probe;
|
|
erased = A._Universe__lookupTerminalRti(universe, 5, "#");
|
|
$arguments = A._Utils_newArrayOrEmpty($length);
|
|
for (i = 0; i < $length; ++i)
|
|
$arguments[i] = erased;
|
|
$interface = A._Universe__lookupInterfaceRti(universe, cls, $arguments);
|
|
t1[cls] = $interface;
|
|
return $interface;
|
|
} else
|
|
return probe;
|
|
},
|
|
_Universe_addRules(universe, rules) {
|
|
return A._Utils_objectAssign(universe.tR, rules);
|
|
},
|
|
_Universe_addErasedTypes(universe, types) {
|
|
return A._Utils_objectAssign(universe.eT, types);
|
|
},
|
|
_Universe_eval(universe, recipe, normalize) {
|
|
var rti,
|
|
t1 = universe.eC,
|
|
probe = t1.get(recipe);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = A._Parser_parse(A._Parser_create(universe, null, recipe, normalize));
|
|
t1.set(recipe, rti);
|
|
return rti;
|
|
},
|
|
_Universe_evalInEnvironment(universe, environment, recipe) {
|
|
var probe, rti,
|
|
cache = environment._evalCache;
|
|
if (cache == null)
|
|
cache = environment._evalCache = new Map();
|
|
probe = cache.get(recipe);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = A._Parser_parse(A._Parser_create(universe, environment, recipe, true));
|
|
cache.set(recipe, rti);
|
|
return rti;
|
|
},
|
|
_Universe_bind(universe, environment, argumentsRti) {
|
|
var argumentsRecipe, probe, rti,
|
|
cache = environment._bindCache;
|
|
if (cache == null)
|
|
cache = environment._bindCache = new Map();
|
|
argumentsRecipe = argumentsRti._canonicalRecipe;
|
|
probe = cache.get(argumentsRecipe);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [argumentsRti]);
|
|
cache.set(argumentsRecipe, rti);
|
|
return rti;
|
|
},
|
|
_Universe__installTypeTests(universe, rti) {
|
|
rti._as = A._installSpecializedAsCheck;
|
|
rti._is = A._installSpecializedIsTest;
|
|
return rti;
|
|
},
|
|
_Universe__lookupTerminalRti(universe, kind, key) {
|
|
var rti, t1,
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = kind;
|
|
rti._canonicalRecipe = key;
|
|
t1 = A._Universe__installTypeTests(universe, rti);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__lookupStarRti(universe, baseType, normalize) {
|
|
var t1,
|
|
key = baseType._canonicalRecipe + "*",
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
t1 = A._Universe__createStarRti(universe, baseType, key, normalize);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__createStarRti(universe, baseType, key, normalize) {
|
|
var baseKind, t1, rti;
|
|
if (normalize) {
|
|
baseKind = baseType._kind;
|
|
if (!A.isStrongTopType(baseType))
|
|
t1 = baseType === type$.Null || baseType === type$.JSNull || baseKind === 7 || baseKind === 6;
|
|
else
|
|
t1 = true;
|
|
if (t1)
|
|
return baseType;
|
|
}
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 6;
|
|
rti._primary = baseType;
|
|
rti._canonicalRecipe = key;
|
|
return A._Universe__installTypeTests(universe, rti);
|
|
},
|
|
_Universe__lookupQuestionRti(universe, baseType, normalize) {
|
|
var t1,
|
|
key = baseType._canonicalRecipe + "?",
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
t1 = A._Universe__createQuestionRti(universe, baseType, key, normalize);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__createQuestionRti(universe, baseType, key, normalize) {
|
|
var baseKind, t1, starArgument, rti;
|
|
if (normalize) {
|
|
baseKind = baseType._kind;
|
|
if (!A.isStrongTopType(baseType))
|
|
if (!(baseType === type$.Null || baseType === type$.JSNull))
|
|
if (baseKind !== 7)
|
|
t1 = baseKind === 8 && A.isNullable(baseType._primary);
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
if (t1)
|
|
return baseType;
|
|
else if (baseKind === 1 || baseType === type$.legacy_Never)
|
|
return type$.Null;
|
|
else if (baseKind === 6) {
|
|
starArgument = baseType._primary;
|
|
if (starArgument._kind === 8 && A.isNullable(starArgument._primary))
|
|
return starArgument;
|
|
else
|
|
return A.Rti__getQuestionFromStar(universe, baseType);
|
|
}
|
|
}
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 7;
|
|
rti._primary = baseType;
|
|
rti._canonicalRecipe = key;
|
|
return A._Universe__installTypeTests(universe, rti);
|
|
},
|
|
_Universe__lookupFutureOrRti(universe, baseType, normalize) {
|
|
var t1,
|
|
key = baseType._canonicalRecipe + "/",
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
t1 = A._Universe__createFutureOrRti(universe, baseType, key, normalize);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__createFutureOrRti(universe, baseType, key, normalize) {
|
|
var t1, t2, rti;
|
|
if (normalize) {
|
|
t1 = baseType._kind;
|
|
if (!A.isStrongTopType(baseType))
|
|
if (!(baseType === type$.legacy_Object))
|
|
t2 = false;
|
|
else
|
|
t2 = true;
|
|
else
|
|
t2 = true;
|
|
if (t2 || baseType === type$.Object)
|
|
return baseType;
|
|
else if (t1 === 1)
|
|
return A._Universe__lookupInterfaceRti(universe, "Future", [baseType]);
|
|
else if (baseType === type$.Null || baseType === type$.JSNull)
|
|
return type$.nullable_Future_Null;
|
|
}
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 8;
|
|
rti._primary = baseType;
|
|
rti._canonicalRecipe = key;
|
|
return A._Universe__installTypeTests(universe, rti);
|
|
},
|
|
_Universe__lookupGenericFunctionParameterRti(universe, index) {
|
|
var rti, t1,
|
|
key = "" + index + "^",
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 14;
|
|
rti._primary = index;
|
|
rti._canonicalRecipe = key;
|
|
t1 = A._Universe__installTypeTests(universe, rti);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__canonicalRecipeJoin($arguments) {
|
|
var s, sep, i,
|
|
$length = $arguments.length;
|
|
for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",")
|
|
s += sep + $arguments[i]._canonicalRecipe;
|
|
return s;
|
|
},
|
|
_Universe__canonicalRecipeJoinNamed($arguments) {
|
|
var s, sep, i, t1, nameSep,
|
|
$length = $arguments.length;
|
|
for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") {
|
|
t1 = $arguments[i];
|
|
nameSep = $arguments[i + 1] ? "!" : ":";
|
|
s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe;
|
|
}
|
|
return s;
|
|
},
|
|
_Universe__lookupInterfaceRti(universe, $name, $arguments) {
|
|
var probe, rti, t1,
|
|
s = $name;
|
|
if ($arguments.length > 0)
|
|
s += "<" + A._Universe__canonicalRecipeJoin($arguments) + ">";
|
|
probe = universe.eC.get(s);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 9;
|
|
rti._primary = $name;
|
|
rti._rest = $arguments;
|
|
if ($arguments.length > 0)
|
|
rti._precomputed1 = $arguments[0];
|
|
rti._canonicalRecipe = s;
|
|
t1 = A._Universe__installTypeTests(universe, rti);
|
|
universe.eC.set(s, t1);
|
|
return t1;
|
|
},
|
|
_Universe__lookupBindingRti(universe, base, $arguments) {
|
|
var newBase, newArguments, key, probe, rti, t1;
|
|
if (base._kind === 10) {
|
|
newBase = base._primary;
|
|
newArguments = base._rest.concat($arguments);
|
|
} else {
|
|
newArguments = $arguments;
|
|
newBase = base;
|
|
}
|
|
key = newBase._canonicalRecipe + (";<" + A._Universe__canonicalRecipeJoin(newArguments) + ">");
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 10;
|
|
rti._primary = newBase;
|
|
rti._rest = newArguments;
|
|
rti._canonicalRecipe = key;
|
|
t1 = A._Universe__installTypeTests(universe, rti);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__lookupRecordRti(universe, partialShapeTag, fields) {
|
|
var rti, t1,
|
|
key = "+" + (partialShapeTag + "(" + A._Universe__canonicalRecipeJoin(fields) + ")"),
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 11;
|
|
rti._primary = partialShapeTag;
|
|
rti._rest = fields;
|
|
rti._canonicalRecipe = key;
|
|
t1 = A._Universe__installTypeTests(universe, rti);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__lookupFunctionRti(universe, returnType, parameters) {
|
|
var sep, key, probe, rti, t1,
|
|
s = returnType._canonicalRecipe,
|
|
requiredPositional = parameters._requiredPositional,
|
|
requiredPositionalLength = requiredPositional.length,
|
|
optionalPositional = parameters._optionalPositional,
|
|
optionalPositionalLength = optionalPositional.length,
|
|
named = parameters._named,
|
|
namedLength = named.length,
|
|
recipe = "(" + A._Universe__canonicalRecipeJoin(requiredPositional);
|
|
if (optionalPositionalLength > 0) {
|
|
sep = requiredPositionalLength > 0 ? "," : "";
|
|
recipe += sep + "[" + A._Universe__canonicalRecipeJoin(optionalPositional) + "]";
|
|
}
|
|
if (namedLength > 0) {
|
|
sep = requiredPositionalLength > 0 ? "," : "";
|
|
recipe += sep + "{" + A._Universe__canonicalRecipeJoinNamed(named) + "}";
|
|
}
|
|
key = s + (recipe + ")");
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 12;
|
|
rti._primary = returnType;
|
|
rti._rest = parameters;
|
|
rti._canonicalRecipe = key;
|
|
t1 = A._Universe__installTypeTests(universe, rti);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__lookupGenericFunctionRti(universe, baseFunctionType, bounds, normalize) {
|
|
var t1,
|
|
key = baseFunctionType._canonicalRecipe + ("<" + A._Universe__canonicalRecipeJoin(bounds) + ">"),
|
|
probe = universe.eC.get(key);
|
|
if (probe != null)
|
|
return probe;
|
|
t1 = A._Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize);
|
|
universe.eC.set(key, t1);
|
|
return t1;
|
|
},
|
|
_Universe__createGenericFunctionRti(universe, baseFunctionType, bounds, key, normalize) {
|
|
var $length, typeArguments, count, i, bound, substitutedBase, substitutedBounds, rti;
|
|
if (normalize) {
|
|
$length = bounds.length;
|
|
typeArguments = A._Utils_newArrayOrEmpty($length);
|
|
for (count = 0, i = 0; i < $length; ++i) {
|
|
bound = bounds[i];
|
|
if (bound._kind === 1) {
|
|
typeArguments[i] = bound;
|
|
++count;
|
|
}
|
|
}
|
|
if (count > 0) {
|
|
substitutedBase = A._substitute(universe, baseFunctionType, typeArguments, 0);
|
|
substitutedBounds = A._substituteArray(universe, bounds, typeArguments, 0);
|
|
return A._Universe__lookupGenericFunctionRti(universe, substitutedBase, substitutedBounds, bounds !== substitutedBounds);
|
|
}
|
|
}
|
|
rti = new A.Rti(null, null);
|
|
rti._kind = 13;
|
|
rti._primary = baseFunctionType;
|
|
rti._rest = bounds;
|
|
rti._canonicalRecipe = key;
|
|
return A._Universe__installTypeTests(universe, rti);
|
|
},
|
|
_Parser_create(universe, environment, recipe, normalize) {
|
|
return {u: universe, e: environment, r: recipe, s: [], p: 0, n: normalize};
|
|
},
|
|
_Parser_parse(parser) {
|
|
var t2, i, ch, t3, array, end, item,
|
|
source = parser.r,
|
|
t1 = parser.s;
|
|
for (t2 = source.length, i = 0; i < t2;) {
|
|
ch = source.charCodeAt(i);
|
|
if (ch >= 48 && ch <= 57)
|
|
i = A._Parser_handleDigit(i + 1, ch, source, t1);
|
|
else if ((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124)
|
|
i = A._Parser_handleIdentifier(parser, i, source, t1, false);
|
|
else if (ch === 46)
|
|
i = A._Parser_handleIdentifier(parser, i, source, t1, true);
|
|
else {
|
|
++i;
|
|
switch (ch) {
|
|
case 44:
|
|
break;
|
|
case 58:
|
|
t1.push(false);
|
|
break;
|
|
case 33:
|
|
t1.push(true);
|
|
break;
|
|
case 59:
|
|
t1.push(A._Parser_toType(parser.u, parser.e, t1.pop()));
|
|
break;
|
|
case 94:
|
|
t1.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop()));
|
|
break;
|
|
case 35:
|
|
t1.push(A._Universe__lookupTerminalRti(parser.u, 5, "#"));
|
|
break;
|
|
case 64:
|
|
t1.push(A._Universe__lookupTerminalRti(parser.u, 2, "@"));
|
|
break;
|
|
case 126:
|
|
t1.push(A._Universe__lookupTerminalRti(parser.u, 3, "~"));
|
|
break;
|
|
case 60:
|
|
t1.push(parser.p);
|
|
parser.p = t1.length;
|
|
break;
|
|
case 62:
|
|
A._Parser_handleTypeArguments(parser, t1);
|
|
break;
|
|
case 38:
|
|
A._Parser_handleExtendedOperations(parser, t1);
|
|
break;
|
|
case 42:
|
|
t3 = parser.u;
|
|
t1.push(A._Universe__lookupStarRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));
|
|
break;
|
|
case 63:
|
|
t3 = parser.u;
|
|
t1.push(A._Universe__lookupQuestionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));
|
|
break;
|
|
case 47:
|
|
t3 = parser.u;
|
|
t1.push(A._Universe__lookupFutureOrRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parser.n));
|
|
break;
|
|
case 40:
|
|
t1.push(-3);
|
|
t1.push(parser.p);
|
|
parser.p = t1.length;
|
|
break;
|
|
case 41:
|
|
A._Parser_handleArguments(parser, t1);
|
|
break;
|
|
case 91:
|
|
t1.push(parser.p);
|
|
parser.p = t1.length;
|
|
break;
|
|
case 93:
|
|
array = t1.splice(parser.p);
|
|
A._Parser_toTypes(parser.u, parser.e, array);
|
|
parser.p = t1.pop();
|
|
t1.push(array);
|
|
t1.push(-1);
|
|
break;
|
|
case 123:
|
|
t1.push(parser.p);
|
|
parser.p = t1.length;
|
|
break;
|
|
case 125:
|
|
array = t1.splice(parser.p);
|
|
A._Parser_toTypesNamed(parser.u, parser.e, array);
|
|
parser.p = t1.pop();
|
|
t1.push(array);
|
|
t1.push(-2);
|
|
break;
|
|
case 43:
|
|
end = source.indexOf("(", i);
|
|
t1.push(source.substring(i, end));
|
|
t1.push(-4);
|
|
t1.push(parser.p);
|
|
parser.p = t1.length;
|
|
i = end + 1;
|
|
break;
|
|
default:
|
|
throw "Bad character " + ch;
|
|
}
|
|
}
|
|
}
|
|
item = t1.pop();
|
|
return A._Parser_toType(parser.u, parser.e, item);
|
|
},
|
|
_Parser_handleDigit(i, digit, source, stack) {
|
|
var t1, ch,
|
|
value = digit - 48;
|
|
for (t1 = source.length; i < t1; ++i) {
|
|
ch = source.charCodeAt(i);
|
|
if (!(ch >= 48 && ch <= 57))
|
|
break;
|
|
value = value * 10 + (ch - 48);
|
|
}
|
|
stack.push(value);
|
|
return i;
|
|
},
|
|
_Parser_handleIdentifier(parser, start, source, stack, hasPeriod) {
|
|
var t1, ch, t2, string, environment, recipe,
|
|
i = start + 1;
|
|
for (t1 = source.length; i < t1; ++i) {
|
|
ch = source.charCodeAt(i);
|
|
if (ch === 46) {
|
|
if (hasPeriod)
|
|
break;
|
|
hasPeriod = true;
|
|
} else {
|
|
if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36 || ch === 124))
|
|
t2 = ch >= 48 && ch <= 57;
|
|
else
|
|
t2 = true;
|
|
if (!t2)
|
|
break;
|
|
}
|
|
}
|
|
string = source.substring(start, i);
|
|
if (hasPeriod) {
|
|
t1 = parser.u;
|
|
environment = parser.e;
|
|
if (environment._kind === 10)
|
|
environment = environment._primary;
|
|
recipe = A._Universe_findRule(t1, environment._primary)[string];
|
|
if (recipe == null)
|
|
A.throwExpression('No "' + string + '" in "' + A.Rti__getCanonicalRecipe(environment) + '"');
|
|
stack.push(A._Universe_evalInEnvironment(t1, environment, recipe));
|
|
} else
|
|
stack.push(string);
|
|
return i;
|
|
},
|
|
_Parser_handleTypeArguments(parser, stack) {
|
|
var base,
|
|
t1 = parser.u,
|
|
$arguments = A._Parser_collectArray(parser, stack),
|
|
head = stack.pop();
|
|
if (typeof head == "string")
|
|
stack.push(A._Universe__lookupInterfaceRti(t1, head, $arguments));
|
|
else {
|
|
base = A._Parser_toType(t1, parser.e, head);
|
|
switch (base._kind) {
|
|
case 12:
|
|
stack.push(A._Universe__lookupGenericFunctionRti(t1, base, $arguments, parser.n));
|
|
break;
|
|
default:
|
|
stack.push(A._Universe__lookupBindingRti(t1, base, $arguments));
|
|
break;
|
|
}
|
|
}
|
|
},
|
|
_Parser_handleArguments(parser, stack) {
|
|
var optionalPositional, named, requiredPositional, returnType, parameters, _null = null,
|
|
t1 = parser.u,
|
|
head = stack.pop();
|
|
if (typeof head == "number")
|
|
switch (head) {
|
|
case -1:
|
|
optionalPositional = stack.pop();
|
|
named = _null;
|
|
break;
|
|
case -2:
|
|
named = stack.pop();
|
|
optionalPositional = _null;
|
|
break;
|
|
default:
|
|
stack.push(head);
|
|
named = _null;
|
|
optionalPositional = named;
|
|
break;
|
|
}
|
|
else {
|
|
stack.push(head);
|
|
named = _null;
|
|
optionalPositional = named;
|
|
}
|
|
requiredPositional = A._Parser_collectArray(parser, stack);
|
|
head = stack.pop();
|
|
switch (head) {
|
|
case -3:
|
|
head = stack.pop();
|
|
if (optionalPositional == null)
|
|
optionalPositional = t1.sEA;
|
|
if (named == null)
|
|
named = t1.sEA;
|
|
returnType = A._Parser_toType(t1, parser.e, head);
|
|
parameters = new A._FunctionParameters();
|
|
parameters._requiredPositional = requiredPositional;
|
|
parameters._optionalPositional = optionalPositional;
|
|
parameters._named = named;
|
|
stack.push(A._Universe__lookupFunctionRti(t1, returnType, parameters));
|
|
return;
|
|
case -4:
|
|
stack.push(A._Universe__lookupRecordRti(t1, stack.pop(), requiredPositional));
|
|
return;
|
|
default:
|
|
throw A.wrapException(A.AssertionError$("Unexpected state under `()`: " + A.S(head)));
|
|
}
|
|
},
|
|
_Parser_handleExtendedOperations(parser, stack) {
|
|
var $top = stack.pop();
|
|
if (0 === $top) {
|
|
stack.push(A._Universe__lookupTerminalRti(parser.u, 1, "0&"));
|
|
return;
|
|
}
|
|
if (1 === $top) {
|
|
stack.push(A._Universe__lookupTerminalRti(parser.u, 4, "1&"));
|
|
return;
|
|
}
|
|
throw A.wrapException(A.AssertionError$("Unexpected extended operation " + A.S($top)));
|
|
},
|
|
_Parser_collectArray(parser, stack) {
|
|
var array = stack.splice(parser.p);
|
|
A._Parser_toTypes(parser.u, parser.e, array);
|
|
parser.p = stack.pop();
|
|
return array;
|
|
},
|
|
_Parser_toType(universe, environment, item) {
|
|
if (typeof item == "string")
|
|
return A._Universe__lookupInterfaceRti(universe, item, universe.sEA);
|
|
else if (typeof item == "number") {
|
|
environment.toString;
|
|
return A._Parser_indexToType(universe, environment, item);
|
|
} else
|
|
return item;
|
|
},
|
|
_Parser_toTypes(universe, environment, items) {
|
|
var i,
|
|
$length = items.length;
|
|
for (i = 0; i < $length; ++i)
|
|
items[i] = A._Parser_toType(universe, environment, items[i]);
|
|
},
|
|
_Parser_toTypesNamed(universe, environment, items) {
|
|
var i,
|
|
$length = items.length;
|
|
for (i = 2; i < $length; i += 3)
|
|
items[i] = A._Parser_toType(universe, environment, items[i]);
|
|
},
|
|
_Parser_indexToType(universe, environment, index) {
|
|
var typeArguments, len,
|
|
kind = environment._kind;
|
|
if (kind === 10) {
|
|
if (index === 0)
|
|
return environment._primary;
|
|
typeArguments = environment._rest;
|
|
len = typeArguments.length;
|
|
if (index <= len)
|
|
return typeArguments[index - 1];
|
|
index -= len;
|
|
environment = environment._primary;
|
|
kind = environment._kind;
|
|
} else if (index === 0)
|
|
return environment;
|
|
if (kind !== 9)
|
|
throw A.wrapException(A.AssertionError$("Indexed base must be an interface type"));
|
|
typeArguments = environment._rest;
|
|
if (index <= typeArguments.length)
|
|
return typeArguments[index - 1];
|
|
throw A.wrapException(A.AssertionError$("Bad index " + index + " for " + environment.toString$0(0)));
|
|
},
|
|
_isSubtype(universe, s, sEnv, t, tEnv) {
|
|
var t1, sKind, leftTypeVariable, tKind, t2, sBounds, tBounds, sLength, i, sBound, tBound;
|
|
if (s === t)
|
|
return true;
|
|
if (!A.isStrongTopType(t))
|
|
if (!(t === type$.legacy_Object))
|
|
t1 = false;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
if (t1)
|
|
return true;
|
|
sKind = s._kind;
|
|
if (sKind === 4)
|
|
return true;
|
|
if (A.isStrongTopType(s))
|
|
return false;
|
|
if (s._kind !== 1)
|
|
t1 = false;
|
|
else
|
|
t1 = true;
|
|
if (t1)
|
|
return true;
|
|
leftTypeVariable = sKind === 14;
|
|
if (leftTypeVariable)
|
|
if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))
|
|
return true;
|
|
tKind = t._kind;
|
|
t1 = s === type$.Null || s === type$.JSNull;
|
|
if (t1) {
|
|
if (tKind === 8)
|
|
return A._isSubtype(universe, s, sEnv, t._primary, tEnv);
|
|
return t === type$.Null || t === type$.JSNull || tKind === 7 || tKind === 6;
|
|
}
|
|
if (t === type$.Object) {
|
|
if (sKind === 8)
|
|
return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
|
|
if (sKind === 6)
|
|
return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
|
|
return sKind !== 7;
|
|
}
|
|
if (sKind === 6)
|
|
return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
|
|
if (tKind === 6) {
|
|
t1 = A.Rti__getQuestionFromStar(universe, t);
|
|
return A._isSubtype(universe, s, sEnv, t1, tEnv);
|
|
}
|
|
if (sKind === 8) {
|
|
if (!A._isSubtype(universe, s._primary, sEnv, t, tEnv))
|
|
return false;
|
|
return A._isSubtype(universe, A.Rti__getFutureFromFutureOr(universe, s), sEnv, t, tEnv);
|
|
}
|
|
if (sKind === 7) {
|
|
t1 = A._isSubtype(universe, type$.Null, sEnv, t, tEnv);
|
|
return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv);
|
|
}
|
|
if (tKind === 8) {
|
|
if (A._isSubtype(universe, s, sEnv, t._primary, tEnv))
|
|
return true;
|
|
return A._isSubtype(universe, s, sEnv, A.Rti__getFutureFromFutureOr(universe, t), tEnv);
|
|
}
|
|
if (tKind === 7) {
|
|
t1 = A._isSubtype(universe, s, sEnv, type$.Null, tEnv);
|
|
return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv);
|
|
}
|
|
if (leftTypeVariable)
|
|
return false;
|
|
t1 = sKind !== 12;
|
|
if ((!t1 || sKind === 13) && t === type$.Function)
|
|
return true;
|
|
t2 = sKind === 11;
|
|
if (t2 && t === type$.Record)
|
|
return true;
|
|
if (tKind === 13) {
|
|
if (s === type$.JavaScriptFunction)
|
|
return true;
|
|
if (sKind !== 13)
|
|
return false;
|
|
sBounds = s._rest;
|
|
tBounds = t._rest;
|
|
sLength = sBounds.length;
|
|
if (sLength !== tBounds.length)
|
|
return false;
|
|
sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);
|
|
tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);
|
|
for (i = 0; i < sLength; ++i) {
|
|
sBound = sBounds[i];
|
|
tBound = tBounds[i];
|
|
if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv))
|
|
return false;
|
|
}
|
|
return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);
|
|
}
|
|
if (tKind === 12) {
|
|
if (s === type$.JavaScriptFunction)
|
|
return true;
|
|
if (t1)
|
|
return false;
|
|
return A._isFunctionSubtype(universe, s, sEnv, t, tEnv);
|
|
}
|
|
if (sKind === 9) {
|
|
if (tKind !== 9)
|
|
return false;
|
|
return A._isInterfaceSubtype(universe, s, sEnv, t, tEnv);
|
|
}
|
|
if (t2 && tKind === 11)
|
|
return A._isRecordSubtype(universe, s, sEnv, t, tEnv);
|
|
return false;
|
|
},
|
|
_isFunctionSubtype(universe, s, sEnv, t, tEnv) {
|
|
var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired;
|
|
if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))
|
|
return false;
|
|
sParameters = s._rest;
|
|
tParameters = t._rest;
|
|
sRequiredPositional = sParameters._requiredPositional;
|
|
tRequiredPositional = tParameters._requiredPositional;
|
|
sRequiredPositionalLength = sRequiredPositional.length;
|
|
tRequiredPositionalLength = tRequiredPositional.length;
|
|
if (sRequiredPositionalLength > tRequiredPositionalLength)
|
|
return false;
|
|
requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;
|
|
sOptionalPositional = sParameters._optionalPositional;
|
|
tOptionalPositional = tParameters._optionalPositional;
|
|
sOptionalPositionalLength = sOptionalPositional.length;
|
|
tOptionalPositionalLength = tOptionalPositional.length;
|
|
if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)
|
|
return false;
|
|
for (i = 0; i < sRequiredPositionalLength; ++i) {
|
|
t1 = sRequiredPositional[i];
|
|
if (!A._isSubtype(universe, tRequiredPositional[i], tEnv, t1, sEnv))
|
|
return false;
|
|
}
|
|
for (i = 0; i < requiredPositionalDelta; ++i) {
|
|
t1 = sOptionalPositional[i];
|
|
if (!A._isSubtype(universe, tRequiredPositional[sRequiredPositionalLength + i], tEnv, t1, sEnv))
|
|
return false;
|
|
}
|
|
for (i = 0; i < tOptionalPositionalLength; ++i) {
|
|
t1 = sOptionalPositional[requiredPositionalDelta + i];
|
|
if (!A._isSubtype(universe, tOptionalPositional[i], tEnv, t1, sEnv))
|
|
return false;
|
|
}
|
|
sNamed = sParameters._named;
|
|
tNamed = tParameters._named;
|
|
sNamedLength = sNamed.length;
|
|
tNamedLength = tNamed.length;
|
|
for (sIndex = 0, tIndex = 0; tIndex < tNamedLength; tIndex += 3) {
|
|
tName = tNamed[tIndex];
|
|
for (; true;) {
|
|
if (sIndex >= sNamedLength)
|
|
return false;
|
|
sName = sNamed[sIndex];
|
|
sIndex += 3;
|
|
if (tName < sName)
|
|
return false;
|
|
sIsRequired = sNamed[sIndex - 2];
|
|
if (sName < tName) {
|
|
if (sIsRequired)
|
|
return false;
|
|
continue;
|
|
}
|
|
t1 = tNamed[tIndex + 1];
|
|
if (sIsRequired && !t1)
|
|
return false;
|
|
t1 = sNamed[sIndex - 1];
|
|
if (!A._isSubtype(universe, tNamed[tIndex + 2], tEnv, t1, sEnv))
|
|
return false;
|
|
break;
|
|
}
|
|
}
|
|
for (; sIndex < sNamedLength;) {
|
|
if (sNamed[sIndex + 1])
|
|
return false;
|
|
sIndex += 3;
|
|
}
|
|
return true;
|
|
},
|
|
_isInterfaceSubtype(universe, s, sEnv, t, tEnv) {
|
|
var rule, recipes, $length, supertypeArgs, i, t1, t2,
|
|
sName = s._primary,
|
|
tName = t._primary;
|
|
for (; sName !== tName;) {
|
|
rule = universe.tR[sName];
|
|
if (rule == null)
|
|
return false;
|
|
if (typeof rule == "string") {
|
|
sName = rule;
|
|
continue;
|
|
}
|
|
recipes = rule[tName];
|
|
if (recipes == null)
|
|
return false;
|
|
$length = recipes.length;
|
|
supertypeArgs = $length > 0 ? new Array($length) : init.typeUniverse.sEA;
|
|
for (i = 0; i < $length; ++i)
|
|
supertypeArgs[i] = A._Universe_evalInEnvironment(universe, s, recipes[i]);
|
|
return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv);
|
|
}
|
|
t1 = s._rest;
|
|
t2 = t._rest;
|
|
return A._areArgumentsSubtypes(universe, t1, null, sEnv, t2, tEnv);
|
|
},
|
|
_areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) {
|
|
var i, t1, t2,
|
|
$length = sArgs.length;
|
|
for (i = 0; i < $length; ++i) {
|
|
t1 = sArgs[i];
|
|
t2 = tArgs[i];
|
|
if (!A._isSubtype(universe, t1, sEnv, t2, tEnv))
|
|
return false;
|
|
}
|
|
return true;
|
|
},
|
|
_isRecordSubtype(universe, s, sEnv, t, tEnv) {
|
|
var i,
|
|
sFields = s._rest,
|
|
tFields = t._rest,
|
|
sCount = sFields.length;
|
|
if (sCount !== tFields.length)
|
|
return false;
|
|
if (s._primary !== t._primary)
|
|
return false;
|
|
for (i = 0; i < sCount; ++i)
|
|
if (!A._isSubtype(universe, sFields[i], sEnv, tFields[i], tEnv))
|
|
return false;
|
|
return true;
|
|
},
|
|
isNullable(t) {
|
|
var t1,
|
|
kind = t._kind;
|
|
if (!(t === type$.Null || t === type$.JSNull))
|
|
if (!A.isStrongTopType(t))
|
|
if (kind !== 7)
|
|
if (!(kind === 6 && A.isNullable(t._primary)))
|
|
t1 = kind === 8 && A.isNullable(t._primary);
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
return t1;
|
|
},
|
|
isTopType(t) {
|
|
var t1;
|
|
if (!A.isStrongTopType(t))
|
|
if (!(t === type$.legacy_Object))
|
|
t1 = false;
|
|
else
|
|
t1 = true;
|
|
else
|
|
t1 = true;
|
|
return t1;
|
|
},
|
|
isStrongTopType(t) {
|
|
var kind = t._kind;
|
|
return kind === 2 || kind === 3 || kind === 4 || kind === 5 || t === type$.nullable_Object;
|
|
},
|
|
_Utils_objectAssign(o, other) {
|
|
var i, key,
|
|
keys = Object.keys(other),
|
|
$length = keys.length;
|
|
for (i = 0; i < $length; ++i) {
|
|
key = keys[i];
|
|
o[key] = other[key];
|
|
}
|
|
},
|
|
_Utils_newArrayOrEmpty($length) {
|
|
return $length > 0 ? new Array($length) : init.typeUniverse.sEA;
|
|
},
|
|
Rti: function Rti(t0, t1) {
|
|
var _ = this;
|
|
_._as = t0;
|
|
_._is = t1;
|
|
_._cachedRuntimeType = _._specializedTestResource = _._precomputed1 = null;
|
|
_._kind = 0;
|
|
_._canonicalRecipe = _._bindCache = _._evalCache = _._rest = _._primary = null;
|
|
},
|
|
_FunctionParameters: function _FunctionParameters() {
|
|
this._named = this._optionalPositional = this._requiredPositional = null;
|
|
},
|
|
_Type: function _Type(t0) {
|
|
this._rti = t0;
|
|
},
|
|
_Error: function _Error() {
|
|
},
|
|
_TypeError: function _TypeError(t0) {
|
|
this.__rti$_message = t0;
|
|
},
|
|
_AsyncRun__initializeScheduleImmediate() {
|
|
var div, span, t1 = {};
|
|
if (self.scheduleImmediate != null)
|
|
return A.async__AsyncRun__scheduleImmediateJsOverride$closure();
|
|
if (self.MutationObserver != null && self.document != null) {
|
|
div = self.document.createElement("div");
|
|
span = self.document.createElement("span");
|
|
t1.storedCallback = null;
|
|
new self.MutationObserver(A.convertDartClosureToJS(new A._AsyncRun__initializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true});
|
|
return new A._AsyncRun__initializeScheduleImmediate_closure(t1, div, span);
|
|
} else if (self.setImmediate != null)
|
|
return A.async__AsyncRun__scheduleImmediateWithSetImmediate$closure();
|
|
return A.async__AsyncRun__scheduleImmediateWithTimer$closure();
|
|
},
|
|
_AsyncRun__scheduleImmediateJsOverride(callback) {
|
|
self.scheduleImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateJsOverride_internalCallback(type$.void_Function._as(callback)), 0));
|
|
},
|
|
_AsyncRun__scheduleImmediateWithSetImmediate(callback) {
|
|
self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(type$.void_Function._as(callback)), 0));
|
|
},
|
|
_AsyncRun__scheduleImmediateWithTimer(callback) {
|
|
type$.void_Function._as(callback);
|
|
A._TimerImpl$(0, callback);
|
|
},
|
|
_TimerImpl$(milliseconds, callback) {
|
|
var t1 = new A._TimerImpl();
|
|
t1._TimerImpl$2(milliseconds, callback);
|
|
return t1;
|
|
},
|
|
_makeAsyncAwaitCompleter($T) {
|
|
return new A._AsyncAwaitCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncAwaitCompleter<0>"));
|
|
},
|
|
_asyncStartSync(bodyFunction, completer) {
|
|
bodyFunction.call$2(0, null);
|
|
completer.isSync = true;
|
|
return completer._future;
|
|
},
|
|
_asyncAwait(object, bodyFunction) {
|
|
A._awaitOnObject(object, bodyFunction);
|
|
},
|
|
_asyncReturn(object, completer) {
|
|
completer.complete$1(0, object);
|
|
},
|
|
_asyncRethrow(object, completer) {
|
|
completer.completeError$2(A.unwrapException(object), A.getTraceFromException(object));
|
|
},
|
|
_awaitOnObject(object, bodyFunction) {
|
|
var t1, future,
|
|
thenCallback = new A._awaitOnObject_closure(bodyFunction),
|
|
errorCallback = new A._awaitOnObject_closure0(bodyFunction);
|
|
if (object instanceof A._Future)
|
|
object._thenAwait$1$2(thenCallback, errorCallback, type$.dynamic);
|
|
else {
|
|
t1 = type$.dynamic;
|
|
if (type$.Future_dynamic._is(object))
|
|
object.then$1$2$onError(thenCallback, errorCallback, t1);
|
|
else {
|
|
future = new A._Future($.Zone__current, type$._Future_dynamic);
|
|
future._state = 8;
|
|
future._resultOrListeners = object;
|
|
future._thenAwait$1$2(thenCallback, errorCallback, t1);
|
|
}
|
|
}
|
|
},
|
|
_wrapJsFunctionForAsync($function) {
|
|
var $protected = function(fn, ERROR) {
|
|
return function(errorCode, result) {
|
|
while (true)
|
|
try {
|
|
fn(errorCode, result);
|
|
break;
|
|
} catch (error) {
|
|
result = error;
|
|
errorCode = ERROR;
|
|
}
|
|
};
|
|
}($function, 1);
|
|
return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic);
|
|
},
|
|
AsyncError$(error, stackTrace) {
|
|
var t1 = A.checkNotNullable(error, "error", type$.Object);
|
|
return new A.AsyncError(t1, stackTrace == null ? A.AsyncError_defaultStackTrace(error) : stackTrace);
|
|
},
|
|
AsyncError_defaultStackTrace(error) {
|
|
var stackTrace;
|
|
if (type$.Error._is(error)) {
|
|
stackTrace = error.get$stackTrace();
|
|
if (stackTrace != null)
|
|
return stackTrace;
|
|
}
|
|
return B.C__StringStackTrace;
|
|
},
|
|
_Future__chainCoreFuture(source, target) {
|
|
var t1, t2, listeners;
|
|
for (t1 = type$._Future_dynamic; t2 = source._state, (t2 & 4) !== 0;)
|
|
source = t1._as(source._resultOrListeners);
|
|
if ((t2 & 24) !== 0) {
|
|
listeners = target._removeListeners$0();
|
|
target._cloneResult$1(source);
|
|
A._Future__propagateToListeners(target, listeners);
|
|
} else {
|
|
listeners = type$.nullable__FutureListener_dynamic_dynamic._as(target._resultOrListeners);
|
|
target._state = target._state & 1 | 4;
|
|
target._resultOrListeners = source;
|
|
source._prependListeners$1(listeners);
|
|
}
|
|
},
|
|
_Future__propagateToListeners(source, listeners) {
|
|
var t2, t3, t4, _box_0, t5, t6, hasError, asyncError, nextListener, nextListener0, sourceResult, t7, zone, oldZone, result, current, _box_1 = {},
|
|
t1 = _box_1.source = source;
|
|
for (t2 = type$.AsyncError, t3 = type$.nullable__FutureListener_dynamic_dynamic, t4 = type$.Future_dynamic; true;) {
|
|
_box_0 = {};
|
|
t5 = t1._state;
|
|
t6 = (t5 & 16) === 0;
|
|
hasError = !t6;
|
|
if (listeners == null) {
|
|
if (hasError && (t5 & 1) === 0) {
|
|
asyncError = t2._as(t1._resultOrListeners);
|
|
A._rootHandleError(asyncError.error, asyncError.stackTrace);
|
|
}
|
|
return;
|
|
}
|
|
_box_0.listener = listeners;
|
|
nextListener = listeners._nextListener;
|
|
for (t1 = listeners; nextListener != null; t1 = nextListener, nextListener = nextListener0) {
|
|
t1._nextListener = null;
|
|
A._Future__propagateToListeners(_box_1.source, t1);
|
|
_box_0.listener = nextListener;
|
|
nextListener0 = nextListener._nextListener;
|
|
}
|
|
t5 = _box_1.source;
|
|
sourceResult = t5._resultOrListeners;
|
|
_box_0.listenerHasError = hasError;
|
|
_box_0.listenerValueOrError = sourceResult;
|
|
if (t6) {
|
|
t7 = t1.state;
|
|
t7 = (t7 & 1) !== 0 || (t7 & 15) === 8;
|
|
} else
|
|
t7 = true;
|
|
if (t7) {
|
|
zone = t1.result._zone;
|
|
if (hasError) {
|
|
t5 = t5._zone === zone;
|
|
t5 = !(t5 || t5);
|
|
} else
|
|
t5 = false;
|
|
if (t5) {
|
|
t2._as(sourceResult);
|
|
A._rootHandleError(sourceResult.error, sourceResult.stackTrace);
|
|
return;
|
|
}
|
|
oldZone = $.Zone__current;
|
|
if (oldZone !== zone)
|
|
$.Zone__current = zone;
|
|
else
|
|
oldZone = null;
|
|
t1 = t1.state;
|
|
if ((t1 & 15) === 8)
|
|
new A._Future__propagateToListeners_handleWhenCompleteCallback(_box_0, _box_1, hasError).call$0();
|
|
else if (t6) {
|
|
if ((t1 & 1) !== 0)
|
|
new A._Future__propagateToListeners_handleValueCallback(_box_0, sourceResult).call$0();
|
|
} else if ((t1 & 2) !== 0)
|
|
new A._Future__propagateToListeners_handleError(_box_1, _box_0).call$0();
|
|
if (oldZone != null)
|
|
$.Zone__current = oldZone;
|
|
t1 = _box_0.listenerValueOrError;
|
|
if (t4._is(t1)) {
|
|
t5 = _box_0.listener.$ti;
|
|
t5 = t5._eval$1("Future<2>")._is(t1) || !t5._rest[1]._is(t1);
|
|
} else
|
|
t5 = false;
|
|
if (t5) {
|
|
t4._as(t1);
|
|
result = _box_0.listener.result;
|
|
if ((t1._state & 24) !== 0) {
|
|
current = t3._as(result._resultOrListeners);
|
|
result._resultOrListeners = null;
|
|
listeners = result._reverseListeners$1(current);
|
|
result._state = t1._state & 30 | result._state & 1;
|
|
result._resultOrListeners = t1._resultOrListeners;
|
|
_box_1.source = t1;
|
|
continue;
|
|
} else
|
|
A._Future__chainCoreFuture(t1, result);
|
|
return;
|
|
}
|
|
}
|
|
result = _box_0.listener.result;
|
|
current = t3._as(result._resultOrListeners);
|
|
result._resultOrListeners = null;
|
|
listeners = result._reverseListeners$1(current);
|
|
t1 = _box_0.listenerHasError;
|
|
t5 = _box_0.listenerValueOrError;
|
|
if (!t1) {
|
|
result.$ti._precomputed1._as(t5);
|
|
result._state = 8;
|
|
result._resultOrListeners = t5;
|
|
} else {
|
|
t2._as(t5);
|
|
result._state = result._state & 1 | 16;
|
|
result._resultOrListeners = t5;
|
|
}
|
|
_box_1.source = result;
|
|
t1 = result;
|
|
}
|
|
},
|
|
_registerErrorHandler(errorHandler, zone) {
|
|
var t1;
|
|
if (type$.dynamic_Function_Object_StackTrace._is(errorHandler))
|
|
return zone.registerBinaryCallback$3$1(errorHandler, type$.dynamic, type$.Object, type$.StackTrace);
|
|
t1 = type$.dynamic_Function_Object;
|
|
if (t1._is(errorHandler))
|
|
return t1._as(errorHandler);
|
|
throw A.wrapException(A.ArgumentError$value(errorHandler, "onError", string$.Error_));
|
|
},
|
|
_microtaskLoop() {
|
|
var entry, next;
|
|
for (entry = $._nextCallback; entry != null; entry = $._nextCallback) {
|
|
$._lastPriorityCallback = null;
|
|
next = entry.next;
|
|
$._nextCallback = next;
|
|
if (next == null)
|
|
$._lastCallback = null;
|
|
entry.callback.call$0();
|
|
}
|
|
},
|
|
_startMicrotaskLoop() {
|
|
$._isInCallbackLoop = true;
|
|
try {
|
|
A._microtaskLoop();
|
|
} finally {
|
|
$._lastPriorityCallback = null;
|
|
$._isInCallbackLoop = false;
|
|
if ($._nextCallback != null)
|
|
$.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure());
|
|
}
|
|
},
|
|
_scheduleAsyncCallback(callback) {
|
|
var newEntry = new A._AsyncCallbackEntry(callback),
|
|
lastCallback = $._lastCallback;
|
|
if (lastCallback == null) {
|
|
$._nextCallback = $._lastCallback = newEntry;
|
|
if (!$._isInCallbackLoop)
|
|
$.$get$_AsyncRun__scheduleImmediateClosure().call$1(A.async___startMicrotaskLoop$closure());
|
|
} else
|
|
$._lastCallback = lastCallback.next = newEntry;
|
|
},
|
|
_schedulePriorityAsyncCallback(callback) {
|
|
var entry, lastPriorityCallback, next,
|
|
t1 = $._nextCallback;
|
|
if (t1 == null) {
|
|
A._scheduleAsyncCallback(callback);
|
|
$._lastPriorityCallback = $._lastCallback;
|
|
return;
|
|
}
|
|
entry = new A._AsyncCallbackEntry(callback);
|
|
lastPriorityCallback = $._lastPriorityCallback;
|
|
if (lastPriorityCallback == null) {
|
|
entry.next = t1;
|
|
$._nextCallback = $._lastPriorityCallback = entry;
|
|
} else {
|
|
next = lastPriorityCallback.next;
|
|
entry.next = next;
|
|
$._lastPriorityCallback = lastPriorityCallback.next = entry;
|
|
if (next == null)
|
|
$._lastCallback = entry;
|
|
}
|
|
},
|
|
scheduleMicrotask(callback) {
|
|
var t1, _null = null,
|
|
currentZone = $.Zone__current;
|
|
if (B.C__RootZone === currentZone) {
|
|
A._rootScheduleMicrotask(_null, _null, B.C__RootZone, callback);
|
|
return;
|
|
}
|
|
t1 = false;
|
|
if (t1) {
|
|
A._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(callback));
|
|
return;
|
|
}
|
|
A._rootScheduleMicrotask(_null, _null, currentZone, type$.void_Function._as(currentZone.bindCallbackGuarded$1(callback)));
|
|
},
|
|
StreamIterator_StreamIterator(stream, $T) {
|
|
A.checkNotNullable(stream, "stream", type$.Object);
|
|
return new A._StreamIterator($T._eval$1("_StreamIterator<0>"));
|
|
},
|
|
_rootHandleError(error, stackTrace) {
|
|
A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace));
|
|
},
|
|
_rootRun($self, $parent, zone, f, $R) {
|
|
var old,
|
|
t1 = $.Zone__current;
|
|
if (t1 === zone)
|
|
return f.call$0();
|
|
$.Zone__current = zone;
|
|
old = t1;
|
|
try {
|
|
t1 = f.call$0();
|
|
return t1;
|
|
} finally {
|
|
$.Zone__current = old;
|
|
}
|
|
},
|
|
_rootRunUnary($self, $parent, zone, f, arg, $R, $T) {
|
|
var old,
|
|
t1 = $.Zone__current;
|
|
if (t1 === zone)
|
|
return f.call$1(arg);
|
|
$.Zone__current = zone;
|
|
old = t1;
|
|
try {
|
|
t1 = f.call$1(arg);
|
|
return t1;
|
|
} finally {
|
|
$.Zone__current = old;
|
|
}
|
|
},
|
|
_rootRunBinary($self, $parent, zone, f, arg1, arg2, $R, T1, T2) {
|
|
var old,
|
|
t1 = $.Zone__current;
|
|
if (t1 === zone)
|
|
return f.call$2(arg1, arg2);
|
|
$.Zone__current = zone;
|
|
old = t1;
|
|
try {
|
|
t1 = f.call$2(arg1, arg2);
|
|
return t1;
|
|
} finally {
|
|
$.Zone__current = old;
|
|
}
|
|
},
|
|
_rootScheduleMicrotask($self, $parent, zone, f) {
|
|
type$.void_Function._as(f);
|
|
if (B.C__RootZone !== zone)
|
|
f = zone.bindCallbackGuarded$1(f);
|
|
A._scheduleAsyncCallback(f);
|
|
},
|
|
_AsyncRun__initializeScheduleImmediate_internalCallback: function _AsyncRun__initializeScheduleImmediate_internalCallback(t0) {
|
|
this._box_0 = t0;
|
|
},
|
|
_AsyncRun__initializeScheduleImmediate_closure: function _AsyncRun__initializeScheduleImmediate_closure(t0, t1, t2) {
|
|
this._box_0 = t0;
|
|
this.div = t1;
|
|
this.span = t2;
|
|
},
|
|
_AsyncRun__scheduleImmediateJsOverride_internalCallback: function _AsyncRun__scheduleImmediateJsOverride_internalCallback(t0) {
|
|
this.callback = t0;
|
|
},
|
|
_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: function _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(t0) {
|
|
this.callback = t0;
|
|
},
|
|
_TimerImpl: function _TimerImpl() {
|
|
},
|
|
_TimerImpl_internalCallback: function _TimerImpl_internalCallback(t0, t1) {
|
|
this.$this = t0;
|
|
this.callback = t1;
|
|
},
|
|
_AsyncAwaitCompleter: function _AsyncAwaitCompleter(t0, t1) {
|
|
this._future = t0;
|
|
this.isSync = false;
|
|
this.$ti = t1;
|
|
},
|
|
_awaitOnObject_closure: function _awaitOnObject_closure(t0) {
|
|
this.bodyFunction = t0;
|
|
},
|
|
_awaitOnObject_closure0: function _awaitOnObject_closure0(t0) {
|
|
this.bodyFunction = t0;
|
|
},
|
|
_wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) {
|
|
this.$protected = t0;
|
|
},
|
|
AsyncError: function AsyncError(t0, t1) {
|
|
this.error = t0;
|
|
this.stackTrace = t1;
|
|
},
|
|
_Completer: function _Completer() {
|
|
},
|
|
_AsyncCompleter: function _AsyncCompleter(t0, t1) {
|
|
this.future = t0;
|
|
this.$ti = t1;
|
|
},
|
|
_FutureListener: function _FutureListener(t0, t1, t2, t3, t4) {
|
|
var _ = this;
|
|
_._nextListener = null;
|
|
_.result = t0;
|
|
_.state = t1;
|
|
_.callback = t2;
|
|
_.errorCallback = t3;
|
|
_.$ti = t4;
|
|
},
|
|
_Future: function _Future(t0, t1) {
|
|
var _ = this;
|
|
_._state = 0;
|
|
_._zone = t0;
|
|
_._resultOrListeners = null;
|
|
_.$ti = t1;
|
|
},
|
|
_Future__addListener_closure: function _Future__addListener_closure(t0, t1) {
|
|
this.$this = t0;
|
|
this.listener = t1;
|
|
},
|
|
_Future__prependListeners_closure: function _Future__prependListeners_closure(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.$this = t1;
|
|
},
|
|
_Future__chainForeignFuture_closure: function _Future__chainForeignFuture_closure(t0) {
|
|
this.$this = t0;
|
|
},
|
|
_Future__chainForeignFuture_closure0: function _Future__chainForeignFuture_closure0(t0) {
|
|
this.$this = t0;
|
|
},
|
|
_Future__chainForeignFuture_closure1: function _Future__chainForeignFuture_closure1(t0, t1, t2) {
|
|
this.$this = t0;
|
|
this.e = t1;
|
|
this.s = t2;
|
|
},
|
|
_Future__asyncCompleteWithValue_closure: function _Future__asyncCompleteWithValue_closure(t0, t1) {
|
|
this.$this = t0;
|
|
this.value = t1;
|
|
},
|
|
_Future__chainFuture_closure: function _Future__chainFuture_closure(t0, t1) {
|
|
this.$this = t0;
|
|
this.value = t1;
|
|
},
|
|
_Future__asyncCompleteError_closure: function _Future__asyncCompleteError_closure(t0, t1, t2) {
|
|
this.$this = t0;
|
|
this.error = t1;
|
|
this.stackTrace = t2;
|
|
},
|
|
_Future__propagateToListeners_handleWhenCompleteCallback: function _Future__propagateToListeners_handleWhenCompleteCallback(t0, t1, t2) {
|
|
this._box_0 = t0;
|
|
this._box_1 = t1;
|
|
this.hasError = t2;
|
|
},
|
|
_Future__propagateToListeners_handleWhenCompleteCallback_closure: function _Future__propagateToListeners_handleWhenCompleteCallback_closure(t0) {
|
|
this.originalSource = t0;
|
|
},
|
|
_Future__propagateToListeners_handleValueCallback: function _Future__propagateToListeners_handleValueCallback(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.sourceResult = t1;
|
|
},
|
|
_Future__propagateToListeners_handleError: function _Future__propagateToListeners_handleError(t0, t1) {
|
|
this._box_1 = t0;
|
|
this._box_0 = t1;
|
|
},
|
|
_AsyncCallbackEntry: function _AsyncCallbackEntry(t0) {
|
|
this.callback = t0;
|
|
this.next = null;
|
|
},
|
|
Stream: function Stream() {
|
|
},
|
|
Stream_length_closure: function Stream_length_closure(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.$this = t1;
|
|
},
|
|
Stream_length_closure0: function Stream_length_closure0(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.future = t1;
|
|
},
|
|
_StreamIterator: function _StreamIterator(t0) {
|
|
this.$ti = t0;
|
|
},
|
|
_Zone: function _Zone() {
|
|
},
|
|
_rootHandleError_closure: function _rootHandleError_closure(t0, t1) {
|
|
this.error = t0;
|
|
this.stackTrace = t1;
|
|
},
|
|
_RootZone: function _RootZone() {
|
|
},
|
|
_RootZone_bindCallbackGuarded_closure: function _RootZone_bindCallbackGuarded_closure(t0, t1) {
|
|
this.$this = t0;
|
|
this.f = t1;
|
|
},
|
|
_RootZone_bindUnaryCallbackGuarded_closure: function _RootZone_bindUnaryCallbackGuarded_closure(t0, t1, t2) {
|
|
this.$this = t0;
|
|
this.f = t1;
|
|
this.T = t2;
|
|
},
|
|
_HashMap__getTableEntry(table, key) {
|
|
var entry = table[key];
|
|
return entry === table ? null : entry;
|
|
},
|
|
_HashMap__setTableEntry(table, key, value) {
|
|
if (value == null)
|
|
table[key] = table;
|
|
else
|
|
table[key] = value;
|
|
},
|
|
_HashMap__newHashTable() {
|
|
var table = Object.create(null);
|
|
A._HashMap__setTableEntry(table, "<non-identifier-key>", table);
|
|
delete table["<non-identifier-key>"];
|
|
return table;
|
|
},
|
|
LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) {
|
|
return $K._eval$1("@<0>")._bind$1($V)._eval$1("LinkedHashMap<1,2>")._as(A.fillLiteralMap(keyValuePairs, new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"))));
|
|
},
|
|
LinkedHashMap_LinkedHashMap$_empty($K, $V) {
|
|
return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
|
|
},
|
|
MapBase_mapToString(m) {
|
|
var result, t1 = {};
|
|
if (A.isToStringVisiting(m))
|
|
return "{...}";
|
|
result = new A.StringBuffer("");
|
|
try {
|
|
B.JSArray_methods.add$1($.toStringVisiting, m);
|
|
result._contents += "{";
|
|
t1.first = true;
|
|
J.forEach$1$x(m, new A.MapBase_mapToString_closure(t1, result));
|
|
result._contents += "}";
|
|
} finally {
|
|
if (0 >= $.toStringVisiting.length)
|
|
return A.ioore($.toStringVisiting, -1);
|
|
$.toStringVisiting.pop();
|
|
}
|
|
t1 = result._contents;
|
|
return t1.charCodeAt(0) == 0 ? t1 : t1;
|
|
},
|
|
_HashMap: function _HashMap() {
|
|
},
|
|
_IdentityHashMap: function _IdentityHashMap(t0) {
|
|
var _ = this;
|
|
_._collection$_length = 0;
|
|
_._keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
|
|
_.$ti = t0;
|
|
},
|
|
_HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) {
|
|
this._collection$_map = t0;
|
|
this.$ti = t1;
|
|
},
|
|
_HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) {
|
|
var _ = this;
|
|
_._collection$_map = t0;
|
|
_._keys = t1;
|
|
_._offset = 0;
|
|
_._collection$_current = null;
|
|
_.$ti = t2;
|
|
},
|
|
ListBase: function ListBase() {
|
|
},
|
|
MapBase: function MapBase() {
|
|
},
|
|
MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.result = t1;
|
|
},
|
|
_UnmodifiableMapMixin: function _UnmodifiableMapMixin() {
|
|
},
|
|
MapView: function MapView() {
|
|
},
|
|
UnmodifiableMapView: function UnmodifiableMapView() {
|
|
},
|
|
_UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() {
|
|
},
|
|
_Base64Encoder_encodeChunk(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
|
|
var t1, t2, i, byteOr, byte, outputIndex0, t3, outputIndex1,
|
|
bits = state >>> 2,
|
|
expectedChars = 3 - (state & 3);
|
|
for (t1 = bytes.length, t2 = output.length, i = start, byteOr = 0; i < end; ++i) {
|
|
if (!(i < t1))
|
|
return A.ioore(bytes, i);
|
|
byte = bytes[i];
|
|
byteOr |= byte;
|
|
bits = (bits << 8 | byte) & 16777215;
|
|
--expectedChars;
|
|
if (expectedChars === 0) {
|
|
outputIndex0 = outputIndex + 1;
|
|
t3 = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 18 & 63);
|
|
if (!(outputIndex < t2))
|
|
return A.ioore(output, outputIndex);
|
|
output[outputIndex] = t3;
|
|
outputIndex = outputIndex0 + 1;
|
|
t3 = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 12 & 63);
|
|
if (!(outputIndex0 < t2))
|
|
return A.ioore(output, outputIndex0);
|
|
output[outputIndex0] = t3;
|
|
outputIndex0 = outputIndex + 1;
|
|
t3 = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 6 & 63);
|
|
if (!(outputIndex < t2))
|
|
return A.ioore(output, outputIndex);
|
|
output[outputIndex] = t3;
|
|
outputIndex = outputIndex0 + 1;
|
|
t3 = B.JSString_methods._codeUnitAt$1(alphabet, bits & 63);
|
|
if (!(outputIndex0 < t2))
|
|
return A.ioore(output, outputIndex0);
|
|
output[outputIndex0] = t3;
|
|
bits = 0;
|
|
expectedChars = 3;
|
|
}
|
|
}
|
|
if (byteOr >= 0 && byteOr <= 255) {
|
|
if (expectedChars < 3) {
|
|
outputIndex0 = outputIndex + 1;
|
|
outputIndex1 = outputIndex0 + 1;
|
|
if (3 - expectedChars === 1) {
|
|
t1 = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 2 & 63);
|
|
if (!(outputIndex < t2))
|
|
return A.ioore(output, outputIndex);
|
|
output[outputIndex] = t1;
|
|
t1 = B.JSString_methods._codeUnitAt$1(alphabet, bits << 4 & 63);
|
|
if (!(outputIndex0 < t2))
|
|
return A.ioore(output, outputIndex0);
|
|
output[outputIndex0] = t1;
|
|
outputIndex = outputIndex1 + 1;
|
|
if (!(outputIndex1 < t2))
|
|
return A.ioore(output, outputIndex1);
|
|
output[outputIndex1] = 61;
|
|
if (!(outputIndex < t2))
|
|
return A.ioore(output, outputIndex);
|
|
output[outputIndex] = 61;
|
|
} else {
|
|
t1 = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 10 & 63);
|
|
if (!(outputIndex < t2))
|
|
return A.ioore(output, outputIndex);
|
|
output[outputIndex] = t1;
|
|
t1 = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 4 & 63);
|
|
if (!(outputIndex0 < t2))
|
|
return A.ioore(output, outputIndex0);
|
|
output[outputIndex0] = t1;
|
|
outputIndex = outputIndex1 + 1;
|
|
t1 = B.JSString_methods._codeUnitAt$1(alphabet, bits << 2 & 63);
|
|
if (!(outputIndex1 < t2))
|
|
return A.ioore(output, outputIndex1);
|
|
output[outputIndex1] = t1;
|
|
if (!(outputIndex < t2))
|
|
return A.ioore(output, outputIndex);
|
|
output[outputIndex] = 61;
|
|
}
|
|
return 0;
|
|
}
|
|
return (bits << 2 | 3 - expectedChars) >>> 0;
|
|
}
|
|
for (i = start; i < end;) {
|
|
if (!(i < t1))
|
|
return A.ioore(bytes, i);
|
|
byte = bytes[i];
|
|
if (byte > 255)
|
|
break;
|
|
++i;
|
|
}
|
|
if (!(i < t1))
|
|
return A.ioore(bytes, i);
|
|
throw A.wrapException(A.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + B.JSInt_methods.toRadixString$1(bytes[i], 16), null));
|
|
},
|
|
_Base64Decoder_decodeChunk(input, start, end, output, outIndex, state) {
|
|
var t1, t2, i, charOr, char, t3, code, outIndex0, expectedPadding,
|
|
_s31_ = "Invalid encoding before padding",
|
|
_s17_ = "Invalid character",
|
|
bits = B.JSInt_methods._shrOtherPositive$1(state, 2),
|
|
count = state & 3,
|
|
inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
|
|
for (t1 = inverseAlphabet.length, t2 = output.length, i = start, charOr = 0; i < end; ++i) {
|
|
char = B.JSString_methods._codeUnitAt$1(input, i);
|
|
charOr |= char;
|
|
t3 = char & 127;
|
|
if (!(t3 < t1))
|
|
return A.ioore(inverseAlphabet, t3);
|
|
code = inverseAlphabet[t3];
|
|
if (code >= 0) {
|
|
bits = (bits << 6 | code) & 16777215;
|
|
count = count + 1 & 3;
|
|
if (count === 0) {
|
|
outIndex0 = outIndex + 1;
|
|
if (!(outIndex < t2))
|
|
return A.ioore(output, outIndex);
|
|
output[outIndex] = bits >>> 16 & 255;
|
|
outIndex = outIndex0 + 1;
|
|
if (!(outIndex0 < t2))
|
|
return A.ioore(output, outIndex0);
|
|
output[outIndex0] = bits >>> 8 & 255;
|
|
outIndex0 = outIndex + 1;
|
|
if (!(outIndex < t2))
|
|
return A.ioore(output, outIndex);
|
|
output[outIndex] = bits & 255;
|
|
outIndex = outIndex0;
|
|
bits = 0;
|
|
}
|
|
continue;
|
|
} else if (code === -1 && count > 1) {
|
|
if (charOr > 127)
|
|
break;
|
|
if (count === 3) {
|
|
if ((bits & 3) !== 0)
|
|
throw A.wrapException(A.FormatException$(_s31_, input, i));
|
|
outIndex0 = outIndex + 1;
|
|
if (!(outIndex < t2))
|
|
return A.ioore(output, outIndex);
|
|
output[outIndex] = bits >>> 10;
|
|
if (!(outIndex0 < t2))
|
|
return A.ioore(output, outIndex0);
|
|
output[outIndex0] = bits >>> 2;
|
|
} else {
|
|
if ((bits & 15) !== 0)
|
|
throw A.wrapException(A.FormatException$(_s31_, input, i));
|
|
if (!(outIndex < t2))
|
|
return A.ioore(output, outIndex);
|
|
output[outIndex] = bits >>> 4;
|
|
}
|
|
expectedPadding = (3 - count) * 3;
|
|
if (char === 37)
|
|
expectedPadding += 2;
|
|
return A._Base64Decoder__checkPadding(input, i + 1, end, -expectedPadding - 1);
|
|
}
|
|
throw A.wrapException(A.FormatException$(_s17_, input, i));
|
|
}
|
|
if (charOr >= 0 && charOr <= 127)
|
|
return (bits << 2 | count) >>> 0;
|
|
for (i = start; i < end; ++i) {
|
|
char = B.JSString_methods._codeUnitAt$1(input, i);
|
|
if (char > 127)
|
|
break;
|
|
}
|
|
throw A.wrapException(A.FormatException$(_s17_, input, i));
|
|
},
|
|
_Base64Decoder__allocateBuffer(input, start, end, state) {
|
|
var paddingStart = A._Base64Decoder__trimPaddingChars(input, start, end),
|
|
$length = (state & 3) + (paddingStart - start),
|
|
bufferLength = B.JSInt_methods._shrOtherPositive$1($length, 2) * 3,
|
|
remainderLength = $length & 3;
|
|
if (remainderLength !== 0 && paddingStart < end)
|
|
bufferLength += remainderLength - 1;
|
|
if (bufferLength > 0)
|
|
return new Uint8Array(bufferLength);
|
|
return $.$get$_Base64Decoder__emptyBuffer();
|
|
},
|
|
_Base64Decoder__trimPaddingChars(input, start, end) {
|
|
var char,
|
|
newEnd = end,
|
|
index = newEnd,
|
|
padding = 0;
|
|
while (true) {
|
|
if (!(index > start && padding < 2))
|
|
break;
|
|
c$0: {
|
|
--index;
|
|
char = B.JSString_methods.codeUnitAt$1(input, index);
|
|
if (char === 61) {
|
|
++padding;
|
|
newEnd = index;
|
|
break c$0;
|
|
}
|
|
if ((char | 32) === 100) {
|
|
if (index === start)
|
|
break;
|
|
--index;
|
|
char = B.JSString_methods.codeUnitAt$1(input, index);
|
|
}
|
|
if (char === 51) {
|
|
if (index === start)
|
|
break;
|
|
--index;
|
|
char = B.JSString_methods.codeUnitAt$1(input, index);
|
|
}
|
|
if (char === 37) {
|
|
++padding;
|
|
newEnd = index;
|
|
break c$0;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
return newEnd;
|
|
},
|
|
_Base64Decoder__checkPadding(input, start, end, state) {
|
|
var expectedPadding, char;
|
|
if (start === end)
|
|
return state;
|
|
expectedPadding = -state - 1;
|
|
for (; expectedPadding > 0;) {
|
|
char = B.JSString_methods._codeUnitAt$1(input, start);
|
|
if (expectedPadding === 3) {
|
|
if (char === 61) {
|
|
expectedPadding -= 3;
|
|
++start;
|
|
break;
|
|
}
|
|
if (char === 37) {
|
|
--expectedPadding;
|
|
++start;
|
|
if (start === end)
|
|
break;
|
|
char = B.JSString_methods._codeUnitAt$1(input, start);
|
|
} else
|
|
break;
|
|
}
|
|
if ((expectedPadding > 3 ? expectedPadding - 3 : expectedPadding) === 2) {
|
|
if (char !== 51)
|
|
break;
|
|
++start;
|
|
--expectedPadding;
|
|
if (start === end)
|
|
break;
|
|
char = B.JSString_methods._codeUnitAt$1(input, start);
|
|
}
|
|
if ((char | 32) !== 100)
|
|
break;
|
|
++start;
|
|
--expectedPadding;
|
|
if (start === end)
|
|
break;
|
|
}
|
|
if (start !== end)
|
|
throw A.wrapException(A.FormatException$("Invalid padding character", input, start));
|
|
return -expectedPadding - 1;
|
|
},
|
|
Base64Codec: function Base64Codec() {
|
|
},
|
|
Base64Encoder: function Base64Encoder() {
|
|
},
|
|
_Base64Encoder: function _Base64Encoder(t0) {
|
|
this._convert$_state = 0;
|
|
this._alphabet = t0;
|
|
},
|
|
Base64Decoder: function Base64Decoder() {
|
|
},
|
|
_Base64Decoder: function _Base64Decoder() {
|
|
this._convert$_state = 0;
|
|
},
|
|
Codec: function Codec() {
|
|
},
|
|
Converter: function Converter() {
|
|
},
|
|
Error__throw(error, stackTrace) {
|
|
error = A.wrapException(error);
|
|
if (error == null)
|
|
error = type$.Object._as(error);
|
|
error.stack = stackTrace.toString$0(0);
|
|
throw error;
|
|
throw A.wrapException("unreachable");
|
|
},
|
|
List_List$filled($length, fill, growable, $E) {
|
|
var i,
|
|
result = J.JSArray_JSArray$fixed($length, $E);
|
|
if ($length !== 0 && fill != null)
|
|
for (i = 0; i < $length; ++i)
|
|
result[i] = fill;
|
|
return result;
|
|
},
|
|
List_List$of(elements, growable, $E) {
|
|
var t1 = A.List_List$_of(elements, $E);
|
|
return t1;
|
|
},
|
|
List_List$_of(elements, $E) {
|
|
var list, t1;
|
|
if (Array.isArray(elements))
|
|
return A._setArrayType(elements.slice(0), $E._eval$1("JSArray<0>"));
|
|
list = A._setArrayType([], $E._eval$1("JSArray<0>"));
|
|
for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
|
|
B.JSArray_methods.add$1(list, t1.get$current(t1));
|
|
return list;
|
|
},
|
|
String_String$fromCharCodes(charCodes) {
|
|
var t1 = A.Primitives_stringFromNativeUint8List(charCodes, 0, A.RangeError_checkValidRange(0, null, charCodes.length));
|
|
return t1;
|
|
},
|
|
StringBuffer__writeAll(string, objects, separator) {
|
|
var iterator = J.get$iterator$ax(objects);
|
|
if (!iterator.moveNext$0())
|
|
return string;
|
|
if (separator.length === 0) {
|
|
do
|
|
string += A.S(iterator.get$current(iterator));
|
|
while (iterator.moveNext$0());
|
|
} else {
|
|
string += A.S(iterator.get$current(iterator));
|
|
for (; iterator.moveNext$0();)
|
|
string = string + separator + A.S(iterator.get$current(iterator));
|
|
}
|
|
return string;
|
|
},
|
|
NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, invocation) {
|
|
return new A.NoSuchMethodError(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments());
|
|
},
|
|
DateTime__fourDigits(n) {
|
|
var absN = Math.abs(n),
|
|
sign = n < 0 ? "-" : "";
|
|
if (absN >= 1000)
|
|
return "" + n;
|
|
if (absN >= 100)
|
|
return sign + "0" + absN;
|
|
if (absN >= 10)
|
|
return sign + "00" + absN;
|
|
return sign + "000" + absN;
|
|
},
|
|
DateTime__threeDigits(n) {
|
|
if (n >= 100)
|
|
return "" + n;
|
|
if (n >= 10)
|
|
return "0" + n;
|
|
return "00" + n;
|
|
},
|
|
DateTime__twoDigits(n) {
|
|
if (n >= 10)
|
|
return "" + n;
|
|
return "0" + n;
|
|
},
|
|
Error_safeToString(object) {
|
|
if (typeof object == "number" || A._isBool(object) || object == null)
|
|
return J.toString$0$(object);
|
|
if (typeof object == "string")
|
|
return JSON.stringify(object);
|
|
return A.Primitives_safeToString(object);
|
|
},
|
|
AssertionError$(message) {
|
|
return new A.AssertionError(message);
|
|
},
|
|
ArgumentError$(message, $name) {
|
|
return new A.ArgumentError(false, null, $name, message);
|
|
},
|
|
ArgumentError$value(value, $name, message) {
|
|
return new A.ArgumentError(true, value, $name, message);
|
|
},
|
|
RangeError$value(value, $name) {
|
|
return new A.RangeError(null, null, true, value, $name, "Value not in range");
|
|
},
|
|
RangeError$range(invalidValue, minValue, maxValue, $name, message) {
|
|
return new A.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
|
|
},
|
|
RangeError_checkValidRange(start, end, $length) {
|
|
if (0 > start || start > $length)
|
|
throw A.wrapException(A.RangeError$range(start, 0, $length, "start", null));
|
|
if (end != null) {
|
|
if (start > end || end > $length)
|
|
throw A.wrapException(A.RangeError$range(end, start, $length, "end", null));
|
|
return end;
|
|
}
|
|
return $length;
|
|
},
|
|
RangeError_checkNotNegative(value, $name) {
|
|
if (value < 0)
|
|
throw A.wrapException(A.RangeError$range(value, 0, null, $name, null));
|
|
return value;
|
|
},
|
|
IndexError$withLength(invalidValue, $length, indexable, $name) {
|
|
return new A.IndexError($length, true, invalidValue, $name, "Index out of range");
|
|
},
|
|
UnsupportedError$(message) {
|
|
return new A.UnsupportedError(message);
|
|
},
|
|
UnimplementedError$(message) {
|
|
return new A.UnimplementedError(message);
|
|
},
|
|
StateError$(message) {
|
|
return new A.StateError(message);
|
|
},
|
|
ConcurrentModificationError$(modifiedObject) {
|
|
return new A.ConcurrentModificationError(modifiedObject);
|
|
},
|
|
Exception_Exception(message) {
|
|
return new A._Exception(message);
|
|
},
|
|
FormatException$(message, source, offset) {
|
|
return new A.FormatException(message, source, offset);
|
|
},
|
|
Iterable_iterableToShortString(iterable, leftDelimiter, rightDelimiter) {
|
|
var parts, t1;
|
|
if (A.isToStringVisiting(iterable)) {
|
|
if (leftDelimiter === "(" && rightDelimiter === ")")
|
|
return "(...)";
|
|
return leftDelimiter + "..." + rightDelimiter;
|
|
}
|
|
parts = A._setArrayType([], type$.JSArray_String);
|
|
B.JSArray_methods.add$1($.toStringVisiting, iterable);
|
|
try {
|
|
A._iterablePartsToStrings(iterable, parts);
|
|
} finally {
|
|
if (0 >= $.toStringVisiting.length)
|
|
return A.ioore($.toStringVisiting, -1);
|
|
$.toStringVisiting.pop();
|
|
}
|
|
t1 = A.StringBuffer__writeAll(leftDelimiter, type$.Iterable_dynamic._as(parts), ", ") + rightDelimiter;
|
|
return t1.charCodeAt(0) == 0 ? t1 : t1;
|
|
},
|
|
Iterable_iterableToFullString(iterable, leftDelimiter, rightDelimiter) {
|
|
var buffer, t1;
|
|
if (A.isToStringVisiting(iterable))
|
|
return leftDelimiter + "..." + rightDelimiter;
|
|
buffer = new A.StringBuffer(leftDelimiter);
|
|
B.JSArray_methods.add$1($.toStringVisiting, iterable);
|
|
try {
|
|
t1 = buffer;
|
|
t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", ");
|
|
} finally {
|
|
if (0 >= $.toStringVisiting.length)
|
|
return A.ioore($.toStringVisiting, -1);
|
|
$.toStringVisiting.pop();
|
|
}
|
|
buffer._contents += rightDelimiter;
|
|
t1 = buffer._contents;
|
|
return t1.charCodeAt(0) == 0 ? t1 : t1;
|
|
},
|
|
_iterablePartsToStrings(iterable, parts) {
|
|
var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
|
|
it = iterable.get$iterator(iterable),
|
|
$length = 0, count = 0;
|
|
while (true) {
|
|
if (!($length < 80 || count < 3))
|
|
break;
|
|
if (!it.moveNext$0())
|
|
return;
|
|
next = A.S(it.get$current(it));
|
|
B.JSArray_methods.add$1(parts, next);
|
|
$length += next.length + 2;
|
|
++count;
|
|
}
|
|
if (!it.moveNext$0()) {
|
|
if (count <= 5)
|
|
return;
|
|
if (0 >= parts.length)
|
|
return A.ioore(parts, -1);
|
|
ultimateString = parts.pop();
|
|
if (0 >= parts.length)
|
|
return A.ioore(parts, -1);
|
|
penultimateString = parts.pop();
|
|
} else {
|
|
penultimate = it.get$current(it);
|
|
++count;
|
|
if (!it.moveNext$0()) {
|
|
if (count <= 4) {
|
|
B.JSArray_methods.add$1(parts, A.S(penultimate));
|
|
return;
|
|
}
|
|
ultimateString = A.S(penultimate);
|
|
if (0 >= parts.length)
|
|
return A.ioore(parts, -1);
|
|
penultimateString = parts.pop();
|
|
$length += ultimateString.length + 2;
|
|
} else {
|
|
ultimate = it.get$current(it);
|
|
++count;
|
|
for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0) {
|
|
ultimate0 = it.get$current(it);
|
|
++count;
|
|
if (count > 100) {
|
|
while (true) {
|
|
if (!($length > 75 && count > 3))
|
|
break;
|
|
if (0 >= parts.length)
|
|
return A.ioore(parts, -1);
|
|
$length -= parts.pop().length + 2;
|
|
--count;
|
|
}
|
|
B.JSArray_methods.add$1(parts, "...");
|
|
return;
|
|
}
|
|
}
|
|
penultimateString = A.S(penultimate);
|
|
ultimateString = A.S(ultimate);
|
|
$length += ultimateString.length + penultimateString.length + 4;
|
|
}
|
|
}
|
|
if (count > parts.length + 2) {
|
|
$length += 5;
|
|
elision = "...";
|
|
} else
|
|
elision = null;
|
|
while (true) {
|
|
if (!($length > 80 && parts.length > 3))
|
|
break;
|
|
if (0 >= parts.length)
|
|
return A.ioore(parts, -1);
|
|
$length -= parts.pop().length + 2;
|
|
if (elision == null) {
|
|
$length += 5;
|
|
elision = "...";
|
|
}
|
|
}
|
|
if (elision != null)
|
|
B.JSArray_methods.add$1(parts, elision);
|
|
B.JSArray_methods.add$1(parts, penultimateString);
|
|
B.JSArray_methods.add$1(parts, ultimateString);
|
|
},
|
|
Object_hash(object1, object2, object3, object4) {
|
|
var t2,
|
|
t1 = B.JSNumber_methods.get$hashCode(object1);
|
|
object2 = B.JSNumber_methods.get$hashCode(object2);
|
|
object3 = B.JSNumber_methods.get$hashCode(object3);
|
|
object4 = B.JSNumber_methods.get$hashCode(object4);
|
|
t2 = $.$get$_hashSeed();
|
|
return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(t2, t1), object2), object3), object4));
|
|
},
|
|
print(object) {
|
|
A.printString(object);
|
|
},
|
|
NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.sb = t1;
|
|
},
|
|
DateTime: function DateTime(t0, t1) {
|
|
this._value = t0;
|
|
this.isUtc = t1;
|
|
},
|
|
_Enum: function _Enum() {
|
|
},
|
|
Error: function Error() {
|
|
},
|
|
AssertionError: function AssertionError(t0) {
|
|
this.message = t0;
|
|
},
|
|
TypeError: function TypeError() {
|
|
},
|
|
ArgumentError: function ArgumentError(t0, t1, t2, t3) {
|
|
var _ = this;
|
|
_._hasValue = t0;
|
|
_.invalidValue = t1;
|
|
_.name = t2;
|
|
_.message = t3;
|
|
},
|
|
RangeError: function RangeError(t0, t1, t2, t3, t4, t5) {
|
|
var _ = this;
|
|
_.start = t0;
|
|
_.end = t1;
|
|
_._hasValue = t2;
|
|
_.invalidValue = t3;
|
|
_.name = t4;
|
|
_.message = t5;
|
|
},
|
|
IndexError: function IndexError(t0, t1, t2, t3, t4) {
|
|
var _ = this;
|
|
_.length = t0;
|
|
_._hasValue = t1;
|
|
_.invalidValue = t2;
|
|
_.name = t3;
|
|
_.message = t4;
|
|
},
|
|
NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) {
|
|
var _ = this;
|
|
_._core$_receiver = t0;
|
|
_._core$_memberName = t1;
|
|
_._core$_arguments = t2;
|
|
_._namedArguments = t3;
|
|
},
|
|
UnsupportedError: function UnsupportedError(t0) {
|
|
this.message = t0;
|
|
},
|
|
UnimplementedError: function UnimplementedError(t0) {
|
|
this.message = t0;
|
|
},
|
|
StateError: function StateError(t0) {
|
|
this.message = t0;
|
|
},
|
|
ConcurrentModificationError: function ConcurrentModificationError(t0) {
|
|
this.modifiedObject = t0;
|
|
},
|
|
OutOfMemoryError: function OutOfMemoryError() {
|
|
},
|
|
StackOverflowError: function StackOverflowError() {
|
|
},
|
|
_Exception: function _Exception(t0) {
|
|
this.message = t0;
|
|
},
|
|
FormatException: function FormatException(t0, t1, t2) {
|
|
this.message = t0;
|
|
this.source = t1;
|
|
this.offset = t2;
|
|
},
|
|
Iterable: function Iterable() {
|
|
},
|
|
Null: function Null() {
|
|
},
|
|
Object: function Object() {
|
|
},
|
|
_StringStackTrace: function _StringStackTrace() {
|
|
},
|
|
StringBuffer: function StringBuffer(t0) {
|
|
this._contents = t0;
|
|
},
|
|
_EventStreamSubscription$(_target, _eventType, onData, _useCapture, $T) {
|
|
var t1 = A._wrapZone(new A._EventStreamSubscription_closure(onData), type$.Event);
|
|
if (t1 != null && true)
|
|
B.DedicatedWorkerGlobalScope_methods.addEventListener$3(_target, _eventType, t1, false);
|
|
return new A._EventStreamSubscription(_target, _eventType, t1, false, $T._eval$1("_EventStreamSubscription<0>"));
|
|
},
|
|
_wrapZone(callback, $T) {
|
|
var t1 = $.Zone__current;
|
|
if (t1 === B.C__RootZone)
|
|
return callback;
|
|
return t1.bindUnaryCallbackGuarded$1$1(callback, $T);
|
|
},
|
|
HtmlElement: function HtmlElement() {
|
|
},
|
|
AccessibleNodeList: function AccessibleNodeList() {
|
|
},
|
|
AnchorElement: function AnchorElement() {
|
|
},
|
|
AreaElement: function AreaElement() {
|
|
},
|
|
Blob: function Blob() {
|
|
},
|
|
CharacterData: function CharacterData() {
|
|
},
|
|
CryptoKey: function CryptoKey() {
|
|
},
|
|
CssPerspective: function CssPerspective() {
|
|
},
|
|
CssRule: function CssRule() {
|
|
},
|
|
CssStyleDeclaration: function CssStyleDeclaration() {
|
|
},
|
|
CssStyleDeclarationBase: function CssStyleDeclarationBase() {
|
|
},
|
|
CssStyleValue: function CssStyleValue() {
|
|
},
|
|
CssTransformComponent: function CssTransformComponent() {
|
|
},
|
|
CssTransformValue: function CssTransformValue() {
|
|
},
|
|
CssUnparsedValue: function CssUnparsedValue() {
|
|
},
|
|
DataTransferItem: function DataTransferItem() {
|
|
},
|
|
DataTransferItemList: function DataTransferItemList() {
|
|
},
|
|
DedicatedWorkerGlobalScope: function DedicatedWorkerGlobalScope() {
|
|
},
|
|
DomException: function DomException() {
|
|
},
|
|
DomRectList: function DomRectList() {
|
|
},
|
|
DomRectReadOnly: function DomRectReadOnly() {
|
|
},
|
|
DomStringList: function DomStringList() {
|
|
},
|
|
DomTokenList: function DomTokenList() {
|
|
},
|
|
Element: function Element() {
|
|
},
|
|
Event: function Event() {
|
|
},
|
|
EventTarget: function EventTarget() {
|
|
},
|
|
File: function File() {
|
|
},
|
|
FileList: function FileList() {
|
|
},
|
|
FileWriter: function FileWriter() {
|
|
},
|
|
FormElement: function FormElement() {
|
|
},
|
|
Gamepad: function Gamepad() {
|
|
},
|
|
History: function History() {
|
|
},
|
|
HtmlCollection: function HtmlCollection() {
|
|
},
|
|
ImageData: function ImageData() {
|
|
},
|
|
Location: function Location() {
|
|
},
|
|
MediaDeviceInfo: function MediaDeviceInfo() {
|
|
},
|
|
MediaList: function MediaList() {
|
|
},
|
|
MediaStreamTrack: function MediaStreamTrack() {
|
|
},
|
|
MessageEvent: function MessageEvent() {
|
|
},
|
|
MessagePort: function MessagePort() {
|
|
},
|
|
MidiInputMap: function MidiInputMap() {
|
|
},
|
|
MidiInputMap_keys_closure: function MidiInputMap_keys_closure(t0) {
|
|
this.keys = t0;
|
|
},
|
|
MidiOutputMap: function MidiOutputMap() {
|
|
},
|
|
MidiOutputMap_keys_closure: function MidiOutputMap_keys_closure(t0) {
|
|
this.keys = t0;
|
|
},
|
|
MimeType: function MimeType() {
|
|
},
|
|
MimeTypeArray: function MimeTypeArray() {
|
|
},
|
|
Node: function Node() {
|
|
},
|
|
NodeList: function NodeList() {
|
|
},
|
|
Plugin: function Plugin() {
|
|
},
|
|
PluginArray: function PluginArray() {
|
|
},
|
|
RtcStatsReport: function RtcStatsReport() {
|
|
},
|
|
RtcStatsReport_keys_closure: function RtcStatsReport_keys_closure(t0) {
|
|
this.keys = t0;
|
|
},
|
|
SelectElement: function SelectElement() {
|
|
},
|
|
SharedArrayBuffer: function SharedArrayBuffer() {
|
|
},
|
|
SourceBuffer: function SourceBuffer() {
|
|
},
|
|
SourceBufferList: function SourceBufferList() {
|
|
},
|
|
SpeechGrammar: function SpeechGrammar() {
|
|
},
|
|
SpeechGrammarList: function SpeechGrammarList() {
|
|
},
|
|
SpeechRecognitionResult: function SpeechRecognitionResult() {
|
|
},
|
|
Storage: function Storage() {
|
|
},
|
|
Storage_keys_closure: function Storage_keys_closure(t0) {
|
|
this.keys = t0;
|
|
},
|
|
StyleSheet: function StyleSheet() {
|
|
},
|
|
TextTrack: function TextTrack() {
|
|
},
|
|
TextTrackCue: function TextTrackCue() {
|
|
},
|
|
TextTrackCueList: function TextTrackCueList() {
|
|
},
|
|
TextTrackList: function TextTrackList() {
|
|
},
|
|
TimeRanges: function TimeRanges() {
|
|
},
|
|
Touch: function Touch() {
|
|
},
|
|
TouchList: function TouchList() {
|
|
},
|
|
TrackDefaultList: function TrackDefaultList() {
|
|
},
|
|
TrackElement: function TrackElement() {
|
|
},
|
|
Url: function Url() {
|
|
},
|
|
VideoTrack: function VideoTrack() {
|
|
},
|
|
VideoTrackList: function VideoTrackList() {
|
|
},
|
|
WorkerGlobalScope: function WorkerGlobalScope() {
|
|
},
|
|
_CssRuleList: function _CssRuleList() {
|
|
},
|
|
_DomRect: function _DomRect() {
|
|
},
|
|
_GamepadList: function _GamepadList() {
|
|
},
|
|
_NamedNodeMap: function _NamedNodeMap() {
|
|
},
|
|
_SpeechRecognitionResultList: function _SpeechRecognitionResultList() {
|
|
},
|
|
_StyleSheetList: function _StyleSheetList() {
|
|
},
|
|
EventStreamProvider: function EventStreamProvider(t0) {
|
|
this.$ti = t0;
|
|
},
|
|
_EventStream: function _EventStream(t0, t1, t2, t3) {
|
|
var _ = this;
|
|
_._target = t0;
|
|
_._eventType = t1;
|
|
_._useCapture = t2;
|
|
_.$ti = t3;
|
|
},
|
|
_EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
|
|
var _ = this;
|
|
_._target = t0;
|
|
_._eventType = t1;
|
|
_._onData = t2;
|
|
_._useCapture = t3;
|
|
_.$ti = t4;
|
|
},
|
|
_EventStreamSubscription_closure: function _EventStreamSubscription_closure(t0) {
|
|
this.onData = t0;
|
|
},
|
|
ImmutableListMixin: function ImmutableListMixin() {
|
|
},
|
|
FixedSizeListIterator: function FixedSizeListIterator(t0, t1, t2) {
|
|
var _ = this;
|
|
_._array = t0;
|
|
_._html$_length = t1;
|
|
_._position = -1;
|
|
_._html$_current = null;
|
|
_.$ti = t2;
|
|
},
|
|
_CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase: function _CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase() {
|
|
},
|
|
_DomRectList_JavaScriptObject_ListMixin: function _DomRectList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin: function _DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_DomStringList_JavaScriptObject_ListMixin: function _DomStringList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin: function _DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_FileList_JavaScriptObject_ListMixin: function _FileList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_FileList_JavaScriptObject_ListMixin_ImmutableListMixin: function _FileList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_HtmlCollection_JavaScriptObject_ListMixin: function _HtmlCollection_JavaScriptObject_ListMixin() {
|
|
},
|
|
_HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin: function _HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_MidiInputMap_JavaScriptObject_MapMixin: function _MidiInputMap_JavaScriptObject_MapMixin() {
|
|
},
|
|
_MidiOutputMap_JavaScriptObject_MapMixin: function _MidiOutputMap_JavaScriptObject_MapMixin() {
|
|
},
|
|
_MimeTypeArray_JavaScriptObject_ListMixin: function _MimeTypeArray_JavaScriptObject_ListMixin() {
|
|
},
|
|
_MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin: function _MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_NodeList_JavaScriptObject_ListMixin: function _NodeList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_NodeList_JavaScriptObject_ListMixin_ImmutableListMixin: function _NodeList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_PluginArray_JavaScriptObject_ListMixin: function _PluginArray_JavaScriptObject_ListMixin() {
|
|
},
|
|
_PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin: function _PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_RtcStatsReport_JavaScriptObject_MapMixin: function _RtcStatsReport_JavaScriptObject_MapMixin() {
|
|
},
|
|
_SourceBufferList_EventTarget_ListMixin: function _SourceBufferList_EventTarget_ListMixin() {
|
|
},
|
|
_SourceBufferList_EventTarget_ListMixin_ImmutableListMixin: function _SourceBufferList_EventTarget_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_SpeechGrammarList_JavaScriptObject_ListMixin: function _SpeechGrammarList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin: function _SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_Storage_JavaScriptObject_MapMixin: function _Storage_JavaScriptObject_MapMixin() {
|
|
},
|
|
_TextTrackCueList_JavaScriptObject_ListMixin: function _TextTrackCueList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_TextTrackList_EventTarget_ListMixin: function _TextTrackList_EventTarget_ListMixin() {
|
|
},
|
|
_TextTrackList_EventTarget_ListMixin_ImmutableListMixin: function _TextTrackList_EventTarget_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_TouchList_JavaScriptObject_ListMixin: function _TouchList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_TouchList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TouchList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
__CssRuleList_JavaScriptObject_ListMixin: function __CssRuleList_JavaScriptObject_ListMixin() {
|
|
},
|
|
__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin: function __CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
__GamepadList_JavaScriptObject_ListMixin: function __GamepadList_JavaScriptObject_ListMixin() {
|
|
},
|
|
__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin: function __GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
__NamedNodeMap_JavaScriptObject_ListMixin: function __NamedNodeMap_JavaScriptObject_ListMixin() {
|
|
},
|
|
__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin: function __NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
__SpeechRecognitionResultList_JavaScriptObject_ListMixin: function __SpeechRecognitionResultList_JavaScriptObject_ListMixin() {
|
|
},
|
|
__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin: function __SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
__StyleSheetList_JavaScriptObject_ListMixin: function __StyleSheetList_JavaScriptObject_ListMixin() {
|
|
},
|
|
__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin: function __StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_convertNativeToDart_Value(value) {
|
|
var t1, values, i;
|
|
if (value == null)
|
|
return value;
|
|
if (typeof value == "string" || typeof value == "number" || A._isBool(value))
|
|
return value;
|
|
if (A.isJavaScriptSimpleObject(value))
|
|
return A.convertNativeToDart_Dictionary(value);
|
|
t1 = Array.isArray(value);
|
|
t1.toString;
|
|
if (t1) {
|
|
values = [];
|
|
i = 0;
|
|
while (true) {
|
|
t1 = value.length;
|
|
t1.toString;
|
|
if (!(i < t1))
|
|
break;
|
|
values.push(A._convertNativeToDart_Value(value[i]));
|
|
++i;
|
|
}
|
|
return values;
|
|
}
|
|
return value;
|
|
},
|
|
convertNativeToDart_Dictionary(object) {
|
|
var dict, keys, t1, _i, key, t2;
|
|
if (object == null)
|
|
return null;
|
|
dict = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
|
|
keys = Object.getOwnPropertyNames(object);
|
|
for (t1 = keys.length, _i = 0; _i < keys.length; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
|
|
key = keys[_i];
|
|
t2 = key;
|
|
t2.toString;
|
|
dict.$indexSet(0, t2, A._convertNativeToDart_Value(object[key]));
|
|
}
|
|
return dict;
|
|
},
|
|
isJavaScriptSimpleObject(value) {
|
|
var proto = Object.getPrototypeOf(value),
|
|
t1 = proto === Object.prototype;
|
|
t1.toString;
|
|
if (!t1) {
|
|
t1 = proto === null;
|
|
t1.toString;
|
|
} else
|
|
t1 = true;
|
|
return t1;
|
|
},
|
|
_StructuredClone: function _StructuredClone() {
|
|
},
|
|
_StructuredClone_walk_closure: function _StructuredClone_walk_closure(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.$this = t1;
|
|
},
|
|
_StructuredClone_walk_closure0: function _StructuredClone_walk_closure0(t0, t1) {
|
|
this._box_0 = t0;
|
|
this.$this = t1;
|
|
},
|
|
_AcceptStructuredClone: function _AcceptStructuredClone() {
|
|
},
|
|
_AcceptStructuredClone_walk_closure: function _AcceptStructuredClone_walk_closure(t0, t1) {
|
|
this.$this = t0;
|
|
this.map = t1;
|
|
},
|
|
_StructuredCloneDart2Js: function _StructuredCloneDart2Js(t0, t1) {
|
|
this.values = t0;
|
|
this.copies = t1;
|
|
},
|
|
_AcceptStructuredCloneDart2Js: function _AcceptStructuredCloneDart2Js(t0, t1) {
|
|
this.values = t0;
|
|
this.copies = t1;
|
|
this.mustCopy = false;
|
|
},
|
|
_convertDartFunctionFast(f) {
|
|
var ret,
|
|
existing = f.$dart_jsFunction;
|
|
if (existing != null)
|
|
return existing;
|
|
ret = function(_call, f) {
|
|
return function() {
|
|
return _call(f, Array.prototype.slice.apply(arguments));
|
|
};
|
|
}(A._callDartFunctionFast, f);
|
|
ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f;
|
|
f.$dart_jsFunction = ret;
|
|
return ret;
|
|
},
|
|
_callDartFunctionFast(callback, $arguments) {
|
|
type$.List_dynamic._as($arguments);
|
|
type$.Function._as(callback);
|
|
return A.Primitives_applyFunction(callback, $arguments, null);
|
|
},
|
|
allowInterop(f, $F) {
|
|
if (typeof f == "function")
|
|
return f;
|
|
else
|
|
return $F._as(A._convertDartFunctionFast(f));
|
|
},
|
|
_noJsifyRequired(o) {
|
|
return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o);
|
|
},
|
|
jsify(object) {
|
|
if (A._noJsifyRequired(object))
|
|
return object;
|
|
return new A.jsify__convert(new A._IdentityHashMap(type$._IdentityHashMap_of_nullable_Object_and_nullable_Object)).call$1(object);
|
|
},
|
|
promiseToFuture(jsPromise, $T) {
|
|
var t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>")),
|
|
completer = new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"));
|
|
jsPromise.then(A.convertDartClosureToJS(new A.promiseToFuture_closure(completer, $T), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1));
|
|
return t1;
|
|
},
|
|
jsify__convert: function jsify__convert(t0) {
|
|
this._convertedObjects = t0;
|
|
},
|
|
promiseToFuture_closure: function promiseToFuture_closure(t0, t1) {
|
|
this.completer = t0;
|
|
this.T = t1;
|
|
},
|
|
promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
|
|
this.completer = t0;
|
|
},
|
|
NullRejectionException: function NullRejectionException(t0) {
|
|
this.isUndefined = t0;
|
|
},
|
|
_JSSecureRandom: function _JSSecureRandom(t0) {
|
|
this._math$_buffer = t0;
|
|
},
|
|
Length: function Length() {
|
|
},
|
|
LengthList: function LengthList() {
|
|
},
|
|
Number: function Number() {
|
|
},
|
|
NumberList: function NumberList() {
|
|
},
|
|
PointList: function PointList() {
|
|
},
|
|
StringList: function StringList() {
|
|
},
|
|
Transform: function Transform() {
|
|
},
|
|
TransformList: function TransformList() {
|
|
},
|
|
_LengthList_JavaScriptObject_ListMixin: function _LengthList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_LengthList_JavaScriptObject_ListMixin_ImmutableListMixin: function _LengthList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_NumberList_JavaScriptObject_ListMixin: function _NumberList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_NumberList_JavaScriptObject_ListMixin_ImmutableListMixin: function _NumberList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_StringList_JavaScriptObject_ListMixin: function _StringList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_StringList_JavaScriptObject_ListMixin_ImmutableListMixin: function _StringList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
_TransformList_JavaScriptObject_ListMixin: function _TransformList_JavaScriptObject_ListMixin() {
|
|
},
|
|
_TransformList_JavaScriptObject_ListMixin_ImmutableListMixin: function _TransformList_JavaScriptObject_ListMixin_ImmutableListMixin() {
|
|
},
|
|
AudioBuffer: function AudioBuffer() {
|
|
},
|
|
AudioParamMap: function AudioParamMap() {
|
|
},
|
|
AudioParamMap_keys_closure: function AudioParamMap_keys_closure(t0) {
|
|
this.keys = t0;
|
|
},
|
|
AudioTrack: function AudioTrack() {
|
|
},
|
|
AudioTrackList: function AudioTrackList() {
|
|
},
|
|
BaseAudioContext: function BaseAudioContext() {
|
|
},
|
|
OfflineAudioContext: function OfflineAudioContext() {
|
|
},
|
|
_AudioParamMap_JavaScriptObject_MapMixin: function _AudioParamMap_JavaScriptObject_MapMixin() {
|
|
},
|
|
WritableStream: function WritableStream() {
|
|
},
|
|
ReadableStream: function ReadableStream() {
|
|
},
|
|
TransformStream: function TransformStream() {
|
|
},
|
|
TransformStreamDefaultController: function TransformStreamDefaultController() {
|
|
},
|
|
EncodedStreams: function EncodedStreams() {
|
|
},
|
|
RTCEncodedFrame: function RTCEncodedFrame() {
|
|
},
|
|
RTCEncodedAudioFrame: function RTCEncodedAudioFrame() {
|
|
},
|
|
RTCEncodedVideoFrame: function RTCEncodedVideoFrame() {
|
|
},
|
|
RTCEncodedFrameMetadata: function RTCEncodedFrameMetadata() {
|
|
},
|
|
RTCEncodedAudioFrameMetadata: function RTCEncodedAudioFrameMetadata() {
|
|
},
|
|
RTCEncodedVideoFrameMetadata: function RTCEncodedVideoFrameMetadata() {
|
|
},
|
|
RTCTransformEvent: function RTCTransformEvent() {
|
|
},
|
|
RTCRtpScriptTransform: function RTCRtpScriptTransform() {
|
|
},
|
|
jsArrayBufferFrom(data) {
|
|
if (type$.Uint8List._is(data) && data.byteOffset === 0 && data.byteLength === data.buffer.byteLength)
|
|
return data.buffer;
|
|
return new Uint8Array(A._ensureNativeList(data)).buffer;
|
|
},
|
|
impportKeyFromRawData(secretKeyData, keyUsages, webCryptoAlgorithm) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.CryptoKey),
|
|
$async$returnValue, t1;
|
|
var $async$impportKeyFromRawData = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
t1 = type$.String;
|
|
$async$returnValue = A.promiseToFuture(self.crypto.subtle.importKey("raw", A.jsArrayBufferFrom(secretKeyData), A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", webCryptoAlgorithm], t1, t1)), false, keyUsages), type$.CryptoKey);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
case 1:
|
|
// return
|
|
return A._asyncReturn($async$returnValue, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$impportKeyFromRawData, $async$completer);
|
|
},
|
|
Promise: function Promise() {
|
|
},
|
|
Algorithm: function Algorithm() {
|
|
},
|
|
AesGcmParams: function AesGcmParams() {
|
|
},
|
|
KeyOptions$(ratchetSalt, ratchetWindowSize, sharedKey, uncryptedMagicBytes) {
|
|
return new A.KeyOptions(sharedKey, ratchetSalt, ratchetWindowSize, uncryptedMagicBytes);
|
|
},
|
|
findNALUIndices(stream) {
|
|
var start, pos0, t1, end,
|
|
result = A._setArrayType([], type$.JSArray_int),
|
|
pos = stream.length,
|
|
searchLength = pos - 2;
|
|
for (start = 0, pos0 = 0; pos0 < searchLength; start = pos0) {
|
|
while (true) {
|
|
if (pos0 < searchLength) {
|
|
if (!(pos0 >= 0))
|
|
return A.ioore(stream, pos0);
|
|
t1 = !(stream[pos0] === 0 && stream[pos0 + 1] === 0 && stream[pos0 + 2] === 1);
|
|
} else
|
|
t1 = false;
|
|
if (!t1)
|
|
break;
|
|
++pos0;
|
|
}
|
|
if (pos0 >= searchLength)
|
|
pos0 = pos;
|
|
end = pos0;
|
|
while (true) {
|
|
if (end > start) {
|
|
t1 = end - 1;
|
|
if (!(t1 >= 0))
|
|
return A.ioore(stream, t1);
|
|
t1 = stream[t1] === 0;
|
|
} else
|
|
t1 = false;
|
|
if (!t1)
|
|
break;
|
|
--end;
|
|
}
|
|
if (start === 0) {
|
|
if (end !== start)
|
|
throw A.wrapException(A.Exception_Exception("byte stream contains leading data"));
|
|
} else
|
|
B.JSArray_methods.add$1(result, start);
|
|
pos0 += 3;
|
|
}
|
|
return result;
|
|
},
|
|
FrameCryptor$(keyOptions, participantId, trackId, worker) {
|
|
var t1 = type$.int;
|
|
return new A.FrameCryptor(A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), participantId, trackId, keyOptions, B.CryptorError_0, worker, A.List_List$filled(16, null, false, type$.nullable_KeySet));
|
|
},
|
|
KeyOptions: function KeyOptions(t0, t1, t2, t3) {
|
|
var _ = this;
|
|
_.sharedKey = t0;
|
|
_.ratchetSalt = t1;
|
|
_.ratchetWindowSize = t2;
|
|
_.uncryptedMagicBytes = t3;
|
|
},
|
|
CryptorError: function CryptorError(t0) {
|
|
this._name = t0;
|
|
},
|
|
KeySet: function KeySet(t0, t1) {
|
|
this.material = t0;
|
|
this.encryptionKey = t1;
|
|
},
|
|
FrameCryptor: function FrameCryptor(t0, t1, t2, t3, t4, t5, t6) {
|
|
var _ = this;
|
|
_.sendCounts = t0;
|
|
_.participantId = t1;
|
|
_.trackId = t2;
|
|
_.codec = null;
|
|
_.keyOptions = t3;
|
|
_.__FrameCryptor_kind_A = $;
|
|
_.enabled = false;
|
|
_.lastError = t4;
|
|
_.worker = t5;
|
|
_.currentKeyIndex = 0;
|
|
_.hasValidKey = false;
|
|
_._ratchetCompleter = null;
|
|
_.cryptoKeyRing = t6;
|
|
},
|
|
FrameCryptor_ratchetKey_closure: function FrameCryptor_ratchetKey_closure(t0, t1) {
|
|
this.$this = t0;
|
|
this.keyIndex = t1;
|
|
},
|
|
FrameCryptor_ratchetKey__closure: function FrameCryptor_ratchetKey__closure(t0, t1) {
|
|
this.$this = t0;
|
|
this.keyIndex = t1;
|
|
},
|
|
FrameCryptor_ratchetKey___closure: function FrameCryptor_ratchetKey___closure(t0) {
|
|
this.$this = t0;
|
|
},
|
|
main() {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);
|
|
var $async$main = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
A.print("E2EE Worker created");
|
|
if (self.self.RTCTransformEvent != null) {
|
|
A.print("setup transform event handler");
|
|
self.self.onrtctransform = A.allowInterop(new A.main_closure(), type$.dynamic_Function_dynamic);
|
|
}
|
|
A._EventStreamSubscription$(type$.nullable_EventTarget._as(self.self), "message", type$.nullable_void_Function_MessageEvent._as(new A.main_closure0()), false, type$.MessageEvent);
|
|
// implicit return
|
|
return A._asyncReturn(null, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$main, $async$completer);
|
|
},
|
|
TransformMessage: function TransformMessage() {
|
|
},
|
|
EnableTransformMessage: function EnableTransformMessage() {
|
|
},
|
|
RemoveTransformMessage: function RemoveTransformMessage() {
|
|
},
|
|
main_closure: function main_closure() {
|
|
},
|
|
main__closure8: function main__closure8(t0) {
|
|
this.trackId = t0;
|
|
},
|
|
main_closure0: function main_closure0() {
|
|
},
|
|
main__closure: function main__closure(t0) {
|
|
this.participantId = t0;
|
|
},
|
|
main__closure0: function main__closure0(t0) {
|
|
this.trackId = t0;
|
|
},
|
|
main__closure1: function main__closure1(t0) {
|
|
this.trackId = t0;
|
|
},
|
|
main__closure2: function main__closure2(t0) {
|
|
this.participantId = t0;
|
|
},
|
|
main__closure3: function main__closure3(t0) {
|
|
this.participantId = t0;
|
|
},
|
|
main__closure4: function main__closure4(t0, t1, t2) {
|
|
this.c = t0;
|
|
this.keySet = t1;
|
|
this.participantId = t2;
|
|
},
|
|
main__closure5: function main__closure5(t0) {
|
|
this.participantId = t0;
|
|
},
|
|
main__closure6: function main__closure6(t0) {
|
|
this.trackId = t0;
|
|
},
|
|
main__closure7: function main__closure7(t0) {
|
|
this.trackId = t0;
|
|
},
|
|
printString(string) {
|
|
if (typeof dartPrint == "function") {
|
|
dartPrint(string);
|
|
return;
|
|
}
|
|
if (typeof console == "object" && typeof console.log != "undefined") {
|
|
console.log(string);
|
|
return;
|
|
}
|
|
if (typeof print == "function") {
|
|
print(string);
|
|
return;
|
|
}
|
|
throw "Unable to print message: " + String(string);
|
|
},
|
|
throwLateFieldNI(fieldName) {
|
|
return A.throwExpression(A.LateError$fieldNI(fieldName));
|
|
},
|
|
throwLateFieldADI(fieldName) {
|
|
return A.throwExpression(new A.LateError("Field '" + fieldName + "' has been assigned during initialization."));
|
|
},
|
|
IterableExtension_firstWhereOrNull(_this, test, $T) {
|
|
var t1, _i, element;
|
|
for (t1 = _this.length, _i = 0; _i < _this.length; _this.length === t1 || (0, A.throwConcurrentModificationError)(_this), ++_i) {
|
|
element = _this[_i];
|
|
if (A.boolConversionCheck(test.call$1(element)))
|
|
return element;
|
|
}
|
|
return null;
|
|
},
|
|
getAlgoOptions(algorithmName, salt) {
|
|
var t1;
|
|
switch (algorithmName) {
|
|
case "HKDF":
|
|
t1 = A.jsArrayBufferFrom(salt);
|
|
return A.LinkedHashMap_LinkedHashMap$_literal(["name", "HKDF", "salt", t1, "hash", "SHA-256", "info", A.jsArrayBufferFrom(new Uint8Array(128))], type$.String, type$.Object);
|
|
case "PBKDF2":
|
|
return A.LinkedHashMap_LinkedHashMap$_literal(["name", "PBKDF2", "salt", A.jsArrayBufferFrom(salt), "hash", "SHA-256", "iterations", 100000], type$.String, type$.Object);
|
|
default:
|
|
throw A.wrapException(A.Exception_Exception("algorithm " + algorithmName + " is currently unsupported"));
|
|
}
|
|
}
|
|
},
|
|
J = {
|
|
makeDispatchRecord(interceptor, proto, extension, indexability) {
|
|
return {i: interceptor, p: proto, e: extension, x: indexability};
|
|
},
|
|
getNativeInterceptor(object) {
|
|
var proto, objectProto, $constructor, interceptor, t1,
|
|
record = object[init.dispatchPropertyName];
|
|
if (record == null)
|
|
if ($.initNativeDispatchFlag == null) {
|
|
A.initNativeDispatch();
|
|
record = object[init.dispatchPropertyName];
|
|
}
|
|
if (record != null) {
|
|
proto = record.p;
|
|
if (false === proto)
|
|
return record.i;
|
|
if (true === proto)
|
|
return object;
|
|
objectProto = Object.getPrototypeOf(object);
|
|
if (proto === objectProto)
|
|
return record.i;
|
|
if (record.e === objectProto)
|
|
throw A.wrapException(A.UnimplementedError$("Return interceptor for " + A.S(proto(object, record))));
|
|
}
|
|
$constructor = object.constructor;
|
|
if ($constructor == null)
|
|
interceptor = null;
|
|
else {
|
|
t1 = $._JS_INTEROP_INTERCEPTOR_TAG;
|
|
if (t1 == null)
|
|
t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js");
|
|
interceptor = $constructor[t1];
|
|
}
|
|
if (interceptor != null)
|
|
return interceptor;
|
|
interceptor = A.lookupAndCacheInterceptor(object);
|
|
if (interceptor != null)
|
|
return interceptor;
|
|
if (typeof object == "function")
|
|
return B.JavaScriptFunction_methods;
|
|
proto = Object.getPrototypeOf(object);
|
|
if (proto == null)
|
|
return B.PlainJavaScriptObject_methods;
|
|
if (proto === Object.prototype)
|
|
return B.PlainJavaScriptObject_methods;
|
|
if (typeof $constructor == "function") {
|
|
t1 = $._JS_INTEROP_INTERCEPTOR_TAG;
|
|
if (t1 == null)
|
|
t1 = $._JS_INTEROP_INTERCEPTOR_TAG = init.getIsolateTag("_$dart_js");
|
|
Object.defineProperty($constructor, t1, {value: B.UnknownJavaScriptObject_methods, enumerable: false, writable: true, configurable: true});
|
|
return B.UnknownJavaScriptObject_methods;
|
|
}
|
|
return B.UnknownJavaScriptObject_methods;
|
|
},
|
|
JSArray_JSArray$fixed($length, $E) {
|
|
if ($length < 0 || $length > 4294967295)
|
|
throw A.wrapException(A.RangeError$range($length, 0, 4294967295, "length", null));
|
|
return J.JSArray_JSArray$markFixed(new Array($length), $E);
|
|
},
|
|
JSArray_JSArray$markFixed(allocation, $E) {
|
|
return J.JSArray_markFixedList(A._setArrayType(allocation, $E._eval$1("JSArray<0>")), $E);
|
|
},
|
|
JSArray_markFixedList(list, $T) {
|
|
list.fixed$length = Array;
|
|
return list;
|
|
},
|
|
getInterceptor$(receiver) {
|
|
if (typeof receiver == "number") {
|
|
if (Math.floor(receiver) == receiver)
|
|
return J.JSInt.prototype;
|
|
return J.JSNumNotInt.prototype;
|
|
}
|
|
if (typeof receiver == "string")
|
|
return J.JSString.prototype;
|
|
if (receiver == null)
|
|
return J.JSNull.prototype;
|
|
if (typeof receiver == "boolean")
|
|
return J.JSBool.prototype;
|
|
if (receiver.constructor == Array)
|
|
return J.JSArray.prototype;
|
|
if (typeof receiver != "object") {
|
|
if (typeof receiver == "function")
|
|
return J.JavaScriptFunction.prototype;
|
|
return receiver;
|
|
}
|
|
if (receiver instanceof A.Object)
|
|
return receiver;
|
|
return J.getNativeInterceptor(receiver);
|
|
},
|
|
getInterceptor$asx(receiver) {
|
|
if (typeof receiver == "string")
|
|
return J.JSString.prototype;
|
|
if (receiver == null)
|
|
return receiver;
|
|
if (receiver.constructor == Array)
|
|
return J.JSArray.prototype;
|
|
if (typeof receiver != "object") {
|
|
if (typeof receiver == "function")
|
|
return J.JavaScriptFunction.prototype;
|
|
return receiver;
|
|
}
|
|
if (receiver instanceof A.Object)
|
|
return receiver;
|
|
return J.getNativeInterceptor(receiver);
|
|
},
|
|
getInterceptor$ax(receiver) {
|
|
if (receiver == null)
|
|
return receiver;
|
|
if (receiver.constructor == Array)
|
|
return J.JSArray.prototype;
|
|
if (typeof receiver != "object") {
|
|
if (typeof receiver == "function")
|
|
return J.JavaScriptFunction.prototype;
|
|
return receiver;
|
|
}
|
|
if (receiver instanceof A.Object)
|
|
return receiver;
|
|
return J.getNativeInterceptor(receiver);
|
|
},
|
|
getInterceptor$x(receiver) {
|
|
if (receiver == null)
|
|
return receiver;
|
|
if (typeof receiver != "object") {
|
|
if (typeof receiver == "function")
|
|
return J.JavaScriptFunction.prototype;
|
|
return receiver;
|
|
}
|
|
if (receiver instanceof A.Object)
|
|
return receiver;
|
|
return J.getNativeInterceptor(receiver);
|
|
},
|
|
get$data$x(receiver) {
|
|
return J.getInterceptor$x(receiver).get$data(receiver);
|
|
},
|
|
get$hashCode$(receiver) {
|
|
return J.getInterceptor$(receiver).get$hashCode(receiver);
|
|
},
|
|
get$iterator$ax(receiver) {
|
|
return J.getInterceptor$ax(receiver).get$iterator(receiver);
|
|
},
|
|
get$length$asx(receiver) {
|
|
return J.getInterceptor$asx(receiver).get$length(receiver);
|
|
},
|
|
get$name$x(receiver) {
|
|
return J.getInterceptor$x(receiver).get$name(receiver);
|
|
},
|
|
get$runtimeType$(receiver) {
|
|
return J.getInterceptor$(receiver).get$runtimeType(receiver);
|
|
},
|
|
get$synchronizationSource$x(receiver) {
|
|
return J.getInterceptor$x(receiver).get$synchronizationSource(receiver);
|
|
},
|
|
get$type$x(receiver) {
|
|
return J.getInterceptor$x(receiver).get$type(receiver);
|
|
},
|
|
$eq$(receiver, a0) {
|
|
if (receiver == null)
|
|
return a0 == null;
|
|
if (typeof receiver != "object")
|
|
return a0 != null && receiver === a0;
|
|
return J.getInterceptor$(receiver).$eq(receiver, a0);
|
|
},
|
|
$index$asx(receiver, a0) {
|
|
if (typeof a0 === "number")
|
|
if (receiver.constructor == Array || typeof receiver == "string" || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName]))
|
|
if (a0 >>> 0 === a0 && a0 < receiver.length)
|
|
return receiver[a0];
|
|
return J.getInterceptor$asx(receiver).$index(receiver, a0);
|
|
},
|
|
add$1$ax(receiver, a0) {
|
|
return J.getInterceptor$ax(receiver).add$1(receiver, a0);
|
|
},
|
|
elementAt$1$ax(receiver, a0) {
|
|
return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
|
|
},
|
|
enqueue$1$x(receiver, a0) {
|
|
return J.getInterceptor$x(receiver).enqueue$1(receiver, a0);
|
|
},
|
|
forEach$1$x(receiver, a0) {
|
|
return J.getInterceptor$x(receiver).forEach$1(receiver, a0);
|
|
},
|
|
map$1$1$ax(receiver, a0, $T1) {
|
|
return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
|
|
},
|
|
noSuchMethod$1$(receiver, a0) {
|
|
return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
|
|
},
|
|
pipeThrough$1$x(receiver, a0) {
|
|
return J.getInterceptor$x(receiver).pipeThrough$1(receiver, a0);
|
|
},
|
|
pipeTo$1$x(receiver, a0) {
|
|
return J.getInterceptor$x(receiver).pipeTo$1(receiver, a0);
|
|
},
|
|
postMessage$1$x(receiver, a0) {
|
|
return J.getInterceptor$x(receiver).postMessage$1(receiver, a0);
|
|
},
|
|
setInt8$2$x(receiver, a0, a1) {
|
|
return J.getInterceptor$x(receiver).setInt8$2(receiver, a0, a1);
|
|
},
|
|
skip$1$ax(receiver, a0) {
|
|
return J.getInterceptor$ax(receiver).skip$1(receiver, a0);
|
|
},
|
|
sublist$1$x(receiver, a0) {
|
|
return J.getInterceptor$x(receiver).sublist$1(receiver, a0);
|
|
},
|
|
sublist$2$x(receiver, a0, a1) {
|
|
return J.getInterceptor$x(receiver).sublist$2(receiver, a0, a1);
|
|
},
|
|
toString$0$(receiver) {
|
|
return J.getInterceptor$(receiver).toString$0(receiver);
|
|
},
|
|
Interceptor: function Interceptor() {
|
|
},
|
|
JSBool: function JSBool() {
|
|
},
|
|
JSNull: function JSNull() {
|
|
},
|
|
JavaScriptObject: function JavaScriptObject() {
|
|
},
|
|
LegacyJavaScriptObject: function LegacyJavaScriptObject() {
|
|
},
|
|
PlainJavaScriptObject: function PlainJavaScriptObject() {
|
|
},
|
|
UnknownJavaScriptObject: function UnknownJavaScriptObject() {
|
|
},
|
|
JavaScriptFunction: function JavaScriptFunction() {
|
|
},
|
|
JSArray: function JSArray(t0) {
|
|
this.$ti = t0;
|
|
},
|
|
JSUnmodifiableArray: function JSUnmodifiableArray(t0) {
|
|
this.$ti = t0;
|
|
},
|
|
ArrayIterator: function ArrayIterator(t0, t1, t2) {
|
|
var _ = this;
|
|
_._iterable = t0;
|
|
_.__interceptors$_length = t1;
|
|
_._index = 0;
|
|
_._current = null;
|
|
_.$ti = t2;
|
|
},
|
|
JSNumber: function JSNumber() {
|
|
},
|
|
JSInt: function JSInt() {
|
|
},
|
|
JSNumNotInt: function JSNumNotInt() {
|
|
},
|
|
JSString: function JSString() {
|
|
}
|
|
},
|
|
B = {};
|
|
var holders = [A, J, B];
|
|
var $ = {};
|
|
A.JS_CONST.prototype = {};
|
|
J.Interceptor.prototype = {
|
|
$eq(receiver, other) {
|
|
return receiver === other;
|
|
},
|
|
get$hashCode(receiver) {
|
|
return A.Primitives_objectHashCode(receiver);
|
|
},
|
|
toString$0(receiver) {
|
|
return "Instance of '" + A.Primitives_objectTypeName(receiver) + "'";
|
|
},
|
|
noSuchMethod$1(receiver, invocation) {
|
|
throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(receiver, type$.Invocation._as(invocation)));
|
|
},
|
|
get$runtimeType(receiver) {
|
|
return A.createRuntimeType(A._instanceTypeFromConstructor(this));
|
|
}
|
|
};
|
|
J.JSBool.prototype = {
|
|
toString$0(receiver) {
|
|
return String(receiver);
|
|
},
|
|
get$hashCode(receiver) {
|
|
return receiver ? 519018 : 218159;
|
|
},
|
|
get$runtimeType(receiver) {
|
|
return A.createRuntimeType(type$.bool);
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isbool: 1
|
|
};
|
|
J.JSNull.prototype = {
|
|
$eq(receiver, other) {
|
|
return null == other;
|
|
},
|
|
toString$0(receiver) {
|
|
return "null";
|
|
},
|
|
get$hashCode(receiver) {
|
|
return 0;
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isNull: 1
|
|
};
|
|
J.JavaScriptObject.prototype = {$isJSObject: 1};
|
|
J.LegacyJavaScriptObject.prototype = {
|
|
get$hashCode(receiver) {
|
|
return 0;
|
|
},
|
|
toString$0(receiver) {
|
|
return String(receiver);
|
|
},
|
|
$isWritableStream: 1,
|
|
$isReadableStream: 1,
|
|
$isTransformStreamDefaultController: 1,
|
|
$isRTCEncodedFrame: 1,
|
|
$isRTCTransformEvent: 1,
|
|
$isAlgorithm: 1,
|
|
pipeThrough$1(receiver, p0) {
|
|
return receiver.pipeThrough(p0);
|
|
},
|
|
pipeTo$1(receiver, p0) {
|
|
return receiver.pipeTo(p0);
|
|
},
|
|
enqueue$1(receiver, p0) {
|
|
return receiver.enqueue(p0);
|
|
},
|
|
get$timestamp(obj) {
|
|
return obj.timestamp;
|
|
},
|
|
get$data(obj) {
|
|
return obj.data;
|
|
},
|
|
set$data(obj, v) {
|
|
return obj.data = v;
|
|
},
|
|
getMetadata$0(receiver) {
|
|
return receiver.getMetadata();
|
|
},
|
|
get$type(obj) {
|
|
return obj.type;
|
|
},
|
|
get$synchronizationSource(obj) {
|
|
return obj.synchronizationSource;
|
|
},
|
|
get$name(obj) {
|
|
return obj.name;
|
|
},
|
|
get$msgType(obj) {
|
|
return obj.msgType;
|
|
},
|
|
get$kind(obj) {
|
|
return obj.kind;
|
|
},
|
|
get$participantId(obj) {
|
|
return obj.participantId;
|
|
},
|
|
get$trackId(obj) {
|
|
return obj.trackId;
|
|
},
|
|
get$codec(obj) {
|
|
return obj.codec;
|
|
}
|
|
};
|
|
J.PlainJavaScriptObject.prototype = {};
|
|
J.UnknownJavaScriptObject.prototype = {};
|
|
J.JavaScriptFunction.prototype = {
|
|
toString$0(receiver) {
|
|
var dartClosure = receiver[$.$get$DART_CLOSURE_PROPERTY_NAME()];
|
|
if (dartClosure == null)
|
|
return this.super$LegacyJavaScriptObject$toString(receiver);
|
|
return "JavaScript function for " + J.toString$0$(dartClosure);
|
|
},
|
|
$isFunction: 1
|
|
};
|
|
J.JSArray.prototype = {
|
|
add$1(receiver, value) {
|
|
A._arrayInstanceType(receiver)._precomputed1._as(value);
|
|
if (!!receiver.fixed$length)
|
|
A.throwExpression(A.UnsupportedError$("add"));
|
|
receiver.push(value);
|
|
},
|
|
_removeWhere$2(receiver, test, removeMatching) {
|
|
var retained, end, i, element, t1;
|
|
A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test);
|
|
retained = [];
|
|
end = receiver.length;
|
|
for (i = 0; i < end; ++i) {
|
|
element = receiver[i];
|
|
if (!A.boolConversionCheck(test.call$1(element)))
|
|
retained.push(element);
|
|
if (receiver.length !== end)
|
|
throw A.wrapException(A.ConcurrentModificationError$(receiver));
|
|
}
|
|
t1 = retained.length;
|
|
if (t1 === end)
|
|
return;
|
|
this.set$length(receiver, t1);
|
|
for (i = 0; i < retained.length; ++i)
|
|
receiver[i] = retained[i];
|
|
},
|
|
addAll$1(receiver, collection) {
|
|
var t1;
|
|
A._arrayInstanceType(receiver)._eval$1("Iterable<1>")._as(collection);
|
|
if (!!receiver.fixed$length)
|
|
A.throwExpression(A.UnsupportedError$("addAll"));
|
|
if (Array.isArray(collection)) {
|
|
this._addAllFromArray$1(receiver, collection);
|
|
return;
|
|
}
|
|
for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();)
|
|
receiver.push(t1.get$current(t1));
|
|
},
|
|
_addAllFromArray$1(receiver, array) {
|
|
var len, i;
|
|
type$.JSArray_dynamic._as(array);
|
|
len = array.length;
|
|
if (len === 0)
|
|
return;
|
|
if (receiver === array)
|
|
throw A.wrapException(A.ConcurrentModificationError$(receiver));
|
|
for (i = 0; i < len; ++i)
|
|
receiver.push(array[i]);
|
|
},
|
|
map$1$1(receiver, f, $T) {
|
|
var t1 = A._arrayInstanceType(receiver);
|
|
return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(2)")._as(f), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
|
|
},
|
|
skip$1(receiver, n) {
|
|
return A.SubListIterable$(receiver, n, null, A._arrayInstanceType(receiver)._precomputed1);
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
toString$0(receiver) {
|
|
return A.Iterable_iterableToFullString(receiver, "[", "]");
|
|
},
|
|
get$iterator(receiver) {
|
|
return new J.ArrayIterator(receiver, receiver.length, A._arrayInstanceType(receiver)._eval$1("ArrayIterator<1>"));
|
|
},
|
|
get$hashCode(receiver) {
|
|
return A.Primitives_objectHashCode(receiver);
|
|
},
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
set$length(receiver, newLength) {
|
|
if (!!receiver.fixed$length)
|
|
A.throwExpression(A.UnsupportedError$("set length"));
|
|
if (newLength > receiver.length)
|
|
A._arrayInstanceType(receiver)._precomputed1._as(null);
|
|
receiver.length = newLength;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
if (!(index >= 0 && index < receiver.length))
|
|
throw A.wrapException(A.diagnoseIndexError(receiver, index));
|
|
return receiver[index];
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
A._arrayInstanceType(receiver)._precomputed1._as(value);
|
|
if (!!receiver.immutable$list)
|
|
A.throwExpression(A.UnsupportedError$("indexed set"));
|
|
if (!(index >= 0 && index < receiver.length))
|
|
throw A.wrapException(A.diagnoseIndexError(receiver, index));
|
|
receiver[index] = value;
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
J.JSUnmodifiableArray.prototype = {};
|
|
J.ArrayIterator.prototype = {
|
|
get$current(_) {
|
|
var t1 = this._current;
|
|
return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
|
|
},
|
|
moveNext$0() {
|
|
var t2, _this = this,
|
|
t1 = _this._iterable,
|
|
$length = t1.length;
|
|
if (_this.__interceptors$_length !== $length) {
|
|
t1 = A.throwConcurrentModificationError(t1);
|
|
throw A.wrapException(t1);
|
|
}
|
|
t2 = _this._index;
|
|
if (t2 >= $length) {
|
|
_this.set$_current(null);
|
|
return false;
|
|
}
|
|
_this.set$_current(t1[t2]);
|
|
++_this._index;
|
|
return true;
|
|
},
|
|
set$_current(_current) {
|
|
this._current = this.$ti._eval$1("1?")._as(_current);
|
|
},
|
|
$isIterator: 1
|
|
};
|
|
J.JSNumber.prototype = {
|
|
toRadixString$1(receiver, radix) {
|
|
var result, match, t1, exponent;
|
|
if (radix < 2 || radix > 36)
|
|
throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", null));
|
|
result = receiver.toString(radix);
|
|
if (B.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41)
|
|
return result;
|
|
match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
|
|
if (match == null)
|
|
A.throwExpression(A.UnsupportedError$("Unexpected toString result: " + result));
|
|
t1 = match.length;
|
|
if (1 >= t1)
|
|
return A.ioore(match, 1);
|
|
result = match[1];
|
|
if (3 >= t1)
|
|
return A.ioore(match, 3);
|
|
exponent = +match[3];
|
|
t1 = match[2];
|
|
if (t1 != null) {
|
|
result += t1;
|
|
exponent -= t1.length;
|
|
}
|
|
return result + B.JSString_methods.$mul("0", exponent);
|
|
},
|
|
toString$0(receiver) {
|
|
if (receiver === 0 && 1 / receiver < 0)
|
|
return "-0.0";
|
|
else
|
|
return "" + receiver;
|
|
},
|
|
get$hashCode(receiver) {
|
|
var absolute, floorLog2, factor, scaled,
|
|
intValue = receiver | 0;
|
|
if (receiver === intValue)
|
|
return intValue & 536870911;
|
|
absolute = Math.abs(receiver);
|
|
floorLog2 = Math.log(absolute) / 0.6931471805599453 | 0;
|
|
factor = Math.pow(2, floorLog2);
|
|
scaled = absolute < 1 ? absolute / factor : factor / absolute;
|
|
return ((scaled * 9007199254740992 | 0) + (scaled * 3542243181176521 | 0)) * 599197 + floorLog2 * 1259 & 536870911;
|
|
},
|
|
$mod(receiver, other) {
|
|
var result = receiver % other;
|
|
if (result === 0)
|
|
return 0;
|
|
if (result > 0)
|
|
return result;
|
|
return result + other;
|
|
},
|
|
_tdivFast$1(receiver, other) {
|
|
return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other);
|
|
},
|
|
_tdivSlow$1(receiver, other) {
|
|
var quotient = receiver / other;
|
|
if (quotient >= -2147483648 && quotient <= 2147483647)
|
|
return quotient | 0;
|
|
if (quotient > 0) {
|
|
if (quotient !== 1 / 0)
|
|
return Math.floor(quotient);
|
|
} else if (quotient > -1 / 0)
|
|
return Math.ceil(quotient);
|
|
throw A.wrapException(A.UnsupportedError$("Result of truncating division is " + A.S(quotient) + ": " + A.S(receiver) + " ~/ " + other));
|
|
},
|
|
_shrOtherPositive$1(receiver, other) {
|
|
var t1;
|
|
if (receiver > 0)
|
|
t1 = this._shrBothPositive$1(receiver, other);
|
|
else {
|
|
t1 = other > 31 ? 31 : other;
|
|
t1 = receiver >> t1 >>> 0;
|
|
}
|
|
return t1;
|
|
},
|
|
_shrBothPositive$1(receiver, other) {
|
|
return other > 31 ? 0 : receiver >>> other;
|
|
},
|
|
get$runtimeType(receiver) {
|
|
return A.createRuntimeType(type$.num);
|
|
},
|
|
$isdouble: 1,
|
|
$isnum: 1
|
|
};
|
|
J.JSInt.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return A.createRuntimeType(type$.int);
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isint: 1
|
|
};
|
|
J.JSNumNotInt.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return A.createRuntimeType(type$.double);
|
|
},
|
|
$isTrustedGetRuntimeType: 1
|
|
};
|
|
J.JSString.prototype = {
|
|
codeUnitAt$1(receiver, index) {
|
|
if (index < 0)
|
|
throw A.wrapException(A.diagnoseIndexError(receiver, index));
|
|
if (index >= receiver.length)
|
|
A.throwExpression(A.diagnoseIndexError(receiver, index));
|
|
return receiver.charCodeAt(index);
|
|
},
|
|
_codeUnitAt$1(receiver, index) {
|
|
if (index >= receiver.length)
|
|
throw A.wrapException(A.diagnoseIndexError(receiver, index));
|
|
return receiver.charCodeAt(index);
|
|
},
|
|
$add(receiver, other) {
|
|
return receiver + other;
|
|
},
|
|
substring$2(receiver, start, end) {
|
|
return receiver.substring(start, A.RangeError_checkValidRange(start, end, receiver.length));
|
|
},
|
|
$mul(receiver, times) {
|
|
var s, result;
|
|
if (0 >= times)
|
|
return "";
|
|
if (times === 1 || receiver.length === 0)
|
|
return receiver;
|
|
if (times !== times >>> 0)
|
|
throw A.wrapException(B.C_OutOfMemoryError);
|
|
for (s = receiver, result = ""; true;) {
|
|
if ((times & 1) === 1)
|
|
result = s + result;
|
|
times = times >>> 1;
|
|
if (times === 0)
|
|
break;
|
|
s += s;
|
|
}
|
|
return result;
|
|
},
|
|
toString$0(receiver) {
|
|
return receiver;
|
|
},
|
|
get$hashCode(receiver) {
|
|
var t1, hash, i;
|
|
for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) {
|
|
hash = hash + receiver.charCodeAt(i) & 536870911;
|
|
hash = hash + ((hash & 524287) << 10) & 536870911;
|
|
hash ^= hash >> 6;
|
|
}
|
|
hash = hash + ((hash & 67108863) << 3) & 536870911;
|
|
hash ^= hash >> 11;
|
|
return hash + ((hash & 16383) << 15) & 536870911;
|
|
},
|
|
get$runtimeType(receiver) {
|
|
return A.createRuntimeType(type$.String);
|
|
},
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
if (!(index.$ge(0, 0) && index.$lt(0, receiver.length)))
|
|
throw A.wrapException(A.diagnoseIndexError(receiver, index));
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isString: 1
|
|
};
|
|
A._CopyingBytesBuilder.prototype = {
|
|
add$1(_, bytes) {
|
|
var byteCount, required, t1, t2, newSize, x, newBuffer, _this = this;
|
|
type$.List_int._as(bytes);
|
|
byteCount = bytes.length;
|
|
if (byteCount === 0)
|
|
return;
|
|
required = _this.__internal$_length + byteCount;
|
|
t1 = _this._buffer;
|
|
t2 = t1.length;
|
|
if (t2 < required) {
|
|
newSize = required * 2;
|
|
if (newSize < 1024)
|
|
newSize = 1024;
|
|
else {
|
|
x = newSize - 1;
|
|
x |= B.JSInt_methods._shrOtherPositive$1(x, 1);
|
|
x |= x >>> 2;
|
|
x |= x >>> 4;
|
|
x |= x >>> 8;
|
|
newSize = ((x | x >>> 16) >>> 0) + 1;
|
|
}
|
|
newBuffer = new Uint8Array(newSize);
|
|
B.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1);
|
|
_this._buffer = newBuffer;
|
|
t1 = newBuffer;
|
|
}
|
|
B.NativeUint8List_methods.setRange$3(t1, _this.__internal$_length, required, bytes);
|
|
_this.__internal$_length = required;
|
|
},
|
|
toBytes$0() {
|
|
var t2,
|
|
t1 = this.__internal$_length;
|
|
if (t1 === 0)
|
|
return $.$get$_CopyingBytesBuilder__emptyList();
|
|
t2 = this._buffer;
|
|
return new Uint8Array(A._ensureNativeList(A.NativeUint8List_NativeUint8List$view(t2.buffer, t2.byteOffset, t1)));
|
|
},
|
|
get$length(_) {
|
|
return this.__internal$_length;
|
|
}
|
|
};
|
|
A.LateError.prototype = {
|
|
toString$0(_) {
|
|
return "LateInitializationError: " + this._message;
|
|
}
|
|
};
|
|
A.CodeUnits.prototype = {
|
|
get$length(_) {
|
|
return this._string.length;
|
|
},
|
|
$index(_, i) {
|
|
return B.JSString_methods.codeUnitAt$1(this._string, A._asInt(i));
|
|
}
|
|
};
|
|
A.SentinelValue.prototype = {};
|
|
A.EfficientLengthIterable.prototype = {};
|
|
A.ListIterable.prototype = {
|
|
get$iterator(_) {
|
|
var _this = this;
|
|
return new A.ListIterator(_this, _this.get$length(_this), A._instanceType(_this)._eval$1("ListIterator<ListIterable.E>"));
|
|
},
|
|
map$1$1(_, toElement, $T) {
|
|
var t1 = A._instanceType(this);
|
|
return new A.MappedListIterable(this, t1._bind$1($T)._eval$1("1(ListIterable.E)")._as(toElement), t1._eval$1("@<ListIterable.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
|
|
}
|
|
};
|
|
A.SubListIterable.prototype = {
|
|
get$_endIndex() {
|
|
var $length = J.get$length$asx(this.__internal$_iterable),
|
|
endOrLength = this._endOrLength;
|
|
if (endOrLength == null || endOrLength > $length)
|
|
return $length;
|
|
return endOrLength;
|
|
},
|
|
get$_startIndex() {
|
|
var $length = J.get$length$asx(this.__internal$_iterable),
|
|
t1 = this._start;
|
|
if (t1 > $length)
|
|
return $length;
|
|
return t1;
|
|
},
|
|
get$length(_) {
|
|
var endOrLength,
|
|
$length = J.get$length$asx(this.__internal$_iterable),
|
|
t1 = this._start;
|
|
if (t1 >= $length)
|
|
return 0;
|
|
endOrLength = this._endOrLength;
|
|
if (endOrLength == null || endOrLength >= $length)
|
|
return $length - t1;
|
|
if (typeof endOrLength !== "number")
|
|
return endOrLength.$sub();
|
|
return endOrLength - t1;
|
|
},
|
|
elementAt$1(_, index) {
|
|
var _this = this,
|
|
realIndex = _this.get$_startIndex() + index;
|
|
if (index < 0 || realIndex >= _this.get$_endIndex())
|
|
throw A.wrapException(A.IndexError$withLength(index, _this.get$length(_this), _this, "index"));
|
|
return J.elementAt$1$ax(_this.__internal$_iterable, realIndex);
|
|
},
|
|
toList$1$growable(_, growable) {
|
|
var $length, result, i, _this = this,
|
|
start = _this._start,
|
|
t1 = _this.__internal$_iterable,
|
|
t2 = J.getInterceptor$asx(t1),
|
|
end = t2.get$length(t1),
|
|
endOrLength = _this._endOrLength;
|
|
if (endOrLength != null && endOrLength < end)
|
|
end = endOrLength;
|
|
$length = end - start;
|
|
if ($length <= 0) {
|
|
t1 = J.JSArray_JSArray$fixed(0, _this.$ti._precomputed1);
|
|
return t1;
|
|
}
|
|
result = A.List_List$filled($length, t2.elementAt$1(t1, start), false, _this.$ti._precomputed1);
|
|
for (i = 1; i < $length; ++i) {
|
|
B.JSArray_methods.$indexSet(result, i, t2.elementAt$1(t1, start + i));
|
|
if (t2.get$length(t1) < end)
|
|
throw A.wrapException(A.ConcurrentModificationError$(_this));
|
|
}
|
|
return result;
|
|
}
|
|
};
|
|
A.ListIterator.prototype = {
|
|
get$current(_) {
|
|
var t1 = this.__internal$_current;
|
|
return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
|
|
},
|
|
moveNext$0() {
|
|
var t3, _this = this,
|
|
t1 = _this.__internal$_iterable,
|
|
t2 = J.getInterceptor$asx(t1),
|
|
$length = t2.get$length(t1);
|
|
if (_this.__internal$_length !== $length)
|
|
throw A.wrapException(A.ConcurrentModificationError$(t1));
|
|
t3 = _this.__internal$_index;
|
|
if (t3 >= $length) {
|
|
_this.set$__internal$_current(null);
|
|
return false;
|
|
}
|
|
_this.set$__internal$_current(t2.elementAt$1(t1, t3));
|
|
++_this.__internal$_index;
|
|
return true;
|
|
},
|
|
set$__internal$_current(_current) {
|
|
this.__internal$_current = this.$ti._eval$1("1?")._as(_current);
|
|
},
|
|
$isIterator: 1
|
|
};
|
|
A.MappedIterable.prototype = {
|
|
get$iterator(_) {
|
|
var t1 = this.__internal$_iterable,
|
|
t2 = A._instanceType(this);
|
|
return new A.MappedIterator(t1.get$iterator(t1), this._f, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("MappedIterator<1,2>"));
|
|
},
|
|
get$length(_) {
|
|
var t1 = this.__internal$_iterable;
|
|
return t1.get$length(t1);
|
|
}
|
|
};
|
|
A.EfficientLengthMappedIterable.prototype = {$isEfficientLengthIterable: 1};
|
|
A.MappedIterator.prototype = {
|
|
moveNext$0() {
|
|
var _this = this,
|
|
t1 = _this._iterator;
|
|
if (t1.moveNext$0()) {
|
|
_this.set$__internal$_current(_this._f.call$1(t1.get$current(t1)));
|
|
return true;
|
|
}
|
|
_this.set$__internal$_current(null);
|
|
return false;
|
|
},
|
|
get$current(_) {
|
|
var t1 = this.__internal$_current;
|
|
return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
|
|
},
|
|
set$__internal$_current(_current) {
|
|
this.__internal$_current = this.$ti._eval$1("2?")._as(_current);
|
|
},
|
|
$isIterator: 1
|
|
};
|
|
A.MappedListIterable.prototype = {
|
|
get$length(_) {
|
|
return J.get$length$asx(this._source);
|
|
},
|
|
elementAt$1(_, index) {
|
|
return this._f.call$1(J.elementAt$1$ax(this._source, index));
|
|
}
|
|
};
|
|
A.WhereIterable.prototype = {
|
|
get$iterator(_) {
|
|
return new A.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("WhereIterator<1>"));
|
|
},
|
|
map$1$1(_, toElement, $T) {
|
|
var t1 = this.$ti;
|
|
return new A.MappedIterable(this, t1._bind$1($T)._eval$1("1(2)")._as(toElement), t1._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
|
|
}
|
|
};
|
|
A.WhereIterator.prototype = {
|
|
moveNext$0() {
|
|
var t1, t2;
|
|
for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();)
|
|
if (A.boolConversionCheck(t2.call$1(t1.get$current(t1))))
|
|
return true;
|
|
return false;
|
|
},
|
|
get$current(_) {
|
|
var t1 = this._iterator;
|
|
return t1.get$current(t1);
|
|
},
|
|
$isIterator: 1
|
|
};
|
|
A.FixedLengthListMixin.prototype = {};
|
|
A.UnmodifiableListMixin.prototype = {
|
|
$indexSet(_, index, value) {
|
|
A._instanceType(this)._eval$1("UnmodifiableListMixin.E")._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
|
|
}
|
|
};
|
|
A.UnmodifiableListBase.prototype = {};
|
|
A.Symbol.prototype = {
|
|
get$hashCode(_) {
|
|
var hash = this._hashCode;
|
|
if (hash != null)
|
|
return hash;
|
|
hash = 664597 * J.get$hashCode$(this.__internal$_name) & 536870911;
|
|
this._hashCode = hash;
|
|
return hash;
|
|
},
|
|
toString$0(_) {
|
|
return 'Symbol("' + A.S(this.__internal$_name) + '")';
|
|
},
|
|
$eq(_, other) {
|
|
if (other == null)
|
|
return false;
|
|
return other instanceof A.Symbol && this.__internal$_name == other.__internal$_name;
|
|
},
|
|
$isSymbol0: 1
|
|
};
|
|
A.ConstantMapView.prototype = {};
|
|
A.ConstantMap.prototype = {
|
|
toString$0(_) {
|
|
return A.MapBase_mapToString(this);
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.ConstantStringMap.prototype = {
|
|
get$length(_) {
|
|
return this._length;
|
|
},
|
|
containsKey$1(_, key) {
|
|
if (typeof key != "string")
|
|
return false;
|
|
if ("__proto__" === key)
|
|
return false;
|
|
return this._jsObject.hasOwnProperty(key);
|
|
},
|
|
$index(_, key) {
|
|
if (!this.containsKey$1(0, key))
|
|
return null;
|
|
return this._jsObject[A._asString(key)];
|
|
},
|
|
forEach$1(_, f) {
|
|
var keys, t2, t3, i, t4,
|
|
t1 = this.$ti;
|
|
t1._eval$1("~(1,2)")._as(f);
|
|
keys = this.__js_helper$_keys;
|
|
for (t2 = keys.length, t3 = this._jsObject, t1 = t1._rest[1], i = 0; i < t2; ++i) {
|
|
t4 = A._asString(keys[i]);
|
|
f.call$2(t4, t1._as(t3[t4]));
|
|
}
|
|
},
|
|
get$keys(_) {
|
|
return new A._ConstantMapKeyIterable(this, this.$ti._eval$1("_ConstantMapKeyIterable<1>"));
|
|
}
|
|
};
|
|
A._ConstantMapKeyIterable.prototype = {
|
|
get$iterator(_) {
|
|
var t1 = this._map.__js_helper$_keys;
|
|
return new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
|
|
},
|
|
get$length(_) {
|
|
return this._map.__js_helper$_keys.length;
|
|
}
|
|
};
|
|
A.JSInvocationMirror.prototype = {
|
|
get$memberName() {
|
|
var t1 = this._memberName;
|
|
return t1;
|
|
},
|
|
get$positionalArguments() {
|
|
var t1, argumentCount, list, index, _this = this;
|
|
if (_this.__js_helper$_kind === 1)
|
|
return B.List_empty;
|
|
t1 = _this._arguments;
|
|
argumentCount = t1.length - _this._namedArgumentNames.length - _this._typeArgumentCount;
|
|
if (argumentCount === 0)
|
|
return B.List_empty;
|
|
list = [];
|
|
for (index = 0; index < argumentCount; ++index) {
|
|
if (!(index < t1.length))
|
|
return A.ioore(t1, index);
|
|
list.push(t1[index]);
|
|
}
|
|
list.fixed$length = Array;
|
|
list.immutable$list = Array;
|
|
return list;
|
|
},
|
|
get$namedArguments() {
|
|
var t1, namedArgumentCount, t2, namedArgumentsStartIndex, map, i, t3, t4, _this = this;
|
|
if (_this.__js_helper$_kind !== 0)
|
|
return B.Map_empty;
|
|
t1 = _this._namedArgumentNames;
|
|
namedArgumentCount = t1.length;
|
|
t2 = _this._arguments;
|
|
namedArgumentsStartIndex = t2.length - namedArgumentCount - _this._typeArgumentCount;
|
|
if (namedArgumentCount === 0)
|
|
return B.Map_empty;
|
|
map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
|
|
for (i = 0; i < namedArgumentCount; ++i) {
|
|
if (!(i < t1.length))
|
|
return A.ioore(t1, i);
|
|
t3 = t1[i];
|
|
t4 = namedArgumentsStartIndex + i;
|
|
if (!(t4 >= 0 && t4 < t2.length))
|
|
return A.ioore(t2, t4);
|
|
map.$indexSet(0, new A.Symbol(t3), t2[t4]);
|
|
}
|
|
return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic);
|
|
},
|
|
$isInvocation: 1
|
|
};
|
|
A.Primitives_functionNoSuchMethod_closure.prototype = {
|
|
call$2($name, argument) {
|
|
var t1;
|
|
A._asString($name);
|
|
t1 = this._box_0;
|
|
t1.names = t1.names + "$" + $name;
|
|
B.JSArray_methods.add$1(this.namedArgumentList, $name);
|
|
B.JSArray_methods.add$1(this.$arguments, argument);
|
|
++t1.argumentCount;
|
|
},
|
|
$signature: 2
|
|
};
|
|
A.TypeErrorDecoder.prototype = {
|
|
matchTypeError$1(message) {
|
|
var result, t1, _this = this,
|
|
match = new RegExp(_this._pattern).exec(message);
|
|
if (match == null)
|
|
return null;
|
|
result = Object.create(null);
|
|
t1 = _this._arguments;
|
|
if (t1 !== -1)
|
|
result.arguments = match[t1 + 1];
|
|
t1 = _this._argumentsExpr;
|
|
if (t1 !== -1)
|
|
result.argumentsExpr = match[t1 + 1];
|
|
t1 = _this._expr;
|
|
if (t1 !== -1)
|
|
result.expr = match[t1 + 1];
|
|
t1 = _this._method;
|
|
if (t1 !== -1)
|
|
result.method = match[t1 + 1];
|
|
t1 = _this._receiver;
|
|
if (t1 !== -1)
|
|
result.receiver = match[t1 + 1];
|
|
return result;
|
|
}
|
|
};
|
|
A.NullError.prototype = {
|
|
toString$0(_) {
|
|
var t1 = this._method;
|
|
if (t1 == null)
|
|
return "NoSuchMethodError: " + this.__js_helper$_message;
|
|
return "NoSuchMethodError: method not found: '" + t1 + "' on null";
|
|
}
|
|
};
|
|
A.JsNoSuchMethodError.prototype = {
|
|
toString$0(_) {
|
|
var t2, _this = this,
|
|
_s38_ = "NoSuchMethodError: method not found: '",
|
|
t1 = _this._method;
|
|
if (t1 == null)
|
|
return "NoSuchMethodError: " + _this.__js_helper$_message;
|
|
t2 = _this._receiver;
|
|
if (t2 == null)
|
|
return _s38_ + t1 + "' (" + _this.__js_helper$_message + ")";
|
|
return _s38_ + t1 + "' on '" + t2 + "' (" + _this.__js_helper$_message + ")";
|
|
}
|
|
};
|
|
A.UnknownJsTypeError.prototype = {
|
|
toString$0(_) {
|
|
var t1 = this.__js_helper$_message;
|
|
return t1.length === 0 ? "Error" : "Error: " + t1;
|
|
}
|
|
};
|
|
A.NullThrownFromJavaScriptException.prototype = {
|
|
toString$0(_) {
|
|
return "Throw of null ('" + (this._irritant === null ? "null" : "undefined") + "' from JavaScript)";
|
|
}
|
|
};
|
|
A.ExceptionAndStackTrace.prototype = {};
|
|
A._StackTrace.prototype = {
|
|
toString$0(_) {
|
|
var trace,
|
|
t1 = this._trace;
|
|
if (t1 != null)
|
|
return t1;
|
|
t1 = this._exception;
|
|
trace = t1 !== null && typeof t1 === "object" ? t1.stack : null;
|
|
return this._trace = trace == null ? "" : trace;
|
|
},
|
|
$isStackTrace: 1
|
|
};
|
|
A.Closure.prototype = {
|
|
toString$0(_) {
|
|
var $constructor = this.constructor,
|
|
$name = $constructor == null ? null : $constructor.name;
|
|
return "Closure '" + A.unminifyOrTag($name == null ? "unknown" : $name) + "'";
|
|
},
|
|
$isFunction: 1,
|
|
get$$call() {
|
|
return this;
|
|
},
|
|
"call*": "call$1",
|
|
$requiredArgCount: 1,
|
|
$defaultValues: null
|
|
};
|
|
A.Closure0Args.prototype = {"call*": "call$0", $requiredArgCount: 0};
|
|
A.Closure2Args.prototype = {"call*": "call$2", $requiredArgCount: 2};
|
|
A.TearOffClosure.prototype = {};
|
|
A.StaticClosure.prototype = {
|
|
toString$0(_) {
|
|
var $name = this.$static_name;
|
|
if ($name == null)
|
|
return "Closure of unknown static method";
|
|
return "Closure '" + A.unminifyOrTag($name) + "'";
|
|
}
|
|
};
|
|
A.BoundClosure.prototype = {
|
|
$eq(_, other) {
|
|
if (other == null)
|
|
return false;
|
|
if (this === other)
|
|
return true;
|
|
if (!(other instanceof A.BoundClosure))
|
|
return false;
|
|
return this.$_target === other.$_target && this._receiver === other._receiver;
|
|
},
|
|
get$hashCode(_) {
|
|
return (A.objectHashCode(this._receiver) ^ A.Primitives_objectHashCode(this.$_target)) >>> 0;
|
|
},
|
|
toString$0(_) {
|
|
return "Closure '" + this.$_name + "' of " + ("Instance of '" + A.Primitives_objectTypeName(this._receiver) + "'");
|
|
}
|
|
};
|
|
A._CyclicInitializationError.prototype = {
|
|
toString$0(_) {
|
|
return "Reading static variable '" + this.variableName + "' during its initialization";
|
|
}
|
|
};
|
|
A.RuntimeError.prototype = {
|
|
toString$0(_) {
|
|
return "RuntimeError: " + this.message;
|
|
}
|
|
};
|
|
A._AssertionError.prototype = {
|
|
toString$0(_) {
|
|
return "Assertion failed: " + A.Error_safeToString(this.message);
|
|
}
|
|
};
|
|
A._Required.prototype = {};
|
|
A.JsLinkedHashMap.prototype = {
|
|
get$length(_) {
|
|
return this._length;
|
|
},
|
|
get$keys(_) {
|
|
return new A.LinkedHashMapKeyIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>"));
|
|
},
|
|
containsKey$1(_, key) {
|
|
var strings = this._strings;
|
|
if (strings == null)
|
|
return false;
|
|
return strings[key] != null;
|
|
},
|
|
$index(_, key) {
|
|
var strings, cell, t1, nums, _null = null;
|
|
if (typeof key == "string") {
|
|
strings = this._strings;
|
|
if (strings == null)
|
|
return _null;
|
|
cell = strings[key];
|
|
t1 = cell == null ? _null : cell.hashMapCellValue;
|
|
return t1;
|
|
} else if (typeof key == "number" && (key & 0x3fffffff) === key) {
|
|
nums = this._nums;
|
|
if (nums == null)
|
|
return _null;
|
|
cell = nums[key];
|
|
t1 = cell == null ? _null : cell.hashMapCellValue;
|
|
return t1;
|
|
} else
|
|
return this.internalGet$1(key);
|
|
},
|
|
internalGet$1(key) {
|
|
var bucket, index,
|
|
rest = this.__js_helper$_rest;
|
|
if (rest == null)
|
|
return null;
|
|
bucket = rest[this.internalComputeHashCode$1(key)];
|
|
index = this.internalFindBucketIndex$2(bucket, key);
|
|
if (index < 0)
|
|
return null;
|
|
return bucket[index].hashMapCellValue;
|
|
},
|
|
$indexSet(_, key, value) {
|
|
var strings, nums, _this = this,
|
|
t1 = A._instanceType(_this);
|
|
t1._precomputed1._as(key);
|
|
t1._rest[1]._as(value);
|
|
if (typeof key == "string") {
|
|
strings = _this._strings;
|
|
_this._addHashTableEntry$3(strings == null ? _this._strings = _this._newHashTable$0() : strings, key, value);
|
|
} else if (typeof key == "number" && (key & 0x3fffffff) === key) {
|
|
nums = _this._nums;
|
|
_this._addHashTableEntry$3(nums == null ? _this._nums = _this._newHashTable$0() : nums, key, value);
|
|
} else
|
|
_this.internalSet$2(key, value);
|
|
},
|
|
internalSet$2(key, value) {
|
|
var rest, hash, bucket, index, _this = this,
|
|
t1 = A._instanceType(_this);
|
|
t1._precomputed1._as(key);
|
|
t1._rest[1]._as(value);
|
|
rest = _this.__js_helper$_rest;
|
|
if (rest == null)
|
|
rest = _this.__js_helper$_rest = _this._newHashTable$0();
|
|
hash = _this.internalComputeHashCode$1(key);
|
|
bucket = rest[hash];
|
|
if (bucket == null)
|
|
rest[hash] = [_this._newLinkedCell$2(key, value)];
|
|
else {
|
|
index = _this.internalFindBucketIndex$2(bucket, key);
|
|
if (index >= 0)
|
|
bucket[index].hashMapCellValue = value;
|
|
else
|
|
bucket.push(_this._newLinkedCell$2(key, value));
|
|
}
|
|
},
|
|
forEach$1(_, action) {
|
|
var cell, modifications, _this = this;
|
|
A._instanceType(_this)._eval$1("~(1,2)")._as(action);
|
|
cell = _this._first;
|
|
modifications = _this._modifications;
|
|
for (; cell != null;) {
|
|
action.call$2(cell.hashMapCellKey, cell.hashMapCellValue);
|
|
if (modifications !== _this._modifications)
|
|
throw A.wrapException(A.ConcurrentModificationError$(_this));
|
|
cell = cell._next;
|
|
}
|
|
},
|
|
_addHashTableEntry$3(table, key, value) {
|
|
var cell,
|
|
t1 = A._instanceType(this);
|
|
t1._precomputed1._as(key);
|
|
t1._rest[1]._as(value);
|
|
cell = table[key];
|
|
if (cell == null)
|
|
table[key] = this._newLinkedCell$2(key, value);
|
|
else
|
|
cell.hashMapCellValue = value;
|
|
},
|
|
_newLinkedCell$2(key, value) {
|
|
var _this = this,
|
|
t1 = A._instanceType(_this),
|
|
cell = new A.LinkedHashMapCell(t1._precomputed1._as(key), t1._rest[1]._as(value));
|
|
if (_this._first == null)
|
|
_this._first = _this._last = cell;
|
|
else
|
|
_this._last = _this._last._next = cell;
|
|
++_this._length;
|
|
_this._modifications = _this._modifications + 1 & 1073741823;
|
|
return cell;
|
|
},
|
|
internalComputeHashCode$1(key) {
|
|
return J.get$hashCode$(key) & 0x3fffffff;
|
|
},
|
|
internalFindBucketIndex$2(bucket, key) {
|
|
var $length, i;
|
|
if (bucket == null)
|
|
return -1;
|
|
$length = bucket.length;
|
|
for (i = 0; i < $length; ++i)
|
|
if (J.$eq$(bucket[i].hashMapCellKey, key))
|
|
return i;
|
|
return -1;
|
|
},
|
|
toString$0(_) {
|
|
return A.MapBase_mapToString(this);
|
|
},
|
|
_newHashTable$0() {
|
|
var table = Object.create(null);
|
|
table["<non-identifier-key>"] = table;
|
|
delete table["<non-identifier-key>"];
|
|
return table;
|
|
},
|
|
$isLinkedHashMap: 1
|
|
};
|
|
A.LinkedHashMapCell.prototype = {};
|
|
A.LinkedHashMapKeyIterable.prototype = {
|
|
get$length(_) {
|
|
return this._map._length;
|
|
},
|
|
get$iterator(_) {
|
|
var t1 = this._map,
|
|
t2 = new A.LinkedHashMapKeyIterator(t1, t1._modifications, this.$ti._eval$1("LinkedHashMapKeyIterator<1>"));
|
|
t2._cell = t1._first;
|
|
return t2;
|
|
}
|
|
};
|
|
A.LinkedHashMapKeyIterator.prototype = {
|
|
get$current(_) {
|
|
return this.__js_helper$_current;
|
|
},
|
|
moveNext$0() {
|
|
var cell, _this = this,
|
|
t1 = _this._map;
|
|
if (_this._modifications !== t1._modifications)
|
|
throw A.wrapException(A.ConcurrentModificationError$(t1));
|
|
cell = _this._cell;
|
|
if (cell == null) {
|
|
_this.set$__js_helper$_current(null);
|
|
return false;
|
|
} else {
|
|
_this.set$__js_helper$_current(cell.hashMapCellKey);
|
|
_this._cell = cell._next;
|
|
return true;
|
|
}
|
|
},
|
|
set$__js_helper$_current(_current) {
|
|
this.__js_helper$_current = this.$ti._eval$1("1?")._as(_current);
|
|
},
|
|
$isIterator: 1
|
|
};
|
|
A.initHooks_closure.prototype = {
|
|
call$1(o) {
|
|
return this.getTag(o);
|
|
},
|
|
$signature: 8
|
|
};
|
|
A.initHooks_closure0.prototype = {
|
|
call$2(o, tag) {
|
|
return this.getUnknownTag(o, tag);
|
|
},
|
|
$signature: 9
|
|
};
|
|
A.initHooks_closure1.prototype = {
|
|
call$1(tag) {
|
|
return this.prototypeForTag(A._asString(tag));
|
|
},
|
|
$signature: 10
|
|
};
|
|
A.NativeByteBuffer.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_ByteBuffer_RkP;
|
|
},
|
|
$isNativeByteBuffer: 1,
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isByteBuffer: 1
|
|
};
|
|
A.NativeTypedData.prototype = {
|
|
_invalidPosition$3(receiver, position, $length, $name) {
|
|
var t1 = A.RangeError$range(position, 0, $length, $name, null);
|
|
throw A.wrapException(t1);
|
|
},
|
|
_checkPosition$3(receiver, position, $length, $name) {
|
|
if (position >>> 0 !== position || position > $length)
|
|
this._invalidPosition$3(receiver, position, $length, $name);
|
|
},
|
|
$isNativeTypedData: 1
|
|
};
|
|
A.NativeByteData.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_ByteData_zNC;
|
|
},
|
|
_getUint32$2(receiver, byteOffset, littleEndian) {
|
|
return receiver.getUint32(byteOffset, littleEndian);
|
|
},
|
|
setInt8$2(receiver, byteOffset, value) {
|
|
return receiver.setInt8(byteOffset, value);
|
|
},
|
|
_setUint32$3(receiver, byteOffset, value, littleEndian) {
|
|
return receiver.setUint32(byteOffset, value, littleEndian);
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isByteData: 1
|
|
};
|
|
A.NativeTypedArray.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
_setRangeFast$4(receiver, start, end, source, skipCount) {
|
|
var count, sourceLength,
|
|
targetLength = receiver.length;
|
|
this._checkPosition$3(receiver, start, targetLength, "start");
|
|
this._checkPosition$3(receiver, end, targetLength, "end");
|
|
if (start > end)
|
|
throw A.wrapException(A.RangeError$range(start, 0, end, null, null));
|
|
count = end - start;
|
|
sourceLength = source.length;
|
|
if (sourceLength - skipCount < count)
|
|
throw A.wrapException(A.StateError$("Not enough elements"));
|
|
if (skipCount !== 0 || sourceLength !== count)
|
|
source = source.subarray(skipCount, skipCount + count);
|
|
receiver.set(source, start);
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isJavaScriptIndexingBehavior: 1
|
|
};
|
|
A.NativeTypedArrayOfDouble.prototype = {
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
A._asDouble(value);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
receiver[index] = value;
|
|
},
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.NativeTypedArrayOfInt.prototype = {
|
|
$indexSet(receiver, index, value) {
|
|
A._asInt(value);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
receiver[index] = value;
|
|
},
|
|
setRange$3(receiver, start, end, iterable) {
|
|
type$.Iterable_int._as(iterable);
|
|
if (type$.NativeTypedArrayOfInt._is(iterable)) {
|
|
this._setRangeFast$4(receiver, start, end, iterable, 0);
|
|
return;
|
|
}
|
|
this.super$ListBase$setRange(receiver, start, end, iterable, 0);
|
|
},
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.NativeFloat32List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Float32List_LB7;
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isFloat32List: 1
|
|
};
|
|
A.NativeFloat64List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Float64List_LB7;
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isFloat64List: 1
|
|
};
|
|
A.NativeInt16List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Int16List_uXf;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isInt16List: 1
|
|
};
|
|
A.NativeInt32List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Int32List_O50;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isInt32List: 1
|
|
};
|
|
A.NativeInt8List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Int8List_ekJ;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isInt8List: 1
|
|
};
|
|
A.NativeUint16List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Uint16List_2bx;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isUint16List: 1
|
|
};
|
|
A.NativeUint32List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Uint32List_2bx;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isUint32List: 1
|
|
};
|
|
A.NativeUint8ClampedList.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Uint8ClampedList_Jik;
|
|
},
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isUint8ClampedList: 1
|
|
};
|
|
A.NativeUint8List.prototype = {
|
|
get$runtimeType(receiver) {
|
|
return B.Type_Uint8List_WLA;
|
|
},
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
$index(receiver, index) {
|
|
A._asInt(index);
|
|
A._checkValidIndex(index, receiver, receiver.length);
|
|
return receiver[index];
|
|
},
|
|
sublist$2(receiver, start, end) {
|
|
return new Uint8Array(receiver.subarray(start, A._checkValidRange(start, end, receiver.length)));
|
|
},
|
|
sublist$1($receiver, start) {
|
|
return this.sublist$2($receiver, start, null);
|
|
},
|
|
$isTrustedGetRuntimeType: 1,
|
|
$isUint8List: 1
|
|
};
|
|
A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.prototype = {};
|
|
A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
|
|
A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.prototype = {};
|
|
A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.prototype = {};
|
|
A.Rti.prototype = {
|
|
_eval$1(recipe) {
|
|
return A._Universe_evalInEnvironment(init.typeUniverse, this, recipe);
|
|
},
|
|
_bind$1(typeOrTuple) {
|
|
return A._Universe_bind(init.typeUniverse, this, typeOrTuple);
|
|
}
|
|
};
|
|
A._FunctionParameters.prototype = {};
|
|
A._Type.prototype = {
|
|
toString$0(_) {
|
|
return A._rtiToString(this._rti, null);
|
|
}
|
|
};
|
|
A._Error.prototype = {
|
|
toString$0(_) {
|
|
return this.__rti$_message;
|
|
}
|
|
};
|
|
A._TypeError.prototype = {$isTypeError: 1};
|
|
A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
|
|
call$1(_) {
|
|
var t1 = this._box_0,
|
|
f = t1.storedCallback;
|
|
t1.storedCallback = null;
|
|
f.call$0();
|
|
},
|
|
$signature: 3
|
|
};
|
|
A._AsyncRun__initializeScheduleImmediate_closure.prototype = {
|
|
call$1(callback) {
|
|
var t1, t2;
|
|
this._box_0.storedCallback = type$.void_Function._as(callback);
|
|
t1 = this.div;
|
|
t2 = this.span;
|
|
t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
|
|
},
|
|
$signature: 11
|
|
};
|
|
A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
|
|
call$0() {
|
|
this.callback.call$0();
|
|
},
|
|
$signature: 6
|
|
};
|
|
A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
|
|
call$0() {
|
|
this.callback.call$0();
|
|
},
|
|
$signature: 6
|
|
};
|
|
A._TimerImpl.prototype = {
|
|
_TimerImpl$2(milliseconds, callback) {
|
|
if (self.setTimeout != null)
|
|
self.setTimeout(A.convertDartClosureToJS(new A._TimerImpl_internalCallback(this, callback), 0), milliseconds);
|
|
else
|
|
throw A.wrapException(A.UnsupportedError$("`setTimeout()` not found."));
|
|
}
|
|
};
|
|
A._TimerImpl_internalCallback.prototype = {
|
|
call$0() {
|
|
this.callback.call$0();
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._AsyncAwaitCompleter.prototype = {
|
|
complete$1(_, value) {
|
|
var t2, _this = this,
|
|
t1 = _this.$ti;
|
|
t1._eval$1("1/?")._as(value);
|
|
if (value == null)
|
|
value = t1._precomputed1._as(value);
|
|
if (!_this.isSync)
|
|
_this._future._asyncComplete$1(value);
|
|
else {
|
|
t2 = _this._future;
|
|
if (t1._eval$1("Future<1>")._is(value))
|
|
t2._chainFuture$1(value);
|
|
else
|
|
t2._completeWithValue$1(value);
|
|
}
|
|
},
|
|
completeError$2(e, st) {
|
|
var t1 = this._future;
|
|
if (this.isSync)
|
|
t1._completeError$2(e, st);
|
|
else
|
|
t1._asyncCompleteError$2(e, st);
|
|
},
|
|
$isCompleter: 1
|
|
};
|
|
A._awaitOnObject_closure.prototype = {
|
|
call$1(result) {
|
|
return this.bodyFunction.call$2(0, result);
|
|
},
|
|
$signature: 4
|
|
};
|
|
A._awaitOnObject_closure0.prototype = {
|
|
call$2(error, stackTrace) {
|
|
this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
|
|
},
|
|
$signature: 12
|
|
};
|
|
A._wrapJsFunctionForAsync_closure.prototype = {
|
|
call$2(errorCode, result) {
|
|
this.$protected(A._asInt(errorCode), result);
|
|
},
|
|
$signature: 13
|
|
};
|
|
A.AsyncError.prototype = {
|
|
toString$0(_) {
|
|
return A.S(this.error);
|
|
},
|
|
$isError: 1,
|
|
get$stackTrace() {
|
|
return this.stackTrace;
|
|
}
|
|
};
|
|
A._Completer.prototype = {
|
|
completeError$2(error, stackTrace) {
|
|
var t1;
|
|
A.checkNotNullable(error, "error", type$.Object);
|
|
t1 = this.future;
|
|
if ((t1._state & 30) !== 0)
|
|
throw A.wrapException(A.StateError$("Future already completed"));
|
|
if (stackTrace == null)
|
|
stackTrace = A.AsyncError_defaultStackTrace(error);
|
|
t1._asyncCompleteError$2(error, stackTrace);
|
|
},
|
|
completeError$1(error) {
|
|
return this.completeError$2(error, null);
|
|
},
|
|
$isCompleter: 1
|
|
};
|
|
A._AsyncCompleter.prototype = {
|
|
complete$1(_, value) {
|
|
var t2,
|
|
t1 = this.$ti;
|
|
t1._eval$1("1/?")._as(value);
|
|
t2 = this.future;
|
|
if ((t2._state & 30) !== 0)
|
|
throw A.wrapException(A.StateError$("Future already completed"));
|
|
t2._asyncComplete$1(t1._eval$1("1/")._as(value));
|
|
},
|
|
complete$0($receiver) {
|
|
return this.complete$1($receiver, null);
|
|
}
|
|
};
|
|
A._FutureListener.prototype = {
|
|
matchesErrorTest$1(asyncError) {
|
|
if ((this.state & 15) !== 6)
|
|
return true;
|
|
return this.result._zone.runUnary$2$2(type$.bool_Function_Object._as(this.callback), asyncError.error, type$.bool, type$.Object);
|
|
},
|
|
handleError$1(asyncError) {
|
|
var exception, _this = this,
|
|
errorCallback = _this.errorCallback,
|
|
result = null,
|
|
t1 = type$.dynamic,
|
|
t2 = type$.Object,
|
|
t3 = asyncError.error,
|
|
t4 = _this.result._zone;
|
|
if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))
|
|
result = t4.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace);
|
|
else
|
|
result = t4.runUnary$2$2(type$.dynamic_Function_Object._as(errorCallback), t3, t1, t2);
|
|
try {
|
|
t1 = _this.$ti._eval$1("2/")._as(result);
|
|
return t1;
|
|
} catch (exception) {
|
|
if (type$.TypeError._is(A.unwrapException(exception))) {
|
|
if ((_this.state & 1) !== 0)
|
|
throw A.wrapException(A.ArgumentError$("The error handler of Future.then must return a value of the returned future's type", "onError"));
|
|
throw A.wrapException(A.ArgumentError$("The error handler of Future.catchError must return a value of the future's type", "onError"));
|
|
} else
|
|
throw exception;
|
|
}
|
|
}
|
|
};
|
|
A._Future.prototype = {
|
|
then$1$2$onError(f, onError, $R) {
|
|
var currentZone, result, t2,
|
|
t1 = this.$ti;
|
|
t1._bind$1($R)._eval$1("1/(2)")._as(f);
|
|
currentZone = $.Zone__current;
|
|
if (currentZone === B.C__RootZone) {
|
|
if (onError != null && !type$.dynamic_Function_Object_StackTrace._is(onError) && !type$.dynamic_Function_Object._is(onError))
|
|
throw A.wrapException(A.ArgumentError$value(onError, "onError", string$.Error_));
|
|
} else {
|
|
$R._eval$1("@<0/>")._bind$1(t1._precomputed1)._eval$1("1(2)")._as(f);
|
|
if (onError != null)
|
|
onError = A._registerErrorHandler(onError, currentZone);
|
|
}
|
|
result = new A._Future(currentZone, $R._eval$1("_Future<0>"));
|
|
t2 = onError == null ? 1 : 3;
|
|
this._addListener$1(new A._FutureListener(result, t2, f, onError, t1._eval$1("@<1>")._bind$1($R)._eval$1("_FutureListener<1,2>")));
|
|
return result;
|
|
},
|
|
then$1$1(f, $R) {
|
|
return this.then$1$2$onError(f, null, $R);
|
|
},
|
|
_thenAwait$1$2(f, onError, $E) {
|
|
var result,
|
|
t1 = this.$ti;
|
|
t1._bind$1($E)._eval$1("1/(2)")._as(f);
|
|
result = new A._Future($.Zone__current, $E._eval$1("_Future<0>"));
|
|
this._addListener$1(new A._FutureListener(result, 3, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
|
|
return result;
|
|
},
|
|
_setErrorObject$1(error) {
|
|
this._state = this._state & 1 | 16;
|
|
this._resultOrListeners = error;
|
|
},
|
|
_cloneResult$1(source) {
|
|
this._state = source._state & 30 | this._state & 1;
|
|
this._resultOrListeners = source._resultOrListeners;
|
|
},
|
|
_addListener$1(listener) {
|
|
var source, _this = this,
|
|
t1 = _this._state;
|
|
if (t1 <= 3) {
|
|
listener._nextListener = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
|
|
_this._resultOrListeners = listener;
|
|
} else {
|
|
if ((t1 & 4) !== 0) {
|
|
source = type$._Future_dynamic._as(_this._resultOrListeners);
|
|
if ((source._state & 24) === 0) {
|
|
source._addListener$1(listener);
|
|
return;
|
|
}
|
|
_this._cloneResult$1(source);
|
|
}
|
|
A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__addListener_closure(_this, listener)));
|
|
}
|
|
},
|
|
_prependListeners$1(listeners) {
|
|
var t1, existingListeners, next, cursor, next0, source, _this = this, _box_0 = {};
|
|
_box_0.listeners = listeners;
|
|
if (listeners == null)
|
|
return;
|
|
t1 = _this._state;
|
|
if (t1 <= 3) {
|
|
existingListeners = type$.nullable__FutureListener_dynamic_dynamic._as(_this._resultOrListeners);
|
|
_this._resultOrListeners = listeners;
|
|
if (existingListeners != null) {
|
|
next = listeners._nextListener;
|
|
for (cursor = listeners; next != null; cursor = next, next = next0)
|
|
next0 = next._nextListener;
|
|
cursor._nextListener = existingListeners;
|
|
}
|
|
} else {
|
|
if ((t1 & 4) !== 0) {
|
|
source = type$._Future_dynamic._as(_this._resultOrListeners);
|
|
if ((source._state & 24) === 0) {
|
|
source._prependListeners$1(listeners);
|
|
return;
|
|
}
|
|
_this._cloneResult$1(source);
|
|
}
|
|
_box_0.listeners = _this._reverseListeners$1(listeners);
|
|
A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__prependListeners_closure(_box_0, _this)));
|
|
}
|
|
},
|
|
_removeListeners$0() {
|
|
var current = type$.nullable__FutureListener_dynamic_dynamic._as(this._resultOrListeners);
|
|
this._resultOrListeners = null;
|
|
return this._reverseListeners$1(current);
|
|
},
|
|
_reverseListeners$1(listeners) {
|
|
var current, prev, next;
|
|
for (current = listeners, prev = null; current != null; prev = current, current = next) {
|
|
next = current._nextListener;
|
|
current._nextListener = prev;
|
|
}
|
|
return prev;
|
|
},
|
|
_chainForeignFuture$1(source) {
|
|
var e, s, exception, _this = this;
|
|
_this._state ^= 2;
|
|
try {
|
|
source.then$1$2$onError(new A._Future__chainForeignFuture_closure(_this), new A._Future__chainForeignFuture_closure0(_this), type$.Null);
|
|
} catch (exception) {
|
|
e = A.unwrapException(exception);
|
|
s = A.getTraceFromException(exception);
|
|
A.scheduleMicrotask(new A._Future__chainForeignFuture_closure1(_this, e, s));
|
|
}
|
|
},
|
|
_completeWithValue$1(value) {
|
|
var listeners, _this = this;
|
|
_this.$ti._precomputed1._as(value);
|
|
listeners = _this._removeListeners$0();
|
|
_this._state = 8;
|
|
_this._resultOrListeners = value;
|
|
A._Future__propagateToListeners(_this, listeners);
|
|
},
|
|
_completeError$2(error, stackTrace) {
|
|
var listeners;
|
|
type$.StackTrace._as(stackTrace);
|
|
listeners = this._removeListeners$0();
|
|
this._setErrorObject$1(A.AsyncError$(error, stackTrace));
|
|
A._Future__propagateToListeners(this, listeners);
|
|
},
|
|
_asyncComplete$1(value) {
|
|
var t1 = this.$ti;
|
|
t1._eval$1("1/")._as(value);
|
|
if (t1._eval$1("Future<1>")._is(value)) {
|
|
this._chainFuture$1(value);
|
|
return;
|
|
}
|
|
this._asyncCompleteWithValue$1(value);
|
|
},
|
|
_asyncCompleteWithValue$1(value) {
|
|
var _this = this;
|
|
_this.$ti._precomputed1._as(value);
|
|
_this._state ^= 2;
|
|
A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__asyncCompleteWithValue_closure(_this, value)));
|
|
},
|
|
_chainFuture$1(value) {
|
|
var _this = this,
|
|
t1 = _this.$ti;
|
|
t1._eval$1("Future<1>")._as(value);
|
|
if (t1._is(value)) {
|
|
if ((value._state & 16) !== 0) {
|
|
_this._state ^= 2;
|
|
A._rootScheduleMicrotask(null, null, _this._zone, type$.void_Function._as(new A._Future__chainFuture_closure(_this, value)));
|
|
} else
|
|
A._Future__chainCoreFuture(value, _this);
|
|
return;
|
|
}
|
|
_this._chainForeignFuture$1(value);
|
|
},
|
|
_asyncCompleteError$2(error, stackTrace) {
|
|
this._state ^= 2;
|
|
A._rootScheduleMicrotask(null, null, this._zone, type$.void_Function._as(new A._Future__asyncCompleteError_closure(this, error, stackTrace)));
|
|
},
|
|
$isFuture: 1
|
|
};
|
|
A._Future__addListener_closure.prototype = {
|
|
call$0() {
|
|
A._Future__propagateToListeners(this.$this, this.listener);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__prependListeners_closure.prototype = {
|
|
call$0() {
|
|
A._Future__propagateToListeners(this.$this, this._box_0.listeners);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__chainForeignFuture_closure.prototype = {
|
|
call$1(value) {
|
|
var error, stackTrace, exception,
|
|
t1 = this.$this;
|
|
t1._state ^= 2;
|
|
try {
|
|
t1._completeWithValue$1(t1.$ti._precomputed1._as(value));
|
|
} catch (exception) {
|
|
error = A.unwrapException(exception);
|
|
stackTrace = A.getTraceFromException(exception);
|
|
t1._completeError$2(error, stackTrace);
|
|
}
|
|
},
|
|
$signature: 3
|
|
};
|
|
A._Future__chainForeignFuture_closure0.prototype = {
|
|
call$2(error, stackTrace) {
|
|
this.$this._completeError$2(type$.Object._as(error), type$.StackTrace._as(stackTrace));
|
|
},
|
|
$signature: 14
|
|
};
|
|
A._Future__chainForeignFuture_closure1.prototype = {
|
|
call$0() {
|
|
this.$this._completeError$2(this.e, this.s);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__asyncCompleteWithValue_closure.prototype = {
|
|
call$0() {
|
|
this.$this._completeWithValue$1(this.value);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__chainFuture_closure.prototype = {
|
|
call$0() {
|
|
A._Future__chainCoreFuture(this.value, this.$this);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__asyncCompleteError_closure.prototype = {
|
|
call$0() {
|
|
this.$this._completeError$2(this.error, this.stackTrace);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__propagateToListeners_handleWhenCompleteCallback.prototype = {
|
|
call$0() {
|
|
var e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
|
|
try {
|
|
t1 = _this._box_0.listener;
|
|
completeResult = t1.result._zone.run$1$1(type$.dynamic_Function._as(t1.callback), type$.dynamic);
|
|
} catch (exception) {
|
|
e = A.unwrapException(exception);
|
|
s = A.getTraceFromException(exception);
|
|
t1 = _this.hasError && type$.AsyncError._as(_this._box_1.source._resultOrListeners).error === e;
|
|
t2 = _this._box_0;
|
|
if (t1)
|
|
t2.listenerValueOrError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
|
|
else
|
|
t2.listenerValueOrError = A.AsyncError$(e, s);
|
|
t2.listenerHasError = true;
|
|
return;
|
|
}
|
|
if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) {
|
|
if ((completeResult._state & 16) !== 0) {
|
|
t1 = _this._box_0;
|
|
t1.listenerValueOrError = type$.AsyncError._as(completeResult._resultOrListeners);
|
|
t1.listenerHasError = true;
|
|
}
|
|
return;
|
|
}
|
|
if (type$.Future_dynamic._is(completeResult)) {
|
|
originalSource = _this._box_1.source;
|
|
t1 = _this._box_0;
|
|
t1.listenerValueOrError = completeResult.then$1$1(new A._Future__propagateToListeners_handleWhenCompleteCallback_closure(originalSource), type$.dynamic);
|
|
t1.listenerHasError = false;
|
|
}
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__propagateToListeners_handleWhenCompleteCallback_closure.prototype = {
|
|
call$1(_) {
|
|
return this.originalSource;
|
|
},
|
|
$signature: 15
|
|
};
|
|
A._Future__propagateToListeners_handleValueCallback.prototype = {
|
|
call$0() {
|
|
var e, s, t1, t2, t3, t4, t5, exception;
|
|
try {
|
|
t1 = this._box_0;
|
|
t2 = t1.listener;
|
|
t3 = t2.$ti;
|
|
t4 = t3._precomputed1;
|
|
t5 = t4._as(this.sourceResult);
|
|
t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t3._eval$1("2/(1)")._as(t2.callback), t5, t3._eval$1("2/"), t4);
|
|
} catch (exception) {
|
|
e = A.unwrapException(exception);
|
|
s = A.getTraceFromException(exception);
|
|
t1 = this._box_0;
|
|
t1.listenerValueOrError = A.AsyncError$(e, s);
|
|
t1.listenerHasError = true;
|
|
}
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._Future__propagateToListeners_handleError.prototype = {
|
|
call$0() {
|
|
var asyncError, e, s, t1, exception, t2, _this = this;
|
|
try {
|
|
asyncError = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
|
|
t1 = _this._box_0;
|
|
if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) {
|
|
t1.listenerValueOrError = t1.listener.handleError$1(asyncError);
|
|
t1.listenerHasError = false;
|
|
}
|
|
} catch (exception) {
|
|
e = A.unwrapException(exception);
|
|
s = A.getTraceFromException(exception);
|
|
t1 = type$.AsyncError._as(_this._box_1.source._resultOrListeners);
|
|
t2 = _this._box_0;
|
|
if (t1.error === e)
|
|
t2.listenerValueOrError = t1;
|
|
else
|
|
t2.listenerValueOrError = A.AsyncError$(e, s);
|
|
t2.listenerHasError = true;
|
|
}
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._AsyncCallbackEntry.prototype = {};
|
|
A.Stream.prototype = {
|
|
get$length(_) {
|
|
var t2, t3, _this = this, t1 = {},
|
|
future = new A._Future($.Zone__current, type$._Future_int);
|
|
t1.count = 0;
|
|
t2 = _this.$ti;
|
|
t3 = t2._eval$1("~(1)?")._as(new A.Stream_length_closure(t1, _this));
|
|
type$.nullable_void_Function._as(new A.Stream_length_closure0(t1, future));
|
|
A._EventStreamSubscription$(_this._target, _this._eventType, t3, false, t2._precomputed1);
|
|
return future;
|
|
}
|
|
};
|
|
A.Stream_length_closure.prototype = {
|
|
call$1(_) {
|
|
this.$this.$ti._precomputed1._as(_);
|
|
++this._box_0.count;
|
|
},
|
|
$signature() {
|
|
return this.$this.$ti._eval$1("~(1)");
|
|
}
|
|
};
|
|
A.Stream_length_closure0.prototype = {
|
|
call$0() {
|
|
var t1 = this.future,
|
|
t2 = t1.$ti,
|
|
t3 = t2._eval$1("1/")._as(this._box_0.count),
|
|
listeners = t1._removeListeners$0();
|
|
t2._precomputed1._as(t3);
|
|
t1._state = 8;
|
|
t1._resultOrListeners = t3;
|
|
A._Future__propagateToListeners(t1, listeners);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._StreamIterator.prototype = {};
|
|
A._Zone.prototype = {$isZone: 1};
|
|
A._rootHandleError_closure.prototype = {
|
|
call$0() {
|
|
var t1 = this.error,
|
|
t2 = this.stackTrace;
|
|
A.checkNotNullable(t1, "error", type$.Object);
|
|
A.checkNotNullable(t2, "stackTrace", type$.StackTrace);
|
|
A.Error__throw(t1, t2);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._RootZone.prototype = {
|
|
runGuarded$1(f) {
|
|
var e, s, exception;
|
|
type$.void_Function._as(f);
|
|
try {
|
|
if (B.C__RootZone === $.Zone__current) {
|
|
f.call$0();
|
|
return;
|
|
}
|
|
A._rootRun(null, null, this, f, type$.void);
|
|
} catch (exception) {
|
|
e = A.unwrapException(exception);
|
|
s = A.getTraceFromException(exception);
|
|
A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s));
|
|
}
|
|
},
|
|
runUnaryGuarded$1$2(f, arg, $T) {
|
|
var e, s, exception;
|
|
$T._eval$1("~(0)")._as(f);
|
|
$T._as(arg);
|
|
try {
|
|
if (B.C__RootZone === $.Zone__current) {
|
|
f.call$1(arg);
|
|
return;
|
|
}
|
|
A._rootRunUnary(null, null, this, f, arg, type$.void, $T);
|
|
} catch (exception) {
|
|
e = A.unwrapException(exception);
|
|
s = A.getTraceFromException(exception);
|
|
A._rootHandleError(type$.Object._as(e), type$.StackTrace._as(s));
|
|
}
|
|
},
|
|
bindCallbackGuarded$1(f) {
|
|
return new A._RootZone_bindCallbackGuarded_closure(this, type$.void_Function._as(f));
|
|
},
|
|
bindUnaryCallbackGuarded$1$1(f, $T) {
|
|
return new A._RootZone_bindUnaryCallbackGuarded_closure(this, $T._eval$1("~(0)")._as(f), $T);
|
|
},
|
|
$index(_, key) {
|
|
return null;
|
|
},
|
|
run$1$1(f, $R) {
|
|
$R._eval$1("0()")._as(f);
|
|
if ($.Zone__current === B.C__RootZone)
|
|
return f.call$0();
|
|
return A._rootRun(null, null, this, f, $R);
|
|
},
|
|
runUnary$2$2(f, arg, $R, $T) {
|
|
$R._eval$1("@<0>")._bind$1($T)._eval$1("1(2)")._as(f);
|
|
$T._as(arg);
|
|
if ($.Zone__current === B.C__RootZone)
|
|
return f.call$1(arg);
|
|
return A._rootRunUnary(null, null, this, f, arg, $R, $T);
|
|
},
|
|
runBinary$3$3(f, arg1, arg2, $R, T1, T2) {
|
|
$R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
|
|
T1._as(arg1);
|
|
T2._as(arg2);
|
|
if ($.Zone__current === B.C__RootZone)
|
|
return f.call$2(arg1, arg2);
|
|
return A._rootRunBinary(null, null, this, f, arg1, arg2, $R, T1, T2);
|
|
},
|
|
registerBinaryCallback$3$1(f, $R, T1, T2) {
|
|
return $R._eval$1("@<0>")._bind$1(T1)._bind$1(T2)._eval$1("1(2,3)")._as(f);
|
|
}
|
|
};
|
|
A._RootZone_bindCallbackGuarded_closure.prototype = {
|
|
call$0() {
|
|
return this.$this.runGuarded$1(this.f);
|
|
},
|
|
$signature: 0
|
|
};
|
|
A._RootZone_bindUnaryCallbackGuarded_closure.prototype = {
|
|
call$1(arg) {
|
|
var t1 = this.T;
|
|
return this.$this.runUnaryGuarded$1$2(this.f, t1._as(arg), t1);
|
|
},
|
|
$signature() {
|
|
return this.T._eval$1("~(0)");
|
|
}
|
|
};
|
|
A._HashMap.prototype = {
|
|
get$length(_) {
|
|
return this._collection$_length;
|
|
},
|
|
get$keys(_) {
|
|
return new A._HashMapKeyIterable(this, this.$ti._eval$1("_HashMapKeyIterable<1>"));
|
|
},
|
|
containsKey$1(_, key) {
|
|
var strings, nums;
|
|
if (typeof key == "string" && key !== "__proto__") {
|
|
strings = this._collection$_strings;
|
|
return strings == null ? false : strings[key] != null;
|
|
} else if (typeof key == "number" && (key & 1073741823) === key) {
|
|
nums = this._collection$_nums;
|
|
return nums == null ? false : nums[key] != null;
|
|
} else
|
|
return this._containsKey$1(key);
|
|
},
|
|
_containsKey$1(key) {
|
|
var rest = this._collection$_rest;
|
|
if (rest == null)
|
|
return false;
|
|
return this._findBucketIndex$2(this._getBucket$2(rest, key), key) >= 0;
|
|
},
|
|
$index(_, key) {
|
|
var strings, t1, nums;
|
|
if (typeof key == "string" && key !== "__proto__") {
|
|
strings = this._collection$_strings;
|
|
t1 = strings == null ? null : A._HashMap__getTableEntry(strings, key);
|
|
return t1;
|
|
} else if (typeof key == "number" && (key & 1073741823) === key) {
|
|
nums = this._collection$_nums;
|
|
t1 = nums == null ? null : A._HashMap__getTableEntry(nums, key);
|
|
return t1;
|
|
} else
|
|
return this._get$1(0, key);
|
|
},
|
|
_get$1(_, key) {
|
|
var bucket, index,
|
|
rest = this._collection$_rest;
|
|
if (rest == null)
|
|
return null;
|
|
bucket = this._getBucket$2(rest, key);
|
|
index = this._findBucketIndex$2(bucket, key);
|
|
return index < 0 ? null : bucket[index + 1];
|
|
},
|
|
$indexSet(_, key, value) {
|
|
var rest, hash, bucket, index, _this = this,
|
|
t1 = _this.$ti;
|
|
t1._precomputed1._as(key);
|
|
t1._rest[1]._as(value);
|
|
rest = _this._collection$_rest;
|
|
if (rest == null)
|
|
rest = _this._collection$_rest = A._HashMap__newHashTable();
|
|
hash = A.objectHashCode(key) & 1073741823;
|
|
bucket = rest[hash];
|
|
if (bucket == null) {
|
|
A._HashMap__setTableEntry(rest, hash, [key, value]);
|
|
++_this._collection$_length;
|
|
_this._keys = null;
|
|
} else {
|
|
index = _this._findBucketIndex$2(bucket, key);
|
|
if (index >= 0)
|
|
bucket[index + 1] = value;
|
|
else {
|
|
bucket.push(key, value);
|
|
++_this._collection$_length;
|
|
_this._keys = null;
|
|
}
|
|
}
|
|
},
|
|
forEach$1(_, action) {
|
|
var keys, $length, t2, i, key, t3, _this = this,
|
|
t1 = _this.$ti;
|
|
t1._eval$1("~(1,2)")._as(action);
|
|
keys = _this._computeKeys$0();
|
|
for ($length = keys.length, t2 = t1._precomputed1, t1 = t1._rest[1], i = 0; i < $length; ++i) {
|
|
key = keys[i];
|
|
t2._as(key);
|
|
t3 = _this.$index(0, key);
|
|
action.call$2(key, t3 == null ? t1._as(t3) : t3);
|
|
if (keys !== _this._keys)
|
|
throw A.wrapException(A.ConcurrentModificationError$(_this));
|
|
}
|
|
},
|
|
_computeKeys$0() {
|
|
var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
|
|
result = _this._keys;
|
|
if (result != null)
|
|
return result;
|
|
result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic);
|
|
strings = _this._collection$_strings;
|
|
if (strings != null) {
|
|
names = Object.getOwnPropertyNames(strings);
|
|
entries = names.length;
|
|
for (index = 0, i = 0; i < entries; ++i) {
|
|
result[index] = names[i];
|
|
++index;
|
|
}
|
|
} else
|
|
index = 0;
|
|
nums = _this._collection$_nums;
|
|
if (nums != null) {
|
|
names = Object.getOwnPropertyNames(nums);
|
|
entries = names.length;
|
|
for (i = 0; i < entries; ++i) {
|
|
result[index] = +names[i];
|
|
++index;
|
|
}
|
|
}
|
|
rest = _this._collection$_rest;
|
|
if (rest != null) {
|
|
names = Object.getOwnPropertyNames(rest);
|
|
entries = names.length;
|
|
for (i = 0; i < entries; ++i) {
|
|
bucket = rest[names[i]];
|
|
$length = bucket.length;
|
|
for (i0 = 0; i0 < $length; i0 += 2) {
|
|
result[index] = bucket[i0];
|
|
++index;
|
|
}
|
|
}
|
|
}
|
|
return _this._keys = result;
|
|
},
|
|
_getBucket$2(table, key) {
|
|
return table[A.objectHashCode(key) & 1073741823];
|
|
}
|
|
};
|
|
A._IdentityHashMap.prototype = {
|
|
_findBucketIndex$2(bucket, key) {
|
|
var $length, i, t1;
|
|
if (bucket == null)
|
|
return -1;
|
|
$length = bucket.length;
|
|
for (i = 0; i < $length; i += 2) {
|
|
t1 = bucket[i];
|
|
if (t1 == null ? key == null : t1 === key)
|
|
return i;
|
|
}
|
|
return -1;
|
|
}
|
|
};
|
|
A._HashMapKeyIterable.prototype = {
|
|
get$length(_) {
|
|
return this._collection$_map._collection$_length;
|
|
},
|
|
get$iterator(_) {
|
|
var t1 = this._collection$_map;
|
|
return new A._HashMapKeyIterator(t1, t1._computeKeys$0(), this.$ti._eval$1("_HashMapKeyIterator<1>"));
|
|
}
|
|
};
|
|
A._HashMapKeyIterator.prototype = {
|
|
get$current(_) {
|
|
var t1 = this._collection$_current;
|
|
return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
|
|
},
|
|
moveNext$0() {
|
|
var _this = this,
|
|
keys = _this._keys,
|
|
offset = _this._offset,
|
|
t1 = _this._collection$_map;
|
|
if (keys !== t1._keys)
|
|
throw A.wrapException(A.ConcurrentModificationError$(t1));
|
|
else if (offset >= keys.length) {
|
|
_this.set$_collection$_current(null);
|
|
return false;
|
|
} else {
|
|
_this.set$_collection$_current(keys[offset]);
|
|
_this._offset = offset + 1;
|
|
return true;
|
|
}
|
|
},
|
|
set$_collection$_current(_current) {
|
|
this._collection$_current = this.$ti._eval$1("1?")._as(_current);
|
|
},
|
|
$isIterator: 1
|
|
};
|
|
A.ListBase.prototype = {
|
|
get$iterator(receiver) {
|
|
return new A.ListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("ListIterator<ListBase.E>"));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
return this.$index(receiver, index);
|
|
},
|
|
map$1$1(receiver, f, $T) {
|
|
var t1 = A.instanceType(receiver);
|
|
return new A.MappedListIterable(receiver, t1._bind$1($T)._eval$1("1(ListBase.E)")._as(f), t1._eval$1("@<ListBase.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
|
|
},
|
|
skip$1(receiver, count) {
|
|
return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListBase.E"));
|
|
},
|
|
setRange$4(receiver, start, end, iterable, skipCount) {
|
|
var $length, otherStart, otherList, i,
|
|
t1 = A.instanceType(receiver);
|
|
t1._eval$1("Iterable<ListBase.E>")._as(iterable);
|
|
A.RangeError_checkValidRange(start, end, this.get$length(receiver));
|
|
$length = end - start;
|
|
if ($length === 0)
|
|
return;
|
|
A.RangeError_checkNotNegative(skipCount, "skipCount");
|
|
if (t1._eval$1("List<ListBase.E>")._is(iterable)) {
|
|
otherStart = skipCount;
|
|
otherList = iterable;
|
|
} else {
|
|
otherList = J.skip$1$ax(iterable, skipCount).toList$1$growable(0, false);
|
|
otherStart = 0;
|
|
}
|
|
if (otherStart + $length > otherList.length)
|
|
throw A.wrapException(A.StateError$("Too few elements"));
|
|
if (otherStart < start)
|
|
for (i = $length - 1; i >= 0; --i) {
|
|
t1 = otherStart + i;
|
|
if (!(t1 < otherList.length))
|
|
return A.ioore(otherList, t1);
|
|
this.$indexSet(receiver, start + i, otherList[t1]);
|
|
}
|
|
else
|
|
for (i = 0; i < $length; ++i) {
|
|
t1 = otherStart + i;
|
|
if (!(t1 < otherList.length))
|
|
return A.ioore(otherList, t1);
|
|
this.$indexSet(receiver, start + i, otherList[t1]);
|
|
}
|
|
},
|
|
toString$0(receiver) {
|
|
return A.Iterable_iterableToFullString(receiver, "[", "]");
|
|
},
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.MapBase.prototype = {
|
|
forEach$1(receiver, action) {
|
|
var t2, key, t3,
|
|
t1 = A.instanceType(receiver);
|
|
t1._eval$1("~(MapBase.K,MapBase.V)")._as(action);
|
|
for (t2 = J.get$iterator$ax(this.get$keys(receiver)), t1 = t1._eval$1("MapBase.V"); t2.moveNext$0();) {
|
|
key = t2.get$current(t2);
|
|
t3 = this.$index(receiver, key);
|
|
action.call$2(key, t3 == null ? t1._as(t3) : t3);
|
|
}
|
|
},
|
|
get$length(receiver) {
|
|
return J.get$length$asx(this.get$keys(receiver));
|
|
},
|
|
toString$0(receiver) {
|
|
return A.MapBase_mapToString(receiver);
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.MapBase_mapToString_closure.prototype = {
|
|
call$2(k, v) {
|
|
var t2,
|
|
t1 = this._box_0;
|
|
if (!t1.first)
|
|
this.result._contents += ", ";
|
|
t1.first = false;
|
|
t1 = this.result;
|
|
t2 = t1._contents += A.S(k);
|
|
t1._contents = t2 + ": ";
|
|
t1._contents += A.S(v);
|
|
},
|
|
$signature: 16
|
|
};
|
|
A._UnmodifiableMapMixin.prototype = {};
|
|
A.MapView.prototype = {
|
|
$index(_, key) {
|
|
return this._collection$_map.$index(0, key);
|
|
},
|
|
forEach$1(_, action) {
|
|
this._collection$_map.forEach$1(0, this.$ti._eval$1("~(1,2)")._as(action));
|
|
},
|
|
get$length(_) {
|
|
return this._collection$_map._length;
|
|
},
|
|
get$keys(_) {
|
|
var t1 = this._collection$_map;
|
|
return new A.LinkedHashMapKeyIterable(t1, t1.$ti._eval$1("LinkedHashMapKeyIterable<1>"));
|
|
},
|
|
toString$0(_) {
|
|
return A.MapBase_mapToString(this._collection$_map);
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.UnmodifiableMapView.prototype = {};
|
|
A._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
|
|
A.Base64Codec.prototype = {};
|
|
A.Base64Encoder.prototype = {
|
|
convert$1(input) {
|
|
var t1;
|
|
type$.List_int._as(input);
|
|
t1 = input.length;
|
|
if (t1 === 0)
|
|
return "";
|
|
t1 = new A._Base64Encoder("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").encode$4(input, 0, t1, true);
|
|
t1.toString;
|
|
return A.String_String$fromCharCodes(t1);
|
|
}
|
|
};
|
|
A._Base64Encoder.prototype = {
|
|
encode$4(bytes, start, end, isLast) {
|
|
var t1, byteCount, fullChunks, bufferLength, output;
|
|
type$.List_int._as(bytes);
|
|
t1 = this._convert$_state;
|
|
byteCount = (t1 & 3) + (end - start);
|
|
fullChunks = B.JSInt_methods._tdivFast$1(byteCount, 3);
|
|
bufferLength = fullChunks * 4;
|
|
if (byteCount - fullChunks * 3 > 0)
|
|
bufferLength += 4;
|
|
output = new Uint8Array(bufferLength);
|
|
this._convert$_state = A._Base64Encoder_encodeChunk(this._alphabet, bytes, start, end, true, output, 0, t1);
|
|
if (bufferLength > 0)
|
|
return output;
|
|
return null;
|
|
}
|
|
};
|
|
A.Base64Decoder.prototype = {
|
|
convert$1(input) {
|
|
var decoder, t1, t2,
|
|
end = A.RangeError_checkValidRange(0, null, input.length);
|
|
if (0 === end)
|
|
return new Uint8Array(0);
|
|
decoder = new A._Base64Decoder();
|
|
t1 = decoder.decode$3(0, input, 0, end);
|
|
t1.toString;
|
|
t2 = decoder._convert$_state;
|
|
if (t2 < -1)
|
|
A.throwExpression(A.FormatException$("Missing padding character", input, end));
|
|
if (t2 > 0)
|
|
A.throwExpression(A.FormatException$("Invalid length, must be multiple of four", input, end));
|
|
decoder._convert$_state = -1;
|
|
return t1;
|
|
}
|
|
};
|
|
A._Base64Decoder.prototype = {
|
|
decode$3(_, input, start, end) {
|
|
var buffer, _this = this,
|
|
t1 = _this._convert$_state;
|
|
if (t1 < 0) {
|
|
_this._convert$_state = A._Base64Decoder__checkPadding(input, start, end, t1);
|
|
return null;
|
|
}
|
|
if (start === end)
|
|
return new Uint8Array(0);
|
|
buffer = A._Base64Decoder__allocateBuffer(input, start, end, t1);
|
|
_this._convert$_state = A._Base64Decoder_decodeChunk(input, start, end, buffer, 0, _this._convert$_state);
|
|
return buffer;
|
|
}
|
|
};
|
|
A.Codec.prototype = {};
|
|
A.Converter.prototype = {};
|
|
A.NoSuchMethodError_toString_closure.prototype = {
|
|
call$2(key, value) {
|
|
var t1, t2, t3;
|
|
type$.Symbol._as(key);
|
|
t1 = this.sb;
|
|
t2 = this._box_0;
|
|
t3 = t1._contents += t2.comma;
|
|
t3 += key.__internal$_name;
|
|
t1._contents = t3;
|
|
t1._contents = t3 + ": ";
|
|
t1._contents += A.Error_safeToString(value);
|
|
t2.comma = ", ";
|
|
},
|
|
$signature: 17
|
|
};
|
|
A.DateTime.prototype = {
|
|
$eq(_, other) {
|
|
if (other == null)
|
|
return false;
|
|
return other instanceof A.DateTime && this._value === other._value && true;
|
|
},
|
|
get$hashCode(_) {
|
|
var t1 = this._value;
|
|
return (t1 ^ B.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
|
|
},
|
|
toString$0(_) {
|
|
var _this = this,
|
|
y = A.DateTime__fourDigits(A.Primitives_getYear(_this)),
|
|
m = A.DateTime__twoDigits(A.Primitives_getMonth(_this)),
|
|
d = A.DateTime__twoDigits(A.Primitives_getDay(_this)),
|
|
h = A.DateTime__twoDigits(A.Primitives_getHours(_this)),
|
|
min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)),
|
|
sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)),
|
|
ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this));
|
|
return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + "Z";
|
|
}
|
|
};
|
|
A._Enum.prototype = {
|
|
toString$0(_) {
|
|
return this._enumToString$0();
|
|
}
|
|
};
|
|
A.Error.prototype = {
|
|
get$stackTrace() {
|
|
return A.getTraceFromException(this.$thrownJsError);
|
|
}
|
|
};
|
|
A.AssertionError.prototype = {
|
|
toString$0(_) {
|
|
var t1 = this.message;
|
|
if (t1 != null)
|
|
return "Assertion failed: " + A.Error_safeToString(t1);
|
|
return "Assertion failed";
|
|
}
|
|
};
|
|
A.TypeError.prototype = {};
|
|
A.ArgumentError.prototype = {
|
|
get$_errorName() {
|
|
return "Invalid argument" + (!this._hasValue ? "(s)" : "");
|
|
},
|
|
get$_errorExplanation() {
|
|
return "";
|
|
},
|
|
toString$0(_) {
|
|
var _this = this,
|
|
$name = _this.name,
|
|
nameString = $name == null ? "" : " (" + $name + ")",
|
|
message = _this.message,
|
|
messageString = message == null ? "" : ": " + A.S(message),
|
|
prefix = _this.get$_errorName() + nameString + messageString;
|
|
if (!_this._hasValue)
|
|
return prefix;
|
|
return prefix + _this.get$_errorExplanation() + ": " + A.Error_safeToString(_this.get$invalidValue());
|
|
},
|
|
get$invalidValue() {
|
|
return this.invalidValue;
|
|
}
|
|
};
|
|
A.RangeError.prototype = {
|
|
get$invalidValue() {
|
|
return A._asNumQ(this.invalidValue);
|
|
},
|
|
get$_errorName() {
|
|
return "RangeError";
|
|
},
|
|
get$_errorExplanation() {
|
|
var explanation,
|
|
start = this.start,
|
|
end = this.end;
|
|
if (start == null)
|
|
explanation = end != null ? ": Not less than or equal to " + A.S(end) : "";
|
|
else if (end == null)
|
|
explanation = ": Not greater than or equal to " + A.S(start);
|
|
else if (end > start)
|
|
explanation = ": Not in inclusive range " + A.S(start) + ".." + A.S(end);
|
|
else
|
|
explanation = end < start ? ": Valid value range is empty" : ": Only valid value is " + A.S(start);
|
|
return explanation;
|
|
}
|
|
};
|
|
A.IndexError.prototype = {
|
|
get$invalidValue() {
|
|
return A._asInt(this.invalidValue);
|
|
},
|
|
get$_errorName() {
|
|
return "RangeError";
|
|
},
|
|
get$_errorExplanation() {
|
|
if (A._asInt(this.invalidValue) < 0)
|
|
return ": index must not be negative";
|
|
var t1 = this.length;
|
|
if (t1 === 0)
|
|
return ": no indices are valid";
|
|
return ": index should be less than " + t1;
|
|
},
|
|
get$length(receiver) {
|
|
return this.length;
|
|
}
|
|
};
|
|
A.NoSuchMethodError.prototype = {
|
|
toString$0(_) {
|
|
var $arguments, t1, _i, t2, t3, argument, receiverText, actualParameters, _this = this, _box_0 = {},
|
|
sb = new A.StringBuffer("");
|
|
_box_0.comma = "";
|
|
$arguments = _this._core$_arguments;
|
|
for (t1 = $arguments.length, _i = 0, t2 = "", t3 = ""; _i < t1; ++_i, t3 = ", ") {
|
|
argument = $arguments[_i];
|
|
sb._contents = t2 + t3;
|
|
t2 = sb._contents += A.Error_safeToString(argument);
|
|
_box_0.comma = ", ";
|
|
}
|
|
_this._namedArguments.forEach$1(0, new A.NoSuchMethodError_toString_closure(_box_0, sb));
|
|
receiverText = A.Error_safeToString(_this._core$_receiver);
|
|
actualParameters = sb.toString$0(0);
|
|
return "NoSuchMethodError: method not found: '" + _this._core$_memberName.__internal$_name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
|
|
}
|
|
};
|
|
A.UnsupportedError.prototype = {
|
|
toString$0(_) {
|
|
return "Unsupported operation: " + this.message;
|
|
}
|
|
};
|
|
A.UnimplementedError.prototype = {
|
|
toString$0(_) {
|
|
return "UnimplementedError: " + this.message;
|
|
}
|
|
};
|
|
A.StateError.prototype = {
|
|
toString$0(_) {
|
|
return "Bad state: " + this.message;
|
|
}
|
|
};
|
|
A.ConcurrentModificationError.prototype = {
|
|
toString$0(_) {
|
|
var t1 = this.modifiedObject;
|
|
if (t1 == null)
|
|
return "Concurrent modification during iteration.";
|
|
return "Concurrent modification during iteration: " + A.Error_safeToString(t1) + ".";
|
|
}
|
|
};
|
|
A.OutOfMemoryError.prototype = {
|
|
toString$0(_) {
|
|
return "Out of Memory";
|
|
},
|
|
get$stackTrace() {
|
|
return null;
|
|
},
|
|
$isError: 1
|
|
};
|
|
A.StackOverflowError.prototype = {
|
|
toString$0(_) {
|
|
return "Stack Overflow";
|
|
},
|
|
get$stackTrace() {
|
|
return null;
|
|
},
|
|
$isError: 1
|
|
};
|
|
A._Exception.prototype = {
|
|
toString$0(_) {
|
|
return "Exception: " + this.message;
|
|
}
|
|
};
|
|
A.FormatException.prototype = {
|
|
toString$0(_) {
|
|
var lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix,
|
|
message = this.message,
|
|
report = "" !== message ? "FormatException: " + message : "FormatException",
|
|
offset = this.offset,
|
|
source = this.source,
|
|
t1 = offset < 0 || offset > source.length;
|
|
if (t1)
|
|
offset = null;
|
|
if (offset == null) {
|
|
if (source.length > 78)
|
|
source = B.JSString_methods.substring$2(source, 0, 75) + "...";
|
|
return report + "\n" + source;
|
|
}
|
|
for (lineNum = 1, lineStart = 0, previousCharWasCR = false, i = 0; i < offset; ++i) {
|
|
char = B.JSString_methods._codeUnitAt$1(source, i);
|
|
if (char === 10) {
|
|
if (lineStart !== i || !previousCharWasCR)
|
|
++lineNum;
|
|
lineStart = i + 1;
|
|
previousCharWasCR = false;
|
|
} else if (char === 13) {
|
|
++lineNum;
|
|
lineStart = i + 1;
|
|
previousCharWasCR = true;
|
|
}
|
|
}
|
|
report = lineNum > 1 ? report + (" (at line " + lineNum + ", character " + (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1) + ")\n");
|
|
lineEnd = source.length;
|
|
for (i = offset; i < lineEnd; ++i) {
|
|
char = B.JSString_methods.codeUnitAt$1(source, i);
|
|
if (char === 10 || char === 13) {
|
|
lineEnd = i;
|
|
break;
|
|
}
|
|
}
|
|
if (lineEnd - lineStart > 78)
|
|
if (offset - lineStart < 75) {
|
|
end = lineStart + 75;
|
|
start = lineStart;
|
|
prefix = "";
|
|
postfix = "...";
|
|
} else {
|
|
if (lineEnd - offset < 75) {
|
|
start = lineEnd - 75;
|
|
end = lineEnd;
|
|
postfix = "";
|
|
} else {
|
|
start = offset - 36;
|
|
end = offset + 36;
|
|
postfix = "...";
|
|
}
|
|
prefix = "...";
|
|
}
|
|
else {
|
|
end = lineEnd;
|
|
start = lineStart;
|
|
prefix = "";
|
|
postfix = "";
|
|
}
|
|
return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n";
|
|
}
|
|
};
|
|
A.Iterable.prototype = {
|
|
map$1$1(_, toElement, $T) {
|
|
var t1 = A._instanceType(this);
|
|
return A.MappedIterable_MappedIterable(this, t1._bind$1($T)._eval$1("1(Iterable.E)")._as(toElement), t1._eval$1("Iterable.E"), $T);
|
|
},
|
|
get$length(_) {
|
|
var count,
|
|
it = this.get$iterator(this);
|
|
for (count = 0; it.moveNext$0();)
|
|
++count;
|
|
return count;
|
|
},
|
|
elementAt$1(_, index) {
|
|
var iterator, skipCount;
|
|
A.RangeError_checkNotNegative(index, "index");
|
|
iterator = this.get$iterator(this);
|
|
for (skipCount = index; iterator.moveNext$0();) {
|
|
if (skipCount === 0)
|
|
return iterator.get$current(iterator);
|
|
--skipCount;
|
|
}
|
|
throw A.wrapException(A.IndexError$withLength(index, index - skipCount, this, "index"));
|
|
},
|
|
toString$0(_) {
|
|
return A.Iterable_iterableToShortString(this, "(", ")");
|
|
}
|
|
};
|
|
A.Null.prototype = {
|
|
get$hashCode(_) {
|
|
return A.Object.prototype.get$hashCode.call(this, this);
|
|
},
|
|
toString$0(_) {
|
|
return "null";
|
|
}
|
|
};
|
|
A.Object.prototype = {$isObject: 1,
|
|
$eq(_, other) {
|
|
return this === other;
|
|
},
|
|
get$hashCode(_) {
|
|
return A.Primitives_objectHashCode(this);
|
|
},
|
|
toString$0(_) {
|
|
return "Instance of '" + A.Primitives_objectTypeName(this) + "'";
|
|
},
|
|
noSuchMethod$1(_, invocation) {
|
|
throw A.wrapException(A.NoSuchMethodError_NoSuchMethodError$withInvocation(this, type$.Invocation._as(invocation)));
|
|
},
|
|
get$runtimeType(_) {
|
|
return A.getRuntimeTypeOfDartObject(this);
|
|
},
|
|
toString() {
|
|
return this.toString$0(this);
|
|
}
|
|
};
|
|
A._StringStackTrace.prototype = {
|
|
toString$0(_) {
|
|
return "";
|
|
},
|
|
$isStackTrace: 1
|
|
};
|
|
A.StringBuffer.prototype = {
|
|
get$length(_) {
|
|
return this._contents.length;
|
|
},
|
|
toString$0(_) {
|
|
var t1 = this._contents;
|
|
return t1.charCodeAt(0) == 0 ? t1 : t1;
|
|
}
|
|
};
|
|
A.HtmlElement.prototype = {};
|
|
A.AccessibleNodeList.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.AnchorElement.prototype = {
|
|
toString$0(receiver) {
|
|
var t1 = String(receiver);
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.AreaElement.prototype = {
|
|
toString$0(receiver) {
|
|
var t1 = String(receiver);
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.Blob.prototype = {$isBlob: 1};
|
|
A.CharacterData.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.CryptoKey.prototype = {$isCryptoKey: 1};
|
|
A.CssPerspective.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.CssRule.prototype = {$isCssRule: 1};
|
|
A.CssStyleDeclaration.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.CssStyleDeclarationBase.prototype = {};
|
|
A.CssStyleValue.prototype = {};
|
|
A.CssTransformComponent.prototype = {};
|
|
A.CssTransformValue.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.CssUnparsedValue.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.DataTransferItem.prototype = {
|
|
get$kind(receiver) {
|
|
return receiver.kind;
|
|
}
|
|
};
|
|
A.DataTransferItemList.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1 = receiver[A._asInt(index)];
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.DedicatedWorkerGlobalScope.prototype = {
|
|
postMessage$1(receiver, message) {
|
|
receiver.postMessage(new A._StructuredCloneDart2Js([], []).walk$1(message));
|
|
return;
|
|
},
|
|
$isDedicatedWorkerGlobalScope: 1
|
|
};
|
|
A.DomException.prototype = {
|
|
toString$0(receiver) {
|
|
var t1 = String(receiver);
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.DomRectList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Rectangle_num._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.DomRectReadOnly.prototype = {
|
|
toString$0(receiver) {
|
|
var t2,
|
|
t1 = receiver.left;
|
|
t1.toString;
|
|
t2 = receiver.top;
|
|
t2.toString;
|
|
return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(this.get$width(receiver)) + " x " + A.S(this.get$height(receiver));
|
|
},
|
|
$eq(receiver, other) {
|
|
var t1, t2;
|
|
if (other == null)
|
|
return false;
|
|
if (type$.Rectangle_num._is(other)) {
|
|
t1 = receiver.left;
|
|
t1.toString;
|
|
t2 = other.left;
|
|
t2.toString;
|
|
if (t1 === t2) {
|
|
t1 = receiver.top;
|
|
t1.toString;
|
|
t2 = other.top;
|
|
t2.toString;
|
|
if (t1 === t2) {
|
|
t1 = J.getInterceptor$x(other);
|
|
t1 = this.get$width(receiver) === t1.get$width(other) && this.get$height(receiver) === t1.get$height(other);
|
|
} else
|
|
t1 = false;
|
|
} else
|
|
t1 = false;
|
|
} else
|
|
t1 = false;
|
|
return t1;
|
|
},
|
|
get$hashCode(receiver) {
|
|
var t2,
|
|
t1 = receiver.left;
|
|
t1.toString;
|
|
t2 = receiver.top;
|
|
t2.toString;
|
|
return A.Object_hash(t1, t2, this.get$width(receiver), this.get$height(receiver));
|
|
},
|
|
get$_height(receiver) {
|
|
return receiver.height;
|
|
},
|
|
get$height(receiver) {
|
|
var t1 = this.get$_height(receiver);
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
get$_width(receiver) {
|
|
return receiver.width;
|
|
},
|
|
get$width(receiver) {
|
|
var t1 = this.get$_width(receiver);
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$isRectangle: 1
|
|
};
|
|
A.DomStringList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
A._asString(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.DomTokenList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.Element.prototype = {
|
|
toString$0(receiver) {
|
|
var t1 = receiver.localName;
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.Event.prototype = {$isEvent: 1};
|
|
A.EventTarget.prototype = {
|
|
addEventListener$3(receiver, type, listener, useCapture) {
|
|
type$.nullable_dynamic_Function_Event._as(listener);
|
|
if (listener != null)
|
|
this._addEventListener$3(receiver, type, listener, false);
|
|
},
|
|
_addEventListener$3(receiver, type, listener, options) {
|
|
return receiver.addEventListener(type, A.convertDartClosureToJS(type$.nullable_dynamic_Function_Event._as(listener), 1), false);
|
|
},
|
|
$isEventTarget: 1
|
|
};
|
|
A.File.prototype = {$isFile: 1};
|
|
A.FileList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.File._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1,
|
|
$isFileList: 1
|
|
};
|
|
A.FileWriter.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.FormElement.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.Gamepad.prototype = {$isGamepad: 1};
|
|
A.History.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.HtmlCollection.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Node._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.ImageData.prototype = {$isImageData: 1};
|
|
A.Location.prototype = {
|
|
toString$0(receiver) {
|
|
var t1 = String(receiver);
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.MediaDeviceInfo.prototype = {
|
|
get$kind(receiver) {
|
|
return receiver.kind;
|
|
}
|
|
};
|
|
A.MediaList.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.MediaStreamTrack.prototype = {
|
|
get$kind(receiver) {
|
|
return receiver.kind;
|
|
}
|
|
};
|
|
A.MessageEvent.prototype = {$isMessageEvent: 1};
|
|
A.MessagePort.prototype = {$isMessagePort: 1};
|
|
A.MidiInputMap.prototype = {
|
|
$index(receiver, key) {
|
|
return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
|
|
},
|
|
forEach$1(receiver, f) {
|
|
var entries, entry, t1;
|
|
type$.void_Function_String_dynamic._as(f);
|
|
entries = receiver.entries();
|
|
for (; true;) {
|
|
entry = entries.next();
|
|
t1 = entry.done;
|
|
t1.toString;
|
|
if (t1)
|
|
return;
|
|
t1 = entry.value[0];
|
|
t1.toString;
|
|
f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
|
|
}
|
|
},
|
|
get$keys(receiver) {
|
|
var keys = A._setArrayType([], type$.JSArray_String);
|
|
this.forEach$1(receiver, new A.MidiInputMap_keys_closure(keys));
|
|
return keys;
|
|
},
|
|
get$length(receiver) {
|
|
var t1 = receiver.size;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.MidiInputMap_keys_closure.prototype = {
|
|
call$2(k, v) {
|
|
return B.JSArray_methods.add$1(this.keys, k);
|
|
},
|
|
$signature: 2
|
|
};
|
|
A.MidiOutputMap.prototype = {
|
|
$index(receiver, key) {
|
|
return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
|
|
},
|
|
forEach$1(receiver, f) {
|
|
var entries, entry, t1;
|
|
type$.void_Function_String_dynamic._as(f);
|
|
entries = receiver.entries();
|
|
for (; true;) {
|
|
entry = entries.next();
|
|
t1 = entry.done;
|
|
t1.toString;
|
|
if (t1)
|
|
return;
|
|
t1 = entry.value[0];
|
|
t1.toString;
|
|
f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
|
|
}
|
|
},
|
|
get$keys(receiver) {
|
|
var keys = A._setArrayType([], type$.JSArray_String);
|
|
this.forEach$1(receiver, new A.MidiOutputMap_keys_closure(keys));
|
|
return keys;
|
|
},
|
|
get$length(receiver) {
|
|
var t1 = receiver.size;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.MidiOutputMap_keys_closure.prototype = {
|
|
call$2(k, v) {
|
|
return B.JSArray_methods.add$1(this.keys, k);
|
|
},
|
|
$signature: 2
|
|
};
|
|
A.MimeType.prototype = {$isMimeType: 1};
|
|
A.MimeTypeArray.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.MimeType._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.Node.prototype = {
|
|
toString$0(receiver) {
|
|
var value = receiver.nodeValue;
|
|
return value == null ? this.super$Interceptor$toString(receiver) : value;
|
|
},
|
|
$isNode: 1
|
|
};
|
|
A.NodeList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Node._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.Plugin.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
$isPlugin: 1
|
|
};
|
|
A.PluginArray.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Plugin._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.RtcStatsReport.prototype = {
|
|
$index(receiver, key) {
|
|
return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
|
|
},
|
|
forEach$1(receiver, f) {
|
|
var entries, entry, t1;
|
|
type$.void_Function_String_dynamic._as(f);
|
|
entries = receiver.entries();
|
|
for (; true;) {
|
|
entry = entries.next();
|
|
t1 = entry.done;
|
|
t1.toString;
|
|
if (t1)
|
|
return;
|
|
t1 = entry.value[0];
|
|
t1.toString;
|
|
f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
|
|
}
|
|
},
|
|
get$keys(receiver) {
|
|
var keys = A._setArrayType([], type$.JSArray_String);
|
|
this.forEach$1(receiver, new A.RtcStatsReport_keys_closure(keys));
|
|
return keys;
|
|
},
|
|
get$length(receiver) {
|
|
var t1 = receiver.size;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.RtcStatsReport_keys_closure.prototype = {
|
|
call$2(k, v) {
|
|
return B.JSArray_methods.add$1(this.keys, k);
|
|
},
|
|
$signature: 2
|
|
};
|
|
A.SelectElement.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.SharedArrayBuffer.prototype = {$isSharedArrayBuffer: 1};
|
|
A.SourceBuffer.prototype = {$isSourceBuffer: 1};
|
|
A.SourceBufferList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.SourceBuffer._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.SpeechGrammar.prototype = {$isSpeechGrammar: 1};
|
|
A.SpeechGrammarList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.SpeechGrammar._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.SpeechRecognitionResult.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
},
|
|
$isSpeechRecognitionResult: 1
|
|
};
|
|
A.Storage.prototype = {
|
|
$index(receiver, key) {
|
|
return receiver.getItem(A._asString(key));
|
|
},
|
|
forEach$1(receiver, f) {
|
|
var i, key, t1;
|
|
type$.void_Function_String_String._as(f);
|
|
for (i = 0; true; ++i) {
|
|
key = receiver.key(i);
|
|
if (key == null)
|
|
return;
|
|
t1 = receiver.getItem(key);
|
|
t1.toString;
|
|
f.call$2(key, t1);
|
|
}
|
|
},
|
|
get$keys(receiver) {
|
|
var keys = A._setArrayType([], type$.JSArray_String);
|
|
this.forEach$1(receiver, new A.Storage_keys_closure(keys));
|
|
return keys;
|
|
},
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.Storage_keys_closure.prototype = {
|
|
call$2(k, v) {
|
|
return B.JSArray_methods.add$1(this.keys, k);
|
|
},
|
|
$signature: 18
|
|
};
|
|
A.StyleSheet.prototype = {$isStyleSheet: 1};
|
|
A.TextTrack.prototype = {
|
|
get$kind(receiver) {
|
|
var t1 = receiver.kind;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$isTextTrack: 1
|
|
};
|
|
A.TextTrackCue.prototype = {$isTextTrackCue: 1};
|
|
A.TextTrackCueList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.TextTrackCue._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.TextTrackList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.TextTrack._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.TimeRanges.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.Touch.prototype = {$isTouch: 1};
|
|
A.TouchList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Touch._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.TrackDefaultList.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.TrackElement.prototype = {
|
|
get$kind(receiver) {
|
|
return receiver.kind;
|
|
}
|
|
};
|
|
A.Url.prototype = {
|
|
toString$0(receiver) {
|
|
var t1 = String(receiver);
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A.VideoTrack.prototype = {
|
|
get$kind(receiver) {
|
|
return receiver.kind;
|
|
}
|
|
};
|
|
A.VideoTrackList.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.WorkerGlobalScope.prototype = {};
|
|
A._CssRuleList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.CssRule._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A._DomRect.prototype = {
|
|
toString$0(receiver) {
|
|
var t2, t3, t4,
|
|
t1 = receiver.left;
|
|
t1.toString;
|
|
t2 = receiver.top;
|
|
t2.toString;
|
|
t3 = receiver.width;
|
|
t3.toString;
|
|
t4 = receiver.height;
|
|
t4.toString;
|
|
return "Rectangle (" + A.S(t1) + ", " + A.S(t2) + ") " + A.S(t3) + " x " + A.S(t4);
|
|
},
|
|
$eq(receiver, other) {
|
|
var t1, t2;
|
|
if (other == null)
|
|
return false;
|
|
if (type$.Rectangle_num._is(other)) {
|
|
t1 = receiver.left;
|
|
t1.toString;
|
|
t2 = other.left;
|
|
t2.toString;
|
|
if (t1 === t2) {
|
|
t1 = receiver.top;
|
|
t1.toString;
|
|
t2 = other.top;
|
|
t2.toString;
|
|
if (t1 === t2) {
|
|
t1 = receiver.width;
|
|
t1.toString;
|
|
t2 = J.getInterceptor$x(other);
|
|
if (t1 === t2.get$width(other)) {
|
|
t1 = receiver.height;
|
|
t1.toString;
|
|
t2 = t1 === t2.get$height(other);
|
|
t1 = t2;
|
|
} else
|
|
t1 = false;
|
|
} else
|
|
t1 = false;
|
|
} else
|
|
t1 = false;
|
|
} else
|
|
t1 = false;
|
|
return t1;
|
|
},
|
|
get$hashCode(receiver) {
|
|
var t2, t3, t4,
|
|
t1 = receiver.left;
|
|
t1.toString;
|
|
t2 = receiver.top;
|
|
t2.toString;
|
|
t3 = receiver.width;
|
|
t3.toString;
|
|
t4 = receiver.height;
|
|
t4.toString;
|
|
return A.Object_hash(t1, t2, t3, t4);
|
|
},
|
|
get$_height(receiver) {
|
|
return receiver.height;
|
|
},
|
|
get$height(receiver) {
|
|
var t1 = receiver.height;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
get$_width(receiver) {
|
|
return receiver.width;
|
|
},
|
|
get$width(receiver) {
|
|
var t1 = receiver.width;
|
|
t1.toString;
|
|
return t1;
|
|
}
|
|
};
|
|
A._GamepadList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
return receiver[index];
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.nullable_Gamepad._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A._NamedNodeMap.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Node._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A._SpeechRecognitionResultList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.SpeechRecognitionResult._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A._StyleSheetList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1, t2;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t2 = index >>> 0 !== index || index >= t1;
|
|
t2.toString;
|
|
if (t2)
|
|
throw A.wrapException(A.IndexError$withLength(index, t1, receiver, null));
|
|
t1 = receiver[index];
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.StyleSheet._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
if (!(index >= 0 && index < receiver.length))
|
|
return A.ioore(receiver, index);
|
|
return receiver[index];
|
|
},
|
|
$isJSIndexable: 1,
|
|
$isEfficientLengthIterable: 1,
|
|
$isJavaScriptIndexingBehavior: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.EventStreamProvider.prototype = {};
|
|
A._EventStream.prototype = {};
|
|
A._EventStreamSubscription.prototype = {$isStreamSubscription: 1};
|
|
A._EventStreamSubscription_closure.prototype = {
|
|
call$1(e) {
|
|
return this.onData.call$1(type$.Event._as(e));
|
|
},
|
|
$signature: 19
|
|
};
|
|
A.ImmutableListMixin.prototype = {
|
|
get$iterator(receiver) {
|
|
return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
|
|
}
|
|
};
|
|
A.FixedSizeListIterator.prototype = {
|
|
moveNext$0() {
|
|
var _this = this,
|
|
nextPosition = _this._position + 1,
|
|
t1 = _this._html$_length;
|
|
if (nextPosition < t1) {
|
|
_this.set$_html$_current(J.$index$asx(_this._array, nextPosition));
|
|
_this._position = nextPosition;
|
|
return true;
|
|
}
|
|
_this.set$_html$_current(null);
|
|
_this._position = t1;
|
|
return false;
|
|
},
|
|
get$current(_) {
|
|
var t1 = this._html$_current;
|
|
return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
|
|
},
|
|
set$_html$_current(_current) {
|
|
this._html$_current = this.$ti._eval$1("1?")._as(_current);
|
|
},
|
|
$isIterator: 1
|
|
};
|
|
A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase.prototype = {};
|
|
A._DomRectList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._DomStringList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._FileList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._HtmlCollection_JavaScriptObject_ListMixin.prototype = {};
|
|
A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._MidiInputMap_JavaScriptObject_MapMixin.prototype = {};
|
|
A._MidiOutputMap_JavaScriptObject_MapMixin.prototype = {};
|
|
A._MimeTypeArray_JavaScriptObject_ListMixin.prototype = {};
|
|
A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._NodeList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._PluginArray_JavaScriptObject_ListMixin.prototype = {};
|
|
A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._RtcStatsReport_JavaScriptObject_MapMixin.prototype = {};
|
|
A._SourceBufferList_EventTarget_ListMixin.prototype = {};
|
|
A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._SpeechGrammarList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._Storage_JavaScriptObject_MapMixin.prototype = {};
|
|
A._TextTrackCueList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._TextTrackList_EventTarget_ListMixin.prototype = {};
|
|
A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._TouchList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A.__CssRuleList_JavaScriptObject_ListMixin.prototype = {};
|
|
A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A.__GamepadList_JavaScriptObject_ListMixin.prototype = {};
|
|
A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A.__NamedNodeMap_JavaScriptObject_ListMixin.prototype = {};
|
|
A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin.prototype = {};
|
|
A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A.__StyleSheetList_JavaScriptObject_ListMixin.prototype = {};
|
|
A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._StructuredClone.prototype = {
|
|
findSlot$1(value) {
|
|
var i,
|
|
t1 = this.values,
|
|
$length = t1.length;
|
|
for (i = 0; i < $length; ++i)
|
|
if (t1[i] === value)
|
|
return i;
|
|
B.JSArray_methods.add$1(t1, value);
|
|
B.JSArray_methods.add$1(this.copies, null);
|
|
return $length;
|
|
},
|
|
walk$1(e) {
|
|
var slot, t2, copy, t3, _this = this, t1 = {};
|
|
if (e == null)
|
|
return e;
|
|
if (A._isBool(e))
|
|
return e;
|
|
if (typeof e == "number")
|
|
return e;
|
|
if (typeof e == "string")
|
|
return e;
|
|
if (e instanceof A.DateTime)
|
|
return new Date(e._value);
|
|
if (type$.File._is(e))
|
|
return e;
|
|
if (type$.Blob._is(e))
|
|
return e;
|
|
if (type$.FileList._is(e))
|
|
return e;
|
|
if (type$.ImageData._is(e))
|
|
return e;
|
|
if (type$.NativeByteBuffer._is(e) || type$.NativeTypedData._is(e) || type$.MessagePort._is(e) || type$.SharedArrayBuffer._is(e))
|
|
return e;
|
|
if (type$.Map_dynamic_dynamic._is(e)) {
|
|
slot = _this.findSlot$1(e);
|
|
t2 = _this.copies;
|
|
if (!(slot < t2.length))
|
|
return A.ioore(t2, slot);
|
|
copy = t1.copy = t2[slot];
|
|
if (copy != null)
|
|
return copy;
|
|
copy = {};
|
|
t1.copy = copy;
|
|
B.JSArray_methods.$indexSet(t2, slot, copy);
|
|
J.forEach$1$x(e, new A._StructuredClone_walk_closure(t1, _this));
|
|
return t1.copy;
|
|
}
|
|
if (type$.List_dynamic._is(e)) {
|
|
slot = _this.findSlot$1(e);
|
|
t1 = _this.copies;
|
|
if (!(slot < t1.length))
|
|
return A.ioore(t1, slot);
|
|
copy = t1[slot];
|
|
if (copy != null)
|
|
return copy;
|
|
return _this.copyList$2(e, slot);
|
|
}
|
|
if (type$.JSObject._is(e)) {
|
|
slot = _this.findSlot$1(e);
|
|
t2 = _this.copies;
|
|
if (!(slot < t2.length))
|
|
return A.ioore(t2, slot);
|
|
copy = t1.copy = t2[slot];
|
|
if (copy != null)
|
|
return copy;
|
|
t3 = {};
|
|
t3.toString;
|
|
t1.copy = t3;
|
|
B.JSArray_methods.$indexSet(t2, slot, t3);
|
|
_this.forEachObjectKey$2(e, new A._StructuredClone_walk_closure0(t1, _this));
|
|
return t1.copy;
|
|
}
|
|
throw A.wrapException(A.UnimplementedError$("structured clone of other type"));
|
|
},
|
|
copyList$2(e, slot) {
|
|
var i,
|
|
t1 = J.getInterceptor$asx(e),
|
|
$length = t1.get$length(e),
|
|
t2 = new Array($length);
|
|
t2.toString;
|
|
B.JSArray_methods.$indexSet(this.copies, slot, t2);
|
|
for (i = 0; i < $length; ++i)
|
|
B.JSArray_methods.$indexSet(t2, i, this.walk$1(t1.$index(e, i)));
|
|
return t2;
|
|
}
|
|
};
|
|
A._StructuredClone_walk_closure.prototype = {
|
|
call$2(key, value) {
|
|
this._box_0.copy[key] = this.$this.walk$1(value);
|
|
},
|
|
$signature: 20
|
|
};
|
|
A._StructuredClone_walk_closure0.prototype = {
|
|
call$2(key, value) {
|
|
this._box_0.copy[key] = this.$this.walk$1(value);
|
|
},
|
|
$signature: 21
|
|
};
|
|
A._AcceptStructuredClone.prototype = {
|
|
findSlot$1(value) {
|
|
var i,
|
|
t1 = this.values,
|
|
$length = t1.length;
|
|
for (i = 0; i < $length; ++i)
|
|
if (t1[i] === value)
|
|
return i;
|
|
B.JSArray_methods.add$1(t1, value);
|
|
B.JSArray_methods.add$1(this.copies, null);
|
|
return $length;
|
|
},
|
|
walk$1(e) {
|
|
var t1, t2, slot, copy, map, t3, $length, t4, i, _this = this;
|
|
if (e == null)
|
|
return e;
|
|
if (A._isBool(e))
|
|
return e;
|
|
if (typeof e == "number")
|
|
return e;
|
|
if (typeof e == "string")
|
|
return e;
|
|
t1 = e instanceof Date;
|
|
t1.toString;
|
|
if (t1) {
|
|
t1 = e.getTime();
|
|
t1.toString;
|
|
if (Math.abs(t1) <= 864e13)
|
|
t2 = false;
|
|
else
|
|
t2 = true;
|
|
if (t2)
|
|
A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + t1, null));
|
|
A.checkNotNullable(true, "isUtc", type$.bool);
|
|
return new A.DateTime(t1, true);
|
|
}
|
|
t1 = e instanceof RegExp;
|
|
t1.toString;
|
|
if (t1)
|
|
throw A.wrapException(A.UnimplementedError$("structured clone of RegExp"));
|
|
t1 = typeof Promise != "undefined" && e instanceof Promise;
|
|
t1.toString;
|
|
if (t1)
|
|
return A.promiseToFuture(e, type$.dynamic);
|
|
if (A.isJavaScriptSimpleObject(e)) {
|
|
slot = _this.findSlot$1(e);
|
|
t1 = _this.copies;
|
|
if (!(slot < t1.length))
|
|
return A.ioore(t1, slot);
|
|
copy = t1[slot];
|
|
if (copy != null)
|
|
return copy;
|
|
t2 = type$.dynamic;
|
|
map = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
|
|
B.JSArray_methods.$indexSet(t1, slot, map);
|
|
_this.forEachJsField$2(e, new A._AcceptStructuredClone_walk_closure(_this, map));
|
|
return map;
|
|
}
|
|
t1 = e instanceof Array;
|
|
t1.toString;
|
|
if (t1) {
|
|
t1 = e;
|
|
t1.toString;
|
|
slot = _this.findSlot$1(t1);
|
|
t2 = _this.copies;
|
|
if (!(slot < t2.length))
|
|
return A.ioore(t2, slot);
|
|
copy = t2[slot];
|
|
if (copy != null)
|
|
return copy;
|
|
t3 = J.getInterceptor$asx(t1);
|
|
$length = t3.get$length(t1);
|
|
if (_this.mustCopy) {
|
|
t4 = new Array($length);
|
|
t4.toString;
|
|
copy = t4;
|
|
} else
|
|
copy = t1;
|
|
B.JSArray_methods.$indexSet(t2, slot, copy);
|
|
for (t2 = J.getInterceptor$ax(copy), i = 0; i < $length; ++i)
|
|
t2.$indexSet(copy, i, _this.walk$1(t3.$index(t1, i)));
|
|
return copy;
|
|
}
|
|
return e;
|
|
}
|
|
};
|
|
A._AcceptStructuredClone_walk_closure.prototype = {
|
|
call$2(key, value) {
|
|
var t1 = this.$this.walk$1(value);
|
|
this.map.$indexSet(0, key, t1);
|
|
return t1;
|
|
},
|
|
$signature: 22
|
|
};
|
|
A._StructuredCloneDart2Js.prototype = {
|
|
forEachObjectKey$2(object, action) {
|
|
var t1, t2, _i, key;
|
|
type$.dynamic_Function_dynamic_dynamic._as(action);
|
|
for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
|
|
key = t1[_i];
|
|
action.call$2(key, object[key]);
|
|
}
|
|
}
|
|
};
|
|
A._AcceptStructuredCloneDart2Js.prototype = {
|
|
forEachJsField$2(object, action) {
|
|
var t1, t2, _i, key;
|
|
type$.dynamic_Function_dynamic_dynamic._as(action);
|
|
for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
|
|
key = t1[_i];
|
|
action.call$2(key, object[key]);
|
|
}
|
|
}
|
|
};
|
|
A.jsify__convert.prototype = {
|
|
call$1(o) {
|
|
var t1, convertedMap, t2, key, convertedList;
|
|
if (A._noJsifyRequired(o))
|
|
return o;
|
|
t1 = this._convertedObjects;
|
|
if (t1.containsKey$1(0, o))
|
|
return t1.$index(0, o);
|
|
if (type$.Map_of_nullable_Object_and_nullable_Object._is(o)) {
|
|
convertedMap = {};
|
|
t1.$indexSet(0, o, convertedMap);
|
|
for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) {
|
|
key = t2.get$current(t2);
|
|
convertedMap[key] = this.call$1(t1.$index(o, key));
|
|
}
|
|
return convertedMap;
|
|
} else if (type$.Iterable_nullable_Object._is(o)) {
|
|
convertedList = [];
|
|
t1.$indexSet(0, o, convertedList);
|
|
B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic));
|
|
return convertedList;
|
|
} else
|
|
return o;
|
|
},
|
|
$signature: 23
|
|
};
|
|
A.promiseToFuture_closure.prototype = {
|
|
call$1(r) {
|
|
return this.completer.complete$1(0, this.T._eval$1("0/?")._as(r));
|
|
},
|
|
$signature: 4
|
|
};
|
|
A.promiseToFuture_closure0.prototype = {
|
|
call$1(e) {
|
|
if (e == null)
|
|
return this.completer.completeError$1(new A.NullRejectionException(e === undefined));
|
|
return this.completer.completeError$1(e);
|
|
},
|
|
$signature: 4
|
|
};
|
|
A.NullRejectionException.prototype = {
|
|
toString$0(_) {
|
|
return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`.";
|
|
}
|
|
};
|
|
A._JSSecureRandom.prototype = {
|
|
_JSSecureRandom$0() {
|
|
var $crypto = self.crypto;
|
|
if ($crypto != null)
|
|
if ($crypto.getRandomValues != null)
|
|
return;
|
|
throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available."));
|
|
},
|
|
nextInt$1(max) {
|
|
var byteCount, t1, start, randomLimit, t2, t3, t4, random, result, _null = null;
|
|
if (max <= 0 || max > 4294967296)
|
|
throw A.wrapException(new A.RangeError(_null, _null, false, _null, _null, "max must be in range 0 < max \u2264 2^32, was " + max));
|
|
if (max > 255)
|
|
if (max > 65535)
|
|
byteCount = max > 16777215 ? 4 : 3;
|
|
else
|
|
byteCount = 2;
|
|
else
|
|
byteCount = 1;
|
|
t1 = this._math$_buffer;
|
|
B.NativeByteData_methods._setUint32$3(t1, 0, 0, false);
|
|
start = 4 - byteCount;
|
|
randomLimit = A._asInt(Math.pow(256, byteCount));
|
|
for (t2 = max - 1, t3 = (max & t2) === 0; true;) {
|
|
t4 = t1.buffer;
|
|
t4 = new Uint8Array(t4, start, byteCount);
|
|
crypto.getRandomValues(t4);
|
|
random = B.NativeByteData_methods._getUint32$2(t1, 0, false);
|
|
if (t3)
|
|
return (random & t2) >>> 0;
|
|
result = random % max;
|
|
if (random - result + max < randomLimit)
|
|
return result;
|
|
}
|
|
}
|
|
};
|
|
A.Length.prototype = {$isLength: 1};
|
|
A.LengthList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t1.toString;
|
|
t1 = index >>> 0 !== index || index >= t1;
|
|
t1.toString;
|
|
if (t1)
|
|
throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
|
|
t1 = receiver.getItem(index);
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Length._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
return this.$index(receiver, index);
|
|
},
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.Number.prototype = {$isNumber: 1};
|
|
A.NumberList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t1.toString;
|
|
t1 = index >>> 0 !== index || index >= t1;
|
|
t1.toString;
|
|
if (t1)
|
|
throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
|
|
t1 = receiver.getItem(index);
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Number._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
return this.$index(receiver, index);
|
|
},
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.PointList.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.StringList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t1.toString;
|
|
t1 = index >>> 0 !== index || index >= t1;
|
|
t1.toString;
|
|
if (t1)
|
|
throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
|
|
t1 = receiver.getItem(index);
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
A._asString(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
return this.$index(receiver, index);
|
|
},
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A.Transform.prototype = {$isTransform: 1};
|
|
A.TransformList.prototype = {
|
|
get$length(receiver) {
|
|
var t1 = receiver.length;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$index(receiver, index) {
|
|
var t1;
|
|
A._asInt(index);
|
|
t1 = receiver.length;
|
|
t1.toString;
|
|
t1 = index >>> 0 !== index || index >= t1;
|
|
t1.toString;
|
|
if (t1)
|
|
throw A.wrapException(A.IndexError$withLength(index, this.get$length(receiver), receiver, null));
|
|
t1 = receiver.getItem(index);
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$indexSet(receiver, index, value) {
|
|
type$.Transform._as(value);
|
|
throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
|
|
},
|
|
elementAt$1(receiver, index) {
|
|
return this.$index(receiver, index);
|
|
},
|
|
$isEfficientLengthIterable: 1,
|
|
$isIterable: 1,
|
|
$isList: 1
|
|
};
|
|
A._LengthList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._NumberList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._StringList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A._TransformList_JavaScriptObject_ListMixin.prototype = {};
|
|
A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin.prototype = {};
|
|
A.AudioBuffer.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.AudioParamMap.prototype = {
|
|
$index(receiver, key) {
|
|
return A.convertNativeToDart_Dictionary(receiver.get(A._asString(key)));
|
|
},
|
|
forEach$1(receiver, f) {
|
|
var entries, entry, t1;
|
|
type$.void_Function_String_dynamic._as(f);
|
|
entries = receiver.entries();
|
|
for (; true;) {
|
|
entry = entries.next();
|
|
t1 = entry.done;
|
|
t1.toString;
|
|
if (t1)
|
|
return;
|
|
t1 = entry.value[0];
|
|
t1.toString;
|
|
f.call$2(t1, A.convertNativeToDart_Dictionary(entry.value[1]));
|
|
}
|
|
},
|
|
get$keys(receiver) {
|
|
var keys = A._setArrayType([], type$.JSArray_String);
|
|
this.forEach$1(receiver, new A.AudioParamMap_keys_closure(keys));
|
|
return keys;
|
|
},
|
|
get$length(receiver) {
|
|
var t1 = receiver.size;
|
|
t1.toString;
|
|
return t1;
|
|
},
|
|
$isMap: 1
|
|
};
|
|
A.AudioParamMap_keys_closure.prototype = {
|
|
call$2(k, v) {
|
|
return B.JSArray_methods.add$1(this.keys, k);
|
|
},
|
|
$signature: 2
|
|
};
|
|
A.AudioTrack.prototype = {
|
|
get$kind(receiver) {
|
|
return receiver.kind;
|
|
}
|
|
};
|
|
A.AudioTrackList.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A.BaseAudioContext.prototype = {};
|
|
A.OfflineAudioContext.prototype = {
|
|
get$length(receiver) {
|
|
return receiver.length;
|
|
}
|
|
};
|
|
A._AudioParamMap_JavaScriptObject_MapMixin.prototype = {};
|
|
A.WritableStream.prototype = {};
|
|
A.ReadableStream.prototype = {};
|
|
A.TransformStream.prototype = {};
|
|
A.TransformStreamDefaultController.prototype = {};
|
|
A.EncodedStreams.prototype = {};
|
|
A.RTCEncodedFrame.prototype = {};
|
|
A.RTCEncodedAudioFrame.prototype = {};
|
|
A.RTCEncodedVideoFrame.prototype = {};
|
|
A.RTCEncodedFrameMetadata.prototype = {};
|
|
A.RTCEncodedAudioFrameMetadata.prototype = {};
|
|
A.RTCEncodedVideoFrameMetadata.prototype = {};
|
|
A.RTCTransformEvent.prototype = {};
|
|
A.RTCRtpScriptTransform.prototype = {};
|
|
A.Promise.prototype = {};
|
|
A.Algorithm.prototype = {};
|
|
A.AesGcmParams.prototype = {};
|
|
A.KeyOptions.prototype = {
|
|
toString$0(_) {
|
|
return "KeyOptions{sharedKey: " + this.sharedKey + ", ratchetWindowSize: " + this.ratchetWindowSize + "}";
|
|
}
|
|
};
|
|
A.CryptorError.prototype = {
|
|
_enumToString$0() {
|
|
return "CryptorError." + this._name;
|
|
}
|
|
};
|
|
A.KeySet.prototype = {};
|
|
A.FrameCryptor.prototype = {
|
|
get$kind(_) {
|
|
var t1 = this.__FrameCryptor_kind_A;
|
|
t1 === $ && A.throwLateFieldNI("kind");
|
|
return t1;
|
|
},
|
|
ratchetKey$1(keyIndex) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.void),
|
|
$async$returnValue, $async$self = this, t1, currentMaterial;
|
|
var $async$ratchetKey$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
if ($async$self._ratchetCompleter == null) {
|
|
$async$self._ratchetCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
|
|
t1 = $async$self.getKeySet$1(keyIndex);
|
|
currentMaterial = t1 == null ? null : t1.material;
|
|
if (currentMaterial == null) {
|
|
$async$self._ratchetCompleter.complete$0(0);
|
|
$async$self._ratchetCompleter = null;
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
$async$self.ratchetMaterial$1(currentMaterial).then$1$1(new A.FrameCryptor_ratchetKey_closure($async$self, keyIndex), type$.Null);
|
|
}
|
|
$async$returnValue = $async$self._ratchetCompleter.future;
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
case 1:
|
|
// return
|
|
return A._asyncReturn($async$returnValue, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$ratchetKey$1, $async$completer);
|
|
},
|
|
ratchetMaterial$1(currentMaterial) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.CryptoKey),
|
|
$async$returnValue, $async$self = this, $async$temp1, $async$temp2, $async$temp3, $async$temp4;
|
|
var $async$ratchetMaterial$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
$async$temp1 = type$.FutureOr_CryptoKey;
|
|
$async$temp2 = A;
|
|
$async$temp3 = self.crypto.subtle;
|
|
$async$temp4 = A;
|
|
$async$goto = 4;
|
|
return A._asyncAwait($async$self.ratchet$2(currentMaterial, $async$self.keyOptions.ratchetSalt), $async$ratchetMaterial$1);
|
|
case 4:
|
|
// returning from await.
|
|
$async$goto = 3;
|
|
return A._asyncAwait($async$temp2.promiseToFuture($async$temp3.importKey("raw", $async$temp4.jsArrayBufferFrom($async$result), J.get$name$x(type$.Algorithm._as(currentMaterial.algorithm)), false, A._setArrayType(["deriveBits", "deriveKey"], type$.JSArray_String)), type$.dynamic), $async$ratchetMaterial$1);
|
|
case 3:
|
|
// returning from await.
|
|
$async$returnValue = $async$temp1._as($async$result);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
case 1:
|
|
// return
|
|
return A._asyncReturn($async$returnValue, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$ratchetMaterial$1, $async$completer);
|
|
},
|
|
getKeySet$1(keyIndex) {
|
|
var t1 = this.cryptoKeyRing,
|
|
t2 = keyIndex == null ? this.currentKeyIndex : keyIndex;
|
|
if (!(t2 >= 0 && t2 < 16))
|
|
return A.ioore(t1, t2);
|
|
return t1[t2];
|
|
},
|
|
setKey$2(keyIndex, key) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.void),
|
|
$async$self = this;
|
|
var $async$setKey$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
if ($async$self.lastError !== B.CryptorError_1) {
|
|
A.print("setKey: lastError != CryptorError.kOk, reset state to kNew");
|
|
$async$self.lastError = B.CryptorError_0;
|
|
}
|
|
$async$goto = 4;
|
|
return A._asyncAwait(A.impportKeyFromRawData(key, A._setArrayType(["deriveBits", "deriveKey"], type$.JSArray_String), "PBKDF2"), $async$setKey$2);
|
|
case 4:
|
|
// returning from await.
|
|
$async$goto = 3;
|
|
return A._asyncAwait($async$self.deriveKeys$2($async$result, $async$self.keyOptions.ratchetSalt), $async$setKey$2);
|
|
case 3:
|
|
// returning from await.
|
|
$async$goto = 2;
|
|
return A._asyncAwait($async$self.setKeySetFromMaterial$2($async$result, keyIndex), $async$setKey$2);
|
|
case 2:
|
|
// returning from await.
|
|
$async$self.hasValidKey = true;
|
|
// implicit return
|
|
return A._asyncReturn(null, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$setKey$2, $async$completer);
|
|
},
|
|
setKeySetFromMaterial$2(keySet, keyIndex) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.void),
|
|
$async$self = this;
|
|
var $async$setKeySetFromMaterial$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
A.print("setting new key");
|
|
if (keyIndex >= 0)
|
|
$async$self.currentKeyIndex = B.JSInt_methods.$mod(keyIndex, 16);
|
|
B.JSArray_methods.$indexSet($async$self.cryptoKeyRing, $async$self.currentKeyIndex, keySet);
|
|
// implicit return
|
|
return A._asyncReturn(null, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$setKeySetFromMaterial$2, $async$completer);
|
|
},
|
|
deriveKeys$2(material, salt) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.KeySet),
|
|
$async$returnValue, $async$temp1, $async$temp2;
|
|
var $async$deriveKeys$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
$async$temp1 = A;
|
|
$async$temp2 = material;
|
|
$async$goto = 3;
|
|
return A._asyncAwait(A.promiseToFuture(self.crypto.subtle.deriveKey(A.jsify(A.getAlgoOptions(J.get$name$x(type$.Algorithm._as(material.algorithm)), salt)), material, A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["name", "AES-GCM", "length", 128], type$.String, type$.Object)), false, A._setArrayType(["encrypt", "decrypt"], type$.JSArray_String)), type$.CryptoKey), $async$deriveKeys$2);
|
|
case 3:
|
|
// returning from await.
|
|
$async$returnValue = new $async$temp1.KeySet($async$temp2, $async$result);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
case 1:
|
|
// return
|
|
return A._asyncReturn($async$returnValue, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$deriveKeys$2, $async$completer);
|
|
},
|
|
ratchet$2(material, salt) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List),
|
|
$async$returnValue, $async$temp1;
|
|
var $async$ratchet$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
$async$temp1 = A;
|
|
$async$goto = 3;
|
|
return A._asyncAwait(A.promiseToFuture(self.crypto.subtle.deriveBits(A.jsify(A.getAlgoOptions("PBKDF2", salt)), material, 256), type$.ByteBuffer), $async$ratchet$2);
|
|
case 3:
|
|
// returning from await.
|
|
$async$returnValue = $async$temp1.NativeUint8List_NativeUint8List$view($async$result, 0, null);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
case 1:
|
|
// return
|
|
return A._asyncReturn($async$returnValue, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$ratchet$2, $async$completer);
|
|
},
|
|
setupTransform$6$codec$kind$operation$readable$trackId$writable(codec, kind, operation, readable, trackId, writable) {
|
|
return this.setupTransform$body$FrameCryptor(codec, kind, operation, readable, trackId, writable);
|
|
},
|
|
setupTransform$5$kind$operation$readable$trackId$writable(kind, operation, readable, trackId, writable) {
|
|
return this.setupTransform$6$codec$kind$operation$readable$trackId$writable(null, kind, operation, readable, trackId, writable);
|
|
},
|
|
setupTransform$body$FrameCryptor(codec, kind, operation, readable, trackId, writable) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.void),
|
|
$async$self = this, transformer, e, t1, t2, t3, exception;
|
|
var $async$setupTransform$6$codec$kind$operation$readable$trackId$writable = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
A.print("setupTransform " + operation);
|
|
$async$self.__FrameCryptor_kind_A = kind;
|
|
if (codec != null) {
|
|
A.print("setting codec on cryptor to " + codec);
|
|
$async$self.codec = codec;
|
|
}
|
|
t1 = operation === "encode" ? $async$self.get$encodeFunction() : $async$self.get$decodeFunction();
|
|
t2 = type$.Future_void_Function_RTCEncodedFrame_TransformStreamDefaultController;
|
|
t3 = type$.String;
|
|
transformer = new self.TransformStream(A.jsify(A.LinkedHashMap_LinkedHashMap$_literal(["transform", A.allowInterop(t1, t2)], t3, t2)));
|
|
try {
|
|
J.pipeTo$1$x(J.pipeThrough$1$x(readable, transformer), writable);
|
|
} catch (exception) {
|
|
e = A.unwrapException(exception);
|
|
A.print("e " + J.toString$0$(e));
|
|
if ($async$self.lastError !== B.CryptorError_7) {
|
|
$async$self.lastError = B.CryptorError_7;
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1($async$self.worker, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", $async$self.participantId, "state", "internalError", "error", "Internal error: " + J.toString$0$(e)], t3, type$.nullable_String));
|
|
}
|
|
}
|
|
$async$self.trackId = trackId;
|
|
// implicit return
|
|
return A._asyncReturn(null, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$setupTransform$6$codec$kind$operation$readable$trackId$writable, $async$completer);
|
|
},
|
|
getUnencryptedBytes$2(frame, codec) {
|
|
var data, naluIndices, t1, t2, _i, index;
|
|
if (codec != null && codec.toLowerCase() === "h264") {
|
|
data = A.NativeUint8List_NativeUint8List$view(J.get$data$x(frame), 0, null);
|
|
naluIndices = A.findNALUIndices(data);
|
|
for (t1 = naluIndices.length, t2 = data.length, _i = 0; _i < t1; ++_i) {
|
|
index = naluIndices[_i];
|
|
if (!(index < t2))
|
|
return A.ioore(data, index);
|
|
switch (data[index] & 31) {
|
|
case 5:
|
|
case 1:
|
|
return index + 2;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
throw A.wrapException(A.Exception_Exception("Could not find NALU"));
|
|
}
|
|
switch (J.get$type$x(frame)) {
|
|
case "key":
|
|
return 10;
|
|
case "delta":
|
|
return 3;
|
|
case "audio":
|
|
return 1;
|
|
default:
|
|
return 0;
|
|
}
|
|
},
|
|
encodeFunction$2(frame, controller) {
|
|
return this.encodeFunction$body$FrameCryptor(type$.RTCEncodedFrame._as(frame), type$.TransformStreamDefaultController._as(controller));
|
|
},
|
|
encodeFunction$body$FrameCryptor(frame, controller) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.void),
|
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, secretKey, keyIndex, headerLength, metaData, iv, frameTrailer, cipherText, finalBuffer, e, t2, t3, t4, iv0, sendCount, exception, t1, buffer, $async$exception;
|
|
var $async$encodeFunction$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1) {
|
|
$async$currentError = $async$result;
|
|
$async$goto = $async$handler;
|
|
}
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
t1 = J.getInterceptor$x(frame);
|
|
buffer = A.NativeUint8List_NativeUint8List$view(t1.get$data(frame), 0, null);
|
|
if (!$async$self.enabled || J.get$length$asx(buffer) === 0) {
|
|
J.enqueue$1$x(controller, frame);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
t2 = $async$self.getKeySet$1($async$self.currentKeyIndex);
|
|
secretKey = t2 == null ? null : t2.encryptionKey;
|
|
keyIndex = $async$self.currentKeyIndex;
|
|
if (secretKey == null) {
|
|
if ($async$self.lastError !== B.CryptorError_5) {
|
|
$async$self.lastError = B.CryptorError_5;
|
|
t1 = $async$self.participantId;
|
|
t2 = $async$self.trackId;
|
|
t3 = $async$self.__FrameCryptor_kind_A;
|
|
t3 === $ && A.throwLateFieldNI("kind");
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1($async$self.worker, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", t1, "trackId", t2, "kind", t3, "state", "missingKey", "error", "Missing key for track " + A.S(t2)], type$.String, type$.nullable_String));
|
|
}
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
$async$handler = 4;
|
|
t2 = $async$self.__FrameCryptor_kind_A;
|
|
t2 === $ && A.throwLateFieldNI("kind");
|
|
headerLength = t2 === "video" ? $async$self.getUnencryptedBytes$2(frame, $async$self.codec) : 1;
|
|
metaData = t1.getMetadata$0(frame);
|
|
t3 = J.get$synchronizationSource$x(metaData);
|
|
t4 = t1.get$timestamp(frame);
|
|
A._asInt(t3);
|
|
A._asInt(t4);
|
|
iv0 = new DataView(new ArrayBuffer(12));
|
|
t2 = $async$self.sendCounts;
|
|
if (t2.$index(0, t3) == null)
|
|
t2.$indexSet(0, t3, $.$get$Random__secureRandom().nextInt$1(65535));
|
|
sendCount = t2.$index(0, t3);
|
|
if (sendCount == null)
|
|
sendCount = 0;
|
|
B.NativeByteData_methods._setUint32$3(iv0, 0, t3, false);
|
|
B.NativeByteData_methods._setUint32$3(iv0, 4, t4, false);
|
|
B.NativeByteData_methods._setUint32$3(iv0, 8, t4 - B.JSInt_methods.$mod(sendCount, 65535), false);
|
|
t2.$indexSet(0, t3, sendCount + 1);
|
|
iv = A.NativeUint8List_NativeUint8List$view(iv0.buffer, 0, null);
|
|
frameTrailer = new DataView(new ArrayBuffer(2));
|
|
J.setInt8$2$x(frameTrailer, 0, 12);
|
|
J.setInt8$2$x(frameTrailer, 1, keyIndex);
|
|
$async$goto = 7;
|
|
return A._asyncAwait(A.promiseToFuture(self.crypto.subtle.encrypt({name: "AES-GCM", iv: A.jsArrayBufferFrom(iv), additionalData: A.jsArrayBufferFrom(J.sublist$2$x(buffer, 0, headerLength))}, secretKey, A.jsArrayBufferFrom(J.sublist$2$x(buffer, headerLength, J.get$length$asx(buffer)))), type$.ByteBuffer), $async$encodeFunction$2);
|
|
case 7:
|
|
// returning from await.
|
|
cipherText = $async$result;
|
|
t2 = $.$get$_CopyingBytesBuilder__emptyList();
|
|
finalBuffer = new A._CopyingBytesBuilder(t2);
|
|
J.add$1$ax(finalBuffer, new Uint8Array(A._ensureNativeList(J.sublist$2$x(buffer, 0, headerLength))));
|
|
J.add$1$ax(finalBuffer, A.NativeUint8List_NativeUint8List$view(cipherText, 0, null));
|
|
J.add$1$ax(finalBuffer, iv);
|
|
J.add$1$ax(finalBuffer, A.NativeUint8List_NativeUint8List$view(frameTrailer.buffer, 0, null));
|
|
t1.set$data(frame, A.jsArrayBufferFrom(finalBuffer.toBytes$0()));
|
|
J.enqueue$1$x(controller, frame);
|
|
if ($async$self.lastError !== B.CryptorError_1) {
|
|
$async$self.lastError = B.CryptorError_1;
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1($async$self.worker, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", $async$self.participantId, "trackId", $async$self.trackId, "kind", $async$self.__FrameCryptor_kind_A, "state", "ok", "error", "encryption ok"], type$.String, type$.nullable_String));
|
|
}
|
|
$async$handler = 2;
|
|
// goto after finally
|
|
$async$goto = 6;
|
|
break;
|
|
case 4:
|
|
// catch
|
|
$async$handler = 3;
|
|
$async$exception = $async$currentError;
|
|
e = A.unwrapException($async$exception);
|
|
if ($async$self.lastError !== B.CryptorError_3) {
|
|
$async$self.lastError = B.CryptorError_3;
|
|
t1 = $async$self.participantId;
|
|
t2 = $async$self.trackId;
|
|
t3 = $async$self.__FrameCryptor_kind_A;
|
|
t3 === $ && A.throwLateFieldNI("kind");
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1($async$self.worker, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", t1, "trackId", t2, "kind", t3, "state", "encryptError", "error", J.toString$0$(e)], type$.String, type$.nullable_String));
|
|
}
|
|
// goto after finally
|
|
$async$goto = 6;
|
|
break;
|
|
case 3:
|
|
// uncaught
|
|
// goto rethrow
|
|
$async$goto = 2;
|
|
break;
|
|
case 6:
|
|
// after finally
|
|
case 1:
|
|
// return
|
|
return A._asyncReturn($async$returnValue, $async$completer);
|
|
case 2:
|
|
// rethrow
|
|
return A._asyncRethrow($async$currentError, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$encodeFunction$2, $async$completer);
|
|
},
|
|
decodeFunction$2(frame, controller) {
|
|
return this.decodeFunction$body$FrameCryptor(type$.RTCEncodedFrame._as(frame), type$.TransformStreamDefaultController._as(controller));
|
|
},
|
|
decodeFunction$body$FrameCryptor(frame, controller) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.void),
|
|
$async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, headerLength, metaData, frameTrailer, ivLength, keyIndex, iv, initialKeySet0, endDecLoop, currentkeySet, newMaterial, finalBuffer, e, t2, t3, t4, t5, t6, t7, endDecLoop0, t8, t9, t10, t11, t12, t13, exception, ratchetCount, t1, buffer, decrypted, initialKeySet, initialKeyIndex, $async$exception, $async$exception1;
|
|
var $async$decodeFunction$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1) {
|
|
$async$currentError = $async$result;
|
|
$async$goto = $async$handler;
|
|
}
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
ratchetCount = 0;
|
|
t1 = J.getInterceptor$x(frame);
|
|
buffer = A.NativeUint8List_NativeUint8List$view(t1.get$data(frame), 0, null);
|
|
decrypted = null;
|
|
initialKeySet = null;
|
|
initialKeyIndex = $async$self.currentKeyIndex;
|
|
if (!$async$self.enabled || J.get$length$asx(buffer) === 0) {
|
|
J.enqueue$1$x(controller, frame);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
t2 = $async$self.keyOptions;
|
|
t3 = t2.uncryptedMagicBytes;
|
|
if (t3 != null) {
|
|
t4 = J.get$length$asx(buffer);
|
|
t5 = t3.length;
|
|
t6 = t5 + 1;
|
|
if (t4 > t6)
|
|
if (A.Iterable_iterableToFullString(J.sublist$2$x(buffer, J.get$length$asx(buffer) - t5 - 1, J.get$length$asx(buffer) - 1), "[", "]") === A.Iterable_iterableToFullString(t3, "[", "]")) {
|
|
t2 = J.sublist$1$x(buffer, J.get$length$asx(buffer) - 1);
|
|
if (0 >= t2.length) {
|
|
$async$returnValue = A.ioore(t2, 0);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
A.print("skip uncrypted frame, type " + t2[0]);
|
|
t2 = $.$get$_CopyingBytesBuilder__emptyList();
|
|
finalBuffer = new A._CopyingBytesBuilder(t2);
|
|
finalBuffer.add$1(0, new Uint8Array(A._ensureNativeList(J.sublist$2$x(buffer, 0, J.get$length$asx(buffer) - t6))));
|
|
t1.set$data(frame, A.jsArrayBufferFrom(finalBuffer.toBytes$0()));
|
|
J.enqueue$1$x(controller, frame);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
}
|
|
$async$handler = 4;
|
|
t3 = $async$self.__FrameCryptor_kind_A;
|
|
t3 === $ && A.throwLateFieldNI("kind");
|
|
headerLength = t3 === "video" ? $async$self.getUnencryptedBytes$2(frame, $async$self.codec) : 1;
|
|
metaData = t1.getMetadata$0(frame);
|
|
frameTrailer = J.sublist$1$x(buffer, J.get$length$asx(buffer) - 2);
|
|
ivLength = J.$index$asx(frameTrailer, 0);
|
|
keyIndex = J.$index$asx(frameTrailer, 1);
|
|
t4 = J.get$length$asx(buffer);
|
|
t5 = ivLength;
|
|
if (typeof t5 !== "number") {
|
|
$async$returnValue = A.iae(t5);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
iv = J.sublist$2$x(buffer, t4 - t5 - 2, J.get$length$asx(buffer) - 2);
|
|
initialKeySet0 = $async$self.getKeySet$1(keyIndex);
|
|
initialKeyIndex = keyIndex;
|
|
if (initialKeySet0 == null || !$async$self.hasValidKey) {
|
|
if ($async$self.lastError !== B.CryptorError_5) {
|
|
$async$self.lastError = B.CryptorError_5;
|
|
t1 = $async$self.participantId;
|
|
t2 = $async$self.trackId;
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1($async$self.worker, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", t1, "trackId", t2, "kind", $async$self.__FrameCryptor_kind_A, "state", "missingKey", "error", "Missing key for track " + A.S(t2)], type$.String, type$.nullable_String));
|
|
}
|
|
J.enqueue$1$x(controller, frame);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
endDecLoop = false;
|
|
currentkeySet = initialKeySet0;
|
|
t3 = t2.ratchetSalt, t2 = t2.ratchetWindowSize, t4 = type$.ByteBuffer, t5 = type$.String, t6 = type$.nullable_String, t7 = $async$self.worker, endDecLoop0 = t2 <= 0;
|
|
case 7:
|
|
// for condition
|
|
if (!!A.boolConversionCheck(endDecLoop)) {
|
|
// goto after for
|
|
$async$goto = 8;
|
|
break;
|
|
}
|
|
$async$handler = 10;
|
|
t8 = buffer;
|
|
t8 = {name: "AES-GCM", iv: A.jsArrayBufferFrom(iv), additionalData: A.jsArrayBufferFrom(new Uint8Array(t8.subarray(0, A._checkValidRange(0, A._asIntQ(headerLength), J.get$length$asx(t8)))))};
|
|
t9 = currentkeySet.encryptionKey;
|
|
t10 = buffer;
|
|
t11 = J.get$length$asx(buffer);
|
|
t12 = ivLength;
|
|
if (typeof t12 !== "number") {
|
|
$async$returnValue = A.iae(t12);
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
t13 = A._asInt(headerLength);
|
|
$async$goto = 13;
|
|
return A._asyncAwait(A.promiseToFuture(self.crypto.subtle.decrypt(t8, t9, A.jsArrayBufferFrom(new Uint8Array(t10.subarray(t13, A._checkValidRange(t13, A._asIntQ(t11 - t12 - 2), J.get$length$asx(t10)))))), t4), $async$decodeFunction$2);
|
|
case 13:
|
|
// returning from await.
|
|
decrypted = $async$result;
|
|
$async$goto = decrypted != null && !J.$eq$(currentkeySet, initialKeySet0) ? 14 : 15;
|
|
break;
|
|
case 14:
|
|
// then
|
|
$async$goto = 16;
|
|
return A._asyncAwait($async$self.setKeySetFromMaterial$2(currentkeySet, initialKeyIndex), $async$decodeFunction$2);
|
|
case 16:
|
|
// returning from await.
|
|
case 15:
|
|
// join
|
|
endDecLoop = true;
|
|
t8 = $async$self.lastError;
|
|
if (t8 !== B.CryptorError_1)
|
|
if (t8 !== B.CryptorError_6) {
|
|
t8 = ratchetCount;
|
|
if (typeof t8 !== "number") {
|
|
$async$returnValue = t8.$gt();
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
t8 = t8 > 0;
|
|
} else
|
|
t8 = false;
|
|
else
|
|
t8 = false;
|
|
if (t8) {
|
|
A.printString("KeyRatcheted: ssrc " + A.S(J.get$synchronizationSource$x(metaData)) + " timestamp " + A.S(t1.get$timestamp(frame)) + " ratchetCount " + A.S(ratchetCount) + " participantId: " + A.S($async$self.participantId));
|
|
A.printString("ratchetKey: lastError != CryptorError.kKeyRatcheted, reset state to kKeyRatcheted");
|
|
$async$self.lastError = B.CryptorError_6;
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1(t7, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", $async$self.participantId, "trackId", $async$self.trackId, "kind", $async$self.__FrameCryptor_kind_A, "state", "keyRatcheted", "error", "Key ratcheted ok"], t5, t6));
|
|
}
|
|
$async$handler = 4;
|
|
// goto after finally
|
|
$async$goto = 12;
|
|
break;
|
|
case 10:
|
|
// catch
|
|
$async$handler = 9;
|
|
$async$exception = $async$currentError;
|
|
$async$self.lastError = B.CryptorError_7;
|
|
t8 = ratchetCount;
|
|
if (typeof t8 !== "number") {
|
|
$async$returnValue = t8.$ge();
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
endDecLoop = t8 >= t2 || endDecLoop0;
|
|
if (A.boolConversionCheck(endDecLoop))
|
|
throw $async$exception;
|
|
$async$goto = 17;
|
|
return A._asyncAwait($async$self.ratchetMaterial$1(currentkeySet.material), $async$decodeFunction$2);
|
|
case 17:
|
|
// returning from await.
|
|
newMaterial = $async$result;
|
|
$async$goto = 18;
|
|
return A._asyncAwait($async$self.deriveKeys$2(newMaterial, t3), $async$decodeFunction$2);
|
|
case 18:
|
|
// returning from await.
|
|
currentkeySet = $async$result;
|
|
t8 = ratchetCount;
|
|
if (typeof t8 !== "number") {
|
|
$async$returnValue = t8.$add();
|
|
// goto return
|
|
$async$goto = 1;
|
|
break;
|
|
}
|
|
ratchetCount = t8 + 1;
|
|
// goto after finally
|
|
$async$goto = 12;
|
|
break;
|
|
case 9:
|
|
// uncaught
|
|
// goto catch
|
|
$async$goto = 4;
|
|
break;
|
|
case 12:
|
|
// after finally
|
|
// goto for condition
|
|
$async$goto = 7;
|
|
break;
|
|
case 8:
|
|
// after for
|
|
t2 = $.$get$_CopyingBytesBuilder__emptyList();
|
|
finalBuffer = new A._CopyingBytesBuilder(t2);
|
|
J.add$1$ax(finalBuffer, new Uint8Array(A._ensureNativeList(J.sublist$2$x(buffer, 0, headerLength))));
|
|
t2 = decrypted;
|
|
t2.toString;
|
|
J.add$1$ax(finalBuffer, A.NativeUint8List_NativeUint8List$view(t2, 0, null));
|
|
t1.set$data(frame, A.jsArrayBufferFrom(finalBuffer.toBytes$0()));
|
|
J.enqueue$1$x(controller, frame);
|
|
if ($async$self.lastError !== B.CryptorError_1) {
|
|
$async$self.lastError = B.CryptorError_1;
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1(t7, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", $async$self.participantId, "trackId", $async$self.trackId, "kind", $async$self.__FrameCryptor_kind_A, "state", "ok", "error", "decryption ok"], t5, t6));
|
|
}
|
|
$async$handler = 2;
|
|
// goto after finally
|
|
$async$goto = 6;
|
|
break;
|
|
case 4:
|
|
// catch
|
|
$async$handler = 3;
|
|
$async$exception1 = $async$currentError;
|
|
e = A.unwrapException($async$exception1);
|
|
if ($async$self.lastError !== B.CryptorError_2) {
|
|
$async$self.lastError = B.CryptorError_2;
|
|
t1 = $async$self.participantId;
|
|
t2 = $async$self.trackId;
|
|
t3 = $async$self.__FrameCryptor_kind_A;
|
|
t3 === $ && A.throwLateFieldNI("kind");
|
|
B.DedicatedWorkerGlobalScope_methods.postMessage$1($async$self.worker, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorState", "participantId", t1, "trackId", t2, "kind", t3, "state", "decryptError", "error", J.toString$0$(e)], type$.String, type$.nullable_String));
|
|
}
|
|
$async$goto = initialKeySet != null ? 19 : 20;
|
|
break;
|
|
case 19:
|
|
// then
|
|
$async$goto = 21;
|
|
return A._asyncAwait($async$self.setKeySetFromMaterial$2(initialKeySet, initialKeyIndex), $async$decodeFunction$2);
|
|
case 21:
|
|
// returning from await.
|
|
case 20:
|
|
// join
|
|
$async$self.hasValidKey = false;
|
|
// goto after finally
|
|
$async$goto = 6;
|
|
break;
|
|
case 3:
|
|
// uncaught
|
|
// goto rethrow
|
|
$async$goto = 2;
|
|
break;
|
|
case 6:
|
|
// after finally
|
|
case 1:
|
|
// return
|
|
return A._asyncReturn($async$returnValue, $async$completer);
|
|
case 2:
|
|
// rethrow
|
|
return A._asyncRethrow($async$currentError, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$decodeFunction$2, $async$completer);
|
|
},
|
|
get$participantId(receiver) {
|
|
return this.participantId;
|
|
},
|
|
get$trackId(receiver) {
|
|
return this.trackId;
|
|
},
|
|
get$codec(receiver) {
|
|
return this.codec;
|
|
}
|
|
};
|
|
A.FrameCryptor_ratchetKey_closure.prototype = {
|
|
call$1(newMaterial) {
|
|
var t1 = this.$this;
|
|
t1.deriveKeys$2(type$.CryptoKey._as(newMaterial), t1.keyOptions.ratchetSalt).then$1$1(new A.FrameCryptor_ratchetKey__closure(t1, this.keyIndex), type$.Null);
|
|
},
|
|
$signature: 24
|
|
};
|
|
A.FrameCryptor_ratchetKey__closure.prototype = {
|
|
call$1(newKeySet) {
|
|
var t1, t2;
|
|
type$.KeySet._as(newKeySet);
|
|
t1 = this.$this;
|
|
t2 = this.keyIndex;
|
|
t1.setKeySetFromMaterial$2(newKeySet, t2 == null ? t1.currentKeyIndex : t2).then$1$1(new A.FrameCryptor_ratchetKey___closure(t1), type$.Null);
|
|
},
|
|
$signature: 25
|
|
};
|
|
A.FrameCryptor_ratchetKey___closure.prototype = {
|
|
call$1(_) {
|
|
var t1 = this.$this;
|
|
t1._ratchetCompleter.complete$0(0);
|
|
t1._ratchetCompleter = null;
|
|
},
|
|
$signature: 26
|
|
};
|
|
A.TransformMessage.prototype = {};
|
|
A.EnableTransformMessage.prototype = {};
|
|
A.RemoveTransformMessage.prototype = {};
|
|
A.main_closure.prototype = {
|
|
call$1($event) {
|
|
var t1, options, t2, kind, participantId, trackId, codec, msgType, cryptor;
|
|
A.print("got transform event");
|
|
t1 = type$.JavaScriptObject._as(type$.RTCTransformEvent._as($event).transformer);
|
|
t1.handled = true;
|
|
options = t1.options;
|
|
t2 = J.getInterceptor$x(options);
|
|
kind = t2.get$kind(options);
|
|
participantId = t2.get$participantId(options);
|
|
trackId = t2.get$trackId(options);
|
|
codec = t2.get$codec(options);
|
|
msgType = t2.get$msgType(options);
|
|
cryptor = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.main__closure8(trackId), type$.FrameCryptor);
|
|
if (cryptor == null) {
|
|
t2 = self.self;
|
|
A._asStringQ(participantId);
|
|
A._asStringQ(trackId);
|
|
cryptor = A.FrameCryptor$($.$get$keyProviderOptions(), participantId, trackId, t2);
|
|
B.JSArray_methods.add$1($.participantCryptors, cryptor);
|
|
}
|
|
A._asString(msgType);
|
|
t2 = type$.ReadableStream._as(t1.readable);
|
|
t1 = type$.WritableStream._as(t1.writable);
|
|
A._asString(trackId);
|
|
A._asString(kind);
|
|
cryptor.setupTransform$6$codec$kind$operation$readable$trackId$writable(A._asStringQ(codec), kind, msgType, t2, trackId, t1);
|
|
},
|
|
$signature: 3
|
|
};
|
|
A.main__closure8.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).trackId == this.trackId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main_closure0.prototype = {
|
|
call$1(e) {
|
|
var copy, msgType, options, t3, t4, enabled, participantId, cryptors, line, _i, cryptor, kind, exist, trackId, readable, writable, key, keyIndex, c, keySet, codec,
|
|
_s11_ = "ratchetSalt",
|
|
_s13_ = "participantId",
|
|
_s53_ = "]: lastError != CryptorError.kOk, reset state to kNew",
|
|
_s7_ = "trackId",
|
|
_s8_ = "keyIndex",
|
|
t1 = type$.MessageEvent._as(e).data,
|
|
t2 = new A._AcceptStructuredCloneDart2Js([], []);
|
|
t2.mustCopy = true;
|
|
copy = t2.walk$1(t1);
|
|
t1 = J.getInterceptor$asx(copy);
|
|
msgType = t1.$index(copy, "msgType");
|
|
switch (msgType) {
|
|
case "init":
|
|
options = t1.$index(copy, "keyOptions");
|
|
t1 = J.getInterceptor$asx(options);
|
|
t2 = A._asBool(t1.$index(options, "sharedKey"));
|
|
t3 = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(t1.$index(options, _s11_)))));
|
|
t4 = A._asInt(t1.$index(options, "ratchetWindowSize"));
|
|
$.keyProviderOptions = new A.KeyOptions(t2, t3, t4, t1.$index(options, _s11_) != null ? new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(t1.$index(options, "uncryptedMagicBytes"))))) : null);
|
|
A.print("worker: init with keyOptions " + ("KeyOptions{sharedKey: " + t2 + ", ratchetWindowSize: " + t4 + "}"));
|
|
break;
|
|
case "enable":
|
|
enabled = A._asBool(t1.$index(copy, "enabled"));
|
|
participantId = A._asString(t1.$index(copy, _s13_));
|
|
t1 = "" + enabled;
|
|
A.print("worker: set enable " + t1 + " for participantId " + participantId);
|
|
t2 = $.participantCryptors;
|
|
t3 = A._arrayInstanceType(t2);
|
|
t4 = t3._eval$1("WhereIterable<1>");
|
|
cryptors = A.List_List$of(new A.WhereIterable(t2, t3._eval$1("bool(1)")._as(new A.main__closure(participantId)), t4), true, t4._eval$1("Iterable.E"));
|
|
for (t2 = cryptors.length, line = "setEnabled[" + t1 + _s53_, _i = 0; _i < t2; ++_i) {
|
|
cryptor = cryptors[_i];
|
|
if (cryptor.lastError !== B.CryptorError_1) {
|
|
A.printString(line);
|
|
cryptor.lastError = B.CryptorError_0;
|
|
}
|
|
cryptor.enabled = enabled;
|
|
}
|
|
J.postMessage$1$x(self.self, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorEnabled", "participantId", participantId, "enable", enabled], type$.String, type$.Object));
|
|
break;
|
|
case "decode":
|
|
case "encode":
|
|
kind = t1.$index(copy, "kind");
|
|
exist = A._asBool(t1.$index(copy, "exist"));
|
|
participantId = A._asString(t1.$index(copy, _s13_));
|
|
trackId = t1.$index(copy, _s7_);
|
|
readable = type$.ReadableStream._as(t1.$index(copy, "readableStream"));
|
|
writable = type$.WritableStream._as(t1.$index(copy, "writableStream"));
|
|
A.print("worker: got " + A.S(msgType) + ", kind " + A.S(kind) + ", trackId " + A.S(trackId) + ", participantId " + participantId + ", " + B.Type_JSObject_8k0.toString$0(0) + " " + B.Type_JSObject_8k0.toString$0(0) + "}");
|
|
cryptor = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.main__closure0(trackId), type$.FrameCryptor);
|
|
if (cryptor == null) {
|
|
t1 = self.self;
|
|
A._asStringQ(trackId);
|
|
cryptor = A.FrameCryptor$($.$get$keyProviderOptions(), participantId, trackId, t1);
|
|
B.JSArray_methods.add$1($.participantCryptors, cryptor);
|
|
}
|
|
if (!exist) {
|
|
A._asString(msgType);
|
|
A._asString(trackId);
|
|
cryptor.setupTransform$5$kind$operation$readable$trackId$writable(A._asString(kind), msgType, readable, trackId, writable);
|
|
}
|
|
if (cryptor.lastError !== B.CryptorError_1) {
|
|
A.print("setParticipantId: lastError != CryptorError.kOk, reset state to kNew");
|
|
cryptor.lastError = B.CryptorError_0;
|
|
}
|
|
cryptor.participantId = participantId;
|
|
J.postMessage$1$x(self.self, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorSetup", "participantId", participantId, "trackId", trackId, "exist", exist, "operation", msgType], type$.String, type$.dynamic));
|
|
cryptor.lastError = B.CryptorError_0;
|
|
break;
|
|
case "removeTransform":
|
|
trackId = A._asString(t1.$index(copy, _s7_));
|
|
A.print("worker: removing trackId " + trackId);
|
|
t1 = $.participantCryptors;
|
|
t2 = A._arrayInstanceType(t1)._eval$1("bool(1)")._as(new A.main__closure1(trackId));
|
|
if (!!t1.fixed$length)
|
|
A.throwExpression(A.UnsupportedError$("removeWhere"));
|
|
B.JSArray_methods._removeWhere$2(t1, t2, true);
|
|
break;
|
|
case "setKey":
|
|
key = new Uint8Array(A._ensureNativeList(B.C_Base64Decoder.convert$1(A._asString(t1.$index(copy, "key")))));
|
|
keyIndex = t1.$index(copy, _s8_);
|
|
participantId = A._asString(t1.$index(copy, _s13_));
|
|
A.print("worker: setup key for participant " + participantId);
|
|
if ($.$get$keyProviderOptions().sharedKey) {
|
|
for (t1 = $.participantCryptors, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
|
|
t1[_i].setKey$2(A._asInt(keyIndex), key);
|
|
return;
|
|
}
|
|
t1 = $.participantCryptors;
|
|
t2 = A._arrayInstanceType(t1);
|
|
t3 = t2._eval$1("WhereIterable<1>");
|
|
cryptors = A.List_List$of(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.main__closure2(participantId)), t3), true, t3._eval$1("Iterable.E"));
|
|
for (t1 = cryptors.length, _i = 0; _i < t1; ++_i)
|
|
cryptors[_i].setKey$2(A._asInt(keyIndex), key);
|
|
break;
|
|
case "ratchetKey":
|
|
keyIndex = t1.$index(copy, _s8_);
|
|
participantId = A._asString(t1.$index(copy, _s13_));
|
|
A.print("worker: ratchetKey for participant " + participantId + ", keyIndex " + A.S(keyIndex));
|
|
t1 = $.participantCryptors;
|
|
t2 = A._arrayInstanceType(t1);
|
|
t3 = t2._eval$1("WhereIterable<1>");
|
|
cryptors = A.List_List$of(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.main__closure3(participantId)), t3), true, t3._eval$1("Iterable.E"));
|
|
for (t1 = cryptors.length, t2 = type$.Null, _i = 0; _i < t1; ++_i) {
|
|
c = cryptors[_i];
|
|
A._asIntQ(keyIndex);
|
|
t3 = c.cryptoKeyRing;
|
|
t4 = keyIndex == null ? c.currentKeyIndex : keyIndex;
|
|
if (!(t4 >= 0 && t4 < 16))
|
|
return A.ioore(t3, t4);
|
|
keySet = t3[t4];
|
|
c.ratchetKey$1(keyIndex).then$1$1(new A.main__closure4(c, keySet, participantId), t2);
|
|
}
|
|
break;
|
|
case "setKeyIndex":
|
|
keyIndex = t1.$index(copy, "index");
|
|
participantId = A._asString(t1.$index(copy, _s13_));
|
|
A.print("worker: setup key index for participant " + participantId);
|
|
t1 = $.participantCryptors;
|
|
t2 = A._arrayInstanceType(t1);
|
|
t3 = t2._eval$1("WhereIterable<1>");
|
|
cryptors = A.List_List$of(new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.main__closure5(participantId)), t3), true, t3._eval$1("Iterable.E"));
|
|
for (t1 = cryptors.length, _i = 0; _i < t1; ++_i) {
|
|
c = cryptors[_i];
|
|
A._asInt(keyIndex);
|
|
if (c.lastError !== B.CryptorError_1) {
|
|
A.printString("setKeyIndex: lastError != CryptorError.kOk, reset state to kNew");
|
|
c.lastError = B.CryptorError_0;
|
|
}
|
|
c.currentKeyIndex = keyIndex;
|
|
}
|
|
break;
|
|
case "updateCodec":
|
|
codec = A._asString(t1.$index(copy, "codec"));
|
|
trackId = A._asString(t1.$index(copy, _s7_));
|
|
A.print("worker: update codec for trackId " + trackId + ", codec " + codec);
|
|
cryptor = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.main__closure6(trackId), type$.FrameCryptor);
|
|
if (cryptor != null) {
|
|
if (cryptor.lastError !== B.CryptorError_1) {
|
|
A.print("updateCodec[" + codec + _s53_);
|
|
cryptor.lastError = B.CryptorError_0;
|
|
}
|
|
cryptor.codec = codec;
|
|
}
|
|
break;
|
|
case "dispose":
|
|
trackId = A._asString(t1.$index(copy, _s7_));
|
|
A.print("worker: dispose trackId " + trackId);
|
|
cryptor = A.IterableExtension_firstWhereOrNull($.participantCryptors, new A.main__closure7(trackId), type$.FrameCryptor);
|
|
if (cryptor != null) {
|
|
cryptor.lastError = B.CryptorError_8;
|
|
J.postMessage$1$x(self.self, A.LinkedHashMap_LinkedHashMap$_literal(["type", "cryptorDispose", "participantId", cryptor.participantId, "trackId", trackId], type$.String, type$.nullable_String));
|
|
}
|
|
break;
|
|
default:
|
|
A.print("worker: unknown message kind " + A.S(copy));
|
|
}
|
|
},
|
|
$signature: 27
|
|
};
|
|
A.main__closure.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).participantId === this.participantId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main__closure0.prototype = {
|
|
call$1(c) {
|
|
var t1 = type$.FrameCryptor._as(c).trackId,
|
|
t2 = this.trackId;
|
|
return t1 == null ? t2 == null : t1 === t2;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main__closure1.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).trackId === this.trackId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main__closure2.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).participantId === this.participantId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main__closure3.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).participantId === this.participantId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main__closure4.prototype = {
|
|
call$1(_) {
|
|
var $async$goto = 0,
|
|
$async$completer = A._makeAsyncAwaitCompleter(type$.Null),
|
|
$async$self = this, t1, newKey;
|
|
var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
|
|
if ($async$errorCode === 1)
|
|
return A._asyncRethrow($async$result, $async$completer);
|
|
while (true)
|
|
switch ($async$goto) {
|
|
case 0:
|
|
// Function start
|
|
t1 = $async$self.c;
|
|
$async$goto = 2;
|
|
return A._asyncAwait(t1.ratchet$2($async$self.keySet.material, $.$get$keyProviderOptions().ratchetSalt), $async$call$1);
|
|
case 2:
|
|
// returning from await.
|
|
newKey = $async$result;
|
|
J.postMessage$1$x(self.self, A.LinkedHashMap_LinkedHashMap$_literal(["type", "ratchetKey", "participantId", $async$self.participantId, "trackId", t1.trackId, "key", B.C_Base64Encoder.convert$1(type$.Base64Codec._eval$1("Codec.S")._as(newKey))], type$.String, type$.nullable_String));
|
|
// implicit return
|
|
return A._asyncReturn(null, $async$completer);
|
|
}
|
|
});
|
|
return A._asyncStartSync($async$call$1, $async$completer);
|
|
},
|
|
$signature: 28
|
|
};
|
|
A.main__closure5.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).participantId === this.participantId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main__closure6.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).trackId === this.trackId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
A.main__closure7.prototype = {
|
|
call$1(c) {
|
|
return type$.FrameCryptor._as(c).trackId === this.trackId;
|
|
},
|
|
$signature: 1
|
|
};
|
|
(function aliases() {
|
|
var _ = J.Interceptor.prototype;
|
|
_.super$Interceptor$toString = _.toString$0;
|
|
_ = J.LegacyJavaScriptObject.prototype;
|
|
_.super$LegacyJavaScriptObject$toString = _.toString$0;
|
|
_ = A.ListBase.prototype;
|
|
_.super$ListBase$setRange = _.setRange$4;
|
|
})();
|
|
(function installTearOffs() {
|
|
var _static_1 = hunkHelpers._static_1,
|
|
_static_0 = hunkHelpers._static_0,
|
|
_instance_2_u = hunkHelpers._instance_2u;
|
|
_static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 5);
|
|
_static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 5);
|
|
_static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 5);
|
|
_static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
|
|
var _;
|
|
_instance_2_u(_ = A.FrameCryptor.prototype, "get$encodeFunction", "encodeFunction$2", 7);
|
|
_instance_2_u(_, "get$decodeFunction", "decodeFunction$2", 7);
|
|
})();
|
|
(function inheritance() {
|
|
var _mixin = hunkHelpers.mixin,
|
|
_inherit = hunkHelpers.inherit,
|
|
_inheritMany = hunkHelpers.inheritMany;
|
|
_inherit(A.Object, null);
|
|
_inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A._CopyingBytesBuilder, A.Error, A.ListBase, A.SentinelValue, A.Iterable, A.ListIterator, A.MappedIterator, A.WhereIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A.MapView, A.ConstantMap, A.JSInvocationMirror, A.Closure, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.MapBase, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamIterator, A._Zone, A._HashMapKeyIterator, A._UnmodifiableMapMixin, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A.DateTime, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.Null, A._StringStackTrace, A.StringBuffer, A.CssStyleDeclarationBase, A.EventStreamProvider, A._EventStreamSubscription, A.ImmutableListMixin, A.FixedSizeListIterator, A._StructuredClone, A._AcceptStructuredClone, A.NullRejectionException, A._JSSecureRandom, A.KeyOptions, A.KeySet, A.FrameCryptor]);
|
|
_inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSNumber, J.JSString]);
|
|
_inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData, A.EventTarget, A.AccessibleNodeList, A.Blob, A.CryptoKey, A.CssTransformComponent, A.CssRule, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleValue, A.DataTransferItem, A.DataTransferItemList, A.DomException, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A.Event, A._FileList_JavaScriptObject_ListMixin, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaDeviceInfo, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A._NodeList_JavaScriptObject_ListMixin, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SharedArrayBuffer, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A._Storage_JavaScriptObject_MapMixin, A.StyleSheet, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.VideoTrack, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin, A.AudioTrack]);
|
|
_inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.WritableStream, A.ReadableStream, A.TransformStream, A.TransformStreamDefaultController, A.EncodedStreams, A.RTCEncodedFrame, A.RTCEncodedAudioFrame, A.RTCEncodedVideoFrame, A.RTCEncodedFrameMetadata, A.RTCEncodedAudioFrameMetadata, A.RTCEncodedVideoFrameMetadata, A.RTCTransformEvent, A.RTCRtpScriptTransform, A.Promise, A.Algorithm, A.AesGcmParams, A.TransformMessage, A.EnableTransformMessage, A.RemoveTransformMessage]);
|
|
_inherit(J.JSUnmodifiableArray, J.JSArray);
|
|
_inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]);
|
|
_inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A.AssertionError, A._Error, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]);
|
|
_inherit(A.UnmodifiableListBase, A.ListBase);
|
|
_inherit(A.CodeUnits, A.UnmodifiableListBase);
|
|
_inheritMany(A.Iterable, [A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A._ConstantMapKeyIterable]);
|
|
_inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable]);
|
|
_inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable]);
|
|
_inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
|
|
_inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView);
|
|
_inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
|
|
_inherit(A.ConstantMapView, A.UnmodifiableMapView);
|
|
_inherit(A.ConstantStringMap, A.ConstantMap);
|
|
_inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_length_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A._EventStreamSubscription_closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.FrameCryptor_ratchetKey_closure, A.FrameCryptor_ratchetKey__closure, A.FrameCryptor_ratchetKey___closure, A.main_closure, A.main__closure8, A.main_closure0, A.main__closure, A.main__closure0, A.main__closure1, A.main__closure2, A.main__closure3, A.main__closure4, A.main__closure5, A.main__closure6, A.main__closure7]);
|
|
_inheritMany(A.Closure2Args, [A.Primitives_functionNoSuchMethod_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__chainForeignFuture_closure0, A.MapBase_mapToString_closure, A.NoSuchMethodError_toString_closure, A.MidiInputMap_keys_closure, A.MidiOutputMap_keys_closure, A.RtcStatsReport_keys_closure, A.Storage_keys_closure, A._StructuredClone_walk_closure, A._StructuredClone_walk_closure0, A._AcceptStructuredClone_walk_closure, A.AudioParamMap_keys_closure]);
|
|
_inherit(A.NullError, A.TypeError);
|
|
_inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]);
|
|
_inherit(A._AssertionError, A.AssertionError);
|
|
_inheritMany(A.MapBase, [A.JsLinkedHashMap, A._HashMap]);
|
|
_inheritMany(A.NativeTypedData, [A.NativeByteData, A.NativeTypedArray]);
|
|
_inheritMany(A.NativeTypedArray, [A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin]);
|
|
_inherit(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin);
|
|
_inherit(A.NativeTypedArrayOfDouble, A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin);
|
|
_inherit(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin);
|
|
_inherit(A.NativeTypedArrayOfInt, A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin);
|
|
_inheritMany(A.NativeTypedArrayOfDouble, [A.NativeFloat32List, A.NativeFloat64List]);
|
|
_inheritMany(A.NativeTypedArrayOfInt, [A.NativeInt16List, A.NativeInt32List, A.NativeInt8List, A.NativeUint16List, A.NativeUint32List, A.NativeUint8ClampedList, A.NativeUint8List]);
|
|
_inherit(A._TypeError, A._Error);
|
|
_inheritMany(A.Closure0Args, [A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__asyncCompleteWithValue_closure, A._Future__chainFuture_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._rootHandleError_closure, A._RootZone_bindCallbackGuarded_closure]);
|
|
_inherit(A._AsyncCompleter, A._Completer);
|
|
_inherit(A._RootZone, A._Zone);
|
|
_inherit(A._IdentityHashMap, A._HashMap);
|
|
_inherit(A.Base64Codec, A.Codec);
|
|
_inheritMany(A.Converter, [A.Base64Encoder, A.Base64Decoder]);
|
|
_inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]);
|
|
_inheritMany(A.EventTarget, [A.Node, A.WorkerGlobalScope, A.FileWriter, A.MediaStreamTrack, A.MessagePort, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.AudioTrackList, A.BaseAudioContext]);
|
|
_inheritMany(A.Node, [A.Element, A.CharacterData]);
|
|
_inherit(A.HtmlElement, A.Element);
|
|
_inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.FormElement, A.SelectElement, A.TrackElement]);
|
|
_inherit(A.CssPerspective, A.CssTransformComponent);
|
|
_inherit(A.CssStyleDeclaration, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase);
|
|
_inheritMany(A.CssStyleValue, [A.CssTransformValue, A.CssUnparsedValue]);
|
|
_inherit(A.DedicatedWorkerGlobalScope, A.WorkerGlobalScope);
|
|
_inherit(A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin, A._DomRectList_JavaScriptObject_ListMixin);
|
|
_inherit(A.DomRectList, A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._DomStringList_JavaScriptObject_ListMixin);
|
|
_inherit(A.DomStringList, A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.File, A.Blob);
|
|
_inherit(A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin, A._FileList_JavaScriptObject_ListMixin);
|
|
_inherit(A.FileList, A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A._HtmlCollection_JavaScriptObject_ListMixin);
|
|
_inherit(A.HtmlCollection, A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.MessageEvent, A.Event);
|
|
_inherit(A.MidiInputMap, A._MidiInputMap_JavaScriptObject_MapMixin);
|
|
_inherit(A.MidiOutputMap, A._MidiOutputMap_JavaScriptObject_MapMixin);
|
|
_inherit(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._MimeTypeArray_JavaScriptObject_ListMixin);
|
|
_inherit(A.MimeTypeArray, A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NodeList_JavaScriptObject_ListMixin);
|
|
_inherit(A.NodeList, A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin, A._PluginArray_JavaScriptObject_ListMixin);
|
|
_inherit(A.PluginArray, A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.RtcStatsReport, A._RtcStatsReport_JavaScriptObject_MapMixin);
|
|
_inherit(A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, A._SourceBufferList_EventTarget_ListMixin);
|
|
_inherit(A.SourceBufferList, A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin);
|
|
_inherit(A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin, A._SpeechGrammarList_JavaScriptObject_ListMixin);
|
|
_inherit(A.SpeechGrammarList, A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.Storage, A._Storage_JavaScriptObject_MapMixin);
|
|
_inherit(A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TextTrackCueList_JavaScriptObject_ListMixin);
|
|
_inherit(A.TextTrackCueList, A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, A._TextTrackList_EventTarget_ListMixin);
|
|
_inherit(A.TextTrackList, A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin);
|
|
_inherit(A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TouchList_JavaScriptObject_ListMixin);
|
|
_inherit(A.TouchList, A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__CssRuleList_JavaScriptObject_ListMixin);
|
|
_inherit(A._CssRuleList, A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._DomRect, A.DomRectReadOnly);
|
|
_inherit(A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__GamepadList_JavaScriptObject_ListMixin);
|
|
_inherit(A._GamepadList, A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin);
|
|
_inherit(A._NamedNodeMap, A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin);
|
|
_inherit(A._SpeechRecognitionResultList, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin);
|
|
_inherit(A._StyleSheetList, A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._EventStream, A.Stream);
|
|
_inherit(A._StructuredCloneDart2Js, A._StructuredClone);
|
|
_inherit(A._AcceptStructuredCloneDart2Js, A._AcceptStructuredClone);
|
|
_inherit(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A._LengthList_JavaScriptObject_ListMixin);
|
|
_inherit(A.LengthList, A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A._NumberList_JavaScriptObject_ListMixin);
|
|
_inherit(A.NumberList, A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A._StringList_JavaScriptObject_ListMixin);
|
|
_inherit(A.StringList, A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A._TransformList_JavaScriptObject_ListMixin);
|
|
_inherit(A.TransformList, A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin);
|
|
_inherit(A.AudioParamMap, A._AudioParamMap_JavaScriptObject_MapMixin);
|
|
_inherit(A.OfflineAudioContext, A.BaseAudioContext);
|
|
_inherit(A.CryptorError, A._Enum);
|
|
_mixin(A.UnmodifiableListBase, A.UnmodifiableListMixin);
|
|
_mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListBase);
|
|
_mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
|
|
_mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, A.ListBase);
|
|
_mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
|
|
_mixin(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A._UnmodifiableMapMixin);
|
|
_mixin(A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleDeclarationBase);
|
|
_mixin(A._DomRectList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._DomStringList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._FileList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._HtmlCollection_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._MidiInputMap_JavaScriptObject_MapMixin, A.MapBase);
|
|
_mixin(A._MidiOutputMap_JavaScriptObject_MapMixin, A.MapBase);
|
|
_mixin(A._MimeTypeArray_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._NodeList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._PluginArray_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._RtcStatsReport_JavaScriptObject_MapMixin, A.MapBase);
|
|
_mixin(A._SourceBufferList_EventTarget_ListMixin, A.ListBase);
|
|
_mixin(A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._Storage_JavaScriptObject_MapMixin, A.MapBase);
|
|
_mixin(A._TextTrackCueList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._TextTrackList_EventTarget_ListMixin, A.ListBase);
|
|
_mixin(A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._TouchList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A.__CssRuleList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A.__GamepadList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A.__StyleSheetList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._LengthList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._NumberList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._StringList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._TransformList_JavaScriptObject_ListMixin, A.ListBase);
|
|
_mixin(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
|
|
_mixin(A._AudioParamMap_JavaScriptObject_MapMixin, A.MapBase);
|
|
})();
|
|
var init = {
|
|
typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
|
|
mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"},
|
|
mangledNames: {},
|
|
types: ["~()", "bool(FrameCryptor)", "~(String,@)", "Null(@)", "~(@)", "~(~())", "Null()", "Future<~>(RTCEncodedFrame,TransformStreamDefaultController)", "@(@)", "@(@,String)", "@(String)", "Null(~())", "Null(@,StackTrace)", "~(int,@)", "Null(Object,StackTrace)", "_Future<@>(@)", "~(Object?,Object?)", "~(Symbol0,@)", "~(String,String)", "~(Event)", "~(@,@)", "Null(@,@)", "@(@,@)", "Object?(Object?)", "Null(CryptoKey)", "Null(KeySet)", "Null(~)", "~(MessageEvent)", "Future<Null>(~)"],
|
|
interceptorsByTag: null,
|
|
leafTags: null,
|
|
arrayRti: Symbol("$ti")
|
|
};
|
|
A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","WritableStream":"LegacyJavaScriptObject","ReadableStream":"LegacyJavaScriptObject","TransformStreamDefaultController":"LegacyJavaScriptObject","RTCEncodedFrame":"LegacyJavaScriptObject","TransformStream":"LegacyJavaScriptObject","EncodedStreams":"LegacyJavaScriptObject","RTCEncodedAudioFrame":"LegacyJavaScriptObject","RTCEncodedVideoFrame":"LegacyJavaScriptObject","RTCEncodedFrameMetadata":"LegacyJavaScriptObject","RTCEncodedAudioFrameMetadata":"LegacyJavaScriptObject","RTCEncodedVideoFrameMetadata":"LegacyJavaScriptObject","RTCTransformEvent":"LegacyJavaScriptObject","RTCRtpScriptTransform":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","Algorithm":"LegacyJavaScriptObject","AesGcmParams":"LegacyJavaScriptObject","TransformMessage":"LegacyJavaScriptObject","EnableTransformMessage":"LegacyJavaScriptObject","RemoveTransformMessage":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event","ExtendableEvent":"Event","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","MathMLElement":"Element","AudioElement":"HtmlElement","MediaElement":"HtmlElement","HtmlDocument":"Node","Document":"Node","VttCue":"TextTrackCue","ServiceWorkerGlobalScope":"WorkerGlobalScope","CDataSection":"CharacterData","Text":"CharacterData","HtmlFormControlsCollection":"HtmlCollection","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssStyleSheet":"StyleSheet","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","CanvasCaptureMediaStreamTrack":"MediaStreamTrack","JavaScriptObject":{"JSObject":[]},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"WritableStream":[],"ReadableStream":[],"TransformStreamDefaultController":[],"RTCEncodedFrame":[],"RTCTransformEvent":[],"Algorithm":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"]},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[]},"JSInt":{"double":[],"int":[],"num":[],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2","ListIterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_ConstantMapKeyIterable":{"Iterable":["1"],"Iterable.E":"1"},"JSInvocationMirror":{"Invocation":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"_AssertionError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"NativeByteData":{"NativeTypedData":[],"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"NativeTypedData":[],"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"NativeTypedArray":["double"],"ListBase":["double"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"NativeTypedArray":["int"],"ListBase":["int"],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"NativeTypedArray":["double"],"ListBase":["double"],"Float32List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"NativeTypedArray":["double"],"ListBase":["double"],"Float64List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Int16List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Int32List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Int8List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Uint16List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Uint32List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Uint8ClampedList":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"NativeTypedArray":["int"],"ListBase":["int"],"Uint8List":[],"NativeTypedData":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"_Future":{"Future":["1"]},"_AsyncAwaitCompleter":{"Completer":["1"]},"AsyncError":{"Error":[]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_Zone":{"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"]},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"Base64Codec":{"Codec":["List<int>","String"],"Codec.S":"List<int>"},"double":{"num":[]},"int":{"num":[]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_StringStackTrace":{"StackTrace":[]},"CryptoKey":{"JavaScriptObject":[],"JSObject":[]},"CssRule":{"JavaScriptObject":[],"JSObject":[]},"Event":{"JavaScriptObject":[],"JSObject":[]},"File":{"Blob":[],"JavaScriptObject":[],"JSObject":[]},"Gamepad":{"JavaScriptObject":[],"JSObject":[]},"MessageEvent":{"Event":[],"JavaScriptObject":[],"JSObject":[]},"MimeType":{"JavaScriptObject":[],"JSObject":[]},"Node":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Plugin":{"JavaScriptObject":[],"JSObject":[]},"SourceBuffer":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SpeechGrammar":{"JavaScriptObject":[],"JSObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[],"JSObject":[]},"StyleSheet":{"JavaScriptObject":[],"JSObject":[]},"TextTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"TextTrackCue":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Touch":{"JavaScriptObject":[],"JSObject":[]},"HtmlElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AccessibleNodeList":{"JavaScriptObject":[],"JSObject":[]},"AnchorElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"AreaElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Blob":{"JavaScriptObject":[],"JSObject":[]},"CharacterData":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"CssPerspective":{"JavaScriptObject":[],"JSObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[],"JSObject":[]},"CssStyleValue":{"JavaScriptObject":[],"JSObject":[]},"CssTransformComponent":{"JavaScriptObject":[],"JSObject":[]},"CssTransformValue":{"JavaScriptObject":[],"JSObject":[]},"CssUnparsedValue":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItem":{"JavaScriptObject":[],"JSObject":[]},"DataTransferItemList":{"JavaScriptObject":[],"JSObject":[]},"DedicatedWorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"DomException":{"JavaScriptObject":[],"JSObject":[]},"DomRectList":{"ListBase":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"JSObject":[],"Iterable":["Rectangle<num>"],"JSIndexable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListBase.E":"Rectangle<num>"},"DomRectReadOnly":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"DomStringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"JSIndexable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String"},"DomTokenList":{"JavaScriptObject":[],"JSObject":[]},"Element":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"EventTarget":{"JavaScriptObject":[],"JSObject":[]},"FileList":{"ListBase":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"JSObject":[],"Iterable":["File"],"JSIndexable":["File"],"ImmutableListMixin.E":"File","ListBase.E":"File"},"FileWriter":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"FormElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"History":{"JavaScriptObject":[],"JSObject":[]},"HtmlCollection":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"ImageData":{"JavaScriptObject":[],"JSObject":[]},"Location":{"JavaScriptObject":[],"JSObject":[]},"MediaDeviceInfo":{"JavaScriptObject":[],"JSObject":[]},"MediaList":{"JavaScriptObject":[],"JSObject":[]},"MediaStreamTrack":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"MessagePort":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MidiOutputMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"MimeTypeArray":{"ListBase":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"JSObject":[],"Iterable":["MimeType"],"JSIndexable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListBase.E":"MimeType"},"NodeList":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"PluginArray":{"ListBase":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"JSObject":[],"Iterable":["Plugin"],"JSIndexable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListBase.E":"Plugin"},"RtcStatsReport":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"SelectElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"SharedArrayBuffer":{"JavaScriptObject":[],"JSObject":[]},"SourceBufferList":{"ListBase":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"EventTarget":[],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"JSObject":[],"Iterable":["SourceBuffer"],"JSIndexable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListBase.E":"SourceBuffer"},"SpeechGrammarList":{"ListBase":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"JSObject":[],"Iterable":["SpeechGrammar"],"JSIndexable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListBase.E":"SpeechGrammar"},"Storage":{"JavaScriptObject":[],"MapBase":["String","String"],"JSObject":[],"Map":["String","String"],"MapBase.K":"String","MapBase.V":"String"},"TextTrackCueList":{"ListBase":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"JSObject":[],"Iterable":["TextTrackCue"],"JSIndexable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListBase.E":"TextTrackCue"},"TextTrackList":{"ListBase":["TextTrack"],"ImmutableListMixin":["TextTrack"],"EventTarget":[],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"JSObject":[],"Iterable":["TextTrack"],"JSIndexable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListBase.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[],"JSObject":[]},"TouchList":{"ListBase":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"JSObject":[],"Iterable":["Touch"],"JSIndexable":["Touch"],"ImmutableListMixin.E":"Touch","ListBase.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[],"JSObject":[]},"TrackElement":{"Node":[],"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Url":{"JavaScriptObject":[],"JSObject":[]},"VideoTrack":{"JavaScriptObject":[],"JSObject":[]},"VideoTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"WorkerGlobalScope":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"_CssRuleList":{"ListBase":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"JSObject":[],"Iterable":["CssRule"],"JSIndexable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListBase.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"],"JSObject":[]},"_GamepadList":{"ListBase":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"JSObject":[],"Iterable":["Gamepad?"],"JSIndexable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListBase.E":"Gamepad?"},"_NamedNodeMap":{"ListBase":["Node"],"ImmutableListMixin":["Node"],"List":["Node"],"JavaScriptIndexingBehavior":["Node"],"JavaScriptObject":[],"EfficientLengthIterable":["Node"],"JSObject":[],"Iterable":["Node"],"JSIndexable":["Node"],"ImmutableListMixin.E":"Node","ListBase.E":"Node"},"_SpeechRecognitionResultList":{"ListBase":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"JSObject":[],"Iterable":["SpeechRecognitionResult"],"JSIndexable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListBase.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListBase":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"JSObject":[],"Iterable":["StyleSheet"],"JSIndexable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListBase.E":"StyleSheet"},"_EventStream":{"Stream":["1"]},"_EventStreamSubscription":{"StreamSubscription":["1"]},"FixedSizeListIterator":{"Iterator":["1"]},"Length":{"JavaScriptObject":[],"JSObject":[]},"Number":{"JavaScriptObject":[],"JSObject":[]},"Transform":{"JavaScriptObject":[],"JSObject":[]},"LengthList":{"ListBase":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"JSObject":[],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListBase.E":"Length"},"NumberList":{"ListBase":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"JSObject":[],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListBase.E":"Number"},"PointList":{"JavaScriptObject":[],"JSObject":[]},"StringList":{"ListBase":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"JSObject":[],"Iterable":["String"],"ImmutableListMixin.E":"String","ListBase.E":"String"},"TransformList":{"ListBase":["Transform"],"ImmutableListMixin":["Transform"],"List":["Transform"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform"],"JSObject":[],"Iterable":["Transform"],"ImmutableListMixin.E":"Transform","ListBase.E":"Transform"},"AudioBuffer":{"JavaScriptObject":[],"JSObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapBase":["String","@"],"JSObject":[],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"AudioTrack":{"JavaScriptObject":[],"JSObject":[]},"AudioTrackList":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"BaseAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"OfflineAudioContext":{"EventTarget":[],"JavaScriptObject":[],"JSObject":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}'));
|
|
A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"EfficientLengthIterable":1,"UnmodifiableListBase":1,"NativeTypedArray":1,"Converter":2,"Promise":1}'));
|
|
var string$ = {
|
|
Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"
|
|
};
|
|
var type$ = (function rtii() {
|
|
var findType = A.findType;
|
|
return {
|
|
Algorithm: findType("Algorithm"),
|
|
AsyncError: findType("AsyncError"),
|
|
Base64Codec: findType("Base64Codec"),
|
|
Blob: findType("Blob"),
|
|
ByteBuffer: findType("ByteBuffer"),
|
|
ByteData: findType("ByteData"),
|
|
ConstantMapView_Symbol_dynamic: findType("ConstantMapView<Symbol0,@>"),
|
|
CryptoKey: findType("CryptoKey"),
|
|
CssRule: findType("CssRule"),
|
|
EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"),
|
|
Error: findType("Error"),
|
|
Event: findType("Event"),
|
|
File: findType("File"),
|
|
FileList: findType("FileList"),
|
|
Float32List: findType("Float32List"),
|
|
Float64List: findType("Float64List"),
|
|
FrameCryptor: findType("FrameCryptor"),
|
|
Function: findType("Function"),
|
|
FutureOr_CryptoKey: findType("CryptoKey/"),
|
|
Future_dynamic: findType("Future<@>"),
|
|
Future_void_Function_RTCEncodedFrame_TransformStreamDefaultController: findType("Future<~>(RTCEncodedFrame,TransformStreamDefaultController)"),
|
|
ImageData: findType("ImageData"),
|
|
Int16List: findType("Int16List"),
|
|
Int32List: findType("Int32List"),
|
|
Int8List: findType("Int8List"),
|
|
Invocation: findType("Invocation"),
|
|
Iterable_dynamic: findType("Iterable<@>"),
|
|
Iterable_int: findType("Iterable<int>"),
|
|
Iterable_nullable_Object: findType("Iterable<Object?>"),
|
|
JSArray_String: findType("JSArray<String>"),
|
|
JSArray_dynamic: findType("JSArray<@>"),
|
|
JSArray_int: findType("JSArray<int>"),
|
|
JSIndexable_dynamic: findType("JSIndexable<@>"),
|
|
JSNull: findType("JSNull"),
|
|
JSObject: findType("JSObject"),
|
|
JavaScriptFunction: findType("JavaScriptFunction"),
|
|
JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
|
|
JavaScriptObject: findType("JavaScriptObject"),
|
|
JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
|
|
KeySet: findType("KeySet"),
|
|
Length: findType("Length"),
|
|
List_dynamic: findType("List<@>"),
|
|
List_int: findType("List<int>"),
|
|
Map_dynamic_dynamic: findType("Map<@,@>"),
|
|
Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>"),
|
|
MessageEvent: findType("MessageEvent"),
|
|
MessagePort: findType("MessagePort"),
|
|
MimeType: findType("MimeType"),
|
|
NativeByteBuffer: findType("NativeByteBuffer"),
|
|
NativeTypedArrayOfInt: findType("NativeTypedArrayOfInt"),
|
|
NativeTypedData: findType("NativeTypedData"),
|
|
Node: findType("Node"),
|
|
Null: findType("Null"),
|
|
Number: findType("Number"),
|
|
Object: findType("Object"),
|
|
Plugin: findType("Plugin"),
|
|
RTCEncodedFrame: findType("RTCEncodedFrame"),
|
|
RTCTransformEvent: findType("RTCTransformEvent"),
|
|
ReadableStream: findType("ReadableStream"),
|
|
Record: findType("Record"),
|
|
Rectangle_num: findType("Rectangle<num>"),
|
|
SharedArrayBuffer: findType("SharedArrayBuffer"),
|
|
SourceBuffer: findType("SourceBuffer"),
|
|
SpeechGrammar: findType("SpeechGrammar"),
|
|
SpeechRecognitionResult: findType("SpeechRecognitionResult"),
|
|
StackTrace: findType("StackTrace"),
|
|
String: findType("String"),
|
|
StyleSheet: findType("StyleSheet"),
|
|
Symbol: findType("Symbol0"),
|
|
TextTrack: findType("TextTrack"),
|
|
TextTrackCue: findType("TextTrackCue"),
|
|
Touch: findType("Touch"),
|
|
Transform: findType("Transform"),
|
|
TransformStreamDefaultController: findType("TransformStreamDefaultController"),
|
|
TrustedGetRuntimeType: findType("TrustedGetRuntimeType"),
|
|
TypeError: findType("TypeError"),
|
|
Uint16List: findType("Uint16List"),
|
|
Uint32List: findType("Uint32List"),
|
|
Uint8ClampedList: findType("Uint8ClampedList"),
|
|
Uint8List: findType("Uint8List"),
|
|
UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
|
|
WritableStream: findType("WritableStream"),
|
|
_AsyncCompleter_void: findType("_AsyncCompleter<~>"),
|
|
_Future_dynamic: findType("_Future<@>"),
|
|
_Future_int: findType("_Future<int>"),
|
|
_Future_void: findType("_Future<~>"),
|
|
_IdentityHashMap_of_nullable_Object_and_nullable_Object: findType("_IdentityHashMap<Object?,Object?>"),
|
|
bool: findType("bool"),
|
|
bool_Function_Object: findType("bool(Object)"),
|
|
double: findType("double"),
|
|
dynamic: findType("@"),
|
|
dynamic_Function: findType("@()"),
|
|
dynamic_Function_Object: findType("@(Object)"),
|
|
dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
|
|
dynamic_Function_dynamic: findType("@(@)"),
|
|
dynamic_Function_dynamic_dynamic: findType("@(@,@)"),
|
|
int: findType("int"),
|
|
legacy_Never: findType("0&*"),
|
|
legacy_Object: findType("Object*"),
|
|
nullable_EventTarget: findType("EventTarget?"),
|
|
nullable_Future_Null: findType("Future<Null>?"),
|
|
nullable_Gamepad: findType("Gamepad?"),
|
|
nullable_KeySet: findType("KeySet?"),
|
|
nullable_Object: findType("Object?"),
|
|
nullable_String: findType("String?"),
|
|
nullable__FutureListener_dynamic_dynamic: findType("_FutureListener<@,@>?"),
|
|
nullable_dynamic_Function_Event: findType("@(Event)?"),
|
|
nullable_void_Function: findType("~()?"),
|
|
nullable_void_Function_MessageEvent: findType("~(MessageEvent)?"),
|
|
num: findType("num"),
|
|
void: findType("~"),
|
|
void_Function: findType("~()"),
|
|
void_Function_String_String: findType("~(String,String)"),
|
|
void_Function_String_dynamic: findType("~(String,@)")
|
|
};
|
|
})();
|
|
(function constants() {
|
|
var makeConstList = hunkHelpers.makeConstList;
|
|
B.DedicatedWorkerGlobalScope_methods = A.DedicatedWorkerGlobalScope.prototype;
|
|
B.Interceptor_methods = J.Interceptor.prototype;
|
|
B.JSArray_methods = J.JSArray.prototype;
|
|
B.JSInt_methods = J.JSInt.prototype;
|
|
B.JSNumber_methods = J.JSNumber.prototype;
|
|
B.JSString_methods = J.JSString.prototype;
|
|
B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
|
|
B.JavaScriptObject_methods = J.JavaScriptObject.prototype;
|
|
B.NativeByteData_methods = A.NativeByteData.prototype;
|
|
B.NativeUint8List_methods = A.NativeUint8List.prototype;
|
|
B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
|
|
B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
|
|
B.C_Base64Decoder = new A.Base64Decoder();
|
|
B.C_Base64Encoder = new A.Base64Encoder();
|
|
B.C_JS_CONST = function getTagFallback(o) {
|
|
var s = Object.prototype.toString.call(o);
|
|
return s.substring(8, s.length - 1);
|
|
};
|
|
B.C_JS_CONST0 = function() {
|
|
var toStringFunction = Object.prototype.toString;
|
|
function getTag(o) {
|
|
var s = toStringFunction.call(o);
|
|
return s.substring(8, s.length - 1);
|
|
}
|
|
function getUnknownTag(object, tag) {
|
|
if (/^HTML[A-Z].*Element$/.test(tag)) {
|
|
var name = toStringFunction.call(object);
|
|
if (name == "[object Object]") return null;
|
|
return "HTMLElement";
|
|
}
|
|
}
|
|
function getUnknownTagGenericBrowser(object, tag) {
|
|
if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
|
|
return getUnknownTag(object, tag);
|
|
}
|
|
function prototypeForTag(tag) {
|
|
if (typeof window == "undefined") return null;
|
|
if (typeof window[tag] == "undefined") return null;
|
|
var constructor = window[tag];
|
|
if (typeof constructor != "function") return null;
|
|
return constructor.prototype;
|
|
}
|
|
function discriminator(tag) { return null; }
|
|
var isBrowser = typeof navigator == "object";
|
|
return {
|
|
getTag: getTag,
|
|
getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
|
|
prototypeForTag: prototypeForTag,
|
|
discriminator: discriminator };
|
|
};
|
|
B.C_JS_CONST6 = function(getTagFallback) {
|
|
return function(hooks) {
|
|
if (typeof navigator != "object") return hooks;
|
|
var ua = navigator.userAgent;
|
|
if (ua.indexOf("DumpRenderTree") >= 0) return hooks;
|
|
if (ua.indexOf("Chrome") >= 0) {
|
|
function confirm(p) {
|
|
return typeof window == "object" && window[p] && window[p].name == p;
|
|
}
|
|
if (confirm("Window") && confirm("HTMLElement")) return hooks;
|
|
}
|
|
hooks.getTag = getTagFallback;
|
|
};
|
|
};
|
|
B.C_JS_CONST1 = function(hooks) {
|
|
if (typeof dartExperimentalFixupGetTag != "function") return hooks;
|
|
hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag);
|
|
};
|
|
B.C_JS_CONST2 = function(hooks) {
|
|
var getTag = hooks.getTag;
|
|
var prototypeForTag = hooks.prototypeForTag;
|
|
function getTagFixed(o) {
|
|
var tag = getTag(o);
|
|
if (tag == "Document") {
|
|
if (!!o.xmlVersion) return "!Document";
|
|
return "!HTMLDocument";
|
|
}
|
|
return tag;
|
|
}
|
|
function prototypeForTagFixed(tag) {
|
|
if (tag == "Document") return null;
|
|
return prototypeForTag(tag);
|
|
}
|
|
hooks.getTag = getTagFixed;
|
|
hooks.prototypeForTag = prototypeForTagFixed;
|
|
};
|
|
B.C_JS_CONST5 = function(hooks) {
|
|
var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
|
|
if (userAgent.indexOf("Firefox") == -1) return hooks;
|
|
var getTag = hooks.getTag;
|
|
var quickMap = {
|
|
"BeforeUnloadEvent": "Event",
|
|
"DataTransfer": "Clipboard",
|
|
"GeoGeolocation": "Geolocation",
|
|
"Location": "!Location",
|
|
"WorkerMessageEvent": "MessageEvent",
|
|
"XMLDocument": "!Document"};
|
|
function getTagFirefox(o) {
|
|
var tag = getTag(o);
|
|
return quickMap[tag] || tag;
|
|
}
|
|
hooks.getTag = getTagFirefox;
|
|
};
|
|
B.C_JS_CONST4 = function(hooks) {
|
|
var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
|
|
if (userAgent.indexOf("Trident/") == -1) return hooks;
|
|
var getTag = hooks.getTag;
|
|
var quickMap = {
|
|
"BeforeUnloadEvent": "Event",
|
|
"DataTransfer": "Clipboard",
|
|
"HTMLDDElement": "HTMLElement",
|
|
"HTMLDTElement": "HTMLElement",
|
|
"HTMLPhraseElement": "HTMLElement",
|
|
"Position": "Geoposition"
|
|
};
|
|
function getTagIE(o) {
|
|
var tag = getTag(o);
|
|
var newTag = quickMap[tag];
|
|
if (newTag) return newTag;
|
|
if (tag == "Object") {
|
|
if (window.DataView && (o instanceof window.DataView)) return "DataView";
|
|
}
|
|
return tag;
|
|
}
|
|
function prototypeForTagIE(tag) {
|
|
var constructor = window[tag];
|
|
if (constructor == null) return null;
|
|
return constructor.prototype;
|
|
}
|
|
hooks.getTag = getTagIE;
|
|
hooks.prototypeForTag = prototypeForTagIE;
|
|
};
|
|
B.C_JS_CONST3 = function(hooks) { return hooks; }
|
|
;
|
|
B.C_OutOfMemoryError = new A.OutOfMemoryError();
|
|
B.C_SentinelValue = new A.SentinelValue();
|
|
B.C__Required = new A._Required();
|
|
B.C__RootZone = new A._RootZone();
|
|
B.C__StringStackTrace = new A._StringStackTrace();
|
|
B.CryptorError_0 = new A.CryptorError("kNew");
|
|
B.CryptorError_1 = new A.CryptorError("kOk");
|
|
B.CryptorError_2 = new A.CryptorError("kDecryptError");
|
|
B.CryptorError_3 = new A.CryptorError("kEncryptError");
|
|
B.CryptorError_5 = new A.CryptorError("kMissingKey");
|
|
B.CryptorError_6 = new A.CryptorError("kKeyRatcheted");
|
|
B.CryptorError_7 = new A.CryptorError("kInternalError");
|
|
B.CryptorError_8 = new A.CryptorError("kDisposed");
|
|
B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_dynamic);
|
|
B.List_empty0 = A._setArrayType(makeConstList([]), A.findType("JSArray<Symbol0>"));
|
|
B.Map_empty = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap<Symbol0,@>"));
|
|
B.Symbol_call = new A.Symbol("call");
|
|
B.Type_ByteBuffer_RkP = A.typeLiteral("ByteBuffer");
|
|
B.Type_ByteData_zNC = A.typeLiteral("ByteData");
|
|
B.Type_Float32List_LB7 = A.typeLiteral("Float32List");
|
|
B.Type_Float64List_LB7 = A.typeLiteral("Float64List");
|
|
B.Type_Int16List_uXf = A.typeLiteral("Int16List");
|
|
B.Type_Int32List_O50 = A.typeLiteral("Int32List");
|
|
B.Type_Int8List_ekJ = A.typeLiteral("Int8List");
|
|
B.Type_JSObject_8k0 = A.typeLiteral("JSObject");
|
|
B.Type_Object_xQ6 = A.typeLiteral("Object");
|
|
B.Type_Uint16List_2bx = A.typeLiteral("Uint16List");
|
|
B.Type_Uint32List_2bx = A.typeLiteral("Uint32List");
|
|
B.Type_Uint8ClampedList_Jik = A.typeLiteral("Uint8ClampedList");
|
|
B.Type_Uint8List_WLA = A.typeLiteral("Uint8List");
|
|
})();
|
|
(function staticFields() {
|
|
$._JS_INTEROP_INTERCEPTOR_TAG = null;
|
|
$.toStringVisiting = A._setArrayType([], A.findType("JSArray<Object>"));
|
|
$.Primitives__identityHashCodeProperty = null;
|
|
$.BoundClosure__receiverFieldNameCache = null;
|
|
$.BoundClosure__interceptorFieldNameCache = null;
|
|
$.getTagFunction = null;
|
|
$.alternateTagFunction = null;
|
|
$.prototypeForTagFunction = null;
|
|
$.dispatchRecordsForInstanceTags = null;
|
|
$.interceptorsForUncacheableTags = null;
|
|
$.initNativeDispatchFlag = null;
|
|
$._nextCallback = null;
|
|
$._lastCallback = null;
|
|
$._lastPriorityCallback = null;
|
|
$._isInCallbackLoop = false;
|
|
$.Zone__current = B.C__RootZone;
|
|
$.participantCryptors = A._setArrayType([], A.findType("JSArray<FrameCryptor>"));
|
|
})();
|
|
(function lazyInitializers() {
|
|
var _lazyFinal = hunkHelpers.lazyFinal,
|
|
_lazy = hunkHelpers.lazy;
|
|
_lazyFinal($, "DART_CLOSURE_PROPERTY_NAME", "$get$DART_CLOSURE_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartClosure"));
|
|
_lazyFinal($, "_CopyingBytesBuilder__emptyList", "$get$_CopyingBytesBuilder__emptyList", () => A.NativeUint8List_NativeUint8List(0));
|
|
_lazyFinal($, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethodPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({
|
|
toString: function() {
|
|
return "$receiver$";
|
|
}
|
|
})));
|
|
_lazyFinal($, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn({$method$: null,
|
|
toString: function() {
|
|
return "$receiver$";
|
|
}
|
|
})));
|
|
_lazyFinal($, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(null)));
|
|
_lazyFinal($, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() {
|
|
var $argumentsExpr$ = "$arguments$";
|
|
try {
|
|
null.$method$($argumentsExpr$);
|
|
} catch (e) {
|
|
return e.message;
|
|
}
|
|
}()));
|
|
_lazyFinal($, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCallPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokeCallErrorOn(void 0)));
|
|
_lazyFinal($, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_undefinedLiteralCallPattern", () => A.TypeErrorDecoder_extractPattern(function() {
|
|
var $argumentsExpr$ = "$arguments$";
|
|
try {
|
|
(void 0).$method$($argumentsExpr$);
|
|
} catch (e) {
|
|
return e.message;
|
|
}
|
|
}()));
|
|
_lazyFinal($, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(null)));
|
|
_lazyFinal($, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() {
|
|
try {
|
|
null.$method$;
|
|
} catch (e) {
|
|
return e.message;
|
|
}
|
|
}()));
|
|
_lazyFinal($, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefinedPropertyPattern", () => A.TypeErrorDecoder_extractPattern(A.TypeErrorDecoder_provokePropertyErrorOn(void 0)));
|
|
_lazyFinal($, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_undefinedLiteralPropertyPattern", () => A.TypeErrorDecoder_extractPattern(function() {
|
|
try {
|
|
(void 0).$method$;
|
|
} catch (e) {
|
|
return e.message;
|
|
}
|
|
}()));
|
|
_lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", () => A._AsyncRun__initializeScheduleImmediate());
|
|
_lazyFinal($, "_Base64Decoder__inverseAlphabet", "$get$_Base64Decoder__inverseAlphabet", () => new Int8Array(A._ensureNativeList(A._setArrayType([-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], type$.JSArray_int))));
|
|
_lazy($, "_Base64Decoder__emptyBuffer", "$get$_Base64Decoder__emptyBuffer", () => A.NativeUint8List_NativeUint8List(0));
|
|
_lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6));
|
|
_lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => {
|
|
var t1 = new A._JSSecureRandom(A.NativeByteData_NativeByteData(8));
|
|
t1._JSSecureRandom$0();
|
|
return t1;
|
|
});
|
|
_lazy($, "keyProviderOptions", "$get$keyProviderOptions", () => A.KeyOptions$(A.NativeUint8List_NativeUint8List$fromList(new A.CodeUnits("ratchetSalt")), 16, true, null));
|
|
})();
|
|
(function nativeSupport() {
|
|
!function() {
|
|
var intern = function(s) {
|
|
var o = {};
|
|
o[s] = 1;
|
|
return Object.keys(hunkHelpers.convertToFastObject(o))[0];
|
|
};
|
|
init.getIsolateTag = function(name) {
|
|
return intern("___dart_" + name + init.isolateTag);
|
|
};
|
|
var tableProperty = "___dart_isolate_tags_";
|
|
var usedProperties = Object[tableProperty] || (Object[tableProperty] = Object.create(null));
|
|
var rootProperty = "_ZxYxX";
|
|
for (var i = 0;; i++) {
|
|
var property = intern(rootProperty + "_" + i + "_");
|
|
if (!(property in usedProperties)) {
|
|
usedProperties[property] = 1;
|
|
init.isolateTag = property;
|
|
break;
|
|
}
|
|
}
|
|
init.dispatchPropertyName = init.getIsolateTag("dispatch_record");
|
|
}();
|
|
hunkHelpers.setOrUpdateInterceptorsByTag({WebGL: J.Interceptor, AnimationEffectReadOnly: J.JavaScriptObject, AnimationEffectTiming: J.JavaScriptObject, AnimationEffectTimingReadOnly: J.JavaScriptObject, AnimationTimeline: J.JavaScriptObject, AnimationWorkletGlobalScope: J.JavaScriptObject, AuthenticatorAssertionResponse: J.JavaScriptObject, AuthenticatorAttestationResponse: J.JavaScriptObject, AuthenticatorResponse: J.JavaScriptObject, BackgroundFetchFetch: J.JavaScriptObject, BackgroundFetchManager: J.JavaScriptObject, BackgroundFetchSettledFetch: J.JavaScriptObject, BarProp: J.JavaScriptObject, BarcodeDetector: J.JavaScriptObject, BluetoothRemoteGATTDescriptor: J.JavaScriptObject, Body: J.JavaScriptObject, BudgetState: J.JavaScriptObject, CacheStorage: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, CanvasRenderingContext2D: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, Credential: J.JavaScriptObject, CredentialUserData: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DeprecationReport: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryEntry: J.JavaScriptObject, webkitFileSystemDirectoryEntry: J.JavaScriptObject, FileSystemDirectoryEntry: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: J.JavaScriptObject, DOMError: J.JavaScriptObject, DOMImplementation: J.JavaScriptObject, Iterator: J.JavaScriptObject, DOMMatrix: J.JavaScriptObject, DOMMatrixReadOnly: J.JavaScriptObject, DOMParser: J.JavaScriptObject, DOMPoint: J.JavaScriptObject, DOMPointReadOnly: J.JavaScriptObject, DOMQuad: J.JavaScriptObject, DOMStringMap: J.JavaScriptObject, Entry: J.JavaScriptObject, webkitFileSystemEntry: J.JavaScriptObject, FileSystemEntry: J.JavaScriptObject, External: J.JavaScriptObject, FaceDetector: J.JavaScriptObject, FederatedCredential: J.JavaScriptObject, FileEntry: J.JavaScriptObject, webkitFileSystemFileEntry: J.JavaScriptObject, FileSystemFileEntry: J.JavaScriptObject, DOMFileSystem: J.JavaScriptObject, WebKitFileSystem: J.JavaScriptObject, webkitFileSystem: J.JavaScriptObject, FileSystem: J.JavaScriptObject, FontFace: J.JavaScriptObject, FontFaceSource: J.JavaScriptObject, FormData: J.JavaScriptObject, GamepadButton: J.JavaScriptObject, GamepadPose: J.JavaScriptObject, Geolocation: J.JavaScriptObject, Position: J.JavaScriptObject, GeolocationPosition: J.JavaScriptObject, Headers: J.JavaScriptObject, HTMLHyperlinkElementUtils: J.JavaScriptObject, IdleDeadline: J.JavaScriptObject, ImageBitmap: J.JavaScriptObject, ImageBitmapRenderingContext: J.JavaScriptObject, ImageCapture: J.JavaScriptObject, InputDeviceCapabilities: J.JavaScriptObject, IntersectionObserver: J.JavaScriptObject, IntersectionObserverEntry: J.JavaScriptObject, InterventionReport: J.JavaScriptObject, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: J.JavaScriptObject, MediaError: J.JavaScriptObject, MediaKeyStatusMap: J.JavaScriptObject, MediaKeySystemAccess: J.JavaScriptObject, MediaKeys: J.JavaScriptObject, MediaKeysPolicy: J.JavaScriptObject, MediaMetadata: J.JavaScriptObject, MediaSession: J.JavaScriptObject, MediaSettingsRange: J.JavaScriptObject, MemoryInfo: J.JavaScriptObject, MessageChannel: J.JavaScriptObject, Metadata: J.JavaScriptObject, MutationObserver: J.JavaScriptObject, WebKitMutationObserver: J.JavaScriptObject, MutationRecord: J.JavaScriptObject, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NavigatorUserMediaError: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, OverconstrainedError: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, PasswordCredential: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentInstruments: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceEntry: J.JavaScriptObject, PerformanceLongTaskTiming: J.JavaScriptObject, PerformanceMark: J.JavaScriptObject, PerformanceMeasure: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceNavigationTiming: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformancePaintTiming: J.JavaScriptObject, PerformanceResourceTiming: J.JavaScriptObject, PerformanceServerTiming: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, PositionError: J.JavaScriptObject, GeolocationPositionError: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PublicKeyCredential: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushMessageData: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: J.JavaScriptObject, ReportBody: J.JavaScriptObject, ReportingObserver: J.JavaScriptObject, ResizeObserver: J.JavaScriptObject, ResizeObserverEntry: J.JavaScriptObject, RTCCertificate: J.JavaScriptObject, RTCIceCandidate: J.JavaScriptObject, mozRTCIceCandidate: J.JavaScriptObject, RTCLegacyStatsReport: J.JavaScriptObject, RTCRtpContributingSource: J.JavaScriptObject, RTCRtpReceiver: J.JavaScriptObject, RTCRtpSender: J.JavaScriptObject, RTCSessionDescription: J.JavaScriptObject, mozRTCSessionDescription: J.JavaScriptObject, RTCStatsResponse: J.JavaScriptObject, Screen: J.JavaScriptObject, ScrollState: J.JavaScriptObject, ScrollTimeline: J.JavaScriptObject, Selection: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, SpeechSynthesisVoice: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: J.JavaScriptObject, TaskAttributionTiming: J.JavaScriptObject, TextDetector: J.JavaScriptObject, TextMetrics: J.JavaScriptObject, TrackDefault: J.JavaScriptObject, TreeWalker: J.JavaScriptObject, TrustedHTML: J.JavaScriptObject, TrustedScriptURL: J.JavaScriptObject, TrustedURL: J.JavaScriptObject, UnderlyingSourceBase: J.JavaScriptObject, URLSearchParams: J.JavaScriptObject, VRCoordinateSystem: J.JavaScriptObject, VRDisplayCapabilities: J.JavaScriptObject, VREyeParameters: J.JavaScriptObject, VRFrameData: J.JavaScriptObject, VRFrameOfReference: J.JavaScriptObject, VRPose: J.JavaScriptObject, VRStageBounds: J.JavaScriptObject, VRStageBoundsPoint: J.JavaScriptObject, VRStageParameters: J.JavaScriptObject, ValidityState: J.JavaScriptObject, VideoPlaybackQuality: J.JavaScriptObject, VTTRegion: J.JavaScriptObject, WindowClient: J.JavaScriptObject, WorkletAnimation: J.JavaScriptObject, WorkletGlobalScope: J.JavaScriptObject, XPathEvaluator: J.JavaScriptObject, XPathExpression: J.JavaScriptObject, XPathNSResolver: J.JavaScriptObject, XPathResult: J.JavaScriptObject, XMLSerializer: J.JavaScriptObject, XSLTProcessor: J.JavaScriptObject, Bluetooth: J.JavaScriptObject, BluetoothCharacteristicProperties: J.JavaScriptObject, BluetoothRemoteGATTServer: J.JavaScriptObject, BluetoothRemoteGATTService: J.JavaScriptObject, BluetoothUUID: J.JavaScriptObject, BudgetService: J.JavaScriptObject, Cache: J.JavaScriptObject, DOMFileSystemSync: J.JavaScriptObject, DirectoryEntrySync: J.JavaScriptObject, DirectoryReaderSync: J.JavaScriptObject, EntrySync: J.JavaScriptObject, FileEntrySync: J.JavaScriptObject, FileReaderSync: J.JavaScriptObject, FileWriterSync: J.JavaScriptObject, HTMLAllCollection: J.JavaScriptObject, Mojo: J.JavaScriptObject, MojoHandle: J.JavaScriptObject, MojoWatcher: J.JavaScriptObject, NFC: J.JavaScriptObject, PagePopupController: J.JavaScriptObject, Report: J.JavaScriptObject, Request: J.JavaScriptObject, Response: J.JavaScriptObject, SubtleCrypto: J.JavaScriptObject, USBAlternateInterface: J.JavaScriptObject, USBConfiguration: J.JavaScriptObject, USBDevice: J.JavaScriptObject, USBEndpoint: J.JavaScriptObject, USBInTransferResult: J.JavaScriptObject, USBInterface: J.JavaScriptObject, USBIsochronousInTransferPacket: J.JavaScriptObject, USBIsochronousInTransferResult: J.JavaScriptObject, USBIsochronousOutTransferPacket: J.JavaScriptObject, USBIsochronousOutTransferResult: J.JavaScriptObject, USBOutTransferResult: J.JavaScriptObject, WorkerLocation: J.JavaScriptObject, WorkerNavigator: J.JavaScriptObject, Worklet: J.JavaScriptObject, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: J.JavaScriptObject, IDBIndex: J.JavaScriptObject, IDBKeyRange: J.JavaScriptObject, IDBObjectStore: J.JavaScriptObject, IDBObservation: J.JavaScriptObject, IDBObserver: J.JavaScriptObject, IDBObserverChanges: J.JavaScriptObject, SVGAngle: J.JavaScriptObject, SVGAnimatedAngle: J.JavaScriptObject, SVGAnimatedBoolean: J.JavaScriptObject, SVGAnimatedEnumeration: J.JavaScriptObject, SVGAnimatedInteger: J.JavaScriptObject, SVGAnimatedLength: J.JavaScriptObject, SVGAnimatedLengthList: J.JavaScriptObject, SVGAnimatedNumber: J.JavaScriptObject, SVGAnimatedNumberList: J.JavaScriptObject, SVGAnimatedPreserveAspectRatio: J.JavaScriptObject, SVGAnimatedRect: J.JavaScriptObject, SVGAnimatedString: J.JavaScriptObject, SVGAnimatedTransformList: J.JavaScriptObject, SVGMatrix: J.JavaScriptObject, SVGPoint: J.JavaScriptObject, SVGPreserveAspectRatio: J.JavaScriptObject, SVGRect: J.JavaScriptObject, SVGUnitTypes: J.JavaScriptObject, AudioListener: J.JavaScriptObject, AudioParam: J.JavaScriptObject, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: J.JavaScriptObject, WebGLActiveInfo: J.JavaScriptObject, ANGLEInstancedArrays: J.JavaScriptObject, ANGLE_instanced_arrays: J.JavaScriptObject, WebGLBuffer: J.JavaScriptObject, WebGLCanvas: J.JavaScriptObject, WebGLColorBufferFloat: J.JavaScriptObject, WebGLCompressedTextureASTC: J.JavaScriptObject, WebGLCompressedTextureATC: J.JavaScriptObject, WEBGL_compressed_texture_atc: J.JavaScriptObject, WebGLCompressedTextureETC1: J.JavaScriptObject, WEBGL_compressed_texture_etc1: J.JavaScriptObject, WebGLCompressedTextureETC: J.JavaScriptObject, WebGLCompressedTexturePVRTC: J.JavaScriptObject, WEBGL_compressed_texture_pvrtc: J.JavaScriptObject, WebGLCompressedTextureS3TC: J.JavaScriptObject, WEBGL_compressed_texture_s3tc: J.JavaScriptObject, WebGLCompressedTextureS3TCsRGB: J.JavaScriptObject, WebGLDebugRendererInfo: J.JavaScriptObject, WEBGL_debug_renderer_info: J.JavaScriptObject, WebGLDebugShaders: J.JavaScriptObject, WEBGL_debug_shaders: J.JavaScriptObject, WebGLDepthTexture: J.JavaScriptObject, WEBGL_depth_texture: J.JavaScriptObject, WebGLDrawBuffers: J.JavaScriptObject, WEBGL_draw_buffers: J.JavaScriptObject, EXTsRGB: J.JavaScriptObject, EXT_sRGB: J.JavaScriptObject, EXTBlendMinMax: J.JavaScriptObject, EXT_blend_minmax: J.JavaScriptObject, EXTColorBufferFloat: J.JavaScriptObject, EXTColorBufferHalfFloat: J.JavaScriptObject, EXTDisjointTimerQuery: J.JavaScriptObject, EXTDisjointTimerQueryWebGL2: J.JavaScriptObject, EXTFragDepth: J.JavaScriptObject, EXT_frag_depth: J.JavaScriptObject, EXTShaderTextureLOD: J.JavaScriptObject, EXT_shader_texture_lod: J.JavaScriptObject, EXTTextureFilterAnisotropic: J.JavaScriptObject, EXT_texture_filter_anisotropic: J.JavaScriptObject, WebGLFramebuffer: J.JavaScriptObject, WebGLGetBufferSubDataAsync: J.JavaScriptObject, WebGLLoseContext: J.JavaScriptObject, WebGLExtensionLoseContext: J.JavaScriptObject, WEBGL_lose_context: J.JavaScriptObject, OESElementIndexUint: J.JavaScriptObject, OES_element_index_uint: J.JavaScriptObject, OESStandardDerivatives: J.JavaScriptObject, OES_standard_derivatives: J.JavaScriptObject, OESTextureFloat: J.JavaScriptObject, OES_texture_float: J.JavaScriptObject, OESTextureFloatLinear: J.JavaScriptObject, OES_texture_float_linear: J.JavaScriptObject, OESTextureHalfFloat: J.JavaScriptObject, OES_texture_half_float: J.JavaScriptObject, OESTextureHalfFloatLinear: J.JavaScriptObject, OES_texture_half_float_linear: J.JavaScriptObject, OESVertexArrayObject: J.JavaScriptObject, OES_vertex_array_object: J.JavaScriptObject, WebGLProgram: J.JavaScriptObject, WebGLQuery: J.JavaScriptObject, WebGLRenderbuffer: J.JavaScriptObject, WebGLRenderingContext: J.JavaScriptObject, WebGL2RenderingContext: J.JavaScriptObject, WebGLSampler: J.JavaScriptObject, WebGLShader: J.JavaScriptObject, WebGLShaderPrecisionFormat: J.JavaScriptObject, WebGLSync: J.JavaScriptObject, WebGLTexture: J.JavaScriptObject, WebGLTimerQueryEXT: J.JavaScriptObject, WebGLTransformFeedback: J.JavaScriptObject, WebGLUniformLocation: J.JavaScriptObject, WebGLVertexArrayObject: J.JavaScriptObject, WebGLVertexArrayObjectOES: J.JavaScriptObject, WebGL2RenderingContextBase: J.JavaScriptObject, ArrayBuffer: A.NativeByteBuffer, ArrayBufferView: A.NativeTypedData, DataView: A.NativeByteData, Float32Array: A.NativeFloat32List, Float64Array: A.NativeFloat64List, Int16Array: A.NativeInt16List, Int32Array: A.NativeInt32List, Int8Array: A.NativeInt8List, Uint16Array: A.NativeUint16List, Uint32Array: A.NativeUint32List, Uint8ClampedArray: A.NativeUint8ClampedList, CanvasPixelArray: A.NativeUint8ClampedList, Uint8Array: A.NativeUint8List, HTMLAudioElement: A.HtmlElement, HTMLBRElement: A.HtmlElement, HTMLBaseElement: A.HtmlElement, HTMLBodyElement: A.HtmlElement, HTMLButtonElement: A.HtmlElement, HTMLCanvasElement: A.HtmlElement, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLDivElement: A.HtmlElement, HTMLEmbedElement: A.HtmlElement, HTMLFieldSetElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLIFrameElement: A.HtmlElement, HTMLImageElement: A.HtmlElement, HTMLInputElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLabelElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMapElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMetaElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLObjectElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLOutputElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLParamElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSlotElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: A.HtmlElement, HTMLStyleElement: A.HtmlElement, HTMLTableCaptionElement: A.HtmlElement, HTMLTableCellElement: A.HtmlElement, HTMLTableDataCellElement: A.HtmlElement, HTMLTableHeaderCellElement: A.HtmlElement, HTMLTableColElement: A.HtmlElement, HTMLTableElement: A.HtmlElement, HTMLTableRowElement: A.HtmlElement, HTMLTableSectionElement: A.HtmlElement, HTMLTemplateElement: A.HtmlElement, HTMLTextAreaElement: A.HtmlElement, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: A.HtmlElement, HTMLUListElement: A.HtmlElement, HTMLUnknownElement: A.HtmlElement, HTMLVideoElement: A.HtmlElement, HTMLDirectoryElement: A.HtmlElement, HTMLFontElement: A.HtmlElement, HTMLFrameElement: A.HtmlElement, HTMLFrameSetElement: A.HtmlElement, HTMLMarqueeElement: A.HtmlElement, HTMLElement: A.HtmlElement, AccessibleNodeList: A.AccessibleNodeList, HTMLAnchorElement: A.AnchorElement, HTMLAreaElement: A.AreaElement, Blob: A.Blob, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CryptoKey: A.CryptoKey, CSSPerspective: A.CssPerspective, CSSCharsetRule: A.CssRule, CSSConditionRule: A.CssRule, CSSFontFaceRule: A.CssRule, CSSGroupingRule: A.CssRule, CSSImportRule: A.CssRule, CSSKeyframeRule: A.CssRule, MozCSSKeyframeRule: A.CssRule, WebKitCSSKeyframeRule: A.CssRule, CSSKeyframesRule: A.CssRule, MozCSSKeyframesRule: A.CssRule, WebKitCSSKeyframesRule: A.CssRule, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSImageValue: A.CssStyleValue, CSSKeywordValue: A.CssStyleValue, CSSNumericValue: A.CssStyleValue, CSSPositionValue: A.CssStyleValue, CSSResourceValue: A.CssStyleValue, CSSUnitValue: A.CssStyleValue, CSSURLImageValue: A.CssStyleValue, CSSStyleValue: A.CssStyleValue, CSSMatrixComponent: A.CssTransformComponent, CSSRotation: A.CssTransformComponent, CSSScale: A.CssTransformComponent, CSSSkew: A.CssTransformComponent, CSSTranslation: A.CssTransformComponent, CSSTransformComponent: A.CssTransformComponent, CSSTransformValue: A.CssTransformValue, CSSUnparsedValue: A.CssUnparsedValue, DataTransferItem: A.DataTransferItem, DataTransferItemList: A.DataTransferItemList, DedicatedWorkerGlobalScope: A.DedicatedWorkerGlobalScope, DOMException: A.DomException, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, MathMLElement: A.Element, SVGAElement: A.Element, SVGAnimateElement: A.Element, SVGAnimateMotionElement: A.Element, SVGAnimateTransformElement: A.Element, SVGAnimationElement: A.Element, SVGCircleElement: A.Element, SVGClipPathElement: A.Element, SVGDefsElement: A.Element, SVGDescElement: A.Element, SVGDiscardElement: A.Element, SVGEllipseElement: A.Element, SVGFEBlendElement: A.Element, SVGFEColorMatrixElement: A.Element, SVGFEComponentTransferElement: A.Element, SVGFECompositeElement: A.Element, SVGFEConvolveMatrixElement: A.Element, SVGFEDiffuseLightingElement: A.Element, SVGFEDisplacementMapElement: A.Element, SVGFEDistantLightElement: A.Element, SVGFEFloodElement: A.Element, SVGFEFuncAElement: A.Element, SVGFEFuncBElement: A.Element, SVGFEFuncGElement: A.Element, SVGFEFuncRElement: A.Element, SVGFEGaussianBlurElement: A.Element, SVGFEImageElement: A.Element, SVGFEMergeElement: A.Element, SVGFEMergeNodeElement: A.Element, SVGFEMorphologyElement: A.Element, SVGFEOffsetElement: A.Element, SVGFEPointLightElement: A.Element, SVGFESpecularLightingElement: A.Element, SVGFESpotLightElement: A.Element, SVGFETileElement: A.Element, SVGFETurbulenceElement: A.Element, SVGFilterElement: A.Element, SVGForeignObjectElement: A.Element, SVGGElement: A.Element, SVGGeometryElement: A.Element, SVGGraphicsElement: A.Element, SVGImageElement: A.Element, SVGLineElement: A.Element, SVGLinearGradientElement: A.Element, SVGMarkerElement: A.Element, SVGMaskElement: A.Element, SVGMetadataElement: A.Element, SVGPathElement: A.Element, SVGPatternElement: A.Element, SVGPolygonElement: A.Element, SVGPolylineElement: A.Element, SVGRadialGradientElement: A.Element, SVGRectElement: A.Element, SVGScriptElement: A.Element, SVGSetElement: A.Element, SVGStopElement: A.Element, SVGStyleElement: A.Element, SVGElement: A.Element, SVGSVGElement: A.Element, SVGSwitchElement: A.Element, SVGSymbolElement: A.Element, SVGTSpanElement: A.Element, SVGTextContentElement: A.Element, SVGTextElement: A.Element, SVGTextPathElement: A.Element, SVGTextPositioningElement: A.Element, SVGTitleElement: A.Element, SVGUseElement: A.Element, SVGViewElement: A.Element, SVGGradientElement: A.Element, SVGComponentTransferFunctionElement: A.Element, SVGFEDropShadowElement: A.Element, SVGMPathElement: A.Element, Element: A.Element, AbortPaymentEvent: A.Event, AnimationEvent: A.Event, AnimationPlaybackEvent: A.Event, ApplicationCacheErrorEvent: A.Event, BackgroundFetchClickEvent: A.Event, BackgroundFetchEvent: A.Event, BackgroundFetchFailEvent: A.Event, BackgroundFetchedEvent: A.Event, BeforeInstallPromptEvent: A.Event, BeforeUnloadEvent: A.Event, BlobEvent: A.Event, CanMakePaymentEvent: A.Event, ClipboardEvent: A.Event, CloseEvent: A.Event, CompositionEvent: A.Event, CustomEvent: A.Event, DeviceMotionEvent: A.Event, DeviceOrientationEvent: A.Event, ErrorEvent: A.Event, ExtendableEvent: A.Event, ExtendableMessageEvent: A.Event, FetchEvent: A.Event, FocusEvent: A.Event, FontFaceSetLoadEvent: A.Event, ForeignFetchEvent: A.Event, GamepadEvent: A.Event, HashChangeEvent: A.Event, InstallEvent: A.Event, KeyboardEvent: A.Event, MediaEncryptedEvent: A.Event, MediaKeyMessageEvent: A.Event, MediaQueryListEvent: A.Event, MediaStreamEvent: A.Event, MediaStreamTrackEvent: A.Event, MIDIConnectionEvent: A.Event, MIDIMessageEvent: A.Event, MouseEvent: A.Event, DragEvent: A.Event, MutationEvent: A.Event, NotificationEvent: A.Event, PageTransitionEvent: A.Event, PaymentRequestEvent: A.Event, PaymentRequestUpdateEvent: A.Event, PointerEvent: A.Event, PopStateEvent: A.Event, PresentationConnectionAvailableEvent: A.Event, PresentationConnectionCloseEvent: A.Event, ProgressEvent: A.Event, PromiseRejectionEvent: A.Event, PushEvent: A.Event, RTCDataChannelEvent: A.Event, RTCDTMFToneChangeEvent: A.Event, RTCPeerConnectionIceEvent: A.Event, RTCTrackEvent: A.Event, SecurityPolicyViolationEvent: A.Event, SensorErrorEvent: A.Event, SpeechRecognitionError: A.Event, SpeechRecognitionEvent: A.Event, SpeechSynthesisEvent: A.Event, StorageEvent: A.Event, SyncEvent: A.Event, TextEvent: A.Event, TouchEvent: A.Event, TrackEvent: A.Event, TransitionEvent: A.Event, WebKitTransitionEvent: A.Event, UIEvent: A.Event, VRDeviceEvent: A.Event, VRDisplayEvent: A.Event, VRSessionEvent: A.Event, WheelEvent: A.Event, MojoInterfaceRequestEvent: A.Event, ResourceProgressEvent: A.Event, USBConnectionEvent: A.Event, IDBVersionChangeEvent: A.Event, AudioProcessingEvent: A.Event, OfflineAudioCompletionEvent: A.Event, WebGLContextEvent: A.Event, Event: A.Event, InputEvent: A.Event, SubmitEvent: A.Event, AbsoluteOrientationSensor: A.EventTarget, Accelerometer: A.EventTarget, AccessibleNode: A.EventTarget, AmbientLightSensor: A.EventTarget, Animation: A.EventTarget, ApplicationCache: A.EventTarget, DOMApplicationCache: A.EventTarget, OfflineResourceList: A.EventTarget, BackgroundFetchRegistration: A.EventTarget, BatteryManager: A.EventTarget, BroadcastChannel: A.EventTarget, EventSource: A.EventTarget, FileReader: A.EventTarget, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, XMLHttpRequest: A.EventTarget, XMLHttpRequestEventTarget: A.EventTarget, XMLHttpRequestUpload: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaKeySession: A.EventTarget, MediaQueryList: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MIDIAccess: A.EventTarget, MIDIInput: A.EventTarget, MIDIOutput: A.EventTarget, MIDIPort: A.EventTarget, NetworkInformation: A.EventTarget, Notification: A.EventTarget, OffscreenCanvas: A.EventTarget, OrientationSensor: A.EventTarget, PaymentRequest: A.EventTarget, Performance: A.EventTarget, PermissionStatus: A.EventTarget, PresentationAvailability: A.EventTarget, PresentationConnection: A.EventTarget, PresentationConnectionList: A.EventTarget, PresentationRequest: A.EventTarget, RelativeOrientationSensor: A.EventTarget, RemotePlayback: A.EventTarget, RTCDataChannel: A.EventTarget, DataChannel: A.EventTarget, RTCDTMFSender: A.EventTarget, RTCPeerConnection: A.EventTarget, webkitRTCPeerConnection: A.EventTarget, mozRTCPeerConnection: A.EventTarget, ScreenOrientation: A.EventTarget, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, webkitSpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, WebSocket: A.EventTarget, Window: A.EventTarget, DOMWindow: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBDatabase: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: A.EventTarget, AnalyserNode: A.EventTarget, RealtimeAnalyserNode: A.EventTarget, AudioBufferSourceNode: A.EventTarget, AudioDestinationNode: A.EventTarget, AudioNode: A.EventTarget, AudioScheduledSourceNode: A.EventTarget, AudioWorkletNode: A.EventTarget, BiquadFilterNode: A.EventTarget, ChannelMergerNode: A.EventTarget, AudioChannelMerger: A.EventTarget, ChannelSplitterNode: A.EventTarget, AudioChannelSplitter: A.EventTarget, ConstantSourceNode: A.EventTarget, ConvolverNode: A.EventTarget, DelayNode: A.EventTarget, DynamicsCompressorNode: A.EventTarget, GainNode: A.EventTarget, AudioGainNode: A.EventTarget, IIRFilterNode: A.EventTarget, MediaElementAudioSourceNode: A.EventTarget, MediaStreamAudioDestinationNode: A.EventTarget, MediaStreamAudioSourceNode: A.EventTarget, OscillatorNode: A.EventTarget, Oscillator: A.EventTarget, PannerNode: A.EventTarget, AudioPannerNode: A.EventTarget, webkitAudioPannerNode: A.EventTarget, ScriptProcessorNode: A.EventTarget, JavaScriptAudioNode: A.EventTarget, StereoPannerNode: A.EventTarget, WaveShaperNode: A.EventTarget, EventTarget: A.EventTarget, File: A.File, FileList: A.FileList, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, ImageData: A.ImageData, Location: A.Location, MediaDeviceInfo: A.MediaDeviceInfo, MediaList: A.MediaList, CanvasCaptureMediaStreamTrack: A.MediaStreamTrack, MediaStreamTrack: A.MediaStreamTrack, MessageEvent: A.MessageEvent, MessagePort: A.MessagePort, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, Document: A.Node, DocumentFragment: A.Node, HTMLDocument: A.Node, ShadowRoot: A.Node, XMLDocument: A.Node, Attr: A.Node, DocumentType: A.Node, Node: A.Node, NodeList: A.NodeList, RadioNodeList: A.NodeList, Plugin: A.Plugin, PluginArray: A.PluginArray, RTCStatsReport: A.RtcStatsReport, HTMLSelectElement: A.SelectElement, SharedArrayBuffer: A.SharedArrayBuffer, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionResult: A.SpeechRecognitionResult, Storage: A.Storage, CSSStyleSheet: A.StyleSheet, StyleSheet: A.StyleSheet, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, VTTCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, HTMLTrackElement: A.TrackElement, URL: A.Url, VideoTrack: A.VideoTrack, VideoTrackList: A.VideoTrackList, ServiceWorkerGlobalScope: A.WorkerGlobalScope, SharedWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGTransform: A.Transform, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrack: A.AudioTrack, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext});
|
|
hunkHelpers.setOrUpdateLeafTags({WebGL: true, AnimationEffectReadOnly: true, AnimationEffectTiming: true, AnimationEffectTimingReadOnly: true, AnimationTimeline: true, AnimationWorkletGlobalScope: true, AuthenticatorAssertionResponse: true, AuthenticatorAttestationResponse: true, AuthenticatorResponse: true, BackgroundFetchFetch: true, BackgroundFetchManager: true, BackgroundFetchSettledFetch: true, BarProp: true, BarcodeDetector: true, BluetoothRemoteGATTDescriptor: true, Body: true, BudgetState: true, CacheStorage: true, CanvasGradient: true, CanvasPattern: true, CanvasRenderingContext2D: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, Credential: true, CredentialUserData: true, CredentialsContainer: true, Crypto: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DeprecationReport: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: true, DeviceRotationRate: true, DirectoryEntry: true, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMError: true, DOMImplementation: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, External: true, FaceDetector: true, FederatedCredential: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FontFace: true, FontFaceSource: true, FormData: true, GamepadButton: true, GamepadPose: true, Geolocation: true, Position: true, GeolocationPosition: true, Headers: true, HTMLHyperlinkElementUtils: true, IdleDeadline: true, ImageBitmap: true, ImageBitmapRenderingContext: true, ImageCapture: true, InputDeviceCapabilities: true, IntersectionObserver: true, IntersectionObserverEntry: true, InterventionReport: true, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaError: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: true, MutationObserver: true, WebKitMutationObserver: true, MutationRecord: true, NavigationPreloadManager: true, Navigator: true, NavigatorAutomationInformation: true, NavigatorConcurrentHardware: true, NavigatorCookies: true, NavigatorUserMediaError: true, NodeFilter: true, NodeIterator: true, NonDocumentTypeChildNode: true, NonElementParentNode: true, NoncedElement: true, OffscreenCanvasRenderingContext2D: true, OverconstrainedError: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, PasswordCredential: true, Path2D: true, PaymentAddress: true, PaymentInstruments: true, PaymentManager: true, PaymentResponse: true, PerformanceEntry: true, PerformanceLongTaskTiming: true, PerformanceMark: true, PerformanceMeasure: true, PerformanceNavigation: true, PerformanceNavigationTiming: true, PerformanceObserver: true, PerformanceObserverEntryList: true, PerformancePaintTiming: true, PerformanceResourceTiming: true, PerformanceServerTiming: true, PerformanceTiming: true, Permissions: true, PhotoCapabilities: true, PositionError: true, GeolocationPositionError: true, Presentation: true, PresentationReceiver: true, PublicKeyCredential: true, PushManager: true, PushMessageData: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: true, ReportBody: true, ReportingObserver: true, ResizeObserver: true, ResizeObserverEntry: true, RTCCertificate: true, RTCIceCandidate: true, mozRTCIceCandidate: true, RTCLegacyStatsReport: true, RTCRtpContributingSource: true, RTCRtpReceiver: true, RTCRtpSender: true, RTCSessionDescription: true, mozRTCSessionDescription: true, RTCStatsResponse: true, Screen: true, ScrollState: true, ScrollTimeline: true, Selection: true, SpeechRecognitionAlternative: true, SpeechSynthesisVoice: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: true, TaskAttributionTiming: true, TextDetector: true, TextMetrics: true, TrackDefault: true, TreeWalker: true, TrustedHTML: true, TrustedScriptURL: true, TrustedURL: true, UnderlyingSourceBase: true, URLSearchParams: true, VRCoordinateSystem: true, VRDisplayCapabilities: true, VREyeParameters: true, VRFrameData: true, VRFrameOfReference: true, VRPose: true, VRStageBounds: true, VRStageBoundsPoint: true, VRStageParameters: true, ValidityState: true, VideoPlaybackQuality: true, VTTRegion: true, WindowClient: true, WorkletAnimation: true, WorkletGlobalScope: true, XPathEvaluator: true, XPathExpression: true, XPathNSResolver: true, XPathResult: true, XMLSerializer: true, XSLTProcessor: true, Bluetooth: true, BluetoothCharacteristicProperties: true, BluetoothRemoteGATTServer: true, BluetoothRemoteGATTService: true, BluetoothUUID: true, BudgetService: true, Cache: true, DOMFileSystemSync: true, DirectoryEntrySync: true, DirectoryReaderSync: true, EntrySync: true, FileEntrySync: true, FileReaderSync: true, FileWriterSync: true, HTMLAllCollection: true, Mojo: true, MojoHandle: true, MojoWatcher: true, NFC: true, PagePopupController: true, Report: true, Request: true, Response: true, SubtleCrypto: true, USBAlternateInterface: true, USBConfiguration: true, USBDevice: true, USBEndpoint: true, USBInTransferResult: true, USBInterface: true, USBIsochronousInTransferPacket: true, USBIsochronousInTransferResult: true, USBIsochronousOutTransferPacket: true, USBIsochronousOutTransferResult: true, USBOutTransferResult: true, WorkerLocation: true, WorkerNavigator: true, Worklet: true, IDBCursor: true, IDBCursorWithValue: true, IDBFactory: true, IDBIndex: true, IDBKeyRange: true, IDBObjectStore: true, IDBObservation: true, IDBObserver: true, IDBObserverChanges: true, SVGAngle: true, SVGAnimatedAngle: true, SVGAnimatedBoolean: true, SVGAnimatedEnumeration: true, SVGAnimatedInteger: true, SVGAnimatedLength: true, SVGAnimatedLengthList: true, SVGAnimatedNumber: true, SVGAnimatedNumberList: true, SVGAnimatedPreserveAspectRatio: true, SVGAnimatedRect: true, SVGAnimatedString: true, SVGAnimatedTransformList: true, SVGMatrix: true, SVGPoint: true, SVGPreserveAspectRatio: true, SVGRect: true, SVGUnitTypes: true, AudioListener: true, AudioParam: true, AudioWorkletGlobalScope: true, AudioWorkletProcessor: true, PeriodicWave: true, WebGLActiveInfo: true, ANGLEInstancedArrays: true, ANGLE_instanced_arrays: true, WebGLBuffer: true, WebGLCanvas: true, WebGLColorBufferFloat: true, WebGLCompressedTextureASTC: true, WebGLCompressedTextureATC: true, WEBGL_compressed_texture_atc: true, WebGLCompressedTextureETC1: true, WEBGL_compressed_texture_etc1: true, WebGLCompressedTextureETC: true, WebGLCompressedTexturePVRTC: true, WEBGL_compressed_texture_pvrtc: true, WebGLCompressedTextureS3TC: true, WEBGL_compressed_texture_s3tc: true, WebGLCompressedTextureS3TCsRGB: true, WebGLDebugRendererInfo: true, WEBGL_debug_renderer_info: true, WebGLDebugShaders: true, WEBGL_debug_shaders: true, WebGLDepthTexture: true, WEBGL_depth_texture: true, WebGLDrawBuffers: true, WEBGL_draw_buffers: true, EXTsRGB: true, EXT_sRGB: true, EXTBlendMinMax: true, EXT_blend_minmax: true, EXTColorBufferFloat: true, EXTColorBufferHalfFloat: true, EXTDisjointTimerQuery: true, EXTDisjointTimerQueryWebGL2: true, EXTFragDepth: true, EXT_frag_depth: true, EXTShaderTextureLOD: true, EXT_shader_texture_lod: true, EXTTextureFilterAnisotropic: true, EXT_texture_filter_anisotropic: true, WebGLFramebuffer: true, WebGLGetBufferSubDataAsync: true, WebGLLoseContext: true, WebGLExtensionLoseContext: true, WEBGL_lose_context: true, OESElementIndexUint: true, OES_element_index_uint: true, OESStandardDerivatives: true, OES_standard_derivatives: true, OESTextureFloat: true, OES_texture_float: true, OESTextureFloatLinear: true, OES_texture_float_linear: true, OESTextureHalfFloat: true, OES_texture_half_float: true, OESTextureHalfFloatLinear: true, OES_texture_half_float_linear: true, OESVertexArrayObject: true, OES_vertex_array_object: true, WebGLProgram: true, WebGLQuery: true, WebGLRenderbuffer: true, WebGLRenderingContext: true, WebGL2RenderingContext: true, WebGLSampler: true, WebGLShader: true, WebGLShaderPrecisionFormat: true, WebGLSync: true, WebGLTexture: true, WebGLTimerQueryEXT: true, WebGLTransformFeedback: true, WebGLUniformLocation: true, WebGLVertexArrayObject: true, WebGLVertexArrayObjectOES: true, WebGL2RenderingContextBase: true, ArrayBuffer: true, ArrayBufferView: false, DataView: true, Float32Array: true, Float64Array: true, Int16Array: true, Int32Array: true, Int8Array: true, Uint16Array: true, Uint32Array: true, Uint8ClampedArray: true, CanvasPixelArray: true, Uint8Array: false, HTMLAudioElement: true, HTMLBRElement: true, HTMLBaseElement: true, HTMLBodyElement: true, HTMLButtonElement: true, HTMLCanvasElement: true, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLDivElement: true, HTMLEmbedElement: true, HTMLFieldSetElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLIFrameElement: true, HTMLImageElement: true, HTMLInputElement: true, HTMLLIElement: true, HTMLLabelElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMapElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMetaElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLObjectElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLOutputElement: true, HTMLParagraphElement: true, HTMLParamElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSlotElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLStyleElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTextAreaElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, AccessibleNodeList: true, HTMLAnchorElement: true, HTMLAreaElement: true, Blob: false, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CryptoKey: true, CSSPerspective: true, CSSCharsetRule: true, CSSConditionRule: true, CSSFontFaceRule: true, CSSGroupingRule: true, CSSImportRule: true, CSSKeyframeRule: true, MozCSSKeyframeRule: true, WebKitCSSKeyframeRule: true, CSSKeyframesRule: true, MozCSSKeyframesRule: true, WebKitCSSKeyframesRule: true, CSSMediaRule: true, CSSNamespaceRule: true, CSSPageRule: true, CSSRule: true, CSSStyleRule: true, CSSSupportsRule: true, CSSViewportRule: true, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, CSSImageValue: true, CSSKeywordValue: true, CSSNumericValue: true, CSSPositionValue: true, CSSResourceValue: true, CSSUnitValue: true, CSSURLImageValue: true, CSSStyleValue: false, CSSMatrixComponent: true, CSSRotation: true, CSSScale: true, CSSSkew: true, CSSTranslation: true, CSSTransformComponent: false, CSSTransformValue: true, CSSUnparsedValue: true, DataTransferItem: true, DataTransferItemList: true, DedicatedWorkerGlobalScope: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, MathMLElement: true, SVGAElement: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGCircleElement: true, SVGClipPathElement: true, SVGDefsElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGEllipseElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFEComponentTransferElement: true, SVGFECompositeElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: true, SVGFEFloodElement: true, SVGFEFuncAElement: true, SVGFEFuncBElement: true, SVGFEFuncGElement: true, SVGFEFuncRElement: true, SVGFEGaussianBlurElement: true, SVGFEImageElement: true, SVGFEMergeElement: true, SVGFEMergeNodeElement: true, SVGFEMorphologyElement: true, SVGFEOffsetElement: true, SVGFEPointLightElement: true, SVGFESpecularLightingElement: true, SVGFESpotLightElement: true, SVGFETileElement: true, SVGFETurbulenceElement: true, SVGFilterElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGGeometryElement: true, SVGGraphicsElement: true, SVGImageElement: true, SVGLineElement: true, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPathElement: true, SVGPatternElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRadialGradientElement: true, SVGRectElement: true, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGElement: true, SVGSVGElement: true, SVGSwitchElement: true, SVGSymbolElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGTitleElement: true, SVGUseElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, Element: false, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, ApplicationCacheErrorEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CloseEvent: true, CompositionEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ErrorEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FocusEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, KeyboardEvent: true, MediaEncryptedEvent: true, MediaKeyMessageEvent: true, MediaQueryListEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MouseEvent: true, DragEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PointerEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PresentationConnectionCloseEvent: true, ProgressEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionError: true, SpeechRecognitionEvent: true, SpeechSynthesisEvent: true, StorageEvent: true, SyncEvent: true, TextEvent: true, TouchEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, UIEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, WheelEvent: true, MojoInterfaceRequestEvent: true, ResourceProgressEvent: true, USBConnectionEvent: true, IDBVersionChangeEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, BroadcastChannel: true, EventSource: true, FileReader: true, FontFaceSet: true, Gyroscope: true, XMLHttpRequest: true, XMLHttpRequestEventTarget: true, XMLHttpRequestUpload: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaKeySession: true, MediaQueryList: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MIDIAccess: true, MIDIInput: true, MIDIOutput: true, MIDIPort: true, NetworkInformation: true, Notification: true, OffscreenCanvas: true, OrientationSensor: true, PaymentRequest: true, Performance: true, PermissionStatus: true, PresentationAvailability: true, PresentationConnection: true, PresentationConnectionList: true, PresentationRequest: true, RelativeOrientationSensor: true, RemotePlayback: true, RTCDataChannel: true, DataChannel: true, RTCDTMFSender: true, RTCPeerConnection: true, webkitRTCPeerConnection: true, mozRTCPeerConnection: true, ScreenOrientation: true, Sensor: true, ServiceWorker: true, ServiceWorkerContainer: true, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, webkitSpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, WebSocket: true, Window: true, DOMWindow: true, Worker: true, WorkerPerformance: true, BluetoothDevice: true, BluetoothRemoteGATTCharacteristic: true, Clipboard: true, MojoInterfaceInterceptor: true, USB: true, IDBDatabase: true, IDBOpenDBRequest: true, IDBVersionChangeRequest: true, IDBRequest: true, IDBTransaction: true, AnalyserNode: true, RealtimeAnalyserNode: true, AudioBufferSourceNode: true, AudioDestinationNode: true, AudioNode: true, AudioScheduledSourceNode: true, AudioWorkletNode: true, BiquadFilterNode: true, ChannelMergerNode: true, AudioChannelMerger: true, ChannelSplitterNode: true, AudioChannelSplitter: true, ConstantSourceNode: true, ConvolverNode: true, DelayNode: true, DynamicsCompressorNode: true, GainNode: true, AudioGainNode: true, IIRFilterNode: true, MediaElementAudioSourceNode: true, MediaStreamAudioDestinationNode: true, MediaStreamAudioSourceNode: true, OscillatorNode: true, Oscillator: true, PannerNode: true, AudioPannerNode: true, webkitAudioPannerNode: true, ScriptProcessorNode: true, JavaScriptAudioNode: true, StereoPannerNode: true, WaveShaperNode: true, EventTarget: false, File: true, FileList: true, FileWriter: true, HTMLFormElement: true, Gamepad: true, History: true, HTMLCollection: true, HTMLFormControlsCollection: true, HTMLOptionsCollection: true, ImageData: true, Location: true, MediaDeviceInfo: true, MediaList: true, CanvasCaptureMediaStreamTrack: true, MediaStreamTrack: true, MessageEvent: true, MessagePort: true, MIDIInputMap: true, MIDIOutputMap: true, MimeType: true, MimeTypeArray: true, Document: true, DocumentFragment: true, HTMLDocument: true, ShadowRoot: true, XMLDocument: true, Attr: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, Plugin: true, PluginArray: true, RTCStatsReport: true, HTMLSelectElement: true, SharedArrayBuffer: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionResult: true, Storage: true, CSSStyleSheet: true, StyleSheet: true, TextTrack: true, TextTrackCue: true, VTTCue: true, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchList: true, TrackDefaultList: true, HTMLTrackElement: true, URL: true, VideoTrack: true, VideoTrackList: true, ServiceWorkerGlobalScope: true, SharedWorkerGlobalScope: true, WorkerGlobalScope: false, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPointList: true, SVGStringList: true, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrack: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true});
|
|
A.NativeTypedArray.$nativeSuperclassTag = "ArrayBufferView";
|
|
A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
|
|
A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
|
|
A.NativeTypedArrayOfDouble.$nativeSuperclassTag = "ArrayBufferView";
|
|
A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin.$nativeSuperclassTag = "ArrayBufferView";
|
|
A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin.$nativeSuperclassTag = "ArrayBufferView";
|
|
A.NativeTypedArrayOfInt.$nativeSuperclassTag = "ArrayBufferView";
|
|
A._SourceBufferList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget";
|
|
A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin.$nativeSuperclassTag = "EventTarget";
|
|
A._TextTrackList_EventTarget_ListMixin.$nativeSuperclassTag = "EventTarget";
|
|
A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin.$nativeSuperclassTag = "EventTarget";
|
|
})();
|
|
Function.prototype.call$1 = function(a) {
|
|
return this(a);
|
|
};
|
|
Function.prototype.call$2 = function(a, b) {
|
|
return this(a, b);
|
|
};
|
|
Function.prototype.call$0 = function() {
|
|
return this();
|
|
};
|
|
Function.prototype.call$3 = function(a, b, c) {
|
|
return this(a, b, c);
|
|
};
|
|
Function.prototype.call$4 = function(a, b, c, d) {
|
|
return this(a, b, c, d);
|
|
};
|
|
Function.prototype.call$1$1 = function(a) {
|
|
return this(a);
|
|
};
|
|
convertAllToFastObject(holders);
|
|
convertToFastObject($);
|
|
(function(callback) {
|
|
if (typeof document === "undefined") {
|
|
callback(null);
|
|
return;
|
|
}
|
|
if (typeof document.currentScript != "undefined") {
|
|
callback(document.currentScript);
|
|
return;
|
|
}
|
|
var scripts = document.scripts;
|
|
function onLoad(event) {
|
|
for (var i = 0; i < scripts.length; ++i)
|
|
scripts[i].removeEventListener("load", onLoad, false);
|
|
callback(event.target);
|
|
}
|
|
for (var i = 0; i < scripts.length; ++i)
|
|
scripts[i].addEventListener("load", onLoad, false);
|
|
})(function(currentScript) {
|
|
init.currentScript = currentScript;
|
|
var callMain = A.main;
|
|
if (typeof dartMainRunner === "function")
|
|
dartMainRunner(callMain, []);
|
|
else
|
|
callMain([]);
|
|
});
|
|
})();
|
|
|
|
//# sourceMappingURL=e2ee.worker.dart.js.map
|